2.0.195 • Published 1 year ago

apidly v2.0.195

Weekly downloads
-
License
Apache-2.0
Repository
github
Last release
1 year ago

APIDLY

NodeJS and Browser API client. In order to use with NodeJS please pick you favorite Fetch API polyfill library like cross-fetch.

Build Status NPM version Downloads Coverage Status Maintainability Snyk

Table of Contents

Features

  • Uses Fetch API (requires fetch polyfill for NodeJS)
  • Automatic transforms for JSON/Form data. Also, supports any custom data transformation
  • TypeScript support
  • Retry mechanism
  • Request and Response middlewares

Browser Support

ChromeFirefoxSafariOperaEdge
Latest ✔Latest ✔Latest ✔Latest ✔Latest ✔

Installing

Using yarn:

$ yarn add apidly

Using npm:

$ npm install apidly

Examples

Simple Example

import 'cross-fetch/polyfill';
import { createClient, createEndpoint } from 'apidly';

const client = createClient({ base: 'https://api.example.com' });

interface Post {
  id: string;
  title: string;
  content: string;
}

const postsListEndpoint = createEndpoint<Post[]>('/api/v1/posts');

export const listPosts = () => client(postsListEndpoint);

Advanced Example

import { createClient, createEndpoint, formRequest, ApidlyRequest } from '../index';
import { getAccessToken } from './authorization';

const client = createClient({
  base: 'https://api.example.com',
  headers: { locale: 'en_US' },     // default client's headers
  requestType: formRequest,         // use form-urlencoded request type
  maxRetries: 3,                    // additional retries count
}).request(async (url: URL, request: ApidlyRequest) => {
  // custom request middleware with authentication
  const token = await getAccessToken();
  request.headers.set('authorization', `Bearer ${token}`);
});

interface Post {
  id: string;
  title: string;
  content: string;
}

interface UpdatePostParams {
  id: string;
}

interface UpdatePostData {
  title: string;
  content: string;
}

const postsUpdateEndpoint = createEndpoint<Post, UpdatePostParams, UpdatePostData>('/api/v1/posts/{id}', { method: 'put' });

export function updatePost(id: string, post: UpdatePostData) {
  return client(postsUpdateEndpoint, { params: { id }, data: post });
}

License

License Apache-2.0 Copyright (c) 2021-present Ivan Zakharchanka

2.0.195

1 year ago

2.0.194

1 year ago

2.0.193

1 year ago

2.0.192

2 years ago

2.0.191

2 years ago

2.0.190

2 years ago

2.0.179

2 years ago

2.0.178

2 years ago

2.0.177

2 years ago

2.0.176

2 years ago

2.0.180

2 years ago

2.0.189

2 years ago

2.0.188

2 years ago

2.0.187

2 years ago

2.0.186

2 years ago

2.0.185

2 years ago

2.0.184

2 years ago

2.0.183

2 years ago

2.0.182

2 years ago

2.0.181

2 years ago

2.0.175

2 years ago

2.0.174

2 years ago

2.0.173

2 years ago

2.0.172

2 years ago

2.0.171

2 years ago

2.0.170

2 years ago

2.0.169

2 years ago

2.0.168

2 years ago

2.0.167

2 years ago

2.0.166

2 years ago

2.0.165

2 years ago

2.0.164

2 years ago

2.0.163

2 years ago

2.0.162

2 years ago

2.0.159

2 years ago

2.0.158

2 years ago

2.0.157

2 years ago

2.0.156

2 years ago

2.0.155

2 years ago

2.0.154

2 years ago

2.0.153

2 years ago

2.0.152

2 years ago

2.0.161

2 years ago

2.0.160

2 years ago

2.0.151

2 years ago

2.0.150

2 years ago

2.0.149

2 years ago

2.0.148

2 years ago

2.0.139

2 years ago

2.0.138

2 years ago

2.0.137

2 years ago

2.0.136

2 years ago

2.0.135

2 years ago

2.0.134

2 years ago

2.0.133

2 years ago

2.0.132

2 years ago

2.0.131

2 years ago

2.0.130

2 years ago

2.0.147

2 years ago

2.0.146

2 years ago

2.0.145

2 years ago

2.0.144

2 years ago

2.0.143

2 years ago

2.0.142

2 years ago

2.0.141

2 years ago

2.0.140

2 years ago

2.0.129

2 years ago

2.0.128

2 years ago

2.0.127

2 years ago

2.0.126

2 years ago

2.0.125

2 years ago

2.0.124

2 years ago

2.0.123

2 years ago

2.0.122

2 years ago

2.0.121

2 years ago

2.0.120

2 years ago

2.0.109

2 years ago

2.0.119

2 years ago

2.0.118

2 years ago

2.0.117

2 years ago

2.0.116

2 years ago

2.0.115

2 years ago

2.0.114

2 years ago

2.0.113

2 years ago

2.0.112

2 years ago

2.0.111

2 years ago

2.0.110

2 years ago

2.0.108

2 years ago

2.0.107

2 years ago

2.0.106

2 years ago

2.0.105

2 years ago

2.0.104

2 years ago

2.0.103

2 years ago

2.0.102

2 years ago

2.0.101

2 years ago

2.0.100

2 years ago

2.0.99

2 years ago

2.0.97

3 years ago

2.0.98

2 years ago

2.0.95

3 years ago

2.0.96

3 years ago

2.0.93

3 years ago

2.0.94

3 years ago

2.0.92

3 years ago

2.0.68

3 years ago

