@mountainpass/waychaser 5.0.48 → 5.0.50
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/README.md +1 -1
- package/dist/augment-options.js +6 -3
- package/dist/augment-options.js.map +1 -1
- package/dist/expand-operation.js +7 -4
- package/dist/expand-operation.js.map +1 -1
- package/dist/handlers/hal/de-curie.js +6 -3
- package/dist/handlers/hal/de-curie.js.map +1 -1
- package/dist/handlers/hal/hal-handler.js +12 -6
- package/dist/handlers/hal/hal-handler.js.map +1 -1
- package/dist/handlers/hal/map-hal-link-to-operation.js +7 -4
- package/dist/handlers/hal/map-hal-link-to-operation.js.map +1 -1
- package/dist/handlers/link-header/link-header-handler.js +11 -5
- package/dist/handlers/link-header/link-header-handler.js.map +1 -1
- package/dist/handlers/location-header/location-header-handler.js +6 -3
- package/dist/handlers/location-header/location-header-handler.js.map +1 -1
- package/dist/handlers/siren/map-siren-action-to-operation.js +4 -1
- package/dist/handlers/siren/map-siren-action-to-operation.js.map +1 -1
- package/dist/handlers/siren/map-siren-link-to-operation.js +6 -3
- package/dist/handlers/siren/map-siren-link-to-operation.js.map +1 -1
- package/dist/handlers/siren/siren-action-handler.js +6 -3
- package/dist/handlers/siren/siren-action-handler.js.map +1 -1
- package/dist/handlers/siren/siren-handler.js +13 -7
- package/dist/handlers/siren/siren-handler.js.map +1 -1
- package/dist/handlers/siren/siren-link-handler.js +6 -3
- package/dist/handlers/siren/siren-link-handler.js.map +1 -1
- package/dist/operation-array.js +5 -1
- package/dist/operation-array.js.map +1 -1
- package/dist/operation.js +41 -33
- package/dist/operation.js.map +1 -1
- package/dist/util/media-types.js +3 -1
- package/dist/util/media-types.js.map +1 -1
- package/dist/util/method-can-have-body.js +4 -1
- package/dist/util/method-can-have-body.js.map +1 -1
- package/dist/util/parse-accept.js +4 -1
- package/dist/util/parse-accept.js.map +1 -1
- package/dist/util/parse-operations.js +6 -3
- package/dist/util/parse-operations.js.map +1 -1
- package/dist/util/preferred-content-type.js +6 -3
- package/dist/util/preferred-content-type.js.map +1 -1
- package/dist/util/uri-template-lite.js +41 -5
- package/dist/util/uri-template-lite.js.map +1 -1
- package/dist/waychaser.js +48 -37
- package/dist/waychaser.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
package/dist/augment-options.js
CHANGED
|
@@ -1,9 +1,12 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.augmentOptions = augmentOptions;
|
|
4
|
+
const waychaser_1 = require("./waychaser");
|
|
2
5
|
/**
|
|
3
6
|
* @param baseOptions
|
|
4
7
|
* @param additionalOptions
|
|
5
8
|
*/
|
|
6
|
-
|
|
9
|
+
function augmentOptions(baseOptions, additionalOptions) {
|
|
7
10
|
const { handlers: baseHandlers, defaultHandlers: baseDefaultHandlers, headers: baseHeaders, contentParser: baseContentParser, ...baseOther } = baseOptions;
|
|
8
11
|
const { handlers: additionalHandlers, defaultHandlers: additionalDefaultHandlers, headers: additionalHeaders, contentParser: additionalContentParser, ...additionalOther } = additionalOptions || {};
|
|
9
12
|
// if additional has default, don't use base default
|
|
@@ -12,7 +15,7 @@ export function augmentOptions(baseOptions, additionalOptions) {
|
|
|
12
15
|
// augment({ dh: [XXX] }, { h: [YYY], dh: [] }) => { h: [], dh: [YYY] }
|
|
13
16
|
// augment({ dh: [YYY, XXX] }, { h: [ZZZ] }) => { h: [], dh: [ZZZ, YYY, XXX] }
|
|
14
17
|
// augment({ dh: [YYY, XXX] }, { h: [ZZZ], dh: [] }) => { h: [], dh: [ZZZ] }
|
|
15
|
-
const mergedHandlers = sortHandlers([
|
|
18
|
+
const mergedHandlers = (0, waychaser_1.sortHandlers)([
|
|
16
19
|
...(additionalHandlers || baseHandlers || []),
|
|
17
20
|
...(additionalDefaultHandlers || baseDefaultHandlers || [])
|
|
18
21
|
]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"augment-options.js","sourceRoot":"","sources":["../src/augment-options.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"augment-options.js","sourceRoot":"","sources":["../src/augment-options.ts"],"names":[],"mappings":";;AAMA,wCA2CC;AAjDD,2CAA4D;AAE5D;;;GAGG;AACH,SAAgB,cAAc,CAC5B,WAA0C,EAC1C,iBAAgE;IAEhE,MAAM,EACJ,QAAQ,EAAE,YAAY,EACtB,eAAe,EAAE,mBAAmB,EACpC,OAAO,EAAE,WAAW,EACpB,aAAa,EAAE,iBAAiB,EAChC,GAAG,SAAS,EACb,GAAG,WAAW,CAAA;IACf,MAAM,EACJ,QAAQ,EAAE,kBAAkB,EAC5B,eAAe,EAAE,yBAAyB,EAC1C,OAAO,EAAE,iBAAiB,EAC1B,aAAa,EAAE,uBAAuB,EACtC,GAAG,eAAe,EACnB,GAAG,iBAAiB,IAAI,EAAE,CAAA;IAE3B,oDAAoD;IACpD,uDAAuD;IACvD,oEAAoE;IACpE,uEAAuE;IACvE,8EAA8E;IAC9E,4EAA4E;IAC5E,MAAM,cAAc,GAAG,IAAA,wBAAY,EAAC;QAClC,GAAG,CAAC,kBAAkB,IAAI,YAAY,IAAI,EAAE,CAAC;QAC7C,GAAG,CAAC,yBAAyB,IAAI,mBAAmB,IAAI,EAAE,CAAC;KAC5D,CAAC,CAAA;IAEF,MAAM,mBAAmB,GAAG,uBAAuB,CAAC,CAAC,CAAC,CAAC,QAAkB,EAAE,EAAE,CAAC,uBAAuB,CAAC,QAAQ,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAA;IAEtJ,OAAO;QACL,GAAG,SAAS;QACZ,GAAG,eAAe;QAClB,eAAe,EAAE,cAAc;QAC/B,QAAQ,EAAE,EAAE;QACZ,OAAO,EAAE;YACP,GAAG,WAAW;YACd,GAAG,iBAAiB;SACrB;QACD,aAAa,EAAE,mBAAmB;KACnC,CAAA;AACH,CAAC"}
|
package/dist/expand-operation.js
CHANGED
|
@@ -1,15 +1,18 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.expandOperation = expandOperation;
|
|
4
|
+
const operation_1 = require("./operation");
|
|
2
5
|
/**
|
|
3
6
|
* @param operation
|
|
4
7
|
*/
|
|
5
|
-
|
|
8
|
+
function expandOperation(operation) {
|
|
6
9
|
const expandedOperations = [];
|
|
7
10
|
const rangeRegex = /{\[(\d+)..(\d+)]}/;
|
|
8
11
|
const originalUrl = operation.uri.toString();
|
|
9
12
|
const matches = originalUrl.match(rangeRegex);
|
|
10
13
|
if (matches) {
|
|
11
14
|
for (let index = Number.parseInt(matches[1]); index <= Number.parseInt(matches[2]); ++index) {
|
|
12
|
-
const newOp = new Operation(Object.assign(operation, {
|
|
15
|
+
const newOp = new operation_1.Operation(Object.assign(operation, {
|
|
13
16
|
uri: originalUrl.replace(rangeRegex, index.toFixed(0))
|
|
14
17
|
}));
|
|
15
18
|
const thisExpandedOperations = expandOperation(newOp);
|
|
@@ -24,7 +27,7 @@ export function expandOperation(operation) {
|
|
|
24
27
|
if (originalAnchor &&
|
|
25
28
|
anchorMatches) {
|
|
26
29
|
for (let index = Number.parseInt(anchorMatches[1]); index <= Number.parseInt(anchorMatches[2]); ++index) {
|
|
27
|
-
const newOp = new Operation(Object.assign(operation, {
|
|
30
|
+
const newOp = new operation_1.Operation(Object.assign(operation, {
|
|
28
31
|
anchor: originalAnchor.replace(rangeRegex, index.toFixed(0))
|
|
29
32
|
}));
|
|
30
33
|
const thisExpandedOperations = expandOperation(newOp);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"expand-operation.js","sourceRoot":"","sources":["../src/expand-operation.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"expand-operation.js","sourceRoot":"","sources":["../src/expand-operation.ts"],"names":[],"mappings":";;AAKA,0CA8CC;AAnDD,2CAAuC;AAEvC;;GAEG;AACH,SAAgB,eAAe,CAAE,SAAoB;IACnD,MAAM,kBAAkB,GAAgB,EAAE,CAAA;IAC1C,MAAM,UAAU,GAAG,mBAAmB,CAAA;IACtC,MAAM,WAAW,GAAG,SAAS,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAA;IAC5C,MAAM,OAAO,GAAG,WAAW,CAAC,KAAK,CAAC,UAAU,CAAC,CAAA;IAC7C,IAAI,OAAO,EAAE,CAAC;QACZ,KACE,IAAI,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EACvC,KAAK,IAAI,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EACpC,EAAE,KAAK,EACP,CAAC;YACD,MAAM,KAAK,GAAG,IAAI,qBAAS,CACzB,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE;gBACvB,GAAG,EAAE,WAAW,CAAC,OAAO,CAAC,UAAU,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;aACvD,CAAC,CACH,CAAA;YACD,MAAM,sBAAsB,GAAG,eAAe,CAAC,KAAK,CAAC,CAAA;YACrD,KAAK,MAAM,SAAS,IAAI,sBAAsB,EAAE,CAAC;gBAC/C,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;YACpC,CAAC;QACH,CAAC;IACH,CAAC;SAAM,CAAC;QACN,MAAM,cAAc,GAAG,SAAS,CAAC,MAAM,CAAA;QACvC,MAAM,aAAa,GAAG,cAAc,EAAE,KAAK,CAAC,UAAU,CAAC,CAAA;QACvD,IAAI,cAAc;YAChB,aAAa,EAAE,CAAC;YAChB,KACE,IAAI,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAC7C,KAAK,IAAI,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAC1C,EAAE,KAAK,EACP,CAAC;gBACD,MAAM,KAAK,GAAG,IAAI,qBAAS,CACzB,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE;oBACvB,MAAM,EAAE,cAAc,CAAC,OAAO,CAAC,UAAU,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;iBAC7D,CAAC,CACH,CAAA;gBACD,MAAM,sBAAsB,GAAG,eAAe,CAAC,KAAK,CAAC,CAAA;gBACrD,KAAK,MAAM,SAAS,IAAI,sBAAsB,EAAE,CAAC;oBAC/C,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;gBACpC,CAAC;YACH,CAAC;QACH,CAAC;aAAM,CAAC;YACN,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;QACpC,CAAC;IACH,CAAC;IACD,OAAO,kBAAkB,CAAA;AAC3B,CAAC"}
|
|
@@ -1,4 +1,7 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.deCurie = deCurie;
|
|
4
|
+
const uri_template_lite_1 = require("../../util/uri-template-lite");
|
|
2
5
|
/**
|
|
3
6
|
* @param relationship
|
|
4
7
|
* @param curies
|
|
@@ -7,7 +10,7 @@ import { URI } from '../../util/uri-template-lite';
|
|
|
7
10
|
* @param relationship
|
|
8
11
|
* @param curies
|
|
9
12
|
*/
|
|
10
|
-
|
|
13
|
+
function deCurie(relationship, curies) {
|
|
11
14
|
// we can either look in the rel for ':' and try to convert if it exists, but then we'll be trying to covert almost
|
|
12
15
|
// everything because none standard rels typically start with 'http:' or 'https:'.
|
|
13
16
|
// otherwise we can iterate over all the curies and try to replace. Seems inefficient.
|
|
@@ -19,7 +22,7 @@ export function deCurie(relationship, curies) {
|
|
|
19
22
|
if (splitRelationship.length > 1) {
|
|
20
23
|
const [curieName, curieRemainder] = splitRelationship;
|
|
21
24
|
const rval = curies[curieName]
|
|
22
|
-
? URI.expand(curies[curieName], { rel: curieRemainder })
|
|
25
|
+
? uri_template_lite_1.URI.expand(curies[curieName], { rel: curieRemainder })
|
|
23
26
|
: relationship;
|
|
24
27
|
return rval;
|
|
25
28
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"de-curie.js","sourceRoot":"","sources":["../../../src/handlers/hal/de-curie.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"de-curie.js","sourceRoot":"","sources":["../../../src/handlers/hal/de-curie.js"],"names":[],"mappings":";;AAWA,0BAkBC;AA7BD,oEAAkD;AAElD;;;GAGG;AAEH;;;GAGG;AACH,SAAgB,OAAO,CAAE,YAAY,EAAE,MAAM;IAC3C,mHAAmH;IACnH,kFAAkF;IAClF,sFAAsF;IACtF,+BAA+B;IAC/B,6FAA6F;IAC7F,oFAAoF;IACpF,kGAAkG;IAClG,MAAM,iBAAiB,GAAG,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;IACrD,IAAI,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACjC,MAAM,CAAC,SAAS,EAAE,cAAc,CAAC,GAAG,iBAAiB,CAAA;QACrD,MAAM,IAAI,GAAG,MAAM,CAAC,SAAS,CAAC;YAC5B,CAAC,CAAC,uBAAG,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,EAAE,GAAG,EAAE,cAAc,EAAE,CAAC;YACxD,CAAC,CAAC,YAAY,CAAA;QAChB,OAAO,IAAI,CAAA;IACb,CAAC;SAAM,CAAC;QACN,OAAO,YAAY,CAAA;IACrB,CAAC;AACH,CAAC"}
|
|
@@ -1,13 +1,19 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.halHandler = halHandler;
|
|
7
|
+
const media_types_1 = __importDefault(require("../../util/media-types"));
|
|
8
|
+
const map_hal_link_to_operation_1 = require("./map-hal-link-to-operation");
|
|
3
9
|
/**
|
|
4
10
|
* @param response
|
|
5
11
|
* @param content
|
|
6
12
|
*/
|
|
7
|
-
|
|
13
|
+
function halHandler(response, content) {
|
|
8
14
|
const operations = [];
|
|
9
15
|
const contentType = response.headers.get('content-type')?.split(';');
|
|
10
|
-
if (contentType?.[0] ===
|
|
16
|
+
if (contentType?.[0] === media_types_1.default.HAL &&
|
|
11
17
|
content &&
|
|
12
18
|
typeof content === 'object' &&
|
|
13
19
|
'_links' in content) {
|
|
@@ -28,11 +34,11 @@ export function halHandler(response, content) {
|
|
|
28
34
|
for (const key of Object.keys(body._links).filter(relationship => relationship !== 'curies')) {
|
|
29
35
|
if (Array.isArray(body._links[key])) {
|
|
30
36
|
for (const link of body._links[key]) {
|
|
31
|
-
operations.push(mapHalLinkToOperation(key, link, curies));
|
|
37
|
+
operations.push((0, map_hal_link_to_operation_1.mapHalLinkToOperation)(key, link, curies));
|
|
32
38
|
}
|
|
33
39
|
}
|
|
34
40
|
else {
|
|
35
|
-
operations.push(mapHalLinkToOperation(key, body._links[key], curies));
|
|
41
|
+
operations.push((0, map_hal_link_to_operation_1.mapHalLinkToOperation)(key, body._links[key], curies));
|
|
36
42
|
}
|
|
37
43
|
}
|
|
38
44
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hal-handler.js","sourceRoot":"","sources":["../../../src/handlers/hal/hal-handler.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"hal-handler.js","sourceRoot":"","sources":["../../../src/handlers/hal/hal-handler.ts"],"names":[],"mappings":";;;;;AAgBA,gCA4CC;AA3DD,yEAA+C;AAC/C,2EAAmE;AAUnE;;;GAGG;AACH,SAAgB,UAAU,CACxB,QAAkB,EAClB,OAAiB;IAEjB,MAAM,UAAU,GAAqB,EAAE,CAAA;IACvC,MAAM,WAAW,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAA;IACpE,IACE,WAAW,EAAE,CAAC,CAAC,CAAC,KAAK,qBAAU,CAAC,GAAG;QACnC,OAAO;QACP,OAAO,OAAO,KAAK,QAAQ;QAC3B,QAAQ,IAAI,OAAO,EACnB,CAAC;QACD,MAAM,IAAI,GAAG,OAOZ,CAAA;QAED,iHAAiH;QACjH,yDAAyD;QACzD,MAAM,MAAM,GAAG,EAAE,CAAA;QACjB,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;YACvB,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;gBACtC,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;oBACvC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,IAAI,CAAA;gBACjC,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAA;YAC3D,CAAC;QACH,CAAC;QACD,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC,YAAY,KAAK,QAAQ,CAAC,EAAE,CAAC;YAC7F,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;gBACpC,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAmB,EAAE,CAAC;oBACtD,UAAU,CAAC,IAAI,CAAC,IAAA,iDAAqB,EAAC,GAAG,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAA;gBAC3D,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,UAAU,CAAC,IAAI,CAAC,IAAA,iDAAqB,EAAC,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,CAAC,CAAA;YACvE,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,UAAU,CAAA;AACnB,CAAC"}
|
|
@@ -1,14 +1,17 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.mapHalLinkToOperation = mapHalLinkToOperation;
|
|
4
|
+
const operation_1 = require("../../operation");
|
|
5
|
+
const de_curie_1 = require("./de-curie");
|
|
3
6
|
/**
|
|
4
7
|
* @param relationship
|
|
5
8
|
* @param link
|
|
6
9
|
* @param curies
|
|
7
10
|
*/
|
|
8
|
-
|
|
11
|
+
function mapHalLinkToOperation(relationship, link, curies) {
|
|
9
12
|
// we don't need to copy `templated` across, because when we invoke an operation, we always
|
|
10
13
|
// assume it's a template and expand it with the passed parameters
|
|
11
14
|
const { href, templated: _templated, ...otherProperties } = link;
|
|
12
|
-
return new Operation({ rel: deCurie(relationship, curies), uri: href, ...otherProperties });
|
|
15
|
+
return new operation_1.Operation({ rel: (0, de_curie_1.deCurie)(relationship, curies), uri: href, ...otherProperties });
|
|
13
16
|
}
|
|
14
17
|
//# sourceMappingURL=map-hal-link-to-operation.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"map-hal-link-to-operation.js","sourceRoot":"","sources":["../../../src/handlers/hal/map-hal-link-to-operation.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"map-hal-link-to-operation.js","sourceRoot":"","sources":["../../../src/handlers/hal/map-hal-link-to-operation.js"],"names":[],"mappings":";;AAQA,sDAKC;AAbD,+CAA2C;AAC3C,yCAAoC;AAEpC;;;;GAIG;AACH,SAAgB,qBAAqB,CAAC,YAAY,EAAE,IAAI,EAAE,MAAM;IAC9D,2FAA2F;IAC3F,kEAAkE;IAClE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,GAAG,eAAe,EAAE,GAAG,IAAI,CAAA;IAChE,OAAO,IAAI,qBAAS,CAAC,EAAE,GAAG,EAAE,IAAA,kBAAO,EAAC,YAAY,EAAE,MAAM,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,eAAe,EAAE,CAAC,CAAA;AAC7F,CAAC"}
|
|
@@ -1,11 +1,17 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.linkHeaderHandler = linkHeaderHandler;
|
|
7
|
+
const http_link_header_1 = __importDefault(require("http-link-header"));
|
|
8
|
+
const operation_1 = require("../../operation");
|
|
3
9
|
/**
|
|
4
10
|
* @param response
|
|
5
11
|
* @param content
|
|
6
12
|
* @param stopper
|
|
7
13
|
*/
|
|
8
|
-
|
|
14
|
+
function linkHeaderHandler(response, _content, _stopper) {
|
|
9
15
|
return [
|
|
10
16
|
...parseHeader(response.headers.get('link')),
|
|
11
17
|
...parseHeader(response.headers.get('link-template'))
|
|
@@ -16,13 +22,13 @@ export function linkHeaderHandler(response, _content, _stopper) {
|
|
|
16
22
|
*/
|
|
17
23
|
function parseHeader(linkHeader) {
|
|
18
24
|
if (linkHeader) {
|
|
19
|
-
const links =
|
|
25
|
+
const links = http_link_header_1.default.parse(linkHeader);
|
|
20
26
|
return links.refs.map(reference => {
|
|
21
27
|
const { rel, uri, method, 'accept*': accept, 'params*': parameters, ...otherProperties } = reference;
|
|
22
28
|
const parsedParameters = parameters?.value
|
|
23
29
|
? JSON.parse(parameters?.value)
|
|
24
30
|
: undefined;
|
|
25
|
-
return new Operation({
|
|
31
|
+
return new operation_1.Operation({
|
|
26
32
|
rel,
|
|
27
33
|
uri,
|
|
28
34
|
method,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"link-header-handler.js","sourceRoot":"","sources":["../../../src/handlers/link-header/link-header-handler.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"link-header-handler.js","sourceRoot":"","sources":["../../../src/handlers/link-header/link-header-handler.ts"],"names":[],"mappings":";;;;;AAQA,8CASC;AAjBD,wEAAyC;AACzC,+CAA2C;AAE3C;;;;GAIG;AACH,SAAgB,iBAAiB,CAC/B,QAAkB,EAClB,QAAkB,EAClB,QAAqB;IAErB,OAAO;QACL,GAAG,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC5C,GAAG,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;KACtD,CAAA;AACH,CAAC;AAED;;GAEG;AACH,SAAS,WAAW,CAAC,UAAyB;IAC5C,IAAI,UAAU,EAAE,CAAC;QACf,MAAM,KAAK,GAAG,0BAAU,CAAC,KAAK,CAAC,UAAU,CAAC,CAAA;QAC1C,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE;YAChC,MAAM,EACJ,GAAG,EACH,GAAG,EACH,MAAM,EACN,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,UAAU,EACrB,GAAG,eAAe,EACnB,GAAG,SAAS,CAAA;YACb,MAAM,gBAAgB,GAAG,UAAU,EAAE,KAAK;gBACxC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC;gBAC/B,CAAC,CAAC,SAAS,CAAA;YACb,OAAO,IAAI,qBAAS,CAAC;gBACnB,GAAG;gBACH,GAAG;gBACH,MAAM;gBACN,UAAU,EAAE,gBAAgB;gBAC5B,MAAM,EAAE,MAAM,EAAE,KAAK;gBACrB,GAAG,eAAe;aACnB,CAAC,CAAA;QACJ,CAAC,CAAC,CAAA;IACJ,CAAC;SAAM,CAAC;QACN,OAAO,EAAE,CAAA;IACX,CAAC;AACH,CAAC"}
|
|
@@ -1,11 +1,14 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.locationHeaderHandler = locationHeaderHandler;
|
|
4
|
+
const operation_1 = require("../../operation");
|
|
2
5
|
/**
|
|
3
6
|
* @param response
|
|
4
7
|
*/
|
|
5
|
-
|
|
8
|
+
function locationHeaderHandler(response) {
|
|
6
9
|
const locationHeader = response?.headers.get('location');
|
|
7
10
|
if (locationHeader) {
|
|
8
|
-
return [new Operation({ rel: 'related', uri: locationHeader })];
|
|
11
|
+
return [new operation_1.Operation({ rel: 'related', uri: locationHeader })];
|
|
9
12
|
}
|
|
10
13
|
return [];
|
|
11
14
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"location-header-handler.js","sourceRoot":"","sources":["../../../src/handlers/location-header/location-header-handler.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"location-header-handler.js","sourceRoot":"","sources":["../../../src/handlers/location-header/location-header-handler.ts"],"names":[],"mappings":";;AAKA,sDAQC;AAbD,+CAA2C;AAE3C;;GAEG;AACH,SAAgB,qBAAqB,CACnC,QAAkB;IAElB,MAAM,cAAc,GAAG,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;IACxD,IAAI,cAAc,EAAE,CAAC;QACnB,OAAO,CAAC,IAAI,qBAAS,CAAC,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,cAAc,EAAE,CAAC,CAAC,CAAA;IACjE,CAAC;IACD,OAAO,EAAE,CAAA;AACX,CAAC"}
|
|
@@ -1,8 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.mapSirenActionToOperation = mapSirenActionToOperation;
|
|
1
4
|
/**
|
|
2
5
|
* @param {object} action the siren action to map
|
|
3
6
|
* @returns {object} the link objection that the @{param action} maps to
|
|
4
7
|
*/
|
|
5
|
-
|
|
8
|
+
function mapSirenActionToOperation(action) {
|
|
6
9
|
const { name, href, fields, type, ...otherProperties } = action;
|
|
7
10
|
const bodyParameters = {};
|
|
8
11
|
if (fields) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"map-siren-action-to-operation.js","sourceRoot":"","sources":["../../../src/handlers/siren/map-siren-action-to-operation.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"map-siren-action-to-operation.js","sourceRoot":"","sources":["../../../src/handlers/siren/map-siren-action-to-operation.ts"],"names":[],"mappings":";;AAMA,8DAeC;AAnBD;;;GAGG;AACH,SAAgB,yBAAyB,CAAC,MAAM;IAC9C,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,eAAe,EAAE,GAAG,MAAM,CAAA;IAC/D,MAAM,cAAc,GAAG,EAAE,CAAA;IACzB,IAAI,MAAM,EAAE,CAAC;QACX,KAAK,MAAM,SAAS,IAAI,MAAM,EAAE,CAAC;YAC/B,cAAc,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,CAAA;QACrC,CAAC;IACH,CAAC;IACD,OAAO;QACL,GAAG,EAAE,IAAI;QACT,GAAG,EAAE,IAAI;QACT,MAAM,EAAE,IAAI;QACZ,UAAU,EAAE,MAAM,IAAI,cAAc;QACpC,GAAG,eAAe;KACnB,CAAA;AACH,CAAC"}
|
|
@@ -1,17 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
1
2
|
/**
|
|
2
3
|
* @param relationship
|
|
3
4
|
* @param link
|
|
4
5
|
*/
|
|
5
|
-
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
exports.mapSirenLinkToOperation = mapSirenLinkToOperation;
|
|
8
|
+
const operation_1 = require("../../operation");
|
|
6
9
|
/**
|
|
7
10
|
* @param relationship
|
|
8
11
|
* @param link
|
|
9
12
|
*/
|
|
10
|
-
|
|
13
|
+
function mapSirenLinkToOperation(relationship, link) {
|
|
11
14
|
// we don't need to copy `rel` across, because we already have that from the {@param relationship}.
|
|
12
15
|
// Also `rel` in `link` is an array, which is not what we're after.
|
|
13
16
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
14
17
|
const { href, rel, ...otherProperties } = link;
|
|
15
|
-
return new Operation({ rel: relationship, uri: href, ...otherProperties });
|
|
18
|
+
return new operation_1.Operation({ rel: relationship, uri: href, ...otherProperties });
|
|
16
19
|
}
|
|
17
20
|
//# sourceMappingURL=map-siren-link-to-operation.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"map-siren-link-to-operation.js","sourceRoot":"","sources":["../../../src/handlers/siren/map-siren-link-to-operation.ts"],"names":[],"mappings":"AAAA;;;GAGG
|
|
1
|
+
{"version":3,"file":"map-siren-link-to-operation.js","sourceRoot":"","sources":["../../../src/handlers/siren/map-siren-link-to-operation.ts"],"names":[],"mappings":";AAAA;;;GAGG;;AAQH,0DAMC;AAZD,+CAA2C;AAE3C;;;GAGG;AACH,SAAgB,uBAAuB,CAAC,YAAoB,EAAE,IAA6D;IACzH,mGAAmG;IACnG,mEAAmE;IACnE,6DAA6D;IAC7D,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,eAAe,EAAE,GAAG,IAAI,CAAA;IAC9C,OAAO,IAAI,qBAAS,CAAC,EAAE,GAAG,EAAE,YAAY,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,eAAe,EAAE,CAAC,CAAA;AAC5E,CAAC"}
|
|
@@ -1,8 +1,11 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.sirenActionHandler = sirenActionHandler;
|
|
4
|
+
const map_siren_action_to_operation_1 = require("./map-siren-action-to-operation");
|
|
2
5
|
/**
|
|
3
6
|
* @param content
|
|
4
7
|
*/
|
|
5
|
-
|
|
8
|
+
function sirenActionHandler(content) {
|
|
6
9
|
const operations = [];
|
|
7
10
|
if (content &&
|
|
8
11
|
typeof content === 'object' &&
|
|
@@ -10,7 +13,7 @@ export function sirenActionHandler(content) {
|
|
|
10
13
|
const body = content;
|
|
11
14
|
if (body.actions) {
|
|
12
15
|
for (const action of body.actions) {
|
|
13
|
-
const operation = mapSirenActionToOperation(action);
|
|
16
|
+
const operation = (0, map_siren_action_to_operation_1.mapSirenActionToOperation)(action);
|
|
14
17
|
operations.push(operation);
|
|
15
18
|
}
|
|
16
19
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"siren-action-handler.js","sourceRoot":"","sources":["../../../src/handlers/siren/siren-action-handler.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"siren-action-handler.js","sourceRoot":"","sources":["../../../src/handlers/siren/siren-action-handler.ts"],"names":[],"mappings":";;AAMA,gDAkBC;AAvBD,mFAA2E;AAE3E;;GAEG;AACH,SAAgB,kBAAkB,CAAC,OAAiB;IAClD,MAAM,UAAU,GAAqB,EAAE,CAAA;IACvC,IACE,OAAO;QACP,OAAO,OAAO,KAAK,QAAQ;QAC3B,SAAS,IAAI,OAAO,EACpB,CAAC;QACD,MAAM,IAAI,GAAG,OAEZ,CAAA;QACD,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;gBAClC,MAAM,SAAS,GAAG,IAAA,yDAAyB,EAAC,MAAM,CAAC,CAAA;gBACnD,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;YAC5B,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,UAAU,CAAA;AACnB,CAAC"}
|
|
@@ -1,16 +1,22 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.sirenHandler = sirenHandler;
|
|
7
|
+
const media_types_1 = __importDefault(require("../../util/media-types"));
|
|
8
|
+
const siren_action_handler_1 = require("./siren-action-handler");
|
|
9
|
+
const siren_link_handler_1 = require("./siren-link-handler");
|
|
4
10
|
/**
|
|
5
11
|
* @param response
|
|
6
12
|
* @param content
|
|
7
13
|
*/
|
|
8
|
-
|
|
14
|
+
function sirenHandler(response, content) {
|
|
9
15
|
const contentType = response.headers.get('content-type')?.split(';');
|
|
10
|
-
if (contentType?.[0] ===
|
|
16
|
+
if (contentType?.[0] === media_types_1.default.SIREN) {
|
|
11
17
|
return [
|
|
12
|
-
...(sirenLinkHandler(content)),
|
|
13
|
-
...(sirenActionHandler(content))
|
|
18
|
+
...((0, siren_link_handler_1.sirenLinkHandler)(content)),
|
|
19
|
+
...((0, siren_action_handler_1.sirenActionHandler)(content))
|
|
14
20
|
];
|
|
15
21
|
}
|
|
16
22
|
return [];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"siren-handler.js","sourceRoot":"","sources":["../../../src/handlers/siren/siren-handler.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"siren-handler.js","sourceRoot":"","sources":["../../../src/handlers/siren/siren-handler.ts"],"names":[],"mappings":";;;;;AASA,oCAWC;AAnBD,yEAA+C;AAC/C,iEAA2D;AAC3D,6DAAuD;AAEvD;;;GAGG;AACH,SAAgB,YAAY,CAC1B,QAAkB,EAClB,OAAiB;IACjB,MAAM,WAAW,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAA;IACpE,IAAI,WAAW,EAAE,CAAC,CAAC,CAAC,KAAK,qBAAU,CAAC,KAAK,EAAE,CAAC;QAC1C,OAAO;YACL,GAAG,CAAC,IAAA,qCAAgB,EAAC,OAAO,CAAC,CAAC;YAC9B,GAAG,CAAC,IAAA,yCAAkB,EAAC,OAAO,CAAC,CAAC;SACjC,CAAA;IACH,CAAC;IACD,OAAO,EAAE,CAAA;AACX,CAAC"}
|
|
@@ -1,9 +1,12 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.sirenLinkHandler = sirenLinkHandler;
|
|
4
|
+
const map_siren_link_to_operation_1 = require("./map-siren-link-to-operation");
|
|
2
5
|
/**
|
|
3
6
|
* @param response
|
|
4
7
|
* @param content
|
|
5
8
|
*/
|
|
6
|
-
|
|
9
|
+
function sirenLinkHandler(content) {
|
|
7
10
|
const operations = [];
|
|
8
11
|
if (content &&
|
|
9
12
|
typeof content === 'object' &&
|
|
@@ -12,7 +15,7 @@ export function sirenLinkHandler(content) {
|
|
|
12
15
|
if (body.links) {
|
|
13
16
|
for (const link of body.links) {
|
|
14
17
|
for (const relationship of link.rel) {
|
|
15
|
-
const mappedLink = mapSirenLinkToOperation(relationship, link);
|
|
18
|
+
const mappedLink = (0, map_siren_link_to_operation_1.mapSirenLinkToOperation)(relationship, link);
|
|
16
19
|
operations.push(mappedLink);
|
|
17
20
|
}
|
|
18
21
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"siren-link-handler.js","sourceRoot":"","sources":["../../../src/handlers/siren/siren-link-handler.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"siren-link-handler.js","sourceRoot":"","sources":["../../../src/handlers/siren/siren-link-handler.ts"],"names":[],"mappings":";;AAOA,4CAqBC;AA3BD,+EAAuE;AAEvE;;;GAGG;AACH,SAAgB,gBAAgB,CAC9B,OAAiB;IACjB,MAAM,UAAU,GAAqB,EAAE,CAAA;IACvC,IACE,OAAO;QACP,OAAO,OAAO,KAAK,QAAQ;QAC3B,OAAO,IAAI,OAAO,EAClB,CAAC;QACD,MAAM,IAAI,GAAG,OAEZ,CAAA;QACD,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACf,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;gBAC9B,KAAK,MAAM,YAAY,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;oBACpC,MAAM,UAAU,GAAG,IAAA,qDAAuB,EAAC,YAAY,EAAE,IAAI,CAAC,CAAA;oBAC9D,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;gBAC7B,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,UAAU,CAAA;AACnB,CAAC"}
|
package/dist/operation-array.js
CHANGED
|
@@ -1,6 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.OperationArray = void 0;
|
|
1
4
|
// const foo: Array<InvocableOperation> = []
|
|
2
5
|
// foo.filter())
|
|
3
|
-
|
|
6
|
+
class OperationArray extends Array {
|
|
4
7
|
constructor(items) {
|
|
5
8
|
super();
|
|
6
9
|
if (items)
|
|
@@ -49,6 +52,7 @@ export class OperationArray extends Array {
|
|
|
49
52
|
});
|
|
50
53
|
}
|
|
51
54
|
}
|
|
55
|
+
exports.OperationArray = OperationArray;
|
|
52
56
|
// ideally we'd just subclass Array, and that works most of the time, BUT sometimes in firefox, instead of it
|
|
53
57
|
// giving us an ObjectArray, we get a plain old Array, without our invoke method or customised find method.
|
|
54
58
|
// FU JavaScript, FU.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"operation-array.js","sourceRoot":"","sources":["../src/operation-array.ts"],"names":[],"mappings":"AAGA,4CAA4C;AAC5C,gBAAgB;AAEhB,
|
|
1
|
+
{"version":3,"file":"operation-array.js","sourceRoot":"","sources":["../src/operation-array.ts"],"names":[],"mappings":"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"}
|
package/dist/operation.js
CHANGED
|
@@ -1,13 +1,19 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.InvocableOperation = exports.Operation = void 0;
|
|
7
|
+
const uri_template_lite_1 = require("./util/uri-template-lite");
|
|
8
|
+
const qs_stringify_1 = __importDefault(require("qs-stringify"));
|
|
9
|
+
const form_data_1 = __importDefault(require("form-data"));
|
|
10
|
+
const preferred_content_type_1 = require("./util/preferred-content-type");
|
|
11
|
+
const flat_1 = require("flat");
|
|
12
|
+
const waychaser_1 = require("./waychaser");
|
|
13
|
+
const jsonpointer_1 = __importDefault(require("jsonpointer"));
|
|
14
|
+
const method_can_have_body_1 = require("./util/method-can-have-body");
|
|
15
|
+
const problem_document_1 = require("@mountainpass/problem-document");
|
|
16
|
+
class Operation {
|
|
11
17
|
constructor({ rel, uri, method, parameters, accept, anchor, ...otherProperties }) {
|
|
12
18
|
this.rel = rel;
|
|
13
19
|
this.uri = uri;
|
|
@@ -18,13 +24,14 @@ export class Operation {
|
|
|
18
24
|
Object.assign(this, otherProperties);
|
|
19
25
|
}
|
|
20
26
|
}
|
|
21
|
-
|
|
27
|
+
exports.Operation = Operation;
|
|
28
|
+
class InvocableOperation extends Operation {
|
|
22
29
|
constructor(operation, response, defaultOptions, thisContext) {
|
|
23
30
|
super(operation);
|
|
24
31
|
this.response = response;
|
|
25
32
|
this.defaultOptions = defaultOptions;
|
|
26
33
|
if (this.uri.includes('{this.')) {
|
|
27
|
-
this.uri = URI.expand(this.uri, thisContext);
|
|
34
|
+
this.uri = uri_template_lite_1.URI.expand(this.uri, thisContext);
|
|
28
35
|
}
|
|
29
36
|
// const pathParameters = URI.parameters(operation.uri)
|
|
30
37
|
// for (const key in pathParameters) {
|
|
@@ -34,29 +41,29 @@ export class InvocableOperation extends Operation {
|
|
|
34
41
|
invokeAsFragment(parameters, validator) {
|
|
35
42
|
if (this.uri.startsWith('#/')) {
|
|
36
43
|
const anchor = this.expandUrl(parameters).toString();
|
|
37
|
-
const fragmentContent = this.response.fullContent &&
|
|
44
|
+
const fragmentContent = this.response.fullContent && jsonpointer_1.default.get(this.response.fullContent, anchor.slice(1));
|
|
38
45
|
if (fragmentContent === undefined) {
|
|
39
46
|
return undefined;
|
|
40
47
|
}
|
|
41
48
|
if (validator) {
|
|
42
49
|
const validationResult = validator(fragmentContent);
|
|
43
|
-
if (isValidationSuccess(validationResult)) {
|
|
44
|
-
return new WayChaserResponse({ defaultOptions: this.defaultOptions, baseResponse: this.response.response, content: validationResult.content, fullContent: this.response.fullContent, anchor, parentOperations: this.response.allOperations, parameters });
|
|
50
|
+
if ((0, waychaser_1.isValidationSuccess)(validationResult)) {
|
|
51
|
+
return new waychaser_1.WayChaserResponse({ defaultOptions: this.defaultOptions, baseResponse: this.response.response, content: validationResult.content, fullContent: this.response.fullContent, anchor, parentOperations: this.response.allOperations, parameters });
|
|
45
52
|
}
|
|
46
53
|
else {
|
|
47
|
-
throw new WayChaserProblem({
|
|
54
|
+
throw new waychaser_1.WayChaserProblem({
|
|
48
55
|
problem: validationResult.problem,
|
|
49
|
-
response: new WayChaserResponse({ defaultOptions: this.defaultOptions, baseResponse: this.response.response, content: fragmentContent, fullContent: this.response.fullContent, parameters })
|
|
56
|
+
response: new waychaser_1.WayChaserResponse({ defaultOptions: this.defaultOptions, baseResponse: this.response.response, content: fragmentContent, fullContent: this.response.fullContent, parameters })
|
|
50
57
|
});
|
|
51
58
|
}
|
|
52
59
|
}
|
|
53
60
|
else {
|
|
54
|
-
return new WayChaserResponse({ defaultOptions: this.defaultOptions, baseResponse: this.response.response, content: fragmentContent, fullContent: this.response.fullContent, anchor, parentOperations: this.response.allOperations, parameters });
|
|
61
|
+
return new waychaser_1.WayChaserResponse({ defaultOptions: this.defaultOptions, baseResponse: this.response.response, content: fragmentContent, fullContent: this.response.fullContent, anchor, parentOperations: this.response.allOperations, parameters });
|
|
55
62
|
}
|
|
56
63
|
}
|
|
57
64
|
}
|
|
58
65
|
async invokeAll(options) {
|
|
59
|
-
if (this.uri.startsWith('#/') && this.response instanceof WayChaserResponse) {
|
|
66
|
+
if (this.uri.startsWith('#/') && this.response instanceof waychaser_1.WayChaserResponse) {
|
|
60
67
|
const result = this.doInvokeAll(options?.parameters || {});
|
|
61
68
|
return Promise.all(result);
|
|
62
69
|
}
|
|
@@ -67,11 +74,11 @@ export class InvocableOperation extends Operation {
|
|
|
67
74
|
doInvokeAll(parameters, validator) {
|
|
68
75
|
const response = this.response;
|
|
69
76
|
// expand the URI with whatever parameters have been passed in
|
|
70
|
-
const template = new URI.Template(this.uri);
|
|
71
|
-
const uriParameters = Object.assign(URI.parameters(this.uri), parameters);
|
|
77
|
+
const template = new uri_template_lite_1.URI.Template(this.uri);
|
|
78
|
+
const uriParameters = Object.assign(uri_template_lite_1.URI.parameters(this.uri), parameters);
|
|
72
79
|
const currentUri = template.expand(uriParameters).replaceAll('%7B', "{").replaceAll('%7D', "}");
|
|
73
80
|
// get unfilled parameters
|
|
74
|
-
const currentUriParameters = URI.parameters(currentUri);
|
|
81
|
+
const currentUriParameters = uri_template_lite_1.URI.parameters(currentUri);
|
|
75
82
|
const keys = Object.keys(currentUriParameters);
|
|
76
83
|
if (keys.length === 0) {
|
|
77
84
|
return [this.invokeAsFragment(parameters, validator)];
|
|
@@ -79,7 +86,7 @@ export class InvocableOperation extends Operation {
|
|
|
79
86
|
else {
|
|
80
87
|
const field = currentUriParameters[keys[0]];
|
|
81
88
|
const parentUri = currentUri.slice(1, currentUri.indexOf(field) - 1);
|
|
82
|
-
const parent = parentUri === '' ? response.content :
|
|
89
|
+
const parent = parentUri === '' ? response.content : jsonpointer_1.default.get(response.content, parentUri);
|
|
83
90
|
if (parent) {
|
|
84
91
|
const indices = Array.isArray(parent) ? [...Array.from({ length: parent.length }).keys()] : Object.keys(parent);
|
|
85
92
|
return indices.flatMap(index => {
|
|
@@ -88,9 +95,9 @@ export class InvocableOperation extends Operation {
|
|
|
88
95
|
});
|
|
89
96
|
}
|
|
90
97
|
else {
|
|
91
|
-
throw new WayChaserProblem({
|
|
98
|
+
throw new waychaser_1.WayChaserProblem({
|
|
92
99
|
response: this.response,
|
|
93
|
-
problem: new ProblemDocument({
|
|
100
|
+
problem: new problem_document_1.ProblemDocument({
|
|
94
101
|
type: "https://waychaser.io/fragment-uri-error",
|
|
95
102
|
title: "The fragment URI does not match the content structure",
|
|
96
103
|
uri: parentUri, content: response.content,
|
|
@@ -108,9 +115,9 @@ export class InvocableOperation extends Operation {
|
|
|
108
115
|
// URI has both a path and a fragment (e.g., /addresses?q=...#/0)
|
|
109
116
|
// Resolve the fragment against the current response's content
|
|
110
117
|
const fragment = this.uri.slice(this.uri.indexOf('#/') + 1);
|
|
111
|
-
const fragmentContent = this.response.fullContent &&
|
|
118
|
+
const fragmentContent = this.response.fullContent && jsonpointer_1.default.get(this.response.fullContent, fragment);
|
|
112
119
|
if (fragmentContent !== undefined) {
|
|
113
|
-
return new WayChaserResponse({ defaultOptions: this.defaultOptions, baseResponse: this.response.response, content: fragmentContent, fullContent: this.response.fullContent, anchor: '#' + fragment, parentOperations: this.response.allOperations, parameters: options?.parameters });
|
|
120
|
+
return new waychaser_1.WayChaserResponse({ defaultOptions: this.defaultOptions, baseResponse: this.response.response, content: fragmentContent, fullContent: this.response.fullContent, anchor: '#' + fragment, parentOperations: this.response.allOperations, parameters: options?.parameters });
|
|
114
121
|
}
|
|
115
122
|
// Fall through to HTTP request if fragment resolution fails
|
|
116
123
|
}
|
|
@@ -134,15 +141,15 @@ export class InvocableOperation extends Operation {
|
|
|
134
141
|
let headers = {};
|
|
135
142
|
const requestOptions = Object.assign({}, options);
|
|
136
143
|
requestOptions.method = this.method;
|
|
137
|
-
if (Object.keys(this.parameters).length !== 0 && methodCanHaveBody(this.method || 'GET')) {
|
|
138
|
-
const contentType = preferredContentType(this.accept, [
|
|
144
|
+
if (Object.keys(this.parameters).length !== 0 && (0, method_can_have_body_1.methodCanHaveBody)(this.method || 'GET')) {
|
|
145
|
+
const contentType = (0, preferred_content_type_1.preferredContentType)(this.accept, [
|
|
139
146
|
'application/x-www-form-urlencoded',
|
|
140
147
|
'application/json',
|
|
141
148
|
'multipart/form-data'
|
|
142
149
|
], 'application/x-www-form-urlencoded');
|
|
143
150
|
switch (contentType) {
|
|
144
151
|
case 'application/x-www-form-urlencoded': {
|
|
145
|
-
encodedContent =
|
|
152
|
+
encodedContent = (0, qs_stringify_1.default)(body);
|
|
146
153
|
break;
|
|
147
154
|
}
|
|
148
155
|
case 'application/json': {
|
|
@@ -150,7 +157,7 @@ export class InvocableOperation extends Operation {
|
|
|
150
157
|
break;
|
|
151
158
|
}
|
|
152
159
|
case 'multipart/form-data': {
|
|
153
|
-
encodedContent = new
|
|
160
|
+
encodedContent = new form_data_1.default();
|
|
154
161
|
for (const name in body) {
|
|
155
162
|
encodedContent.append(name, body[name]);
|
|
156
163
|
}
|
|
@@ -167,7 +174,7 @@ export class InvocableOperation extends Operation {
|
|
|
167
174
|
requestOptions.body = encodedContent;
|
|
168
175
|
requestOptions.headers = Object.assign(headers, options?.headers);
|
|
169
176
|
}
|
|
170
|
-
return _waychaser(invokeUrl.toString(), this.defaultOptions, requestOptions);
|
|
177
|
+
return (0, waychaser_1._waychaser)(invokeUrl.toString(), this.defaultOptions, requestOptions);
|
|
171
178
|
}
|
|
172
179
|
}
|
|
173
180
|
url(parameters) {
|
|
@@ -176,7 +183,8 @@ export class InvocableOperation extends Operation {
|
|
|
176
183
|
return invokeUrl;
|
|
177
184
|
}
|
|
178
185
|
expandUrl(parameters) {
|
|
179
|
-
return URI.expand(this.uri, flatten(parameters || {}));
|
|
186
|
+
return uri_template_lite_1.URI.expand(this.uri, (0, flat_1.flatten)(parameters || {}));
|
|
180
187
|
}
|
|
181
188
|
}
|
|
189
|
+
exports.InvocableOperation = InvocableOperation;
|
|
182
190
|
//# sourceMappingURL=operation.js.map
|
package/dist/operation.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"operation.js","sourceRoot":"","sources":["../src/operation.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"operation.js","sourceRoot":"","sources":["../src/operation.ts"],"names":[],"mappings":"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"}
|
package/dist/util/media-types.js
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
1
3
|
const MediaTypes = {
|
|
2
4
|
HAL: 'application/hal+json',
|
|
3
5
|
SIREN: 'application/vnd.siren+json'
|
|
4
6
|
};
|
|
5
|
-
|
|
7
|
+
exports.default = MediaTypes;
|
|
6
8
|
//# sourceMappingURL=media-types.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"media-types.js","sourceRoot":"","sources":["../../src/util/media-types.js"],"names":[],"mappings":"AAAA,MAAM,UAAU,GAAG;IACjB,GAAG,EAAE,sBAAsB;IAC3B,KAAK,EAAE,4BAA4B;CACpC,CAAA;AAED,
|
|
1
|
+
{"version":3,"file":"media-types.js","sourceRoot":"","sources":["../../src/util/media-types.js"],"names":[],"mappings":";;AAAA,MAAM,UAAU,GAAG;IACjB,GAAG,EAAE,sBAAsB;IAC3B,KAAK,EAAE,4BAA4B;CACpC,CAAA;AAED,kBAAe,UAAU,CAAA"}
|
|
@@ -1,7 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.methodCanHaveBody = methodCanHaveBody;
|
|
1
4
|
/**
|
|
2
5
|
* @param method
|
|
3
6
|
*/
|
|
4
|
-
|
|
7
|
+
function methodCanHaveBody(method) {
|
|
5
8
|
return !['GET', 'DELETE', 'TRACE', 'OPTIONS', 'HEAD'].includes(method);
|
|
6
9
|
}
|
|
7
10
|
//# sourceMappingURL=method-can-have-body.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"method-can-have-body.js","sourceRoot":"","sources":["../../src/util/method-can-have-body.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"method-can-have-body.js","sourceRoot":"","sources":["../../src/util/method-can-have-body.js"],"names":[],"mappings":";;AAGA,8CAEC;AALD;;GAEG;AACH,SAAgB,iBAAiB,CAAE,MAAM;IACvC,OAAO,CAAC,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;AACxE,CAAC"}
|
|
@@ -1,9 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
1
2
|
// negotiated (https://www.npmjs.com/package/negotiated) doesn't working in IE 11 due to missing regex polyfill stuff
|
|
2
3
|
// @hapi/accept https://www.npmjs.com/package/@hapi/accept is too big (with all it's dependencies)
|
|
4
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
|
+
exports.parseAccept = parseAccept;
|
|
3
6
|
/**
|
|
4
7
|
* @param {string} accept
|
|
5
8
|
*/
|
|
6
|
-
|
|
9
|
+
function parseAccept(accept) {
|
|
7
10
|
const entries = accept.split(',');
|
|
8
11
|
return entries
|
|
9
12
|
.map(entry => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parse-accept.js","sourceRoot":"","sources":["../../src/util/parse-accept.ts"],"names":[],"mappings":"AAAA,qHAAqH;AACrH,kGAAkG;
|
|
1
|
+
{"version":3,"file":"parse-accept.js","sourceRoot":"","sources":["../../src/util/parse-accept.ts"],"names":[],"mappings":";AAAA,qHAAqH;AACrH,kGAAkG;;AAKlG,kCA8CC;AAjDD;;GAEG;AACH,SAAgB,WAAW,CAAC,MAAc;IACxC,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IACjC,OAAO,OAAO;SACX,GAAG,CAAC,KAAK,CAAC,EAAE;QACX,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;QAC/B,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,EAAE,CAAA;QAC3B,MAAM,KAAK,GAAG,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,CAAA;QAC9B,MAAM,WAAW,GAAG;YAClB,IAAI;YACJ,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;YACtB,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;YACnB,CAAC,EAAE,CAAC;SACL,CAAA;QACD,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,MAAM,YAAY,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;YACrC,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;gBACrB,WAAW,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAA;YACnE,CAAC;QACH,CAAC;QACD,OAAO,WAAW,CAAA;IACpB,CAAC,CAAC;SACD,IAAI,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;QACtB,4GAA4G;QAC5G,uCAAuC;QACvC,IAAI,KAAK,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,EAAE,CAAC;YACvB,OAAO,CAAC,CAAC,CAAA;QACX,CAAC;aAAM,IAAI,KAAK,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,EAAE,CAAC;YAC9B,OAAO,CAAC,CAAA;QACV,CAAC;aAAM,IAAI,KAAK,CAAC,UAAU,KAAK,GAAG,IAAI,MAAM,CAAC,UAAU,KAAK,GAAG,EAAE,CAAC;YACjE,OAAO,CAAC,CAAA;QACV,CAAC;aAAM,IAAI,KAAK,CAAC,UAAU,KAAK,GAAG,IAAI,MAAM,CAAC,UAAU,KAAK,GAAG,EAAE,CAAC;YACjE,OAAO,CAAC,CAAC,CAAA;QACX,CAAC;aAAM,IAAI,KAAK,CAAC,OAAO,KAAK,GAAG,IAAI,MAAM,CAAC,OAAO,KAAK,GAAG,EAAE,CAAC;YAC3D,OAAO,CAAC,CAAA;QACV,CAAC;aAAM,IAAI,KAAK,CAAC,OAAO,KAAK,GAAG,IAAI,MAAM,CAAC,OAAO,KAAK,GAAG,EAAE,CAAC;YAC3D,OAAO,CAAC,CAAC,CAAA;QACX,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,CAAA;QACV,CAAC;IACH,CAAC,CAAC;SACD,GAAG,CAAC,KAAK,CAAC,EAAE;QACX,OAAO;YACL,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,EAAE;SACvB,CAAA;IACH,CAAC,CAAC;SACD,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,EAAE,CAAC,CAAA;AACvC,CAAC"}
|
|
@@ -1,4 +1,7 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.parseOperations = parseOperations;
|
|
4
|
+
const expand_operation_1 = require("../expand-operation");
|
|
2
5
|
/**
|
|
3
6
|
* @param root0
|
|
4
7
|
* @param root0.handlers
|
|
@@ -6,7 +9,7 @@ import { expandOperation } from '../expand-operation';
|
|
|
6
9
|
* @param root0.baseResponse
|
|
7
10
|
* @param root0.content
|
|
8
11
|
*/
|
|
9
|
-
|
|
12
|
+
function parseOperations({ handlers, baseResponse, content }) {
|
|
10
13
|
const operations = [];
|
|
11
14
|
let stop = false;
|
|
12
15
|
for (const handler of handlers) {
|
|
@@ -25,7 +28,7 @@ export function parseOperations({ handlers, baseResponse, content }) {
|
|
|
25
28
|
}
|
|
26
29
|
const expandedOperations = {};
|
|
27
30
|
for (const operation of operations) {
|
|
28
|
-
const expanded = expandOperation(operation);
|
|
31
|
+
const expanded = (0, expand_operation_1.expandOperation)(operation);
|
|
29
32
|
for (const operation of expanded) {
|
|
30
33
|
const anchor = operation.anchor || '';
|
|
31
34
|
if (!expandedOperations[anchor]) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parse-operations.js","sourceRoot":"","sources":["../../src/util/parse-operations.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"parse-operations.js","sourceRoot":"","sources":["../../src/util/parse-operations.ts"],"names":[],"mappings":";;AAWA,0CAkCC;AA3CD,0DAAqD;AAErD;;;;;;GAMG;AACH,SAAgB,eAAe,CAAC,EAAE,QAAQ,EAAE,YAAY,EAAE,OAAO,EAIhE;IACC,MAAM,UAAU,GAAqB,EAAE,CAAA;IACvC,IAAI,IAAI,GAAG,KAAK,CAAA;IAChB,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,oDAAoD;QACpD,MAAM,iBAAiB,GAAG,OAAO,CAAC,OAAO,CAAC,YAAY,EAAE,OAAO,EAAE,GAAG,EAAE;YACpE,IAAI,GAAG,IAAI,CAAA;QACb,CAAC,CAAC,CAAA;QACF,IAAI,iBAAiB,EAAE,CAAC;YACtB,KAAK,MAAM,SAAS,IAAI,iBAAiB,EAAE,CAAC;gBAC1C,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;YAC5B,CAAC;QACH,CAAC;QACD,IAAI,IAAI,EAAE,CAAC;YACT,MAAK;QACP,CAAC;IACH,CAAC;IAED,MAAM,kBAAkB,GAAqC,EAAE,CAAA;IAC/D,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,MAAM,QAAQ,GAAG,IAAA,kCAAe,EAAC,SAAS,CAAC,CAAA;QAC3C,KAAK,MAAM,SAAS,IAAI,QAAQ,EAAE,CAAC;YACjC,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,IAAI,EAAE,CAAA;YACrC,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,EAAE,CAAC;gBAAC,kBAAkB,CAAC,MAAM,CAAC,GAAG,EAAE,CAAA;YAAC,CAAC;YACpE,kBAAkB,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;QAC5C,CAAC;IACH,CAAC;IAGD,OAAO,kBAAkB,CAAA;AAC3B,CAAC"}
|
|
@@ -1,12 +1,15 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.preferredContentType = preferredContentType;
|
|
4
|
+
const parse_accept_1 = require("./parse-accept");
|
|
2
5
|
/**
|
|
3
6
|
* @param accept
|
|
4
7
|
* @param supportedContentTypes
|
|
5
8
|
* @param defaultType
|
|
6
9
|
*/
|
|
7
|
-
|
|
10
|
+
function preferredContentType(accept, supportedContentTypes, defaultType) {
|
|
8
11
|
if (accept) {
|
|
9
|
-
const acceptable = parseAccept(accept);
|
|
12
|
+
const acceptable = (0, parse_accept_1.parseAccept)(accept);
|
|
10
13
|
const acceptableMediaTypes = acceptable.find(row => {
|
|
11
14
|
return supportedContentTypes.includes(row.type);
|
|
12
15
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"preferred-content-type.js","sourceRoot":"","sources":["../../src/util/preferred-content-type.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"preferred-content-type.js","sourceRoot":"","sources":["../../src/util/preferred-content-type.js"],"names":[],"mappings":";;AAOA,oDAgBC;AAvBD,iDAA4C;AAE5C;;;;GAIG;AACH,SAAgB,oBAAoB,CAClC,MAAM,EACN,qBAAqB,EACrB,WAAW;IAEX,IAAI,MAAM,EAAE,CAAC;QACX,MAAM,UAAU,GAAG,IAAA,0BAAW,EAAC,MAAM,CAAC,CAAA;QAEtC,MAAM,oBAAoB,GAAG,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;YACjD,OAAO,qBAAqB,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QACjD,CAAC,CAAC,CAAA;QAEF,OAAO,oBAAoB,CAAC,IAAI,CAAA;IAClC,CAAC;SAAM,CAAC;QACN,OAAO,WAAW,CAAA;IACpB,CAAC;AACH,CAAC"}
|
|
@@ -1,9 +1,45 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
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 __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.URI = void 0;
|
|
37
|
+
const uri_template_lite_1 = __importStar(require("uri-template-lite"));
|
|
38
|
+
exports.URI = {
|
|
39
|
+
Template: uri_template_lite_1.default,
|
|
40
|
+
expand: uri_template_lite_1.expand,
|
|
5
41
|
parameters(url) {
|
|
6
|
-
const template = new
|
|
42
|
+
const template = new uri_template_lite_1.default(url);
|
|
7
43
|
return template.match(url);
|
|
8
44
|
}
|
|
9
45
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"uri-template-lite.js","sourceRoot":"","sources":["../../src/util/uri-template-lite.js"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"uri-template-lite.js","sourceRoot":"","sources":["../../src/util/uri-template-lite.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uEAAoD;AAEvC,QAAA,GAAG,GAAG;IACjB,QAAQ,EAAR,2BAAQ;IACR,MAAM,EAAN,0BAAM;IACN,UAAU,CAAC,GAAG;QACZ,MAAM,QAAQ,GAAG,IAAI,2BAAQ,CAAC,GAAG,CAAC,CAAA;QAClC,OAAO,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAC5B,CAAC;CACF,CAAA"}
|
package/dist/waychaser.js
CHANGED
|
@@ -1,63 +1,72 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.waychaser = exports.WayChaserProblem = exports.WayChaserResponse = void 0;
|
|
7
|
+
exports.isValidationSuccess = isValidationSuccess;
|
|
8
|
+
exports.sortHandlers = sortHandlers;
|
|
9
|
+
exports._waychaser = _waychaser;
|
|
1
10
|
/* global Response */
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
+
const operation_1 = require("./operation");
|
|
12
|
+
const operation_array_1 = require("./operation-array");
|
|
13
|
+
const parse_operations_1 = require("./util/parse-operations");
|
|
14
|
+
const uri_template_lite_1 = require("./util/uri-template-lite");
|
|
15
|
+
const flat_1 = require("flat");
|
|
16
|
+
const hal_handler_1 = require("./handlers/hal/hal-handler");
|
|
17
|
+
const link_header_handler_1 = require("./handlers/link-header/link-header-handler");
|
|
18
|
+
const siren_handler_1 = require("./handlers/siren/siren-handler");
|
|
19
|
+
const media_types_1 = __importDefault(require("./util/media-types"));
|
|
11
20
|
// import { fetch } from 'cross-fetch'
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
21
|
+
const location_header_handler_1 = require("./handlers/location-header/location-header-handler");
|
|
22
|
+
const augment_options_1 = require("./augment-options");
|
|
23
|
+
const problem_document_1 = require("@mountainpass/problem-document");
|
|
15
24
|
/**
|
|
16
25
|
* @param result
|
|
17
26
|
*/
|
|
18
|
-
|
|
27
|
+
function isValidationSuccess(result) {
|
|
19
28
|
return result.success;
|
|
20
29
|
}
|
|
21
|
-
|
|
30
|
+
class WayChaserResponse {
|
|
22
31
|
constructor({ handlers, defaultOptions, baseResponse, content, fullContent, anchor, parentOperations, parameters }) {
|
|
23
32
|
this.response = baseResponse;
|
|
24
33
|
this.anchor = anchor;
|
|
25
34
|
this.parameters = parameters || {};
|
|
26
35
|
this.fullContent = fullContent || content;
|
|
27
36
|
this.content = content;
|
|
28
|
-
this.operations = OperationArray.create();
|
|
29
|
-
const thisContext = flatten({ this: content });
|
|
37
|
+
this.operations = operation_array_1.OperationArray.create();
|
|
38
|
+
const thisContext = (0, flat_1.flatten)({ this: content });
|
|
30
39
|
if (parentOperations && anchor && defaultOptions) {
|
|
31
40
|
this.allOperations = parentOperations;
|
|
32
41
|
for (const operation of this.allOperations[anchor] || []) {
|
|
33
|
-
this.operations.push(new InvocableOperation(operation, this, defaultOptions, thisContext));
|
|
42
|
+
this.operations.push(new operation_1.InvocableOperation(operation, this, defaultOptions, thisContext));
|
|
34
43
|
}
|
|
35
44
|
// not only do we need to go through the operations with a matching anchor
|
|
36
45
|
// we also need to go though anchors that could match this.anchor
|
|
37
46
|
for (const key in this.allOperations) {
|
|
38
47
|
if (key !== '') {
|
|
39
48
|
// need to see if key could match this.anchor
|
|
40
|
-
const template = new URI.Template(key);
|
|
49
|
+
const template = new uri_template_lite_1.URI.Template(key);
|
|
41
50
|
const parameters = template.match(this.anchor);
|
|
42
51
|
const expandedAnchor = template.expand(parameters);
|
|
43
52
|
if (expandedAnchor === this.anchor) {
|
|
44
53
|
const expandedOptions = Object.assign({}, defaultOptions, { parameters: Object.assign(parameters, defaultOptions.parameters) });
|
|
45
54
|
for (const operation of this.allOperations[key]) {
|
|
46
|
-
this.operations.push(new InvocableOperation(operation, this, expandedOptions, thisContext));
|
|
55
|
+
this.operations.push(new operation_1.InvocableOperation(operation, this, expandedOptions, thisContext));
|
|
47
56
|
}
|
|
48
57
|
}
|
|
49
58
|
}
|
|
50
59
|
}
|
|
51
60
|
}
|
|
52
61
|
else if (baseResponse && handlers && defaultOptions) {
|
|
53
|
-
this.allOperations = parseOperations({
|
|
62
|
+
this.allOperations = (0, parse_operations_1.parseOperations)({
|
|
54
63
|
baseResponse,
|
|
55
64
|
content,
|
|
56
65
|
handlers
|
|
57
66
|
});
|
|
58
|
-
this.operations = OperationArray.create();
|
|
67
|
+
this.operations = operation_array_1.OperationArray.create();
|
|
59
68
|
for (const operation of this.allOperations[''] || []) {
|
|
60
|
-
const op = new InvocableOperation(operation, this, defaultOptions, thisContext);
|
|
69
|
+
const op = new operation_1.InvocableOperation(operation, this, defaultOptions, thisContext);
|
|
61
70
|
this.operations.push(op);
|
|
62
71
|
}
|
|
63
72
|
}
|
|
@@ -71,7 +80,7 @@ export class WayChaserResponse {
|
|
|
71
80
|
* @throws {WayChaserProblem}
|
|
72
81
|
*/
|
|
73
82
|
static create(baseResponse, content, defaultOptions, mergedOptions) {
|
|
74
|
-
if (content instanceof ProblemDocument) {
|
|
83
|
+
if (content instanceof problem_document_1.ProblemDocument) {
|
|
75
84
|
throw new WayChaserProblem({
|
|
76
85
|
response: new WayChaserResponse({ handlers: mergedOptions.defaultHandlers, defaultOptions, baseResponse, content, parameters: mergedOptions.parameters }),
|
|
77
86
|
problem: content,
|
|
@@ -150,7 +159,8 @@ export class WayChaserResponse {
|
|
|
150
159
|
throw new Error('Not Implemented. Use `.content` instead');
|
|
151
160
|
}
|
|
152
161
|
}
|
|
153
|
-
|
|
162
|
+
exports.WayChaserResponse = WayChaserResponse;
|
|
163
|
+
class WayChaserProblem extends Error {
|
|
154
164
|
constructor({ response, problem }) {
|
|
155
165
|
// 'Error' breaks prototype chain here
|
|
156
166
|
super(problem.detail);
|
|
@@ -167,10 +177,11 @@ export class WayChaserProblem extends Error {
|
|
|
167
177
|
this.response = response;
|
|
168
178
|
}
|
|
169
179
|
}
|
|
180
|
+
exports.WayChaserProblem = WayChaserProblem;
|
|
170
181
|
/**
|
|
171
182
|
* @param handlers
|
|
172
183
|
*/
|
|
173
|
-
|
|
184
|
+
function sortHandlers(handlers) {
|
|
174
185
|
return handlers.sort((a, b) => {
|
|
175
186
|
// -ve if less
|
|
176
187
|
// e.g. a.q = 0.3, b.q = 0.4, then a.q - b.q = 0.3 - 0.4 = -0.1
|
|
@@ -220,8 +231,8 @@ function allMediaRanges(handlers) {
|
|
|
220
231
|
* @returns {Promise<WayChaserResponse<Content>>}
|
|
221
232
|
* @throws {TypeError | AbortError | WayChaserProblem}
|
|
222
233
|
*/
|
|
223
|
-
|
|
224
|
-
const mergedOptions = augmentOptions(defaultOptions, options);
|
|
234
|
+
async function _waychaser(uriOrRequest, defaultOptions, options) {
|
|
235
|
+
const mergedOptions = (0, augment_options_1.augmentOptions)(defaultOptions, options);
|
|
225
236
|
const mergedHandlers = mergedOptions.defaultHandlers;
|
|
226
237
|
if (!mergedOptions.fetch) {
|
|
227
238
|
throw new Error('No global fetch and fetch not provided in options');
|
|
@@ -267,12 +278,12 @@ export async function _waychaser(uriOrRequest, defaultOptions, options) {
|
|
|
267
278
|
}
|
|
268
279
|
catch (error) {
|
|
269
280
|
const response = new WayChaserResponse({ handlers: mergedOptions.defaultHandlers, defaultOptions, baseResponse, content: error, parameters: mergedOptions.parameters });
|
|
270
|
-
const wayChaserProblem = error instanceof ProblemDocument ? new WayChaserProblem({
|
|
281
|
+
const wayChaserProblem = error instanceof problem_document_1.ProblemDocument ? new WayChaserProblem({
|
|
271
282
|
response,
|
|
272
283
|
problem: error,
|
|
273
284
|
}) : new WayChaserProblem({
|
|
274
285
|
response,
|
|
275
|
-
problem: new ProblemDocument({
|
|
286
|
+
problem: new problem_document_1.ProblemDocument({
|
|
276
287
|
type: "https://waychaser.io/unexected-error",
|
|
277
288
|
title: "An unexpected error occurred",
|
|
278
289
|
error
|
|
@@ -313,7 +324,7 @@ function tryParseJson(content, contentType) {
|
|
|
313
324
|
return JSON.parse(content);
|
|
314
325
|
}
|
|
315
326
|
catch (error) {
|
|
316
|
-
throw new ProblemDocument({
|
|
327
|
+
throw new problem_document_1.ProblemDocument({
|
|
317
328
|
type: "https://waychaser.io/invalid-json",
|
|
318
329
|
title: "JSON response could not be parsed",
|
|
319
330
|
detail: `The response document with content type '${contentType}' could not be parsed as json`,
|
|
@@ -325,10 +336,10 @@ const wayChaserDefaults = {
|
|
|
325
336
|
fetch: typeof globalThis === 'undefined' ? getGlobal()?.fetch : globalThis.fetch?.bind(globalThis),
|
|
326
337
|
handlers: [],
|
|
327
338
|
defaultHandlers: sortHandlers([
|
|
328
|
-
{ handler: locationHeaderHandler, mediaRanges: ['*/*'], q: 0.4 },
|
|
329
|
-
{ handler: linkHeaderHandler, mediaRanges: ['*/*'], q: 0.5 },
|
|
330
|
-
{ handler: halHandler, mediaRanges: [
|
|
331
|
-
{ handler: sirenHandler, mediaRanges: [
|
|
339
|
+
{ handler: location_header_handler_1.locationHeaderHandler, mediaRanges: ['*/*'], q: 0.4 },
|
|
340
|
+
{ handler: link_header_handler_1.linkHeaderHandler, mediaRanges: ['*/*'], q: 0.5 },
|
|
341
|
+
{ handler: hal_handler_1.halHandler, mediaRanges: [media_types_1.default.HAL], q: 0.5 },
|
|
342
|
+
{ handler: siren_handler_1.sirenHandler, mediaRanges: [media_types_1.default.SIREN], q: 0.5 }
|
|
332
343
|
]),
|
|
333
344
|
preInterceptors: [],
|
|
334
345
|
postInterceptors: [],
|
|
@@ -341,7 +352,7 @@ const wayChaserDefaults = {
|
|
|
341
352
|
if (contentType?.endsWith('json')) {
|
|
342
353
|
const jsonContent = tryParseJson(content, contentType);
|
|
343
354
|
if (contentType === 'application/problem+json') {
|
|
344
|
-
throw Object.assign(new ProblemDocument(jsonContent), jsonContent);
|
|
355
|
+
throw Object.assign(new problem_document_1.ProblemDocument(jsonContent), jsonContent);
|
|
345
356
|
}
|
|
346
357
|
else {
|
|
347
358
|
return jsonContent;
|
|
@@ -356,7 +367,7 @@ const wayChaserDefaults = {
|
|
|
356
367
|
* @param oldDefaults
|
|
357
368
|
*/
|
|
358
369
|
function _defaults(newDefaults, oldDefaults) {
|
|
359
|
-
const mergedOptions = augmentOptions(oldDefaults, newDefaults);
|
|
370
|
+
const mergedOptions = (0, augment_options_1.augmentOptions)(oldDefaults, newDefaults);
|
|
360
371
|
const defaultedWaychaser = (uriOrRequest, options) => _waychaser(uriOrRequest, mergedOptions, options);
|
|
361
372
|
defaultedWaychaser.currentDefaults = mergedOptions;
|
|
362
373
|
defaultedWaychaser.defaults = (newDefaults) => _defaults(newDefaults, mergedOptions);
|
|
@@ -369,7 +380,7 @@ function _defaults(newDefaults, oldDefaults) {
|
|
|
369
380
|
* @returns WayChaserResponse<Content>
|
|
370
381
|
* @throws TypeError | AbortError | WayChaserResponseProblem | Error
|
|
371
382
|
*/
|
|
372
|
-
|
|
383
|
+
exports.waychaser = Object.assign((uriOrRequest, options) => {
|
|
373
384
|
return _waychaser(uriOrRequest, wayChaserDefaults, options);
|
|
374
385
|
}, {
|
|
375
386
|
currentDefaults: wayChaserDefaults,
|
package/dist/waychaser.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"waychaser.js","sourceRoot":"","sources":["../src/waychaser.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"waychaser.js","sourceRoot":"","sources":["../src/waychaser.ts"],"names":[],"mappings":"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"}
|