@duplojs/http 0.2.0 → 0.5.0
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/client/getBody.cjs +22 -0
- package/dist/client/getBody.d.ts +1 -0
- package/dist/client/getBody.mjs +20 -0
- package/dist/client/hooks.cjs +79 -0
- package/dist/client/hooks.d.ts +33 -0
- package/dist/client/hooks.mjs +70 -0
- package/dist/client/httpClient.cjs +153 -0
- package/dist/client/httpClient.d.ts +60 -0
- package/dist/client/httpClient.mjs +130 -0
- package/dist/client/index.cjs +33 -0
- package/dist/client/index.d.ts +9 -0
- package/dist/client/index.mjs +9 -0
- package/dist/client/insertParamsInPath.cjs +12 -0
- package/dist/client/insertParamsInPath.d.ts +2 -0
- package/dist/client/insertParamsInPath.mjs +10 -0
- package/dist/client/kind.cjs +9 -0
- package/dist/client/kind.d.ts +6 -0
- package/dist/client/kind.mjs +7 -0
- package/dist/client/promiseRequest.cjs +355 -0
- package/dist/client/promiseRequest.d.ts +98 -0
- package/dist/client/promiseRequest.mjs +332 -0
- package/dist/client/queryToString.cjs +25 -0
- package/dist/client/queryToString.d.ts +2 -0
- package/dist/client/queryToString.mjs +23 -0
- package/dist/client/types/ObjectCanBeEmpty.cjs +2 -0
- package/dist/client/types/ObjectCanBeEmpty.d.ts +4 -0
- package/dist/client/types/ObjectCanBeEmpty.mjs +1 -0
- package/dist/client/types/clientRequestParams.cjs +2 -0
- package/dist/client/types/clientRequestParams.d.ts +51 -0
- package/dist/client/types/clientRequestParams.mjs +1 -0
- package/dist/client/types/clientResponse.cjs +2 -0
- package/dist/client/types/clientResponse.d.ts +34 -0
- package/dist/client/types/clientResponse.mjs +1 -0
- package/dist/client/types/index.cjs +7 -0
- package/dist/client/types/index.d.ts +4 -0
- package/dist/client/types/index.mjs +4 -0
- package/dist/client/types/serverRoute.cjs +2 -0
- package/dist/client/types/serverRoute.d.ts +22 -0
- package/dist/client/types/serverRoute.mjs +1 -0
- package/dist/client/unexpectedResponseError.cjs +44 -0
- package/dist/client/unexpectedResponseError.d.ts +38 -0
- package/dist/client/unexpectedResponseError.mjs +39 -0
- package/dist/core/builders/preflight/builder.cjs +1 -0
- package/dist/core/builders/preflight/builder.d.ts +5 -1
- package/dist/core/builders/preflight/builder.mjs +1 -0
- package/dist/core/builders/preflight/process.cjs +2 -1
- package/dist/core/builders/preflight/process.d.ts +4 -2
- package/dist/core/builders/preflight/process.mjs +2 -1
- package/dist/core/builders/preflight/route.cjs +4 -0
- package/dist/core/builders/preflight/route.d.ts +9 -3
- package/dist/core/builders/preflight/route.mjs +4 -0
- package/dist/core/builders/process/builder.cjs +1 -0
- package/dist/core/builders/process/builder.d.ts +4 -1
- package/dist/core/builders/process/builder.mjs +1 -0
- package/dist/core/builders/process/checker.cjs +2 -1
- package/dist/core/builders/process/checker.d.ts +4 -2
- package/dist/core/builders/process/checker.mjs +2 -1
- package/dist/core/builders/process/cut.cjs +2 -1
- package/dist/core/builders/process/cut.d.ts +3 -1
- package/dist/core/builders/process/cut.mjs +2 -1
- package/dist/core/builders/process/extract.cjs +2 -1
- package/dist/core/builders/process/extract.d.ts +3 -1
- package/dist/core/builders/process/extract.mjs +2 -1
- package/dist/core/builders/process/index.cjs +1 -1
- package/dist/core/builders/process/index.d.ts +1 -1
- package/dist/core/builders/process/index.mjs +1 -1
- package/dist/core/builders/process/presetChecker.cjs +2 -1
- package/dist/core/builders/process/presetChecker.d.ts +3 -1
- package/dist/core/builders/process/presetChecker.mjs +2 -1
- package/dist/core/builders/process/process.cjs +2 -1
- package/dist/core/builders/process/process.d.ts +4 -2
- package/dist/core/builders/process/process.mjs +2 -1
- package/dist/core/builders/route/builder.cjs +1 -0
- package/dist/core/builders/route/builder.d.ts +4 -1
- package/dist/core/builders/route/builder.mjs +1 -0
- package/dist/core/builders/route/checker.cjs +2 -1
- package/dist/core/builders/route/checker.d.ts +4 -2
- package/dist/core/builders/route/checker.mjs +2 -1
- package/dist/core/builders/route/cut.cjs +2 -1
- package/dist/core/builders/route/cut.d.ts +3 -1
- package/dist/core/builders/route/cut.mjs +2 -1
- package/dist/core/builders/route/extract.cjs +2 -1
- package/dist/core/builders/route/extract.d.ts +3 -1
- package/dist/core/builders/route/extract.mjs +2 -1
- package/dist/core/builders/route/handler.cjs +9 -2
- package/dist/core/builders/route/handler.d.ts +3 -1
- package/dist/core/builders/route/handler.mjs +9 -2
- package/dist/core/builders/route/presetChecker.cjs +2 -1
- package/dist/core/builders/route/presetChecker.d.ts +3 -1
- package/dist/core/builders/route/presetChecker.mjs +2 -1
- package/dist/core/builders/route/process.cjs +2 -1
- package/dist/core/builders/route/process.d.ts +4 -2
- package/dist/core/builders/route/process.mjs +2 -1
- package/dist/core/functionsBuilders/route/default.cjs +10 -9
- package/dist/core/functionsBuilders/route/default.mjs +3 -2
- package/dist/core/functionsBuilders/route/hook.cjs +22 -22
- package/dist/core/functionsBuilders/route/hook.d.ts +2 -2
- package/dist/core/functionsBuilders/route/hook.mjs +2 -2
- package/dist/core/functionsBuilders/steps/create.d.ts +2 -2
- package/dist/core/functionsBuilders/steps/defaults/checkerStep.cjs +3 -2
- package/dist/core/functionsBuilders/steps/defaults/checkerStep.mjs +3 -2
- package/dist/core/functionsBuilders/steps/defaults/cutStep.cjs +3 -2
- package/dist/core/functionsBuilders/steps/defaults/cutStep.mjs +3 -2
- package/dist/core/functionsBuilders/steps/defaults/extractStep.cjs +6 -5
- package/dist/core/functionsBuilders/steps/defaults/extractStep.mjs +4 -3
- package/dist/core/functionsBuilders/steps/defaults/handlerStep.cjs +3 -2
- package/dist/core/functionsBuilders/steps/defaults/handlerStep.mjs +3 -2
- package/dist/core/functionsBuilders/steps/defaults/processStep.cjs +5 -4
- package/dist/core/functionsBuilders/steps/defaults/processStep.mjs +3 -2
- package/dist/core/hub/defaultNotfoundHandler.cjs +1 -0
- package/dist/core/hub/defaultNotfoundHandler.d.ts +2 -1
- package/dist/core/hub/defaultNotfoundHandler.mjs +1 -0
- package/dist/core/hub/index.cjs +2 -1
- package/dist/core/hub/index.mjs +2 -1
- package/dist/core/index.cjs +43 -34
- package/dist/core/index.d.ts +1 -0
- package/dist/core/index.mjs +8 -3
- package/dist/core/metadata/base.cjs +20 -0
- package/dist/core/metadata/base.d.ts +14 -0
- package/dist/core/metadata/base.mjs +17 -0
- package/dist/core/metadata/ignoreByRouteStore.cjs +7 -0
- package/dist/core/metadata/ignoreByRouteStore.d.ts +1 -0
- package/dist/core/metadata/ignoreByRouteStore.mjs +5 -0
- package/dist/core/metadata/index.cjs +10 -0
- package/dist/core/metadata/index.d.ts +2 -0
- package/dist/core/metadata/index.mjs +2 -0
- package/dist/core/process/index.d.ts +3 -1
- package/dist/core/response/base.cjs +40 -0
- package/dist/core/response/base.d.ts +21 -0
- package/dist/core/response/base.mjs +38 -0
- package/dist/core/response/contract.cjs +2 -2
- package/dist/core/response/contract.d.ts +120 -118
- package/dist/core/response/contract.mjs +2 -2
- package/dist/core/{route/hooks/response.cjs → response/hook.cjs} +4 -3
- package/dist/core/{route/hooks/response.d.ts → response/hook.d.ts} +2 -2
- package/dist/core/{route/hooks/response.mjs → response/hook.mjs} +3 -2
- package/dist/core/response/index.cjs +9 -38
- package/dist/core/response/index.d.ts +3 -20
- package/dist/core/response/index.mjs +3 -38
- package/dist/core/response/predicted.cjs +22 -0
- package/dist/core/response/predicted.d.ts +11 -0
- package/dist/core/response/predicted.mjs +20 -0
- package/dist/core/route/{hooks/index.cjs → hooks.cjs} +2 -3
- package/dist/core/route/{hooks/index.d.ts → hooks.d.ts} +4 -4
- package/dist/core/route/{hooks/index.mjs → hooks.mjs} +2 -2
- package/dist/core/route/index.cjs +4 -4
- package/dist/core/route/index.d.ts +2 -0
- package/dist/core/route/index.mjs +1 -1
- package/dist/core/router/index.cjs +1 -0
- package/dist/core/router/index.mjs +1 -0
- package/dist/core/steps/checker.d.ts +2 -0
- package/dist/core/steps/cut.d.ts +5 -3
- package/dist/core/steps/extract.d.ts +2 -0
- package/dist/core/steps/handler.d.ts +5 -3
- package/dist/core/steps/identifier.d.ts +2 -2
- package/dist/core/steps/presetChecker.d.ts +2 -0
- package/dist/core/steps/process.d.ts +2 -0
- package/dist/core/steps/types/stepFunctionParams.d.ts +2 -2
- package/dist/core/types/forbiddenBigintDataParser.cjs +2 -0
- package/dist/core/types/forbiddenBigintDataParser.d.ts +6 -0
- package/dist/core/types/forbiddenBigintDataParser.mjs +1 -0
- package/dist/core/types/index.cjs +1 -0
- package/dist/core/types/index.d.ts +1 -0
- package/dist/core/types/index.mjs +1 -0
- package/dist/interfaces/node/createHttpServer.cjs +1 -0
- package/dist/interfaces/node/createHttpServer.d.ts +2 -1
- package/dist/interfaces/node/createHttpServer.mjs +1 -0
- package/dist/interfaces/node/hooks.cjs +16 -13
- package/dist/interfaces/node/hooks.mjs +15 -12
- package/dist/plugins/codeGenerator/{stepsToDataParser.cjs → aggregateStepContract.cjs} +8 -5
- package/dist/plugins/codeGenerator/{stepsToDataParser.d.ts → aggregateStepContract.d.ts} +1 -1
- package/dist/plugins/codeGenerator/{stepsToDataParser.mjs → aggregateStepContract.mjs} +9 -6
- package/dist/plugins/codeGenerator/index.cjs +4 -5
- package/dist/plugins/codeGenerator/index.d.ts +2 -1
- package/dist/plugins/codeGenerator/index.mjs +3 -2
- package/dist/plugins/codeGenerator/metadata.cjs +8 -0
- package/dist/plugins/codeGenerator/metadata.d.ts +1 -0
- package/dist/plugins/codeGenerator/metadata.mjs +6 -0
- package/dist/plugins/codeGenerator/plugin.cjs +1 -1
- package/dist/plugins/codeGenerator/plugin.mjs +1 -1
- package/dist/plugins/codeGenerator/routeToDataParser.cjs +11 -57
- package/dist/plugins/codeGenerator/routeToDataParser.d.ts +2 -181
- package/dist/plugins/codeGenerator/routeToDataParser.mjs +13 -56
- package/dist/plugins/openApiGenerator/aggregateStepContract.cjs +65 -0
- package/dist/plugins/openApiGenerator/aggregateStepContract.d.ts +18 -0
- package/dist/plugins/openApiGenerator/aggregateStepContract.mjs +63 -0
- package/dist/plugins/openApiGenerator/index.cjs +19 -0
- package/dist/plugins/openApiGenerator/index.d.ts +8 -0
- package/dist/plugins/openApiGenerator/index.mjs +8 -0
- package/dist/plugins/openApiGenerator/makeOpenApiPage.cjs +30 -0
- package/dist/plugins/openApiGenerator/makeOpenApiPage.d.ts +7 -0
- package/dist/plugins/openApiGenerator/makeOpenApiPage.mjs +28 -0
- package/dist/plugins/openApiGenerator/makeOpenApiRoute.cjs +15 -0
- package/dist/plugins/openApiGenerator/makeOpenApiRoute.d.ts +20 -0
- package/dist/plugins/openApiGenerator/makeOpenApiRoute.mjs +13 -0
- package/dist/plugins/openApiGenerator/metadata.cjs +8 -0
- package/dist/plugins/openApiGenerator/metadata.d.ts +1 -0
- package/dist/plugins/openApiGenerator/metadata.mjs +6 -0
- package/dist/plugins/openApiGenerator/plugin.cjs +90 -0
- package/dist/plugins/openApiGenerator/plugin.d.ts +49 -0
- package/dist/plugins/openApiGenerator/plugin.mjs +88 -0
- package/dist/plugins/openApiGenerator/routeToOpenApi.cjs +168 -0
- package/dist/plugins/openApiGenerator/routeToOpenApi.d.ts +35 -0
- package/dist/plugins/openApiGenerator/routeToOpenApi.mjs +166 -0
- package/dist/plugins/openApiGenerator/types/endpointResponse.cjs +2 -0
- package/dist/plugins/openApiGenerator/types/endpointResponse.d.ts +19 -0
- package/dist/plugins/openApiGenerator/types/endpointResponse.mjs +1 -0
- package/dist/plugins/openApiGenerator/types/entrypoint.cjs +2 -0
- package/dist/plugins/openApiGenerator/types/entrypoint.d.ts +22 -0
- package/dist/plugins/openApiGenerator/types/entrypoint.mjs +1 -0
- package/dist/plugins/openApiGenerator/types/entrypointKey.cjs +2 -0
- package/dist/plugins/openApiGenerator/types/entrypointKey.d.ts +1 -0
- package/dist/plugins/openApiGenerator/types/entrypointKey.mjs +1 -0
- package/dist/plugins/openApiGenerator/types/index.cjs +11 -0
- package/dist/plugins/openApiGenerator/types/index.d.ts +8 -0
- package/dist/plugins/openApiGenerator/types/index.mjs +8 -0
- package/dist/plugins/openApiGenerator/types/openApiDocument.cjs +2 -0
- package/dist/plugins/openApiGenerator/types/openApiDocument.d.ts +31 -0
- package/dist/plugins/openApiGenerator/types/openApiDocument.mjs +1 -0
- package/dist/plugins/openApiGenerator/types/openApiMethod.cjs +2 -0
- package/dist/plugins/openApiGenerator/types/openApiMethod.d.ts +1 -0
- package/dist/plugins/openApiGenerator/types/openApiMethod.mjs +1 -0
- package/dist/plugins/openApiGenerator/types/openApiOperation.cjs +2 -0
- package/dist/plugins/openApiGenerator/types/openApiOperation.d.ts +8 -0
- package/dist/plugins/openApiGenerator/types/openApiOperation.mjs +1 -0
- package/dist/plugins/openApiGenerator/types/openApiPath.cjs +2 -0
- package/dist/plugins/openApiGenerator/types/openApiPath.d.ts +4 -0
- package/dist/plugins/openApiGenerator/types/openApiPath.mjs +1 -0
- package/dist/plugins/openApiGenerator/types/openApiSecuritySchema.cjs +2 -0
- package/dist/plugins/openApiGenerator/types/openApiSecuritySchema.d.ts +8 -0
- package/dist/plugins/openApiGenerator/types/openApiSecuritySchema.mjs +1 -0
- package/package.json +17 -4
- /package/dist/core/builders/process/{export.cjs → exports.cjs} +0 -0
- /package/dist/core/builders/process/{export.d.ts → exports.d.ts} +0 -0
- /package/dist/core/builders/process/{export.mjs → exports.mjs} +0 -0
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import '../../../steps/index.mjs';
|
|
2
2
|
import { createStepFunctionBuilder } from '../create.mjs';
|
|
3
3
|
import { wrapValue, A, E, unwrap } from '@duplojs/utils';
|
|
4
|
-
import
|
|
4
|
+
import '../../../response/index.mjs';
|
|
5
5
|
import { cutStepKind, cutStepOutputKind } from '../../../steps/cut.mjs';
|
|
6
6
|
import { ResponseContract } from '../../../response/contract.mjs';
|
|
7
|
+
import { PredictedResponse } from '../../../response/predicted.mjs';
|
|
7
8
|
|
|
8
9
|
const defaultCutStepFunctionBuilder = createStepFunctionBuilder(cutStepKind.has, (step, { success }) => {
|
|
9
10
|
const { responseContract, theFunction: cutFunction, } = step.definition;
|
|
@@ -20,7 +21,7 @@ const defaultCutStepFunctionBuilder = createStepFunctionBuilder(cutStepKind.has,
|
|
|
20
21
|
if (E.isLeft(result)) {
|
|
21
22
|
throw new ResponseContract.Error(information, unwrap(result));
|
|
22
23
|
}
|
|
23
|
-
return new
|
|
24
|
+
return new PredictedResponse(currentContract.code, currentContract.information, body);
|
|
24
25
|
};
|
|
25
26
|
function treatResult(result, floor) {
|
|
26
27
|
if (cutStepOutputKind.has(result)) {
|
|
@@ -2,15 +2,16 @@
|
|
|
2
2
|
|
|
3
3
|
require('../../../steps/index.cjs');
|
|
4
4
|
var utils = require('@duplojs/utils');
|
|
5
|
-
|
|
5
|
+
require('../../../response/index.cjs');
|
|
6
6
|
var create = require('../create.cjs');
|
|
7
7
|
var extract = require('../../../steps/extract.cjs');
|
|
8
|
+
var predicted = require('../../../response/predicted.cjs');
|
|
8
9
|
|
|
9
10
|
const defaultExtractStepFunctionBuilder = create.createStepFunctionBuilder(extract.extractStepKind.has, (step, { success, environment, defaultExtractContract }) => {
|
|
10
11
|
const { shape, responseContract: stepResponseContract, } = step.definition;
|
|
11
12
|
const responseContract = stepResponseContract ?? defaultExtractContract;
|
|
12
13
|
function getResponse(result, key, subKey) {
|
|
13
|
-
const response = new
|
|
14
|
+
const response = new predicted.PredictedResponse(responseContract.code, responseContract.information, environment === "DEV"
|
|
14
15
|
? utils.unwrap(result)
|
|
15
16
|
: undefined);
|
|
16
17
|
return subKey === undefined
|
|
@@ -33,9 +34,9 @@ const defaultExtractStepFunctionBuilder = create.createStepFunctionBuilder(extra
|
|
|
33
34
|
buildedFunction: (request, floor) => {
|
|
34
35
|
let newFloor = floor;
|
|
35
36
|
// eslint-disable-next-line @typescript-eslint/prefer-for-of
|
|
36
|
-
for (let index
|
|
37
|
-
const result = extractors[index
|
|
38
|
-
if (result instanceof
|
|
37
|
+
for (let index = 0; index < extractors.length; index++) {
|
|
38
|
+
const result = extractors[index](request, newFloor);
|
|
39
|
+
if (result instanceof predicted.PredictedResponse) {
|
|
39
40
|
return result;
|
|
40
41
|
}
|
|
41
42
|
newFloor = result;
|
|
@@ -1,14 +1,15 @@
|
|
|
1
1
|
import '../../../steps/index.mjs';
|
|
2
2
|
import { unwrap, E, A, O, DP, pipe, P, isType, justReturn, innerPipe } from '@duplojs/utils';
|
|
3
|
-
import
|
|
3
|
+
import '../../../response/index.mjs';
|
|
4
4
|
import { createStepFunctionBuilder } from '../create.mjs';
|
|
5
5
|
import { extractStepKind } from '../../../steps/extract.mjs';
|
|
6
|
+
import { PredictedResponse } from '../../../response/predicted.mjs';
|
|
6
7
|
|
|
7
8
|
const defaultExtractStepFunctionBuilder = createStepFunctionBuilder(extractStepKind.has, (step, { success, environment, defaultExtractContract }) => {
|
|
8
9
|
const { shape, responseContract: stepResponseContract, } = step.definition;
|
|
9
10
|
const responseContract = stepResponseContract ?? defaultExtractContract;
|
|
10
11
|
function getResponse(result, key, subKey) {
|
|
11
|
-
const response = new
|
|
12
|
+
const response = new PredictedResponse(responseContract.code, responseContract.information, environment === "DEV"
|
|
12
13
|
? unwrap(result)
|
|
13
14
|
: undefined);
|
|
14
15
|
return subKey === undefined
|
|
@@ -33,7 +34,7 @@ const defaultExtractStepFunctionBuilder = createStepFunctionBuilder(extractStepK
|
|
|
33
34
|
// eslint-disable-next-line @typescript-eslint/prefer-for-of
|
|
34
35
|
for (let index = 0; index < extractors.length; index++) {
|
|
35
36
|
const result = extractors[index](request, newFloor);
|
|
36
|
-
if (result instanceof
|
|
37
|
+
if (result instanceof PredictedResponse) {
|
|
37
38
|
return result;
|
|
38
39
|
}
|
|
39
40
|
newFloor = result;
|
|
@@ -3,9 +3,10 @@
|
|
|
3
3
|
require('../../../steps/index.cjs');
|
|
4
4
|
var create = require('../create.cjs');
|
|
5
5
|
var utils = require('@duplojs/utils');
|
|
6
|
-
|
|
6
|
+
require('../../../response/index.cjs');
|
|
7
7
|
var handler = require('../../../steps/handler.cjs');
|
|
8
8
|
var contract = require('../../../response/contract.cjs');
|
|
9
|
+
var predicted = require('../../../response/predicted.cjs');
|
|
9
10
|
|
|
10
11
|
const defaultHandlerStepFunctionBuilder = create.createStepFunctionBuilder(handler.handlerStepKind.has, (step, { success }) => {
|
|
11
12
|
const { responseContract, theFunction: handlerFunction, } = step.definition;
|
|
@@ -21,7 +22,7 @@ const defaultHandlerStepFunctionBuilder = create.createStepFunctionBuilder(handl
|
|
|
21
22
|
if (utils.E.isLeft(result)) {
|
|
22
23
|
throw new contract.ResponseContract.Error(information, utils.unwrap(result));
|
|
23
24
|
}
|
|
24
|
-
return new
|
|
25
|
+
return new predicted.PredictedResponse(currentContract.code, currentContract.information, body);
|
|
25
26
|
};
|
|
26
27
|
return success({
|
|
27
28
|
buildedFunction: (request, floor) => handlerFunction(floor, {
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import '../../../steps/index.mjs';
|
|
2
2
|
import { createStepFunctionBuilder } from '../create.mjs';
|
|
3
3
|
import { A, E, unwrap } from '@duplojs/utils';
|
|
4
|
-
import
|
|
4
|
+
import '../../../response/index.mjs';
|
|
5
5
|
import { handlerStepKind } from '../../../steps/handler.mjs';
|
|
6
6
|
import { ResponseContract } from '../../../response/contract.mjs';
|
|
7
|
+
import { PredictedResponse } from '../../../response/predicted.mjs';
|
|
7
8
|
|
|
8
9
|
const defaultHandlerStepFunctionBuilder = createStepFunctionBuilder(handlerStepKind.has, (step, { success }) => {
|
|
9
10
|
const { responseContract, theFunction: handlerFunction, } = step.definition;
|
|
@@ -19,7 +20,7 @@ const defaultHandlerStepFunctionBuilder = createStepFunctionBuilder(handlerStepK
|
|
|
19
20
|
if (E.isLeft(result)) {
|
|
20
21
|
throw new ResponseContract.Error(information, unwrap(result));
|
|
21
22
|
}
|
|
22
|
-
return new
|
|
23
|
+
return new PredictedResponse(currentContract.code, currentContract.information, body);
|
|
23
24
|
};
|
|
24
25
|
return success({
|
|
25
26
|
buildedFunction: (request, floor) => handlerFunction(floor, {
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
require('../../../steps/index.cjs');
|
|
4
|
-
|
|
4
|
+
require('../../../response/index.cjs');
|
|
5
5
|
var create = require('../create.cjs');
|
|
6
6
|
var utils = require('@duplojs/utils');
|
|
7
7
|
var process = require('../../../steps/process.cjs');
|
|
8
|
+
var predicted = require('../../../response/predicted.cjs');
|
|
8
9
|
|
|
9
10
|
function buildStepsFunction(steps, buildStep) {
|
|
10
11
|
return utils.G.asyncReduce(steps, utils.G.reduceFrom([]), async ({ lastValue, element: step, next, exit }) => {
|
|
@@ -31,9 +32,9 @@ const defaultProcessStepFunctionBuilder = create.createStepFunctionBuilder(proce
|
|
|
31
32
|
buildedFunction: async (request, floor) => {
|
|
32
33
|
let processFloor = { options: getOptions(floor) };
|
|
33
34
|
// eslint-disable-next-line @typescript-eslint/prefer-for-of
|
|
34
|
-
for (let index
|
|
35
|
-
const result = await buildedSteps[index
|
|
36
|
-
if (result instanceof
|
|
35
|
+
for (let index = 0; index < buildedSteps.length; index++) {
|
|
36
|
+
const result = await buildedSteps[index].buildedFunction(request, floor);
|
|
37
|
+
if (result instanceof predicted.PredictedResponse) {
|
|
37
38
|
return result;
|
|
38
39
|
}
|
|
39
40
|
processFloor = result;
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import '../../../steps/index.mjs';
|
|
2
|
-
import
|
|
2
|
+
import '../../../response/index.mjs';
|
|
3
3
|
import { createStepFunctionBuilder } from '../create.mjs';
|
|
4
4
|
import { G, E, A, unwrap, pipe, P, or, isType, forward } from '@duplojs/utils';
|
|
5
5
|
import { processStepKind } from '../../../steps/process.mjs';
|
|
6
|
+
import { PredictedResponse } from '../../../response/predicted.mjs';
|
|
6
7
|
|
|
7
8
|
function buildStepsFunction(steps, buildStep) {
|
|
8
9
|
return G.asyncReduce(steps, G.reduceFrom([]), async ({ lastValue, element: step, next, exit }) => {
|
|
@@ -31,7 +32,7 @@ const defaultProcessStepFunctionBuilder = createStepFunctionBuilder(processStepK
|
|
|
31
32
|
// eslint-disable-next-line @typescript-eslint/prefer-for-of
|
|
32
33
|
for (let index = 0; index < buildedSteps.length; index++) {
|
|
33
34
|
const result = await buildedSteps[index].buildedFunction(request, floor);
|
|
34
|
-
if (result instanceof
|
|
35
|
+
if (result instanceof PredictedResponse) {
|
|
35
36
|
return result;
|
|
36
37
|
}
|
|
37
38
|
processFloor = result;
|
|
@@ -9,6 +9,7 @@ var contract = require('../response/contract.cjs');
|
|
|
9
9
|
const defaultNotfoundHandler = handler.createHandlerStep({
|
|
10
10
|
responseContract: contract.ResponseContract.notFound("notfound-route", utils.DP.string()),
|
|
11
11
|
theFunction: (floor, { request, response }) => response("notfound-route", `${request.method}:${request.path}`),
|
|
12
|
+
metadata: [],
|
|
12
13
|
});
|
|
13
14
|
|
|
14
15
|
exports.defaultNotfoundHandler = defaultNotfoundHandler;
|
|
@@ -6,5 +6,6 @@ export declare const defaultNotfoundHandler: import("../steps").HandlerStep<{
|
|
|
6
6
|
readonly coerce: boolean;
|
|
7
7
|
readonly checkers: readonly [];
|
|
8
8
|
}>>>;
|
|
9
|
-
theFunction: (floor: import("..").Floor, { request, response }: import("../steps").HandlerStepFunctionParams<import("..").Request, import("../response").
|
|
9
|
+
theFunction: (floor: import("..").Floor, { request, response }: import("../steps").HandlerStepFunctionParams<import("..").Request, import("../response").PredictedResponse<import("../response").ResponseCode, string, unknown>>) => never;
|
|
10
|
+
metadata: never[];
|
|
10
11
|
}>;
|
|
@@ -7,6 +7,7 @@ import { ResponseContract } from '../response/contract.mjs';
|
|
|
7
7
|
const defaultNotfoundHandler = createHandlerStep({
|
|
8
8
|
responseContract: ResponseContract.notFound("notfound-route", DP.string()),
|
|
9
9
|
theFunction: (floor, { request, response }) => response("notfound-route", `${request.method}:${request.path}`),
|
|
10
|
+
metadata: [],
|
|
10
11
|
});
|
|
11
12
|
|
|
12
13
|
export { defaultNotfoundHandler };
|
package/dist/core/hub/index.cjs
CHANGED
|
@@ -59,7 +59,7 @@ function createHub(config) {
|
|
|
59
59
|
register(route) {
|
|
60
60
|
return {
|
|
61
61
|
...this,
|
|
62
|
-
routes: utils.A.concat(this.routes, utils.pipe(route, utils.P.when(index.routeKind.has, utils.A.coalescing), utils.P.when(utils.isType("iterable"), utils.A.from), utils.P.otherwise(utils.O.values))),
|
|
62
|
+
routes: utils.A.concat(this.routes, utils.pipe(route, utils.P.when(index.routeKind.has, utils.A.coalescing), utils.P.when(utils.isType("iterable"), utils.A.from), utils.P.otherwise(utils.O.values), utils.A.filter((route) => !utils.A.includes(this.routes, route)))),
|
|
63
63
|
};
|
|
64
64
|
},
|
|
65
65
|
setDefaultExtractContract(defaultExtractContract) {
|
|
@@ -74,6 +74,7 @@ function createHub(config) {
|
|
|
74
74
|
notfoundHandler: handler.createHandlerStep({
|
|
75
75
|
responseContract,
|
|
76
76
|
theFunction: (floor, params) => theFunction(params),
|
|
77
|
+
metadata: [],
|
|
77
78
|
}),
|
|
78
79
|
};
|
|
79
80
|
},
|
package/dist/core/hub/index.mjs
CHANGED
|
@@ -57,7 +57,7 @@ function createHub(config) {
|
|
|
57
57
|
register(route) {
|
|
58
58
|
return {
|
|
59
59
|
...this,
|
|
60
|
-
routes: A.concat(this.routes, pipe(route, P.when(routeKind.has, A.coalescing), P.when(isType("iterable"), A.from), P.otherwise(O.values))),
|
|
60
|
+
routes: A.concat(this.routes, pipe(route, P.when(routeKind.has, A.coalescing), P.when(isType("iterable"), A.from), P.otherwise(O.values), A.filter((route) => !A.includes(this.routes, route)))),
|
|
61
61
|
};
|
|
62
62
|
},
|
|
63
63
|
setDefaultExtractContract(defaultExtractContract) {
|
|
@@ -72,6 +72,7 @@ function createHub(config) {
|
|
|
72
72
|
notfoundHandler: createHandlerStep({
|
|
73
73
|
responseContract,
|
|
74
74
|
theFunction: (floor, params) => theFunction(params),
|
|
75
|
+
metadata: [],
|
|
75
76
|
}),
|
|
76
77
|
};
|
|
77
78
|
},
|
package/dist/core/index.cjs
CHANGED
|
@@ -2,27 +2,30 @@
|
|
|
2
2
|
|
|
3
3
|
require('./types/index.cjs');
|
|
4
4
|
require('./builders/index.cjs');
|
|
5
|
-
|
|
6
|
-
var index
|
|
5
|
+
require('./response/index.cjs');
|
|
6
|
+
var index = require('./route/index.cjs');
|
|
7
7
|
require('./steps/index.cjs');
|
|
8
8
|
var checker$2 = require('./checker.cjs');
|
|
9
9
|
require('./floor.cjs');
|
|
10
10
|
var kind$1 = require('./kind.cjs');
|
|
11
|
-
var index$
|
|
11
|
+
var index$1 = require('./process/index.cjs');
|
|
12
12
|
var request = require('./request.cjs');
|
|
13
13
|
var presetChecker$1 = require('./presetChecker.cjs');
|
|
14
|
-
var index$
|
|
14
|
+
var index$2 = require('./hub/index.cjs');
|
|
15
15
|
require('./functionsBuilders/index.cjs');
|
|
16
|
-
var index$
|
|
16
|
+
var index$3 = require('./router/index.cjs');
|
|
17
17
|
var stringIdentifier = require('./stringIdentifier.cjs');
|
|
18
|
+
require('./metadata/index.cjs');
|
|
18
19
|
var checker = require('./builders/checker.cjs');
|
|
19
20
|
var builder = require('./builders/route/builder.cjs');
|
|
20
21
|
var store = require('./builders/route/store.cjs');
|
|
21
22
|
var builder$1 = require('./builders/process/builder.cjs');
|
|
22
23
|
var builder$2 = require('./builders/preflight/builder.cjs');
|
|
24
|
+
var base = require('./response/base.cjs');
|
|
23
25
|
var contract = require('./response/contract.cjs');
|
|
24
|
-
var
|
|
25
|
-
var
|
|
26
|
+
var hook = require('./response/hook.cjs');
|
|
27
|
+
var predicted = require('./response/predicted.cjs');
|
|
28
|
+
var hooks = require('./route/hooks.cjs');
|
|
26
29
|
var kind = require('./steps/kind.cjs');
|
|
27
30
|
var identifier = require('./steps/identifier.cjs');
|
|
28
31
|
var checker$1 = require('./steps/checker.cjs');
|
|
@@ -31,13 +34,13 @@ var cut = require('./steps/cut.cjs');
|
|
|
31
34
|
var handler = require('./steps/handler.cjs');
|
|
32
35
|
var process = require('./steps/process.cjs');
|
|
33
36
|
var presetChecker = require('./steps/presetChecker.cjs');
|
|
34
|
-
var hooks = require('./hub/hooks.cjs');
|
|
37
|
+
var hooks$1 = require('./hub/hooks.cjs');
|
|
35
38
|
var defaultNotfoundHandler = require('./hub/defaultNotfoundHandler.cjs');
|
|
36
39
|
var defaultExtractContract = require('./hub/defaultExtractContract.cjs');
|
|
37
40
|
var build = require('./functionsBuilders/route/build.cjs');
|
|
38
41
|
var create = require('./functionsBuilders/route/create.cjs');
|
|
39
42
|
var _default = require('./functionsBuilders/route/default.cjs');
|
|
40
|
-
var hook = require('./functionsBuilders/route/hook.cjs');
|
|
43
|
+
var hook$1 = require('./functionsBuilders/route/hook.cjs');
|
|
41
44
|
var create$1 = require('./functionsBuilders/steps/create.cjs');
|
|
42
45
|
var checkerStep = require('./functionsBuilders/steps/defaults/checkerStep.cjs');
|
|
43
46
|
var cutStep = require('./functionsBuilders/steps/defaults/cutStep.cjs');
|
|
@@ -48,24 +51,25 @@ var build$1 = require('./functionsBuilders/steps/build.cjs');
|
|
|
48
51
|
var pathToRegExp = require('./router/pathToRegExp.cjs');
|
|
49
52
|
var buildError = require('./router/buildError.cjs');
|
|
50
53
|
var decodeUrl = require('./router/decodeUrl.cjs');
|
|
54
|
+
var base$1 = require('./metadata/base.cjs');
|
|
55
|
+
var ignoreByRouteStore = require('./metadata/ignoreByRouteStore.cjs');
|
|
51
56
|
|
|
52
57
|
|
|
53
58
|
|
|
54
|
-
exports.
|
|
55
|
-
exports.
|
|
56
|
-
exports.routeKind = index$1.routeKind;
|
|
59
|
+
exports.createRoute = index.createRoute;
|
|
60
|
+
exports.routeKind = index.routeKind;
|
|
57
61
|
exports.checkerKind = checker$2.checkerKind;
|
|
58
62
|
exports.checkerOutputKind = checker$2.checkerOutputKind;
|
|
59
63
|
exports.createChecker = checker$2.createChecker;
|
|
60
64
|
exports.createCoreLibKind = kind$1.createCoreLibKind;
|
|
61
|
-
exports.createProcess = index$
|
|
62
|
-
exports.processKind = index$
|
|
65
|
+
exports.createProcess = index$1.createProcess;
|
|
66
|
+
exports.processKind = index$1.processKind;
|
|
63
67
|
exports.Request = request.Request;
|
|
64
68
|
exports.createPresetChecker = presetChecker$1.createPresetChecker;
|
|
65
69
|
exports.presetCheckerKind = presetChecker$1.presetCheckerKind;
|
|
66
|
-
exports.createHub = index$
|
|
67
|
-
exports.hubKind = index$
|
|
68
|
-
exports.buildRouter = index$
|
|
70
|
+
exports.createHub = index$2.createHub;
|
|
71
|
+
exports.hubKind = index$2.hubKind;
|
|
72
|
+
exports.buildRouter = index$3.buildRouter;
|
|
69
73
|
exports.createCoreLibStringIdentifier = stringIdentifier.createCoreLibStringIdentifier;
|
|
70
74
|
exports.checkerBuilder = checker.checkerBuilder;
|
|
71
75
|
exports.useCheckerBuilder = checker.useCheckerBuilder;
|
|
@@ -76,14 +80,16 @@ exports.processBuilder = builder$1.processBuilder;
|
|
|
76
80
|
exports.useProcessBuilder = builder$1.useProcessBuilder;
|
|
77
81
|
exports.preflightBuilder = builder$2.preflightBuilder;
|
|
78
82
|
exports.usePreflightBuilder = builder$2.usePreflightBuilder;
|
|
83
|
+
exports.Response = base.Response;
|
|
79
84
|
Object.defineProperty(exports, "ResponseContract", {
|
|
80
85
|
enumerable: true,
|
|
81
86
|
get: function () { return contract.ResponseContract; }
|
|
82
87
|
});
|
|
83
|
-
exports.HookResponse =
|
|
84
|
-
exports.
|
|
85
|
-
exports.
|
|
86
|
-
exports.
|
|
88
|
+
exports.HookResponse = hook.HookResponse;
|
|
89
|
+
exports.PredictedResponse = predicted.PredictedResponse;
|
|
90
|
+
exports.createHookRouteLifeCycle = hooks.createHookRouteLifeCycle;
|
|
91
|
+
exports.hookRouteExitKind = hooks.hookRouteExitKind;
|
|
92
|
+
exports.hookRouteNextKind = hooks.hookRouteNextKind;
|
|
87
93
|
exports.stepKind = kind.stepKind;
|
|
88
94
|
exports.stepIdentifier = identifier.stepIdentifier;
|
|
89
95
|
exports.checkerStepKind = checker$1.checkerStepKind;
|
|
@@ -99,24 +105,24 @@ exports.createProcessStep = process.createProcessStep;
|
|
|
99
105
|
exports.processStepKind = process.processStepKind;
|
|
100
106
|
exports.createPresetCheckerStep = presetChecker.createPresetCheckerStep;
|
|
101
107
|
exports.presetCheckerStepKind = presetChecker.presetCheckerStepKind;
|
|
102
|
-
exports.hookServerExitKind = hooks.hookServerExitKind;
|
|
103
|
-
exports.hookServerNextKind = hooks.hookServerNextKind;
|
|
104
|
-
exports.launchHookBeforeBuildRoute = hooks.launchHookBeforeBuildRoute;
|
|
105
|
-
exports.launchHookServer = hooks.launchHookServer;
|
|
106
|
-
exports.launchHookServerError = hooks.launchHookServerError;
|
|
107
|
-
exports.serverErrorExitHookFunction = hooks.serverErrorExitHookFunction;
|
|
108
|
-
exports.serverErrorNextHookFunction = hooks.serverErrorNextHookFunction;
|
|
108
|
+
exports.hookServerExitKind = hooks$1.hookServerExitKind;
|
|
109
|
+
exports.hookServerNextKind = hooks$1.hookServerNextKind;
|
|
110
|
+
exports.launchHookBeforeBuildRoute = hooks$1.launchHookBeforeBuildRoute;
|
|
111
|
+
exports.launchHookServer = hooks$1.launchHookServer;
|
|
112
|
+
exports.launchHookServerError = hooks$1.launchHookServerError;
|
|
113
|
+
exports.serverErrorExitHookFunction = hooks$1.serverErrorExitHookFunction;
|
|
114
|
+
exports.serverErrorNextHookFunction = hooks$1.serverErrorNextHookFunction;
|
|
109
115
|
exports.defaultNotfoundHandler = defaultNotfoundHandler.defaultNotfoundHandler;
|
|
110
116
|
exports.defaultExtractContract = defaultExtractContract.defaultExtractContract;
|
|
111
117
|
exports.buildRouteFunction = build.buildRouteFunction;
|
|
112
118
|
exports.createRouteFunctionBuilder = create.createRouteFunctionBuilder;
|
|
113
119
|
exports.defaultRouteFunctionBuilder = _default.defaultRouteFunctionBuilder;
|
|
114
|
-
exports.buildHookAfter = hook.buildHookAfter;
|
|
115
|
-
exports.buildHookBefore = hook.buildHookBefore;
|
|
116
|
-
exports.buildHookErrorBefore = hook.buildHookErrorBefore;
|
|
117
|
-
exports.createHookResponse = hook.createHookResponse;
|
|
118
|
-
exports.exitHookFunction = hook.exitHookFunction;
|
|
119
|
-
exports.nextHookFunction = hook.nextHookFunction;
|
|
120
|
+
exports.buildHookAfter = hook$1.buildHookAfter;
|
|
121
|
+
exports.buildHookBefore = hook$1.buildHookBefore;
|
|
122
|
+
exports.buildHookErrorBefore = hook$1.buildHookErrorBefore;
|
|
123
|
+
exports.createHookResponse = hook$1.createHookResponse;
|
|
124
|
+
exports.exitHookFunction = hook$1.exitHookFunction;
|
|
125
|
+
exports.nextHookFunction = hook$1.nextHookFunction;
|
|
120
126
|
exports.createStepFunctionBuilder = create$1.createStepFunctionBuilder;
|
|
121
127
|
exports.defaultCheckerStepFunctionBuilder = checkerStep.defaultCheckerStepFunctionBuilder;
|
|
122
128
|
exports.defaultCutStepFunctionBuilder = cutStep.defaultCutStepFunctionBuilder;
|
|
@@ -130,3 +136,6 @@ exports.RouterBuildError = buildError.RouterBuildError;
|
|
|
130
136
|
exports.decodeUrl = decodeUrl.decodeUrl;
|
|
131
137
|
exports.regexQueryAnalyser = decodeUrl.regexQueryAnalyser;
|
|
132
138
|
exports.regexUrlAnalyser = decodeUrl.regexUrlAnalyser;
|
|
139
|
+
exports.createMetadata = base$1.createMetadata;
|
|
140
|
+
exports.metadataKind = base$1.metadataKind;
|
|
141
|
+
exports.IgnoreByRouteStoreMetadata = ignoreByRouteStore.IgnoreByRouteStoreMetadata;
|
package/dist/core/index.d.ts
CHANGED
package/dist/core/index.mjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import './types/index.mjs';
|
|
2
2
|
import './builders/index.mjs';
|
|
3
|
-
|
|
3
|
+
import './response/index.mjs';
|
|
4
4
|
export { createRoute, routeKind } from './route/index.mjs';
|
|
5
5
|
import './steps/index.mjs';
|
|
6
6
|
export { checkerKind, checkerOutputKind, createChecker } from './checker.mjs';
|
|
@@ -13,14 +13,17 @@ export { createHub, hubKind } from './hub/index.mjs';
|
|
|
13
13
|
import './functionsBuilders/index.mjs';
|
|
14
14
|
export { buildRouter } from './router/index.mjs';
|
|
15
15
|
export { createCoreLibStringIdentifier } from './stringIdentifier.mjs';
|
|
16
|
+
import './metadata/index.mjs';
|
|
16
17
|
export { checkerBuilder, useCheckerBuilder } from './builders/checker.mjs';
|
|
17
18
|
export { routeBuilderHandler, useRouteBuilder } from './builders/route/builder.mjs';
|
|
18
19
|
export { routeStore } from './builders/route/store.mjs';
|
|
19
20
|
export { processBuilder, useProcessBuilder } from './builders/process/builder.mjs';
|
|
20
21
|
export { preflightBuilder, usePreflightBuilder } from './builders/preflight/builder.mjs';
|
|
22
|
+
export { Response } from './response/base.mjs';
|
|
21
23
|
export { ResponseContract } from './response/contract.mjs';
|
|
22
|
-
export { HookResponse } from './
|
|
23
|
-
export {
|
|
24
|
+
export { HookResponse } from './response/hook.mjs';
|
|
25
|
+
export { PredictedResponse } from './response/predicted.mjs';
|
|
26
|
+
export { createHookRouteLifeCycle, hookRouteExitKind, hookRouteNextKind } from './route/hooks.mjs';
|
|
24
27
|
export { stepKind } from './steps/kind.mjs';
|
|
25
28
|
export { stepIdentifier } from './steps/identifier.mjs';
|
|
26
29
|
export { checkerStepKind, createCheckerStep } from './steps/checker.mjs';
|
|
@@ -46,3 +49,5 @@ export { buildStepFunction } from './functionsBuilders/steps/build.mjs';
|
|
|
46
49
|
export { pathToRegExp } from './router/pathToRegExp.mjs';
|
|
47
50
|
export { RouterBuildError } from './router/buildError.mjs';
|
|
48
51
|
export { decodeUrl, regexQueryAnalyser, regexUrlAnalyser } from './router/decodeUrl.mjs';
|
|
52
|
+
export { createMetadata, metadataKind } from './metadata/base.mjs';
|
|
53
|
+
export { IgnoreByRouteStoreMetadata } from './metadata/ignoreByRouteStore.mjs';
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var kind = require('../kind.cjs');
|
|
4
|
+
var utils = require('@duplojs/utils');
|
|
5
|
+
|
|
6
|
+
const metadataKind = kind.createCoreLibKind("metadata");
|
|
7
|
+
function createMetadata(name) {
|
|
8
|
+
function metadataHandler(value) {
|
|
9
|
+
return metadataKind.setTo(utils.wrapValue(value), name);
|
|
10
|
+
}
|
|
11
|
+
metadataHandler.dataName = name;
|
|
12
|
+
metadataHandler.is = function (input) {
|
|
13
|
+
return metadataKind.has(input)
|
|
14
|
+
&& metadataKind.getValue(input) === name;
|
|
15
|
+
};
|
|
16
|
+
return metadataHandler;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
exports.createMetadata = createMetadata;
|
|
20
|
+
exports.metadataKind = metadataKind;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { type WrappedValue, type Kind, type IsEqual, type Or, type IsExtends } from "@duplojs/utils";
|
|
2
|
+
export declare const metadataKind: import("@duplojs/utils").KindHandler<import("@duplojs/utils").KindDefinition<"@DuplojsHttpCore/metadata", string>>;
|
|
3
|
+
export interface Metadata<GenericName extends string = string, GenericValue extends unknown = unknown> extends Kind<typeof metadataKind.definition, GenericName>, WrappedValue<GenericValue> {
|
|
4
|
+
}
|
|
5
|
+
export interface MetadataHandler<GenericName extends string, GenericValue extends unknown> {
|
|
6
|
+
dataName: GenericName;
|
|
7
|
+
<GenericMetadataValue extends GenericValue>(...args: Or<[
|
|
8
|
+
IsEqual<GenericValue, unknown>,
|
|
9
|
+
IsEqual<GenericValue, never>,
|
|
10
|
+
IsExtends<undefined, GenericValue>
|
|
11
|
+
]> extends true ? [value?: GenericMetadataValue] : [value: GenericMetadataValue]): Metadata<GenericName, GenericMetadataValue>;
|
|
12
|
+
is(input: unknown): input is Metadata<GenericName, any>;
|
|
13
|
+
}
|
|
14
|
+
export declare function createMetadata<GenericName extends string, GenericValue extends unknown = unknown>(name: GenericName): MetadataHandler<GenericName, GenericValue>;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { createCoreLibKind } from '../kind.mjs';
|
|
2
|
+
import { wrapValue } from '@duplojs/utils';
|
|
3
|
+
|
|
4
|
+
const metadataKind = createCoreLibKind("metadata");
|
|
5
|
+
function createMetadata(name) {
|
|
6
|
+
function metadataHandler(value) {
|
|
7
|
+
return metadataKind.setTo(wrapValue(value), name);
|
|
8
|
+
}
|
|
9
|
+
metadataHandler.dataName = name;
|
|
10
|
+
metadataHandler.is = function (input) {
|
|
11
|
+
return metadataKind.has(input)
|
|
12
|
+
&& metadataKind.getValue(input) === name;
|
|
13
|
+
};
|
|
14
|
+
return metadataHandler;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
export { createMetadata, metadataKind };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const IgnoreByRouteStoreMetadata: import("./base").MetadataHandler<"ignore-by-route-store", unknown>;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var base = require('./base.cjs');
|
|
4
|
+
var ignoreByRouteStore = require('./ignoreByRouteStore.cjs');
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
exports.createMetadata = base.createMetadata;
|
|
9
|
+
exports.metadataKind = base.metadataKind;
|
|
10
|
+
exports.IgnoreByRouteStoreMetadata = ignoreByRouteStore.IgnoreByRouteStoreMetadata;
|
|
@@ -3,6 +3,7 @@ import { type ProcessStep, type CheckerStep, type CutStep, type ExtractStep, typ
|
|
|
3
3
|
import { type Floor } from "../floor";
|
|
4
4
|
import { type HookRouteLifeCycle } from "../route";
|
|
5
5
|
import { type Request } from "../request";
|
|
6
|
+
import { type Metadata } from "../metadata";
|
|
6
7
|
export * from "./types";
|
|
7
8
|
export interface ProcessStepsCustom {
|
|
8
9
|
}
|
|
@@ -13,6 +14,7 @@ export interface ProcessDefinition {
|
|
|
13
14
|
steps: readonly ProcessSteps[];
|
|
14
15
|
options?: Record<string, unknown>;
|
|
15
16
|
readonly hooks: readonly HookRouteLifeCycle[];
|
|
17
|
+
readonly metadata: readonly Metadata[];
|
|
16
18
|
[SymbolProcessExportValue]?: Floor;
|
|
17
19
|
[SymbolProcessRequest]?: Request;
|
|
18
20
|
}
|
|
@@ -28,4 +30,4 @@ export declare const processKind: import("@duplojs/utils").KindHandler<import("@
|
|
|
28
30
|
export interface Process<GenericDefinition extends ProcessDefinition = ProcessDefinition> extends Kind<typeof processKind.definition> {
|
|
29
31
|
definition: GenericDefinition;
|
|
30
32
|
}
|
|
31
|
-
export declare function createProcess<GenericDefinition extends Pick<ProcessDefinition, "steps" | "options" | "hooks">>(definition: GenericDefinition): Process<GenericDefinition>;
|
|
33
|
+
export declare function createProcess<GenericDefinition extends Pick<ProcessDefinition, "steps" | "options" | "hooks" | "metadata">>(definition: GenericDefinition): Process<GenericDefinition>;
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var utils = require('@duplojs/utils');
|
|
4
|
+
var kind = require('../kind.cjs');
|
|
5
|
+
|
|
6
|
+
class Response extends utils.kindHeritage("response", kind.createCoreLibKind("response")) {
|
|
7
|
+
code;
|
|
8
|
+
information;
|
|
9
|
+
body;
|
|
10
|
+
headers = undefined;
|
|
11
|
+
constructor(code, information, body) {
|
|
12
|
+
super();
|
|
13
|
+
this.code = code;
|
|
14
|
+
this.information = information;
|
|
15
|
+
this.body = body;
|
|
16
|
+
}
|
|
17
|
+
setHeaders(headers) {
|
|
18
|
+
this.headers = utils.O.override(this.headers ?? {}, headers);
|
|
19
|
+
return this;
|
|
20
|
+
}
|
|
21
|
+
setHeader(key, header) {
|
|
22
|
+
if (!this.headers) {
|
|
23
|
+
this.headers = {};
|
|
24
|
+
}
|
|
25
|
+
if (typeof header !== "undefined") {
|
|
26
|
+
this.headers[key] = header;
|
|
27
|
+
}
|
|
28
|
+
return this;
|
|
29
|
+
}
|
|
30
|
+
deleteHeader(key) {
|
|
31
|
+
if (!this.headers) {
|
|
32
|
+
return this;
|
|
33
|
+
}
|
|
34
|
+
const { [key]: deleteHeader, ...rest } = this.headers;
|
|
35
|
+
this.headers = rest;
|
|
36
|
+
return this;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
exports.Response = Response;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { type S } from "@duplojs/utils";
|
|
2
|
+
export type InformationResponseCode = `1${S.Digit}${S.Digit}`;
|
|
3
|
+
export type SuccessResponseCode = `2${S.Digit}${S.Digit}`;
|
|
4
|
+
export type RedirectionResponseCode = `3${S.Digit}${S.Digit}`;
|
|
5
|
+
export type ClientErrorResponseCode = `4${S.Digit}${S.Digit}`;
|
|
6
|
+
export type ServerErrorResponseCode = `5${S.Digit}${S.Digit}`;
|
|
7
|
+
export type ResponseCode = (InformationResponseCode | SuccessResponseCode | RedirectionResponseCode | ClientErrorResponseCode | ServerErrorResponseCode);
|
|
8
|
+
declare const Response_base: new (params?: {
|
|
9
|
+
"@DuplojsHttpCore/response"?: unknown;
|
|
10
|
+
} | undefined) => import("@duplojs/utils").Kind<import("@duplojs/utils").KindDefinition<"@DuplojsHttpCore/response", unknown>, unknown> & import("@duplojs/utils").Kind<import("@duplojs/utils").KindDefinition<"response", unknown>, unknown>;
|
|
11
|
+
export declare class Response<GenericCode extends ResponseCode = ResponseCode, GenericInformation extends string = string, GenericBody extends unknown = unknown> extends Response_base {
|
|
12
|
+
code: GenericCode;
|
|
13
|
+
information: GenericInformation;
|
|
14
|
+
body: GenericBody;
|
|
15
|
+
headers: Record<string, string | string[]> | undefined;
|
|
16
|
+
constructor(code: GenericCode, information: GenericInformation, body: GenericBody);
|
|
17
|
+
setHeaders(headers: Partial<Record<string, string | string[]>>): this;
|
|
18
|
+
setHeader(key: string, header?: string | string[]): this;
|
|
19
|
+
deleteHeader(key: string): this;
|
|
20
|
+
}
|
|
21
|
+
export {};
|