@bleedingdev/modern-js-plugin-bff 3.5.0-ultramodern.30 → 3.5.0-ultramodern.32
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/cjs/cli/compress.js +52 -0
- package/dist/cjs/cli/generator.js +149 -0
- package/dist/cjs/cli/prefix.js +50 -0
- package/dist/cjs/cli/watch.js +51 -0
- package/dist/cjs/cli.js +11 -130
- package/dist/cjs/runtime/data-platform/batch/queue.js +287 -0
- package/dist/cjs/runtime/data-platform/batch/request.js +98 -0
- package/dist/cjs/runtime/data-platform/batch/response.js +67 -0
- package/dist/cjs/runtime/data-platform/batch/telemetry.js +67 -0
- package/dist/cjs/runtime/data-platform/batch/url.js +69 -0
- package/dist/cjs/runtime/data-platform/batch-transport.js +59 -0
- package/dist/cjs/runtime/data-platform/codec.js +155 -0
- package/dist/cjs/runtime/data-platform/index.js +30 -633
- package/dist/cjs/runtime/data-platform/invalidation.js +61 -0
- package/dist/cjs/runtime/data-platform/trace.js +73 -0
- package/dist/cjs/runtime/data-platform/types.js +48 -0
- package/dist/cjs/runtime/data-platform/validation.js +178 -0
- package/dist/cjs/runtime/effect/adapter/constants.js +44 -0
- package/dist/cjs/runtime/effect/adapter/cross-project-policy.js +61 -0
- package/dist/cjs/runtime/effect/adapter/entry.js +77 -0
- package/dist/cjs/runtime/effect/adapter/error-response.js +79 -0
- package/dist/cjs/runtime/effect/adapter/handler.js +53 -0
- package/dist/cjs/runtime/effect/adapter.js +12 -115
- package/dist/cjs/runtime/effect/backend-federation/entry.js +99 -0
- package/dist/cjs/runtime/effect/backend-federation/load.js +57 -0
- package/dist/cjs/runtime/effect/backend-federation/plugin.js +53 -0
- package/dist/cjs/runtime/effect/backend-federation/remotes.js +50 -0
- package/dist/cjs/runtime/effect/backend-federation/runtime.js +64 -0
- package/dist/cjs/runtime/effect/backend-federation/types.js +18 -0
- package/dist/cjs/runtime/effect/backend-federation/utils.js +48 -0
- package/dist/cjs/runtime/effect/backend-federation-manifest/errors.js +83 -0
- package/dist/cjs/runtime/effect/backend-federation-manifest/index.js +55 -0
- package/dist/cjs/runtime/effect/backend-federation-manifest/load.js +74 -0
- package/dist/cjs/runtime/effect/backend-federation-manifest/metadata.js +101 -0
- package/dist/cjs/runtime/effect/backend-federation-manifest/reference.js +117 -0
- package/dist/cjs/runtime/effect/backend-federation-manifest/remote.js +68 -0
- package/dist/cjs/runtime/effect/backend-federation-manifest/types.js +18 -0
- package/dist/cjs/runtime/effect/backend-federation-manifest/validation.js +108 -0
- package/dist/cjs/runtime/effect/backend-federation-manifest.js +32 -257
- package/dist/cjs/runtime/effect/backend-federation.js +11 -139
- package/dist/cjs/runtime/effect/handler/batch-handler.js +161 -0
- package/dist/cjs/runtime/effect/handler/batch.js +195 -0
- package/dist/cjs/runtime/effect/handler/definition.js +101 -0
- package/dist/cjs/runtime/effect/handler/envelope.js +104 -0
- package/dist/cjs/runtime/effect/handler/http.js +96 -0
- package/dist/cjs/runtime/effect/handler/openapi.js +57 -0
- package/dist/cjs/runtime/effect/handler/routing.js +100 -0
- package/dist/cjs/runtime/effect/handler/rpc.js +63 -0
- package/dist/cjs/runtime/effect/handler/types.js +43 -0
- package/dist/cjs/runtime/effect/handler.js +35 -526
- package/dist/cjs/runtime/effect/rpcSerialization.js +54 -0
- package/dist/cjs/runtime/effect-client/batch.js +73 -0
- package/dist/cjs/runtime/effect-client/envelope.js +145 -0
- package/dist/cjs/runtime/effect-client/guards.js +44 -0
- package/dist/cjs/runtime/effect-client/index.js +6 -16
- package/dist/cjs/runtime/effect-client/request-context.js +64 -0
- package/dist/cjs/runtime/effect-client/request.js +66 -0
- package/dist/cjs/runtime/effect-client/runtime.js +12 -178
- package/dist/cjs/runtime/effect-client/types.js +18 -0
- package/dist/cjs/runtime/safe-failure.js +2 -1
- package/dist/cjs/utils/client-generator/files.js +152 -0
- package/dist/cjs/utils/client-generator/generate.js +138 -0
- package/dist/cjs/utils/client-generator/index.js +83 -0
- package/dist/cjs/utils/client-generator/package-json.js +132 -0
- package/dist/cjs/utils/client-generator/write-package.js +125 -0
- package/dist/cjs/utils/clientGenerator.js +26 -303
- package/dist/cjs/utils/effect-client-generator/generator.js +64 -0
- package/dist/cjs/utils/effect-client-generator/index.js +51 -0
- package/dist/cjs/utils/effect-client-generator/paths.js +73 -0
- package/dist/cjs/utils/effect-client-generator/rendering.js +231 -0
- package/dist/cjs/utils/effect-client-generator/runtime.js +84 -0
- package/dist/cjs/utils/effect-client-generator/types.js +18 -0
- package/dist/cjs/utils/effectClientGenerator.js +5 -262
- package/dist/esm/cli/compress.mjs +14 -0
- package/dist/esm/cli/generator.mjs +98 -0
- package/dist/esm/cli/prefix.mjs +9 -0
- package/dist/esm/cli/watch.mjs +13 -0
- package/dist/esm/cli.mjs +7 -121
- package/dist/esm/runtime/data-platform/batch/queue.mjs +246 -0
- package/dist/esm/runtime/data-platform/batch/request.mjs +45 -0
- package/dist/esm/runtime/data-platform/batch/response.mjs +23 -0
- package/dist/esm/runtime/data-platform/batch/telemetry.mjs +23 -0
- package/dist/esm/runtime/data-platform/batch/url.mjs +25 -0
- package/dist/esm/runtime/data-platform/batch-transport.mjs +12 -0
- package/dist/esm/runtime/data-platform/codec.mjs +90 -0
- package/dist/esm/runtime/data-platform/index.mjs +6 -610
- package/dist/esm/runtime/data-platform/invalidation.mjs +20 -0
- package/dist/esm/runtime/data-platform/trace.mjs +29 -0
- package/dist/esm/runtime/data-platform/types.mjs +4 -0
- package/dist/esm/runtime/data-platform/validation.mjs +128 -0
- package/dist/esm/runtime/effect/adapter/constants.mjs +6 -0
- package/dist/esm/runtime/effect/adapter/cross-project-policy.mjs +23 -0
- package/dist/esm/runtime/effect/adapter/entry.mjs +29 -0
- package/dist/esm/runtime/effect/adapter/error-response.mjs +41 -0
- package/dist/esm/runtime/effect/adapter/handler.mjs +15 -0
- package/dist/esm/runtime/effect/adapter.mjs +12 -105
- package/dist/esm/runtime/effect/backend-federation/entry.mjs +61 -0
- package/dist/esm/runtime/effect/backend-federation/load.mjs +19 -0
- package/dist/esm/runtime/effect/backend-federation/plugin.mjs +15 -0
- package/dist/esm/runtime/effect/backend-federation/remotes.mjs +12 -0
- package/dist/esm/runtime/effect/backend-federation/runtime.mjs +26 -0
- package/dist/esm/runtime/effect/backend-federation/types.mjs +0 -0
- package/dist/esm/runtime/effect/backend-federation/utils.mjs +7 -0
- package/dist/esm/runtime/effect/backend-federation-manifest/errors.mjs +32 -0
- package/dist/esm/runtime/effect/backend-federation-manifest/index.mjs +4 -0
- package/dist/esm/runtime/effect/backend-federation-manifest/load.mjs +36 -0
- package/dist/esm/runtime/effect/backend-federation-manifest/metadata.mjs +42 -0
- package/dist/esm/runtime/effect/backend-federation-manifest/reference.mjs +76 -0
- package/dist/esm/runtime/effect/backend-federation-manifest/remote.mjs +30 -0
- package/dist/esm/runtime/effect/backend-federation-manifest/types.mjs +0 -0
- package/dist/esm/runtime/effect/backend-federation-manifest/validation.mjs +64 -0
- package/dist/esm/runtime/effect/backend-federation-manifest.mjs +1 -237
- package/dist/esm/runtime/effect/backend-federation.mjs +4 -132
- package/dist/esm/runtime/effect/handler/batch-handler.mjs +123 -0
- package/dist/esm/runtime/effect/handler/batch.mjs +124 -0
- package/dist/esm/runtime/effect/handler/definition.mjs +60 -0
- package/dist/esm/runtime/effect/handler/envelope.mjs +63 -0
- package/dist/esm/runtime/effect/handler/http.mjs +58 -0
- package/dist/esm/runtime/effect/handler/openapi.mjs +19 -0
- package/dist/esm/runtime/effect/handler/routing.mjs +50 -0
- package/dist/esm/runtime/effect/handler/rpc.mjs +22 -0
- package/dist/esm/runtime/effect/handler/types.mjs +5 -0
- package/dist/esm/runtime/effect/handler.mjs +7 -499
- package/dist/esm/runtime/effect/rpcSerialization.mjs +16 -0
- package/dist/esm/runtime/effect-client/batch.mjs +35 -0
- package/dist/esm/runtime/effect-client/envelope.mjs +104 -0
- package/dist/esm/runtime/effect-client/guards.mjs +3 -0
- package/dist/esm/runtime/effect-client/index.mjs +5 -15
- package/dist/esm/runtime/effect-client/request-context.mjs +23 -0
- package/dist/esm/runtime/effect-client/request.mjs +28 -0
- package/dist/esm/runtime/effect-client/runtime.mjs +12 -178
- package/dist/esm/runtime/effect-client/types.mjs +0 -0
- package/dist/esm/runtime/safe-failure.mjs +2 -1
- package/dist/esm/utils/client-generator/files.mjs +68 -0
- package/dist/esm/utils/client-generator/generate.mjs +88 -0
- package/dist/esm/utils/client-generator/index.mjs +4 -0
- package/dist/esm/utils/client-generator/package-json.mjs +78 -0
- package/dist/esm/utils/client-generator/write-package.mjs +74 -0
- package/dist/esm/utils/clientGenerator.mjs +2 -293
- package/dist/esm/utils/effect-client-generator/generator.mjs +23 -0
- package/dist/esm/utils/effect-client-generator/index.mjs +3 -0
- package/dist/esm/utils/effect-client-generator/paths.mjs +25 -0
- package/dist/esm/utils/effect-client-generator/rendering.mjs +180 -0
- package/dist/esm/utils/effect-client-generator/runtime.mjs +33 -0
- package/dist/esm/utils/effect-client-generator/types.mjs +0 -0
- package/dist/esm/utils/effectClientGenerator.mjs +1 -249
- package/dist/esm-node/cli/compress.mjs +15 -0
- package/dist/esm-node/cli/generator.mjs +99 -0
- package/dist/esm-node/cli/prefix.mjs +10 -0
- package/dist/esm-node/cli/watch.mjs +14 -0
- package/dist/esm-node/cli.mjs +7 -121
- package/dist/esm-node/runtime/data-platform/batch/queue.mjs +247 -0
- package/dist/esm-node/runtime/data-platform/batch/request.mjs +46 -0
- package/dist/esm-node/runtime/data-platform/batch/response.mjs +24 -0
- package/dist/esm-node/runtime/data-platform/batch/telemetry.mjs +24 -0
- package/dist/esm-node/runtime/data-platform/batch/url.mjs +26 -0
- package/dist/esm-node/runtime/data-platform/batch-transport.mjs +13 -0
- package/dist/esm-node/runtime/data-platform/codec.mjs +91 -0
- package/dist/esm-node/runtime/data-platform/index.mjs +6 -610
- package/dist/esm-node/runtime/data-platform/invalidation.mjs +21 -0
- package/dist/esm-node/runtime/data-platform/trace.mjs +30 -0
- package/dist/esm-node/runtime/data-platform/types.mjs +5 -0
- package/dist/esm-node/runtime/data-platform/validation.mjs +129 -0
- package/dist/esm-node/runtime/effect/adapter/constants.mjs +7 -0
- package/dist/esm-node/runtime/effect/adapter/cross-project-policy.mjs +24 -0
- package/dist/esm-node/runtime/effect/adapter/entry.mjs +30 -0
- package/dist/esm-node/runtime/effect/adapter/error-response.mjs +42 -0
- package/dist/esm-node/runtime/effect/adapter/handler.mjs +16 -0
- package/dist/esm-node/runtime/effect/adapter.mjs +12 -105
- package/dist/esm-node/runtime/effect/backend-federation/entry.mjs +62 -0
- package/dist/esm-node/runtime/effect/backend-federation/load.mjs +20 -0
- package/dist/esm-node/runtime/effect/backend-federation/plugin.mjs +16 -0
- package/dist/esm-node/runtime/effect/backend-federation/remotes.mjs +13 -0
- package/dist/esm-node/runtime/effect/backend-federation/runtime.mjs +27 -0
- package/dist/esm-node/runtime/effect/backend-federation/types.mjs +1 -0
- package/dist/esm-node/runtime/effect/backend-federation/utils.mjs +8 -0
- package/dist/esm-node/runtime/effect/backend-federation-manifest/errors.mjs +33 -0
- package/dist/esm-node/runtime/effect/backend-federation-manifest/index.mjs +5 -0
- package/dist/esm-node/runtime/effect/backend-federation-manifest/load.mjs +37 -0
- package/dist/esm-node/runtime/effect/backend-federation-manifest/metadata.mjs +43 -0
- package/dist/esm-node/runtime/effect/backend-federation-manifest/reference.mjs +77 -0
- package/dist/esm-node/runtime/effect/backend-federation-manifest/remote.mjs +31 -0
- package/dist/esm-node/runtime/effect/backend-federation-manifest/types.mjs +1 -0
- package/dist/esm-node/runtime/effect/backend-federation-manifest/validation.mjs +65 -0
- package/dist/esm-node/runtime/effect/backend-federation-manifest.mjs +1 -237
- package/dist/esm-node/runtime/effect/backend-federation.mjs +4 -132
- package/dist/esm-node/runtime/effect/handler/batch-handler.mjs +124 -0
- package/dist/esm-node/runtime/effect/handler/batch.mjs +125 -0
- package/dist/esm-node/runtime/effect/handler/definition.mjs +61 -0
- package/dist/esm-node/runtime/effect/handler/envelope.mjs +64 -0
- package/dist/esm-node/runtime/effect/handler/http.mjs +59 -0
- package/dist/esm-node/runtime/effect/handler/openapi.mjs +20 -0
- package/dist/esm-node/runtime/effect/handler/routing.mjs +51 -0
- package/dist/esm-node/runtime/effect/handler/rpc.mjs +23 -0
- package/dist/esm-node/runtime/effect/handler/types.mjs +6 -0
- package/dist/esm-node/runtime/effect/handler.mjs +7 -499
- package/dist/esm-node/runtime/effect/rpcSerialization.mjs +17 -0
- package/dist/esm-node/runtime/effect-client/batch.mjs +36 -0
- package/dist/esm-node/runtime/effect-client/envelope.mjs +105 -0
- package/dist/esm-node/runtime/effect-client/guards.mjs +4 -0
- package/dist/esm-node/runtime/effect-client/index.mjs +5 -15
- package/dist/esm-node/runtime/effect-client/request-context.mjs +24 -0
- package/dist/esm-node/runtime/effect-client/request.mjs +29 -0
- package/dist/esm-node/runtime/effect-client/runtime.mjs +12 -178
- package/dist/esm-node/runtime/effect-client/types.mjs +1 -0
- package/dist/esm-node/runtime/safe-failure.mjs +2 -1
- package/dist/esm-node/utils/client-generator/files.mjs +69 -0
- package/dist/esm-node/utils/client-generator/generate.mjs +89 -0
- package/dist/esm-node/utils/client-generator/index.mjs +5 -0
- package/dist/esm-node/utils/client-generator/package-json.mjs +79 -0
- package/dist/esm-node/utils/client-generator/write-package.mjs +75 -0
- package/dist/esm-node/utils/clientGenerator.mjs +2 -293
- package/dist/esm-node/utils/effect-client-generator/generator.mjs +24 -0
- package/dist/esm-node/utils/effect-client-generator/index.mjs +4 -0
- package/dist/esm-node/utils/effect-client-generator/paths.mjs +26 -0
- package/dist/esm-node/utils/effect-client-generator/rendering.mjs +181 -0
- package/dist/esm-node/utils/effect-client-generator/runtime.mjs +35 -0
- package/dist/esm-node/utils/effect-client-generator/types.mjs +1 -0
- package/dist/esm-node/utils/effectClientGenerator.mjs +2 -251
- package/dist/types/cli/compress.d.ts +2 -0
- package/dist/types/cli/generator.d.ts +7 -0
- package/dist/types/cli/prefix.d.ts +2 -0
- package/dist/types/cli/watch.d.ts +1 -0
- package/dist/types/cli.d.ts +0 -1
- package/dist/types/runtime/data-platform/batch/queue.d.ts +25 -0
- package/dist/types/runtime/data-platform/batch/request.d.ts +13 -0
- package/dist/types/runtime/data-platform/batch/response.d.ts +4 -0
- package/dist/types/runtime/data-platform/batch/telemetry.d.ts +4 -0
- package/dist/types/runtime/data-platform/batch/url.d.ts +4 -0
- package/dist/types/runtime/data-platform/batch-transport.d.ts +3 -0
- package/dist/types/runtime/data-platform/codec.d.ts +17 -0
- package/dist/types/runtime/data-platform/index.d.ts +7 -191
- package/dist/types/runtime/data-platform/invalidation.d.ts +8 -0
- package/dist/types/runtime/data-platform/trace.d.ts +4 -0
- package/dist/types/runtime/data-platform/types.d.ts +146 -0
- package/dist/types/runtime/data-platform/validation.d.ts +29 -0
- package/dist/types/runtime/effect/adapter/constants.d.ts +1 -0
- package/dist/types/runtime/effect/adapter/cross-project-policy.d.ts +4 -0
- package/dist/types/runtime/effect/adapter/entry.d.ts +2 -0
- package/dist/types/runtime/effect/adapter/error-response.d.ts +2 -0
- package/dist/types/runtime/effect/adapter/handler.d.ts +4 -0
- package/dist/types/runtime/effect/adapter.d.ts +4 -13
- package/dist/types/runtime/effect/backend-federation/entry.d.ts +2 -0
- package/dist/types/runtime/effect/backend-federation/load.d.ts +2 -0
- package/dist/types/runtime/effect/backend-federation/plugin.d.ts +3 -0
- package/dist/types/runtime/effect/backend-federation/remotes.d.ts +2 -0
- package/dist/types/runtime/effect/backend-federation/runtime.d.ts +3 -0
- package/dist/types/runtime/effect/backend-federation/types.d.ts +58 -0
- package/dist/types/runtime/effect/backend-federation/utils.d.ts +2 -0
- package/dist/types/runtime/effect/backend-federation-manifest/errors.d.ts +11 -0
- package/dist/types/runtime/effect/backend-federation-manifest/index.d.ts +6 -0
- package/dist/types/runtime/effect/backend-federation-manifest/load.d.ts +3 -0
- package/dist/types/runtime/effect/backend-federation-manifest/metadata.d.ts +18 -0
- package/dist/types/runtime/effect/backend-federation-manifest/reference.d.ts +3 -0
- package/dist/types/runtime/effect/backend-federation-manifest/remote.d.ts +3 -0
- package/dist/types/runtime/effect/backend-federation-manifest/types.d.ts +51 -0
- package/dist/types/runtime/effect/backend-federation-manifest/validation.d.ts +5 -0
- package/dist/types/runtime/effect/backend-federation-manifest.d.ts +1 -60
- package/dist/types/runtime/effect/backend-federation.d.ts +6 -60
- package/dist/types/runtime/effect/handler/batch-handler.d.ts +11 -0
- package/dist/types/runtime/effect/handler/batch.d.ts +17 -0
- package/dist/types/runtime/effect/handler/definition.d.ts +17 -0
- package/dist/types/runtime/effect/handler/envelope.d.ts +13 -0
- package/dist/types/runtime/effect/handler/http.d.ts +14 -0
- package/dist/types/runtime/effect/handler/openapi.d.ts +4 -0
- package/dist/types/runtime/effect/handler/routing.d.ts +5 -0
- package/dist/types/runtime/effect/handler/rpc.d.ts +7 -0
- package/dist/types/runtime/effect/handler/types.d.ts +148 -0
- package/dist/types/runtime/effect/handler.d.ts +3 -173
- package/dist/types/runtime/effect/rpcSerialization.d.ts +3 -0
- package/dist/types/runtime/effect-client/batch.d.ts +2 -0
- package/dist/types/runtime/effect-client/envelope.d.ts +15 -0
- package/dist/types/runtime/effect-client/guards.d.ts +2 -0
- package/dist/types/runtime/effect-client/request-context.d.ts +3 -0
- package/dist/types/runtime/effect-client/request.d.ts +1 -0
- package/dist/types/runtime/effect-client/runtime.d.ts +2 -68
- package/dist/types/runtime/effect-client/types.d.ts +68 -0
- package/dist/types/utils/client-generator/files.d.ts +28 -0
- package/dist/types/utils/client-generator/generate.d.ts +26 -0
- package/dist/types/utils/client-generator/index.d.ts +7 -0
- package/dist/types/utils/client-generator/package-json.d.ts +16 -0
- package/dist/types/utils/client-generator/write-package.d.ts +6 -0
- package/dist/types/utils/clientGenerator.d.ts +2 -37
- package/dist/types/utils/crossProjectServerPolicy.d.ts +3 -2
- package/dist/types/utils/effect-client-generator/generator.d.ts +10 -0
- package/dist/types/utils/effect-client-generator/index.d.ts +4 -0
- package/dist/types/utils/effect-client-generator/paths.d.ts +5 -0
- package/dist/types/utils/effect-client-generator/rendering.d.ts +4 -0
- package/dist/types/utils/effect-client-generator/runtime.d.ts +8 -0
- package/dist/types/utils/effect-client-generator/types.d.ts +26 -0
- package/dist/types/utils/effectClientGenerator.d.ts +2 -41
- package/package.json +13 -13
|
@@ -0,0 +1,195 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __webpack_require__ = {};
|
|
3
|
+
(()=>{
|
|
4
|
+
__webpack_require__.d = (exports1, getters, values)=>{
|
|
5
|
+
var define = (defs, kind)=>{
|
|
6
|
+
for(var key in defs)if (__webpack_require__.o(defs, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
[kind]: defs[key]
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
define(getters, "get");
|
|
12
|
+
define(values, "value");
|
|
13
|
+
};
|
|
14
|
+
})();
|
|
15
|
+
(()=>{
|
|
16
|
+
__webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
|
|
17
|
+
})();
|
|
18
|
+
(()=>{
|
|
19
|
+
__webpack_require__.r = (exports1)=>{
|
|
20
|
+
if ("u" > typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
|
|
21
|
+
value: 'Module'
|
|
22
|
+
});
|
|
23
|
+
Object.defineProperty(exports1, '__esModule', {
|
|
24
|
+
value: true
|
|
25
|
+
});
|
|
26
|
+
};
|
|
27
|
+
})();
|
|
28
|
+
var __webpack_exports__ = {};
|
|
29
|
+
__webpack_require__.r(__webpack_exports__);
|
|
30
|
+
__webpack_require__.d(__webpack_exports__, {
|
|
31
|
+
createBatchValidationResponse: ()=>createBatchValidationResponse,
|
|
32
|
+
isBatchRequestPayload: ()=>isBatchRequestPayload,
|
|
33
|
+
isPlainObject: ()=>isPlainObject,
|
|
34
|
+
mapWithConcurrency: ()=>mapWithConcurrency,
|
|
35
|
+
normalizeBatchAllowedMethods: ()=>normalizeBatchAllowedMethods,
|
|
36
|
+
normalizeBatchPath: ()=>normalizeBatchPath,
|
|
37
|
+
normalizeItemMethod: ()=>normalizeItemMethod,
|
|
38
|
+
prepareJsonRequestBody: ()=>prepareJsonRequestBody,
|
|
39
|
+
promiseWithTimeout: ()=>promiseWithTimeout,
|
|
40
|
+
toBatchItemError: ()=>toBatchItemError,
|
|
41
|
+
toHeaderRecord: ()=>toHeaderRecord,
|
|
42
|
+
toTextLength: ()=>toTextLength
|
|
43
|
+
});
|
|
44
|
+
const index_js_namespaceObject = require("../../data-platform/index.js");
|
|
45
|
+
function normalizeBatchPath(pathname) {
|
|
46
|
+
if (!pathname || '/' === pathname) return index_js_namespaceObject.DEFAULT_DATA_BATCH_ENDPOINT;
|
|
47
|
+
if (!pathname.startsWith('/')) return `/${pathname}`;
|
|
48
|
+
return pathname;
|
|
49
|
+
}
|
|
50
|
+
function isPlainObject(value) {
|
|
51
|
+
return 'object' == typeof value && null !== value && !Array.isArray(value);
|
|
52
|
+
}
|
|
53
|
+
function toTextLength(value) {
|
|
54
|
+
if ("u" > typeof TextEncoder) return new TextEncoder().encode(value).length;
|
|
55
|
+
if ("u" > typeof Buffer) return Buffer.byteLength(value);
|
|
56
|
+
return value.length;
|
|
57
|
+
}
|
|
58
|
+
function toHeaderRecord(headers) {
|
|
59
|
+
const record = {};
|
|
60
|
+
headers.forEach((value, key)=>{
|
|
61
|
+
record[key] = value;
|
|
62
|
+
});
|
|
63
|
+
return record;
|
|
64
|
+
}
|
|
65
|
+
function normalizeItemMethod(method) {
|
|
66
|
+
return (method || 'GET').toUpperCase();
|
|
67
|
+
}
|
|
68
|
+
function normalizeBatchAllowedMethods(allowedMethods) {
|
|
69
|
+
const source = Array.isArray(allowedMethods) && allowedMethods.length > 0 ? allowedMethods : [
|
|
70
|
+
'GET'
|
|
71
|
+
];
|
|
72
|
+
return new Set(source.map((method)=>method.toUpperCase()));
|
|
73
|
+
}
|
|
74
|
+
function isBatchRequestPayload(value) {
|
|
75
|
+
return isPlainObject(value) && 1 === value.protocolVersion && 'string' == typeof value.batchId && 'number' == typeof value.sentAt && Array.isArray(value.items);
|
|
76
|
+
}
|
|
77
|
+
function createBatchValidationResponse(message, status = 400) {
|
|
78
|
+
return new Response(JSON.stringify({
|
|
79
|
+
message
|
|
80
|
+
}), {
|
|
81
|
+
status,
|
|
82
|
+
headers: {
|
|
83
|
+
'content-type': 'application/json; charset=utf-8'
|
|
84
|
+
}
|
|
85
|
+
});
|
|
86
|
+
}
|
|
87
|
+
function createJsonValidationResponse(message, status = 400) {
|
|
88
|
+
return new Response(JSON.stringify({
|
|
89
|
+
message
|
|
90
|
+
}), {
|
|
91
|
+
status,
|
|
92
|
+
headers: {
|
|
93
|
+
'content-type': 'application/json; charset=utf-8'
|
|
94
|
+
}
|
|
95
|
+
});
|
|
96
|
+
}
|
|
97
|
+
function cloneWithoutJsonBodyHeaders(request) {
|
|
98
|
+
const headers = new Headers(request.headers);
|
|
99
|
+
headers.delete('content-type');
|
|
100
|
+
headers.delete('content-length');
|
|
101
|
+
return new Request(request.url, {
|
|
102
|
+
method: request.method,
|
|
103
|
+
headers,
|
|
104
|
+
signal: request.signal
|
|
105
|
+
});
|
|
106
|
+
}
|
|
107
|
+
async function prepareJsonRequestBody(request) {
|
|
108
|
+
const method = normalizeItemMethod(request.method);
|
|
109
|
+
if ('GET' === method || 'HEAD' === method) return request;
|
|
110
|
+
const contentType = (request.headers.get('content-type') || '').toLowerCase();
|
|
111
|
+
if (!contentType.includes('application/json')) return request;
|
|
112
|
+
if (null === request.body) return cloneWithoutJsonBodyHeaders(request);
|
|
113
|
+
try {
|
|
114
|
+
const bodyText = await request.clone().text();
|
|
115
|
+
if ('' === bodyText) return cloneWithoutJsonBodyHeaders(request);
|
|
116
|
+
JSON.parse(bodyText);
|
|
117
|
+
} catch {
|
|
118
|
+
return createJsonValidationResponse('Invalid JSON request body');
|
|
119
|
+
}
|
|
120
|
+
return request;
|
|
121
|
+
}
|
|
122
|
+
function toBatchItemError(id, status, message) {
|
|
123
|
+
return {
|
|
124
|
+
id,
|
|
125
|
+
status,
|
|
126
|
+
headers: {
|
|
127
|
+
'content-type': 'application/json; charset=utf-8'
|
|
128
|
+
},
|
|
129
|
+
body: JSON.stringify({
|
|
130
|
+
message
|
|
131
|
+
})
|
|
132
|
+
};
|
|
133
|
+
}
|
|
134
|
+
function promiseWithTimeout(effect, timeoutMs) {
|
|
135
|
+
if (timeoutMs <= 0) return effect;
|
|
136
|
+
return new Promise((resolve, reject)=>{
|
|
137
|
+
const timer = setTimeout(()=>{
|
|
138
|
+
reject(new Error(`Batch item timeout after ${String(timeoutMs)}ms`));
|
|
139
|
+
}, timeoutMs);
|
|
140
|
+
effect.then((value)=>{
|
|
141
|
+
clearTimeout(timer);
|
|
142
|
+
resolve(value);
|
|
143
|
+
}, (error)=>{
|
|
144
|
+
clearTimeout(timer);
|
|
145
|
+
reject(error);
|
|
146
|
+
});
|
|
147
|
+
});
|
|
148
|
+
}
|
|
149
|
+
async function mapWithConcurrency(items, concurrency, mapper) {
|
|
150
|
+
if (0 === items.length) return [];
|
|
151
|
+
const normalizedConcurrency = Math.max(1, concurrency);
|
|
152
|
+
const output = new Array(items.length);
|
|
153
|
+
let index = 0;
|
|
154
|
+
const workers = Array.from({
|
|
155
|
+
length: Math.min(normalizedConcurrency, items.length)
|
|
156
|
+
}, async ()=>{
|
|
157
|
+
while(true){
|
|
158
|
+
const currentIndex = index;
|
|
159
|
+
index += 1;
|
|
160
|
+
if (currentIndex >= items.length) return;
|
|
161
|
+
output[currentIndex] = await mapper(items[currentIndex], currentIndex);
|
|
162
|
+
}
|
|
163
|
+
});
|
|
164
|
+
await Promise.all(workers);
|
|
165
|
+
return output;
|
|
166
|
+
}
|
|
167
|
+
exports.createBatchValidationResponse = __webpack_exports__.createBatchValidationResponse;
|
|
168
|
+
exports.isBatchRequestPayload = __webpack_exports__.isBatchRequestPayload;
|
|
169
|
+
exports.isPlainObject = __webpack_exports__.isPlainObject;
|
|
170
|
+
exports.mapWithConcurrency = __webpack_exports__.mapWithConcurrency;
|
|
171
|
+
exports.normalizeBatchAllowedMethods = __webpack_exports__.normalizeBatchAllowedMethods;
|
|
172
|
+
exports.normalizeBatchPath = __webpack_exports__.normalizeBatchPath;
|
|
173
|
+
exports.normalizeItemMethod = __webpack_exports__.normalizeItemMethod;
|
|
174
|
+
exports.prepareJsonRequestBody = __webpack_exports__.prepareJsonRequestBody;
|
|
175
|
+
exports.promiseWithTimeout = __webpack_exports__.promiseWithTimeout;
|
|
176
|
+
exports.toBatchItemError = __webpack_exports__.toBatchItemError;
|
|
177
|
+
exports.toHeaderRecord = __webpack_exports__.toHeaderRecord;
|
|
178
|
+
exports.toTextLength = __webpack_exports__.toTextLength;
|
|
179
|
+
for(var __rspack_i in __webpack_exports__)if (-1 === [
|
|
180
|
+
"createBatchValidationResponse",
|
|
181
|
+
"isBatchRequestPayload",
|
|
182
|
+
"isPlainObject",
|
|
183
|
+
"mapWithConcurrency",
|
|
184
|
+
"normalizeBatchAllowedMethods",
|
|
185
|
+
"normalizeBatchPath",
|
|
186
|
+
"normalizeItemMethod",
|
|
187
|
+
"prepareJsonRequestBody",
|
|
188
|
+
"promiseWithTimeout",
|
|
189
|
+
"toBatchItemError",
|
|
190
|
+
"toHeaderRecord",
|
|
191
|
+
"toTextLength"
|
|
192
|
+
].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
|
|
193
|
+
Object.defineProperty(exports, '__esModule', {
|
|
194
|
+
value: true
|
|
195
|
+
});
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __webpack_require__ = {};
|
|
3
|
+
(()=>{
|
|
4
|
+
__webpack_require__.d = (exports1, getters, values)=>{
|
|
5
|
+
var define = (defs, kind)=>{
|
|
6
|
+
for(var key in defs)if (__webpack_require__.o(defs, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
[kind]: defs[key]
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
define(getters, "get");
|
|
12
|
+
define(values, "value");
|
|
13
|
+
};
|
|
14
|
+
})();
|
|
15
|
+
(()=>{
|
|
16
|
+
__webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
|
|
17
|
+
})();
|
|
18
|
+
(()=>{
|
|
19
|
+
__webpack_require__.r = (exports1)=>{
|
|
20
|
+
if ("u" > typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
|
|
21
|
+
value: 'Module'
|
|
22
|
+
});
|
|
23
|
+
Object.defineProperty(exports1, '__esModule', {
|
|
24
|
+
value: true
|
|
25
|
+
});
|
|
26
|
+
};
|
|
27
|
+
})();
|
|
28
|
+
var __webpack_exports__ = {};
|
|
29
|
+
__webpack_require__.r(__webpack_exports__);
|
|
30
|
+
__webpack_require__.d(__webpack_exports__, {
|
|
31
|
+
defineEffectBff: ()=>defineEffectBff,
|
|
32
|
+
defineEffectRpcBff: ()=>defineEffectRpcBff
|
|
33
|
+
});
|
|
34
|
+
const external_entry_shape_js_namespaceObject = require("../entry-shape.js");
|
|
35
|
+
const external_envelope_js_namespaceObject = require("./envelope.js");
|
|
36
|
+
const external_http_js_namespaceObject = require("./http.js");
|
|
37
|
+
const external_rpc_js_namespaceObject = require("./rpc.js");
|
|
38
|
+
function defineEffectBff(definition) {
|
|
39
|
+
const createHandler = (options)=>{
|
|
40
|
+
const rpcDefinition = definition.rpc;
|
|
41
|
+
let mergedRpcOptions = rpcDefinition;
|
|
42
|
+
if (rpcDefinition && options?.rpc) mergedRpcOptions = {
|
|
43
|
+
...rpcDefinition,
|
|
44
|
+
...options.rpc
|
|
45
|
+
};
|
|
46
|
+
return (0, external_http_js_namespaceObject.createHttpApiHandler)({
|
|
47
|
+
api: definition.api,
|
|
48
|
+
layer: definition.layer,
|
|
49
|
+
openapi: options?.openapi,
|
|
50
|
+
rpc: mergedRpcOptions,
|
|
51
|
+
dataPlatform: (0, external_envelope_js_namespaceObject.mergeDataPlatformOptions)(definition.dataPlatform, options?.dataPlatform),
|
|
52
|
+
validateRequest: options?.validateRequest
|
|
53
|
+
});
|
|
54
|
+
};
|
|
55
|
+
Object.defineProperty(createHandler, external_entry_shape_js_namespaceObject.EFFECT_VALIDATOR_AWARE_FACTORY, {
|
|
56
|
+
value: true
|
|
57
|
+
});
|
|
58
|
+
const client = createLoaderMaterializedClientPlaceholder();
|
|
59
|
+
return {
|
|
60
|
+
...definition,
|
|
61
|
+
createHandler,
|
|
62
|
+
client
|
|
63
|
+
};
|
|
64
|
+
}
|
|
65
|
+
const LOADER_CLIENT_IGNORED_KEYS = new Set([
|
|
66
|
+
'then',
|
|
67
|
+
'catch',
|
|
68
|
+
'finally',
|
|
69
|
+
'toJSON',
|
|
70
|
+
'$$typeof'
|
|
71
|
+
]);
|
|
72
|
+
function createLoaderMaterializedClientPlaceholder() {
|
|
73
|
+
const explain = (property)=>{
|
|
74
|
+
throw new Error(`[BFF][Effect] client.${String(property)} is not available here: the typed client only exists when the API entry is imported through the "@api/index" transformed path (the BFF loader replaces it with generated client code). On the server, use HttpApiClient or call the Effect layer directly.`);
|
|
75
|
+
};
|
|
76
|
+
return new Proxy(Object.create(null), {
|
|
77
|
+
get (_target, property) {
|
|
78
|
+
if ('symbol' == typeof property || LOADER_CLIENT_IGNORED_KEYS.has(property)) return;
|
|
79
|
+
return explain(property);
|
|
80
|
+
}
|
|
81
|
+
});
|
|
82
|
+
}
|
|
83
|
+
function defineEffectRpcBff(definition) {
|
|
84
|
+
const createHandler = (options)=>(0, external_rpc_js_namespaceObject.createRpcApiHandler)({
|
|
85
|
+
...definition,
|
|
86
|
+
...options
|
|
87
|
+
});
|
|
88
|
+
return {
|
|
89
|
+
...definition,
|
|
90
|
+
createHandler
|
|
91
|
+
};
|
|
92
|
+
}
|
|
93
|
+
exports.defineEffectBff = __webpack_exports__.defineEffectBff;
|
|
94
|
+
exports.defineEffectRpcBff = __webpack_exports__.defineEffectRpcBff;
|
|
95
|
+
for(var __rspack_i in __webpack_exports__)if (-1 === [
|
|
96
|
+
"defineEffectBff",
|
|
97
|
+
"defineEffectRpcBff"
|
|
98
|
+
].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
|
|
99
|
+
Object.defineProperty(exports, '__esModule', {
|
|
100
|
+
value: true
|
|
101
|
+
});
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __webpack_require__ = {};
|
|
3
|
+
(()=>{
|
|
4
|
+
__webpack_require__.d = (exports1, getters, values)=>{
|
|
5
|
+
var define = (defs, kind)=>{
|
|
6
|
+
for(var key in defs)if (__webpack_require__.o(defs, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
[kind]: defs[key]
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
define(getters, "get");
|
|
12
|
+
define(values, "value");
|
|
13
|
+
};
|
|
14
|
+
})();
|
|
15
|
+
(()=>{
|
|
16
|
+
__webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
|
|
17
|
+
})();
|
|
18
|
+
(()=>{
|
|
19
|
+
__webpack_require__.r = (exports1)=>{
|
|
20
|
+
if ("u" > typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
|
|
21
|
+
value: 'Module'
|
|
22
|
+
});
|
|
23
|
+
Object.defineProperty(exports1, '__esModule', {
|
|
24
|
+
value: true
|
|
25
|
+
});
|
|
26
|
+
};
|
|
27
|
+
})();
|
|
28
|
+
var __webpack_exports__ = {};
|
|
29
|
+
__webpack_require__.r(__webpack_exports__);
|
|
30
|
+
__webpack_require__.d(__webpack_exports__, {
|
|
31
|
+
mergeDataPlatformOptions: ()=>mergeDataPlatformOptions,
|
|
32
|
+
validateDataPlatformRequestEnvelope: ()=>validateDataPlatformRequestEnvelope
|
|
33
|
+
});
|
|
34
|
+
const index_js_namespaceObject = require("../../data-platform/index.js");
|
|
35
|
+
const external_routing_js_namespaceObject = require("./routing.js");
|
|
36
|
+
function createInvalidEnvelopeResponse(message, errors) {
|
|
37
|
+
return new Response(JSON.stringify({
|
|
38
|
+
message,
|
|
39
|
+
...errors && errors.length > 0 ? {
|
|
40
|
+
errors
|
|
41
|
+
} : {}
|
|
42
|
+
}), {
|
|
43
|
+
status: 400,
|
|
44
|
+
headers: {
|
|
45
|
+
'content-type': 'application/json; charset=utf-8'
|
|
46
|
+
}
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
function validateDataPlatformRequestEnvelope(request, options) {
|
|
50
|
+
const isEnabled = options?.enabled ?? true;
|
|
51
|
+
if (!isEnabled) return null;
|
|
52
|
+
const envelopeHeader = options?.envelopeHeader || index_js_namespaceObject.DEFAULT_DATA_ENVELOPE_HEADER;
|
|
53
|
+
const encodedEnvelope = request.headers.get(envelopeHeader);
|
|
54
|
+
if (!encodedEnvelope) {
|
|
55
|
+
if (options?.requireEnvelope) return createInvalidEnvelopeResponse(`Missing required data envelope header: ${envelopeHeader}`);
|
|
56
|
+
return null;
|
|
57
|
+
}
|
|
58
|
+
const envelope = (0, index_js_namespaceObject.decodeRequestEnvelopeHeader)(encodedEnvelope);
|
|
59
|
+
if (!envelope) return createInvalidEnvelopeResponse(`Invalid data envelope header format: ${envelopeHeader}`);
|
|
60
|
+
const validation = (0, index_js_namespaceObject.validateRequestEnvelope)(envelope, {
|
|
61
|
+
expectedProtocolVersion: 1,
|
|
62
|
+
expectedNamespace: options?.expectedNamespace,
|
|
63
|
+
expectedOrigin: options?.validateOrigin === false ? void 0 : (0, external_routing_js_namespaceObject.getExpectedEnvelopeOrigin)(request),
|
|
64
|
+
requireTraceContext: options?.requireTraceContext
|
|
65
|
+
});
|
|
66
|
+
if (!validation.ok) return createInvalidEnvelopeResponse('Invalid data envelope', validation.errors);
|
|
67
|
+
if (envelope.selectionPlan) {
|
|
68
|
+
const selectionValidation = (0, index_js_namespaceObject.validateSelectionPlan)(envelope.selectionPlan, {
|
|
69
|
+
maxDepth: options?.selection?.maxDepth,
|
|
70
|
+
maxFields: options?.selection?.maxFields,
|
|
71
|
+
allowedLeafPaths: options?.selection?.allowedLeafPaths
|
|
72
|
+
});
|
|
73
|
+
if (!selectionValidation.ok) return createInvalidEnvelopeResponse('Invalid data envelope selection plan', selectionValidation.errors);
|
|
74
|
+
}
|
|
75
|
+
return null;
|
|
76
|
+
}
|
|
77
|
+
function mergeDataPlatformOptions(base, override) {
|
|
78
|
+
if (!base && !override) return;
|
|
79
|
+
const baseSelection = base?.selection;
|
|
80
|
+
const overrideSelection = override?.selection;
|
|
81
|
+
const baseBatch = base?.batch;
|
|
82
|
+
const overrideBatch = override?.batch;
|
|
83
|
+
return {
|
|
84
|
+
...base,
|
|
85
|
+
...override,
|
|
86
|
+
selection: baseSelection || overrideSelection ? {
|
|
87
|
+
...baseSelection,
|
|
88
|
+
...overrideSelection
|
|
89
|
+
} : void 0,
|
|
90
|
+
batch: baseBatch || overrideBatch ? {
|
|
91
|
+
...baseBatch,
|
|
92
|
+
...overrideBatch
|
|
93
|
+
} : void 0
|
|
94
|
+
};
|
|
95
|
+
}
|
|
96
|
+
exports.mergeDataPlatformOptions = __webpack_exports__.mergeDataPlatformOptions;
|
|
97
|
+
exports.validateDataPlatformRequestEnvelope = __webpack_exports__.validateDataPlatformRequestEnvelope;
|
|
98
|
+
for(var __rspack_i in __webpack_exports__)if (-1 === [
|
|
99
|
+
"mergeDataPlatformOptions",
|
|
100
|
+
"validateDataPlatformRequestEnvelope"
|
|
101
|
+
].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
|
|
102
|
+
Object.defineProperty(exports, '__esModule', {
|
|
103
|
+
value: true
|
|
104
|
+
});
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __webpack_require__ = {};
|
|
3
|
+
(()=>{
|
|
4
|
+
__webpack_require__.d = (exports1, getters, values)=>{
|
|
5
|
+
var define = (defs, kind)=>{
|
|
6
|
+
for(var key in defs)if (__webpack_require__.o(defs, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
[kind]: defs[key]
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
define(getters, "get");
|
|
12
|
+
define(values, "value");
|
|
13
|
+
};
|
|
14
|
+
})();
|
|
15
|
+
(()=>{
|
|
16
|
+
__webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
|
|
17
|
+
})();
|
|
18
|
+
(()=>{
|
|
19
|
+
__webpack_require__.r = (exports1)=>{
|
|
20
|
+
if ("u" > typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
|
|
21
|
+
value: 'Module'
|
|
22
|
+
});
|
|
23
|
+
Object.defineProperty(exports1, '__esModule', {
|
|
24
|
+
value: true
|
|
25
|
+
});
|
|
26
|
+
};
|
|
27
|
+
})();
|
|
28
|
+
var __webpack_exports__ = {};
|
|
29
|
+
__webpack_require__.r(__webpack_exports__);
|
|
30
|
+
__webpack_require__.d(__webpack_exports__, {
|
|
31
|
+
createHttpApiHandler: ()=>createHttpApiHandler
|
|
32
|
+
});
|
|
33
|
+
const Layer_namespaceObject = require("effect/Layer");
|
|
34
|
+
const http_namespaceObject = require("effect/unstable/http");
|
|
35
|
+
const external_batch_js_namespaceObject = require("./batch.js");
|
|
36
|
+
const external_batch_handler_js_namespaceObject = require("./batch-handler.js");
|
|
37
|
+
const external_envelope_js_namespaceObject = require("./envelope.js");
|
|
38
|
+
const external_openapi_js_namespaceObject = require("./openapi.js");
|
|
39
|
+
const external_routing_js_namespaceObject = require("./routing.js");
|
|
40
|
+
const external_rpc_js_namespaceObject = require("./rpc.js");
|
|
41
|
+
const external_types_js_namespaceObject = require("./types.js");
|
|
42
|
+
function createHttpApiHandler(options) {
|
|
43
|
+
const apiLayer = options.layer.pipe(Layer_namespaceObject.provide(http_namespaceObject.HttpServer.layerServices));
|
|
44
|
+
const openApiLayer = (0, external_openapi_js_namespaceObject.createOpenApiLayer)(options.api, options.openapi);
|
|
45
|
+
const mergedLayer = openApiLayer ? Layer_namespaceObject.mergeAll(apiLayer, openApiLayer) : apiLayer;
|
|
46
|
+
const httpApiHandler = http_namespaceObject.HttpRouter.toWebHandler(mergedLayer);
|
|
47
|
+
const withDataPlatformValidation = async (request, context)=>{
|
|
48
|
+
const policyDenial = options.validateRequest?.(request);
|
|
49
|
+
if (policyDenial) return policyDenial;
|
|
50
|
+
const preparedRequest = await (0, external_batch_js_namespaceObject.prepareJsonRequestBody)(request);
|
|
51
|
+
if (preparedRequest instanceof Response) return preparedRequest;
|
|
52
|
+
const validationError = (0, external_envelope_js_namespaceObject.validateDataPlatformRequestEnvelope)(preparedRequest, options.dataPlatform);
|
|
53
|
+
if (validationError) return validationError;
|
|
54
|
+
return httpApiHandler.handler(preparedRequest, (0, external_types_js_namespaceObject.toEffectServiceContext)(context));
|
|
55
|
+
};
|
|
56
|
+
const batchHandler = (0, external_batch_handler_js_namespaceObject.createDataPlatformBatchRequestHandler)({
|
|
57
|
+
dataPlatform: options.dataPlatform,
|
|
58
|
+
handleItem: withDataPlatformValidation
|
|
59
|
+
});
|
|
60
|
+
const handleHttpApiRequest = async (request, context)=>{
|
|
61
|
+
const pathname = (0, external_routing_js_namespaceObject.getRequestPathname)(request);
|
|
62
|
+
if (batchHandler.enabled && pathname === batchHandler.path) return batchHandler.handle(request, context);
|
|
63
|
+
return withDataPlatformValidation(request, context);
|
|
64
|
+
};
|
|
65
|
+
if (!options.rpc) return {
|
|
66
|
+
handler: handleHttpApiRequest,
|
|
67
|
+
dispose: async ()=>{
|
|
68
|
+
await httpApiHandler.dispose();
|
|
69
|
+
}
|
|
70
|
+
};
|
|
71
|
+
const rpcPath = (0, external_rpc_js_namespaceObject.normalizeRpcPath)(options.rpc.path);
|
|
72
|
+
const rpcHandler = (0, external_rpc_js_namespaceObject.createRpcApiHandler)(options.rpc);
|
|
73
|
+
return {
|
|
74
|
+
handler: async (request, context)=>{
|
|
75
|
+
if ((0, external_routing_js_namespaceObject.isRpcRequest)(request, rpcPath)) {
|
|
76
|
+
const policyDenial = options.validateRequest?.(request);
|
|
77
|
+
if (policyDenial) return policyDenial;
|
|
78
|
+
return rpcHandler.handler(request, (0, external_types_js_namespaceObject.toEffectServiceContext)(context));
|
|
79
|
+
}
|
|
80
|
+
return handleHttpApiRequest(request, context);
|
|
81
|
+
},
|
|
82
|
+
dispose: async ()=>{
|
|
83
|
+
await Promise.all([
|
|
84
|
+
httpApiHandler.dispose(),
|
|
85
|
+
rpcHandler.dispose()
|
|
86
|
+
]);
|
|
87
|
+
}
|
|
88
|
+
};
|
|
89
|
+
}
|
|
90
|
+
exports.createHttpApiHandler = __webpack_exports__.createHttpApiHandler;
|
|
91
|
+
for(var __rspack_i in __webpack_exports__)if (-1 === [
|
|
92
|
+
"createHttpApiHandler"
|
|
93
|
+
].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
|
|
94
|
+
Object.defineProperty(exports, '__esModule', {
|
|
95
|
+
value: true
|
|
96
|
+
});
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __webpack_require__ = {};
|
|
3
|
+
(()=>{
|
|
4
|
+
__webpack_require__.d = (exports1, getters, values)=>{
|
|
5
|
+
var define = (defs, kind)=>{
|
|
6
|
+
for(var key in defs)if (__webpack_require__.o(defs, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
[kind]: defs[key]
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
define(getters, "get");
|
|
12
|
+
define(values, "value");
|
|
13
|
+
};
|
|
14
|
+
})();
|
|
15
|
+
(()=>{
|
|
16
|
+
__webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
|
|
17
|
+
})();
|
|
18
|
+
(()=>{
|
|
19
|
+
__webpack_require__.r = (exports1)=>{
|
|
20
|
+
if ("u" > typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
|
|
21
|
+
value: 'Module'
|
|
22
|
+
});
|
|
23
|
+
Object.defineProperty(exports1, '__esModule', {
|
|
24
|
+
value: true
|
|
25
|
+
});
|
|
26
|
+
};
|
|
27
|
+
})();
|
|
28
|
+
var __webpack_exports__ = {};
|
|
29
|
+
__webpack_require__.r(__webpack_exports__);
|
|
30
|
+
__webpack_require__.d(__webpack_exports__, {
|
|
31
|
+
createOpenApiLayer: ()=>createOpenApiLayer
|
|
32
|
+
});
|
|
33
|
+
const http_namespaceObject = require("effect/unstable/http");
|
|
34
|
+
const httpapi_namespaceObject = require("effect/unstable/httpapi");
|
|
35
|
+
function normalizeOpenApiPath(pathname) {
|
|
36
|
+
if (!pathname.startsWith('/')) return `/${pathname}`;
|
|
37
|
+
return pathname;
|
|
38
|
+
}
|
|
39
|
+
function getOpenApiOptions(openapi) {
|
|
40
|
+
if (!openapi || 'object' != typeof openapi) return;
|
|
41
|
+
if (!openapi.path) return;
|
|
42
|
+
return {
|
|
43
|
+
path: normalizeOpenApiPath(openapi.path)
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
function createOpenApiLayer(api, openapi) {
|
|
47
|
+
const openApiOptions = getOpenApiOptions(openapi);
|
|
48
|
+
if (!openApiOptions) return null;
|
|
49
|
+
return http_namespaceObject.HttpRouter.add('GET', openApiOptions.path, http_namespaceObject.HttpServerResponse.jsonUnsafe(httpapi_namespaceObject.OpenApi.fromApi(api)));
|
|
50
|
+
}
|
|
51
|
+
exports.createOpenApiLayer = __webpack_exports__.createOpenApiLayer;
|
|
52
|
+
for(var __rspack_i in __webpack_exports__)if (-1 === [
|
|
53
|
+
"createOpenApiLayer"
|
|
54
|
+
].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
|
|
55
|
+
Object.defineProperty(exports, '__esModule', {
|
|
56
|
+
value: true
|
|
57
|
+
});
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __webpack_require__ = {};
|
|
3
|
+
(()=>{
|
|
4
|
+
__webpack_require__.d = (exports1, getters, values)=>{
|
|
5
|
+
var define = (defs, kind)=>{
|
|
6
|
+
for(var key in defs)if (__webpack_require__.o(defs, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
[kind]: defs[key]
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
define(getters, "get");
|
|
12
|
+
define(values, "value");
|
|
13
|
+
};
|
|
14
|
+
})();
|
|
15
|
+
(()=>{
|
|
16
|
+
__webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
|
|
17
|
+
})();
|
|
18
|
+
(()=>{
|
|
19
|
+
__webpack_require__.r = (exports1)=>{
|
|
20
|
+
if ("u" > typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
|
|
21
|
+
value: 'Module'
|
|
22
|
+
});
|
|
23
|
+
Object.defineProperty(exports1, '__esModule', {
|
|
24
|
+
value: true
|
|
25
|
+
});
|
|
26
|
+
};
|
|
27
|
+
})();
|
|
28
|
+
var __webpack_exports__ = {};
|
|
29
|
+
__webpack_require__.r(__webpack_exports__);
|
|
30
|
+
__webpack_require__.d(__webpack_exports__, {
|
|
31
|
+
getExpectedEnvelopeOrigin: ()=>getExpectedEnvelopeOrigin,
|
|
32
|
+
getMountedPrefixFromContext: ()=>getMountedPrefixFromContext,
|
|
33
|
+
getRequestPathname: ()=>getRequestPathname,
|
|
34
|
+
isRpcRequest: ()=>isRpcRequest,
|
|
35
|
+
removeMountedPrefixFromBatchPath: ()=>removeMountedPrefixFromBatchPath
|
|
36
|
+
});
|
|
37
|
+
const external_batch_js_namespaceObject = require("./batch.js");
|
|
38
|
+
function getRequestPathname(request) {
|
|
39
|
+
try {
|
|
40
|
+
return new URL(request.url).pathname;
|
|
41
|
+
} catch {
|
|
42
|
+
return new URL(request.url, 'http://localhost').pathname;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
function normalizeMountPrefix(prefix) {
|
|
46
|
+
if (!prefix || '/' === prefix) return '';
|
|
47
|
+
return prefix.endsWith('/') ? prefix.slice(0, -1) : prefix;
|
|
48
|
+
}
|
|
49
|
+
function getMountedPrefixFromContext(request, context) {
|
|
50
|
+
if (!(0, external_batch_js_namespaceObject.isPlainObject)(context) || 'string' != typeof context.path) return '';
|
|
51
|
+
const contextPath = normalizeMountPrefix(context.path);
|
|
52
|
+
const requestPath = normalizeMountPrefix(getRequestPathname(request));
|
|
53
|
+
if (!contextPath || !requestPath || contextPath === requestPath || !contextPath.endsWith(requestPath)) return '';
|
|
54
|
+
return normalizeMountPrefix(contextPath.slice(0, contextPath.length - requestPath.length));
|
|
55
|
+
}
|
|
56
|
+
function removeMountedPrefixFromBatchPath(pathWithQuery, prefix) {
|
|
57
|
+
const normalizedPrefix = normalizeMountPrefix(prefix);
|
|
58
|
+
if (!normalizedPrefix) return pathWithQuery;
|
|
59
|
+
const [pathname, ...queryParts] = pathWithQuery.split('?');
|
|
60
|
+
if (!pathname) return pathWithQuery;
|
|
61
|
+
let nextPathname = pathname;
|
|
62
|
+
if (pathname === normalizedPrefix) nextPathname = '/';
|
|
63
|
+
else if (pathname.startsWith(`${normalizedPrefix}/`)) {
|
|
64
|
+
const sliced = pathname.slice(normalizedPrefix.length);
|
|
65
|
+
nextPathname = sliced.startsWith('/') ? sliced : `/${sliced}`;
|
|
66
|
+
}
|
|
67
|
+
if (0 === queryParts.length) return nextPathname;
|
|
68
|
+
return `${nextPathname}?${queryParts.join('?')}`;
|
|
69
|
+
}
|
|
70
|
+
function getRequestOrigin(request) {
|
|
71
|
+
try {
|
|
72
|
+
return new URL(request.url).origin;
|
|
73
|
+
} catch {
|
|
74
|
+
return new URL(request.url, 'http://localhost').origin;
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
function getExpectedEnvelopeOrigin(request) {
|
|
78
|
+
const origin = request.headers.get('origin');
|
|
79
|
+
if (origin && 'null' !== origin) return origin;
|
|
80
|
+
return getRequestOrigin(request);
|
|
81
|
+
}
|
|
82
|
+
function isRpcRequest(request, rpcPath) {
|
|
83
|
+
const pathname = getRequestPathname(request);
|
|
84
|
+
return pathname === rpcPath || pathname.startsWith(`${rpcPath}/`);
|
|
85
|
+
}
|
|
86
|
+
exports.getExpectedEnvelopeOrigin = __webpack_exports__.getExpectedEnvelopeOrigin;
|
|
87
|
+
exports.getMountedPrefixFromContext = __webpack_exports__.getMountedPrefixFromContext;
|
|
88
|
+
exports.getRequestPathname = __webpack_exports__.getRequestPathname;
|
|
89
|
+
exports.isRpcRequest = __webpack_exports__.isRpcRequest;
|
|
90
|
+
exports.removeMountedPrefixFromBatchPath = __webpack_exports__.removeMountedPrefixFromBatchPath;
|
|
91
|
+
for(var __rspack_i in __webpack_exports__)if (-1 === [
|
|
92
|
+
"getExpectedEnvelopeOrigin",
|
|
93
|
+
"getMountedPrefixFromContext",
|
|
94
|
+
"getRequestPathname",
|
|
95
|
+
"isRpcRequest",
|
|
96
|
+
"removeMountedPrefixFromBatchPath"
|
|
97
|
+
].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
|
|
98
|
+
Object.defineProperty(exports, '__esModule', {
|
|
99
|
+
value: true
|
|
100
|
+
});
|