2.0.69

3 years ago

2.0.66

3 years ago

2.0.67

3 years ago

2.0.64

3 years ago

2.0.65

3 years ago

2.0.62

3 years ago

2.0.63

3 years ago

2.0.79

3 years ago

2.0.77

3 years ago

2.0.78

3 years ago

2.0.75

3 years ago

2.0.76

3 years ago

2.0.73

3 years ago

2.0.74

3 years ago

2.0.71

3 years ago

2.0.72

3 years ago

2.0.70

3 years ago

2.0.88

3 years ago

2.0.89

3 years ago

2.0.86

3 years ago

2.0.87

3 years ago

2.0.84

3 years ago

2.0.85

3 years ago

2.0.82

3 years ago

2.0.83

3 years ago

2.0.80

3 years ago

2.0.81

3 years ago

2.0.91

3 years ago

2.0.90

3 years ago

2.0.28

3 years ago

2.0.29

3 years ago

2.0.37

3 years ago

2.0.38

3 years ago

2.0.35

3 years ago

2.0.36

3 years ago

2.0.33

3 years ago

2.0.34

3 years ago

2.0.31

3 years ago

2.0.32

3 years ago

2.0.30

3 years ago

2.0.39

3 years ago

2.0.48

3 years ago

2.0.49

3 years ago

2.0.46

3 years ago

2.0.47

3 years ago

2.0.44

3 years ago

2.0.45

3 years ago

2.0.42

3 years ago

2.0.43

3 years ago

2.0.40

3 years ago

2.0.41

3 years ago

2.0.59

3 years ago

2.0.57

3 years ago

2.0.58

3 years ago

2.0.55

3 years ago

2.0.56

3 years ago

2.0.53

3 years ago

2.0.54

3 years ago

2.0.51

3 years ago

2.0.52

3 years ago

2.0.50

3 years ago

2.0.60

3 years ago

2.0.61

3 years ago

2.0.19

3 years ago

2.0.17

3 years ago

2.0.18

3 years ago

2.0.26

3 years ago

2.0.27

3 years ago

2.0.24

3 years ago

2.0.25

3 years ago

2.0.22

3 years ago

2.0.23

3 years ago

2.0.20

3 years ago

2.0.21

3 years ago

2.0.5

3 years ago

2.0.7

3 years ago

2.0.6

3 years ago

2.0.9

3 years ago

2.0.8

3 years ago

2.0.15

3 years ago

2.0.16

3 years ago

2.0.13

3 years ago

2.0.14

3 years ago

2.0.11

3 years ago

2.0.12

3 years ago

2.0.10

3 years ago

2.0.3

3 years ago

2.0.2

3 years ago

2.0.4

3 years ago

2.0.1

3 years ago

2.0.0

3 years ago

1.1.26

3 years ago

2.0.0-rc4

3 years ago

2.0.0-rc3

3 years ago

2.0.0-rc2

3 years ago

2.0.0-rc1

3 years ago

1.1.9

4 years ago

1.1.8

4 years ago

1.1.7

4 years ago

1.1.6

4 years ago

1.1.12

4 years ago

1.1.11

4 years ago

1.1.10

4 years ago

1.1.16

3 years ago

1.1.15

4 years ago

1.1.14

4 years ago

1.1.13

4 years ago

1.1.19

3 years ago

1.1.18

3 years ago

1.1.17

3 years ago

1.1.23

3 years ago

1.1.22

3 years ago

1.1.21

3 years ago

1.1.20

3 years ago

1.1.25

3 years ago

1.1.24

3 years ago

1.0.2

4 years ago

1.0.1

4 years ago

1.0.0

4 years ago

1.0.9

4 years ago

1.0.8

4 years ago

1.0.7

4 years ago

1.0.6

4 years ago

1.0.5

4 years ago

1.0.4

4 years ago

1.0.3

4 years ago

0.1.44

4 years ago

0.1.45

4 years ago

0.1.46

4 years ago

1.1.1

4 years ago

1.1.0

4 years ago

1.1.5

4 years ago

1.1.4

4 years ago

1.1.3

4 years ago

1.1.2

4 years ago

0.1.43

4 years ago

0.1.42

4 years ago

0.1.35

4 years ago

0.1.36

4 years ago

0.1.37

4 years ago

0.1.41

4 years ago

0.1.40

4 years ago

0.1.38

4 years ago

0.1.39

4 years ago

0.1.33

4 years ago

0.1.34

4 years ago

0.1.32

4 years ago

0.1.31

4 years ago

0.1.30

4 years ago

0.1.29

4 years ago

0.1.27

4 years ago

0.1.28

4 years ago

0.1.26

4 years ago

0.1.24

4 years ago

0.1.23

4 years ago

0.1.22

4 years ago

0.1.21

4 years ago

0.1.20

4 years ago

0.1.19

4 years ago

0.1.17

4 years ago

0.1.18

4 years ago

0.1.14

4 years ago

0.1.15

4 years ago

0.1.16

4 years ago

0.1.12

4 years ago

0.1.13

4 years ago

0.1.10

4 years ago

0.1.11

4 years ago

0.1.9

4 years ago

0.1.8

4 years ago

0.1.7

4 years ago

0.1.6

4 years ago

0.1.2

4 years ago

0.1.4

4 years ago

0.1.3

4 years ago

0.1.5

4 years ago

0.1.1

4 years ago

0.1.0

4 years ago

0.0.3

4 years ago

0.0.2

4 years ago

0.0.1

4 years ago