@mountainpass/waychaser 5.0.47 → 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.
Files changed (68) hide show
  1. package/README.md +1 -1
  2. package/dist/augment-options.js +20 -57
  3. package/dist/augment-options.js.map +1 -1
  4. package/dist/expand-operation.js +18 -53
  5. package/dist/expand-operation.js.map +1 -1
  6. package/dist/handlers/hal/de-curie.js +6 -25
  7. package/dist/handlers/hal/de-curie.js.map +1 -1
  8. package/dist/handlers/hal/hal-handler.js +16 -65
  9. package/dist/handlers/hal/hal-handler.js.map +1 -1
  10. package/dist/handlers/hal/map-hal-link-to-operation.js +5 -30
  11. package/dist/handlers/hal/map-hal-link-to-operation.js.map +1 -1
  12. package/dist/handlers/link-header/link-header-handler.js +20 -63
  13. package/dist/handlers/link-header/link-header-handler.js.map +1 -1
  14. package/dist/handlers/location-header/location-header-handler.js +4 -7
  15. package/dist/handlers/location-header/location-header-handler.js.map +1 -1
  16. package/dist/handlers/siren/map-siren-action-to-operation.js +12 -53
  17. package/dist/handlers/siren/map-siren-action-to-operation.js.map +1 -1
  18. package/dist/handlers/siren/map-siren-link-to-operation.js +4 -29
  19. package/dist/handlers/siren/map-siren-link-to-operation.js.map +1 -1
  20. package/dist/handlers/siren/siren-action-handler.js +7 -32
  21. package/dist/handlers/siren/siren-action-handler.js.map +1 -1
  22. package/dist/handlers/siren/siren-handler.js +10 -39
  23. package/dist/handlers/siren/siren-handler.js.map +1 -1
  24. package/dist/handlers/siren/siren-link-handler.js +8 -43
  25. package/dist/handlers/siren/siren-link-handler.js.map +1 -1
  26. package/dist/operation-array.d.ts +1 -0
  27. package/dist/operation-array.js +27 -70
  28. package/dist/operation-array.js.map +1 -1
  29. package/dist/operation.js +128 -272
  30. package/dist/operation.js.map +1 -1
  31. package/dist/src/augment-options.d.ts +30 -0
  32. package/dist/src/expand-operation.d.ts +5 -0
  33. package/dist/src/handlers/hal/de-curie.d.ts +9 -0
  34. package/dist/src/handlers/hal/hal-handler.d.ts +6 -0
  35. package/dist/src/handlers/hal/map-hal-link-to-operation.d.ts +7 -0
  36. package/dist/src/handlers/link-header/link-header-handler.d.ts +7 -0
  37. package/dist/src/handlers/location-header/location-header-handler.d.ts +5 -0
  38. package/dist/src/handlers/siren/map-siren-action-to-operation.d.ts +6 -0
  39. package/dist/src/handlers/siren/map-siren-link-to-operation.d.ts +13 -0
  40. package/dist/src/handlers/siren/siren-action-handler.d.ts +5 -0
  41. package/dist/src/handlers/siren/siren-handler.d.ts +6 -0
  42. package/dist/src/handlers/siren/siren-link-handler.d.ts +6 -0
  43. package/dist/src/operation-array.d.ts +13 -0
  44. package/dist/src/operation.d.ts +24 -0
  45. package/dist/src/util/media-types.d.ts +5 -0
  46. package/dist/src/util/method-can-have-body.d.ts +4 -0
  47. package/dist/src/util/parse-accept.d.ts +6 -0
  48. package/dist/src/util/parse-operations.d.ts +14 -0
  49. package/dist/src/util/preferred-content-type.d.ts +6 -0
  50. package/dist/src/util/uri-template-lite.d.ts +5 -0
  51. package/dist/src/waychaser.d.ts +131 -0
  52. package/dist/util/media-types.js +2 -4
  53. package/dist/util/media-types.js.map +1 -1
  54. package/dist/util/method-can-have-body.js +1 -4
  55. package/dist/util/method-can-have-body.js.map +1 -1
  56. package/dist/util/parse-accept.js +17 -42
  57. package/dist/util/parse-accept.js.map +1 -1
  58. package/dist/util/parse-operations.js +22 -78
  59. package/dist/util/parse-operations.js.map +1 -1
  60. package/dist/util/preferred-content-type.js +4 -7
  61. package/dist/util/preferred-content-type.js.map +1 -1
  62. package/dist/util/uri-template-lite.js +6 -42
  63. package/dist/util/uri-template-lite.js.map +1 -1
  64. package/dist/waychaser.es.js +475 -922
  65. package/dist/waychaser.es.min.js +1 -1
  66. package/dist/waychaser.js +212 -480
  67. package/dist/waychaser.js.map +1 -1
  68. package/package.json +2 -2
