@mountainpass/waychaser 4.0.38 → 5.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +18 -0
- package/README.md +37 -26
- package/dist/augment-options.d.ts +29 -0
- package/dist/augment-options.js +70 -0
- package/dist/augment-options.js.map +1 -0
- package/dist/expand-operation.d.ts +5 -0
- package/dist/expand-operation.js +78 -0
- package/dist/expand-operation.js.map +1 -0
- package/dist/handlers/hal/de-curie.d.ts +9 -0
- package/dist/handlers/hal/de-curie.js +50 -0
- package/dist/handlers/hal/de-curie.js.map +1 -0
- package/dist/handlers/hal/hal-handler.d.ts +6 -0
- package/dist/handlers/hal/hal-handler.js +91 -0
- package/dist/handlers/hal/hal-handler.js.map +1 -0
- package/dist/handlers/hal/map-hal-link-to-operation.d.ts +7 -0
- package/dist/handlers/hal/map-hal-link-to-operation.js +40 -0
- package/dist/handlers/hal/map-hal-link-to-operation.js.map +1 -0
- package/dist/handlers/link-header/link-header-handler.d.ts +7 -0
- package/dist/handlers/link-header/link-header-handler.js +83 -0
- package/dist/handlers/link-header/link-header-handler.js.map +1 -0
- package/dist/handlers/location-header/location-header-handler.d.ts +5 -0
- package/dist/handlers/location-header/location-header-handler.js +16 -0
- package/dist/handlers/location-header/location-header-handler.js.map +1 -0
- package/dist/handlers/siren/map-siren-action-to-operation.d.ts +6 -0
- package/dist/handlers/siren/map-siren-action-to-operation.js +63 -0
- package/dist/handlers/siren/map-siren-action-to-operation.js.map +1 -0
- package/dist/handlers/siren/map-siren-link-to-operation.d.ts +13 -0
- package/dist/handlers/siren/map-siren-link-to-operation.js +43 -0
- package/dist/handlers/siren/map-siren-link-to-operation.js.map +1 -0
- package/dist/handlers/siren/siren-action-handler.d.ts +5 -0
- package/dist/handlers/siren/siren-action-handler.js +46 -0
- package/dist/handlers/siren/siren-action-handler.js.map +1 -0
- package/dist/handlers/siren/siren-handler.d.ts +6 -0
- package/dist/handlers/siren/siren-handler.js +48 -0
- package/dist/handlers/siren/siren-handler.js.map +1 -0
- package/dist/handlers/siren/siren-link-handler.d.ts +6 -0
- package/dist/handlers/siren/siren-link-handler.js +59 -0
- package/dist/handlers/siren/siren-link-handler.js.map +1 -0
- package/dist/operation-array.d.ts +12 -0
- package/dist/operation-array.js +110 -0
- package/dist/operation-array.js.map +1 -0
- package/dist/operation.d.ts +24 -0
- package/dist/operation.js +304 -0
- package/dist/operation.js.map +1 -0
- package/dist/util/media-types.d.ts +5 -0
- package/dist/util/media-types.js +8 -0
- package/dist/util/media-types.js.map +1 -0
- package/dist/util/method-can-have-body.d.ts +4 -0
- package/dist/util/method-can-have-body.js +11 -0
- package/dist/util/method-can-have-body.js.map +1 -0
- package/dist/util/parse-accept.d.ts +6 -0
- package/dist/util/parse-accept.js +85 -0
- package/dist/util/parse-accept.js.map +1 -0
- package/dist/util/parse-operations.d.ts +14 -0
- package/dist/util/parse-operations.js +94 -0
- package/dist/util/parse-operations.js.map +1 -0
- package/dist/util/preferred-content-type.d.ts +6 -0
- package/dist/util/preferred-content-type.js +23 -0
- package/dist/util/preferred-content-type.js.map +1 -0
- package/dist/util/uri-template-lite.d.ts +1 -0
- package/dist/util/uri-template-lite.js +31 -0
- package/dist/util/uri-template-lite.js.map +1 -0
- package/dist/waychaser.d.ts +130 -0
- package/dist/waychaser.es.js +2331 -0
- package/dist/waychaser.es.min.js +15 -0
- package/dist/waychaser.js +582 -4527
- package/dist/waychaser.js.map +1 -1
- package/package.json +36 -63
- package/dist/waychaser.cjs +0 -14
- package/dist/waychaser.cjs.map +0 -1
- package/dist/waychaser.min.js +0 -7
- package/dist/waychaser.min.js.map +0 -1
- package/dist/waychaser.mjs +0 -14
- package/dist/waychaser.mjs.map +0 -1
|
@@ -0,0 +1,83 @@
|
|
|
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 __read = (this && this.__read) || function (o, n) {
|
|
25
|
+
var m = typeof Symbol === "function" && o[Symbol.iterator];
|
|
26
|
+
if (!m) return o;
|
|
27
|
+
var i = m.call(o), r, ar = [], e;
|
|
28
|
+
try {
|
|
29
|
+
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
|
|
30
|
+
}
|
|
31
|
+
catch (error) { e = { error: error }; }
|
|
32
|
+
finally {
|
|
33
|
+
try {
|
|
34
|
+
if (r && !r.done && (m = i["return"])) m.call(i);
|
|
35
|
+
}
|
|
36
|
+
finally { if (e) throw e.error; }
|
|
37
|
+
}
|
|
38
|
+
return ar;
|
|
39
|
+
};
|
|
40
|
+
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
41
|
+
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
42
|
+
if (ar || !(i in from)) {
|
|
43
|
+
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
44
|
+
ar[i] = from[i];
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
return to.concat(ar || Array.prototype.slice.call(from));
|
|
48
|
+
};
|
|
49
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
50
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
51
|
+
};
|
|
52
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
53
|
+
exports.linkHeaderHandler = void 0;
|
|
54
|
+
var http_link_header_1 = __importDefault(require("http-link-header"));
|
|
55
|
+
var operation_1 = require("../../operation");
|
|
56
|
+
/**
|
|
57
|
+
* @param response
|
|
58
|
+
* @param content
|
|
59
|
+
* @param stopper
|
|
60
|
+
*/
|
|
61
|
+
function linkHeaderHandler(response, content, stopper) {
|
|
62
|
+
return __spreadArray(__spreadArray([], __read(parseHeader(response.headers.get('link'))), false), __read(parseHeader(response.headers.get('link-template'))), false);
|
|
63
|
+
}
|
|
64
|
+
exports.linkHeaderHandler = linkHeaderHandler;
|
|
65
|
+
/**
|
|
66
|
+
* @param linkHeader
|
|
67
|
+
*/
|
|
68
|
+
function parseHeader(linkHeader) {
|
|
69
|
+
if (linkHeader) {
|
|
70
|
+
var links = http_link_header_1.default.parse(linkHeader);
|
|
71
|
+
return links.refs.map(function (reference) {
|
|
72
|
+
var rel = reference.rel, uri = reference.uri, method = reference.method, accept = reference["accept*"], parameters = reference["params*"], otherProperties = __rest(reference, ["rel", "uri", "method", 'accept*', 'params*']);
|
|
73
|
+
var parsedParameters = (parameters === null || parameters === void 0 ? void 0 : parameters.value)
|
|
74
|
+
? JSON.parse(parameters === null || parameters === void 0 ? void 0 : parameters.value)
|
|
75
|
+
: undefined;
|
|
76
|
+
return new operation_1.Operation(__assign({ rel: rel, uri: uri, method: method, parameters: parsedParameters, accept: accept === null || accept === void 0 ? void 0 : accept.value }, otherProperties));
|
|
77
|
+
});
|
|
78
|
+
}
|
|
79
|
+
else {
|
|
80
|
+
return [];
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
//# sourceMappingURL=link-header-handler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"link-header-handler.js","sourceRoot":"","sources":["../../../src/handlers/link-header/link-header-handler.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,sEAAyC;AACzC,6CAA2C;AAE3C;;;;GAIG;AACH,SAAgB,iBAAiB,CAC/B,QAAkB,EAClB,OAAiB,EACjB,OAAoB;IAEpB,8CACK,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,kBACzC,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,UACtD;AACH,CAAC;AATD,8CASC;AAED;;GAEG;AACH,SAAS,WAAW,CAAC,UAAyB;IAC5C,IAAI,UAAU,EAAE;QACd,IAAM,KAAK,GAAG,0BAAU,CAAC,KAAK,CAAC,UAAU,CAAC,CAAA;QAC1C,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,UAAA,SAAS;YAE3B,IAAA,GAAG,GAMD,SAAS,IANR,EACH,GAAG,GAKD,SAAS,IALR,EACH,MAAM,GAIJ,SAAS,OAJL,EACK,MAAM,GAGf,SAAS,WAHM,EACN,UAAU,GAEnB,SAAS,WAFU,EAClB,eAAe,UAChB,SAAS,EAPP,8CAOL,CADmB,CACP;YACb,IAAM,gBAAgB,GAAG,CAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,KAAK;gBACxC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,KAAK,CAAC;gBAC/B,CAAC,CAAC,SAAS,CAAA;YACb,OAAO,IAAI,qBAAS,YAClB,GAAG,KAAA,EACH,GAAG,KAAA,EACH,MAAM,QAAA,EACN,UAAU,EAAE,gBAAgB,EAC5B,MAAM,EAAE,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,KAAK,IAClB,eAAe,EAClB,CAAA;QACJ,CAAC,CAAC,CAAA;KACH;SAAM;QACL,OAAO,EAAE,CAAA;KACV;AACH,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.locationHeaderHandler = void 0;
|
|
4
|
+
var operation_1 = require("../../operation");
|
|
5
|
+
/**
|
|
6
|
+
* @param response
|
|
7
|
+
*/
|
|
8
|
+
function locationHeaderHandler(response) {
|
|
9
|
+
var locationHeader = response === null || response === void 0 ? void 0 : response.headers.get('location');
|
|
10
|
+
if (locationHeader) {
|
|
11
|
+
return [new operation_1.Operation({ rel: 'related', uri: locationHeader })];
|
|
12
|
+
}
|
|
13
|
+
return [];
|
|
14
|
+
}
|
|
15
|
+
exports.locationHeaderHandler = locationHeaderHandler;
|
|
16
|
+
//# sourceMappingURL=location-header-handler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"location-header-handler.js","sourceRoot":"","sources":["../../../src/handlers/location-header/location-header-handler.ts"],"names":[],"mappings":";;;AAAA,6CAA2C;AAE3C;;GAEG;AACH,SAAgB,qBAAqB,CACnC,QAAkB;IAElB,IAAM,cAAc,GAAG,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;IACxD,IAAI,cAAc,EAAE;QAClB,OAAO,CAAC,IAAI,qBAAS,CAAC,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,cAAc,EAAE,CAAC,CAAC,CAAA;KAChE;IACD,OAAO,EAAE,CAAA;AACX,CAAC;AARD,sDAQC"}
|
|
@@ -0,0 +1,63 @@
|
|
|
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 = void 0;
|
|
37
|
+
/**
|
|
38
|
+
* @param {object} action the siren action to map
|
|
39
|
+
* @returns {object} the link objection that the @{param action} maps to
|
|
40
|
+
*/
|
|
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 = {};
|
|
45
|
+
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; }
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
return __assign({ rel: name, uri: href, accept: type, parameters: fields && bodyParameters }, otherProperties);
|
|
61
|
+
}
|
|
62
|
+
exports.mapSirenActionToOperation = mapSirenActionToOperation;
|
|
63
|
+
//# sourceMappingURL=map-siren-action-to-operation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
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,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;;YACV,KAAwB,IAAA,WAAA,SAAA,MAAM,CAAA,8BAAA,kDAAE;gBAA3B,IAAM,SAAS,mBAAA;gBAClB,cAAc,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,CAAA;aACpC;;;;;;;;;KACF;IACD,kBACE,GAAG,EAAE,IAAI,EACT,GAAG,EAAE,IAAI,EACT,MAAM,EAAE,IAAI,EACZ,UAAU,EAAE,MAAM,IAAI,cAAc,IACjC,eAAe,EACnB;AACH,CAAC;AAfD,8DAeC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @param relationship
|
|
3
|
+
* @param link
|
|
4
|
+
*/
|
|
5
|
+
import { Operation } from "../../operation";
|
|
6
|
+
/**
|
|
7
|
+
* @param relationship
|
|
8
|
+
* @param link
|
|
9
|
+
*/
|
|
10
|
+
export declare function mapSirenLinkToOperation(relationship: string, link: {
|
|
11
|
+
href: string;
|
|
12
|
+
rel: string;
|
|
13
|
+
} & Record<string, unknown>): Operation;
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* @param relationship
|
|
4
|
+
* @param link
|
|
5
|
+
*/
|
|
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 = void 0;
|
|
30
|
+
var operation_1 = require("../../operation");
|
|
31
|
+
/**
|
|
32
|
+
* @param relationship
|
|
33
|
+
* @param link
|
|
34
|
+
*/
|
|
35
|
+
function mapSirenLinkToOperation(relationship, link) {
|
|
36
|
+
// we don't need to copy `rel` across, because we already have that from the {@param relationship}.
|
|
37
|
+
// Also `rel` in `link` is an array, which is not what we're after.
|
|
38
|
+
// 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));
|
|
41
|
+
}
|
|
42
|
+
exports.mapSirenLinkToOperation = mapSirenLinkToOperation;
|
|
43
|
+
//# sourceMappingURL=map-siren-link-to-operation.js.map
|
|
@@ -0,0 +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;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,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;AAND,0DAMC"}
|
|
@@ -0,0 +1,46 @@
|
|
|
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 = void 0;
|
|
15
|
+
var map_siren_action_to_operation_1 = require("./map-siren-action-to-operation");
|
|
16
|
+
/**
|
|
17
|
+
* @param content
|
|
18
|
+
*/
|
|
19
|
+
function sirenActionHandler(content) {
|
|
20
|
+
var e_1, _a;
|
|
21
|
+
var operations = [];
|
|
22
|
+
if (content &&
|
|
23
|
+
typeof content === 'object' &&
|
|
24
|
+
'actions' in content) {
|
|
25
|
+
var body = content;
|
|
26
|
+
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; }
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
return operations;
|
|
44
|
+
}
|
|
45
|
+
exports.sirenActionHandler = sirenActionHandler;
|
|
46
|
+
//# sourceMappingURL=siren-action-handler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"siren-action-handler.js","sourceRoot":"","sources":["../../../src/handlers/siren/siren-action-handler.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AACA,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;QACA,IAAM,IAAI,GAAG,OAEZ,CAAA;QACD,IAAI,IAAI,CAAC,OAAO,EAAE;;gBAChB,KAAqB,IAAA,KAAA,SAAA,IAAI,CAAC,OAAO,CAAA,gBAAA,4BAAE;oBAA9B,IAAM,MAAM,WAAA;oBACf,IAAM,SAAS,GAAG,IAAA,yDAAyB,EAAC,MAAM,CAAC,CAAA;oBACnD,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;iBAC3B;;;;;;;;;SACF;KACF;IACD,OAAO,UAAU,CAAA;AACnB,CAAC;AAlBD,gDAkBC"}
|
|
@@ -0,0 +1,48 @@
|
|
|
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 = void 0;
|
|
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");
|
|
35
|
+
/**
|
|
36
|
+
* @param response
|
|
37
|
+
* @param content
|
|
38
|
+
*/
|
|
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);
|
|
44
|
+
}
|
|
45
|
+
return [];
|
|
46
|
+
}
|
|
47
|
+
exports.sirenHandler = sirenHandler;
|
|
48
|
+
//# sourceMappingURL=siren-handler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"siren-handler.js","sourceRoot":"","sources":["../../../src/handlers/siren/siren-handler.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,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;QACzC,8CACK,CAAC,IAAA,qCAAgB,EAAC,OAAO,CAAC,CAAC,kBAC3B,CAAC,IAAA,yCAAkB,EAAC,OAAO,CAAC,CAAC,UACjC;KACF;IACD,OAAO,EAAE,CAAA;AACX,CAAC;AAXD,oCAWC"}
|
|
@@ -0,0 +1,59 @@
|
|
|
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 = void 0;
|
|
15
|
+
var map_siren_link_to_operation_1 = require("./map-siren-link-to-operation");
|
|
16
|
+
/**
|
|
17
|
+
* @param response
|
|
18
|
+
* @param content
|
|
19
|
+
*/
|
|
20
|
+
function sirenLinkHandler(content) {
|
|
21
|
+
var e_1, _a, e_2, _b;
|
|
22
|
+
var operations = [];
|
|
23
|
+
if (content &&
|
|
24
|
+
typeof content === 'object' &&
|
|
25
|
+
'links' in content) {
|
|
26
|
+
var body = content;
|
|
27
|
+
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);
|
|
51
|
+
}
|
|
52
|
+
finally { if (e_1) throw e_1.error; }
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
return operations;
|
|
57
|
+
}
|
|
58
|
+
exports.sirenLinkHandler = sirenLinkHandler;
|
|
59
|
+
//# sourceMappingURL=siren-link-handler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"siren-link-handler.js","sourceRoot":"","sources":["../../../src/handlers/siren/siren-link-handler.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AACA,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;QACA,IAAM,IAAI,GAAG,OAEZ,CAAA;QACD,IAAI,IAAI,CAAC,KAAK,EAAE;;gBACd,KAAmB,IAAA,KAAA,SAAA,IAAI,CAAC,KAAK,CAAA,gBAAA,4BAAE;oBAA1B,IAAM,IAAI,WAAA;;wBACb,KAA2B,IAAA,oBAAA,SAAA,IAAI,CAAC,GAAG,CAAA,CAAA,gBAAA,4BAAE;4BAAhC,IAAM,YAAY,WAAA;4BACrB,IAAM,UAAU,GAAG,IAAA,qDAAuB,EAAC,YAAY,EAAE,IAAI,CAAC,CAAA;4BAC9D,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;yBAC5B;;;;;;;;;iBACF;;;;;;;;;SACF;KACF;IACD,OAAO,UAAU,CAAA;AACnB,CAAC;AArBD,4CAqBC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { InvocableOperation } from './operation';
|
|
2
|
+
import { WayChaserOptions, WayChaserResponse } from './waychaser';
|
|
3
|
+
export declare class OperationArray extends Array<InvocableOperation> {
|
|
4
|
+
private constructor();
|
|
5
|
+
static create(): OperationArray;
|
|
6
|
+
find(query: string | Record<string, unknown> | ((this: void, value: InvocableOperation, index: number, object: InvocableOperation[]) => unknown), thisArgument?: unknown): InvocableOperation | undefined;
|
|
7
|
+
filter(query: string | Record<string, unknown> | ((value: InvocableOperation, index: number, array: InvocableOperation[]) => unknown), thisArgument?: unknown): OperationArray;
|
|
8
|
+
invoke(relationship: string | Record<string, unknown> | ((this: void, value: InvocableOperation, index: number, object: InvocableOperation[]) => unknown), options?: Partial<WayChaserOptions>): Promise<WayChaserResponse<unknown>> | undefined;
|
|
9
|
+
invoke<Content>(relationship: string | Record<string, unknown> | ((this: void, value: InvocableOperation, index: number, object: InvocableOperation[]) => unknown), options?: Partial<WayChaserOptions<Content>>): Promise<WayChaserResponse<Content>> | undefined;
|
|
10
|
+
invokeAll(relationship: string | Record<string, unknown> | ((this: void, value: InvocableOperation, index: number, object: InvocableOperation[]) => unknown), options?: Partial<WayChaserOptions>): Promise<Array<WayChaserResponse<unknown>>>;
|
|
11
|
+
invokeAll<Content>(relationship: string | Record<string, unknown> | ((this: void, value: InvocableOperation, index: number, object: InvocableOperation[]) => unknown), options?: Partial<WayChaserOptions<Content>>): Promise<Array<WayChaserResponse<Content>>>;
|
|
12
|
+
}
|
|
@@ -0,0 +1,110 @@
|
|
|
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
|
+
// const foo: Array<InvocableOperation> = []
|
|
45
|
+
// 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;
|
|
50
|
+
}
|
|
51
|
+
OperationArray.create = function () {
|
|
52
|
+
return Object.create(OperationArray.prototype);
|
|
53
|
+
};
|
|
54
|
+
OperationArray.prototype.find = function (query, thisArgument) {
|
|
55
|
+
var finder = Array.prototype.find.bind(this);
|
|
56
|
+
if (typeof query === 'string') {
|
|
57
|
+
return finder(objectFinder({ rel: query }), thisArgument);
|
|
58
|
+
}
|
|
59
|
+
else if (typeof query === 'object') {
|
|
60
|
+
return finder(objectFinder(query), thisArgument);
|
|
61
|
+
}
|
|
62
|
+
else {
|
|
63
|
+
return finder(query, thisArgument);
|
|
64
|
+
}
|
|
65
|
+
};
|
|
66
|
+
OperationArray.prototype.filter = function (query, thisArgument) {
|
|
67
|
+
if (typeof query === 'string') {
|
|
68
|
+
return this.filter({ rel: query }, thisArgument);
|
|
69
|
+
}
|
|
70
|
+
else if (typeof query === 'object') {
|
|
71
|
+
return this.filter(objectFinder(query), thisArgument);
|
|
72
|
+
}
|
|
73
|
+
else {
|
|
74
|
+
var filtered = Array.prototype.filter.bind(this)(query);
|
|
75
|
+
Object.setPrototypeOf(filtered, OperationArray.prototype);
|
|
76
|
+
return filtered;
|
|
77
|
+
}
|
|
78
|
+
};
|
|
79
|
+
OperationArray.prototype.invoke = function (relationship, options) {
|
|
80
|
+
var operation = this.find(relationship);
|
|
81
|
+
return operation ? operation.invoke(options) : undefined;
|
|
82
|
+
};
|
|
83
|
+
OperationArray.prototype.invokeAll = function (relationship, options) {
|
|
84
|
+
return Promise.all(this.filter(relationship).map(function (operation) {
|
|
85
|
+
return operation.invokeAll(options);
|
|
86
|
+
})).then(function (arrayOfArrays) {
|
|
87
|
+
var flat = arrayOfArrays.flat();
|
|
88
|
+
return flat;
|
|
89
|
+
});
|
|
90
|
+
};
|
|
91
|
+
return OperationArray;
|
|
92
|
+
}(Array));
|
|
93
|
+
exports.OperationArray = OperationArray;
|
|
94
|
+
// ideally we'd just subclass Array, and that works most of the time, BUT sometimes in firefox, instead of it
|
|
95
|
+
// giving us an ObjectArray, we get a plain old Array, without our invoke method or customised find method.
|
|
96
|
+
// FU JavaScript, FU.
|
|
97
|
+
/**
|
|
98
|
+
* @param query
|
|
99
|
+
*/
|
|
100
|
+
function objectFinder(query) {
|
|
101
|
+
return function (o) {
|
|
102
|
+
for (var key in query) {
|
|
103
|
+
if (query[key] !== o[key]) {
|
|
104
|
+
return false;
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
return true;
|
|
108
|
+
};
|
|
109
|
+
}
|
|
110
|
+
//# sourceMappingURL=operation-array.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"operation-array.js","sourceRoot":"","sources":["../src/operation-array.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGA,4CAA4C;AAC5C,gBAAgB;AAEhB;IAAoC,kCAAyB;IAC3D,wBAAoB,KAAiC;2DAC1C,CAAC,KAAK,IAAI,EAAE,CAAC;IACxB,CAAC;IACM,qBAAM,GAAb;QACE,OAAO,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,SAAS,CAAC,CAAA;IAChD,CAAC;IAED,6BAAI,GAAJ,UACE,KAQe,EACf,YAAsB;QAEtB,IAAM,MAAM,GAAG,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAC9C,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;YAC7B,OAAO,MAAM,CAAC,YAAY,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,YAAY,CAAC,CAAA;SAC1D;aAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;YACpC,OAAO,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,YAAY,CAAC,CAAA;SACjD;aAAM;YACL,OAAO,MAAM,CAAC,KAAK,EAAE,YAAY,CAAC,CAAA;SACnC;IACH,CAAC;IAED,+BAAM,GAAN,UACE,KAOe,EACf,YAAsB;QAEtB,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;YAC7B,OAAO,IAAI,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,YAAY,CAAC,CAAA;SACjD;aAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;YACpC,OAAO,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,YAAY,CAAC,CAAA;SACtD;aAAM;YACL,IAAM,QAAQ,GAAG,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAA;YACzD,MAAM,CAAC,cAAc,CAAC,QAAQ,EAAE,cAAc,CAAC,SAAS,CAAC,CAAA;YACzD,OAAO,QAAQ,CAAA;SAChB;IACH,CAAC;IAwBD,+BAAM,GAAN,UACE,YAMe,EACf,OAA4C;QAE5C,IAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;QACzC,OAAO,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;IAC1D,CAAC;IAwBD,kCAAS,GAAT,UACE,YAMe,EACf,OAA4C;QAE5C,OAAO,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,UAAA,SAAS;YACxD,OAAA,SAAS,CAAC,SAAS,CAAC,OAAO,CAAC;QAA5B,CAA4B,CAC7B,CAAC,CAAC,IAAI,CAAC,UAAA,aAAa;YACnB,IAAM,IAAI,GAAG,aAAa,CAAC,IAAI,EAAE,CAAA;YACjC,OAAO,IAAI,CAAA;QACb,CAAC,CAAC,CAAA;IACJ,CAAC;IACH,qBAAC;AAAD,CAAC,AA/HD,CAAoC,KAAK,GA+HxC;AA/HY,wCAAc;AAiI3B,6GAA6G;AAC7G,2GAA2G;AAC3G,qBAAqB;AAErB;;GAEG;AACH,SAAS,YAAY,CAAC,KAAyB;IAC7C,OAAO,UAAC,CAAqB;QAC3B,KAAK,IAAM,GAAG,IAAI,KAAK,EAAE;YACvB,IAAI,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,EAAE;gBACzB,OAAO,KAAK,CAAA;aACb;SACF;QACD,OAAO,IAAI,CAAA;IACb,CAAC,CAAA;AACH,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { WayChaserOptions, WayChaserResponse } from './waychaser';
|
|
2
|
+
export declare class Operation {
|
|
3
|
+
rel: string;
|
|
4
|
+
uri: string;
|
|
5
|
+
method?: string;
|
|
6
|
+
parameters: Record<string, unknown> | Array<string>;
|
|
7
|
+
accept?: string;
|
|
8
|
+
anchor?: string;
|
|
9
|
+
[key: string]: unknown;
|
|
10
|
+
constructor({ rel, uri, method, parameters, accept, anchor, ...otherProperties }: Partial<Operation> & Pick<Operation, 'rel' | 'uri'>);
|
|
11
|
+
}
|
|
12
|
+
export declare class InvocableOperation extends Operation {
|
|
13
|
+
defaultOptions: WayChaserOptions;
|
|
14
|
+
response: WayChaserResponse<unknown>;
|
|
15
|
+
constructor(operation: Operation, response: WayChaserResponse<unknown>, defaultOptions: WayChaserOptions, thisContext: Record<string, string | number | bigint | boolean | undefined>);
|
|
16
|
+
private invokeAsFragment;
|
|
17
|
+
invokeAll(options?: Partial<WayChaserOptions>): Promise<Array<WayChaserResponse<unknown> | undefined>>;
|
|
18
|
+
invokeAll<Content>(options?: Partial<WayChaserOptions<Content>>): Promise<Array<WayChaserResponse<Content> | undefined>>;
|
|
19
|
+
private doInvokeAll;
|
|
20
|
+
invoke(options?: Partial<WayChaserOptions>): Promise<WayChaserResponse<unknown>>;
|
|
21
|
+
invoke<Content>(options?: Partial<WayChaserOptions<Content>>): Promise<WayChaserResponse<Content>>;
|
|
22
|
+
private url;
|
|
23
|
+
private expandUrl;
|
|
24
|
+
}
|