@toa.io/extensions.exposition 0.24.0-alpha.17 → 0.24.0-alpha.19
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/context.toa.yaml +12 -0
- package/components/identity.bans/manifest.toa.yaml +1 -1
- package/components/identity.basic/manifest.toa.yaml +1 -1
- package/components/identity.basic/operations/authenticate.js +1 -2
- package/components/identity.basic/operations/authenticate.js.map +1 -1
- package/components/identity.basic/operations/transit.js.map +1 -1
- package/components/identity.basic/operations/tsconfig.tsbuildinfo +1 -1
- package/components/identity.basic/source/authenticate.ts +0 -1
- package/components/identity.federation/events/principal.js +22 -0
- package/components/identity.federation/manifest.toa.yaml +88 -0
- package/components/identity.federation/operations/assertions-as-values.cjs +45 -0
- package/components/identity.federation/operations/assertions-as-values.cjs.map +1 -0
- package/components/identity.federation/operations/assertions-as-values.d.cts +4 -0
- package/components/identity.federation/operations/authenticate.d.ts +3 -0
- package/components/identity.federation/operations/authenticate.js +20 -0
- package/components/identity.federation/operations/authenticate.js.map +1 -0
- package/components/identity.federation/operations/create.d.ts +10 -0
- package/components/identity.federation/operations/create.js +15 -0
- package/components/identity.federation/operations/create.js.map +1 -0
- package/components/identity.federation/operations/jwt.cjs +112 -0
- package/components/identity.federation/operations/jwt.cjs.map +1 -0
- package/components/identity.federation/operations/jwt.d.cts +19 -0
- package/components/identity.federation/operations/schemas.d.ts +43 -0
- package/components/identity.federation/operations/schemas.js +9 -0
- package/components/identity.federation/operations/schemas.js.map +1 -0
- package/components/identity.federation/operations/tsconfig.tsbuildinfo +1 -0
- package/components/identity.federation/operations/types.d.ts +51 -0
- package/components/identity.federation/operations/types.js +3 -0
- package/components/identity.federation/operations/types.js.map +1 -0
- package/components/identity.federation/source/assertions-as-values.cts +20 -0
- package/components/identity.federation/source/authenticate.ts +28 -0
- package/components/identity.federation/source/create.ts +26 -0
- package/components/identity.federation/source/jwt.cts +143 -0
- package/components/identity.federation/source/schemas.ts +45 -0
- package/components/identity.federation/source/types.ts +56 -0
- package/components/identity.federation/tsconfig.json +9 -0
- package/components/identity.roles/operations/tsconfig.tsbuildinfo +1 -1
- package/components/identity.tokens/manifest.toa.yaml +1 -1
- package/components/identity.tokens/operations/authenticate.js.map +1 -1
- package/components/identity.tokens/operations/decrypt.js.map +1 -1
- package/components/identity.tokens/operations/tsconfig.tsbuildinfo +1 -1
- package/cucumber.js +0 -1
- package/documentation/components.md +24 -1
- package/documentation/identity.md +7 -7
- package/documentation/protocol.md +20 -1
- package/documentation/query.md +1 -1
- package/documentation/vary.md +69 -0
- package/features/cors.feature +6 -26
- package/features/identity.feature +17 -1
- package/features/identity.federation.feature +125 -0
- package/features/response.feature +0 -0
- package/features/steps/Captures.ts +5 -0
- package/features/steps/Components.ts +5 -0
- package/features/steps/HTTP.ts +33 -5
- package/features/steps/IdP.ts +120 -0
- package/features/steps/Parameters.ts +8 -2
- package/features/steps/Workspace.ts +5 -7
- package/features/vary.feature +120 -0
- package/package.json +17 -18
- package/source/Directive.test.ts +8 -2
- package/source/Directive.ts +19 -16
- package/source/Factory.ts +8 -7
- package/source/Gateway.ts +22 -8
- package/source/HTTP/Server.fixtures.ts +0 -1
- package/source/HTTP/Server.test.ts +61 -138
- package/source/HTTP/Server.ts +45 -31
- package/source/HTTP/formats/text.ts +1 -1
- package/source/HTTP/formats/yaml.ts +1 -1
- package/source/HTTP/messages.ts +8 -2
- package/source/Interception.ts +24 -0
- package/source/RTD/Directives.ts +2 -2
- package/source/RTD/syntax/parse.ts +6 -6
- package/source/RTD/syntax/types.ts +1 -1
- package/source/directives/auth/{Family.ts → Authorization.ts} +29 -33
- package/source/directives/auth/Incept.ts +1 -1
- package/source/directives/auth/Rule.ts +2 -2
- package/source/directives/auth/index.ts +2 -2
- package/source/directives/auth/schemes.ts +2 -1
- package/source/directives/auth/types.ts +9 -6
- package/source/directives/cache/{Family.ts → Cache.ts} +4 -5
- package/source/directives/cache/index.ts +2 -2
- package/source/directives/cache/types.ts +1 -1
- package/source/directives/cors/CORS.ts +52 -0
- package/source/directives/cors/index.ts +3 -0
- package/source/directives/dev/{Family.ts → Development.ts} +3 -4
- package/source/directives/dev/Stub.ts +4 -4
- package/source/directives/dev/Throw.ts +4 -4
- package/source/directives/dev/index.ts +2 -2
- package/source/directives/dev/types.ts +1 -1
- package/source/directives/index.ts +10 -6
- package/source/directives/octets/Context.ts +1 -1
- package/source/directives/octets/Delete.ts +1 -2
- package/source/directives/octets/Fetch.ts +1 -1
- package/source/directives/octets/List.ts +1 -1
- package/source/directives/octets/{Family.ts → Octets.ts} +3 -4
- package/source/directives/octets/Permute.ts +1 -1
- package/source/directives/octets/Store.ts +3 -3
- package/source/directives/octets/index.ts +2 -2
- package/source/directives/octets/types.ts +3 -3
- package/source/directives/vary/Directive.ts +6 -0
- package/source/directives/vary/Embed.ts +62 -0
- package/source/directives/vary/Properties.ts +17 -0
- package/source/directives/vary/Vary.ts +48 -0
- package/source/directives/vary/embeddings/Embedding.ts +6 -0
- package/source/directives/vary/embeddings/Header.ts +30 -0
- package/source/directives/vary/embeddings/Language.ts +31 -0
- package/source/directives/vary/embeddings/index.ts +11 -0
- package/source/directives/vary/index.ts +3 -0
- package/source/io.ts +4 -0
- package/transpiled/Composition.js.map +1 -1
- package/transpiled/Directive.d.ts +6 -7
- package/transpiled/Directive.js +12 -10
- package/transpiled/Directive.js.map +1 -1
- package/transpiled/Factory.d.ts +0 -1
- package/transpiled/Factory.js +7 -6
- package/transpiled/Factory.js.map +1 -1
- package/transpiled/Gateway.d.ts +8 -5
- package/transpiled/Gateway.js +12 -2
- package/transpiled/Gateway.js.map +1 -1
- package/transpiled/HTTP/Server.d.ts +4 -2
- package/transpiled/HTTP/Server.fixtures.d.ts +0 -1
- package/transpiled/HTTP/Server.fixtures.js +1 -2
- package/transpiled/HTTP/Server.fixtures.js.map +1 -1
- package/transpiled/HTTP/Server.js +33 -22
- package/transpiled/HTTP/Server.js.map +1 -1
- package/transpiled/HTTP/formats/text.d.ts +3 -1
- package/transpiled/HTTP/formats/text.js.map +1 -1
- package/transpiled/HTTP/formats/yaml.js +1 -1
- package/transpiled/HTTP/formats/yaml.js.map +1 -1
- package/transpiled/HTTP/messages.d.ts +4 -0
- package/transpiled/HTTP/messages.js +4 -2
- package/transpiled/HTTP/messages.js.map +1 -1
- package/transpiled/Interception.d.ts +9 -0
- package/transpiled/Interception.js +19 -0
- package/transpiled/Interception.js.map +1 -0
- package/transpiled/Query.js.map +1 -1
- package/transpiled/RTD/Directives.d.ts +2 -2
- package/transpiled/RTD/Node.js.map +1 -1
- package/transpiled/RTD/Route.js.map +1 -1
- package/transpiled/RTD/syntax/parse.js +1 -1
- package/transpiled/RTD/syntax/parse.js.map +1 -1
- package/transpiled/RTD/syntax/types.js +1 -1
- package/transpiled/RTD/syntax/types.js.map +1 -1
- package/transpiled/deployment.js.map +1 -1
- package/transpiled/directives/auth/{Family.d.ts → Authorization.d.ts} +4 -4
- package/transpiled/directives/auth/{Family.js → Authorization.js} +15 -8
- package/transpiled/directives/auth/Authorization.js.map +1 -0
- package/transpiled/directives/auth/Incept.js.map +1 -1
- package/transpiled/directives/auth/Role.js.map +1 -1
- package/transpiled/directives/auth/Rule.d.ts +2 -2
- package/transpiled/directives/auth/Rule.js.map +1 -1
- package/transpiled/directives/auth/index.d.ts +2 -2
- package/transpiled/directives/auth/index.js +4 -5
- package/transpiled/directives/auth/index.js.map +1 -1
- package/transpiled/directives/auth/schemes.js +2 -1
- package/transpiled/directives/auth/schemes.js.map +1 -1
- package/transpiled/directives/auth/types.d.ts +4 -4
- package/transpiled/directives/cache/{Family.d.ts → Cache.d.ts} +4 -5
- package/transpiled/directives/cache/{Family.js → Cache.js} +4 -2
- package/transpiled/directives/cache/{Family.js.map → Cache.js.map} +1 -1
- package/transpiled/directives/cache/index.d.ts +2 -2
- package/transpiled/directives/cache/index.js +4 -5
- package/transpiled/directives/cache/index.js.map +1 -1
- package/transpiled/directives/cache/types.d.ts +1 -1
- package/transpiled/directives/cors/CORS.d.ts +14 -0
- package/transpiled/directives/cors/CORS.js +42 -0
- package/transpiled/directives/cors/CORS.js.map +1 -0
- package/transpiled/directives/cors/index.d.ts +2 -0
- package/transpiled/directives/cors/index.js +6 -0
- package/transpiled/directives/cors/index.js.map +1 -0
- package/transpiled/directives/dev/{Family.d.ts → Development.d.ts} +3 -4
- package/transpiled/directives/dev/{Family.js → Development.js} +4 -2
- package/transpiled/directives/dev/Development.js.map +1 -0
- package/transpiled/directives/dev/Stub.d.ts +3 -3
- package/transpiled/directives/dev/Stub.js.map +1 -1
- package/transpiled/directives/dev/Throw.d.ts +3 -3
- package/transpiled/directives/dev/Throw.js.map +1 -1
- package/transpiled/directives/dev/index.d.ts +2 -2
- package/transpiled/directives/dev/index.js +4 -5
- package/transpiled/directives/dev/index.js.map +1 -1
- package/transpiled/directives/dev/types.d.ts +1 -1
- package/transpiled/directives/index.d.ts +3 -1
- package/transpiled/directives/index.js +9 -9
- package/transpiled/directives/index.js.map +1 -1
- package/transpiled/directives/octets/Context.d.ts +1 -1
- package/transpiled/directives/octets/Delete.d.ts +1 -1
- package/transpiled/directives/octets/Delete.js.map +1 -1
- package/transpiled/directives/octets/Fetch.d.ts +1 -1
- package/transpiled/directives/octets/List.d.ts +1 -1
- package/transpiled/directives/octets/{Family.d.ts → Octets.d.ts} +3 -4
- package/transpiled/directives/octets/{Family.js → Octets.js} +4 -2
- package/transpiled/directives/octets/Octets.js.map +1 -0
- package/transpiled/directives/octets/Permute.d.ts +1 -1
- package/transpiled/directives/octets/Store.d.ts +1 -1
- package/transpiled/directives/octets/Store.js.map +1 -1
- package/transpiled/directives/octets/index.d.ts +2 -2
- package/transpiled/directives/octets/index.js +4 -5
- package/transpiled/directives/octets/index.js.map +1 -1
- package/transpiled/directives/octets/types.d.ts +3 -3
- package/transpiled/directives/vary/Directive.d.ts +5 -0
- package/transpiled/directives/vary/Directive.js +3 -0
- package/transpiled/directives/vary/Directive.js.map +1 -0
- package/transpiled/directives/vary/Embed.d.ts +10 -0
- package/transpiled/directives/vary/Embed.js +49 -0
- package/transpiled/directives/vary/Embed.js.map +1 -0
- package/transpiled/directives/vary/Properties.d.ts +9 -0
- package/transpiled/directives/vary/Properties.js +16 -0
- package/transpiled/directives/vary/Properties.js.map +1 -0
- package/transpiled/directives/vary/Vary.d.ts +10 -0
- package/transpiled/directives/vary/Vary.js +36 -0
- package/transpiled/directives/vary/Vary.js.map +1 -0
- package/transpiled/directives/vary/embeddings/Embedding.d.ts +5 -0
- package/transpiled/directives/vary/embeddings/Embedding.js +3 -0
- package/transpiled/directives/vary/embeddings/Embedding.js.map +1 -0
- package/transpiled/directives/vary/embeddings/Header.d.ts +7 -0
- package/transpiled/directives/vary/embeddings/Header.js +26 -0
- package/transpiled/directives/vary/embeddings/Header.js.map +1 -0
- package/transpiled/directives/vary/embeddings/Language.d.ts +7 -0
- package/transpiled/directives/vary/embeddings/Language.js +28 -0
- package/transpiled/directives/vary/embeddings/Language.js.map +1 -0
- package/transpiled/directives/vary/embeddings/index.d.ts +5 -0
- package/transpiled/directives/vary/embeddings/index.js +10 -0
- package/transpiled/directives/vary/embeddings/index.js.map +1 -0
- package/transpiled/directives/vary/index.d.ts +2 -0
- package/transpiled/directives/vary/index.js +6 -0
- package/transpiled/directives/vary/index.js.map +1 -0
- package/transpiled/io.d.ts +3 -0
- package/transpiled/io.js +3 -0
- package/transpiled/io.js.map +1 -0
- package/transpiled/manifest.js.map +1 -1
- package/transpiled/tsconfig.tsbuildinfo +1 -1
- package/transpiled/directives/auth/Family.js.map +0 -1
- package/transpiled/directives/dev/Family.js.map +0 -1
- package/transpiled/directives/octets/Family.js.map +0 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import type { Output } from '../../io';
|
|
2
|
+
import type { Directive } from './types';
|
|
3
3
|
export declare class Throw implements Directive {
|
|
4
4
|
private readonly message;
|
|
5
|
-
constructor(message:
|
|
5
|
+
constructor(message: string);
|
|
6
6
|
apply(): Output;
|
|
7
7
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Throw.js","sourceRoot":"","sources":["../../../source/directives/dev/Throw.ts"],"names":[],"mappings":";;;AAGA,MAAa,KAAK;IACC,OAAO,
|
|
1
|
+
{"version":3,"file":"Throw.js","sourceRoot":"","sources":["../../../source/directives/dev/Throw.ts"],"names":[],"mappings":";;;AAGA,MAAa,KAAK;IACC,OAAO,CAAQ;IAEhC,YAAoB,OAAe;QACjC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;IACxB,CAAC;IAEM,KAAK;QACV,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IAC/B,CAAC;CACF;AAVD,sBAUC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import
|
|
2
|
-
export
|
|
1
|
+
import { Development } from './Development';
|
|
2
|
+
export declare const dev: Development;
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
module.exports = Family_1.default;
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.dev = void 0;
|
|
4
|
+
const Development_1 = require("./Development");
|
|
5
|
+
exports.dev = new Development_1.Development();
|
|
7
6
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../source/directives/dev/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../source/directives/dev/index.ts"],"names":[],"mappings":";;;AAAA,+CAA2C;AAE9B,QAAA,GAAG,GAAG,IAAI,yBAAW,EAAE,CAAA"}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.families = void 0;
|
|
7
|
-
const dev_1 =
|
|
8
|
-
const auth_1 =
|
|
9
|
-
const cache_1 =
|
|
10
|
-
const octets_1 =
|
|
11
|
-
|
|
3
|
+
exports.interceptors = exports.families = void 0;
|
|
4
|
+
const dev_1 = require("./dev");
|
|
5
|
+
const auth_1 = require("./auth");
|
|
6
|
+
const cache_1 = require("./cache");
|
|
7
|
+
const octets_1 = require("./octets");
|
|
8
|
+
const cors_1 = require("./cors");
|
|
9
|
+
const vary_1 = require("./vary");
|
|
10
|
+
exports.families = [auth_1.authorization, cache_1.cache, octets_1.octets, cors_1.cors, vary_1.vary, dev_1.dev];
|
|
11
|
+
exports.interceptors = [cors_1.cors];
|
|
12
12
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../source/directives/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../source/directives/index.ts"],"names":[],"mappings":";;;AAAA,+BAA2B;AAC3B,iCAAsC;AACtC,mCAA+B;AAC/B,qCAAiC;AACjC,iCAA6B;AAC7B,iCAA6B;AAIhB,QAAA,QAAQ,GAAa,CAAC,oBAAa,EAAE,aAAK,EAAE,eAAM,EAAE,WAAI,EAAE,WAAI,EAAE,SAAG,CAAC,CAAA;AACpE,QAAA,YAAY,GAAkB,CAAC,WAAI,CAAC,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Delete.js","sourceRoot":"","sources":["../../../source/directives/octets/Delete.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,qCAAqC;AACrC,mDAAoC;
|
|
1
|
+
{"version":3,"file":"Delete.js","sourceRoot":"","sources":["../../../source/directives/octets/Delete.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,qCAAqC;AACrC,mDAAoC;AAMpC,MAAa,MAAM;IACD,QAAQ,GAAG,IAAI,CAAA;IAEd,SAAS,CAAoB;IACtC,OAAO,GAAqB,IAAI,CAAA;IAExC,YAAoB,KAAW,EAAE,SAA6B;QAC5D,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;QAE9B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAA;IAC5B,CAAC;IAEM,KAAK,CAAC,KAAK,CAAE,OAAe,EAAE,OAAc;QACjD,IAAI,CAAC,OAAO,KAAK,MAAM,IAAI,CAAC,SAAS,CAAA;QAErC,MAAM,KAAK,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAA;QAC7C,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAiB,QAAQ,EAAE,EAAE,KAAK,EAAE,CAAC,CAAA;QAE5E,IAAI,KAAK,YAAY,KAAK;YACxB,MAAM,IAAI,eAAQ,EAAE,CAAA;QAEtB,OAAO,EAAE,CAAA;IACX,CAAC;CACF;AAvBD,wBAuBC"}
|
|
@@ -1,12 +1,11 @@
|
|
|
1
|
+
import type { Output } from '../../io';
|
|
1
2
|
import type { Remotes } from '../../Remotes';
|
|
2
|
-
import type {
|
|
3
|
+
import type { Family } from '../../Directive';
|
|
3
4
|
import type { Directive, Input } from './types';
|
|
4
|
-
declare class Octets implements Family<Directive> {
|
|
5
|
+
export declare class Octets implements Family<Directive> {
|
|
5
6
|
readonly name: string;
|
|
6
7
|
readonly mandatory: boolean;
|
|
7
8
|
private discovery;
|
|
8
9
|
create(name: string, value: any, remotes: Remotes): Directive;
|
|
9
10
|
preflight(directives: Directive[], input: Input): Promise<Output>;
|
|
10
11
|
}
|
|
11
|
-
declare const _default: Octets;
|
|
12
|
-
export = _default;
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Octets = void 0;
|
|
2
4
|
const HTTP_1 = require("../../HTTP");
|
|
3
5
|
const Context_1 = require("./Context");
|
|
4
6
|
const Store_1 = require("./Store");
|
|
@@ -37,6 +39,7 @@ class Octets {
|
|
|
37
39
|
return await action.apply(context.storage, input);
|
|
38
40
|
}
|
|
39
41
|
}
|
|
42
|
+
exports.Octets = Octets;
|
|
40
43
|
const DIRECTIVES = {
|
|
41
44
|
context: Context_1.Context,
|
|
42
45
|
store: Store_1.Store,
|
|
@@ -45,5 +48,4 @@ const DIRECTIVES = {
|
|
|
45
48
|
delete: Delete_1.Delete,
|
|
46
49
|
permute: Permute_1.Permute
|
|
47
50
|
};
|
|
48
|
-
|
|
49
|
-
//# sourceMappingURL=Family.js.map
|
|
51
|
+
//# sourceMappingURL=Octets.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Octets.js","sourceRoot":"","sources":["../../../source/directives/octets/Octets.ts"],"names":[],"mappings":";;;AAAA,qCAAqC;AACrC,uCAAmC;AACnC,mCAA+B;AAC/B,mCAA+B;AAC/B,iCAA6B;AAC7B,qCAAiC;AACjC,uCAAmC;AAOnC,MAAa,MAAM;IACD,IAAI,GAAW,QAAQ,CAAA;IACvB,SAAS,GAAY,KAAK,CAAA;IAElC,SAAS,GAAG,IAAqC,CAAA;IAElD,MAAM,CAAE,IAAY,EAAE,KAAU,EAAE,OAAgB;QACvD,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,CAAA;QAE9B,IAAI,KAAK,KAAK,SAAS;YACrB,MAAM,IAAI,KAAK,CAAC,cAAc,IAAI,6BAA6B,IAAI,CAAC,IAAI,WAAW,CAAC,CAAA;QAEtF,IAAI,CAAC,SAAS,KAAK,OAAO,CAAC,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAA;QAExD,OAAO,IAAI,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,CAAA;IAClD,CAAC;IAEM,KAAK,CAAC,SAAS,CAAE,UAAuB,EAAE,KAAY;QAC3D,IAAI,OAAO,GAAmB,IAAI,CAAA;QAClC,IAAI,MAAM,GAAqB,IAAI,CAAA;QAEnC,KAAK,MAAM,SAAS,IAAI,UAAU;YAChC,IAAI,SAAS,YAAY,iBAAO;gBAC9B,OAAO,KAAK,SAAS,CAAA;iBAClB,IAAI,MAAM,KAAK,IAAI;gBACtB,MAAM,GAAG,SAAS,CAAA;;gBAElB,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAA;QAElD,IAAI,MAAM,KAAK,IAAI;YACjB,OAAO,IAAI,CAAA;QAEb,IAAI,OAAO,KAAK,IAAI;YAClB,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAA;QAEnD,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,GAAG,CAAA;QAE1D,IAAI,QAAQ,KAAK,MAAM,CAAC,QAAQ;YAC9B,MAAM,IAAI,eAAQ,CAAC,qBAAqB,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,UAAU,GAAG,CAAC,CAAA;QAExF,OAAO,MAAM,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;IACnD,CAAC;CACF;AA1CD,wBA0CC;AAED,MAAM,UAAU,GAAgC;IAC9C,OAAO,EAAE,iBAAO;IAChB,KAAK,EAAE,aAAK;IACZ,KAAK,EAAE,aAAK;IACZ,IAAI,EAAE,WAAI;IACV,MAAM,EAAE,eAAM;IACd,OAAO,EAAE,iBAAO;CACjB,CAAA"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { Component } from '@toa.io/core';
|
|
2
|
-
import type { Output } from '../../
|
|
2
|
+
import type { Output } from '../../io';
|
|
3
3
|
import type { Directive, Input } from './types';
|
|
4
4
|
export declare class Permute implements Directive {
|
|
5
5
|
readonly targeted = false;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { Remotes } from '../../Remotes';
|
|
2
2
|
import type { Component } from '@toa.io/core';
|
|
3
|
-
import type { Output } from '../../
|
|
3
|
+
import type { Output } from '../../io';
|
|
4
4
|
import type { Directive, Input } from './types';
|
|
5
5
|
export declare class Store implements Directive {
|
|
6
6
|
readonly targeted = false;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Store.js","sourceRoot":"","sources":["../../../source/directives/octets/Store.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,6CAAsC;AACtC,yCAAiC;AACjC,yCAAiC;AACjC,6CAAwC;AACxC,qCAA6D;AAC7D,mDAAoC;AASpC,MAAa,KAAK;IACA,QAAQ,GAAG,KAAK,CAAA;IAEf,MAAM,CAAoB;IAC1B,QAAQ,CAAsB;IAC9B,SAAS,GAAuC,EAAE,CAAA;IAClD,OAAO,CAAS;IAChB,UAAU,GAA8B,EAAE,CAAA;IACnD,OAAO,GAAqB,IAAI,CAAA;IAExC,YACC,OAAuB,EAAE,SAA6B,EAAE,OAAgB;QACvE,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA;QAE/B,IAAI,CAAC,MAAM,GAAG,IAAA,iBAAK,EAAC,OAAO,EAAE,MAAM,EACjC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,KAAK,EAChC,KAAK,EAAE,CAAC,KAAe,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,EAC3C,SAAS,CAAC,CAAA;QAEZ,IAAI,CAAC,QAAQ,GAAG,IAAA,iBAAK,EAAC,OAAO,EAAE,QAAQ,EACrC,KAAK,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,KAAK,EAC/B,MAAM,EAAE,CAAC,IAAU,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,EAC9B,SAAS,CAAC,CAAA;QAEZ,IAAI,CAAC,SAAS,CAAC,OAAO,GAAG,SAAS,CAAA;QAClC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;IACxB,CAAC;IAEM,KAAK,CAAC,KAAK,CAAE,OAAe,EAAE,OAAc;QACjD,IAAI,CAAC,OAAO,KAAK,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,CAAA;QAE7C,MAAM,KAAK,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAA;QACvD,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"Store.js","sourceRoot":"","sources":["../../../source/directives/octets/Store.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import
|
|
2
|
-
export
|
|
1
|
+
import { Octets } from './Octets';
|
|
2
|
+
export declare const octets: Octets;
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
module.exports = Family_1.default;
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.octets = void 0;
|
|
4
|
+
const Octets_1 = require("./Octets");
|
|
5
|
+
exports.octets = new Octets_1.Octets();
|
|
7
6
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../source/directives/octets/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../source/directives/octets/index.ts"],"names":[],"mappings":";;;AAAA,qCAAiC;AAEpB,QAAA,MAAM,GAAG,IAAI,eAAM,EAAE,CAAA"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import type * as
|
|
1
|
+
import type * as io from '../../io';
|
|
2
2
|
export interface Directive {
|
|
3
3
|
readonly targeted: boolean;
|
|
4
|
-
apply: (storage: string, input: Input) =>
|
|
4
|
+
apply: (storage: string, input: Input) => io.Output | Promise<io.Output>;
|
|
5
5
|
}
|
|
6
6
|
export interface Extension {
|
|
7
7
|
octets?: string;
|
|
8
8
|
}
|
|
9
|
-
export type Input =
|
|
9
|
+
export type Input = io.Input & Extension;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Directive.js","sourceRoot":"","sources":["../../../source/directives/vary/Directive.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { Input } from '../../io';
|
|
2
|
+
import type { Directive } from './Directive';
|
|
3
|
+
import type { Properties } from './Properties';
|
|
4
|
+
export declare class Embed implements Directive {
|
|
5
|
+
private readonly embeddings;
|
|
6
|
+
constructor(map: Record<string, string | string[]>);
|
|
7
|
+
preflight(input: Input, properties: Properties): void;
|
|
8
|
+
private resolve;
|
|
9
|
+
private embedding;
|
|
10
|
+
}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.Embed = void 0;
|
|
7
|
+
const node_assert_1 = __importDefault(require("node:assert"));
|
|
8
|
+
const embeddings_1 = require("./embeddings");
|
|
9
|
+
class Embed {
|
|
10
|
+
embeddings = [];
|
|
11
|
+
constructor(map) {
|
|
12
|
+
for (const [key, values] of Object.entries(map)) {
|
|
13
|
+
const names = Array.isArray(values) ? values : [values];
|
|
14
|
+
const instances = names.map((name) => {
|
|
15
|
+
if (name[0] === ':')
|
|
16
|
+
return new embeddings_1.Header(name.slice(1));
|
|
17
|
+
node_assert_1.default.ok(name in embeddings_1.embeddings, `Unknown embedding: ${name}`);
|
|
18
|
+
return new embeddings_1.embeddings[name]();
|
|
19
|
+
});
|
|
20
|
+
this.embeddings.push([key, instances]);
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
preflight(input, properties) {
|
|
24
|
+
const values = {};
|
|
25
|
+
for (const [key, instances] of this.embeddings)
|
|
26
|
+
values[key] = this.resolve(instances, input, properties);
|
|
27
|
+
input.pipelines.body.push(this.embedding(values));
|
|
28
|
+
}
|
|
29
|
+
resolve(instances, input, properties) {
|
|
30
|
+
let value;
|
|
31
|
+
for (const instance of instances) {
|
|
32
|
+
value = instance.resolve(input, properties);
|
|
33
|
+
if (value !== undefined)
|
|
34
|
+
break;
|
|
35
|
+
}
|
|
36
|
+
node_assert_1.default.ok(value !== undefined, 'Neither embedding resolved a value.');
|
|
37
|
+
return value;
|
|
38
|
+
}
|
|
39
|
+
embedding(values) {
|
|
40
|
+
return (body) => {
|
|
41
|
+
if (body === undefined || body === null || typeof body !== 'object')
|
|
42
|
+
return values;
|
|
43
|
+
Object.assign(body, values);
|
|
44
|
+
return body;
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
exports.Embed = Embed;
|
|
49
|
+
//# sourceMappingURL=Embed.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Embed.js","sourceRoot":"","sources":["../../../source/directives/vary/Embed.ts"],"names":[],"mappings":";;;;;;AAAA,8DAAgC;AAChC,6CAAiD;AAMjD,MAAa,KAAK;IACC,UAAU,GAAiC,EAAE,CAAA;IAE9D,YAAoB,GAAsC;QACxD,KAAK,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;YAChD,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAA;YAEvD,MAAM,SAAS,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;gBACnC,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG;oBACjB,OAAO,IAAI,mBAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;gBAElC,qBAAM,CAAC,EAAE,CAAC,IAAI,IAAI,uBAAU,EAAE,sBAAsB,IAAI,EAAE,CAAC,CAAA;gBAE3D,OAAO,IAAI,uBAAU,CAAC,IAAI,CAAC,EAAE,CAAA;YAC/B,CAAC,CAAC,CAAA;YAEF,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC,CAAA;QACxC,CAAC;IACH,CAAC;IAEM,SAAS,CAAE,KAAY,EAAE,UAAsB;QACpD,MAAM,MAAM,GAA4B,EAAE,CAAA;QAE1C,KAAK,MAAM,CAAC,GAAG,EAAE,SAAS,CAAC,IAAI,IAAI,CAAC,UAAU;YAC5C,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,KAAK,EAAE,UAAU,CAAC,CAAA;QAE1D,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAA;IACnD,CAAC;IAEO,OAAO,CAAE,SAAsB,EAAE,KAAY,EAAE,UAAsB;QAC3E,IAAI,KAAK,CAAA;QAET,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;YACjC,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,UAAU,CAAC,CAAA;YAE3C,IAAI,KAAK,KAAK,SAAS;gBACrB,MAAK;QACT,CAAC;QAED,qBAAM,CAAC,EAAE,CAAC,KAAK,KAAK,SAAS,EAAE,qCAAqC,CAAC,CAAA;QAErE,OAAO,KAAK,CAAA;IACd,CAAC;IAEO,SAAS,CAAE,MAA+B;QAChD,OAAO,CAAC,IAAa,EAAU,EAAE;YAC/B,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ;gBACjE,OAAO,MAAM,CAAA;YAEf,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;YAE3B,OAAO,IAAI,CAAA;QACb,CAAC,CAAA;IACH,CAAC;CACF;AAtDD,sBAsDC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export interface Properties {
|
|
2
|
+
languages?: string[];
|
|
3
|
+
}
|
|
4
|
+
export declare class Property<K extends keyof Properties = keyof Properties> {
|
|
5
|
+
readonly name: K;
|
|
6
|
+
readonly value: Properties[K];
|
|
7
|
+
constructor(name: K, value: Properties[K]);
|
|
8
|
+
}
|
|
9
|
+
export declare const properties: Properties;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.properties = exports.Property = void 0;
|
|
4
|
+
class Property {
|
|
5
|
+
name;
|
|
6
|
+
value;
|
|
7
|
+
constructor(name, value) {
|
|
8
|
+
this.name = name;
|
|
9
|
+
this.value = value;
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
exports.Property = Property;
|
|
13
|
+
exports.properties = {
|
|
14
|
+
languages: []
|
|
15
|
+
};
|
|
16
|
+
//# sourceMappingURL=Properties.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Properties.js","sourceRoot":"","sources":["../../../source/directives/vary/Properties.ts"],"names":[],"mappings":";;;AAIA,MAAa,QAAQ;IACH,IAAI,CAAG;IACP,KAAK,CAAe;IAEpC,YAAoB,IAAO,EAAE,KAAoB;QAC/C,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;QAChB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;IACpB,CAAC;CACF;AARD,4BAQC;AAEY,QAAA,UAAU,GAAe;IACpC,SAAS,EAAE,EAAE;CACd,CAAA"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { Property } from './Properties';
|
|
2
|
+
import type { Directive } from './Directive';
|
|
3
|
+
import type { Family } from '../../Directive';
|
|
4
|
+
import type { Input, Output } from '../../io';
|
|
5
|
+
export declare class Vary implements Family {
|
|
6
|
+
readonly name = "vary";
|
|
7
|
+
readonly mandatory = false;
|
|
8
|
+
create(name: string, value: unknown): Property | Directive;
|
|
9
|
+
preflight(instances: Array<Directive | Property>, request: Input): Output;
|
|
10
|
+
}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Vary = void 0;
|
|
4
|
+
const matchacho_1 = require("matchacho");
|
|
5
|
+
const Properties_1 = require("./Properties");
|
|
6
|
+
const Embed_1 = require("./Embed");
|
|
7
|
+
class Vary {
|
|
8
|
+
name = 'vary';
|
|
9
|
+
mandatory = false;
|
|
10
|
+
create(name, value) {
|
|
11
|
+
return (0, matchacho_1.match)(name, () => name in Properties_1.properties, (name) => new Properties_1.Property(name, value), () => name in directives, (name) => new directives[name](value), () => {
|
|
12
|
+
throw new Error(`Unknown directive 'vary:${name}'`);
|
|
13
|
+
});
|
|
14
|
+
}
|
|
15
|
+
preflight(instances, request) {
|
|
16
|
+
/*
|
|
17
|
+
To stop consructing `properties` object on each request, Directive Families must be refactored
|
|
18
|
+
from singleton factories to per-Node instances on the Tree.
|
|
19
|
+
*/
|
|
20
|
+
const properties = {};
|
|
21
|
+
const directives = [];
|
|
22
|
+
for (const instance of instances)
|
|
23
|
+
if (instance instanceof Properties_1.Property)
|
|
24
|
+
properties[instance.name] = instance.value;
|
|
25
|
+
else
|
|
26
|
+
directives.push(instance);
|
|
27
|
+
for (const directive of directives)
|
|
28
|
+
directive.preflight(request, properties);
|
|
29
|
+
return null;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
exports.Vary = Vary;
|
|
33
|
+
const directives = {
|
|
34
|
+
embed: Embed_1.Embed
|
|
35
|
+
};
|
|
36
|
+
//# sourceMappingURL=Vary.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Vary.js","sourceRoot":"","sources":["../../../source/directives/vary/Vary.ts"],"names":[],"mappings":";;;AAAA,yCAAiC;AACjC,6CAAmD;AACnD,mCAA+B;AAM/B,MAAa,IAAI;IACC,IAAI,GAAG,MAAM,CAAA;IACb,SAAS,GAAG,KAAK,CAAA;IAE1B,MAAM,CAAE,IAAY,EAAE,KAAc;QACzC,OAAO,IAAA,iBAAK,EAAC,IAAI,EACf,GAAG,EAAE,CAAC,IAAI,IAAI,uBAAU,EAAE,CAAC,IAAQ,EAAE,EAAE,CAAC,IAAI,qBAAQ,CAAC,IAAI,EAAE,KAAW,CAAC,EACvE,GAAG,EAAE,CAAC,IAAI,IAAI,UAAU,EAAE,CAAC,IAA6B,EAAE,EAAE,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,EACxF,GAAG,EAAE;YACH,MAAM,IAAI,KAAK,CAAC,2BAA2B,IAAI,GAAG,CAAC,CAAA;QACrD,CAAC,CAAC,CAAA;IACN,CAAC;IAEM,SAAS,CAAE,SAAsC,EAAE,OAAc;QACtE;;;WAGG;QACH,MAAM,UAAU,GAAe,EAAE,CAAA;QACjC,MAAM,UAAU,GAAgB,EAAE,CAAA;QAElC,KAAK,MAAM,QAAQ,IAAI,SAAS;YAC9B,IAAI,QAAQ,YAAY,qBAAQ;gBAC9B,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAA;;gBAE1C,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QAE7B,KAAK,MAAM,SAAS,IAAI,UAAU;YAChC,SAAS,CAAC,SAAS,CAAC,OAAO,EAAE,UAAU,CAAC,CAAA;QAE1C,OAAO,IAAI,CAAA;IACb,CAAC;CACF;AAhCD,oBAgCC;AAKD,MAAM,UAAU,GAAkD;IAChE,KAAK,EAAE,aAAK;CACb,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Embedding.js","sourceRoot":"","sources":["../../../../source/directives/vary/embeddings/Embedding.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Header = void 0;
|
|
4
|
+
const cors_1 = require("../../cors");
|
|
5
|
+
class Header {
|
|
6
|
+
name;
|
|
7
|
+
constructor(name) {
|
|
8
|
+
this.name = name;
|
|
9
|
+
cors_1.cors.allowHeader(this.name);
|
|
10
|
+
}
|
|
11
|
+
resolve(input) {
|
|
12
|
+
const value = input.headers[this.name];
|
|
13
|
+
if (value === undefined)
|
|
14
|
+
return value;
|
|
15
|
+
input.pipelines.response.push((response) => {
|
|
16
|
+
response.headers ??= new Headers();
|
|
17
|
+
response.headers.append('vary', this.name);
|
|
18
|
+
});
|
|
19
|
+
if (Array.isArray(value))
|
|
20
|
+
return value.join(', ');
|
|
21
|
+
else
|
|
22
|
+
return value;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
exports.Header = Header;
|
|
26
|
+
//# sourceMappingURL=Header.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Header.js","sourceRoot":"","sources":["../../../../source/directives/vary/embeddings/Header.ts"],"names":[],"mappings":";;;AAAA,qCAAiC;AAIjC,MAAa,MAAM;IACA,IAAI,CAAQ;IAE7B,YAAoB,IAAY;QAC9B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;QAEhB,WAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAC7B,CAAC;IAEM,OAAO,CAAE,KAAY;QAC1B,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAEtC,IAAI,KAAK,KAAK,SAAS;YACrB,OAAO,KAAK,CAAA;QAEd,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE;YACzC,QAAQ,CAAC,OAAO,KAAK,IAAI,OAAO,EAAE,CAAA;YAClC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,CAAA;QAC5C,CAAC,CAAC,CAAA;QAEF,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;YACtB,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;;YAEvB,OAAO,KAAK,CAAA;IAChB,CAAC;CACF;AAzBD,wBAyBC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { Properties } from '../Properties';
|
|
2
|
+
import type { Embedding } from './Embedding';
|
|
3
|
+
import type { Input } from '../../../io';
|
|
4
|
+
export declare class Language implements Embedding {
|
|
5
|
+
constructor();
|
|
6
|
+
resolve(input: Input, properties: Properties): string | undefined;
|
|
7
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.Language = void 0;
|
|
7
|
+
const node_assert_1 = __importDefault(require("node:assert"));
|
|
8
|
+
const negotiator_1 = __importDefault(require("negotiator"));
|
|
9
|
+
const cors_1 = require("../../cors");
|
|
10
|
+
class Language {
|
|
11
|
+
constructor() {
|
|
12
|
+
cors_1.cors.allowHeader('accept-language');
|
|
13
|
+
}
|
|
14
|
+
resolve(input, properties) {
|
|
15
|
+
node_assert_1.default.ok(properties.languages !== undefined, 'Supported languages are not defined. Use `vary:languages` directive.');
|
|
16
|
+
node_assert_1.default.ok(properties.languages.length > 0, 'List of supported languages is empty.');
|
|
17
|
+
const negotiator = new negotiator_1.default(input);
|
|
18
|
+
const language = negotiator.language(properties.languages) ?? properties.languages[0];
|
|
19
|
+
input.pipelines.response.push((response) => {
|
|
20
|
+
response.headers ??= new Headers();
|
|
21
|
+
response.headers.set('content-language', language);
|
|
22
|
+
response.headers.append('vary', 'accept-language');
|
|
23
|
+
});
|
|
24
|
+
return language;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
exports.Language = Language;
|
|
28
|
+
//# sourceMappingURL=Language.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Language.js","sourceRoot":"","sources":["../../../../source/directives/vary/embeddings/Language.ts"],"names":[],"mappings":";;;;;;AAAA,8DAAgC;AAChC,4DAAmC;AACnC,qCAAiC;AAKjC,MAAa,QAAQ;IACnB;QACE,WAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAA;IACrC,CAAC;IAEM,OAAO,CAAE,KAAY,EAAE,UAAsB;QAClD,qBAAM,CAAC,EAAE,CAAC,UAAU,CAAC,SAAS,KAAK,SAAS,EAC1C,sEAAsE,CAAC,CAAA;QAEzE,qBAAM,CAAC,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EACvC,uCAAuC,CAAC,CAAA;QAE1C,MAAM,UAAU,GAAG,IAAI,oBAAU,CAAC,KAAK,CAAC,CAAA;QACxC,MAAM,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA;QAErF,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE;YACzC,QAAQ,CAAC,OAAO,KAAK,IAAI,OAAO,EAAE,CAAA;YAClC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,kBAAkB,EAAE,QAAQ,CAAC,CAAA;YAClD,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAA;QACpD,CAAC,CAAC,CAAA;QAEF,OAAO,QAAQ,CAAA;IACjB,CAAC;CACF;AAvBD,4BAuBC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Header = exports.embeddings = void 0;
|
|
4
|
+
const Language_1 = require("./Language");
|
|
5
|
+
const Header_1 = require("./Header");
|
|
6
|
+
Object.defineProperty(exports, "Header", { enumerable: true, get: function () { return Header_1.Header; } });
|
|
7
|
+
exports.embeddings = {
|
|
8
|
+
language: Language_1.Language
|
|
9
|
+
};
|
|
10
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../source/directives/vary/embeddings/index.ts"],"names":[],"mappings":";;;AAAA,yCAAqC;AACrC,qCAAiC;AAQxB,uFARA,eAAM,OAQA;AAJF,QAAA,UAAU,GAAwC;IAC7D,QAAQ,EAAE,mBAAQ;CACnB,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../source/directives/vary/index.ts"],"names":[],"mappings":";;;AAAA,iCAA6B;AAEhB,QAAA,IAAI,GAAG,IAAI,WAAI,EAAE,CAAA"}
|
package/transpiled/io.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"io.js","sourceRoot":"","sources":["../source/io.ts"],"names":[],"mappings":""}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manifest.js","sourceRoot":"","sources":["../source/manifest.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,yCAAwE;AACxE,2CAAuC;AACvC,mDAAoC;AAGpC,SAAgB,QAAQ,CAAE,WAAmB,EAAE,QAAkB;IAC/D,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC,CAAA;IAE9C,IAAI,QAAQ,CAAC,SAAS,KAAK,SAAS,IAAI,QAAQ,CAAC,SAAS,KAAK,SAAS;QACtE,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,WAAW,CAAC,CAAA;IAErD,MAAM,IAAI,GAAG,IAAA,cAAK,EAAC,WAAW,EAAE,qBAAS,CAAC,CAAA;IAE1C,UAAU,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;IAE1B,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;IAE3B,OAAO,IAAI,CAAA;AACb,CAAC;AAbD,4BAaC;AAED,SAAS,IAAI,CAAE,OAAe,EAAE,WAAmB;IACjD,OAAO,EAAE,CAAC,GAAG,GAAG,OAAO,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,WAAW,EAAE,EAAE,CAAA;AACjE,CAAC;AAED,SAAS,UAAU,CAAE,IAAU,EAAE,QAAkB;IACjD,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE;
|
|
1
|
+
{"version":3,"file":"manifest.js","sourceRoot":"","sources":["../source/manifest.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,yCAAwE;AACxE,2CAAuC;AACvC,mDAAoC;AAGpC,SAAgB,QAAQ,CAAE,WAAmB,EAAE,QAAkB;IAC/D,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC,CAAA;IAE9C,IAAI,QAAQ,CAAC,SAAS,KAAK,SAAS,IAAI,QAAQ,CAAC,SAAS,KAAK,SAAS;QACtE,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,WAAW,CAAC,CAAA;IAErD,MAAM,IAAI,GAAG,IAAA,cAAK,EAAC,WAAW,EAAE,qBAAS,CAAC,CAAA;IAE1C,UAAU,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;IAE1B,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;IAE3B,OAAO,IAAI,CAAA;AACb,CAAC;AAbD,4BAaC;AAED,SAAS,IAAI,CAAE,OAAe,EAAE,WAAmB;IACjD,OAAO,EAAE,CAAC,GAAG,GAAG,OAAO,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,WAAW,EAAE,EAAE,CAAA;AACjE,CAAC;AAED,SAAS,UAAU,CAAE,IAAU,EAAE,QAAkB;IACjD,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QAChC,KAAK,MAAM,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,OAAO;YACrC,gBAAgB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;QAEpC,UAAU,CAAC,KAAK,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;IAClC,CAAC;AACH,CAAC;AAED,SAAS,gBAAgB,CAAE,MAAc,EAAE,QAAkB;IAC3D,IAAI,MAAM,CAAC,OAAO,KAAK,SAAS;QAC9B,OAAM;IAER,MAAM,SAAS,GAAG,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;IAE9D,IAAI,SAAS,KAAK,SAAS;QACzB,MAAM,IAAI,KAAK,CAAC,cAAc,MAAM,CAAC,OAAO,CAAC,QAAQ,aAAa,CAAC,CAAA;IAErE,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,KAAK,SAAS,IAAI,SAAS,CAAC,KAAK,KAAK,KAAK;QACjE,MAAM,CAAC,OAAO,CAAC,KAAK,GAAG,EAAsB,CAAA,CAAC,wCAAwC;IAExF,MAAM,CAAC,OAAO,CAAC,SAAS,GAAG,QAAQ,CAAC,SAAS,CAAA;IAC7C,MAAM,CAAC,OAAO,CAAC,SAAS,GAAG,QAAQ,CAAC,IAAI,CAAA;AAC1C,CAAC"}
|