piral-fetch 1.6.0-beta.7216 → 1.6.0-beta.7243
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/lib/config.js +1 -2
- package/lib/create.js +3 -7
- package/lib/create.js.map +1 -1
- package/lib/fetch.js +1 -5
- package/lib/fetch.js.map +1 -1
- package/lib/index.js +4 -7
- package/lib/index.js.map +1 -1
- package/lib/types.js +1 -2
- package/package.json +8 -22
- package/esm/config.d.ts +0 -29
- package/esm/config.js +0 -2
- package/esm/config.js.map +0 -1
- package/esm/create.d.ts +0 -8
- package/esm/create.js +0 -43
- package/esm/create.js.map +0 -1
- package/esm/fetch.d.ts +0 -3
- package/esm/fetch.js +0 -57
- package/esm/fetch.js.map +0 -1
- package/esm/index.d.ts +0 -4
- package/esm/index.js +0 -5
- package/esm/index.js.map +0 -1
- package/esm/types.d.ts +0 -67
- package/esm/types.js +0 -2
- package/esm/types.js.map +0 -1
package/lib/config.js
CHANGED
package/lib/create.js
CHANGED
|
@@ -1,12 +1,9 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.createFetchApi = void 0;
|
|
4
|
-
const fetch_1 = require("./fetch");
|
|
1
|
+
import { httpFetch } from './fetch';
|
|
5
2
|
/**
|
|
6
3
|
* Creates new Pilet API extensions for fetch.
|
|
7
4
|
* @param config The custom fetch configuration, if any.
|
|
8
5
|
*/
|
|
9
|
-
function createFetchApi(config = {}) {
|
|
6
|
+
export function createFetchApi(config = {}) {
|
|
10
7
|
return (context) => {
|
|
11
8
|
return {
|
|
12
9
|
fetch(path, options = {}) {
|
|
@@ -38,10 +35,9 @@ function createFetchApi(config = {}) {
|
|
|
38
35
|
headers,
|
|
39
36
|
};
|
|
40
37
|
})
|
|
41
|
-
.then((options) =>
|
|
38
|
+
.then((options) => httpFetch(config, path, options));
|
|
42
39
|
},
|
|
43
40
|
};
|
|
44
41
|
};
|
|
45
42
|
}
|
|
46
|
-
exports.createFetchApi = createFetchApi;
|
|
47
43
|
//# sourceMappingURL=create.js.map
|
package/lib/create.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create.js","sourceRoot":"","sources":["../src/create.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"create.js","sourceRoot":"","sources":["../src/create.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAGpC;;;GAGG;AACH,MAAM,UAAU,cAAc,CAAC,SAAsB,EAAE;IACrD,OAAO,CAAC,OAAO,EAAE,EAAE;QACjB,OAAO;YACL,KAAK,CAAI,IAAI,EAAE,UAAe,EAAE;gBAC9B,MAAM,eAAe,GAAG,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC;gBAC9C,MAAM,cAAc,GAAwB,EAAE,CAAC;gBAE/C,OAAO,CAAC,IAAI,CAAC,cAAc,EAAE;oBAC3B,OAAO,EAAE,eAAe;oBACxB,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,KAAK;oBAC/B,MAAM,EAAE,IAAI;oBACZ,UAAU,CAAC,OAA2B;wBACpC,IAAI,OAAO,EAAE;4BACX,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;yBAC9B;oBACH,CAAC;iBACF,CAAC,CAAC;gBAEH,OAAO,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC;qBAC/B,IAAI,CAAC,CAAC,UAAU,EAAE,EAAE;oBACnB,MAAM,OAAO,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE;wBAChD,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,EAAE;4BACxC,OAAO;gCACL,GAAG,GAAG;gCACN,GAAG,MAAM;6BACV,CAAC;yBACH;wBAED,OAAO,GAAG,CAAC;oBACb,CAAC,EAAE,eAAe,CAAC,CAAC;oBAEpB,OAAO;wBACL,GAAG,OAAO;wBACV,OAAO;qBACR,CAAC;gBACJ,CAAC,CAAC;qBACD,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,SAAS,CAAI,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;YAC5D,CAAC;SACF,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC"}
|
package/lib/fetch.js
CHANGED
|
@@ -1,10 +1,7 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.httpFetch = void 0;
|
|
4
1
|
const headerAccept = 'accept';
|
|
5
2
|
const headerContentType = 'content-type';
|
|
6
3
|
const mimeApplicationJson = 'application/json';
|
|
7
|
-
function httpFetch(config, path, options = {}) {
|
|
4
|
+
export function httpFetch(config, path, options = {}) {
|
|
8
5
|
// fetcher makes the actual HTTP request.
|
|
9
6
|
// It is used as the last step in the upcoming middleware chain and does *not* call/require next
|
|
10
7
|
// (which is undefined in this case).
|
|
@@ -57,5 +54,4 @@ function httpFetch(config, path, options = {}) {
|
|
|
57
54
|
});
|
|
58
55
|
return middlewareChain[0](path, options);
|
|
59
56
|
}
|
|
60
|
-
exports.httpFetch = httpFetch;
|
|
61
57
|
//# sourceMappingURL=fetch.js.map
|
package/lib/fetch.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fetch.js","sourceRoot":"","sources":["../src/fetch.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"fetch.js","sourceRoot":"","sources":["../src/fetch.ts"],"names":[],"mappings":"AAGA,MAAM,YAAY,GAAG,QAAQ,CAAC;AAC9B,MAAM,iBAAiB,GAAG,cAAc,CAAC;AACzC,MAAM,mBAAmB,GAAG,kBAAkB,CAAC;AAE/C,MAAM,UAAU,SAAS,CAAI,MAAmB,EAAE,IAAY,EAAE,UAAwB,EAAE;IACxF,yCAAyC;IACzC,gGAAgG;IAChG,qCAAqC;IACrC,MAAM,OAAO,GAAoB,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE;QACjD,MAAM,QAAQ,GAAG,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC;QACtC,MAAM,WAAW,GAAG,QAAQ,CAAC,OAAO,IAAI,EAAE,CAAC;QAC3C,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,IAAI,QAAQ,CAAC,MAAM,CAAC;QAC/C,MAAM,EACJ,MAAM,GAAG,KAAK,EACd,IAAI,EACJ,OAAO,GAAG,EAAE,EACZ,KAAK,GAAG,QAAQ,CAAC,KAAK,EACtB,IAAI,GAAG,QAAQ,CAAC,IAAI,EACpB,MAAM,GAAG,MAAM,EACf,MAAM,GACP,GAAG,OAAO,CAAC;QACZ,MAAM,IAAI,GACR,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;YACnB,OAAO,IAAI,KAAK,QAAQ;YACxB,CAAC,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,YAAY,QAAQ,KAAK,KAAK,IAAI,IAAI,YAAY,IAAI,KAAK,KAAK,CAAC,CAAC;QACrG,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACnC,MAAM,IAAI,GAAgB;YACxB,GAAG,QAAQ;YACX,MAAM;YACN,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAE,IAAiB;YACtD,OAAO,EAAE;gBACP,GAAG,WAAW;gBACd,GAAG,OAAO;aACX;YACD,KAAK;YACL,IAAI;YACJ,MAAM;SACP,CAAC;QAEF,IAAI,IAAI,EAAE;YACR,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,GAAG,kBAAkB,CAAC;YACrD,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG,mBAAmB,CAAC;SAClD;QAED,OAAO,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE;YACxC,MAAM,WAAW,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;YACvD,MAAM,IAAI,GAAG,MAAM,KAAK,MAAM,IAAI,CAAC,MAAM,KAAK,MAAM,IAAI,CAAC,CAAC,WAAW,IAAI,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAC7G,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;YAE/C,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;gBAC7B,IAAI;gBACJ,IAAI,EAAE,GAAG,CAAC,MAAM;gBAChB,IAAI,EAAE,GAAG,CAAC,UAAU;aACrB,CAAC,CAAC,CAAC;QACN,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,4EAA4E;IAC5E,0FAA0F;IAC1F,wEAAwE;IACxE,mFAAmF;IACnF,MAAM,aAAa,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,WAAW,IAAI,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC;IAC/D,IAAI,eAA0C,CAAC;IAC/C,eAAe,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,CAAC,EAAE,EAAE;QACpD,MAAM,IAAI,GAAuB,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,CAAC,eAAe,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAC1F,MAAM,MAAM,GAAuB,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;QACtF,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC,CAAC;IAEH,OAAO,eAAe,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AAC3C,CAAC"}
|
package/lib/index.js
CHANGED
|
@@ -1,8 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
tslib_1.__exportStar(require("./create"), exports);
|
|
6
|
-
tslib_1.__exportStar(require("./fetch"), exports);
|
|
7
|
-
tslib_1.__exportStar(require("./types"), exports);
|
|
1
|
+
export * from './config';
|
|
2
|
+
export * from './create';
|
|
3
|
+
export * from './fetch';
|
|
4
|
+
export * from './types';
|
|
8
5
|
//# sourceMappingURL=index.js.map
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC"}
|
package/lib/types.js
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "piral-fetch",
|
|
3
|
-
"version": "1.6.0-beta.
|
|
3
|
+
"version": "1.6.0-beta.7243",
|
|
4
4
|
"description": "Plugin for standardizing fetch in Piral.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"piral",
|
|
@@ -17,29 +17,16 @@
|
|
|
17
17
|
"author": "smapiot",
|
|
18
18
|
"homepage": "https://piral.io",
|
|
19
19
|
"license": "MIT",
|
|
20
|
-
"module": "
|
|
20
|
+
"module": "lib/index.js",
|
|
21
21
|
"main": "lib/index.js",
|
|
22
22
|
"typings": "lib/index.d.ts",
|
|
23
23
|
"exports": {
|
|
24
|
-
".":
|
|
25
|
-
|
|
26
|
-
"require": "./lib/index.js"
|
|
27
|
-
},
|
|
28
|
-
"./esm/*": {
|
|
29
|
-
"import": "./esm/*"
|
|
30
|
-
},
|
|
31
|
-
"./lib/*": {
|
|
32
|
-
"require": "./lib/*"
|
|
33
|
-
},
|
|
34
|
-
"./_/*": {
|
|
35
|
-
"import": "./esm/*.js",
|
|
36
|
-
"require": "./lib/*.js"
|
|
37
|
-
},
|
|
24
|
+
".": "./lib/index.js",
|
|
25
|
+
"./lib/*": "./lib/*",
|
|
38
26
|
"./package.json": "./package.json"
|
|
39
27
|
},
|
|
40
28
|
"sideEffects": false,
|
|
41
29
|
"files": [
|
|
42
|
-
"esm",
|
|
43
30
|
"lib",
|
|
44
31
|
"src",
|
|
45
32
|
"piral-fetch.min.js"
|
|
@@ -53,10 +40,9 @@
|
|
|
53
40
|
},
|
|
54
41
|
"scripts": {
|
|
55
42
|
"cleanup": "rimraf esm lib piral-fetch.min.js",
|
|
56
|
-
"build": "yarn build:bundle && yarn build:
|
|
43
|
+
"build": "yarn build:bundle && yarn build:esnext",
|
|
57
44
|
"build:bundle": "esbuild src/index.ts --outfile=piral-fetch.min.js --bundle --external:piral-core --minify --global-name=piralFetch",
|
|
58
|
-
"build:
|
|
59
|
-
"build:esnext": "tsc --project tsconfig.json --outDir esm --module esnext",
|
|
45
|
+
"build:esnext": "tsc --project tsconfig.json --outDir lib --module esnext",
|
|
60
46
|
"typedoc": "typedoc --json ../../../docs/types/piral-fetch.json src --exclude \"src/**/*.test.*\"",
|
|
61
47
|
"test": "echo \"Error: run tests from root\" && exit 1"
|
|
62
48
|
},
|
|
@@ -65,8 +51,8 @@
|
|
|
65
51
|
"@types/express": "^4.11.1",
|
|
66
52
|
"cors": "^2.8.5",
|
|
67
53
|
"express": "^4.17.1",
|
|
68
|
-
"piral-core": "1.6.0-beta.
|
|
54
|
+
"piral-core": "1.6.0-beta.7243",
|
|
69
55
|
"whatwg-fetch": "^3.0.0"
|
|
70
56
|
},
|
|
71
|
-
"gitHead": "
|
|
57
|
+
"gitHead": "bbb6e4f78c61b6ef753099a5b378ad2708565ce3"
|
|
72
58
|
}
|
package/esm/config.d.ts
DELETED
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
import type { FetchOptions, FetchResponse, PiletFetchApiFetch } from './types';
|
|
2
|
-
export interface FetchMiddleware {
|
|
3
|
-
/**
|
|
4
|
-
* A middleware function for the fetch API.
|
|
5
|
-
* @param path The target of the fetch.
|
|
6
|
-
* @param options The options to be used.
|
|
7
|
-
* @param next A function that invokes the next middleware or the final `fetch`.
|
|
8
|
-
* @returns The promise waiting for the response to arrive.
|
|
9
|
-
*/
|
|
10
|
-
(path: string, options: FetchOptions, next: PiletFetchApiFetch): Promise<FetchResponse<any>>;
|
|
11
|
-
}
|
|
12
|
-
export interface FetchConfig {
|
|
13
|
-
/**
|
|
14
|
-
* Sets the default request init settings.
|
|
15
|
-
* @default {}
|
|
16
|
-
*/
|
|
17
|
-
default?: RequestInit;
|
|
18
|
-
/**
|
|
19
|
-
* Sets the base URL to use for requests.
|
|
20
|
-
* @default location.origin
|
|
21
|
-
*/
|
|
22
|
-
base?: string;
|
|
23
|
-
/**
|
|
24
|
-
* An ordered list of middleware functions which can intercept and transform any request made via `piral-fetch`.
|
|
25
|
-
* Middleware functions are executed in a top-down order for each fetch request.
|
|
26
|
-
* @default []
|
|
27
|
-
*/
|
|
28
|
-
middlewares?: Array<FetchMiddleware>;
|
|
29
|
-
}
|
package/esm/config.js
DELETED
package/esm/config.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":""}
|
package/esm/create.d.ts
DELETED
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { PiralPlugin } from 'piral-core';
|
|
2
|
-
import { FetchConfig } from './config';
|
|
3
|
-
import { PiletFetchApi } from './types';
|
|
4
|
-
/**
|
|
5
|
-
* Creates new Pilet API extensions for fetch.
|
|
6
|
-
* @param config The custom fetch configuration, if any.
|
|
7
|
-
*/
|
|
8
|
-
export declare function createFetchApi(config?: FetchConfig): PiralPlugin<PiletFetchApi>;
|
package/esm/create.js
DELETED
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
import { httpFetch } from './fetch';
|
|
2
|
-
/**
|
|
3
|
-
* Creates new Pilet API extensions for fetch.
|
|
4
|
-
* @param config The custom fetch configuration, if any.
|
|
5
|
-
*/
|
|
6
|
-
export function createFetchApi(config = {}) {
|
|
7
|
-
return (context) => {
|
|
8
|
-
return {
|
|
9
|
-
fetch(path, options = {}) {
|
|
10
|
-
const originalHeaders = options.headers || {};
|
|
11
|
-
const headerPromises = [];
|
|
12
|
-
context.emit('before-fetch', {
|
|
13
|
-
headers: originalHeaders,
|
|
14
|
-
method: options.method || 'GET',
|
|
15
|
-
target: path,
|
|
16
|
-
setHeaders(headers) {
|
|
17
|
-
if (headers) {
|
|
18
|
-
headerPromises.push(headers);
|
|
19
|
-
}
|
|
20
|
-
},
|
|
21
|
-
});
|
|
22
|
-
return Promise.all(headerPromises)
|
|
23
|
-
.then((newHeaders) => {
|
|
24
|
-
const headers = newHeaders.reduce((obj, header) => {
|
|
25
|
-
if (typeof header === 'object' && header) {
|
|
26
|
-
return {
|
|
27
|
-
...obj,
|
|
28
|
-
...header,
|
|
29
|
-
};
|
|
30
|
-
}
|
|
31
|
-
return obj;
|
|
32
|
-
}, originalHeaders);
|
|
33
|
-
return {
|
|
34
|
-
...options,
|
|
35
|
-
headers,
|
|
36
|
-
};
|
|
37
|
-
})
|
|
38
|
-
.then((options) => httpFetch(config, path, options));
|
|
39
|
-
},
|
|
40
|
-
};
|
|
41
|
-
};
|
|
42
|
-
}
|
|
43
|
-
//# sourceMappingURL=create.js.map
|
package/esm/create.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"create.js","sourceRoot":"","sources":["../src/create.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAGpC;;;GAGG;AACH,MAAM,UAAU,cAAc,CAAC,SAAsB,EAAE;IACrD,OAAO,CAAC,OAAO,EAAE,EAAE;QACjB,OAAO;YACL,KAAK,CAAI,IAAI,EAAE,UAAe,EAAE;gBAC9B,MAAM,eAAe,GAAG,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC;gBAC9C,MAAM,cAAc,GAAwB,EAAE,CAAC;gBAE/C,OAAO,CAAC,IAAI,CAAC,cAAc,EAAE;oBAC3B,OAAO,EAAE,eAAe;oBACxB,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,KAAK;oBAC/B,MAAM,EAAE,IAAI;oBACZ,UAAU,CAAC,OAA2B;wBACpC,IAAI,OAAO,EAAE;4BACX,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;yBAC9B;oBACH,CAAC;iBACF,CAAC,CAAC;gBAEH,OAAO,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC;qBAC/B,IAAI,CAAC,CAAC,UAAU,EAAE,EAAE;oBACnB,MAAM,OAAO,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE;wBAChD,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,EAAE;4BACxC,OAAO;gCACL,GAAG,GAAG;gCACN,GAAG,MAAM;6BACV,CAAC;yBACH;wBAED,OAAO,GAAG,CAAC;oBACb,CAAC,EAAE,eAAe,CAAC,CAAC;oBAEpB,OAAO;wBACL,GAAG,OAAO;wBACV,OAAO;qBACR,CAAC;gBACJ,CAAC,CAAC;qBACD,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,SAAS,CAAI,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;YAC5D,CAAC;SACF,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC"}
|
package/esm/fetch.d.ts
DELETED
package/esm/fetch.js
DELETED
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
const headerAccept = 'accept';
|
|
2
|
-
const headerContentType = 'content-type';
|
|
3
|
-
const mimeApplicationJson = 'application/json';
|
|
4
|
-
export function httpFetch(config, path, options = {}) {
|
|
5
|
-
// fetcher makes the actual HTTP request.
|
|
6
|
-
// It is used as the last step in the upcoming middleware chain and does *not* call/require next
|
|
7
|
-
// (which is undefined in this case).
|
|
8
|
-
const fetcher = (path, options) => {
|
|
9
|
-
const baseInit = config.default || {};
|
|
10
|
-
const baseHeaders = baseInit.headers || {};
|
|
11
|
-
const baseUrl = config.base || location.origin;
|
|
12
|
-
const { method = 'get', body, headers = {}, cache = baseInit.cache, mode = baseInit.mode, result = 'auto', signal, } = options;
|
|
13
|
-
const json = Array.isArray(body) ||
|
|
14
|
-
typeof body === 'number' ||
|
|
15
|
-
(typeof body === 'object' && body instanceof FormData === false && body instanceof Blob === false);
|
|
16
|
-
const url = new URL(path, baseUrl);
|
|
17
|
-
const init = {
|
|
18
|
-
...baseInit,
|
|
19
|
-
method,
|
|
20
|
-
body: json ? JSON.stringify(body) : body,
|
|
21
|
-
headers: {
|
|
22
|
-
...baseHeaders,
|
|
23
|
-
...headers,
|
|
24
|
-
},
|
|
25
|
-
cache,
|
|
26
|
-
mode,
|
|
27
|
-
signal,
|
|
28
|
-
};
|
|
29
|
-
if (json) {
|
|
30
|
-
init.headers[headerContentType] = 'application/json';
|
|
31
|
-
init.headers[headerAccept] = mimeApplicationJson;
|
|
32
|
-
}
|
|
33
|
-
return fetch(url.href, init).then((res) => {
|
|
34
|
-
const contentType = res.headers.get(headerContentType);
|
|
35
|
-
const json = result === 'json' || (result === 'auto' && !!contentType && contentType.indexOf('json') !== -1);
|
|
36
|
-
const promise = json ? res.json() : res.text();
|
|
37
|
-
return promise.then((body) => ({
|
|
38
|
-
body,
|
|
39
|
-
code: res.status,
|
|
40
|
-
text: res.statusText,
|
|
41
|
-
}));
|
|
42
|
-
});
|
|
43
|
-
};
|
|
44
|
-
// Prepare the middleware chain. Middlewares are called in a top-down order.
|
|
45
|
-
// Every configured middleware function must receive a `next` function with the same shape
|
|
46
|
-
// as a `fetch` function. `next` invokes the next function in the chain.
|
|
47
|
-
// `fetcher` from above is the last function in the chain and always terminates it.
|
|
48
|
-
const middlewareFns = [...(config.middlewares || []), fetcher];
|
|
49
|
-
let middlewareChain;
|
|
50
|
-
middlewareChain = middlewareFns.map((middleware, i) => {
|
|
51
|
-
const next = (path, options) => middlewareChain[i + 1](path, options);
|
|
52
|
-
const invoke = (path, options) => middleware(path, options, next);
|
|
53
|
-
return invoke;
|
|
54
|
-
});
|
|
55
|
-
return middlewareChain[0](path, options);
|
|
56
|
-
}
|
|
57
|
-
//# sourceMappingURL=fetch.js.map
|
package/esm/fetch.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"fetch.js","sourceRoot":"","sources":["../src/fetch.ts"],"names":[],"mappings":"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"}
|
package/esm/index.d.ts
DELETED
package/esm/index.js
DELETED
package/esm/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC"}
|
package/esm/types.d.ts
DELETED
|
@@ -1,67 +0,0 @@
|
|
|
1
|
-
declare module 'piral-core/lib/types/custom' {
|
|
2
|
-
interface PiletCustomApi extends PiletFetchApi {
|
|
3
|
-
}
|
|
4
|
-
}
|
|
5
|
-
export interface FetchOptions {
|
|
6
|
-
/**
|
|
7
|
-
* Sets the HTTP method.
|
|
8
|
-
* @default 'get'
|
|
9
|
-
*/
|
|
10
|
-
method?: 'get' | 'post' | 'put' | 'delete' | 'patch' | 'head';
|
|
11
|
-
/**
|
|
12
|
-
* Sets the body of the request.
|
|
13
|
-
* @default null
|
|
14
|
-
*/
|
|
15
|
-
body?: string | Blob | FormData | Array<any> | {} | number;
|
|
16
|
-
/**
|
|
17
|
-
* Sets the headers of the request.
|
|
18
|
-
* @default {}
|
|
19
|
-
*/
|
|
20
|
-
headers?: Record<string, string>;
|
|
21
|
-
/**
|
|
22
|
-
* Sets the caching mode of the request.
|
|
23
|
-
*/
|
|
24
|
-
cache?: RequestCache;
|
|
25
|
-
/**
|
|
26
|
-
* Sets the CORS mode of the request.
|
|
27
|
-
*/
|
|
28
|
-
mode?: RequestMode;
|
|
29
|
-
/**
|
|
30
|
-
* Sets the result mode of the request.
|
|
31
|
-
* @default 'auto'
|
|
32
|
-
*/
|
|
33
|
-
result?: 'auto' | 'json' | 'text';
|
|
34
|
-
/**
|
|
35
|
-
* Sets the Abort Signal to cancel the request.
|
|
36
|
-
*/
|
|
37
|
-
signal?: AbortSignal;
|
|
38
|
-
}
|
|
39
|
-
export interface FetchResponse<T> {
|
|
40
|
-
/**
|
|
41
|
-
* The body of the response.
|
|
42
|
-
*/
|
|
43
|
-
body: T;
|
|
44
|
-
/**
|
|
45
|
-
* The status code of the response.
|
|
46
|
-
*/
|
|
47
|
-
code: number;
|
|
48
|
-
/**
|
|
49
|
-
* The status text of the response.
|
|
50
|
-
*/
|
|
51
|
-
text: string;
|
|
52
|
-
}
|
|
53
|
-
export interface PiletFetchApiFetch {
|
|
54
|
-
/**
|
|
55
|
-
* Triggers an actual HTTP/s request.
|
|
56
|
-
* @param path The target of the fetch.
|
|
57
|
-
* @param options The options to be used.
|
|
58
|
-
* @returns The promise waiting for the response to arrive.
|
|
59
|
-
*/
|
|
60
|
-
<T = any>(path: string, options?: FetchOptions): Promise<FetchResponse<T>>;
|
|
61
|
-
}
|
|
62
|
-
export interface PiletFetchApi {
|
|
63
|
-
/**
|
|
64
|
-
* Performs an HTTP fetch operation against the given URL.
|
|
65
|
-
*/
|
|
66
|
-
fetch: PiletFetchApiFetch;
|
|
67
|
-
}
|
package/esm/types.js
DELETED
package/esm/types.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":""}
|