@mountainpass/waychaser 5.0.46 → 5.0.48
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 +20 -57
- package/dist/augment-options.js.map +1 -1
- package/dist/expand-operation.js +18 -53
- package/dist/expand-operation.js.map +1 -1
- package/dist/handlers/hal/de-curie.js +6 -25
- package/dist/handlers/hal/de-curie.js.map +1 -1
- package/dist/handlers/hal/hal-handler.js +16 -65
- package/dist/handlers/hal/hal-handler.js.map +1 -1
- package/dist/handlers/hal/map-hal-link-to-operation.js +5 -30
- package/dist/handlers/hal/map-hal-link-to-operation.js.map +1 -1
- package/dist/handlers/link-header/link-header-handler.js +20 -63
- package/dist/handlers/link-header/link-header-handler.js.map +1 -1
- package/dist/handlers/location-header/location-header-handler.js +4 -7
- package/dist/handlers/location-header/location-header-handler.js.map +1 -1
- package/dist/handlers/siren/map-siren-action-to-operation.js +12 -53
- package/dist/handlers/siren/map-siren-action-to-operation.js.map +1 -1
- package/dist/handlers/siren/map-siren-link-to-operation.js +4 -29
- package/dist/handlers/siren/map-siren-link-to-operation.js.map +1 -1
- package/dist/handlers/siren/siren-action-handler.js +7 -32
- package/dist/handlers/siren/siren-action-handler.js.map +1 -1
- package/dist/handlers/siren/siren-handler.js +10 -39
- package/dist/handlers/siren/siren-handler.js.map +1 -1
- package/dist/handlers/siren/siren-link-handler.js +8 -43
- package/dist/handlers/siren/siren-link-handler.js.map +1 -1
- package/dist/operation-array.d.ts +1 -0
- package/dist/operation-array.js +27 -70
- package/dist/operation-array.js.map +1 -1
- package/dist/operation.js +128 -272
- package/dist/operation.js.map +1 -1
- package/dist/src/augment-options.d.ts +30 -0
- package/dist/src/expand-operation.d.ts +5 -0
- package/dist/src/handlers/hal/de-curie.d.ts +9 -0
- package/dist/src/handlers/hal/hal-handler.d.ts +6 -0
- package/dist/src/handlers/hal/map-hal-link-to-operation.d.ts +7 -0
- package/dist/src/handlers/link-header/link-header-handler.d.ts +7 -0
- package/dist/src/handlers/location-header/location-header-handler.d.ts +5 -0
- package/dist/src/handlers/siren/map-siren-action-to-operation.d.ts +6 -0
- package/dist/src/handlers/siren/map-siren-link-to-operation.d.ts +13 -0
- package/dist/src/handlers/siren/siren-action-handler.d.ts +5 -0
- package/dist/src/handlers/siren/siren-handler.d.ts +6 -0
- package/dist/src/handlers/siren/siren-link-handler.d.ts +6 -0
- package/dist/src/operation-array.d.ts +13 -0
- package/dist/src/operation.d.ts +24 -0
- package/dist/src/util/media-types.d.ts +5 -0
- package/dist/src/util/method-can-have-body.d.ts +4 -0
- package/dist/src/util/parse-accept.d.ts +6 -0
- package/dist/src/util/parse-operations.d.ts +14 -0
- package/dist/src/util/preferred-content-type.d.ts +6 -0
- package/dist/src/util/uri-template-lite.d.ts +5 -0
- package/dist/src/waychaser.d.ts +131 -0
- package/dist/util/media-types.js +2 -4
- package/dist/util/media-types.js.map +1 -1
- package/dist/util/method-can-have-body.js +1 -4
- package/dist/util/method-can-have-body.js.map +1 -1
- package/dist/util/parse-accept.js +17 -42
- package/dist/util/parse-accept.js.map +1 -1
- package/dist/util/parse-operations.js +22 -78
- package/dist/util/parse-operations.js.map +1 -1
- package/dist/util/preferred-content-type.js +4 -7
- package/dist/util/preferred-content-type.js.map +1 -1
- package/dist/util/uri-template-lite.js +6 -42
- package/dist/util/uri-template-lite.js.map +1 -1
- package/dist/waychaser.es.js +475 -922
- package/dist/waychaser.es.min.js +1 -1
- package/dist/waychaser.js +212 -480
- package/dist/waychaser.js.map +1 -1
- package/package.json +3 -3
|
@@ -1,62 +1,21 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __assign = (this && this.__assign) || function () {
|
|
3
|
-
__assign = Object.assign || function(t) {
|
|
4
|
-
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
-
s = arguments[i];
|
|
6
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
-
t[p] = s[p];
|
|
8
|
-
}
|
|
9
|
-
return t;
|
|
10
|
-
};
|
|
11
|
-
return __assign.apply(this, arguments);
|
|
12
|
-
};
|
|
13
|
-
var __rest = (this && this.__rest) || function (s, e) {
|
|
14
|
-
var t = {};
|
|
15
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
16
|
-
t[p] = s[p];
|
|
17
|
-
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
18
|
-
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
19
|
-
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
20
|
-
t[p[i]] = s[p[i]];
|
|
21
|
-
}
|
|
22
|
-
return t;
|
|
23
|
-
};
|
|
24
|
-
var __values = (this && this.__values) || function(o) {
|
|
25
|
-
var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
|
|
26
|
-
if (m) return m.call(o);
|
|
27
|
-
if (o && typeof o.length === "number") return {
|
|
28
|
-
next: function () {
|
|
29
|
-
if (o && i >= o.length) o = void 0;
|
|
30
|
-
return { value: o && o[i++], done: !o };
|
|
31
|
-
}
|
|
32
|
-
};
|
|
33
|
-
throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
|
|
34
|
-
};
|
|
35
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
-
exports.mapSirenActionToOperation = mapSirenActionToOperation;
|
|
37
1
|
/**
|
|
38
2
|
* @param {object} action the siren action to map
|
|
39
3
|
* @returns {object} the link objection that the @{param action} maps to
|
|
40
4
|
*/
|
|
41
|
-
function mapSirenActionToOperation(action) {
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
var bodyParameters = {};
|
|
5
|
+
export function mapSirenActionToOperation(action) {
|
|
6
|
+
const { name, href, fields, type, ...otherProperties } = action;
|
|
7
|
+
const bodyParameters = {};
|
|
45
8
|
if (fields) {
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
var parameter = fields_1_1.value;
|
|
49
|
-
bodyParameters[parameter.name] = {};
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
53
|
-
finally {
|
|
54
|
-
try {
|
|
55
|
-
if (fields_1_1 && !fields_1_1.done && (_a = fields_1.return)) _a.call(fields_1);
|
|
56
|
-
}
|
|
57
|
-
finally { if (e_1) throw e_1.error; }
|
|
9
|
+
for (const parameter of fields) {
|
|
10
|
+
bodyParameters[parameter.name] = {};
|
|
58
11
|
}
|
|
59
12
|
}
|
|
60
|
-
return
|
|
13
|
+
return {
|
|
14
|
+
rel: name,
|
|
15
|
+
uri: href,
|
|
16
|
+
accept: type,
|
|
17
|
+
parameters: fields && bodyParameters,
|
|
18
|
+
...otherProperties
|
|
19
|
+
};
|
|
61
20
|
}
|
|
62
21
|
//# sourceMappingURL=map-siren-action-to-operation.js.map
|
|
@@ -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":"AAEA;;;GAGG;AACH,MAAM,UAAU,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,42 +1,17 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
/**
|
|
3
2
|
* @param relationship
|
|
4
3
|
* @param link
|
|
5
4
|
*/
|
|
6
|
-
|
|
7
|
-
__assign = Object.assign || function(t) {
|
|
8
|
-
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
9
|
-
s = arguments[i];
|
|
10
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
11
|
-
t[p] = s[p];
|
|
12
|
-
}
|
|
13
|
-
return t;
|
|
14
|
-
};
|
|
15
|
-
return __assign.apply(this, arguments);
|
|
16
|
-
};
|
|
17
|
-
var __rest = (this && this.__rest) || function (s, e) {
|
|
18
|
-
var t = {};
|
|
19
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
20
|
-
t[p] = s[p];
|
|
21
|
-
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
22
|
-
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
23
|
-
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
24
|
-
t[p[i]] = s[p[i]];
|
|
25
|
-
}
|
|
26
|
-
return t;
|
|
27
|
-
};
|
|
28
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
-
exports.mapSirenLinkToOperation = mapSirenLinkToOperation;
|
|
30
|
-
var operation_1 = require("../../operation");
|
|
5
|
+
import { Operation } from "../../operation";
|
|
31
6
|
/**
|
|
32
7
|
* @param relationship
|
|
33
8
|
* @param link
|
|
34
9
|
*/
|
|
35
|
-
function mapSirenLinkToOperation(relationship, link) {
|
|
10
|
+
export function mapSirenLinkToOperation(relationship, link) {
|
|
36
11
|
// we don't need to copy `rel` across, because we already have that from the {@param relationship}.
|
|
37
12
|
// Also `rel` in `link` is an array, which is not what we're after.
|
|
38
13
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
39
|
-
|
|
40
|
-
return new
|
|
14
|
+
const { href, rel, ...otherProperties } = link;
|
|
15
|
+
return new Operation({ rel: relationship, uri: href, ...otherProperties });
|
|
41
16
|
}
|
|
42
17
|
//# 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":"
|
|
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;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAE3C;;;GAGG;AACH,MAAM,UAAU,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,SAAS,CAAC,EAAE,GAAG,EAAE,YAAY,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,eAAe,EAAE,CAAC,CAAA;AAC5E,CAAC"}
|
|
@@ -1,42 +1,17 @@
|
|
|
1
|
-
|
|
2
|
-
var __values = (this && this.__values) || function(o) {
|
|
3
|
-
var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
|
|
4
|
-
if (m) return m.call(o);
|
|
5
|
-
if (o && typeof o.length === "number") return {
|
|
6
|
-
next: function () {
|
|
7
|
-
if (o && i >= o.length) o = void 0;
|
|
8
|
-
return { value: o && o[i++], done: !o };
|
|
9
|
-
}
|
|
10
|
-
};
|
|
11
|
-
throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
|
|
12
|
-
};
|
|
13
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
14
|
-
exports.sirenActionHandler = sirenActionHandler;
|
|
15
|
-
var map_siren_action_to_operation_1 = require("./map-siren-action-to-operation");
|
|
1
|
+
import { mapSirenActionToOperation } from './map-siren-action-to-operation';
|
|
16
2
|
/**
|
|
17
3
|
* @param content
|
|
18
4
|
*/
|
|
19
|
-
function sirenActionHandler(content) {
|
|
20
|
-
|
|
21
|
-
var operations = [];
|
|
5
|
+
export function sirenActionHandler(content) {
|
|
6
|
+
const operations = [];
|
|
22
7
|
if (content &&
|
|
23
8
|
typeof content === 'object' &&
|
|
24
9
|
'actions' in content) {
|
|
25
|
-
|
|
10
|
+
const body = content;
|
|
26
11
|
if (body.actions) {
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
var operation = (0, map_siren_action_to_operation_1.mapSirenActionToOperation)(action);
|
|
31
|
-
operations.push(operation);
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
35
|
-
finally {
|
|
36
|
-
try {
|
|
37
|
-
if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
|
|
38
|
-
}
|
|
39
|
-
finally { if (e_1) throw e_1.error; }
|
|
12
|
+
for (const action of body.actions) {
|
|
13
|
+
const operation = mapSirenActionToOperation(action);
|
|
14
|
+
operations.push(operation);
|
|
40
15
|
}
|
|
41
16
|
}
|
|
42
17
|
}
|
|
@@ -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":"AACA,OAAO,EAAE,yBAAyB,EAAE,MAAM,iCAAiC,CAAA;AAE3E;;GAEG;AACH,MAAM,UAAU,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,yBAAyB,CAAC,MAAM,CAAC,CAAA;gBACnD,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;YAC5B,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,UAAU,CAAA;AACnB,CAAC"}
|
|
@@ -1,46 +1,17 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
if (!m) return o;
|
|
5
|
-
var i = m.call(o), r, ar = [], e;
|
|
6
|
-
try {
|
|
7
|
-
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
|
|
8
|
-
}
|
|
9
|
-
catch (error) { e = { error: error }; }
|
|
10
|
-
finally {
|
|
11
|
-
try {
|
|
12
|
-
if (r && !r.done && (m = i["return"])) m.call(i);
|
|
13
|
-
}
|
|
14
|
-
finally { if (e) throw e.error; }
|
|
15
|
-
}
|
|
16
|
-
return ar;
|
|
17
|
-
};
|
|
18
|
-
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
19
|
-
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
20
|
-
if (ar || !(i in from)) {
|
|
21
|
-
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
22
|
-
ar[i] = from[i];
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
return to.concat(ar || Array.prototype.slice.call(from));
|
|
26
|
-
};
|
|
27
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
28
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
29
|
-
};
|
|
30
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
31
|
-
exports.sirenHandler = sirenHandler;
|
|
32
|
-
var media_types_1 = __importDefault(require("../../util/media-types"));
|
|
33
|
-
var siren_action_handler_1 = require("./siren-action-handler");
|
|
34
|
-
var siren_link_handler_1 = require("./siren-link-handler");
|
|
1
|
+
import MediaTypes from '../../util/media-types';
|
|
2
|
+
import { sirenActionHandler } from './siren-action-handler';
|
|
3
|
+
import { sirenLinkHandler } from './siren-link-handler';
|
|
35
4
|
/**
|
|
36
5
|
* @param response
|
|
37
6
|
* @param content
|
|
38
7
|
*/
|
|
39
|
-
function sirenHandler(response, content) {
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
8
|
+
export function sirenHandler(response, content) {
|
|
9
|
+
const contentType = response.headers.get('content-type')?.split(';');
|
|
10
|
+
if (contentType?.[0] === MediaTypes.SIREN) {
|
|
11
|
+
return [
|
|
12
|
+
...(sirenLinkHandler(content)),
|
|
13
|
+
...(sirenActionHandler(content))
|
|
14
|
+
];
|
|
44
15
|
}
|
|
45
16
|
return [];
|
|
46
17
|
}
|
|
@@ -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":"AACA,OAAO,UAAU,MAAM,wBAAwB,CAAA;AAC/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAA;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AAEvD;;;GAGG;AACH,MAAM,UAAU,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,UAAU,CAAC,KAAK,EAAE,CAAC;QAC1C,OAAO;YACL,GAAG,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;YAC9B,GAAG,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;SACjC,CAAA;IACH,CAAC;IACD,OAAO,EAAE,CAAA;AACX,CAAC"}
|
|
@@ -1,55 +1,20 @@
|
|
|
1
|
-
|
|
2
|
-
var __values = (this && this.__values) || function(o) {
|
|
3
|
-
var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
|
|
4
|
-
if (m) return m.call(o);
|
|
5
|
-
if (o && typeof o.length === "number") return {
|
|
6
|
-
next: function () {
|
|
7
|
-
if (o && i >= o.length) o = void 0;
|
|
8
|
-
return { value: o && o[i++], done: !o };
|
|
9
|
-
}
|
|
10
|
-
};
|
|
11
|
-
throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
|
|
12
|
-
};
|
|
13
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
14
|
-
exports.sirenLinkHandler = sirenLinkHandler;
|
|
15
|
-
var map_siren_link_to_operation_1 = require("./map-siren-link-to-operation");
|
|
1
|
+
import { mapSirenLinkToOperation } from './map-siren-link-to-operation';
|
|
16
2
|
/**
|
|
17
3
|
* @param response
|
|
18
4
|
* @param content
|
|
19
5
|
*/
|
|
20
|
-
function sirenLinkHandler(content) {
|
|
21
|
-
|
|
22
|
-
var operations = [];
|
|
6
|
+
export function sirenLinkHandler(content) {
|
|
7
|
+
const operations = [];
|
|
23
8
|
if (content &&
|
|
24
9
|
typeof content === 'object' &&
|
|
25
10
|
'links' in content) {
|
|
26
|
-
|
|
11
|
+
const body = content;
|
|
27
12
|
if (body.links) {
|
|
28
|
-
|
|
29
|
-
for (
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
for (var _e = (e_2 = void 0, __values(link.rel)), _f = _e.next(); !_f.done; _f = _e.next()) {
|
|
33
|
-
var relationship = _f.value;
|
|
34
|
-
var mappedLink = (0, map_siren_link_to_operation_1.mapSirenLinkToOperation)(relationship, link);
|
|
35
|
-
operations.push(mappedLink);
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
catch (e_2_1) { e_2 = { error: e_2_1 }; }
|
|
39
|
-
finally {
|
|
40
|
-
try {
|
|
41
|
-
if (_f && !_f.done && (_b = _e.return)) _b.call(_e);
|
|
42
|
-
}
|
|
43
|
-
finally { if (e_2) throw e_2.error; }
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
48
|
-
finally {
|
|
49
|
-
try {
|
|
50
|
-
if (_d && !_d.done && (_a = _c.return)) _a.call(_c);
|
|
13
|
+
for (const link of body.links) {
|
|
14
|
+
for (const relationship of link.rel) {
|
|
15
|
+
const mappedLink = mapSirenLinkToOperation(relationship, link);
|
|
16
|
+
operations.push(mappedLink);
|
|
51
17
|
}
|
|
52
|
-
finally { if (e_1) throw e_1.error; }
|
|
53
18
|
}
|
|
54
19
|
}
|
|
55
20
|
}
|
|
@@ -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":"AACA,OAAO,EAAE,uBAAuB,EAAE,MAAM,+BAA+B,CAAA;AAEvE;;;GAGG;AACH,MAAM,UAAU,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,uBAAuB,CAAC,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"}
|
|
@@ -2,6 +2,7 @@ import { InvocableOperation } from './operation';
|
|
|
2
2
|
import { WayChaserOptions, WayChaserResponse } from './waychaser';
|
|
3
3
|
export declare class OperationArray extends Array<InvocableOperation> {
|
|
4
4
|
private constructor();
|
|
5
|
+
static get [Symbol.species](): ArrayConstructor;
|
|
5
6
|
static create(): OperationArray;
|
|
6
7
|
find(query: string | Record<string, unknown> | ((this: void, value: InvocableOperation, index: number, object: InvocableOperation[]) => unknown), thisArgument?: unknown): InvocableOperation | undefined;
|
|
7
8
|
filter(query: string | Record<string, unknown> | ((value: InvocableOperation, index: number, array: InvocableOperation[]) => unknown), thisArgument?: unknown): OperationArray;
|
package/dist/operation-array.js
CHANGED
|
@@ -1,58 +1,19 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __extends = (this && this.__extends) || (function () {
|
|
3
|
-
var extendStatics = function (d, b) {
|
|
4
|
-
extendStatics = Object.setPrototypeOf ||
|
|
5
|
-
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
6
|
-
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
|
|
7
|
-
return extendStatics(d, b);
|
|
8
|
-
};
|
|
9
|
-
return function (d, b) {
|
|
10
|
-
if (typeof b !== "function" && b !== null)
|
|
11
|
-
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
|
|
12
|
-
extendStatics(d, b);
|
|
13
|
-
function __() { this.constructor = d; }
|
|
14
|
-
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
15
|
-
};
|
|
16
|
-
})();
|
|
17
|
-
var __read = (this && this.__read) || function (o, n) {
|
|
18
|
-
var m = typeof Symbol === "function" && o[Symbol.iterator];
|
|
19
|
-
if (!m) return o;
|
|
20
|
-
var i = m.call(o), r, ar = [], e;
|
|
21
|
-
try {
|
|
22
|
-
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
|
|
23
|
-
}
|
|
24
|
-
catch (error) { e = { error: error }; }
|
|
25
|
-
finally {
|
|
26
|
-
try {
|
|
27
|
-
if (r && !r.done && (m = i["return"])) m.call(i);
|
|
28
|
-
}
|
|
29
|
-
finally { if (e) throw e.error; }
|
|
30
|
-
}
|
|
31
|
-
return ar;
|
|
32
|
-
};
|
|
33
|
-
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
34
|
-
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
35
|
-
if (ar || !(i in from)) {
|
|
36
|
-
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
37
|
-
ar[i] = from[i];
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
return to.concat(ar || Array.prototype.slice.call(from));
|
|
41
|
-
};
|
|
42
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
43
|
-
exports.OperationArray = void 0;
|
|
44
1
|
// const foo: Array<InvocableOperation> = []
|
|
45
2
|
// foo.filter())
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
3
|
+
export class OperationArray extends Array {
|
|
4
|
+
constructor(items) {
|
|
5
|
+
super();
|
|
6
|
+
if (items)
|
|
7
|
+
this.push(...items);
|
|
8
|
+
}
|
|
9
|
+
static get [Symbol.species]() {
|
|
10
|
+
return Array;
|
|
50
11
|
}
|
|
51
|
-
|
|
12
|
+
static create() {
|
|
52
13
|
return Object.create(OperationArray.prototype);
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
|
|
14
|
+
}
|
|
15
|
+
find(query, thisArgument) {
|
|
16
|
+
const finder = Array.prototype.find.bind(this);
|
|
56
17
|
if (typeof query === 'string') {
|
|
57
18
|
return finder(objectFinder({ rel: query }), thisArgument);
|
|
58
19
|
}
|
|
@@ -62,8 +23,8 @@ var OperationArray = /** @class */ (function (_super) {
|
|
|
62
23
|
else {
|
|
63
24
|
return finder(query, thisArgument);
|
|
64
25
|
}
|
|
65
|
-
}
|
|
66
|
-
|
|
26
|
+
}
|
|
27
|
+
filter(query, thisArgument) {
|
|
67
28
|
if (typeof query === 'string') {
|
|
68
29
|
return this.filter({ rel: query }, thisArgument);
|
|
69
30
|
}
|
|
@@ -71,27 +32,23 @@ var OperationArray = /** @class */ (function (_super) {
|
|
|
71
32
|
return this.filter(objectFinder(query), thisArgument);
|
|
72
33
|
}
|
|
73
34
|
else {
|
|
74
|
-
|
|
35
|
+
const filtered = Array.prototype.filter.bind(this)(query);
|
|
75
36
|
Object.setPrototypeOf(filtered, OperationArray.prototype);
|
|
76
37
|
return filtered;
|
|
77
38
|
}
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
|
|
39
|
+
}
|
|
40
|
+
invoke(relationship, options) {
|
|
41
|
+
const operation = this.find(relationship);
|
|
81
42
|
return operation ? operation.invoke(options) : undefined;
|
|
82
|
-
}
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
return Promise.all(operations.map(
|
|
86
|
-
|
|
87
|
-
})).then(function (arrayOfArrays) {
|
|
88
|
-
var flat = arrayOfArrays.flat();
|
|
43
|
+
}
|
|
44
|
+
invokeAll(relationship, options) {
|
|
45
|
+
const operations = this.filter(relationship);
|
|
46
|
+
return Promise.all(operations.map(operation => operation.invokeAll(options))).then(arrayOfArrays => {
|
|
47
|
+
const flat = arrayOfArrays.flat();
|
|
89
48
|
return flat;
|
|
90
49
|
});
|
|
91
|
-
}
|
|
92
|
-
|
|
93
|
-
}(Array));
|
|
94
|
-
exports.OperationArray = OperationArray;
|
|
50
|
+
}
|
|
51
|
+
}
|
|
95
52
|
// ideally we'd just subclass Array, and that works most of the time, BUT sometimes in firefox, instead of it
|
|
96
53
|
// giving us an ObjectArray, we get a plain old Array, without our invoke method or customised find method.
|
|
97
54
|
// FU JavaScript, FU.
|
|
@@ -99,8 +56,8 @@ exports.OperationArray = OperationArray;
|
|
|
99
56
|
* @param query
|
|
100
57
|
*/
|
|
101
58
|
function objectFinder(query) {
|
|
102
|
-
return
|
|
103
|
-
for (
|
|
59
|
+
return (o) => {
|
|
60
|
+
for (const key in query) {
|
|
104
61
|
if (query[key] !== o[key]) {
|
|
105
62
|
return false;
|
|
106
63
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"operation-array.js","sourceRoot":"","sources":["../src/operation-array.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"operation-array.js","sourceRoot":"","sources":["../src/operation-array.ts"],"names":[],"mappings":"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"}
|