@mountainpass/waycharter 1.0.76 → 2.0.0
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/CHANGELOG.md +6 -0
- package/README.md +1 -1
- package/dist/action.d.ts +8 -0
- package/dist/action.js +3 -0
- package/dist/action.js.map +1 -0
- package/dist/collections/build-first-link.d.ts +12 -0
- package/dist/collections/build-first-link.js +34 -19
- package/dist/collections/build-first-link.js.map +1 -1
- package/dist/collections/build-next-link.d.ts +11 -0
- package/dist/collections/build-next-link.js +24 -15
- package/dist/collections/build-next-link.js.map +1 -1
- package/dist/collections/build-previous-link.d.ts +11 -0
- package/dist/collections/build-previous-link.js +42 -27
- package/dist/collections/build-previous-link.js.map +1 -1
- package/dist/collections/built-item-links.d.ts +16 -0
- package/dist/collections/built-item-links.js +84 -118
- package/dist/collections/built-item-links.js.map +1 -1
- package/dist/handler.d.ts +21 -0
- package/dist/handler.js +3 -0
- package/dist/handler.js.map +1 -0
- package/dist/link.d.ts +17 -0
- package/dist/link.js +3 -0
- package/dist/link.js.map +1 -0
- package/dist/method.d.ts +28 -0
- package/dist/method.js +41 -0
- package/dist/method.js.map +1 -0
- package/dist/to-links.d.ts +9 -0
- package/dist/to-links.js +77 -0
- package/dist/to-links.js.map +1 -0
- package/dist/util/array-to-lower-case.d.ts +4 -0
- package/dist/util/array-to-lower-case.js +11 -0
- package/dist/util/array-to-lower-case.js.map +1 -0
- package/dist/util/check-page.d.ts +13 -0
- package/dist/util/check-page.js +75 -0
- package/dist/util/check-page.js.map +1 -0
- package/dist/util/convert-resource-links.d.ts +7 -0
- package/dist/util/convert-resource-links.js +73 -0
- package/dist/util/convert-resource-links.js.map +1 -0
- package/dist/util/extract-path-parameters.d.ts +6 -0
- package/dist/util/extract-path-parameters.js +13 -0
- package/dist/util/extract-path-parameters.js.map +1 -0
- package/dist/util/filter-headers.d.ts +9 -0
- package/dist/util/filter-headers.js +22 -0
- package/dist/util/filter-headers.js.map +1 -0
- package/dist/util/filter-parameters.d.ts +17 -0
- package/dist/util/filter-parameters.js +87 -0
- package/dist/util/filter-parameters.js.map +1 -0
- package/dist/util/method-can-have-body.d.ts +4 -0
- package/dist/util/method-can-have-body.js +11 -0
- package/dist/util/method-can-have-body.js.map +1 -0
- package/dist/util/method-is-cacheable.d.ts +4 -0
- package/dist/util/method-is-cacheable.js +11 -0
- package/dist/util/method-is-cacheable.js.map +1 -0
- package/dist/util/router-to-rfc6570.d.ts +4 -0
- package/dist/util/router-to-rfc6570.js +4 -7
- package/dist/util/router-to-rfc6570.js.map +1 -1
- package/dist/util/unique.d.ts +4 -0
- package/dist/util/unique.js +36 -0
- package/dist/util/unique.js.map +1 -0
- package/dist/waycharter.d.ts +71 -0
- package/dist/waycharter.js +473 -306
- package/dist/waycharter.js.map +1 -1
- package/package.json +18 -39
- package/dist/convert-resource-links.js +0 -44
- package/dist/convert-resource-links.js.map +0 -1
- package/dist/method-can-have-body.js +0 -14
- package/dist/method-can-have-body.js.map +0 -1
- package/dist/method-is-cacheable.js +0 -14
- package/dist/method-is-cacheable.js.map +0 -1
- package/dist/util/logger.js +0 -47
- package/dist/util/logger.js.map +0 -1
package/dist/waycharter.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/waycharter.js"],"names":["WayCharter","constructor","router","registerResourceType","path","loader","loaderVaries","lowerCaseLoaderVaries","Set","map","header","toLowerCase","uriTemplate","get","request","response","next","filteredHeaders","Object","keys","headers","reduce","filtered","key","has","resource","params","query","url","sendResponse","rel","uri","error","console","status","json","pathTemplate","parameters","URI","expand","registerOperation","method","operation","bodyParameters","headerParameters","upperCaseMethod","toUpperCase","lowerCaseMethod","lowerCaseHeaderParameters","headerName","body","requestHeaders","requestUrl","template","Template","pathParameters","match","registerStaticResource","links","registerCollection","itemEndpoint","itemPath","itemLoader","collectionPath","collectionLoader","filters","itemType","undefined","linkTemplates","filter","push","join","type","page","otherParameters","selfUri","expandedCollectionPath","location","pageInt","Number","parseInt","isNaN","filteredParameters","parameter","arrayPointer","hasMore","itemOperations","array","pointer","itemLinks","canonicalLinks","additionalPaths","registerStaticCollection","collection","pageSize","items","slice","length","additionalLinks","toString","end"],"mappings":"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","sourcesContent":["import { Router } from 'express'\nimport { URI } from 'uri-template-lite'\nimport pointer from 'jsonpointer'\nimport { methodCanHaveBody } from './method-can-have-body'\nimport { covertResourceLinks } from './convert-resource-links'\nimport { buildFirstLink } from './collections/build-first-link'\nimport { buildPreviousLink } from './collections/build-previous-link'\nimport { buildNextLink } from './collections/build-next-link'\nimport { builtItemLinks } from './collections/built-item-links'\nimport { methodIsCacheable } from './method-is-cacheable'\nimport { routerToRfc6570 } from './util/router-to-rfc6570'\n\nexport class WayCharter {\n constructor () {\n this.router = Router()\n }\n\n registerResourceType ({ path, loader, loaderVaries }) {\n // TODO: error handling for path not set\n // TODO: error handling for loader not set\n const lowerCaseLoaderVaries = new Set(\n loaderVaries ? loaderVaries.map(header => header.toLowerCase()) : []\n )\n const uriTemplate = routerToRfc6570(path)\n this.router.get(path, async function (request, response, next) {\n const filteredHeaders = Object.keys(request.headers).reduce(\n (filtered, key) =>\n lowerCaseLoaderVaries.has(key)\n ? { ...filtered, [key]: request.headers[key] }\n : filtered,\n {}\n )\n try {\n const resource = await loader(\n { ...request.params, ...request.query },\n filteredHeaders,\n request.url,\n request,\n response\n )\n\n if (loaderVaries) {\n response.header('vary', [...lowerCaseLoaderVaries])\n }\n sendResponse(resource, response, request.url, [\n {\n rel: 'self',\n uri: request.url\n }\n ])\n } catch (error) {\n // next(error)\n console.error(error)\n response.status(500)\n response.json({})\n }\n })\n return {\n pathTemplate: uriTemplate,\n path: parameters => URI.expand(uriTemplate, parameters)\n }\n }\n\n registerOperation ({\n method,\n path,\n operation,\n bodyParameters,\n headerParameters\n }) {\n const upperCaseMethod = method.toUpperCase()\n const lowerCaseMethod = method.toLowerCase()\n const lowerCaseHeaderParameters =\n headerParameters &&\n new Set(headerParameters.map(header => header.toLowerCase()))\n this.router[lowerCaseMethod](path, async (request, response, next) => {\n try {\n let filteredHeaders = request.headers\n if (methodIsCacheable(upperCaseMethod) && headerParameters) {\n response.header('vary', [...lowerCaseHeaderParameters])\n filteredHeaders = {}\n for (const headerName in request.headers) {\n if (lowerCaseHeaderParameters.has(headerName)) {\n filteredHeaders[headerName] = request.headers[headerName]\n }\n }\n }\n\n const resource = await operation({\n parameters: {\n ...request.params,\n ...request.query,\n ...(methodCanHaveBody(upperCaseMethod) && request.body)\n },\n requestHeaders: filteredHeaders,\n requestUrl: request.url,\n request,\n response\n })\n sendResponse(resource, response, request.url)\n } catch (error) {\n // next(error)\n console.error(error)\n response.status(500)\n response.json({})\n }\n })\n const uriTemplate = routerToRfc6570(path)\n const template = new URI.Template(uriTemplate)\n const pathParameters = template.match(uriTemplate)\n return {\n method: upperCaseMethod,\n ...(methodCanHaveBody(upperCaseMethod) && { bodyParameters }),\n pathParameters,\n ...(methodIsCacheable(upperCaseMethod) && {\n headerParameters: lowerCaseHeaderParameters\n }),\n pathTemplate: uriTemplate,\n path: parameters => URI.expand(uriTemplate, parameters)\n }\n }\n\n registerStaticResource ({ path, body, links }) {\n // TODO: error handling for path not set\n // TODO: error handling for body not set\n\n return this.registerResourceType({\n path,\n loader: async () => {\n return {\n body,\n links\n }\n }\n })\n }\n\n registerCollection ({\n itemEndpoint,\n itemPath,\n itemLoader,\n collectionPath,\n collectionLoader,\n filters = []\n }) {\n // TODO: error handling for itemPath set, but itemLoader isn't and visa-versa\n // TODO: error handling if itemEndpoint is set, and itemPath or itemLoader is set\n // TODO: error handling for collectionPath not set\n // TODO: error handling for collectionLoader not set\n\n // we need to handle collectionPath being parameterised\n\n const itemType =\n itemPath !== undefined && itemLoader !== undefined\n ? this.registerResourceType({\n path: `${collectionPath}${itemPath}`,\n loader: itemLoader\n })\n : itemEndpoint\n\n const linkTemplates = []\n for (const filter of filters) {\n linkTemplates.push({\n rel: filter.rel,\n uri: `${collectionPath}{?${filter.parameters.join(',')}}`\n })\n }\n const uriTemplate = routerToRfc6570(collectionPath)\n const type = this.registerResourceType({\n path: collectionPath,\n loader: async (\n { page, ...otherParameters },\n filteredHeaders,\n selfUri,\n request,\n response\n ) => {\n const expandedCollectionPath = URI.expand(uriTemplate, request.params)\n // ${collectionPath}?page=0 should redirect to ${collectionPath}\n if (page === '0') {\n return {\n status: 308,\n headers: {\n location: expandedCollectionPath\n }\n }\n }\n\n // page should be >= 0\n const pageInt = Number.parseInt(page || '0')\n\n if (Number.isNaN(pageInt)) {\n return {\n status: 400,\n body: {\n error: \"I don't understand what page you are trying to retrieve\",\n page\n }\n }\n }\n if (page < 0) {\n return {\n status: 400,\n body: {\n error:\n \"You've asked for a negative page. I don't know what that means\",\n page\n }\n }\n }\n // we only want to include query params that are part of the filter,\n // but we can include all path params\n const filteredParameters = {}\n for (const filter of filters) {\n for (const parameter of filter.parameters) {\n if (request.query[parameter] !== undefined) {\n filteredParameters[parameter] = request.query[parameter]\n }\n }\n }\n\n const {\n body,\n arrayPointer,\n hasMore,\n headers,\n itemOperations,\n status\n } = await collectionLoader(\n {\n page: pageInt,\n ...filteredParameters,\n ...request.params\n },\n filteredHeaders,\n selfUri,\n request,\n response\n )\n const array = arrayPointer ? pointer.get(body, arrayPointer) : body\n const { itemLinks, canonicalLinks } = builtItemLinks(\n array,\n arrayPointer,\n itemType,\n selfUri,\n itemOperations\n )\n return {\n body,\n links: [\n ...itemLinks,\n ...canonicalLinks,\n ...buildNextLink(\n hasMore,\n pageInt,\n expandedCollectionPath,\n filteredParameters\n ),\n ...buildPreviousLink(\n pageInt,\n expandedCollectionPath,\n filteredParameters\n ),\n ...buildFirstLink(\n hasMore,\n pageInt,\n expandedCollectionPath,\n filteredParameters\n )\n ],\n linkTemplates,\n headers,\n status\n }\n }\n })\n return { ...type, additionalPaths: linkTemplates }\n }\n\n registerStaticCollection ({\n collectionPath,\n collection,\n pageSize,\n arrayPointer,\n headers\n }) {\n return this.registerCollection({\n collectionPath,\n collectionLoader: async ({ page }) => {\n const items = pageSize\n ? collection.slice(page * pageSize, (page + 1) * pageSize)\n : collection\n return {\n body: items,\n hasMore: pageSize && page < collection.length / pageSize - 1,\n arrayPointer,\n headers\n }\n }\n })\n }\n}\n/**\n * @param resource\n * @param response\n * @param requestUrl\n * @param additionalLinks\n */\nfunction sendResponse (resource, response, requestUrl, additionalLinks = []) {\n if (resource.links || additionalLinks.length > 0) {\n const links = covertResourceLinks([\n ...additionalLinks,\n ...(resource.links || [])\n ])\n response.header('link', links.toString())\n }\n if (resource.linkTemplates) {\n const linkTemplates = covertResourceLinks(resource.linkTemplates)\n response.header('link-template', linkTemplates.toString())\n }\n if (resource.status) {\n response.status(resource.status)\n }\n if (resource.headers) {\n for (const header in resource.headers) {\n response.header(header, resource.headers[header])\n }\n }\n if (resource.body) {\n response.json(resource.body)\n } else {\n response.end()\n }\n}\n"],"file":"waycharter.js"}
|
|
1
|
+
{"version":3,"file":"waycharter.js","sourceRoot":"","sources":["../src/waycharter.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mountainpass/waycharter",
|
|
3
|
-
"version": "
|
|
4
|
-
"description": "Express middleware creating for HATEOAS level 3 RESTful APIs
|
|
3
|
+
"version": "2.0.0",
|
|
4
|
+
"description": "Express middleware creating for HATEOAS level 3 RESTful/Hypermedia APIs",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
7
7
|
"url": "git+https://github.com/mountain-pass/waycharter.git"
|
|
@@ -30,9 +30,9 @@
|
|
|
30
30
|
"link-template-header"
|
|
31
31
|
],
|
|
32
32
|
"main": "dist/waycharter.js",
|
|
33
|
-
"
|
|
33
|
+
"types": "dist/waycharter.d.ts",
|
|
34
34
|
"engines": {
|
|
35
|
-
"node": ">=
|
|
35
|
+
"node": ">=14.17.0"
|
|
36
36
|
},
|
|
37
37
|
"config": {
|
|
38
38
|
"DEV_API_PORT": 9000,
|
|
@@ -40,15 +40,11 @@
|
|
|
40
40
|
},
|
|
41
41
|
"scripts": {
|
|
42
42
|
"env": "env",
|
|
43
|
-
"build": "
|
|
44
|
-
"build:main": "babel --delete-dir-on-start --source-maps true --verbose --ignore src/test --out-dir dist src",
|
|
43
|
+
"build": "tsc --project tsconfig.json",
|
|
45
44
|
"prepack": "npm run build",
|
|
46
|
-
"lint:sh": "shellcheck
|
|
47
|
-
"lint:standardjs": "standard --verbose",
|
|
45
|
+
"lint:sh": "shellcheck **/*.sh",
|
|
48
46
|
"lint:js": "eslint .",
|
|
49
47
|
"lint:js:fix": "npm run ${npm_lifecycle_event%:fix} -- --fix",
|
|
50
|
-
"lint:json+": "prettier --check .",
|
|
51
|
-
"lint:json+:fix": "npm run ${npm_lifecycle_event%:fix} -- --write",
|
|
52
48
|
"lint": "npm-run-all --sequential ${npm_lifecycle_event}:*",
|
|
53
49
|
"test:node-api": "scripts/test-node.sh",
|
|
54
50
|
"watch:test:node-api": "nodemon -V -x npm -- run ${npm_lifecycle_event#watch:}",
|
|
@@ -75,9 +71,11 @@
|
|
|
75
71
|
},
|
|
76
72
|
"files": [
|
|
77
73
|
"/dist/**/*.js",
|
|
74
|
+
"/dist/**/*.d.ts",
|
|
78
75
|
"/dist/**/*.js.map"
|
|
79
76
|
],
|
|
80
77
|
"dependencies": {
|
|
78
|
+
"@mountainpass/problem-document": "0.0.46",
|
|
81
79
|
"debug": "^4.2.0",
|
|
82
80
|
"http-link-header": "^1.0.3",
|
|
83
81
|
"jsonpointer": "^5.0.0",
|
|
@@ -87,32 +85,26 @@
|
|
|
87
85
|
"express": "^4.x"
|
|
88
86
|
},
|
|
89
87
|
"devDependencies": {
|
|
90
|
-
"@babel/cli": "^7.6.2",
|
|
91
|
-
"@babel/core": "^7.12.3",
|
|
92
|
-
"@babel/node": "^7.6.2",
|
|
93
|
-
"@babel/preset-env": "^7.6.2",
|
|
94
|
-
"@babel/register": "^7.7.0",
|
|
95
88
|
"@commitlint/cli": "^12.0.0",
|
|
96
89
|
"@commitlint/config-conventional": "^12.0.0",
|
|
97
90
|
"@cucumber/cucumber": "^7.0.0",
|
|
98
|
-
"@
|
|
99
|
-
"@
|
|
100
|
-
"@
|
|
101
|
-
"
|
|
102
|
-
"
|
|
103
|
-
"
|
|
104
|
-
"
|
|
91
|
+
"@mountainpass/waychaser": "^5.0.0",
|
|
92
|
+
"@types/chai": "^4.3.0",
|
|
93
|
+
"@types/cucumber": "^7.0.0",
|
|
94
|
+
"@types/express": "^4.17.13",
|
|
95
|
+
"@types/node": "^17.0.8",
|
|
96
|
+
"@types/uri-template-lite": "^19.12.1",
|
|
97
|
+
"@typescript-eslint/parser": "^5.10.1",
|
|
105
98
|
"chai": "^4.2.0",
|
|
106
99
|
"chai-as-promised": "^7.1.1",
|
|
107
100
|
"concurrently": "^6.0.0",
|
|
108
101
|
"conventional-changelog-cli": "^2.1.1",
|
|
109
102
|
"conventional-recommended-bump": "^6.1.0",
|
|
103
|
+
"cross-fetch": "^3.1.5",
|
|
110
104
|
"depcheck": "^1.2.0",
|
|
111
105
|
"dirty-chai": "^2.0.1",
|
|
112
106
|
"eslint": "^7.13.0",
|
|
113
107
|
"eslint-config-prettier": "^8.1.0",
|
|
114
|
-
"eslint-config-prettier-standard": "^4.0.0",
|
|
115
|
-
"eslint-config-standard": "^16.0.2",
|
|
116
108
|
"eslint-plugin-chai-friendly": "^0.7.1",
|
|
117
109
|
"eslint-plugin-eslint-comments": "^3.2.0",
|
|
118
110
|
"eslint-plugin-import": "^2.22.1",
|
|
@@ -142,11 +134,11 @@
|
|
|
142
134
|
"npm-run-all": "^4.1.5",
|
|
143
135
|
"nyc": "^15.1.0",
|
|
144
136
|
"prettier": "2.4.1",
|
|
145
|
-
"prettier-config-standard": "^4.0.0",
|
|
146
137
|
"shellcheck": "^1.0.0",
|
|
147
138
|
"snyk": "^1.431.1",
|
|
148
|
-
"standard": "^16.0.3",
|
|
149
139
|
"start-server-and-test": "^1.11.7",
|
|
140
|
+
"ts-node": "^10.4.0",
|
|
141
|
+
"typescript": "^4.5.5",
|
|
150
142
|
"unique-names-generator": "^4.3.1"
|
|
151
143
|
},
|
|
152
144
|
"lint-staged": {
|
|
@@ -173,18 +165,5 @@
|
|
|
173
165
|
"pre-push": "npm run pre-push",
|
|
174
166
|
"commit-msg": "commitlint -E HUSKY_GIT_PARAMS"
|
|
175
167
|
}
|
|
176
|
-
},
|
|
177
|
-
"standard": {
|
|
178
|
-
"parser": "babel-eslint",
|
|
179
|
-
"parserOptions": {
|
|
180
|
-
"sourceType": "module"
|
|
181
|
-
},
|
|
182
|
-
"plugins": [
|
|
183
|
-
"security",
|
|
184
|
-
"unicorn",
|
|
185
|
-
"promise",
|
|
186
|
-
"istanbul",
|
|
187
|
-
"jsdoc"
|
|
188
|
-
]
|
|
189
168
|
}
|
|
190
169
|
}
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.covertResourceLinks = covertResourceLinks;
|
|
7
|
-
|
|
8
|
-
var _httpLinkHeader = _interopRequireDefault(require("http-link-header"));
|
|
9
|
-
|
|
10
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
11
|
-
|
|
12
|
-
/**
|
|
13
|
-
* @param resourceLinks
|
|
14
|
-
* @param requestUrl
|
|
15
|
-
*/
|
|
16
|
-
function covertResourceLinks(resourceLinks) {
|
|
17
|
-
const links = new _httpLinkHeader.default();
|
|
18
|
-
|
|
19
|
-
for (const link of resourceLinks) {
|
|
20
|
-
const {
|
|
21
|
-
parameters: linkParameters,
|
|
22
|
-
accept,
|
|
23
|
-
uri,
|
|
24
|
-
...other
|
|
25
|
-
} = link;
|
|
26
|
-
const hasParameters = linkParameters && (Array.isArray(linkParameters) && linkParameters.length > 0 || typeof linkParameters === 'object' && Object.keys(linkParameters).length > 0);
|
|
27
|
-
links.set({ ...other,
|
|
28
|
-
uri,
|
|
29
|
-
...(hasParameters && {
|
|
30
|
-
'params*': {
|
|
31
|
-
value: JSON.stringify(linkParameters)
|
|
32
|
-
}
|
|
33
|
-
}),
|
|
34
|
-
...(accept && {
|
|
35
|
-
'accept*': {
|
|
36
|
-
value: accept
|
|
37
|
-
}
|
|
38
|
-
})
|
|
39
|
-
});
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
return links;
|
|
43
|
-
}
|
|
44
|
-
//# sourceMappingURL=convert-resource-links.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/convert-resource-links.js"],"names":["covertResourceLinks","resourceLinks","links","LinkHeader","link","parameters","linkParameters","accept","uri","other","hasParameters","Array","isArray","length","Object","keys","set","value","JSON","stringify"],"mappings":";;;;;;;AAAA;;;;AAEA;AACA;AACA;AACA;AACO,SAASA,mBAAT,CAA8BC,aAA9B,EAA6C;AAClD,QAAMC,KAAK,GAAG,IAAIC,uBAAJ,EAAd;;AACA,OAAK,MAAMC,IAAX,IAAmBH,aAAnB,EAAkC;AAChC,UAAM;AAAEI,MAAAA,UAAU,EAAEC,cAAd;AAA8BC,MAAAA,MAA9B;AAAsCC,MAAAA,GAAtC;AAA2C,SAAGC;AAA9C,QAAwDL,IAA9D;AACA,UAAMM,aAAa,GACjBJ,cAAc,KACZK,KAAK,CAACC,OAAN,CAAcN,cAAd,KAAiCA,cAAc,CAACO,MAAf,GAAwB,CAA1D,IACE,OAAOP,cAAP,KAA0B,QAA1B,IACCQ,MAAM,CAACC,IAAP,CAAYT,cAAZ,EAA4BO,MAA5B,GAAqC,CAH3B,CADhB;AAMAX,IAAAA,KAAK,CAACc,GAAN,CAAU,EACR,GAAGP,KADK;AAERD,MAAAA,GAFQ;AAGR,UAAIE,aAAa,IAAI;AACnB,mBAAW;AAAEO,UAAAA,KAAK,EAAEC,IAAI,CAACC,SAAL,CAAeb,cAAf;AAAT;AADQ,OAArB,CAHQ;AAMR,UAAIC,MAAM,IAAI;AACZ,mBAAW;AAAEU,UAAAA,KAAK,EAAEV;AAAT;AADC,OAAd;AANQ,KAAV;AAUD;;AACD,SAAOL,KAAP;AACD","sourcesContent":["import LinkHeader from 'http-link-header'\n\n/**\n * @param resourceLinks\n * @param requestUrl\n */\nexport function covertResourceLinks (resourceLinks) {\n const links = new LinkHeader()\n for (const link of resourceLinks) {\n const { parameters: linkParameters, accept, uri, ...other } = link\n const hasParameters =\n linkParameters &&\n ((Array.isArray(linkParameters) && linkParameters.length > 0) ||\n (typeof linkParameters === 'object' &&\n Object.keys(linkParameters).length > 0))\n\n links.set({\n ...other,\n uri,\n ...(hasParameters && {\n 'params*': { value: JSON.stringify(linkParameters) }\n }),\n ...(accept && {\n 'accept*': { value: accept }\n })\n })\n }\n return links\n}\n"],"file":"convert-resource-links.js"}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.methodCanHaveBody = methodCanHaveBody;
|
|
7
|
-
|
|
8
|
-
/**
|
|
9
|
-
* @param method
|
|
10
|
-
*/
|
|
11
|
-
function methodCanHaveBody(method) {
|
|
12
|
-
return !['GET', 'DELETE', 'TRACE', 'OPTIONS', 'HEAD'].includes(method);
|
|
13
|
-
}
|
|
14
|
-
//# sourceMappingURL=method-can-have-body.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/method-can-have-body.js"],"names":["methodCanHaveBody","method","includes"],"mappings":";;;;;;;AAAA;AACA;AACA;AACO,SAASA,iBAAT,CAA4BC,MAA5B,EAAoC;AACzC,SAAO,CAAC,CAAC,KAAD,EAAQ,QAAR,EAAkB,OAAlB,EAA2B,SAA3B,EAAsC,MAAtC,EAA8CC,QAA9C,CAAuDD,MAAvD,CAAR;AACD","sourcesContent":["/**\n * @param method\n */\nexport function methodCanHaveBody (method) {\n return !['GET', 'DELETE', 'TRACE', 'OPTIONS', 'HEAD'].includes(method)\n}\n"],"file":"method-can-have-body.js"}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.methodIsCacheable = methodIsCacheable;
|
|
7
|
-
|
|
8
|
-
/**
|
|
9
|
-
* @param method
|
|
10
|
-
*/
|
|
11
|
-
function methodIsCacheable(method) {
|
|
12
|
-
return ['GET', 'HEAD'].includes(method);
|
|
13
|
-
}
|
|
14
|
-
//# sourceMappingURL=method-is-cacheable.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/method-is-cacheable.js"],"names":["methodIsCacheable","method","includes"],"mappings":";;;;;;;AAAA;AACA;AACA;AACO,SAASA,iBAAT,CAA4BC,MAA5B,EAAoC;AACzC,SAAO,CAAC,KAAD,EAAQ,MAAR,EAAgBC,QAAhB,CAAyBD,MAAzB,CAAP;AACD","sourcesContent":["/**\n * @param method\n */\nexport function methodIsCacheable (method) {\n return ['GET', 'HEAD'].includes(method)\n}\n"],"file":"method-is-cacheable.js"}
|
package/dist/util/logger.js
DELETED
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.default = void 0;
|
|
7
|
-
|
|
8
|
-
const debug = require('debug');
|
|
9
|
-
|
|
10
|
-
const logger = {
|
|
11
|
-
debug: debug('debug'),
|
|
12
|
-
info: debug('info'),
|
|
13
|
-
error: debug('error'),
|
|
14
|
-
browser: debug('browser'),
|
|
15
|
-
remote: debug('remote'),
|
|
16
|
-
waychaser: debug('waychaser'),
|
|
17
|
-
test: debug('test')
|
|
18
|
-
};
|
|
19
|
-
logger.debug.log = console.log.bind(console);
|
|
20
|
-
logger.info.log = console.log.bind(console);
|
|
21
|
-
logger.error.log = console.log.bind(console);
|
|
22
|
-
logger.browser.log = console.log.bind(console);
|
|
23
|
-
logger.remote.log = console.log.bind(console);
|
|
24
|
-
logger.waychaser.log = console.log.bind(console);
|
|
25
|
-
logger.test.log = console.log.bind(console);
|
|
26
|
-
/* istanbul ignore next: not executed on CI */
|
|
27
|
-
|
|
28
|
-
if (process.env.DEBUG === undefined) {
|
|
29
|
-
debug.enable('info,error'); // debug.enable('debug,info,error,browser,remote,waychaser,test')
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
var _default = logger;
|
|
33
|
-
/*
|
|
34
|
-
import getLogger from "webpack-log";
|
|
35
|
-
const logger = {
|
|
36
|
-
debug: getLogger({ name: "debug", timestamp: true, level: "debug" }).debug,
|
|
37
|
-
info: getLogger({ name: "info", level: "debug" }).info,
|
|
38
|
-
error: getLogger({ name: "error", level: "debug" }).error,
|
|
39
|
-
browser: getLogger({ name: "browser", level: "debug" }).debug,
|
|
40
|
-
remote: getLogger({ name: "remote", level: "debug" }).debug,
|
|
41
|
-
waychaser: getLogger({ name: "waychaser", level: "debug" }).debug,
|
|
42
|
-
};
|
|
43
|
-
|
|
44
|
-
export default logger; */
|
|
45
|
-
|
|
46
|
-
exports.default = _default;
|
|
47
|
-
//# sourceMappingURL=logger.js.map
|
package/dist/util/logger.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/util/logger.js"],"names":["debug","require","logger","info","error","browser","remote","waychaser","test","log","console","bind","process","env","DEBUG","undefined","enable"],"mappings":";;;;;;;AAAA,MAAMA,KAAK,GAAGC,OAAO,CAAC,OAAD,CAArB;;AACA,MAAMC,MAAM,GAAG;AACbF,EAAAA,KAAK,EAAEA,KAAK,CAAC,OAAD,CADC;AAEbG,EAAAA,IAAI,EAAEH,KAAK,CAAC,MAAD,CAFE;AAGbI,EAAAA,KAAK,EAAEJ,KAAK,CAAC,OAAD,CAHC;AAIbK,EAAAA,OAAO,EAAEL,KAAK,CAAC,SAAD,CAJD;AAKbM,EAAAA,MAAM,EAAEN,KAAK,CAAC,QAAD,CALA;AAMbO,EAAAA,SAAS,EAAEP,KAAK,CAAC,WAAD,CANH;AAObQ,EAAAA,IAAI,EAAER,KAAK,CAAC,MAAD;AAPE,CAAf;AAUAE,MAAM,CAACF,KAAP,CAAaS,GAAb,GAAmBC,OAAO,CAACD,GAAR,CAAYE,IAAZ,CAAiBD,OAAjB,CAAnB;AACAR,MAAM,CAACC,IAAP,CAAYM,GAAZ,GAAkBC,OAAO,CAACD,GAAR,CAAYE,IAAZ,CAAiBD,OAAjB,CAAlB;AACAR,MAAM,CAACE,KAAP,CAAaK,GAAb,GAAmBC,OAAO,CAACD,GAAR,CAAYE,IAAZ,CAAiBD,OAAjB,CAAnB;AACAR,MAAM,CAACG,OAAP,CAAeI,GAAf,GAAqBC,OAAO,CAACD,GAAR,CAAYE,IAAZ,CAAiBD,OAAjB,CAArB;AACAR,MAAM,CAACI,MAAP,CAAcG,GAAd,GAAoBC,OAAO,CAACD,GAAR,CAAYE,IAAZ,CAAiBD,OAAjB,CAApB;AACAR,MAAM,CAACK,SAAP,CAAiBE,GAAjB,GAAuBC,OAAO,CAACD,GAAR,CAAYE,IAAZ,CAAiBD,OAAjB,CAAvB;AACAR,MAAM,CAACM,IAAP,CAAYC,GAAZ,GAAkBC,OAAO,CAACD,GAAR,CAAYE,IAAZ,CAAiBD,OAAjB,CAAlB;AAEA;;AACA,IAAIE,OAAO,CAACC,GAAR,CAAYC,KAAZ,KAAsBC,SAA1B,EAAqC;AACnCf,EAAAA,KAAK,CAACgB,MAAN,CAAa,YAAb,EADmC,CAEnC;AACD;;eAEcd,M;AAEf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","sourcesContent":["const debug = require('debug')\nconst logger = {\n debug: debug('debug'),\n info: debug('info'),\n error: debug('error'),\n browser: debug('browser'),\n remote: debug('remote'),\n waychaser: debug('waychaser'),\n test: debug('test')\n}\n\nlogger.debug.log = console.log.bind(console)\nlogger.info.log = console.log.bind(console)\nlogger.error.log = console.log.bind(console)\nlogger.browser.log = console.log.bind(console)\nlogger.remote.log = console.log.bind(console)\nlogger.waychaser.log = console.log.bind(console)\nlogger.test.log = console.log.bind(console)\n\n/* istanbul ignore next: not executed on CI */\nif (process.env.DEBUG === undefined) {\n debug.enable('info,error')\n // debug.enable('debug,info,error,browser,remote,waychaser,test')\n}\n\nexport default logger\n\n/*\nimport getLogger from \"webpack-log\";\nconst logger = {\n debug: getLogger({ name: \"debug\", timestamp: true, level: \"debug\" }).debug,\n info: getLogger({ name: \"info\", level: \"debug\" }).info,\n error: getLogger({ name: \"error\", level: \"debug\" }).error,\n browser: getLogger({ name: \"browser\", level: \"debug\" }).debug,\n remote: getLogger({ name: \"remote\", level: \"debug\" }).debug,\n waychaser: getLogger({ name: \"waychaser\", level: \"debug\" }).debug,\n};\n\nexport default logger; */\n"],"file":"logger.js"}
|