@@ -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
- var e_1, _a;
43
- var name = action.name, href = action.href, fields = action.fields, type = action.type, otherProperties = __rest(action, ["name", "href", "fields", "type"]);
44
- var bodyParameters = {};
5
+ export function mapSirenActionToOperation(action) {
6
+ const { name, href, fields, type, ...otherProperties } = action;
7
+ const bodyParameters = {};
45
8
  if (fields) {
46
- try {
47
- for (var fields_1 = __values(fields), fields_1_1 = fields_1.next(); !fields_1_1.done; fields_1_1 = fields_1.next()) {
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 __assign({ rel: name, uri: href, accept: type, parameters: fields && bodyParameters }, otherProperties);
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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAMA,8DAeC;AAnBD;;;GAGG;AACH,SAAgB,yBAAyB,CAAC,MAAM;;IACtC,IAAA,IAAI,GAA6C,MAAM,KAAnD,EAAE,IAAI,GAAuC,MAAM,KAA7C,EAAE,MAAM,GAA+B,MAAM,OAArC,EAAE,IAAI,GAAyB,MAAM,KAA/B,EAAK,eAAe,UAAK,MAAM,EAAzD,kCAAgD,CAAF,CAAW;IAC/D,IAAM,cAAc,GAAG,EAAE,CAAA;IACzB,IAAI,MAAM,EAAE,CAAC;;YACX,KAAwB,IAAA,WAAA,SAAA,MAAM,CAAA,8BAAA,kDAAE,CAAC;gBAA5B,IAAM,SAAS,mBAAA;gBAClB,cAAc,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,CAAA;YACrC,CAAC;;;;;;;;;IACH,CAAC;IACD,kBACE,GAAG,EAAE,IAAI,EACT,GAAG,EAAE,IAAI,EACT,MAAM,EAAE,IAAI,EACZ,UAAU,EAAE,MAAM,IAAI,cAAc,IACjC,eAAe,EACnB;AACH,CAAC"}
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
- var __assign = (this && this.__assign) || function () {
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
- var href = link.href, rel = link.rel, otherProperties = __rest(link, ["href", "rel"]);
40
- return new operation_1.Operation(__assign({ rel: relationship, uri: href }, otherProperties));
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":";AAAA;;;GAGG;;;;;;;;;;;;;;;;;;;;;;;;AAQH,0DAMC;AAZD,6CAA2C;AAE3C;;;GAGG;AACH,SAAgB,uBAAuB,CAAC,YAAoB,EAAE,IAA6D;IACzH,mGAAmG;IACnG,mEAAmE;IACnE,6DAA6D;IACrD,IAAA,IAAI,GAA8B,IAAI,KAAlC,EAAE,GAAG,GAAyB,IAAI,IAA7B,EAAK,eAAe,UAAK,IAAI,EAAxC,eAAiC,CAAF,CAAS;IAC9C,OAAO,IAAI,qBAAS,YAAG,GAAG,EAAE,YAAY,EAAE,GAAG,EAAE,IAAI,IAAK,eAAe,EAAG,CAAA;AAC5E,CAAC"}
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
- "use strict";
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
- var e_1, _a;
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
- var body = content;
10
+ const body = content;
26
11
  if (body.actions) {
27
- try {
28
- for (var _b = __values(body.actions), _c = _b.next(); !_c.done; _c = _b.next()) {
29
- var action = _c.value;
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":";;;;;;;;;;;;;AAMA,gDAkBC;AAvBD,iFAA2E;AAE3E;;GAEG;AACH,SAAgB,kBAAkB,CAAC,OAAiB;;IAClD,IAAM,UAAU,GAAqB,EAAE,CAAA;IACvC,IACE,OAAO;QACP,OAAO,OAAO,KAAK,QAAQ;QAC3B,SAAS,IAAI,OAAO,EACpB,CAAC;QACD,IAAM,IAAI,GAAG,OAEZ,CAAA;QACD,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;;gBACjB,KAAqB,IAAA,KAAA,SAAA,IAAI,CAAC,OAAO,CAAA,gBAAA,4BAAE,CAAC;oBAA/B,IAAM,MAAM,WAAA;oBACf,IAAM,SAAS,GAAG,IAAA,yDAAyB,EAAC,MAAM,CAAC,CAAA;oBACnD,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;gBAC5B,CAAC;;;;;;;;;QACH,CAAC;IACH,CAAC;IACD,OAAO,UAAU,CAAA;AACnB,CAAC"}
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
- "use strict";
2
- var __read = (this && this.__read) || function (o, n) {
3
- var m = typeof Symbol === "function" && o[Symbol.iterator];
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
- var _a;
41
- var contentType = (_a = response.headers.get('content-type')) === null || _a === void 0 ? void 0 : _a.split(';');
42
- if ((contentType === null || contentType === void 0 ? void 0 : contentType[0]) === media_types_1.default.SIREN) {
43
- return __spreadArray(__spreadArray([], __read(((0, siren_link_handler_1.sirenLinkHandler)(content))), false), __read(((0, siren_action_handler_1.sirenActionHandler)(content))), false);
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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AASA,oCAWC;AAnBD,uEAA+C;AAC/C,+DAA2D;AAC3D,2DAAuD;AAEvD;;;GAGG;AACH,SAAgB,YAAY,CAC1B,QAAkB,EAClB,OAAiB;;IACjB,IAAM,WAAW,GAAG,MAAA,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,0CAAE,KAAK,CAAC,GAAG,CAAC,CAAA;IACpE,IAAI,CAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAG,CAAC,CAAC,MAAK,qBAAU,CAAC,KAAK,EAAE,CAAC;QAC1C,8CACK,CAAC,IAAA,qCAAgB,EAAC,OAAO,CAAC,CAAC,kBAC3B,CAAC,IAAA,yCAAkB,EAAC,OAAO,CAAC,CAAC,UACjC;IACH,CAAC;IACD,OAAO,EAAE,CAAA;AACX,CAAC"}
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
- "use strict";
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
- var e_1, _a, e_2, _b;
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
- var body = content;
11
+ const body = content;
27
12
  if (body.links) {
28
- try {
29
- for (var _c = __values(body.links), _d = _c.next(); !_d.done; _d = _c.next()) {
30
- var link = _d.value;
31
- try {
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":";;;;;;;;;;;;;AAOA,4CAqBC;AA3BD,6EAAuE;AAEvE;;;GAGG;AACH,SAAgB,gBAAgB,CAC9B,OAAiB;;IACjB,IAAM,UAAU,GAAqB,EAAE,CAAA;IACvC,IACE,OAAO;QACP,OAAO,OAAO,KAAK,QAAQ;QAC3B,OAAO,IAAI,OAAO,EAClB,CAAC;QACD,IAAM,IAAI,GAAG,OAEZ,CAAA;QACD,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;;gBACf,KAAmB,IAAA,KAAA,SAAA,IAAI,CAAC,KAAK,CAAA,gBAAA,4BAAE,CAAC;oBAA3B,IAAM,IAAI,WAAA;;wBACb,KAA2B,IAAA,oBAAA,SAAA,IAAI,CAAC,GAAG,CAAA,CAAA,gBAAA,4BAAE,CAAC;4BAAjC,IAAM,YAAY,WAAA;4BACrB,IAAM,UAAU,GAAG,IAAA,qDAAuB,EAAC,YAAY,EAAE,IAAI,CAAC,CAAA;4BAC9D,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;wBAC7B,CAAC;;;;;;;;;gBACH,CAAC;;;;;;;;;QACH,CAAC;IACH,CAAC;IACD,OAAO,UAAU,CAAA;AACnB,CAAC"}
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;
@@ -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
- var OperationArray = /** @class */ (function (_super) {
47
- __extends(OperationArray, _super);
48
- function OperationArray(items) {
49
- return _super.apply(this, __spreadArray([], __read((items || [])), false)) || this;
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
- OperationArray.create = function () {
12
+ static create() {
52
13
  return Object.create(OperationArray.prototype);
53
- };
54
- OperationArray.prototype.find = function (query, thisArgument) {
55
- var finder = Array.prototype.find.bind(this);
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
- OperationArray.prototype.filter = function (query, thisArgument) {
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
- var filtered = Array.prototype.filter.bind(this)(query);
35
+ const filtered = Array.prototype.filter.bind(this)(query);
75
36
  Object.setPrototypeOf(filtered, OperationArray.prototype);
76
37
  return filtered;
77
38
  }
78
- };
79
- OperationArray.prototype.invoke = function (relationship, options) {
80
- var operation = this.find(relationship);
39
+ }
40
+ invoke(relationship, options) {
41
+ const operation = this.find(relationship);
81
42
  return operation ? operation.invoke(options) : undefined;
82
- };
83
- OperationArray.prototype.invokeAll = function (relationship, options) {
84
- var operations = this.filter(relationship);
85
- return Promise.all(operations.map(function (operation) {
86
- return operation.invokeAll(options);
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
- return OperationArray;
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 function (o) {
103
- for (var key in query) {
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":"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"}
1
+ {"version":3,"file":"operation-array.js","sourceRoot":"","sources":["../src/operation-array.ts"],"names":[],"mappings":"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"}