ketting 8.4.3 → 9.0.0-alpha.1
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/dist/{main/action.d.ts → action.d.ts} +4 -4
- package/dist/{main/action.js → action.js} +38 -11
- package/dist/action.js.map +1 -0
- package/dist/{main/cache → cache}/forever.d.ts +2 -2
- package/dist/{main/cache → cache}/forever.js +2 -5
- package/dist/cache/forever.js.map +1 -0
- package/dist/{main/cache → cache}/index.d.ts +4 -4
- package/dist/cache/index.js +4 -0
- package/dist/cache/index.js.map +1 -0
- package/dist/{main/cache → cache}/never.d.ts +2 -2
- package/dist/{main/cache → cache}/never.js +1 -5
- package/dist/cache/never.js.map +1 -0
- package/dist/{main/cache → cache}/short.d.ts +2 -2
- package/dist/{main/cache → cache}/short.js +4 -6
- package/dist/cache/short.js.map +1 -0
- package/dist/{main/client.d.ts → client.d.ts} +6 -6
- package/dist/{main/client.js → client.js} +77 -60
- package/dist/client.js.map +1 -0
- package/dist/field.js +2 -0
- package/dist/field.js.map +1 -0
- package/dist/{main/follow-promise.d.ts → follow-promise.d.ts} +4 -4
- package/dist/{main/follow-promise.js → follow-promise.js} +10 -7
- package/dist/follow-promise.js.map +1 -0
- package/dist/{main/http → http}/basic-auth.d.ts +1 -1
- package/dist/{main/http → http}/basic-auth.js +1 -3
- package/dist/http/basic-auth.js.map +1 -0
- package/dist/{main/http → http}/bearer-auth.d.ts +1 -1
- package/dist/{main/http → http}/bearer-auth.js +1 -3
- package/dist/http/bearer-auth.js.map +1 -0
- package/dist/{main/http → http}/error.js +6 -9
- package/dist/http/error.js.map +1 -0
- package/dist/{main/http → http}/fetcher.js +8 -13
- package/dist/http/fetcher.js.map +1 -0
- package/dist/{main/http → http}/oauth2.d.ts +1 -1
- package/dist/{main/http → http}/oauth2.js +4 -6
- package/dist/http/oauth2.js.map +1 -0
- package/dist/{main/http → http}/util.d.ts +1 -1
- package/dist/{main/http → http}/util.js +7 -13
- package/dist/http/util.js.map +1 -0
- package/dist/index.d.ts +18 -0
- package/dist/index.js +15 -0
- package/dist/index.js.map +1 -0
- package/dist/{main/link.js → link.js} +7 -10
- package/dist/link.js.map +1 -0
- package/dist/{main/middlewares → middlewares}/accept-header.d.ts +2 -2
- package/dist/{main/middlewares → middlewares}/accept-header.js +1 -4
- package/dist/middlewares/accept-header.js.map +1 -0
- package/dist/{main/middlewares → middlewares}/cache.d.ts +2 -2
- package/dist/{main/middlewares → middlewares}/cache.js +8 -11
- package/dist/middlewares/cache.js.map +1 -0
- package/dist/{main/middlewares → middlewares}/warning.d.ts +1 -1
- package/dist/{main/middlewares → middlewares}/warning.js +4 -7
- package/dist/middlewares/warning.js.map +1 -0
- package/dist/{main/resource.d.ts → resource.d.ts} +6 -6
- package/dist/{main/resource.js → resource.js} +31 -27
- package/dist/resource.js.map +1 -0
- package/dist/{main/state → state}/base-state.d.ts +7 -6
- package/dist/{main/state → state}/base-state.js +40 -29
- package/dist/state/base-state.js.map +1 -0
- package/dist/{main/state → state}/binary.d.ts +1 -1
- package/dist/state/binary.js +15 -0
- package/dist/state/binary.js.map +1 -0
- package/dist/{main/state → state}/collection-json.d.ts +2 -2
- package/dist/{main/state → state}/collection-json.js +5 -10
- package/dist/state/collection-json.js.map +1 -0
- package/dist/{main/state → state}/hal.d.ts +2 -2
- package/dist/{main/state → state}/hal.js +11 -16
- package/dist/state/hal.js.map +1 -0
- package/dist/{main/state → state}/head.d.ts +2 -2
- package/dist/state/head.js +18 -0
- package/dist/state/head.js.map +1 -0
- package/dist/{main/state → state}/html.d.ts +1 -1
- package/dist/state/html.js +32 -0
- package/dist/state/html.js.map +1 -0
- package/dist/state/index.d.ts +10 -0
- package/dist/state/index.js +11 -0
- package/dist/state/index.js.map +1 -0
- package/dist/{main/state → state}/interface.d.ts +6 -5
- package/dist/state/interface.js +7 -0
- package/dist/state/interface.js.map +1 -0
- package/dist/{main/state → state}/jsonapi.d.ts +2 -2
- package/dist/{main/state → state}/jsonapi.js +5 -9
- package/dist/state/jsonapi.js.map +1 -0
- package/dist/{main/state → state}/siren.d.ts +2 -2
- package/dist/{main/state → state}/siren.js +11 -16
- package/dist/state/siren.js.map +1 -0
- package/dist/state/state-serialized-body.d.ts +2 -0
- package/dist/state/state-serialized-body.js +9 -0
- package/dist/state/state-serialized-body.js.map +1 -0
- package/dist/state/state-serialized-body.web.d.ts +2 -0
- package/dist/state/state-serialized-body.web.js +8 -0
- package/dist/state/state-serialized-body.web.js.map +1 -0
- package/dist/{main/state → state}/text.d.ts +1 -1
- package/dist/state/text.js +15 -0
- package/dist/state/text.js.map +1 -0
- package/dist/types.js +2 -0
- package/dist/types.js.map +1 -0
- package/dist/util/fetch-body-helper.js +7 -0
- package/dist/util/fetch-body-helper.js.map +1 -0
- package/dist/util/fetch-body-helper.web.js +10 -0
- package/dist/util/fetch-body-helper.web.js.map +1 -0
- package/dist/{main/util → util}/html.d.ts +1 -1
- package/dist/{main/util → util}/html.js +5 -8
- package/dist/util/html.js.map +1 -0
- package/dist/{main/util → util}/html.web.d.ts +1 -1
- package/dist/{main/util → util}/html.web.js +5 -8
- package/dist/util/html.web.js.map +1 -0
- package/dist/{main/util → util}/uri-template.d.ts +1 -1
- package/dist/{main/util → util}/uri-template.js +4 -7
- package/dist/util/uri-template.js.map +1 -0
- package/dist/{main/util → util}/uri.d.ts +1 -1
- package/dist/{main/util → util}/uri.js +2 -6
- package/dist/util/uri.js.map +1 -0
- package/package.json +44 -12
- package/src/action.ts +4 -4
- package/src/cache/forever.ts +2 -2
- package/src/cache/index.ts +4 -4
- package/src/cache/never.ts +2 -2
- package/src/cache/short.ts +2 -2
- package/src/client.ts +14 -13
- package/src/follow-promise.ts +4 -4
- package/src/http/basic-auth.ts +1 -1
- package/src/http/bearer-auth.ts +1 -1
- package/src/http/fetcher.ts +3 -2
- package/src/http/oauth2.ts +1 -1
- package/src/http/util.ts +2 -2
- package/src/index.ts +18 -18
- package/src/link.ts +1 -1
- package/src/middlewares/accept-header.ts +2 -2
- package/src/middlewares/cache.ts +5 -5
- package/src/middlewares/warning.ts +3 -3
- package/src/resource.ts +8 -8
- package/src/state/base-state.ts +12 -18
- package/src/state/binary.ts +3 -3
- package/src/state/collection-json.ts +4 -4
- package/src/state/hal.ts +8 -8
- package/src/state/head.ts +3 -3
- package/src/state/html.ts +6 -6
- package/src/state/index.ts +10 -10
- package/src/state/interface.ts +6 -5
- package/src/state/jsonapi.ts +4 -4
- package/src/state/siren.ts +7 -7
- package/src/state/state-serialized-body.ts +11 -0
- package/src/state/state-serialized-body.web.ts +10 -0
- package/src/state/text.ts +4 -4
- package/src/util/fetch-body-helper.ts +1 -6
- package/src/util/html.ts +3 -3
- package/src/util/html.web.ts +3 -3
- package/src/util/uri-template.ts +2 -2
- package/src/util/uri.ts +1 -1
- package/dist/browser/index.d.mts +0 -1511
- package/dist/browser/index.d.mts.map +0 -1
- package/dist/browser/index.mjs +0 -2
- package/dist/browser/index.mjs.map +0 -1
- package/dist/main/action.js.map +0 -1
- package/dist/main/cache/forever.js.map +0 -1
- package/dist/main/cache/index.js +0 -10
- package/dist/main/cache/index.js.map +0 -1
- package/dist/main/cache/never.js.map +0 -1
- package/dist/main/cache/short.js.map +0 -1
- package/dist/main/client.js.map +0 -1
- package/dist/main/field.js +0 -3
- package/dist/main/field.js.map +0 -1
- package/dist/main/follow-promise.js.map +0 -1
- package/dist/main/http/basic-auth.js.map +0 -1
- package/dist/main/http/bearer-auth.js.map +0 -1
- package/dist/main/http/error.js.map +0 -1
- package/dist/main/http/fetcher.js.map +0 -1
- package/dist/main/http/oauth2.js.map +0 -1
- package/dist/main/http/util.js.map +0 -1
- package/dist/main/index.d.ts +0 -18
- package/dist/main/index.js +0 -41
- package/dist/main/index.js.map +0 -1
- package/dist/main/link.js.map +0 -1
- package/dist/main/middlewares/accept-header.js.map +0 -1
- package/dist/main/middlewares/cache.js.map +0 -1
- package/dist/main/middlewares/warning.js.map +0 -1
- package/dist/main/resource.js.map +0 -1
- package/dist/main/state/base-state.js.map +0 -1
- package/dist/main/state/binary.js +0 -19
- package/dist/main/state/binary.js.map +0 -1
- package/dist/main/state/collection-json.js.map +0 -1
- package/dist/main/state/hal.js.map +0 -1
- package/dist/main/state/head.js +0 -22
- package/dist/main/state/head.js.map +0 -1
- package/dist/main/state/html.js +0 -36
- package/dist/main/state/html.js.map +0 -1
- package/dist/main/state/index.d.ts +0 -10
- package/dist/main/state/index.js +0 -28
- package/dist/main/state/index.js.map +0 -1
- package/dist/main/state/interface.js +0 -10
- package/dist/main/state/interface.js.map +0 -1
- package/dist/main/state/jsonapi.js.map +0 -1
- package/dist/main/state/siren.js.map +0 -1
- package/dist/main/state/text.js +0 -19
- package/dist/main/state/text.js.map +0 -1
- package/dist/main/types.js +0 -3
- package/dist/main/types.js.map +0 -1
- package/dist/main/util/fetch-body-helper.js +0 -13
- package/dist/main/util/fetch-body-helper.js.map +0 -1
- package/dist/main/util/fetch-body-helper.web.js +0 -13
- package/dist/main/util/fetch-body-helper.web.js.map +0 -1
- package/dist/main/util/html.js.map +0 -1
- package/dist/main/util/html.web.js.map +0 -1
- package/dist/main/util/uri-template.js.map +0 -1
- package/dist/main/util/uri.js.map +0 -1
- /package/dist/{main/field.d.ts → field.d.ts} +0 -0
- /package/dist/{main/http → http}/error.d.ts +0 -0
- /package/dist/{main/http → http}/fetcher.d.ts +0 -0
- /package/dist/{main/link.d.ts → link.d.ts} +0 -0
- /package/dist/{main/types.d.ts → types.d.ts} +0 -0
- /package/dist/{main/util → util}/fetch-body-helper.d.ts +0 -0
- /package/dist/{main/util → util}/fetch-body-helper.web.d.ts +0 -0
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { State } from './state';
|
|
2
|
-
import Client from './client';
|
|
3
|
-
import { Field } from './field';
|
|
4
|
-
import Resource from './resource';
|
|
1
|
+
import { State } from './state/index.js';
|
|
2
|
+
import Client from './client.js';
|
|
3
|
+
import { Field } from './field.js';
|
|
4
|
+
import Resource from './resource.js';
|
|
5
5
|
export interface ActionInfo {
|
|
6
6
|
/**
|
|
7
7
|
* What url to post the form to.
|
|
@@ -1,8 +1,37 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
1
|
+
import qs from 'query-string';
|
|
2
|
+
export class SimpleAction {
|
|
3
|
+
/**
|
|
4
|
+
* What url to post the form to.
|
|
5
|
+
*/
|
|
6
|
+
uri;
|
|
7
|
+
/**
|
|
8
|
+
* Action name.
|
|
9
|
+
*
|
|
10
|
+
* Some formats call this the 'rel'
|
|
11
|
+
*/
|
|
12
|
+
name;
|
|
13
|
+
/**
|
|
14
|
+
* Form title.
|
|
15
|
+
*
|
|
16
|
+
* Should be human-friendly.
|
|
17
|
+
*/
|
|
18
|
+
title;
|
|
19
|
+
/**
|
|
20
|
+
* The HTTP method to use
|
|
21
|
+
*/
|
|
22
|
+
method;
|
|
23
|
+
/**
|
|
24
|
+
* The contentType to use for the form submission
|
|
25
|
+
*/
|
|
26
|
+
contentType;
|
|
27
|
+
/**
|
|
28
|
+
* Returns the list of fields associated to an action
|
|
29
|
+
*/
|
|
30
|
+
fields;
|
|
31
|
+
/**
|
|
32
|
+
* Reference to client
|
|
33
|
+
*/
|
|
34
|
+
client;
|
|
6
35
|
constructor(client, formInfo) {
|
|
7
36
|
this.client = client;
|
|
8
37
|
for (const [k, v] of Object.entries(formInfo)) {
|
|
@@ -16,7 +45,7 @@ class SimpleAction {
|
|
|
16
45
|
const uri = new URL(this.uri);
|
|
17
46
|
const newFormData = this.validateForm(formData);
|
|
18
47
|
if (this.method === 'GET') {
|
|
19
|
-
uri.search =
|
|
48
|
+
uri.search = qs.stringify(newFormData);
|
|
20
49
|
const resource = this.client.go(uri.toString());
|
|
21
50
|
return resource.get();
|
|
22
51
|
}
|
|
@@ -28,7 +57,7 @@ class SimpleAction {
|
|
|
28
57
|
const uri = new URL(this.uri);
|
|
29
58
|
const newFormData = this.validateForm(formData);
|
|
30
59
|
if (this.method === 'GET') {
|
|
31
|
-
uri.search =
|
|
60
|
+
uri.search = qs.stringify(newFormData);
|
|
32
61
|
return this.client.go(uri.toString());
|
|
33
62
|
}
|
|
34
63
|
const response = await this.fetchOrThrowWithBody(uri, newFormData);
|
|
@@ -67,7 +96,7 @@ class SimpleAction {
|
|
|
67
96
|
let body;
|
|
68
97
|
switch (this.contentType) {
|
|
69
98
|
case 'application/x-www-form-urlencoded':
|
|
70
|
-
body =
|
|
99
|
+
body = qs.stringify(formData);
|
|
71
100
|
break;
|
|
72
101
|
case 'application/json':
|
|
73
102
|
body = JSON.stringify(formData);
|
|
@@ -87,8 +116,6 @@ class SimpleAction {
|
|
|
87
116
|
return this.fields.find(field => field.name === name);
|
|
88
117
|
}
|
|
89
118
|
}
|
|
90
|
-
|
|
91
|
-
class ActionNotFound extends Error {
|
|
119
|
+
export class ActionNotFound extends Error {
|
|
92
120
|
}
|
|
93
|
-
exports.ActionNotFound = ActionNotFound;
|
|
94
121
|
//# sourceMappingURL=action.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"action.js","sourceRoot":"","sources":["../src/action.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,3 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ForeverCache = void 0;
|
|
4
1
|
/**
|
|
5
2
|
* The 'Forever' cache stores any State for as long as the application
|
|
6
3
|
* lives.
|
|
@@ -13,7 +10,8 @@ exports.ForeverCache = void 0;
|
|
|
13
10
|
* when a resource appears in Location, Content-Location, or "invalidates"
|
|
14
11
|
* link relationships.
|
|
15
12
|
*/
|
|
16
|
-
class ForeverCache {
|
|
13
|
+
export class ForeverCache {
|
|
14
|
+
cache;
|
|
17
15
|
constructor() {
|
|
18
16
|
this.cache = new Map();
|
|
19
17
|
}
|
|
@@ -59,5 +57,4 @@ class ForeverCache {
|
|
|
59
57
|
destroy() {
|
|
60
58
|
}
|
|
61
59
|
}
|
|
62
|
-
exports.ForeverCache = ForeverCache;
|
|
63
60
|
//# sourceMappingURL=forever.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"forever.js","sourceRoot":"","sources":["../../src/cache/forever.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;;GAWG;AACH,MAAM,OAAO,YAAY;IAEf,KAAK,CAAqB;IAElC;QACE,IAAI,CAAC,KAAK,GAAG,IAAI,GAAG,EAAE,CAAC;IACzB,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,KAAY;QAChB,IAAI,CAAC,KAAK,CAAC,GAAG,CACZ,KAAK,CAAC,GAAG,EACT,KAAK,CAAC,KAAK,EAAE,CACd,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,GAAG,CAAC,GAAW;QAEb,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAClC,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,KAAK,CAAC,KAAK,EAAE,CAAC;IAEvB,CAAC;IAED;;OAEG;IACH,GAAG,CAAC,GAAW;QAEb,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAE7B,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,GAAW;QAChB,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IACzB,CAAC;IAED;;OAEG;IACH,KAAK;QACH,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;IACrB,CAAC;IAED;;OAEG;IACH,OAAO;IAEP,CAAC;CAEF"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
export { ForeverCache } from './forever';
|
|
2
|
-
export { ShortCache } from './short';
|
|
3
|
-
export { NeverCache } from './never';
|
|
4
|
-
import { State } from '../state';
|
|
1
|
+
export { ForeverCache } from './forever.js';
|
|
2
|
+
export { ShortCache } from './short.js';
|
|
3
|
+
export { NeverCache } from './never.js';
|
|
4
|
+
import { State } from '../state/index.js';
|
|
5
5
|
/**
|
|
6
6
|
* Cache interface
|
|
7
7
|
*
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cache/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC"}
|
|
@@ -1,6 +1,3 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.NeverCache = void 0;
|
|
4
1
|
/**
|
|
5
2
|
* The NeverCache caches absolutely nothing.
|
|
6
3
|
*
|
|
@@ -10,7 +7,7 @@ exports.NeverCache = void 0;
|
|
|
10
7
|
* Using it could cause excessive requests, and will cause embedded items
|
|
11
8
|
* to be ignored.
|
|
12
9
|
*/
|
|
13
|
-
class NeverCache {
|
|
10
|
+
export class NeverCache {
|
|
14
11
|
/**
|
|
15
12
|
* Store a State object.
|
|
16
13
|
*
|
|
@@ -44,5 +41,4 @@ class NeverCache {
|
|
|
44
41
|
// Nothing to do
|
|
45
42
|
}
|
|
46
43
|
}
|
|
47
|
-
exports.NeverCache = NeverCache;
|
|
48
44
|
//# sourceMappingURL=never.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"never.js","sourceRoot":"","sources":["../../src/cache/never.ts"],"names":[],"mappings":"AAGA;;;;;;;;GAQG;AACH,MAAM,OAAO,UAAU;IAErB;;;;OAIG;IACH,KAAK,CAAC,KAAY;QAChB,gBAAgB;IAClB,CAAC;IAED;;OAEG;IACH,GAAG,CAAC,GAAW;QACb,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACH,GAAG,CAAC,GAAW;QAEb,OAAO,KAAK,CAAC;IAEf,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,GAAW;QAChB,gBAAgB;IAClB,CAAC;IAED;;OAEG;IACH,KAAK;QACH,gBAAgB;IAClB,CAAC;CAEF"}
|
|
@@ -1,7 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ShortCache = void 0;
|
|
4
|
-
const forever_1 = require("./forever");
|
|
1
|
+
import { ForeverCache } from './forever.js';
|
|
5
2
|
/**
|
|
6
3
|
* ShortCache stores items in the cache for a short time.
|
|
7
4
|
*
|
|
@@ -14,7 +11,9 @@ const forever_1 = require("./forever");
|
|
|
14
11
|
* succession, and it also allows for enough time for 'embedded items' to
|
|
15
12
|
* pe placed in the cache and extracted again.
|
|
16
13
|
*/
|
|
17
|
-
class ShortCache extends
|
|
14
|
+
export class ShortCache extends ForeverCache {
|
|
15
|
+
cacheTimeout;
|
|
16
|
+
activeTimers;
|
|
18
17
|
/**
|
|
19
18
|
* Create the short cache.
|
|
20
19
|
*
|
|
@@ -58,5 +57,4 @@ class ShortCache extends forever_1.ForeverCache {
|
|
|
58
57
|
}
|
|
59
58
|
}
|
|
60
59
|
}
|
|
61
|
-
exports.ShortCache = ShortCache;
|
|
62
60
|
//# sourceMappingURL=short.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"short.js","sourceRoot":"","sources":["../../src/cache/short.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAE5C;;;;;;;;;;;GAWG;AACH,MAAM,OAAO,UAAW,SAAQ,YAAY;IAElC,YAAY,CAAS;IACrB,YAAY,CAA8C;IAElE;;;;OAIG;IACH,YAAY,eAAuB,KAAK;QACtC,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,YAAY,GAAG,IAAI,GAAG,EAAE,CAAC;IAChC,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,KAAY;QAChB,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACnB,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC3B,CAAC;IAEO,QAAQ,CAAC,GAAW;QAE1B,IAAI,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YAC/B,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAE,CAAC,CAAC;QAC5C,CAAC;QACD,uDAAuD;QACvD,2DAA2D;QAC3D,mCAAmC;QACnC,EAAE;QACF,sEAAsE;QACtE,iBAAiB;QACjB,IAAI,CAAC,YAAY,CAAC,GAAG,CACnB,GAAG,EACH,UAAU,CAAE,GAAG,EAAE;YACf,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACjB,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAChC,CAAC,EAAE,IAAI,CAAC,YAAY,CAAC,CACtB,CAAC;IAEJ,CAAC;IAED;;OAEG;IACH,OAAO;QAEL,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,EAAE,CAAC;YAC/C,YAAY,CAAC,KAAK,CAAC,CAAC;QACtB,CAAC;IAEH,CAAC;CACF"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { Fetcher, FetchMiddleware } from './http/fetcher';
|
|
2
|
-
import Resource from './resource';
|
|
3
|
-
import { State, StateFactory } from './state';
|
|
4
|
-
import { Link, LinkVariables } from './link';
|
|
5
|
-
import { FollowPromiseOne } from './follow-promise';
|
|
6
|
-
import { StateCache } from './cache';
|
|
1
|
+
import { Fetcher, FetchMiddleware } from './http/fetcher.js';
|
|
2
|
+
import Resource from './resource.js';
|
|
3
|
+
import { State, StateFactory } from './state/index.js';
|
|
4
|
+
import { Link, LinkVariables } from './link.js';
|
|
5
|
+
import { FollowPromiseOne } from './follow-promise.js';
|
|
6
|
+
import { StateCache } from './cache/index.js';
|
|
7
7
|
export default class Client {
|
|
8
8
|
/**
|
|
9
9
|
* All relative urls will by default use the bookmarkUri to
|
|
@@ -1,52 +1,58 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
1
|
+
import { Fetcher } from './http/fetcher.js';
|
|
2
|
+
import Resource from './resource.js';
|
|
3
|
+
import { halStateFactory, binaryStateFactory, jsonApiStateFactory, sirenStateFactory, textStateFactory, cjStateFactory, htmlStateFactory } from './state/index.js';
|
|
4
|
+
import { parseContentType } from './http/util.js';
|
|
5
|
+
import { resolve } from './util/uri.js';
|
|
6
|
+
import { ForeverCache } from './cache/index.js';
|
|
7
|
+
import cacheExpireMiddleware from './middlewares/cache.js';
|
|
8
|
+
import acceptMiddleware from './middlewares/accept-header.js';
|
|
9
|
+
import warningMiddleware from './middlewares/warning.js';
|
|
10
|
+
export default class Client {
|
|
11
|
+
/**
|
|
12
|
+
* All relative urls will by default use the bookmarkUri to
|
|
13
|
+
* expand. It should usually be the starting point of your
|
|
14
|
+
* API
|
|
15
|
+
*/
|
|
16
|
+
bookmarkUri;
|
|
17
|
+
/**
|
|
18
|
+
* Supported content types
|
|
19
|
+
*
|
|
20
|
+
* Each content-type has a 'factory' that turns a HTTP response
|
|
21
|
+
* into a State object.
|
|
22
|
+
*
|
|
23
|
+
* The last value in the array is the 'q=' value, used in Accept
|
|
24
|
+
* headers. Higher means higher priority.
|
|
25
|
+
*/
|
|
26
|
+
contentTypeMap = {
|
|
27
|
+
'application/prs.hal-forms+json': [halStateFactory, '1.0'],
|
|
28
|
+
'application/hal+json': [halStateFactory, '0.9'],
|
|
29
|
+
'application/vnd.api+json': [jsonApiStateFactory, '0.8'],
|
|
30
|
+
'application/vnd.siren+json': [sirenStateFactory, '0.8'],
|
|
31
|
+
'application/vnd.collection+json': [cjStateFactory, '0.8'],
|
|
32
|
+
'application/json': [halStateFactory, '0.7'],
|
|
33
|
+
'text/html': [htmlStateFactory, '0.6'],
|
|
34
|
+
};
|
|
35
|
+
/**
|
|
36
|
+
* The cache for 'State' objects
|
|
37
|
+
*/
|
|
38
|
+
cache;
|
|
39
|
+
/**
|
|
40
|
+
* The cache for 'Resource' objects. Each unique uri should
|
|
41
|
+
* only ever get 1 associated resource.
|
|
42
|
+
*/
|
|
43
|
+
resources;
|
|
44
|
+
/**
|
|
45
|
+
* Fetcher is a utility object that handles fetch() requests
|
|
46
|
+
* and middlewares.
|
|
47
|
+
*/
|
|
48
|
+
fetcher;
|
|
13
49
|
constructor(bookmarkUri) {
|
|
14
|
-
/**
|
|
15
|
-
* Supported content types
|
|
16
|
-
*
|
|
17
|
-
* Each content-type has a 'factory' that turns a HTTP response
|
|
18
|
-
* into a State object.
|
|
19
|
-
*
|
|
20
|
-
* The last value in the array is the 'q=' value, used in Accept
|
|
21
|
-
* headers. Higher means higher priority.
|
|
22
|
-
*/
|
|
23
|
-
this.contentTypeMap = {
|
|
24
|
-
'application/prs.hal-forms+json': [state_1.halStateFactory, '1.0'],
|
|
25
|
-
'application/hal+json': [state_1.halStateFactory, '0.9'],
|
|
26
|
-
'application/vnd.api+json': [state_1.jsonApiStateFactory, '0.8'],
|
|
27
|
-
'application/vnd.siren+json': [state_1.sirenStateFactory, '0.8'],
|
|
28
|
-
'application/vnd.collection+json': [state_1.cjStateFactory, '0.8'],
|
|
29
|
-
'application/json': [state_1.halStateFactory, '0.7'],
|
|
30
|
-
'text/html': [state_1.htmlStateFactory, '0.6'],
|
|
31
|
-
};
|
|
32
|
-
/**
|
|
33
|
-
* cacheDependencies contains all cache relationships between
|
|
34
|
-
* resources.
|
|
35
|
-
*
|
|
36
|
-
* This lets a user (for example) let a resource automatically
|
|
37
|
-
* expire, if another one expires.
|
|
38
|
-
*
|
|
39
|
-
* A server can populate this list using the `inv-by' link.
|
|
40
|
-
*
|
|
41
|
-
* @deprecated This property will go private in a future release.
|
|
42
|
-
*/
|
|
43
|
-
this.cacheDependencies = new Map();
|
|
44
50
|
this.bookmarkUri = bookmarkUri;
|
|
45
|
-
this.fetcher = new
|
|
46
|
-
this.fetcher.use((
|
|
47
|
-
this.fetcher.use((
|
|
48
|
-
this.fetcher.use((
|
|
49
|
-
this.cache = new
|
|
51
|
+
this.fetcher = new Fetcher();
|
|
52
|
+
this.fetcher.use(cacheExpireMiddleware(this));
|
|
53
|
+
this.fetcher.use(acceptMiddleware(this));
|
|
54
|
+
this.fetcher.use(warningMiddleware());
|
|
55
|
+
this.cache = new ForeverCache();
|
|
50
56
|
this.resources = new Map();
|
|
51
57
|
}
|
|
52
58
|
/**
|
|
@@ -81,13 +87,13 @@ class Client {
|
|
|
81
87
|
absoluteUri = this.bookmarkUri;
|
|
82
88
|
}
|
|
83
89
|
else if (typeof uri === 'string') {
|
|
84
|
-
absoluteUri =
|
|
90
|
+
absoluteUri = resolve(this.bookmarkUri, uri);
|
|
85
91
|
}
|
|
86
92
|
else {
|
|
87
|
-
absoluteUri =
|
|
93
|
+
absoluteUri = resolve(uri);
|
|
88
94
|
}
|
|
89
95
|
if (!this.resources.has(absoluteUri)) {
|
|
90
|
-
const resource = new
|
|
96
|
+
const resource = new Resource(this, absoluteUri);
|
|
91
97
|
this.resources.set(absoluteUri, resource);
|
|
92
98
|
return resource;
|
|
93
99
|
}
|
|
@@ -122,7 +128,7 @@ class Client {
|
|
|
122
128
|
// Register all cache dependencies.
|
|
123
129
|
for (const nState of newStates) {
|
|
124
130
|
for (const invByLink of nState.links.getMany('inv-by')) {
|
|
125
|
-
this.addCacheDependency(
|
|
131
|
+
this.addCacheDependency(resolve(invByLink), nState.uri);
|
|
126
132
|
}
|
|
127
133
|
}
|
|
128
134
|
// Store all new caches
|
|
@@ -138,6 +144,18 @@ class Client {
|
|
|
138
144
|
}
|
|
139
145
|
}
|
|
140
146
|
}
|
|
147
|
+
/**
|
|
148
|
+
* cacheDependencies contains all cache relationships between
|
|
149
|
+
* resources.
|
|
150
|
+
*
|
|
151
|
+
* This lets a user (for example) let a resource automatically
|
|
152
|
+
* expire, if another one expires.
|
|
153
|
+
*
|
|
154
|
+
* A server can populate this list using the `inv-by' link.
|
|
155
|
+
*
|
|
156
|
+
* @deprecated This property will go private in a future release.
|
|
157
|
+
*/
|
|
158
|
+
cacheDependencies = new Map();
|
|
141
159
|
/**
|
|
142
160
|
* Adds a cache dependency between two resources.
|
|
143
161
|
*
|
|
@@ -167,11 +185,11 @@ class Client {
|
|
|
167
185
|
let stale = new Set();
|
|
168
186
|
const deleted = new Set();
|
|
169
187
|
for (const uri of staleUris) {
|
|
170
|
-
stale.add(
|
|
188
|
+
stale.add(resolve(this.bookmarkUri, uri));
|
|
171
189
|
}
|
|
172
190
|
for (const uri of deletedUris) {
|
|
173
|
-
stale.add(
|
|
174
|
-
deleted.add(
|
|
191
|
+
stale.add(resolve(this.bookmarkUri, uri));
|
|
192
|
+
deleted.add(resolve(this.bookmarkUri, uri));
|
|
175
193
|
}
|
|
176
194
|
stale = expandCacheDependencies(new Set([...stale, ...deleted]), this.cacheDependencies);
|
|
177
195
|
for (const uri of stale) {
|
|
@@ -191,27 +209,26 @@ class Client {
|
|
|
191
209
|
* Transforms a fetch Response to a State object.
|
|
192
210
|
*/
|
|
193
211
|
async getStateForResponse(uri, response) {
|
|
194
|
-
const contentType =
|
|
212
|
+
const contentType = parseContentType(response.headers.get('Content-Type'));
|
|
195
213
|
if (!contentType || response.status === 204) {
|
|
196
|
-
return
|
|
214
|
+
return binaryStateFactory(this, uri, response);
|
|
197
215
|
}
|
|
198
216
|
if (contentType in this.contentTypeMap) {
|
|
199
217
|
return this.contentTypeMap[contentType][0](this, uri, response);
|
|
200
218
|
}
|
|
201
219
|
else if (contentType.startsWith('text/')) {
|
|
202
220
|
// Default to TextState for any format starting with text/
|
|
203
|
-
return
|
|
221
|
+
return textStateFactory(this, uri, response);
|
|
204
222
|
}
|
|
205
223
|
else if (contentType.match(/^application\/[A-Za-z-.]+\+json/)) {
|
|
206
224
|
// Default to HalState for any format containing a pattern like application/*+json
|
|
207
|
-
return
|
|
225
|
+
return halStateFactory(this, uri, response);
|
|
208
226
|
}
|
|
209
227
|
else {
|
|
210
|
-
return
|
|
228
|
+
return binaryStateFactory(this, uri, response);
|
|
211
229
|
}
|
|
212
230
|
}
|
|
213
231
|
}
|
|
214
|
-
exports.default = Client;
|
|
215
232
|
/**
|
|
216
233
|
* Find all dependencies for a given resource.
|
|
217
234
|
*
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
package/dist/field.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"field.js","sourceRoot":"","sources":["../src/field.ts"],"names":[],"mappings":""}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import Resource from './resource';
|
|
2
|
-
import { LinkVariables } from './link';
|
|
3
|
-
import { State } from './state';
|
|
4
|
-
import { GetRequestOptions } from './types';
|
|
1
|
+
import Resource from './resource.js';
|
|
2
|
+
import { LinkVariables } from './link.js';
|
|
3
|
+
import { State } from './state/index.js';
|
|
4
|
+
import { GetRequestOptions } from './types.js';
|
|
5
5
|
/**
|
|
6
6
|
* Base interface for both FollowOne and FollowAll
|
|
7
7
|
*/
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.FollowPromiseMany = exports.FollowPromiseOne = void 0;
|
|
4
1
|
/**
|
|
5
2
|
* Base interface for both FollowOne and FollowAll
|
|
6
3
|
*/
|
|
7
4
|
class FollowPromise {
|
|
5
|
+
prefetchEnabled;
|
|
6
|
+
preferTranscludeEnabled;
|
|
7
|
+
useHeadEnabled;
|
|
8
8
|
constructor() {
|
|
9
9
|
this.prefetchEnabled = false;
|
|
10
10
|
this.preferTranscludeEnabled = false;
|
|
@@ -44,7 +44,10 @@ class FollowPromise {
|
|
|
44
44
|
* * `followAll()`, allowing a user to call `followAll()` at the end of a
|
|
45
45
|
* chain.
|
|
46
46
|
*/
|
|
47
|
-
class FollowPromiseOne extends FollowPromise {
|
|
47
|
+
export class FollowPromiseOne extends FollowPromise {
|
|
48
|
+
resource;
|
|
49
|
+
rel;
|
|
50
|
+
variables;
|
|
48
51
|
constructor(resource, rel, variables) {
|
|
49
52
|
super();
|
|
50
53
|
this.resource = resource;
|
|
@@ -127,10 +130,11 @@ class FollowPromiseOne extends FollowPromise {
|
|
|
127
130
|
return newResource;
|
|
128
131
|
}
|
|
129
132
|
}
|
|
130
|
-
exports.FollowPromiseOne = FollowPromiseOne;
|
|
131
133
|
/**
|
|
132
134
|
*/
|
|
133
|
-
class FollowPromiseMany extends FollowPromise {
|
|
135
|
+
export class FollowPromiseMany extends FollowPromise {
|
|
136
|
+
resource;
|
|
137
|
+
rel;
|
|
134
138
|
constructor(resource, rel) {
|
|
135
139
|
super();
|
|
136
140
|
this.resource = resource;
|
|
@@ -193,5 +197,4 @@ class FollowPromiseMany extends FollowPromise {
|
|
|
193
197
|
return result;
|
|
194
198
|
}
|
|
195
199
|
}
|
|
196
|
-
exports.FollowPromiseMany = FollowPromiseMany;
|
|
197
200
|
//# sourceMappingURL=follow-promise.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"follow-promise.js","sourceRoot":"","sources":["../src/follow-promise.ts"],"names":[],"mappings":"AAKA;;GAEG;AACH,MAAe,aAAa;IAEhB,eAAe,CAAU;IACzB,uBAAuB,CAAU;IACjC,cAAc,CAAU;IAElC;QACE,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;QAC7B,IAAI,CAAC,uBAAuB,GAAG,KAAK,CAAC;QACrC,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;IAC9B,CAAC;IAED,QAAQ;QACN,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;QAC5B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,gBAAgB;QACd,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC;QACpC,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;OAKG;IACH,OAAO;QAEL,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC3B,OAAO,IAAI,CAAC;IAEd,CAAC;CAKF;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,OAAO,gBAA0B,SAAQ,aAA0B;IAE/D,QAAQ,CAA+B;IACvC,GAAG,CAAS;IACZ,SAAS,CAAiB;IAElC,YAAY,QAAsC,EAAE,GAAW,EAAE,SAAyB;QAExF,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAE7B,CAAC;IAED;;;;;OAKG;IACH,IAAI,CACF,WAA2F,EAC3F,UAAqF;QAGrF,OAAO,IAAI,CAAC,mBAAmB,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;IAElE,CAAC;IAED;;OAEG;IACH,KAAK,CAAmC,UAAqF;QAE3H,OAAO,IAAI,CAAC,mBAAmB,EAAE,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;IAEhE,CAAC;IAED;;OAEG;IACH,OAAO,CAAiB,SAAiD;QAEvE,OAAO,IAAI,CAAC,IAAI,CACd,GAAG,EAAE,CAAC,SAAS,EAAE,EACjB,GAAG,EAAE,CAAC,SAAS,EAAE,CAClB,CAAC;IAEJ,CAAC;IAED;;;;;;OAMG;IACH,MAAM,CAAgB,GAAW,EAAE,SAAyB;QAE1D,OAAO,IAAI,gBAAgB,CAAC,IAAI,CAAC,mBAAmB,EAAE,EAAE,GAAG,EAAE,SAAS,CAAC,CAAC;IAE1E,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,GAAG,CAAC,UAA8B;QACtC,OAAO,CAAC,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IACtC,CAAC;IAED;;;;OAIG;IACH,SAAS,CAAgB,GAAW;QAElC,OAAO,IAAI,iBAAiB,CAAC,IAAI,CAAC,mBAAmB,EAAE,EAAE,GAAG,CAAC,CAAC;IAEhE,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,mBAAmB;QAE/B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC;QAErC,MAAM,OAAO,GAA+B,EAAE,CAAC;QAC/C,IAAI,CAAC,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,uBAAuB,EAAE,CAAC;YACzD,OAAO,CAAC,MAAM,GAAG,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC;QAC5C,CAAC;QAED,IAAI,KAAK,CAAC;QACV,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACxB,KAAK,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,EAAC,OAAO,EAAC,CAAC,CAAC;QACzC,CAAC;aAAM,CAAC;YACN,KAAK,GAAG,MAAM,QAAQ,CAAC,GAAG,CAAC;gBACzB,OAAO;aACR,CAAC,CAAC;QACL,CAAC;QAED,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QAE3D,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YACzB,WAAW,CAAC,GAAG,EAAE,CAAC,KAAK,CAAE,CAAC,GAAU,EAAE,EAAE;gBACtC,sCAAsC;gBACtC,OAAO,CAAC,IAAI,CAAC,yCAAyC,EAAE,GAAG,CAAC,CAAC;YAC/D,CAAC,CAAC,CAAC;QACL,CAAC;QAED,OAAO,WAAW,CAAC;IAErB,CAAC;CAEF;AAED;GACG;AACH,MAAM,OAAO,iBAA2B,SAAQ,aAA4B;IAElE,QAAQ,CAA+B;IACvC,GAAG,CAAS;IAEpB,YAAY,QAAsC,EAAE,GAAW;QAE7D,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;IAEjB,CAAC;IAED;;OAEG;IACH,IAAI,CACF,WAA6F,EAC7F,UAAqF;QAGrF,OAAO,IAAI,CAAC,oBAAoB,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;IAEnE,CAAC;IAED;;OAEG;IACH,KAAK,CAAmC,UAAqF;QAE3H,OAAO,IAAI,CAAC,oBAAoB,EAAE,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;IAEjE,CAAC;IAED;;OAEG;IACH,OAAO,CAAiB,SAAiD;QAEvE,OAAO,IAAI,CAAC,IAAI,CACd,GAAG,EAAE,CAAC,SAAS,EAAE,EACjB,GAAG,EAAE,CAAC,SAAS,EAAE,CAClB,CAAC;IAEJ,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,GAAG,CAAC,UAA8B;QACtC,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IAC7E,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,oBAAoB;QAEhC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC;QACrC,MAAM,OAAO,GAA+B,EAAE,CAAC;QAC/C,IAAI,CAAC,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,uBAAuB,EAAE,CAAC;YACzD,OAAO,CAAC,MAAM,GAAG,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC;QAC5C,CAAC;QAED,IAAI,KAAK,CAAC;QACV,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACxB,KAAK,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,EAAC,OAAO,EAAC,CAAC,CAAC;QACzC,CAAC;aAAM,CAAC;YACN,KAAK,GAAG,MAAM,QAAQ,CAAC,GAAG,CAAC;gBACzB,OAAO;aACR,CAAC,CAAC;QACL,CAAC;QAED,MAAM,MAAM,GAAkB,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAExD,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YACzB,MAAM,CAAC,GAAG,CAAE,QAAQ,CAAC,EAAE;gBACrB,QAAQ,CAAC,GAAG,EAAE,CAAC,KAAK,CAAE,GAAG,CAAC,EAAE;oBAC1B,sCAAsC;oBACtC,OAAO,CAAC,IAAI,CAAC,yCAAyC,EAAE,GAAG,CAAC,CAAC;gBAC/D,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;QACL,CAAC;QAED,OAAO,MAAM,CAAC;IAEhB,CAAC;CAEF"}
|
|
@@ -1,6 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.default = (userName, password) => {
|
|
1
|
+
export default (userName, password) => {
|
|
4
2
|
const basicAuthHeader = 'Basic ' + btoa(userName + ':' + password);
|
|
5
3
|
return (request, next) => {
|
|
6
4
|
request.headers.set('Authorization', basicAuthHeader);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"basic-auth.js","sourceRoot":"","sources":["../../src/http/basic-auth.ts"],"names":[],"mappings":"AAEA,eAAe,CAAC,QAAgB,EAAE,QAAgB,EAAmB,EAAE;IAErE,MAAM,eAAe,GAAG,QAAQ,GAAG,IAAI,CAAC,QAAQ,GAAG,GAAG,GAAG,QAAQ,CAAC,CAAC;IAEnE,OAAO,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE;QAEvB,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,eAAe,CAAC,CAAC;QACtD,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC;IAEvB,CAAC,CAAC;AAEJ,CAAC,CAAC"}
|
|
@@ -1,6 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.default = (token) => {
|
|
1
|
+
export default (token) => {
|
|
4
2
|
const bearerAuthHeader = 'Bearer ' + token;
|
|
5
3
|
return (request, next) => {
|
|
6
4
|
request.headers.set('Authorization', bearerAuthHeader);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bearer-auth.js","sourceRoot":"","sources":["../../src/http/bearer-auth.ts"],"names":[],"mappings":"AAEA,eAAe,CAAC,KAAa,EAAmB,EAAE;IAEhD,MAAM,gBAAgB,GAAG,SAAS,GAAG,KAAK,CAAC;IAE3C,OAAO,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE;QAEvB,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,gBAAgB,CAAC,CAAC;QACvD,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC;IAEvB,CAAC,CAAC;AAEJ,CAAC,CAAC"}
|
|
@@ -1,7 +1,3 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.Problem = exports.HttpError = void 0;
|
|
4
|
-
exports.default = problemFactory;
|
|
5
1
|
/**
|
|
6
2
|
* HttpError extends the Error object, and is thrown wheenever servers emit
|
|
7
3
|
* HTTP errors.
|
|
@@ -9,14 +5,15 @@ exports.default = problemFactory;
|
|
|
9
5
|
* It has a response property, allowing users to find out more about the
|
|
10
6
|
* nature of the error.
|
|
11
7
|
*/
|
|
12
|
-
class HttpError extends Error {
|
|
8
|
+
export class HttpError extends Error {
|
|
9
|
+
response;
|
|
10
|
+
status;
|
|
13
11
|
constructor(response) {
|
|
14
12
|
super('HTTP error ' + response.status);
|
|
15
13
|
this.response = response;
|
|
16
14
|
this.status = response.status;
|
|
17
15
|
}
|
|
18
16
|
}
|
|
19
|
-
exports.HttpError = HttpError;
|
|
20
17
|
/**
|
|
21
18
|
* Problem extends the HttpError object. If a server emits a HTTP error, and
|
|
22
19
|
* the response body's content-type is application/problem+json.
|
|
@@ -24,7 +21,8 @@ exports.HttpError = HttpError;
|
|
|
24
21
|
* application/problem+json is defined in RFC7807 and provides a standardized
|
|
25
22
|
* way to describe error conditions by a HTTP server.
|
|
26
23
|
*/
|
|
27
|
-
class Problem extends HttpError {
|
|
24
|
+
export class Problem extends HttpError {
|
|
25
|
+
body;
|
|
28
26
|
constructor(response, problemBody) {
|
|
29
27
|
super(response);
|
|
30
28
|
this.body = {
|
|
@@ -37,7 +35,6 @@ class Problem extends HttpError {
|
|
|
37
35
|
}
|
|
38
36
|
}
|
|
39
37
|
}
|
|
40
|
-
exports.Problem = Problem;
|
|
41
38
|
/**
|
|
42
39
|
* This function creates problems, not unlike the the author of this file.
|
|
43
40
|
*
|
|
@@ -48,7 +45,7 @@ exports.Problem = Problem;
|
|
|
48
45
|
* Because parsing the response might be asynchronous, the function returns
|
|
49
46
|
* a Promise resolving in either object.
|
|
50
47
|
*/
|
|
51
|
-
async function problemFactory(response) {
|
|
48
|
+
export default async function problemFactory(response) {
|
|
52
49
|
const contentType = response.headers.get('Content-Type');
|
|
53
50
|
if (contentType?.match(/^application\/problem\+json/i)) {
|
|
54
51
|
const problemBody = await response.json();
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"error.js","sourceRoot":"","sources":["../../src/http/error.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,MAAM,OAAO,SAAU,SAAQ,KAAK;IAElC,QAAQ,CAAW;IACnB,MAAM,CAAS;IAEf,YAAY,QAAkB;QAC5B,KAAK,CAAC,aAAa,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC;QACvC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;IAChC,CAAC;CAEF;AAED;;;;;;GAMG;AACH,MAAM,OAAO,OAAQ,SAAQ,SAAS;IAEpC,IAAI,CAOF;IAEF,YAAY,QAAkB,EAAE,WAAgC;QAC9D,KAAK,CAAC,QAAQ,CAAC,CAAC;QAEhB,IAAI,CAAC,IAAI,GAAG;YACV,IAAI,EAAE,WAAW,CAAC,IAAI,IAAI,aAAa;YACvC,MAAM,EAAE,WAAW,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM;YACzC,GAAG,WAAW;SACf,CAAC;QAEF,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;YACpB,IAAI,CAAC,OAAO,GAAG,aAAa,GAAG,IAAI,CAAC,MAAM,GAAG,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;QACtE,CAAC;IACH,CAAC;CAEF;AAED;;;;;;;;;GASG;AACH,MAAM,CAAC,OAAO,CAAC,KAAK,UAAU,cAAc,CAAC,QAAkB;IAE7D,MAAM,WAAW,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IACzD,IAAI,WAAW,EAAE,KAAK,CAAC,8BAA8B,CAAC,EAAE,CAAC;QACvD,MAAM,WAAW,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QAC1C,OAAO,IAAI,OAAO,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;IAC5C,CAAC;SAAM,CAAC;QACN,OAAO,IAAI,SAAS,CAAC,QAAQ,CAAC,CAAC;IACjC,CAAC;AAEH,CAAC"}
|