@toa.io/extensions.exposition 1.0.0-alpha.302 → 1.0.0-alpha.304
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/components/identity.basic/types/toa.d.ts +1 -1
- package/components/identity.clients/types/toa.d.ts +1 -1
- package/components/identity.federation/types/toa.d.ts +1 -1
- package/components/identity.grants/manifest.toa.yaml +3 -1
- package/components/identity.grants/types/toa.d.ts +1 -1
- package/components/identity.otp/types/toa.d.ts +1 -1
- package/components/identity.passkeys/types/toa.d.ts +1 -1
- package/components/identity.tokens/operations/decrypt.js +106 -60
- package/components/identity.tokens/operations/lib/jose.js +5 -2
- package/components/identity.tokens/source/decrypt.ts +136 -65
- package/components/identity.tokens/source/lib/jose.js +5 -1
- package/components/identity.tokens/types/index.d.ts +1 -0
- package/components/identity.tokens/types/toa.d.ts +1 -1
- package/package.json +7 -7
- package/transpiled/Directive.d.ts +11 -4
- package/transpiled/Directive.js +50 -14
- package/transpiled/Directive.js.map +1 -1
- package/transpiled/Endpoint.js +13 -11
- package/transpiled/Endpoint.js.map +1 -1
- package/transpiled/Gateway.js +4 -0
- package/transpiled/Gateway.js.map +1 -1
- package/transpiled/HTTP/Context.d.ts +17 -0
- package/transpiled/HTTP/Context.js +17 -0
- package/transpiled/HTTP/Context.js.map +1 -1
- package/transpiled/HTTP/Server.js +12 -6
- package/transpiled/HTTP/Server.js.map +1 -1
- package/transpiled/HTTP/messages.d.ts +9 -7
- package/transpiled/HTTP/messages.js +15 -2
- package/transpiled/HTTP/messages.js.map +1 -1
- package/transpiled/HTTP/types.d.ts +1 -0
- package/transpiled/MCP/tools.js +66 -31
- package/transpiled/MCP/tools.js.map +1 -1
- package/transpiled/Query.js +2 -0
- package/transpiled/Query.js.map +1 -1
- package/transpiled/RTD/Directives.d.ts +26 -8
- package/transpiled/RTD/Match.d.ts +6 -0
- package/transpiled/RTD/Method.d.ts +12 -0
- package/transpiled/RTD/Method.js +21 -1
- package/transpiled/RTD/Method.js.map +1 -1
- package/transpiled/RTD/Node.d.ts +3 -1
- package/transpiled/RTD/Node.js +5 -3
- package/transpiled/RTD/Node.js.map +1 -1
- package/transpiled/RTD/Route.d.ts +1 -1
- package/transpiled/RTD/Route.js +8 -5
- package/transpiled/RTD/Route.js.map +1 -1
- package/transpiled/RTD/Tree.d.ts +12 -0
- package/transpiled/RTD/Tree.js +19 -1
- package/transpiled/RTD/Tree.js.map +1 -1
- package/transpiled/RTD/segment.d.ts +2 -0
- package/transpiled/RTD/segment.js +15 -0
- package/transpiled/RTD/segment.js.map +1 -1
- package/transpiled/directives/auth/Authorization.d.ts +9 -7
- package/transpiled/directives/auth/Authorization.js +17 -16
- package/transpiled/directives/auth/Authorization.js.map +1 -1
- package/transpiled/directives/cache/Cache.d.ts +11 -0
- package/transpiled/directives/cache/Cache.js +23 -24
- package/transpiled/directives/cache/Cache.js.map +1 -1
- package/transpiled/directives/cache/etag.d.ts +10 -7
- package/transpiled/directives/cache/etag.js +13 -10
- package/transpiled/directives/cache/etag.js.map +1 -1
- package/transpiled/directives/cors/CORS.js +1 -1
- package/transpiled/directives/cors/CORS.js.map +1 -1
- package/transpiled/directives/flow/Compose.js +2 -0
- package/transpiled/directives/flow/Compose.js.map +1 -1
- package/transpiled/directives/help/Family.d.ts +1 -2
- package/transpiled/directives/help/Family.js +1 -1
- package/transpiled/directives/help/Family.js.map +1 -1
- package/transpiled/directives/io/IO.d.ts +1 -1
- package/transpiled/directives/io/IO.js +1 -1
- package/transpiled/directives/io/IO.js.map +1 -1
- package/transpiled/directives/io/Output.d.ts +5 -3
- package/transpiled/directives/io/Output.js +11 -35
- package/transpiled/directives/io/Output.js.map +1 -1
- package/transpiled/directives/io/Status.d.ts +1 -1
- package/transpiled/directives/io/Status.js +4 -2
- package/transpiled/directives/io/Status.js.map +1 -1
- package/transpiled/directives/map/Map.d.ts +1 -1
- package/transpiled/directives/map/Map.js +1 -1
- package/transpiled/directives/map/Map.js.map +1 -1
- package/transpiled/directives/mcp/MCP.d.ts +1 -2
- package/transpiled/directives/mcp/MCP.js +1 -1
- package/transpiled/directives/mcp/MCP.js.map +1 -1
- package/transpiled/directives/octets/Octets.d.ts +1 -1
- package/transpiled/directives/octets/Octets.js +1 -1
- package/transpiled/directives/octets/Octets.js.map +1 -1
- package/transpiled/measurements.d.ts +22 -0
- package/transpiled/measurements.js +37 -0
- package/transpiled/measurements.js.map +1 -0
- package/transpiled/service.js +22 -2
- package/transpiled/service.js.map +1 -1
- package/ui/dist/_app/immutable/chunks/{Wl536IQX.js → BI21DxGX.js} +1 -1
- package/ui/dist/_app/immutable/chunks/{CyQvDdUS.js → B_XBOx9b.js} +1 -1
- package/ui/dist/_app/immutable/chunks/{BNmwbB_m.js → D9-CL3SX.js} +2 -2
- package/ui/dist/_app/immutable/chunks/{D8WVrjO4.js → DfeVAkjY.js} +1 -1
- package/ui/dist/_app/immutable/entry/{app.BnIDHdVY.js → app.BG2uapp5.js} +2 -2
- package/ui/dist/_app/immutable/entry/start.Bnttjc6A.js +1 -0
- package/ui/dist/_app/immutable/nodes/{0.DV2orh1u.js → 0.CAhVptPP.js} +1 -1
- package/ui/dist/_app/immutable/nodes/{1.Bgonurdo.js → 1.CymYf6vY.js} +1 -1
- package/ui/dist/_app/immutable/nodes/{2.C0ZHj2rR.js → 2.DtwEKRzb.js} +1 -1
- package/ui/dist/_app/immutable/nodes/{3.DOixCoug.js → 3.BgfGYNeS.js} +1 -1
- package/ui/dist/_app/immutable/nodes/{4.fXuZ_LUX.js → 4.B7W24tJ1.js} +1 -1
- package/ui/dist/_app/immutable/nodes/{5.BN65yDZR.js → 5.FCfJU5jO.js} +1 -1
- package/ui/dist/_app/immutable/nodes/{6.gez_DiIA.js → 6.B9oqMcPQ.js} +1 -1
- package/ui/dist/_app/version.json +1 -1
- package/ui/dist/index.html +10 -10
- package/ui/dist/_app/immutable/entry/start.BhKXzsOH.js +0 -1
|
@@ -36,4 +36,19 @@ export function variables(segments) {
|
|
|
36
36
|
}
|
|
37
37
|
return params;
|
|
38
38
|
}
|
|
39
|
+
/** What the segments a request matched read as: a path with its placeholders, not its values. */
|
|
40
|
+
export function template(segments) {
|
|
41
|
+
if (segments.length === 0)
|
|
42
|
+
return '/';
|
|
43
|
+
return ('/' +
|
|
44
|
+
segments
|
|
45
|
+
.map((segment) => segment.fragment !== null
|
|
46
|
+
? segment.fragment
|
|
47
|
+
: segment.wildcard === true
|
|
48
|
+
? '**'
|
|
49
|
+
: segment.placeholder === null
|
|
50
|
+
? '*'
|
|
51
|
+
: ':' + segment.placeholder)
|
|
52
|
+
.join('/'));
|
|
53
|
+
}
|
|
39
54
|
//# sourceMappingURL=segment.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"segment.js","sourceRoot":"","sources":["../../source/RTD/segment.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,OAAO,CAAC,IAAY;IAClC,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;AAClC,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,IAAY;IACnC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAE7B,iBAAiB;IACjB,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,EAAE;QAAE,KAAK,CAAC,MAAM,EAAE,CAAA;IAElD,gBAAgB;IAChB,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;AACxB,CAAC;AAED,SAAS,KAAK,CAAC,OAAe;IAC5B,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,GAAG;QAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAA;SAC/E,IAAI,OAAO,KAAK,GAAG;QAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,CAAA;SACjE,IAAI,OAAO,KAAK,IAAI;QAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAA;;QAClF,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAA;AACnC,CAAC;AAYD;;;;GAIG;AACH,MAAM,UAAU,SAAS,CAAC,QAAmB;IAC3C,MAAM,MAAM,GAAgB,EAAE,CAAA;IAE9B,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,IAAI,OAAO,CAAC,QAAQ,KAAK,IAAI;YAAE,SAAQ;QAEvC,IAAI,OAAO,CAAC,QAAQ,KAAK,IAAI;YAAE,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAA;aAChE,IAAI,OAAO,CAAC,WAAW,KAAK,IAAI;YACnC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,WAAW,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAA;IACzD,CAAC;IAED,OAAO,MAAM,CAAA;AACf,CAAC"}
|
|
1
|
+
{"version":3,"file":"segment.js","sourceRoot":"","sources":["../../source/RTD/segment.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,OAAO,CAAC,IAAY;IAClC,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;AAClC,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,IAAY;IACnC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAE7B,iBAAiB;IACjB,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,EAAE;QAAE,KAAK,CAAC,MAAM,EAAE,CAAA;IAElD,gBAAgB;IAChB,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;AACxB,CAAC;AAED,SAAS,KAAK,CAAC,OAAe;IAC5B,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,GAAG;QAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAA;SAC/E,IAAI,OAAO,KAAK,GAAG;QAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,CAAA;SACjE,IAAI,OAAO,KAAK,IAAI;QAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAA;;QAClF,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAA;AACnC,CAAC;AAYD;;;;GAIG;AACH,MAAM,UAAU,SAAS,CAAC,QAAmB;IAC3C,MAAM,MAAM,GAAgB,EAAE,CAAA;IAE9B,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,IAAI,OAAO,CAAC,QAAQ,KAAK,IAAI;YAAE,SAAQ;QAEvC,IAAI,OAAO,CAAC,QAAQ,KAAK,IAAI;YAAE,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAA;aAChE,IAAI,OAAO,CAAC,WAAW,KAAK,IAAI;YACnC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,WAAW,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAA;IACzD,CAAC;IAED,OAAO,MAAM,CAAA;AACf,CAAC;AAED,iGAAiG;AACjG,MAAM,UAAU,QAAQ,CAAC,QAAmB;IAC1C,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,GAAG,CAAA;IAErC,OAAO,CACL,GAAG;QACH,QAAQ;aACL,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CACf,OAAO,CAAC,QAAQ,KAAK,IAAI;YACvB,CAAC,CAAC,OAAO,CAAC,QAAQ;YAClB,CAAC,CAAC,OAAO,CAAC,QAAQ,KAAK,IAAI;gBACzB,CAAC,CAAC,IAAI;gBACN,CAAC,CAAC,OAAO,CAAC,WAAW,KAAK,IAAI;oBAC5B,CAAC,CAAC,GAAG;oBACL,CAAC,CAAC,GAAG,GAAG,OAAO,CAAC,WAAW,CAClC;aACA,IAAI,CAAC,GAAG,CAAC,CACb,CAAA;AACH,CAAC"}
|
|
@@ -29,18 +29,20 @@ export declare class Authorization implements DirectiveFamily<Directive, Extensi
|
|
|
29
29
|
precall(directives: Directive[], context: Context, parameters: Parameter[]): Promise<Output>;
|
|
30
30
|
/**
|
|
31
31
|
* The same disjunction as `precall`, over what can be told without a request. A method no
|
|
32
|
-
* directive admits, and none is undecided about, is not this caller's to be told about
|
|
33
|
-
* `null` takes it out of the answer.
|
|
32
|
+
* directive admits, and none is undecided about, is not this caller's to be told about.
|
|
34
33
|
*
|
|
35
34
|
* A permission is matched against a path, and a description is not a request to one, so
|
|
36
35
|
* `permits` has no say here. The call it describes is still checked, which is where a
|
|
37
36
|
* token's permissions belong.
|
|
38
|
-
*
|
|
39
|
-
* A method that is described is then described by each of them, which is a separate pass:
|
|
40
|
-
* admission is a disjunction and stops at the first that admits, while what the directives
|
|
41
|
-
* fill is not any one of them's to state alone.
|
|
42
37
|
*/
|
|
43
|
-
|
|
38
|
+
admits(directives: Directive[], context: Context): Promise<boolean>;
|
|
39
|
+
/**
|
|
40
|
+
* What the directives fill in of what the method says about itself. A pass of its own,
|
|
41
|
+
* and not the caller's: admission is a disjunction and stops at the first that admits,
|
|
42
|
+
* while what the directives fill is not any one of them's to state alone — and what it
|
|
43
|
+
* fills is filled from whoever calls, which is what a caller may not send for itself.
|
|
44
|
+
*/
|
|
45
|
+
explain(directives: Directive[], introspection: Introspection): Introspection;
|
|
44
46
|
settle(directives: Directive[], context: Context, response: http.OutgoingMessage): Promise<void>;
|
|
45
47
|
/**
|
|
46
48
|
* Re-issuing a credential, and refusing a ban, are the request's business: the header
|
|
@@ -76,6 +76,10 @@ export class Authorization {
|
|
|
76
76
|
}
|
|
77
77
|
/** Authorization: whether that identity may make this call, which every call asks anew. */
|
|
78
78
|
async precall(directives, context, parameters) {
|
|
79
|
+
// `auth:incept` reads the identity out of the reply at settle, so the reply reaches the
|
|
80
|
+
// gateway as values rather than as the bytes it would otherwise pass on
|
|
81
|
+
if (directives.some((directive) => directive instanceof Incept))
|
|
82
|
+
context.reads = true;
|
|
79
83
|
for (const directive of directives) {
|
|
80
84
|
const allow = await directive.authorize(context.identity, context, parameters);
|
|
81
85
|
if (allow)
|
|
@@ -91,35 +95,32 @@ export class Authorization {
|
|
|
91
95
|
}
|
|
92
96
|
/**
|
|
93
97
|
* The same disjunction as `precall`, over what can be told without a request. A method no
|
|
94
|
-
* directive admits, and none is undecided about, is not this caller's to be told about
|
|
95
|
-
* `null` takes it out of the answer.
|
|
98
|
+
* directive admits, and none is undecided about, is not this caller's to be told about.
|
|
96
99
|
*
|
|
97
100
|
* A permission is matched against a path, and a description is not a request to one, so
|
|
98
101
|
* `permits` has no say here. The call it describes is still checked, which is where a
|
|
99
102
|
* token's permissions belong.
|
|
100
|
-
*
|
|
101
|
-
* A method that is described is then described by each of them, which is a separate pass:
|
|
102
|
-
* admission is a disjunction and stops at the first that admits, while what the directives
|
|
103
|
-
* fill is not any one of them's to state alone.
|
|
104
103
|
*/
|
|
105
|
-
async
|
|
104
|
+
async admits(directives, context) {
|
|
106
105
|
let untold = false;
|
|
107
|
-
let admitted = false;
|
|
108
106
|
for (const directive of directives) {
|
|
109
107
|
const admits = await directive.admits?.(context.identity, context);
|
|
110
108
|
if (admits === undefined) {
|
|
111
109
|
untold = true;
|
|
112
110
|
continue;
|
|
113
111
|
}
|
|
114
|
-
if (admits)
|
|
115
|
-
|
|
116
|
-
break;
|
|
117
|
-
}
|
|
112
|
+
if (admits)
|
|
113
|
+
return true;
|
|
118
114
|
}
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
115
|
+
return untold;
|
|
116
|
+
}
|
|
117
|
+
/**
|
|
118
|
+
* What the directives fill in of what the method says about itself. A pass of its own,
|
|
119
|
+
* and not the caller's: admission is a disjunction and stops at the first that admits,
|
|
120
|
+
* while what the directives fill is not any one of them's to state alone — and what it
|
|
121
|
+
* fills is filled from whoever calls, which is what a caller may not send for itself.
|
|
122
|
+
*/
|
|
123
|
+
explain(directives, introspection) {
|
|
123
124
|
for (const directive of directives)
|
|
124
125
|
introspection = directive.describe?.(introspection) ?? introspection;
|
|
125
126
|
return introspection;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Authorization.js","sourceRoot":"","sources":["../../../source/directives/auth/Authorization.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Authorization.js","sourceRoot":"","sources":["../../../source/directives/auth/Authorization.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,4 +8,15 @@ export declare class Cache implements DirectiveFamily<Directive> {
|
|
|
8
8
|
create(name: string, value: any): Directive;
|
|
9
9
|
precall(): Output;
|
|
10
10
|
settle(directives: Directive[], context: AuthenticatedContext, response: http.OutgoingMessage): Promise<void>;
|
|
11
|
+
/**
|
|
12
|
+
* What the reply is validated by, which is the body it holds. Request-scoped, because the
|
|
13
|
+
* body is the whole request's: one that made several calls sends back one of them.
|
|
14
|
+
*
|
|
15
|
+
* The tag is formed for a safe method (`GET`, `HEAD`) whose reply the client may store, and
|
|
16
|
+
* for no other: a client never sends a tag back on a write, and a reply stating `no-store`
|
|
17
|
+
* it can never send back at all. A directive that stated a tag of its own — the checksum of
|
|
18
|
+
* a stored file — keeps it. The body is bytes only once it is encoded, so what is left here
|
|
19
|
+
* is what forms the tag out of them.
|
|
20
|
+
*/
|
|
21
|
+
depart(context: http.Context, response: http.OutgoingMessage): void;
|
|
11
22
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Control } from './Control.js';
|
|
2
2
|
import { Exact } from './Exact.js';
|
|
3
|
-
import {
|
|
3
|
+
import { same, tag } from './etag.js';
|
|
4
4
|
export class Cache {
|
|
5
5
|
name = 'cache';
|
|
6
6
|
mandatory = true;
|
|
@@ -18,7 +18,6 @@ export class Cache {
|
|
|
18
18
|
const method = context.request.method;
|
|
19
19
|
const safe = method === 'GET' || method === 'HEAD';
|
|
20
20
|
response.headers ??= new Headers();
|
|
21
|
-
validate(context, response, response.headers, safe);
|
|
22
21
|
// `cache:exact` sets what it is given, whatever the method: whether a reply may be
|
|
23
22
|
// stored at all is not a question about the method's cacheability, and a token
|
|
24
23
|
// endpoint answers a POST it must not have kept
|
|
@@ -37,29 +36,29 @@ export class Cache {
|
|
|
37
36
|
else
|
|
38
37
|
directive.set(context, response.headers);
|
|
39
38
|
}
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
response.
|
|
58
|
-
|
|
59
|
-
|
|
39
|
+
/**
|
|
40
|
+
* What the reply is validated by, which is the body it holds. Request-scoped, because the
|
|
41
|
+
* body is the whole request's: one that made several calls sends back one of them.
|
|
42
|
+
*
|
|
43
|
+
* The tag is formed for a safe method (`GET`, `HEAD`) whose reply the client may store, and
|
|
44
|
+
* for no other: a client never sends a tag back on a write, and a reply stating `no-store`
|
|
45
|
+
* it can never send back at all. A directive that stated a tag of its own — the checksum of
|
|
46
|
+
* a stored file — keeps it. The body is bytes only once it is encoded, so what is left here
|
|
47
|
+
* is what forms the tag out of them.
|
|
48
|
+
*/
|
|
49
|
+
depart(context, response) {
|
|
50
|
+
const method = context.request.method;
|
|
51
|
+
if (method !== 'GET' && method !== 'HEAD')
|
|
52
|
+
return;
|
|
53
|
+
const headers = response.headers;
|
|
54
|
+
if (headers !== undefined && (headers.has('etag') || Control.disabled(headers)))
|
|
55
|
+
return;
|
|
56
|
+
response.validate = (body) => {
|
|
57
|
+
const etag = tag(body);
|
|
58
|
+
const sent = context.request.headers['if-none-match'];
|
|
59
|
+
return { etag, held: sent !== undefined && same(sent, etag) };
|
|
60
|
+
};
|
|
60
61
|
}
|
|
61
|
-
else
|
|
62
|
-
headers.set('etag', tag(version));
|
|
63
62
|
}
|
|
64
63
|
const constructors = {
|
|
65
64
|
control: Control,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Cache.js","sourceRoot":"","sources":["../../../source/directives/cache/Cache.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AACtC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAClC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"Cache.js","sourceRoot":"","sources":["../../../source/directives/cache/Cache.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AACtC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAClC,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,WAAW,CAAA;AAMrC,MAAM,OAAO,KAAK;IACA,IAAI,GAAW,OAAO,CAAA;IACtB,SAAS,GAAY,IAAI,CAAA;IAElC,MAAM,CAAC,IAAY,EAAE,KAAU;QACpC,MAAM,KAAK,GAAG,YAAY,CAAC,IAAI,CAAC,CAAA;QAEhC,IAAI,KAAK,KAAK,SAAS;YACrB,MAAM,IAAI,KAAK,CAAC,oBAAoB,IAAI,sBAAsB,CAAC,CAAA;QAEjE,OAAO,IAAI,KAAK,CAAC,KAAK,CAAC,CAAA;IACzB,CAAC;IAEM,OAAO;QACZ,OAAO,IAAI,CAAA;IACb,CAAC;IAEM,KAAK,CAAC,MAAM,CACjB,UAAuB,EACvB,OAA6B,EAC7B,QAA8B;QAE9B,MAAM,SAAS,GAAG,UAAU,CAAC,CAAC,CAAC,CAAA;QAC/B,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAA;QACrC,MAAM,IAAI,GAAG,MAAM,KAAK,KAAK,IAAI,MAAM,KAAK,MAAM,CAAA;QAElD,QAAQ,CAAC,OAAO,KAAK,IAAI,OAAO,EAAE,CAAA;QAElC,mFAAmF;QACnF,+EAA+E;QAC/E,gDAAgD;QAChD,IAAI,SAAS,YAAY,KAAK,EAAE,CAAC;YAC/B,SAAS,CAAC,GAAG,CAAC,OAAO,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAA;YAExC,OAAM;QACR,CAAC;QAED,IAAI,CAAC,IAAI;YAAE,OAAM;QAEjB,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;YAC5B,IAAI,OAAO,CAAC,QAAQ,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;gBACrE,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,SAAS,CAAC,CAAA;gBAChD,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAA;YAClD,CAAC;QACH,CAAC;;YAAM,SAAS,CAAC,GAAG,CAAC,OAAO,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAA;IACjD,CAAC;IAED;;;;;;;;;OASG;IACI,MAAM,CAAC,OAAqB,EAAE,QAA8B;QACjE,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAA;QAErC,IAAI,MAAM,KAAK,KAAK,IAAI,MAAM,KAAK,MAAM;YAAE,OAAM;QAEjD,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAA;QAEhC,IAAI,OAAO,KAAK,SAAS,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YAC7E,OAAM;QAER,QAAQ,CAAC,QAAQ,GAAG,CAAC,IAAY,EAAE,EAAE;YACnC,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC,CAAA;YACtB,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,eAAe,CAAC,CAAA;YAErD,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAA;QAC/D,CAAC,CAAA;IACH,CAAC;CACF;AAED,MAAM,YAAY,GAAkD;IAClE,OAAO,EAAE,OAAO;IAChB,KAAK,EAAE,KAAK;CACb,CAAA"}
|
|
@@ -1,10 +1,13 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
3
|
-
*
|
|
4
|
-
|
|
2
|
+
* The tag of a reply, which is the body it holds: a client that sends it back in `if-none-match`
|
|
3
|
+
* already has this reply and is told so, whatever the reply carries.
|
|
4
|
+
*/
|
|
5
|
+
export declare function tag(body: Buffer): string;
|
|
6
|
+
/** Whether the tag a client sent is this one, strong or weak. */
|
|
7
|
+
export declare function same(sent: string, tag: string): boolean;
|
|
8
|
+
/**
|
|
9
|
+
* The version a tag names, or nothing for a tag that is not one. Read out of `if-match`, which
|
|
10
|
+
* is another matter than validation: it carries the `VERSION` a client read in a body, which is
|
|
11
|
+
* what an operation refuses a stale write by. See `documentation/cache.md`.
|
|
5
12
|
*/
|
|
6
|
-
export declare function tag(version: number): string;
|
|
7
|
-
/** Whether the tag a client sent names the version, strong or weak. */
|
|
8
|
-
export declare function matches(sent: string, version: number): boolean;
|
|
9
|
-
/** The version a tag names, or nothing for a tag that is not one. */
|
|
10
13
|
export declare function parse(sent: string): number | null;
|
|
@@ -1,17 +1,20 @@
|
|
|
1
|
+
import { hash } from 'node:crypto';
|
|
1
2
|
/**
|
|
2
|
-
*
|
|
3
|
-
*
|
|
4
|
-
* and parsed only where a version is needed of it.
|
|
3
|
+
* The tag of a reply, which is the body it holds: a client that sends it back in `if-none-match`
|
|
4
|
+
* already has this reply and is told so, whatever the reply carries.
|
|
5
5
|
*/
|
|
6
|
-
export function tag(
|
|
7
|
-
return `"${
|
|
6
|
+
export function tag(body) {
|
|
7
|
+
return `"${hash('sha1', body, 'base64url')}"`;
|
|
8
8
|
}
|
|
9
|
-
/** Whether the tag a client sent
|
|
10
|
-
export function
|
|
11
|
-
|
|
12
|
-
return sent === strong || sent === 'W/' + strong;
|
|
9
|
+
/** Whether the tag a client sent is this one, strong or weak. */
|
|
10
|
+
export function same(sent, tag) {
|
|
11
|
+
return sent === tag || sent === 'W/' + tag;
|
|
13
12
|
}
|
|
14
|
-
/**
|
|
13
|
+
/**
|
|
14
|
+
* The version a tag names, or nothing for a tag that is not one. Read out of `if-match`, which
|
|
15
|
+
* is another matter than validation: it carries the `VERSION` a client read in a body, which is
|
|
16
|
+
* what an operation refuses a stale write by. See `documentation/cache.md`.
|
|
17
|
+
*/
|
|
15
18
|
export function parse(sent) {
|
|
16
19
|
const strong = sent.startsWith('W/') ? sent.slice(2) : sent;
|
|
17
20
|
if (strong.length < 3 ||
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"etag.js","sourceRoot":"","sources":["../../../source/directives/cache/etag.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"etag.js","sourceRoot":"","sources":["../../../source/directives/cache/etag.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAA;AAElC;;;GAGG;AACH,MAAM,UAAU,GAAG,CAAC,IAAY;IAC9B,OAAO,IAAI,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,WAAW,CAAC,GAAG,CAAA;AAC/C,CAAC;AAED,iEAAiE;AACjE,MAAM,UAAU,IAAI,CAAC,IAAY,EAAE,GAAW;IAC5C,OAAO,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,IAAI,GAAG,GAAG,CAAA;AAC5C,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,KAAK,CAAC,IAAY;IAChC,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;IAE3D,IACE,MAAM,CAAC,MAAM,GAAG,CAAC;QACjB,MAAM,CAAC,MAAM,GAAG,EAAE;QAClB,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC;QACvB,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC;QAErB,OAAO,IAAI,CAAA;IAEb,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;IAElC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACvC,MAAM,IAAI,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAA;QAEjC,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,GAAG,EAAE;YAAE,OAAO,IAAI,CAAA;IACzC,CAAC;IAED,OAAO,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;AAChC,CAAC"}
|
|
@@ -33,7 +33,7 @@ export class CORS {
|
|
|
33
33
|
if (origin !== undefined) {
|
|
34
34
|
output.headers.set('access-control-allow-origin', origin);
|
|
35
35
|
output.headers.set('access-control-allow-credentials', 'true');
|
|
36
|
-
output.headers.set('access-control-expose-headers', 'authorization, content-type, content-length, date, etag
|
|
36
|
+
output.headers.set('access-control-expose-headers', 'authorization, content-type, content-length, date, etag');
|
|
37
37
|
}
|
|
38
38
|
const method = input.request.method;
|
|
39
39
|
if (method === 'GET' || method === 'HEAD' || method === 'OPTIONS')
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CORS.js","sourceRoot":"","sources":["../../../source/directives/cors/CORS.ts"],"names":[],"mappings":"AAGA,0DAA0D;AAC1D,MAAM,eAAe,GAAG;IACtB,QAAQ;IACR,eAAe;IACf,cAAc;IACd,UAAU;IACV,eAAe;CAChB,CAAA;AAED,MAAM,OAAO,IAAI;IACC,IAAI,GAAG,MAAM,CAAA;IAErB,cAAc,GAAG,IAAI,GAAG,CAAS,eAAe,CAAC,CAAA;IAExC,OAAO,GAAG,IAAI,OAAO,CAAC;QACrC,8BAA8B,EAAE,sDAAsD;QACtF,kCAAkC,EAAE,MAAM;QAC1C,8BAA8B,EAAE,IAAI,CAAC,cAAc,EAAE;QACrD,wBAAwB,EAAE,MAAM;QAChC,eAAe,EAAE,cAAc;QAC/B,IAAI,EAAE,QAAQ;KACf,CAAC,CAAA;IAEK,SAAS,CAAC,KAAY;QAC3B,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAA;QAC3C,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,+BAA+B,CAAC,CAAA;QAExE;;;;;WAKG;QACH,IAAI,MAAM,KAAK,SAAS,IAAI,SAAS,KAAK,SAAS,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,KAAK,SAAS;YACvF,OAAO,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAA;QAEvC,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;YACvC,MAAM,CAAC,OAAO,KAAK,IAAI,OAAO,EAAE,CAAA;YAEhC,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;gBACzB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,6BAA6B,EAAE,MAAM,CAAC,CAAA;gBACzD,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,kCAAkC,EAAE,MAAM,CAAC,CAAA;gBAC9D,MAAM,CAAC,OAAO,CAAC,GAAG,CAChB,+BAA+B,EAC/B,
|
|
1
|
+
{"version":3,"file":"CORS.js","sourceRoot":"","sources":["../../../source/directives/cors/CORS.ts"],"names":[],"mappings":"AAGA,0DAA0D;AAC1D,MAAM,eAAe,GAAG;IACtB,QAAQ;IACR,eAAe;IACf,cAAc;IACd,UAAU;IACV,eAAe;CAChB,CAAA;AAED,MAAM,OAAO,IAAI;IACC,IAAI,GAAG,MAAM,CAAA;IAErB,cAAc,GAAG,IAAI,GAAG,CAAS,eAAe,CAAC,CAAA;IAExC,OAAO,GAAG,IAAI,OAAO,CAAC;QACrC,8BAA8B,EAAE,sDAAsD;QACtF,kCAAkC,EAAE,MAAM;QAC1C,8BAA8B,EAAE,IAAI,CAAC,cAAc,EAAE;QACrD,wBAAwB,EAAE,MAAM;QAChC,eAAe,EAAE,cAAc;QAC/B,IAAI,EAAE,QAAQ;KACf,CAAC,CAAA;IAEK,SAAS,CAAC,KAAY;QAC3B,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAA;QAC3C,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,+BAA+B,CAAC,CAAA;QAExE;;;;;WAKG;QACH,IAAI,MAAM,KAAK,SAAS,IAAI,SAAS,KAAK,SAAS,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,KAAK,SAAS;YACvF,OAAO,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAA;QAEvC,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;YACvC,MAAM,CAAC,OAAO,KAAK,IAAI,OAAO,EAAE,CAAA;YAEhC,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;gBACzB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,6BAA6B,EAAE,MAAM,CAAC,CAAA;gBACzD,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,kCAAkC,EAAE,MAAM,CAAC,CAAA;gBAC9D,MAAM,CAAC,OAAO,CAAC,GAAG,CAChB,+BAA+B,EAC/B,yDAAyD,CAC1D,CAAA;YACH,CAAC;YAED,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAA;YAEnC,IAAI,MAAM,KAAK,KAAK,IAAI,MAAM,KAAK,MAAM,IAAI,MAAM,KAAK,SAAS;gBAC/D,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;QAC3C,CAAC,CAAC,CAAA;QAEF,OAAO,IAAI,CAAA;IACb,CAAC;IAEM,KAAK;QACV,IAAI,CAAC,cAAc,GAAG,IAAI,GAAG,CAAC,eAAe,CAAC,CAAA;QAC9C,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,8BAA8B,EAAE,IAAI,CAAC,cAAc,EAAE,CAAC,CAAA;IACzE,CAAC;IAEM,KAAK,CAAC,MAAc;QACzB,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAA;QAC7C,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,8BAA8B,EAAE,IAAI,CAAC,cAAc,EAAE,CAAC,CAAA;IACzE,CAAC;IAED;;;;OAIG;IACK,cAAc;QACpB,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAC1D,CAAC;IAEO,iBAAiB,CAAC,MAAc;QACtC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,6BAA6B,EAAE,MAAM,CAAC,CAAA;QAEvD,OAAO;YACL,MAAM,EAAE,GAAG;YACX,OAAO,EAAE,IAAI,CAAC,OAAO;SACtB,CAAA;IACH,CAAC;CACF"}
|
|
@@ -7,6 +7,8 @@ export class Compose {
|
|
|
7
7
|
this.expressions = build(composition);
|
|
8
8
|
}
|
|
9
9
|
attach(context) {
|
|
10
|
+
// the composition is built out of the reply, so the reply reaches the gateway as values
|
|
11
|
+
context.reads = true;
|
|
10
12
|
context.pipelines.response.push(async (message) => {
|
|
11
13
|
if (!(message.body instanceof Readable)) {
|
|
12
14
|
console.warn('Response body is not a stream, skipping composition');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Compose.js","sourceRoot":"","sources":["../../../source/directives/flow/Compose.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Compose.js","sourceRoot":"","sources":["../../../source/directives/flow/Compose.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,7 +2,6 @@ import { Help } from './Help.ts';
|
|
|
2
2
|
import { Parameters } from './Parameters.ts';
|
|
3
3
|
import type { Introspection } from '../../Introspection.ts';
|
|
4
4
|
export type { Described } from './described.ts';
|
|
5
|
-
import type { Context } from '../../HTTP/index.ts';
|
|
6
5
|
import type { DirectiveFamily } from '../../RTD/index.ts';
|
|
7
6
|
/** The name the family is declared under, and what a consumer of one asks a method for. */
|
|
8
7
|
export declare const FAMILY = "help";
|
|
@@ -23,5 +22,5 @@ export declare class Family implements DirectiveFamily<Directive> {
|
|
|
23
22
|
static node(directives: Directive[] | undefined): Help | null;
|
|
24
23
|
create(name: string, value: unknown, _: unknown, route: string): Directive;
|
|
25
24
|
/** What the route states this method and its parameters are. */
|
|
26
|
-
explain(directives: Directive[],
|
|
25
|
+
explain(directives: Directive[], introspection: Introspection): Introspection | null;
|
|
27
26
|
}
|
|
@@ -29,7 +29,7 @@ export class Family {
|
|
|
29
29
|
return new Parameters(name, value, route);
|
|
30
30
|
}
|
|
31
31
|
/** What the route states this method and its parameters are. */
|
|
32
|
-
explain(directives,
|
|
32
|
+
explain(directives, introspection) {
|
|
33
33
|
const help = Family.method(directives);
|
|
34
34
|
// what is hidden is hidden from every answer at once, this being the one place they
|
|
35
35
|
// all read; the method itself is reached as it always was
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Family.js","sourceRoot":"","sources":["../../../source/directives/help/Family.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAChC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;
|
|
1
|
+
{"version":3,"file":"Family.js","sourceRoot":"","sources":["../../../source/directives/help/Family.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAChC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAK5C,2FAA2F;AAC3F,MAAM,CAAC,MAAM,MAAM,GAAG,MAAM,CAAA;AAI5B,MAAM,OAAO,MAAM;IACD,IAAI,GAAG,MAAM,CAAA;IACb,SAAS,GAAG,KAAK,CAAA;IAEjC;;;;;OAKG;IACa,SAAS,GAAG,KAAK,CAAA;IAEjC,mFAAmF;IAC5E,MAAM,CAAC,MAAM,CAAC,UAAmC;QACtD,OAAO,MAAM,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAA;IACrC,CAAC;IAED,qDAAqD;IAC9C,MAAM,CAAC,IAAI,CAAC,UAAmC;QACpD,OAAO,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,CAAA;IACnC,CAAC;IAED,sCAAsC;IAC/B,MAAM,CAAC,IAAY,EAAE,KAAc,EAAE,CAAU,EAAE,KAAa;QACnE,IAAI,IAAI,KAAK,MAAM,IAAI,IAAI,KAAK,QAAQ;YAAE,OAAO,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;QAEtE,IAAI,CAAC,CAAC,IAAI,KAAK,OAAO,IAAI,IAAI,KAAK,OAAO,CAAC;YACzC,MAAM,IAAI,KAAK,CAAC,2BAA2B,IAAI,EAAE,CAAC,CAAA;QAEpD,OAAO,IAAI,UAAU,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,CAAA;IAC3C,CAAC;IAED,gEAAgE;IACzD,OAAO,CAAC,UAAuB,EAAE,aAA4B;QAClE,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAA;QAEtC,oFAAoF;QACpF,0DAA0D;QAC1D,IAAI,IAAI,EAAE,MAAM,KAAK,IAAI;YAAE,OAAO,IAAI,CAAA;QAEtC,MAAM,SAAS,GAAkB;YAC/B,GAAG,aAAa;YAChB,GAAG,CAAC,IAAI,EAAE,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC;YAC3D,GAAG,CAAC,IAAI,EAAE,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC;SAC9E,CAAA;QAED,wFAAwF;QACxF,KAAK,MAAM,OAAO,IAAI,UAAU,EAAE,CAAC;YACjC,MAAM,WAAW,GAAG,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC,CAAA;YAEjD,IAAI,WAAW,KAAK,IAAI;gBAAE,SAAQ;YAElC,MAAM,UAAU,GAAG,WAAW,CAAC,UAAU,CAAA;YAEzC,KAAK,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;gBACxD,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,CAAA;gBAEzC;;;;;;;;;mBASG;gBACH,IAAI,MAAM,KAAK,SAAS,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC;oBAAE,SAAQ;gBAE3E,sEAAsE;gBACtE,MAAM,MAAM,GAAG,EAAE,GAAG,MAAM,EAA6B,CAAA;gBAEvD,OAAO,MAAM,CAAC,KAAK,CAAA;gBACnB,OAAO,MAAM,CAAC,WAAW,CAAA;gBAEzB,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,CAAA;gBACzB,SAAS,CAAC,OAAO,CAAE,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAsB,CAAA;YAChF,CAAC;QACH,CAAC;QAED,OAAO,SAAS,CAAA;IAClB,CAAC;CACF;AAED,MAAM,UAAU,GAAG,CAAC,OAAO,EAAE,OAAO,CAAU,CAAA;AAE9C,SAAS,MAAM,CAAC,UAAmC,EAAE,OAAe;IAClE,MAAM,IAAI,GAAG,UAAU,EAAE,IAAI,CAC3B,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,YAAY,IAAI,IAAI,SAAS,CAAC,OAAO,KAAK,OAAO,CAC1E,CAAA;IAED,OAAQ,IAAyB,IAAI,IAAI,CAAA;AAC3C,CAAC;AAED,SAAS,QAAQ,CACf,UAAmC,EACnC,OAAe;IAEf,MAAM,KAAK,GAAG,UAAU,EAAE,IAAI,CAC5B,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,YAAY,UAAU,IAAI,SAAS,CAAC,OAAO,KAAK,OAAO,CAChF,CAAA;IAED,OAAQ,KAAgC,IAAI,IAAI,CAAA;AAClD,CAAC"}
|
|
@@ -17,7 +17,7 @@ export declare class IO implements DirectiveFamily<Directive> {
|
|
|
17
17
|
* What a whitelist admits is what the schema states. Without an `io:output` the reply is
|
|
18
18
|
* dropped before it is sent, so there is no output to describe at all.
|
|
19
19
|
*/
|
|
20
|
-
explain(directives: Directive[],
|
|
20
|
+
explain(directives: Directive[], introspection: Introspection): Introspection;
|
|
21
21
|
settle(directives: Directive[], context: http.Context, output: http.OutgoingMessage): void;
|
|
22
22
|
/**
|
|
23
23
|
* The ticker belongs to the family rather than to any route's directives, and the
|
|
@@ -38,7 +38,7 @@ export class IO {
|
|
|
38
38
|
* What a whitelist admits is what the schema states. Without an `io:output` the reply is
|
|
39
39
|
* dropped before it is sent, so there is no output to describe at all.
|
|
40
40
|
*/
|
|
41
|
-
explain(directives,
|
|
41
|
+
explain(directives, introspection) {
|
|
42
42
|
let restricted = false;
|
|
43
43
|
for (const directive of directives) {
|
|
44
44
|
if (directive instanceof Input)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IO.js","sourceRoot":"","sources":["../../../source/directives/io/IO.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAA;AACjD,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACpC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAClC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AACxC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACpC,OAAO,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAA;AAM9C,OAAO,EAAE,UAAU,EAAE,MAAM,2CAA2C,CAAA;AAGtE,MAAM,OAAO,EAAE;IACG,IAAI,GAAG,IAAI,CAAA;IACX,SAAS,GAAG,IAAI,CAAA;IAExB,IAAI,CAAkB;IAE9B,uFAAuF;IAC/E,IAAI,GAAgB,IAAI,CAAA;IAEzB,KAAK,CAAC,IAAqB;QAChC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;IAClB,CAAC;IAED,sCAAsC;IAC/B,MAAM,CACX,IAAY,EACZ,KAAc,EACd,OAAgB,EAChB,KAAa;QAEb,IAAI,CAAC,CAAC,IAAI,IAAI,YAAY,CAAC;YACzB,MAAM,IAAI,KAAK,CAAC,iBAAiB,IAAI,sBAAsB,CAAC,CAAA;QAE9D,MAAM,SAAS,GAAG,YAAY,CAAC,IAAI,CAAC,CAAA;QAEpC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;QAEzB,IAAI,IAAI,KAAK,UAAU;YAAE,IAAI,CAAC,IAAI,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAA;QAE3E,OAAO,IAAI,SAAS,CAAC,KAAK,EAAE,IAAI,CAAC,IAAK,EAAE,KAAK,CAAC,CAAA;IAChD,CAAC;IAEM,OAAO,CACZ,UAAuB,EACvB,OAAqB,EACrB,UAAuB;QAEvB,IAAI,UAAU,GAAG,KAAK,CAAA;QAEtB,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;YACnC,UAAU,KAAK,SAAS,YAAY,MAAM,CAAA;YAE1C,SAAS,CAAC,OAAO,CAAC,OAAO,EAAE,UAAU,CAAC,CAAA;QACxC,CAAC;QAED,IAAI,CAAC,UAAU;YAAE,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,UAAU,CAAC,CAAA;QAEpD,OAAO,IAAI,CAAA;IACb,CAAC;IAED;;;OAGG;IACI,OAAO,
|
|
1
|
+
{"version":3,"file":"IO.js","sourceRoot":"","sources":["../../../source/directives/io/IO.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAA;AACjD,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACpC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAClC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AACxC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACpC,OAAO,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAA;AAM9C,OAAO,EAAE,UAAU,EAAE,MAAM,2CAA2C,CAAA;AAGtE,MAAM,OAAO,EAAE;IACG,IAAI,GAAG,IAAI,CAAA;IACX,SAAS,GAAG,IAAI,CAAA;IAExB,IAAI,CAAkB;IAE9B,uFAAuF;IAC/E,IAAI,GAAgB,IAAI,CAAA;IAEzB,KAAK,CAAC,IAAqB;QAChC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;IAClB,CAAC;IAED,sCAAsC;IAC/B,MAAM,CACX,IAAY,EACZ,KAAc,EACd,OAAgB,EAChB,KAAa;QAEb,IAAI,CAAC,CAAC,IAAI,IAAI,YAAY,CAAC;YACzB,MAAM,IAAI,KAAK,CAAC,iBAAiB,IAAI,sBAAsB,CAAC,CAAA;QAE9D,MAAM,SAAS,GAAG,YAAY,CAAC,IAAI,CAAC,CAAA;QAEpC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;QAEzB,IAAI,IAAI,KAAK,UAAU;YAAE,IAAI,CAAC,IAAI,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAA;QAE3E,OAAO,IAAI,SAAS,CAAC,KAAK,EAAE,IAAI,CAAC,IAAK,EAAE,KAAK,CAAC,CAAA;IAChD,CAAC;IAEM,OAAO,CACZ,UAAuB,EACvB,OAAqB,EACrB,UAAuB;QAEvB,IAAI,UAAU,GAAG,KAAK,CAAA;QAEtB,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;YACnC,UAAU,KAAK,SAAS,YAAY,MAAM,CAAA;YAE1C,SAAS,CAAC,OAAO,CAAC,OAAO,EAAE,UAAU,CAAC,CAAA;QACxC,CAAC;QAED,IAAI,CAAC,UAAU;YAAE,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,UAAU,CAAC,CAAA;QAEpD,OAAO,IAAI,CAAA;IACb,CAAC;IAED;;;OAGG;IACI,OAAO,CAAC,UAAuB,EAAE,aAA4B;QAClE,IAAI,UAAU,GAAG,KAAK,CAAA;QAEtB,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;YACnC,IAAI,SAAS,YAAY,KAAK;gBAC5B,aAAa,CAAC,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,EAAE,SAAS,CAAC,OAAO,CAAC,CAAA;YAExE,IAAI,CAAC,CAAC,SAAS,YAAY,MAAM,CAAC;gBAAE,SAAQ;YAE5C,UAAU,GAAG,IAAI,CAAA;YAEjB,IAAI,CAAC,SAAS,CAAC,QAAQ;gBACrB,aAAa,CAAC,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,EAAE,SAAS,CAAC,OAAO,CAAC,CAAA;QAC5E,CAAC;QAED,IAAI,CAAC,UAAU;YAAE,OAAO,aAAa,CAAC,MAAM,CAAA;QAE5C,OAAO,aAAa,CAAA;IACtB,CAAC;IAEM,MAAM,CACX,UAAuB,EACvB,OAAqB,EACrB,MAA4B;QAE5B,KAAK,MAAM,SAAS,IAAI,UAAU;YAAE,SAAS,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;IACzE,CAAC;IAED;;;;OAIG;IACI,OAAO;QACZ,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,CAAA;IACtB,CAAC;CACF;AAED,MAAM,YAAY,GAAgC;IAChD,KAAK,EAAE,KAAK;IACZ,MAAM,EAAE,MAAM;IACd,MAAM,EAAE,MAAM;IACd,QAAQ,EAAE,QAAQ;CACnB,CAAA;AAED,MAAM,MAAM,GAAc,IAAI,MAAM,CAAC,EAAE,CAAC,CAAA"}
|
|
@@ -9,9 +9,11 @@ export declare class Output implements Directive {
|
|
|
9
9
|
private readonly permissions;
|
|
10
10
|
constructor(permissions: Permissions);
|
|
11
11
|
static validate(permissions: unknown): asserts permissions is Permissions;
|
|
12
|
+
/**
|
|
13
|
+
* What the request asks for of the output, which the operation answers of it. A route that
|
|
14
|
+
* passes the reply whole asks for nothing, and one declaring these beside an inherited list
|
|
15
|
+
* asks for what the two have in common.
|
|
16
|
+
*/
|
|
12
17
|
precall(context: Context): void;
|
|
13
|
-
private restriction;
|
|
14
|
-
/** Runs per entity of a collection, hence the set and the absence of intermediates. */
|
|
15
|
-
private fit;
|
|
16
18
|
}
|
|
17
19
|
export type Permissions = string[] | boolean;
|
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
import { Stream } from 'node:stream';
|
|
2
|
-
import { console } from 'openspan';
|
|
3
1
|
import * as schemas from './schemas.js';
|
|
4
2
|
export class Output {
|
|
5
3
|
/** whether the reply passes whole, which is when the schema is the operation's own */
|
|
@@ -21,40 +19,18 @@ export class Output {
|
|
|
21
19
|
static validate(permissions) {
|
|
22
20
|
schemas.output.validate(permissions, "Incorrect 'io:output' format");
|
|
23
21
|
}
|
|
22
|
+
/**
|
|
23
|
+
* What the request asks for of the output, which the operation answers of it. A route that
|
|
24
|
+
* passes the reply whole asks for nothing, and one declaring these beside an inherited list
|
|
25
|
+
* asks for what the two have in common.
|
|
26
|
+
*/
|
|
24
27
|
precall(context) {
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
// restricted whatever status it carries
|
|
32
|
-
const error = message.authentic === true;
|
|
33
|
-
const stream = message.body instanceof Stream;
|
|
34
|
-
const none = message.body === undefined || message.body === null;
|
|
35
|
-
if (this.disabled || error || stream || none)
|
|
36
|
-
return;
|
|
37
|
-
if (typeof message.body !== 'object' || this.permissions.length === 0) {
|
|
38
|
-
if (this.omitted)
|
|
39
|
-
console.warn("Permissions for 'io:output' are not specified properly, response omitted", { path: context.url.pathname });
|
|
40
|
-
delete message.body;
|
|
41
|
-
return;
|
|
42
|
-
}
|
|
43
|
-
schemas.message.validate(message.body, "'io:output' expects response to be an object or array of objects");
|
|
44
|
-
if (Array.isArray(message.body))
|
|
45
|
-
message.body = message.body.map((entity) => this.fit(entity));
|
|
46
|
-
else
|
|
47
|
-
message.body = this.fit(message.body);
|
|
48
|
-
};
|
|
49
|
-
}
|
|
50
|
-
/** Runs per entity of a collection, hence the set and the absence of intermediates. */
|
|
51
|
-
fit(message) {
|
|
52
|
-
const output = {};
|
|
53
|
-
// the keys of the entity, so that the response keeps the order it was built in
|
|
54
|
-
for (const key of Object.keys(message))
|
|
55
|
-
if (this.allowed.has(key))
|
|
56
|
-
output[key] = message[key];
|
|
57
|
-
return output;
|
|
28
|
+
if (this.disabled)
|
|
29
|
+
return;
|
|
30
|
+
context.output =
|
|
31
|
+
context.output === undefined
|
|
32
|
+
? this.permissions
|
|
33
|
+
: context.output.filter((property) => this.allowed.has(property));
|
|
58
34
|
}
|
|
59
35
|
}
|
|
60
36
|
//# sourceMappingURL=Output.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Output.js","sourceRoot":"","sources":["../../../source/directives/io/Output.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"Output.js","sourceRoot":"","sources":["../../../source/directives/io/Output.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,cAAc,CAAA;AAIvC,MAAM,OAAO,MAAM;IACjB,sFAAsF;IACtE,QAAQ,GAAY,KAAK,CAAA;IAEzC,+EAA+E;IAC/D,OAAO,CAAa;IACnB,OAAO,GAAY,IAAI,CAAA;IACvB,WAAW,GAAa,EAAE,CAAA;IAE3C,YAAmB,WAAwB;QACzC,IAAI,OAAO,WAAW,KAAK,SAAS;YAClC,IAAI,WAAW;gBAAE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAA;;gBAChC,IAAI,CAAC,OAAO,GAAG,KAAK,CAAA;;YACtB,IAAI,CAAC,WAAW,GAAG,WAAW,CAAA;QAEnC,IAAI,CAAC,OAAO,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;IAC1C,CAAC;IAEM,MAAM,CAAC,QAAQ,CAAC,WAAoB;QACzC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,EAAE,8BAA8B,CAAC,CAAA;IACtE,CAAC;IAED;;;;OAIG;IACI,OAAO,CAAC,OAAgB;QAC7B,IAAI,IAAI,CAAC,QAAQ;YAAE,OAAM;QAEzB,OAAO,CAAC,MAAM;YACZ,OAAO,CAAC,MAAM,KAAK,SAAS;gBAC1B,CAAC,CAAC,IAAI,CAAC,WAAW;gBAClB,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAA;IACvE,CAAC;CACF"}
|
|
@@ -14,6 +14,6 @@ export declare class Status implements Directive {
|
|
|
14
14
|
private readonly property;
|
|
15
15
|
constructor(property: unknown);
|
|
16
16
|
static validate(value: unknown): asserts value is string;
|
|
17
|
-
precall(): void;
|
|
17
|
+
precall(context: http.Context): void;
|
|
18
18
|
settle(_: unknown, response: http.OutgoingMessage): void;
|
|
19
19
|
}
|
|
@@ -17,8 +17,10 @@ export class Status {
|
|
|
17
17
|
if (typeof value !== 'string')
|
|
18
18
|
throw new Error('`io:status` must be a string');
|
|
19
19
|
}
|
|
20
|
-
precall() {
|
|
21
|
-
//
|
|
20
|
+
precall(context) {
|
|
21
|
+
// the status is taken out of the reply at settle, so the reply reaches the gateway as
|
|
22
|
+
// values rather than as the bytes it would otherwise pass on
|
|
23
|
+
context.reads = true;
|
|
22
24
|
}
|
|
23
25
|
settle(_, response) {
|
|
24
26
|
const body = response.body;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Status.js","sourceRoot":"","sources":["../../../source/directives/io/Status.ts"],"names":[],"mappings":"AAGA;;;;;;;;;GASG;AACH,MAAM,OAAO,MAAM;IACA,QAAQ,CAAQ;IAEjC,YAAmB,QAAiB;QAClC,IAAI,CAAC,QAAQ,GAAG,QAAkB,CAAA;IACpC,CAAC;IAEM,MAAM,CAAC,QAAQ,CAAC,KAAc;QACnC,IAAI,OAAO,KAAK,KAAK,QAAQ;YAAE,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAA;IAChF,CAAC;IAEM,OAAO;
|
|
1
|
+
{"version":3,"file":"Status.js","sourceRoot":"","sources":["../../../source/directives/io/Status.ts"],"names":[],"mappings":"AAGA;;;;;;;;;GASG;AACH,MAAM,OAAO,MAAM;IACA,QAAQ,CAAQ;IAEjC,YAAmB,QAAiB;QAClC,IAAI,CAAC,QAAQ,GAAG,QAAkB,CAAA;IACpC,CAAC;IAEM,MAAM,CAAC,QAAQ,CAAC,KAAc;QACnC,IAAI,OAAO,KAAK,KAAK,QAAQ;YAAE,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAA;IAChF,CAAC;IAEM,OAAO,CAAC,OAAqB;QAClC,sFAAsF;QACtF,6DAA6D;QAC7D,OAAO,CAAC,KAAK,GAAG,IAAI,CAAA;IACtB,CAAC;IAEM,MAAM,CAAC,CAAU,EAAE,QAA8B;QACtD,MAAM,IAAI,GAAY,QAAQ,CAAC,IAAI,CAAA;QAEnC,IAAI,IAAI,KAAK,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC;YAAE,OAAM;QAEjF,MAAM,KAAK,GAAa,IAAgC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QAEvE,IAAI,OAAO,KAAK,KAAK,QAAQ;YAC3B,MAAM,IAAI,KAAK,CAAC,0BAA0B,IAAI,CAAC,QAAQ,kBAAkB,CAAC,CAAA;QAE5E,QAAQ,CAAC,MAAM,GAAG,KAAK,CAAA;QAEvB,gEAAgE;QAChE,OAAQ,IAAgC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;IACzD,CAAC;CACF"}
|
|
@@ -10,6 +10,6 @@ export declare class Map implements DirectiveFamily {
|
|
|
10
10
|
readonly mandatory = false;
|
|
11
11
|
private remotes;
|
|
12
12
|
create(name: string, value: unknown, remotes: Remotes): Property | Mapping;
|
|
13
|
-
explain(directives: Directive[],
|
|
13
|
+
explain(directives: Directive[], introspection: Introspection): Introspection;
|
|
14
14
|
precall(directives: Directive[], context: Input, parameters: Parameter[]): Promise<Output>;
|
|
15
15
|
}
|
|
@@ -19,7 +19,7 @@ export class Map {
|
|
|
19
19
|
throw new Error(`Directive 'map:${name}' is not implemented`);
|
|
20
20
|
});
|
|
21
21
|
}
|
|
22
|
-
explain(directives,
|
|
22
|
+
explain(directives, introspection) {
|
|
23
23
|
for (const directive of directives)
|
|
24
24
|
if (directive instanceof Mapping)
|
|
25
25
|
directive.explain(introspection);
|