@furystack/rest-client-fetch 4.1.19 → 5.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/{dist → esm}/create-client.js +7 -11
- package/esm/create-client.js.map +1 -0
- package/esm/index.js +3 -0
- package/esm/index.js.map +1 -0
- package/esm/response-error.js +7 -0
- package/esm/response-error.js.map +1 -0
- package/package.json +23 -6
- package/src/create-client.spec.ts +17 -16
- package/dist/create-client.js.map +0 -1
- package/dist/create-client.spec.js +0 -198
- package/dist/create-client.spec.js.map +0 -1
- package/dist/index.js +0 -19
- package/dist/index.js.map +0 -1
- package/dist/response-error.js +0 -11
- package/dist/response-error.js.map +0 -1
- package/types/create-client.spec.d.ts +0 -2
- package/types/create-client.spec.d.ts.map +0 -1
|
@@ -1,18 +1,15 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
const
|
|
5
|
-
const response_error_1 = require("./response-error");
|
|
6
|
-
const path_to_regexp_1 = require("path-to-regexp");
|
|
7
|
-
const createClient = (clientOptions) => {
|
|
1
|
+
import { serializeToQueryString } from '@furystack/rest';
|
|
2
|
+
import { ResponseError } from './response-error';
|
|
3
|
+
import { compile } from 'path-to-regexp';
|
|
4
|
+
export const createClient = (clientOptions) => {
|
|
8
5
|
const fetchMethod = clientOptions.fetch || fetch;
|
|
9
6
|
return async (options) => {
|
|
10
7
|
const { url, query, body, headers } = options;
|
|
11
|
-
const urlToSend = (url ?
|
|
8
|
+
const urlToSend = (url ? compile(options.action)(url) : options.action) +
|
|
12
9
|
(query
|
|
13
10
|
? clientOptions.serializeQueryParams
|
|
14
11
|
? clientOptions.serializeQueryParams(query)
|
|
15
|
-
: `?${
|
|
12
|
+
: `?${serializeToQueryString(query)}`
|
|
16
13
|
: '');
|
|
17
14
|
const response = await fetchMethod((clientOptions.endpointUrl + urlToSend), {
|
|
18
15
|
...clientOptions.requestInit,
|
|
@@ -28,7 +25,7 @@ const createClient = (clientOptions) => {
|
|
|
28
25
|
: {}),
|
|
29
26
|
});
|
|
30
27
|
if (!response.ok) {
|
|
31
|
-
throw new
|
|
28
|
+
throw new ResponseError(response.statusText, response);
|
|
32
29
|
}
|
|
33
30
|
const contentType = response.headers?.get?.('Content-Type');
|
|
34
31
|
if (contentType?.startsWith('text/')) {
|
|
@@ -48,5 +45,4 @@ const createClient = (clientOptions) => {
|
|
|
48
45
|
}
|
|
49
46
|
};
|
|
50
47
|
};
|
|
51
|
-
exports.createClient = createClient;
|
|
52
48
|
//# sourceMappingURL=create-client.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create-client.js","sourceRoot":"","sources":["../src/create-client.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAA;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAChD,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAA;AAoBxC,MAAM,CAAC,MAAM,YAAY,GAAG,CAAoB,aAA4B,EAAE,EAAE;IAC9E,MAAM,WAAW,GAAG,aAAa,CAAC,KAAK,IAAI,KAAK,CAAA;IAEhD,OAAO,KAAK,EASV,OAMU,EACyC,EAAE;QACrD,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,OAAc,CAAA;QAEpD,MAAM,SAAS,GACb,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,MAAgB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAE,OAAO,CAAC,MAAiB,CAAC;YAC3E,CAAC,KAAK;gBACJ,CAAC,CAAC,aAAa,CAAC,oBAAoB;oBAClC,CAAC,CAAC,aAAa,CAAC,oBAAoB,CAAC,KAAK,CAAC;oBAC3C,CAAC,CAAC,IAAI,sBAAsB,CAAC,KAAK,CAAC,EAAE;gBACvC,CAAC,CAAC,EAAE,CAAC,CAAA;QAET,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,CAAC,aAAa,CAAC,WAAW,GAAG,SAAS,CAAW,EAAE;YACpF,GAAG,aAAa,CAAC,WAAW;YAC5B,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE;YACjC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS;YAC7C,GAAG,CAAC,OAAO;gBACT,CAAC,CAAC;oBACE,OAAO,EAAE;wBACP,GAAG,aAAa,CAAC,WAAW,EAAE,OAAO;wBACrC,GAAG,OAAO;qBACX;iBACF;gBACH,CAAC,CAAC,EAAE,CAAC;SACR,CAAC,CAAA;QACF,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE;YAChB,MAAM,IAAI,aAAa,CAAC,QAAQ,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAA;SACvD;QAED,MAAM,WAAW,GAAG,QAAQ,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,cAAc,CAAC,CAAA;QAE3D,IAAI,WAAW,EAAE,UAAU,CAAC,OAAO,CAAC,EAAE;YACpC,MAAM,MAAM,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAa,CAAA;YAClD,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAA;SAC5B;QAED,IAAI,WAAW,KAAK,gBAAgB,EAAE;YACpC,MAAM,MAAM,GAAG,CAAC,MAAM,QAAQ,CAAC,QAAQ,EAAE,CAAa,CAAA;YACtD,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAA;SAC5B;QAED,IAAI;YACF,MAAM,MAAM,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAa,CAAA;YAClD,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAA;SAC5B;QAAC,OAAO,KAAK,EAAE;YACd,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAgB,EAAE,CAAA;SAC9C;IACH,CAAC,CAAA;AACH,CAAC,CAAA"}
|
package/esm/index.js
ADDED
package/esm/index.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAA;AAC/B,cAAc,kBAAkB,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"response-error.js","sourceRoot":"","sources":["../src/response-error.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,aAAc,SAAQ,KAAK;IACtC,YAAY,OAAe,EAAS,QAAkB;QACpD,KAAK,CAAC,OAAO,CAAC,CAAA;QADoB,aAAQ,GAAR,QAAQ,CAAU;IAEtD,CAAC;CACF"}
|
package/package.json
CHANGED
|
@@ -1,10 +1,27 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@furystack/rest-client-fetch",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "5.0.1",
|
|
4
4
|
"description": "Native browser fetch based REST API implementation for FuryStack",
|
|
5
|
-
"
|
|
5
|
+
"type": "module",
|
|
6
|
+
"scripts": {
|
|
7
|
+
"build:es6": "tsc --outDir ./esm"
|
|
8
|
+
},
|
|
9
|
+
"exports": {
|
|
10
|
+
".": {
|
|
11
|
+
"import": "./esm/index.js",
|
|
12
|
+
"types": "./types/index.d.ts"
|
|
13
|
+
},
|
|
14
|
+
"./package.json": "./package.json"
|
|
15
|
+
},
|
|
16
|
+
"typesVersions": {
|
|
17
|
+
"*": {
|
|
18
|
+
"*": [
|
|
19
|
+
"types/*"
|
|
20
|
+
]
|
|
21
|
+
}
|
|
22
|
+
},
|
|
6
23
|
"files": [
|
|
7
|
-
"
|
|
24
|
+
"esm",
|
|
8
25
|
"types",
|
|
9
26
|
"src"
|
|
10
27
|
],
|
|
@@ -29,12 +46,12 @@
|
|
|
29
46
|
},
|
|
30
47
|
"homepage": "https://github.com/furystack/furystack",
|
|
31
48
|
"dependencies": {
|
|
32
|
-
"@furystack/rest": "^
|
|
49
|
+
"@furystack/rest": "^5.0.1",
|
|
33
50
|
"path-to-regexp": "^6.2.1"
|
|
34
51
|
},
|
|
35
52
|
"devDependencies": {
|
|
36
|
-
"
|
|
53
|
+
"typescript": "^5.0.4",
|
|
54
|
+
"vitest": "^0.30.1"
|
|
37
55
|
},
|
|
38
|
-
"typings": "./types/index.d.ts",
|
|
39
56
|
"gitHead": "1045d854bfd8c475b7035471d130d401417a2321"
|
|
40
57
|
}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { createClient } from './'
|
|
2
|
+
import { describe, it, expect, vi } from 'vitest'
|
|
2
3
|
|
|
3
4
|
const endpointUrl = 'http://localhost'
|
|
4
5
|
|
|
@@ -16,8 +17,8 @@ describe('@furystack/rest-client-fetch', () => {
|
|
|
16
17
|
})
|
|
17
18
|
|
|
18
19
|
it('Should throw if request is not OK', async () => {
|
|
19
|
-
const json =
|
|
20
|
-
const fetch: any =
|
|
20
|
+
const json = vi.fn(async () => ({ value: 1 }))
|
|
21
|
+
const fetch: any = vi.fn(async () => ({
|
|
21
22
|
json,
|
|
22
23
|
ok: false,
|
|
23
24
|
}))
|
|
@@ -36,8 +37,8 @@ describe('@furystack/rest-client-fetch', () => {
|
|
|
36
37
|
})
|
|
37
38
|
|
|
38
39
|
it('Should call a simple GET request', async () => {
|
|
39
|
-
const json =
|
|
40
|
-
const fetch: any =
|
|
40
|
+
const json = vi.fn(async () => ({ value: 1 }))
|
|
41
|
+
const fetch: any = vi.fn(async () => ({
|
|
41
42
|
json,
|
|
42
43
|
ok: true,
|
|
43
44
|
}))
|
|
@@ -59,8 +60,8 @@ describe('@furystack/rest-client-fetch', () => {
|
|
|
59
60
|
})
|
|
60
61
|
|
|
61
62
|
it('Should call a GET request with query parameters', async () => {
|
|
62
|
-
const json =
|
|
63
|
-
const fetch: any =
|
|
63
|
+
const json = vi.fn(async () => ({ value: 1 }))
|
|
64
|
+
const fetch: any = vi.fn(async () => ({
|
|
64
65
|
json,
|
|
65
66
|
ok: true,
|
|
66
67
|
}))
|
|
@@ -88,8 +89,8 @@ describe('@furystack/rest-client-fetch', () => {
|
|
|
88
89
|
})
|
|
89
90
|
|
|
90
91
|
it('Should call a GET request with URL parameters', async () => {
|
|
91
|
-
const json =
|
|
92
|
-
const fetch: any =
|
|
92
|
+
const json = vi.fn(async () => ({ value: 1 }))
|
|
93
|
+
const fetch: any = vi.fn(async () => ({
|
|
93
94
|
json,
|
|
94
95
|
ok: true,
|
|
95
96
|
}))
|
|
@@ -117,8 +118,8 @@ describe('@furystack/rest-client-fetch', () => {
|
|
|
117
118
|
})
|
|
118
119
|
|
|
119
120
|
it('Should call a simple POST request with body', async () => {
|
|
120
|
-
const json =
|
|
121
|
-
const fetch: any =
|
|
121
|
+
const json = vi.fn(async () => ({}))
|
|
122
|
+
const fetch: any = vi.fn(async () => ({
|
|
122
123
|
json,
|
|
123
124
|
ok: true,
|
|
124
125
|
}))
|
|
@@ -142,8 +143,8 @@ describe('@furystack/rest-client-fetch', () => {
|
|
|
142
143
|
})
|
|
143
144
|
|
|
144
145
|
it('Should call a request with headers', async () => {
|
|
145
|
-
const json =
|
|
146
|
-
const fetch: any =
|
|
146
|
+
const json = vi.fn(async () => ({}))
|
|
147
|
+
const fetch: any = vi.fn(async () => ({
|
|
147
148
|
json,
|
|
148
149
|
ok: true,
|
|
149
150
|
}))
|
|
@@ -171,8 +172,8 @@ describe('@furystack/rest-client-fetch', () => {
|
|
|
171
172
|
})
|
|
172
173
|
|
|
173
174
|
it('Should parse a response with text/ headers', async () => {
|
|
174
|
-
const text =
|
|
175
|
-
const fetch: any =
|
|
175
|
+
const text = vi.fn(async () => 'alma')
|
|
176
|
+
const fetch: any = vi.fn(async () => ({
|
|
176
177
|
text,
|
|
177
178
|
headers: {
|
|
178
179
|
get: () => 'text/plain',
|
|
@@ -208,8 +209,8 @@ describe('@furystack/rest-client-fetch', () => {
|
|
|
208
209
|
|
|
209
210
|
it('Should parse a response with form/multipart headers', async () => {
|
|
210
211
|
const exampleValue = { foo: 1, bar: 'alma' }
|
|
211
|
-
const formData =
|
|
212
|
-
const fetch: any =
|
|
212
|
+
const formData = vi.fn(async () => exampleValue)
|
|
213
|
+
const fetch: any = vi.fn(async () => ({
|
|
213
214
|
formData,
|
|
214
215
|
headers: {
|
|
215
216
|
get: () => 'form/multipart',
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"create-client.js","sourceRoot":"","sources":["../src/create-client.ts"],"names":[],"mappings":";;;AACA,0CAAwD;AACxD,qDAAgD;AAChD,mDAAwC;AAoBjC,MAAM,YAAY,GAAG,CAAoB,aAA4B,EAAE,EAAE;IAC9E,MAAM,WAAW,GAAG,aAAa,CAAC,KAAK,IAAI,KAAK,CAAA;IAEhD,OAAO,KAAK,EASV,OAMU,EACyC,EAAE;QACrD,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,OAAc,CAAA;QAEpD,MAAM,SAAS,GACb,CAAC,GAAG,CAAC,CAAC,CAAC,IAAA,wBAAO,EAAC,OAAO,CAAC,MAAgB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAE,OAAO,CAAC,MAAiB,CAAC;YAC3E,CAAC,KAAK;gBACJ,CAAC,CAAC,aAAa,CAAC,oBAAoB;oBAClC,CAAC,CAAC,aAAa,CAAC,oBAAoB,CAAC,KAAK,CAAC;oBAC3C,CAAC,CAAC,IAAI,IAAA,6BAAsB,EAAC,KAAK,CAAC,EAAE;gBACvC,CAAC,CAAC,EAAE,CAAC,CAAA;QAET,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,CAAC,aAAa,CAAC,WAAW,GAAG,SAAS,CAAW,EAAE;YACpF,GAAG,aAAa,CAAC,WAAW;YAC5B,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE;YACjC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS;YAC7C,GAAG,CAAC,OAAO;gBACT,CAAC,CAAC;oBACE,OAAO,EAAE;wBACP,GAAG,aAAa,CAAC,WAAW,EAAE,OAAO;wBACrC,GAAG,OAAO;qBACX;iBACF;gBACH,CAAC,CAAC,EAAE,CAAC;SACR,CAAC,CAAA;QACF,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE;YAChB,MAAM,IAAI,8BAAa,CAAC,QAAQ,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAA;SACvD;QAED,MAAM,WAAW,GAAG,QAAQ,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,cAAc,CAAC,CAAA;QAE3D,IAAI,WAAW,EAAE,UAAU,CAAC,OAAO,CAAC,EAAE;YACpC,MAAM,MAAM,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAa,CAAA;YAClD,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAA;SAC5B;QAED,IAAI,WAAW,KAAK,gBAAgB,EAAE;YACpC,MAAM,MAAM,GAAG,CAAC,MAAM,QAAQ,CAAC,QAAQ,EAAE,CAAa,CAAA;YACtD,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAA;SAC5B;QAED,IAAI;YACF,MAAM,MAAM,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAa,CAAA;YAClD,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAA;SAC5B;QAAC,OAAO,KAAK,EAAE;YACd,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAgB,EAAE,CAAA;SAC9C;IACH,CAAC,CAAA;AACH,CAAC,CAAA;AAlEY,QAAA,YAAY,gBAkExB"}
|
|
@@ -1,198 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const _1 = require("./");
|
|
4
|
-
const endpointUrl = 'http://localhost';
|
|
5
|
-
globalThis.fetch = globalThis.fecth || (() => null);
|
|
6
|
-
describe('@furystack/rest-client-fetch', () => {
|
|
7
|
-
it('Should return a method', () => {
|
|
8
|
-
const result = (0, _1.createClient)({ endpointUrl, fetch: () => undefined });
|
|
9
|
-
expect(typeof result).toBe('function');
|
|
10
|
-
});
|
|
11
|
-
it('Should create with native Fetch by default', () => {
|
|
12
|
-
const result = (0, _1.createClient)({ endpointUrl });
|
|
13
|
-
expect(typeof result).toBe('function');
|
|
14
|
-
});
|
|
15
|
-
it('Should throw if request is not OK', async () => {
|
|
16
|
-
const json = jest.fn(async () => ({ value: 1 }));
|
|
17
|
-
const fetch = jest.fn(async () => ({
|
|
18
|
-
json,
|
|
19
|
-
ok: false,
|
|
20
|
-
}));
|
|
21
|
-
const client = (0, _1.createClient)({
|
|
22
|
-
endpointUrl,
|
|
23
|
-
fetch,
|
|
24
|
-
});
|
|
25
|
-
await expect(client({
|
|
26
|
-
action: '/test',
|
|
27
|
-
method: 'GET',
|
|
28
|
-
})).rejects.toThrow('');
|
|
29
|
-
});
|
|
30
|
-
it('Should call a simple GET request', async () => {
|
|
31
|
-
const json = jest.fn(async () => ({ value: 1 }));
|
|
32
|
-
const fetch = jest.fn(async () => ({
|
|
33
|
-
json,
|
|
34
|
-
ok: true,
|
|
35
|
-
}));
|
|
36
|
-
const client = (0, _1.createClient)({
|
|
37
|
-
endpointUrl,
|
|
38
|
-
fetch,
|
|
39
|
-
});
|
|
40
|
-
const result = await client({
|
|
41
|
-
action: '/test',
|
|
42
|
-
method: 'GET',
|
|
43
|
-
});
|
|
44
|
-
expect(result.result).toEqual({ value: 1 });
|
|
45
|
-
expect(fetch).toBeCalledWith(`${endpointUrl}/test`, { method: 'GET', body: undefined });
|
|
46
|
-
expect(json).toBeCalled();
|
|
47
|
-
});
|
|
48
|
-
it('Should call a GET request with query parameters', async () => {
|
|
49
|
-
const json = jest.fn(async () => ({ value: 1 }));
|
|
50
|
-
const fetch = jest.fn(async () => ({
|
|
51
|
-
json,
|
|
52
|
-
ok: true,
|
|
53
|
-
}));
|
|
54
|
-
const client = (0, _1.createClient)({
|
|
55
|
-
endpointUrl,
|
|
56
|
-
fetch,
|
|
57
|
-
});
|
|
58
|
-
const result = await client({
|
|
59
|
-
action: '/test',
|
|
60
|
-
method: 'GET',
|
|
61
|
-
query: { value: 'asdasd' },
|
|
62
|
-
});
|
|
63
|
-
expect(result.result).toEqual({ value: 1 });
|
|
64
|
-
expect(fetch).toBeCalledWith(`${endpointUrl}/test?value=asdasd`, {
|
|
65
|
-
method: 'GET',
|
|
66
|
-
body: undefined,
|
|
67
|
-
});
|
|
68
|
-
expect(json).toBeCalled();
|
|
69
|
-
});
|
|
70
|
-
it('Should call a GET request with URL parameters', async () => {
|
|
71
|
-
const json = jest.fn(async () => ({ value: 1 }));
|
|
72
|
-
const fetch = jest.fn(async () => ({
|
|
73
|
-
json,
|
|
74
|
-
ok: true,
|
|
75
|
-
}));
|
|
76
|
-
const client = (0, _1.createClient)({
|
|
77
|
-
endpointUrl,
|
|
78
|
-
fetch,
|
|
79
|
-
});
|
|
80
|
-
const result = await client({
|
|
81
|
-
action: '/test/:urlValue',
|
|
82
|
-
method: 'GET',
|
|
83
|
-
url: { urlValue: 'asd' },
|
|
84
|
-
});
|
|
85
|
-
expect(result.result).toEqual({ value: 1 });
|
|
86
|
-
expect(fetch).toBeCalledWith(`${endpointUrl}/test/asd`, {
|
|
87
|
-
method: 'GET',
|
|
88
|
-
body: undefined,
|
|
89
|
-
});
|
|
90
|
-
expect(json).toBeCalled();
|
|
91
|
-
});
|
|
92
|
-
it('Should call a simple POST request with body', async () => {
|
|
93
|
-
const json = jest.fn(async () => ({}));
|
|
94
|
-
const fetch = jest.fn(async () => ({
|
|
95
|
-
json,
|
|
96
|
-
ok: true,
|
|
97
|
-
}));
|
|
98
|
-
const client = (0, _1.createClient)({
|
|
99
|
-
endpointUrl,
|
|
100
|
-
fetch,
|
|
101
|
-
});
|
|
102
|
-
await client({
|
|
103
|
-
action: '/test',
|
|
104
|
-
method: 'POST',
|
|
105
|
-
body: { foo: 3 },
|
|
106
|
-
});
|
|
107
|
-
expect(fetch).toBeCalledWith(`${endpointUrl}/test`, {
|
|
108
|
-
method: 'POST',
|
|
109
|
-
body: JSON.stringify({ foo: 3 }),
|
|
110
|
-
});
|
|
111
|
-
expect(json).toBeCalled();
|
|
112
|
-
});
|
|
113
|
-
it('Should call a request with headers', async () => {
|
|
114
|
-
const json = jest.fn(async () => ({}));
|
|
115
|
-
const fetch = jest.fn(async () => ({
|
|
116
|
-
json,
|
|
117
|
-
ok: true,
|
|
118
|
-
}));
|
|
119
|
-
const client = (0, _1.createClient)({
|
|
120
|
-
endpointUrl,
|
|
121
|
-
fetch,
|
|
122
|
-
});
|
|
123
|
-
await client({
|
|
124
|
-
action: '/test',
|
|
125
|
-
method: 'POST',
|
|
126
|
-
headers: {
|
|
127
|
-
token: '123',
|
|
128
|
-
},
|
|
129
|
-
});
|
|
130
|
-
expect(fetch).toBeCalledWith(`${endpointUrl}/test`, {
|
|
131
|
-
method: 'POST',
|
|
132
|
-
headers: {
|
|
133
|
-
token: '123',
|
|
134
|
-
},
|
|
135
|
-
});
|
|
136
|
-
expect(json).toBeCalled();
|
|
137
|
-
});
|
|
138
|
-
it('Should parse a response with text/ headers', async () => {
|
|
139
|
-
const text = jest.fn(async () => 'alma');
|
|
140
|
-
const fetch = jest.fn(async () => ({
|
|
141
|
-
text,
|
|
142
|
-
headers: {
|
|
143
|
-
get: () => 'text/plain',
|
|
144
|
-
},
|
|
145
|
-
ok: true,
|
|
146
|
-
}));
|
|
147
|
-
const client = (0, _1.createClient)({
|
|
148
|
-
endpointUrl,
|
|
149
|
-
fetch,
|
|
150
|
-
});
|
|
151
|
-
const result = await client({
|
|
152
|
-
action: '/test',
|
|
153
|
-
method: 'POST',
|
|
154
|
-
headers: {
|
|
155
|
-
token: '123',
|
|
156
|
-
},
|
|
157
|
-
});
|
|
158
|
-
expect(result.result).toBe('alma');
|
|
159
|
-
expect(fetch).toBeCalledWith(`${endpointUrl}/test`, {
|
|
160
|
-
method: 'POST',
|
|
161
|
-
headers: {
|
|
162
|
-
token: '123',
|
|
163
|
-
},
|
|
164
|
-
});
|
|
165
|
-
expect(text).toBeCalled();
|
|
166
|
-
});
|
|
167
|
-
it('Should parse a response with form/multipart headers', async () => {
|
|
168
|
-
const exampleValue = { foo: 1, bar: 'alma' };
|
|
169
|
-
const formData = jest.fn(async () => exampleValue);
|
|
170
|
-
const fetch = jest.fn(async () => ({
|
|
171
|
-
formData,
|
|
172
|
-
headers: {
|
|
173
|
-
get: () => 'form/multipart',
|
|
174
|
-
},
|
|
175
|
-
ok: true,
|
|
176
|
-
}));
|
|
177
|
-
const client = (0, _1.createClient)({
|
|
178
|
-
endpointUrl,
|
|
179
|
-
fetch,
|
|
180
|
-
});
|
|
181
|
-
const result = await client({
|
|
182
|
-
action: '/test',
|
|
183
|
-
method: 'POST',
|
|
184
|
-
headers: {
|
|
185
|
-
token: '123',
|
|
186
|
-
},
|
|
187
|
-
});
|
|
188
|
-
expect(result.result).toBe(exampleValue);
|
|
189
|
-
expect(fetch).toBeCalledWith(`${endpointUrl}/test`, {
|
|
190
|
-
method: 'POST',
|
|
191
|
-
headers: {
|
|
192
|
-
token: '123',
|
|
193
|
-
},
|
|
194
|
-
});
|
|
195
|
-
expect(formData).toBeCalled();
|
|
196
|
-
});
|
|
197
|
-
});
|
|
198
|
-
//# sourceMappingURL=create-client.spec.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"create-client.spec.js","sourceRoot":"","sources":["../src/create-client.spec.ts"],"names":[],"mappings":";;AAAA,yBAAiC;AAEjC,MAAM,WAAW,GAAG,kBAAkB,CAAA;AAEtC,UAAU,CAAC,KAAK,GAAI,UAAkB,CAAC,KAAK,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAA;AAE5D,QAAQ,CAAC,8BAA8B,EAAE,GAAG,EAAE;IAC5C,EAAE,CAAC,wBAAwB,EAAE,GAAG,EAAE;QAChC,MAAM,MAAM,GAAG,IAAA,eAAY,EAAC,EAAE,WAAW,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,SAAgB,EAAE,CAAC,CAAA;QAC3E,MAAM,CAAC,OAAO,MAAM,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;IACxC,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,4CAA4C,EAAE,GAAG,EAAE;QACpD,MAAM,MAAM,GAAG,IAAA,eAAY,EAAC,EAAE,WAAW,EAAE,CAAC,CAAA;QAC5C,MAAM,CAAC,OAAO,MAAM,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;IACxC,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,mCAAmC,EAAE,KAAK,IAAI,EAAE;QACjD,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;QAChD,MAAM,KAAK,GAAQ,IAAI,CAAC,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;YACtC,IAAI;YACJ,EAAE,EAAE,KAAK;SACV,CAAC,CAAC,CAAA;QAEH,MAAM,MAAM,GAAG,IAAA,eAAY,EAAoD;YAC7E,WAAW;YACX,KAAK;SACN,CAAC,CAAA;QAEF,MAAM,MAAM,CACV,MAAM,CAAC;YACL,MAAM,EAAE,OAAO;YACf,MAAM,EAAE,KAAK;SACd,CAAC,CACH,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;IACvB,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,kCAAkC,EAAE,KAAK,IAAI,EAAE;QAChD,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;QAChD,MAAM,KAAK,GAAQ,IAAI,CAAC,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;YACtC,IAAI;YACJ,EAAE,EAAE,IAAI;SACT,CAAC,CAAC,CAAA;QAEH,MAAM,MAAM,GAAG,IAAA,eAAY,EAAsD;YAC/E,WAAW;YACX,KAAK;SACN,CAAC,CAAA;QAEF,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC;YAC1B,MAAM,EAAE,OAAO;YACf,MAAM,EAAE,KAAK;SACd,CAAC,CAAA;QAEF,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAA;QAE3C,MAAM,CAAC,KAAK,CAAC,CAAC,cAAc,CAAC,GAAG,WAAW,OAAO,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAA;QACvF,MAAM,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,CAAA;IAC3B,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,iDAAiD,EAAE,KAAK,IAAI,EAAE;QAC/D,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;QAChD,MAAM,KAAK,GAAQ,IAAI,CAAC,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;YACtC,IAAI;YACJ,EAAE,EAAE,IAAI;SACT,CAAC,CAAC,CAAA;QAEH,MAAM,MAAM,GAAG,IAAA,eAAY,EAExB;YACD,WAAW;YACX,KAAK;SACN,CAAC,CAAA;QAEF,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC;YAC1B,MAAM,EAAE,OAAO;YACf,MAAM,EAAE,KAAK;YACb,KAAK,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE;SAC3B,CAAC,CAAA;QAEF,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAA;QAE3C,MAAM,CAAC,KAAK,CAAC,CAAC,cAAc,CAAC,GAAG,WAAW,oBAAoB,EAAE;YAC/D,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,SAAS;SAChB,CAAC,CAAA;QACF,MAAM,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,CAAA;IAC3B,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,+CAA+C,EAAE,KAAK,IAAI,EAAE;QAC7D,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;QAChD,MAAM,KAAK,GAAQ,IAAI,CAAC,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;YACtC,IAAI;YACJ,EAAE,EAAE,IAAI;SACT,CAAC,CAAC,CAAA;QAEH,MAAM,MAAM,GAAG,IAAA,eAAY,EAExB;YACD,WAAW;YACX,KAAK;SACN,CAAC,CAAA;QAEF,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC;YAC1B,MAAM,EAAE,iBAAiB;YACzB,MAAM,EAAE,KAAK;YACb,GAAG,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE;SACzB,CAAC,CAAA;QAEF,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAA;QAE3C,MAAM,CAAC,KAAK,CAAC,CAAC,cAAc,CAAC,GAAG,WAAW,WAAW,EAAE;YACtD,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,SAAS;SAChB,CAAC,CAAA;QACF,MAAM,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,CAAA;IAC3B,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,6CAA6C,EAAE,KAAK,IAAI,EAAE;QAC3D,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;QACtC,MAAM,KAAK,GAAQ,IAAI,CAAC,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;YACtC,IAAI;YACJ,EAAE,EAAE,IAAI;SACT,CAAC,CAAC,CAAA;QAEH,MAAM,MAAM,GAAG,IAAA,eAAY,EAA+D;YACxF,WAAW;YACX,KAAK;SACN,CAAC,CAAA;QAEF,MAAM,MAAM,CAAC;YACX,MAAM,EAAE,OAAO;YACf,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE;SACjB,CAAC,CAAA;QAEF,MAAM,CAAC,KAAK,CAAC,CAAC,cAAc,CAAC,GAAG,WAAW,OAAO,EAAE;YAClD,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC;SACjC,CAAC,CAAA;QACF,MAAM,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,CAAA;IAC3B,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,oCAAoC,EAAE,KAAK,IAAI,EAAE;QAClD,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;QACtC,MAAM,KAAK,GAAQ,IAAI,CAAC,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;YACtC,IAAI;YACJ,EAAE,EAAE,IAAI;SACT,CAAC,CAAC,CAAA;QAEH,MAAM,MAAM,GAAG,IAAA,eAAY,EAAoE;YAC7F,WAAW;YACX,KAAK;SACN,CAAC,CAAA;QAEF,MAAM,MAAM,CAAC;YACX,MAAM,EAAE,OAAO;YACf,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACP,KAAK,EAAE,KAAK;aACb;SACF,CAAC,CAAA;QAEF,MAAM,CAAC,KAAK,CAAC,CAAC,cAAc,CAAC,GAAG,WAAW,OAAO,EAAE;YAClD,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACP,KAAK,EAAE,KAAK;aACb;SACF,CAAC,CAAA;QACF,MAAM,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,CAAA;IAC3B,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,4CAA4C,EAAE,KAAK,IAAI,EAAE;QAC1D,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,MAAM,CAAC,CAAA;QACxC,MAAM,KAAK,GAAQ,IAAI,CAAC,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;YACtC,IAAI;YACJ,OAAO,EAAE;gBACP,GAAG,EAAE,GAAG,EAAE,CAAC,YAAY;aACxB;YACD,EAAE,EAAE,IAAI;SACT,CAAC,CAAC,CAAA;QAEH,MAAM,MAAM,GAAG,IAAA,eAAY,EAExB;YACD,WAAW;YACX,KAAK;SACN,CAAC,CAAA;QAEF,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC;YAC1B,MAAM,EAAE,OAAO;YACf,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACP,KAAK,EAAE,KAAK;aACb;SACF,CAAC,CAAA;QAEF,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QAElC,MAAM,CAAC,KAAK,CAAC,CAAC,cAAc,CAAC,GAAG,WAAW,OAAO,EAAE;YAClD,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACP,KAAK,EAAE,KAAK;aACb;SACF,CAAC,CAAA;QACF,MAAM,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,CAAA;IAC3B,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,qDAAqD,EAAE,KAAK,IAAI,EAAE;QACnE,MAAM,YAAY,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,CAAA;QAC5C,MAAM,QAAQ,GAAG,IAAI,CAAC,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,YAAY,CAAC,CAAA;QAClD,MAAM,KAAK,GAAQ,IAAI,CAAC,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;YACtC,QAAQ;YACR,OAAO,EAAE;gBACP,GAAG,EAAE,GAAG,EAAE,CAAC,gBAAgB;aAC5B;YACD,EAAE,EAAE,IAAI;SACT,CAAC,CAAC,CAAA;QAEH,MAAM,MAAM,GAAG,IAAA,eAAY,EAExB;YACD,WAAW;YACX,KAAK;SACN,CAAC,CAAA;QAEF,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC;YAC1B,MAAM,EAAE,OAAO;YACf,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACP,KAAK,EAAE,KAAK;aACb;SACF,CAAC,CAAA;QAEF,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;QAExC,MAAM,CAAC,KAAK,CAAC,CAAC,cAAc,CAAC,GAAG,WAAW,OAAO,EAAE;YAClD,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACP,KAAK,EAAE,KAAK;aACb;SACF,CAAC,CAAA;QACF,MAAM,CAAC,QAAQ,CAAC,CAAC,UAAU,EAAE,CAAA;IAC/B,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
|
package/dist/index.js
DELETED
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
-
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
-
};
|
|
16
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
__exportStar(require("./create-client"), exports);
|
|
18
|
-
__exportStar(require("./response-error"), exports);
|
|
19
|
-
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,kDAA+B;AAC/B,mDAAgC"}
|
package/dist/response-error.js
DELETED
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ResponseError = void 0;
|
|
4
|
-
class ResponseError extends Error {
|
|
5
|
-
constructor(message, response) {
|
|
6
|
-
super(message);
|
|
7
|
-
this.response = response;
|
|
8
|
-
}
|
|
9
|
-
}
|
|
10
|
-
exports.ResponseError = ResponseError;
|
|
11
|
-
//# sourceMappingURL=response-error.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"response-error.js","sourceRoot":"","sources":["../src/response-error.ts"],"names":[],"mappings":";;;AAAA,MAAa,aAAc,SAAQ,KAAK;IACtC,YAAY,OAAe,EAAS,QAAkB;QACpD,KAAK,CAAC,OAAO,CAAC,CAAA;QADoB,aAAQ,GAAR,QAAQ,CAAU;IAEtD,CAAC;CACF;AAJD,sCAIC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"create-client.spec.d.ts","sourceRoot":"","sources":["../src/create-client.spec.ts"],"names":[],"mappings":""}
|