@duplojs/http 0.1.0 → 0.2.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/core/builders/index.cjs +11 -0
- package/dist/core/builders/index.mjs +4 -0
- package/dist/core/builders/preflight/index.cjs +10 -0
- package/dist/core/builders/preflight/index.mjs +3 -0
- package/dist/core/builders/preflight/process.cjs +2 -8
- package/dist/core/builders/preflight/process.mjs +2 -8
- package/dist/core/builders/preflight/route.cjs +2 -8
- package/dist/core/builders/preflight/route.mjs +2 -8
- package/dist/core/builders/process/checker.cjs +2 -8
- package/dist/core/builders/process/checker.mjs +2 -8
- package/dist/core/builders/process/cut.cjs +2 -8
- package/dist/core/builders/process/cut.mjs +2 -8
- package/dist/core/builders/process/extract.cjs +2 -8
- package/dist/core/builders/process/extract.mjs +2 -8
- package/dist/core/builders/process/index.cjs +14 -0
- package/dist/core/builders/process/index.mjs +7 -0
- package/dist/core/builders/process/presetChecker.cjs +2 -8
- package/dist/core/builders/process/presetChecker.mjs +2 -8
- package/dist/core/builders/process/process.cjs +2 -8
- package/dist/core/builders/process/process.mjs +2 -8
- package/dist/core/builders/route/checker.cjs +2 -8
- package/dist/core/builders/route/checker.mjs +2 -8
- package/dist/core/builders/route/cut.cjs +2 -8
- package/dist/core/builders/route/cut.mjs +2 -8
- package/dist/core/builders/route/extract.cjs +2 -8
- package/dist/core/builders/route/extract.mjs +2 -8
- package/dist/core/builders/route/handler.cjs +2 -8
- package/dist/core/builders/route/handler.mjs +2 -8
- package/dist/core/builders/route/index.cjs +16 -0
- package/dist/core/builders/route/index.mjs +8 -0
- package/dist/core/builders/route/presetChecker.cjs +2 -8
- package/dist/core/builders/route/presetChecker.mjs +2 -8
- package/dist/core/builders/route/process.cjs +2 -8
- package/dist/core/builders/route/process.mjs +2 -8
- package/dist/core/floor.cjs +2 -0
- package/dist/core/floor.mjs +1 -0
- package/dist/core/functionsBuilders/index.cjs +5 -0
- package/dist/core/functionsBuilders/index.mjs +2 -0
- package/dist/core/functionsBuilders/route/build.cjs +5 -14
- package/dist/core/functionsBuilders/route/build.d.ts +3 -1
- package/dist/core/functionsBuilders/route/build.mjs +6 -15
- package/dist/core/functionsBuilders/route/create.d.ts +2 -0
- package/dist/core/functionsBuilders/route/default.cjs +1 -12
- package/dist/core/functionsBuilders/route/default.mjs +2 -13
- package/dist/core/functionsBuilders/route/index.cjs +18 -0
- package/dist/core/functionsBuilders/route/index.mjs +4 -0
- package/dist/core/functionsBuilders/steps/build.cjs +4 -0
- package/dist/core/functionsBuilders/steps/build.d.ts +2 -0
- package/dist/core/functionsBuilders/steps/build.mjs +5 -1
- package/dist/core/functionsBuilders/steps/create.d.ts +2 -1
- package/dist/core/functionsBuilders/steps/defaults/checkerStep.cjs +3 -8
- package/dist/core/functionsBuilders/steps/defaults/checkerStep.mjs +3 -8
- package/dist/core/functionsBuilders/steps/defaults/cutStep.cjs +3 -9
- package/dist/core/functionsBuilders/steps/defaults/cutStep.mjs +4 -10
- package/dist/core/functionsBuilders/steps/defaults/extractStep.cjs +4 -12
- package/dist/core/functionsBuilders/steps/defaults/extractStep.mjs +5 -13
- package/dist/core/functionsBuilders/steps/defaults/handlerStep.cjs +3 -9
- package/dist/core/functionsBuilders/steps/defaults/handlerStep.mjs +3 -9
- package/dist/core/functionsBuilders/steps/defaults/index.cjs +16 -0
- package/dist/core/functionsBuilders/steps/defaults/index.mjs +5 -0
- package/dist/core/functionsBuilders/steps/defaults/processStep.cjs +2 -8
- package/dist/core/functionsBuilders/steps/defaults/processStep.mjs +3 -9
- package/dist/core/functionsBuilders/steps/index.cjs +10 -0
- package/dist/core/functionsBuilders/steps/index.mjs +3 -0
- package/dist/core/hub/defaultNotfoundHandler.cjs +2 -8
- package/dist/core/hub/defaultNotfoundHandler.mjs +2 -8
- package/dist/core/hub/hooks.d.ts +3 -3
- package/dist/core/hub/index.cjs +2 -8
- package/dist/core/hub/index.mjs +2 -8
- package/dist/core/index.cjs +54 -63
- package/dist/core/index.mjs +21 -30
- package/dist/core/process/index.cjs +1 -0
- package/dist/core/process/index.mjs +1 -0
- package/dist/core/process/types/index.cjs +2 -0
- package/dist/core/process/types/index.mjs +1 -0
- package/dist/core/response/contract.cjs +11 -11
- package/dist/core/response/contract.d.ts +2 -2
- package/dist/core/response/contract.mjs +12 -12
- package/dist/core/route/hooks/response.cjs +1 -1
- package/dist/core/route/hooks/response.d.ts +1 -1
- package/dist/core/route/hooks/response.mjs +1 -1
- package/dist/core/route/index.cjs +1 -0
- package/dist/core/route/index.mjs +1 -0
- package/dist/core/route/types/buildedRoute.cjs +2 -0
- package/dist/core/route/types/buildedRoute.mjs +1 -0
- package/dist/core/route/types/index.cjs +4 -0
- package/dist/core/route/types/index.mjs +1 -0
- package/dist/core/router/buildError.cjs +3 -1
- package/dist/core/router/buildError.d.ts +4 -2
- package/dist/core/router/buildError.mjs +3 -1
- package/dist/core/router/index.cjs +13 -7
- package/dist/core/router/index.mjs +14 -8
- package/dist/core/router/types/buildedRouter.cjs +2 -0
- package/dist/core/router/types/buildedRouter.mjs +1 -0
- package/dist/core/router/types/index.cjs +4 -0
- package/dist/core/router/types/index.mjs +1 -0
- package/dist/core/steps/identifier.d.ts +2 -2
- package/dist/core/steps/index.cjs +29 -0
- package/dist/core/steps/index.mjs +9 -0
- package/dist/core/steps/types/buildedStep.cjs +2 -0
- package/dist/core/steps/types/buildedStep.mjs +1 -0
- package/dist/core/steps/types/index.cjs +6 -0
- package/dist/core/steps/types/index.mjs +3 -0
- package/dist/core/steps/types/stepFunctionParams.cjs +2 -0
- package/dist/core/steps/types/stepFunctionParams.mjs +1 -0
- package/dist/core/steps/types/steps.cjs +2 -0
- package/dist/core/steps/types/steps.mjs +1 -0
- package/dist/core/types/environment.cjs +2 -0
- package/dist/core/types/environment.d.ts +1 -1
- package/dist/core/types/environment.mjs +1 -0
- package/dist/core/types/index.cjs +4 -0
- package/dist/core/types/index.mjs +1 -0
- package/dist/interfaces/bun/index.cjs +1 -9
- package/dist/interfaces/bun/index.mjs +1 -9
- package/dist/interfaces/bun/types/index.cjs +4 -0
- package/dist/interfaces/bun/types/index.mjs +1 -0
- package/dist/interfaces/bun/types/request.cjs +5 -0
- package/dist/interfaces/bun/types/request.mjs +2 -0
- package/dist/interfaces/deno/index.cjs +1 -0
- package/dist/interfaces/deno/index.mjs +1 -0
- package/dist/interfaces/deno/types/index.cjs +2 -0
- package/dist/interfaces/deno/types/index.mjs +1 -0
- package/dist/interfaces/node/createHttpServer.cjs +10 -3
- package/dist/interfaces/node/createHttpServer.mjs +10 -3
- package/dist/interfaces/node/error/index.cjs +11 -0
- package/dist/interfaces/node/error/index.mjs +3 -0
- package/dist/interfaces/node/hooks.cjs +3 -2
- package/dist/interfaces/node/hooks.mjs +3 -2
- package/dist/interfaces/node/index.cjs +6 -13
- package/dist/interfaces/node/index.mjs +4 -11
- package/dist/interfaces/node/types/host.cjs +2 -0
- package/dist/interfaces/node/types/host.mjs +1 -0
- package/dist/interfaces/node/types/index.cjs +5 -0
- package/dist/interfaces/node/types/index.mjs +2 -0
- package/dist/interfaces/node/types/request.cjs +5 -0
- package/dist/interfaces/node/types/request.mjs +2 -0
- package/dist/plugins/codeGenerator/index.cjs +16 -0
- package/dist/plugins/codeGenerator/index.d.ts +5 -0
- package/dist/plugins/codeGenerator/index.mjs +5 -0
- package/dist/plugins/codeGenerator/plugin.cjs +51 -0
- package/dist/plugins/codeGenerator/plugin.d.ts +5 -0
- package/dist/plugins/codeGenerator/plugin.mjs +30 -0
- package/dist/plugins/codeGenerator/routeToDataParser.cjs +79 -0
- package/dist/plugins/codeGenerator/routeToDataParser.d.ts +186 -0
- package/dist/plugins/codeGenerator/routeToDataParser.mjs +74 -0
- package/dist/plugins/codeGenerator/stepsToDataParser.cjs +66 -0
- package/dist/plugins/codeGenerator/stepsToDataParser.d.ts +14 -0
- package/dist/plugins/codeGenerator/stepsToDataParser.mjs +64 -0
- package/dist/plugins/codeGenerator/types/entrypointKey.cjs +2 -0
- package/dist/plugins/codeGenerator/types/entrypointKey.d.ts +1 -0
- package/dist/plugins/codeGenerator/types/entrypointKey.mjs +1 -0
- package/dist/plugins/codeGenerator/types/index.cjs +4 -0
- package/dist/plugins/codeGenerator/types/index.d.ts +1 -0
- package/dist/plugins/codeGenerator/types/index.mjs +1 -0
- package/package.json +9 -3
|
@@ -1,18 +1,5 @@
|
|
|
1
|
-
import { G,
|
|
2
|
-
import '
|
|
3
|
-
import '../../steps/kind.mjs';
|
|
4
|
-
import '../../steps/identifier.mjs';
|
|
5
|
-
import '../../steps/checker.mjs';
|
|
6
|
-
import '../../steps/extract.mjs';
|
|
7
|
-
import '../../steps/cut.mjs';
|
|
8
|
-
import '../../steps/handler.mjs';
|
|
9
|
-
import '../../steps/process.mjs';
|
|
10
|
-
import '../../steps/presetChecker.mjs';
|
|
11
|
-
import '../../response/index.mjs';
|
|
12
|
-
import '../steps/defaults/cutStep.mjs';
|
|
13
|
-
import '../steps/defaults/handlerStep.mjs';
|
|
14
|
-
import '../steps/defaults/extractStep.mjs';
|
|
15
|
-
import '../steps/defaults/processStep.mjs';
|
|
1
|
+
import { E, G, unwrap } from '@duplojs/utils';
|
|
2
|
+
import '../steps/index.mjs';
|
|
16
3
|
import { buildStepFunction } from '../steps/build.mjs';
|
|
17
4
|
|
|
18
5
|
function buildRouteFunction(route, params) {
|
|
@@ -25,10 +12,14 @@ function buildRouteFunction(route, params) {
|
|
|
25
12
|
},
|
|
26
13
|
environment: params.environment,
|
|
27
14
|
globalHooksRouteLifeCycle: params.globalHooksRouteLifeCycle,
|
|
15
|
+
defaultExtractContract: params.defaultExtractContract,
|
|
28
16
|
};
|
|
29
17
|
return G.asyncReduce(params.routeFunctionBuilders, G.reduceFrom(E.left("routeNotSupport", route)), async ({ element: functionBuilder, lastValue, next, exit, }) => {
|
|
30
18
|
const result = await functionBuilder(route, functionParams);
|
|
31
19
|
if (E.isLeft(result)) {
|
|
20
|
+
if (unwrap(result) !== route) {
|
|
21
|
+
return exit(result);
|
|
22
|
+
}
|
|
32
23
|
return next(lastValue);
|
|
33
24
|
}
|
|
34
25
|
return exit(result);
|
|
@@ -4,6 +4,7 @@ import { type Request } from "../../request";
|
|
|
4
4
|
import { type Environment } from "../../types";
|
|
5
5
|
import { type BuildStepSuccessEither, type BuildStepNotSupportEither } from "../steps";
|
|
6
6
|
import { type Steps } from "../../steps";
|
|
7
|
+
import { type ResponseContract } from "../../response";
|
|
7
8
|
export type BuildedRouteFunction = (request: Request) => Promise<void>;
|
|
8
9
|
export type BuildRouteSuccessEither = E.EitherRight<"buildSuccess", BuildedRouteFunction>;
|
|
9
10
|
export type BuildRouteNotSupportEither = E.EitherLeft<"routeNotSupport", Route>;
|
|
@@ -12,5 +13,6 @@ export interface RouteFunctionBuilderParams {
|
|
|
12
13
|
readonly environment: Environment;
|
|
13
14
|
buildStep(element: Steps): Promise<BuildStepSuccessEither | BuildStepNotSupportEither>;
|
|
14
15
|
success(result: BuildedRouteFunction): BuildRouteSuccessEither;
|
|
16
|
+
readonly defaultExtractContract: ResponseContract.Contract;
|
|
15
17
|
}
|
|
16
18
|
export declare function createRouteFunctionBuilder(support: (route: Route) => boolean, builder: (route: Route, params: RouteFunctionBuilderParams) => MaybePromise<BuildRouteSuccessEither | BuildStepNotSupportEither>): (route: Route, params: RouteFunctionBuilderParams) => MaybePromise<BuildRouteNotSupportEither | BuildRouteSuccessEither | BuildStepNotSupportEither>;
|
|
@@ -5,18 +5,7 @@ var utils = require('@duplojs/utils');
|
|
|
5
5
|
var index$1 = require('../../response/index.cjs');
|
|
6
6
|
var hook = require('./hook.cjs');
|
|
7
7
|
var create = require('./create.cjs');
|
|
8
|
-
require('
|
|
9
|
-
require('../../steps/kind.cjs');
|
|
10
|
-
require('../../steps/identifier.cjs');
|
|
11
|
-
require('../../steps/checker.cjs');
|
|
12
|
-
require('../../steps/extract.cjs');
|
|
13
|
-
require('../../steps/cut.cjs');
|
|
14
|
-
require('../../steps/handler.cjs');
|
|
15
|
-
require('../../steps/process.cjs');
|
|
16
|
-
require('../../steps/presetChecker.cjs');
|
|
17
|
-
require('../steps/defaults/cutStep.cjs');
|
|
18
|
-
require('../steps/defaults/handlerStep.cjs');
|
|
19
|
-
require('../steps/defaults/extractStep.cjs');
|
|
8
|
+
require('../steps/index.cjs');
|
|
20
9
|
var processStep = require('../steps/defaults/processStep.cjs');
|
|
21
10
|
var response = require('../../route/hooks/response.cjs');
|
|
22
11
|
|
|
@@ -1,20 +1,9 @@
|
|
|
1
1
|
import { routeKind } from '../../route/index.mjs';
|
|
2
2
|
import { E, A, pipe, isType, forward } from '@duplojs/utils';
|
|
3
3
|
import { Response } from '../../response/index.mjs';
|
|
4
|
-
import { buildHookAfter, buildHookErrorBefore, buildHookBefore, nextHookFunction, exitHookFunction
|
|
4
|
+
import { buildHookAfter, buildHookErrorBefore, buildHookBefore, createHookResponse, nextHookFunction, exitHookFunction } from './hook.mjs';
|
|
5
5
|
import { createRouteFunctionBuilder } from './create.mjs';
|
|
6
|
-
import '
|
|
7
|
-
import '../../steps/kind.mjs';
|
|
8
|
-
import '../../steps/identifier.mjs';
|
|
9
|
-
import '../../steps/checker.mjs';
|
|
10
|
-
import '../../steps/extract.mjs';
|
|
11
|
-
import '../../steps/cut.mjs';
|
|
12
|
-
import '../../steps/handler.mjs';
|
|
13
|
-
import '../../steps/process.mjs';
|
|
14
|
-
import '../../steps/presetChecker.mjs';
|
|
15
|
-
import '../steps/defaults/cutStep.mjs';
|
|
16
|
-
import '../steps/defaults/handlerStep.mjs';
|
|
17
|
-
import '../steps/defaults/extractStep.mjs';
|
|
6
|
+
import '../steps/index.mjs';
|
|
18
7
|
import { buildStepsFunction } from '../steps/defaults/processStep.mjs';
|
|
19
8
|
import { HookResponse } from '../../route/hooks/response.mjs';
|
|
20
9
|
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var build = require('./build.cjs');
|
|
4
|
+
var create = require('./create.cjs');
|
|
5
|
+
var _default = require('./default.cjs');
|
|
6
|
+
var hook = require('./hook.cjs');
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
exports.buildRouteFunction = build.buildRouteFunction;
|
|
11
|
+
exports.createRouteFunctionBuilder = create.createRouteFunctionBuilder;
|
|
12
|
+
exports.defaultRouteFunctionBuilder = _default.defaultRouteFunctionBuilder;
|
|
13
|
+
exports.buildHookAfter = hook.buildHookAfter;
|
|
14
|
+
exports.buildHookBefore = hook.buildHookBefore;
|
|
15
|
+
exports.buildHookErrorBefore = hook.buildHookErrorBefore;
|
|
16
|
+
exports.createHookResponse = hook.createHookResponse;
|
|
17
|
+
exports.exitHookFunction = hook.exitHookFunction;
|
|
18
|
+
exports.nextHookFunction = hook.nextHookFunction;
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export { buildRouteFunction } from './build.mjs';
|
|
2
|
+
export { createRouteFunctionBuilder } from './create.mjs';
|
|
3
|
+
export { defaultRouteFunctionBuilder } from './default.mjs';
|
|
4
|
+
export { buildHookAfter, buildHookBefore, buildHookErrorBefore, createHookResponse, exitHookFunction, nextHookFunction } from './hook.mjs';
|
|
@@ -11,10 +11,14 @@ function buildStepFunction(step, params) {
|
|
|
11
11
|
return buildStepFunction(step, params);
|
|
12
12
|
},
|
|
13
13
|
environment: params.environment,
|
|
14
|
+
defaultExtractContract: params.defaultExtractContract,
|
|
14
15
|
};
|
|
15
16
|
return utils.G.asyncReduce(params.stepFunctionBuilders, utils.G.reduceFrom(utils.E.left("stepNotSupport", step)), async ({ element: functionBuilder, lastValue, next, exit, }) => {
|
|
16
17
|
const result = await functionBuilder(step, functionParams);
|
|
17
18
|
if (utils.E.isLeft(result)) {
|
|
19
|
+
if (utils.unwrap(result) !== step) {
|
|
20
|
+
return exit(result);
|
|
21
|
+
}
|
|
18
22
|
return next(lastValue);
|
|
19
23
|
}
|
|
20
24
|
return exit(result);
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import { type Steps } from "../../steps/types";
|
|
2
2
|
import { type BuildStepNotSupportEither, type createStepFunctionBuilder } from "./create";
|
|
3
3
|
import { type Environment } from "../../types";
|
|
4
|
+
import { type ResponseContract } from "../../response";
|
|
4
5
|
export interface BuildStepFunctionParams {
|
|
5
6
|
readonly stepFunctionBuilders: readonly ReturnType<typeof createStepFunctionBuilder>[];
|
|
6
7
|
readonly environment: Environment;
|
|
8
|
+
readonly defaultExtractContract: ResponseContract.Contract;
|
|
7
9
|
}
|
|
8
10
|
export declare function buildStepFunction(step: Steps, params: BuildStepFunctionParams): Promise<BuildStepNotSupportEither | import("./create").BuildStepSuccessEither>;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { G,
|
|
1
|
+
import { E, G, unwrap } from '@duplojs/utils';
|
|
2
2
|
|
|
3
3
|
function buildStepFunction(step, params) {
|
|
4
4
|
const functionParams = {
|
|
@@ -9,10 +9,14 @@ function buildStepFunction(step, params) {
|
|
|
9
9
|
return buildStepFunction(step, params);
|
|
10
10
|
},
|
|
11
11
|
environment: params.environment,
|
|
12
|
+
defaultExtractContract: params.defaultExtractContract,
|
|
12
13
|
};
|
|
13
14
|
return G.asyncReduce(params.stepFunctionBuilders, G.reduceFrom(E.left("stepNotSupport", step)), async ({ element: functionBuilder, lastValue, next, exit, }) => {
|
|
14
15
|
const result = await functionBuilder(step, functionParams);
|
|
15
16
|
if (E.isLeft(result)) {
|
|
17
|
+
if (unwrap(result) !== step) {
|
|
18
|
+
return exit(result);
|
|
19
|
+
}
|
|
16
20
|
return next(lastValue);
|
|
17
21
|
}
|
|
18
22
|
return exit(result);
|
|
@@ -3,7 +3,7 @@ import { type Steps } from "../../steps/types";
|
|
|
3
3
|
import { type Floor } from "../../floor";
|
|
4
4
|
import { type HookRouteLifeCycle } from "../../route";
|
|
5
5
|
import { type Request } from "../../request";
|
|
6
|
-
import { type Response } from "../../response";
|
|
6
|
+
import { type ResponseContract, type Response } from "../../response";
|
|
7
7
|
import { type Environment } from "../../types";
|
|
8
8
|
export type BuildedStepFunction = (request: Request, floor: Floor) => MaybePromise<Floor | Response>;
|
|
9
9
|
export interface BuildStepResult {
|
|
@@ -16,5 +16,6 @@ export interface StepFunctionBuilderParams {
|
|
|
16
16
|
buildStep(element: Steps): Promise<BuildStepSuccessEither | BuildStepNotSupportEither>;
|
|
17
17
|
success(result: BuildStepResult): BuildStepSuccessEither;
|
|
18
18
|
readonly environment: Environment;
|
|
19
|
+
readonly defaultExtractContract: ResponseContract.Contract;
|
|
19
20
|
}
|
|
20
21
|
export declare function createStepFunctionBuilder<GenericSupportStep extends Steps>(support: (step: Steps) => step is GenericSupportStep, builder: (step: GenericSupportStep, params: StepFunctionBuilderParams) => MaybePromise<BuildStepSuccessEither | BuildStepNotSupportEither>): (step: Steps, params: StepFunctionBuilderParams) => MaybePromise<BuildStepSuccessEither | BuildStepNotSupportEither>;
|
|
@@ -2,16 +2,11 @@
|
|
|
2
2
|
|
|
3
3
|
var checker$1 = require('../../../checker.cjs');
|
|
4
4
|
var create = require('../create.cjs');
|
|
5
|
-
require('../../../steps/
|
|
6
|
-
require('../../../steps/identifier.cjs');
|
|
7
|
-
var checker = require('../../../steps/checker.cjs');
|
|
8
|
-
require('../../../steps/extract.cjs');
|
|
9
|
-
require('../../../steps/cut.cjs');
|
|
10
|
-
require('../../../steps/handler.cjs');
|
|
11
|
-
require('../../../steps/process.cjs');
|
|
12
|
-
var presetChecker = require('../../../steps/presetChecker.cjs');
|
|
5
|
+
require('../../../steps/index.cjs');
|
|
13
6
|
var utils = require('@duplojs/utils');
|
|
14
7
|
var index = require('../../../response/index.cjs');
|
|
8
|
+
var checker = require('../../../steps/checker.cjs');
|
|
9
|
+
var presetChecker = require('../../../steps/presetChecker.cjs');
|
|
15
10
|
|
|
16
11
|
const defaultCheckerStepFunctionBuilder = create.createStepFunctionBuilder((element) => checker.checkerStepKind.has(element) || presetChecker.presetCheckerStepKind.has(element), (step, { success }) => {
|
|
17
12
|
const { checkerOptions, checkerFunction, input, responseContract, stepResult, indexing, stepOptions, } = utils.pipe(step, utils.P.when(checker.checkerStepKind.has, ({ definition }) => ({
|
|
@@ -1,15 +1,10 @@
|
|
|
1
1
|
import { checkerOutputKind } from '../../../checker.mjs';
|
|
2
2
|
import { createStepFunctionBuilder } from '../create.mjs';
|
|
3
|
-
import '../../../steps/
|
|
4
|
-
import '../../../steps/identifier.mjs';
|
|
5
|
-
import { checkerStepKind } from '../../../steps/checker.mjs';
|
|
6
|
-
import '../../../steps/extract.mjs';
|
|
7
|
-
import '../../../steps/cut.mjs';
|
|
8
|
-
import '../../../steps/handler.mjs';
|
|
9
|
-
import '../../../steps/process.mjs';
|
|
10
|
-
import { presetCheckerStepKind } from '../../../steps/presetChecker.mjs';
|
|
3
|
+
import '../../../steps/index.mjs';
|
|
11
4
|
import { pipe, P, or, isType, forward } from '@duplojs/utils';
|
|
12
5
|
import { Response } from '../../../response/index.mjs';
|
|
6
|
+
import { checkerStepKind } from '../../../steps/checker.mjs';
|
|
7
|
+
import { presetCheckerStepKind } from '../../../steps/presetChecker.mjs';
|
|
13
8
|
|
|
14
9
|
const defaultCheckerStepFunctionBuilder = createStepFunctionBuilder((element) => checkerStepKind.has(element) || presetCheckerStepKind.has(element), (step, { success }) => {
|
|
15
10
|
const { checkerOptions, checkerFunction, input, responseContract, stepResult, indexing, stepOptions, } = pipe(step, P.when(checkerStepKind.has, ({ definition }) => ({
|
|
@@ -1,16 +1,10 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
require('../../../steps/
|
|
4
|
-
require('../../../steps/identifier.cjs');
|
|
5
|
-
require('../../../steps/checker.cjs');
|
|
6
|
-
require('../../../steps/extract.cjs');
|
|
7
|
-
var cut = require('../../../steps/cut.cjs');
|
|
8
|
-
require('../../../steps/handler.cjs');
|
|
9
|
-
require('../../../steps/process.cjs');
|
|
10
|
-
require('../../../steps/presetChecker.cjs');
|
|
3
|
+
require('../../../steps/index.cjs');
|
|
11
4
|
var create = require('../create.cjs');
|
|
12
5
|
var utils = require('@duplojs/utils');
|
|
13
6
|
var index = require('../../../response/index.cjs');
|
|
7
|
+
var cut = require('../../../steps/cut.cjs');
|
|
14
8
|
var contract = require('../../../response/contract.cjs');
|
|
15
9
|
|
|
16
10
|
const defaultCutStepFunctionBuilder = create.createStepFunctionBuilder(cut.cutStepKind.has, (step, { success }) => {
|
|
@@ -24,7 +18,7 @@ const defaultCutStepFunctionBuilder = create.createStepFunctionBuilder(cut.cutSt
|
|
|
24
18
|
if (!currentContract) {
|
|
25
19
|
throw new contract.ResponseContract.Error(information);
|
|
26
20
|
}
|
|
27
|
-
const result = currentContract.
|
|
21
|
+
const result = currentContract.body.parse(body);
|
|
28
22
|
if (utils.E.isLeft(result)) {
|
|
29
23
|
throw new contract.ResponseContract.Error(information, utils.unwrap(result));
|
|
30
24
|
}
|
|
@@ -1,14 +1,8 @@
|
|
|
1
|
-
import '../../../steps/
|
|
2
|
-
import '../../../steps/identifier.mjs';
|
|
3
|
-
import '../../../steps/checker.mjs';
|
|
4
|
-
import '../../../steps/extract.mjs';
|
|
5
|
-
import { cutStepKind, cutStepOutputKind } from '../../../steps/cut.mjs';
|
|
6
|
-
import '../../../steps/handler.mjs';
|
|
7
|
-
import '../../../steps/process.mjs';
|
|
8
|
-
import '../../../steps/presetChecker.mjs';
|
|
1
|
+
import '../../../steps/index.mjs';
|
|
9
2
|
import { createStepFunctionBuilder } from '../create.mjs';
|
|
10
|
-
import {
|
|
3
|
+
import { wrapValue, A, E, unwrap } from '@duplojs/utils';
|
|
11
4
|
import { Response } from '../../../response/index.mjs';
|
|
5
|
+
import { cutStepKind, cutStepOutputKind } from '../../../steps/cut.mjs';
|
|
12
6
|
import { ResponseContract } from '../../../response/contract.mjs';
|
|
13
7
|
|
|
14
8
|
const defaultCutStepFunctionBuilder = createStepFunctionBuilder(cutStepKind.has, (step, { success }) => {
|
|
@@ -22,7 +16,7 @@ const defaultCutStepFunctionBuilder = createStepFunctionBuilder(cutStepKind.has,
|
|
|
22
16
|
if (!currentContract) {
|
|
23
17
|
throw new ResponseContract.Error(information);
|
|
24
18
|
}
|
|
25
|
-
const result = currentContract.
|
|
19
|
+
const result = currentContract.body.parse(body);
|
|
26
20
|
if (E.isLeft(result)) {
|
|
27
21
|
throw new ResponseContract.Error(information, unwrap(result));
|
|
28
22
|
}
|
|
@@ -1,22 +1,14 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
require('../../../steps/
|
|
4
|
-
require('../../../steps/identifier.cjs');
|
|
5
|
-
require('../../../steps/checker.cjs');
|
|
6
|
-
var extract = require('../../../steps/extract.cjs');
|
|
7
|
-
require('../../../steps/cut.cjs');
|
|
8
|
-
require('../../../steps/handler.cjs');
|
|
9
|
-
require('../../../steps/process.cjs');
|
|
10
|
-
require('../../../steps/presetChecker.cjs');
|
|
3
|
+
require('../../../steps/index.cjs');
|
|
11
4
|
var utils = require('@duplojs/utils');
|
|
12
5
|
var index = require('../../../response/index.cjs');
|
|
13
6
|
var create = require('../create.cjs');
|
|
14
|
-
var
|
|
7
|
+
var extract = require('../../../steps/extract.cjs');
|
|
15
8
|
|
|
16
|
-
const defaultExtractStepFunctionBuilder = create.createStepFunctionBuilder(extract.extractStepKind.has, (step, { success, environment }) => {
|
|
9
|
+
const defaultExtractStepFunctionBuilder = create.createStepFunctionBuilder(extract.extractStepKind.has, (step, { success, environment, defaultExtractContract }) => {
|
|
17
10
|
const { shape, responseContract: stepResponseContract, } = step.definition;
|
|
18
|
-
const responseContract = stepResponseContract ??
|
|
19
|
-
.unprocessableContent("extract-error");
|
|
11
|
+
const responseContract = stepResponseContract ?? defaultExtractContract;
|
|
20
12
|
function getResponse(result, key, subKey) {
|
|
21
13
|
const response = new index.Response(responseContract.code, responseContract.information, environment === "DEV"
|
|
22
14
|
? utils.unwrap(result)
|
|
@@ -1,20 +1,12 @@
|
|
|
1
|
-
import '../../../steps/
|
|
2
|
-
import '
|
|
3
|
-
import '../../../steps/checker.mjs';
|
|
4
|
-
import { extractStepKind } from '../../../steps/extract.mjs';
|
|
5
|
-
import '../../../steps/cut.mjs';
|
|
6
|
-
import '../../../steps/handler.mjs';
|
|
7
|
-
import '../../../steps/process.mjs';
|
|
8
|
-
import '../../../steps/presetChecker.mjs';
|
|
9
|
-
import { A, O, pipe, DP, P, isType, justReturn, innerPipe, E, unwrap } from '@duplojs/utils';
|
|
1
|
+
import '../../../steps/index.mjs';
|
|
2
|
+
import { unwrap, E, A, O, DP, pipe, P, isType, justReturn, innerPipe } from '@duplojs/utils';
|
|
10
3
|
import { Response } from '../../../response/index.mjs';
|
|
11
4
|
import { createStepFunctionBuilder } from '../create.mjs';
|
|
12
|
-
import {
|
|
5
|
+
import { extractStepKind } from '../../../steps/extract.mjs';
|
|
13
6
|
|
|
14
|
-
const defaultExtractStepFunctionBuilder = createStepFunctionBuilder(extractStepKind.has, (step, { success, environment }) => {
|
|
7
|
+
const defaultExtractStepFunctionBuilder = createStepFunctionBuilder(extractStepKind.has, (step, { success, environment, defaultExtractContract }) => {
|
|
15
8
|
const { shape, responseContract: stepResponseContract, } = step.definition;
|
|
16
|
-
const responseContract = stepResponseContract ??
|
|
17
|
-
.unprocessableContent("extract-error");
|
|
9
|
+
const responseContract = stepResponseContract ?? defaultExtractContract;
|
|
18
10
|
function getResponse(result, key, subKey) {
|
|
19
11
|
const response = new Response(responseContract.code, responseContract.information, environment === "DEV"
|
|
20
12
|
? unwrap(result)
|
|
@@ -1,16 +1,10 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
require('../../../steps/
|
|
4
|
-
require('../../../steps/identifier.cjs');
|
|
5
|
-
require('../../../steps/checker.cjs');
|
|
6
|
-
require('../../../steps/extract.cjs');
|
|
7
|
-
require('../../../steps/cut.cjs');
|
|
8
|
-
var handler = require('../../../steps/handler.cjs');
|
|
9
|
-
require('../../../steps/process.cjs');
|
|
10
|
-
require('../../../steps/presetChecker.cjs');
|
|
3
|
+
require('../../../steps/index.cjs');
|
|
11
4
|
var create = require('../create.cjs');
|
|
12
5
|
var utils = require('@duplojs/utils');
|
|
13
6
|
var index = require('../../../response/index.cjs');
|
|
7
|
+
var handler = require('../../../steps/handler.cjs');
|
|
14
8
|
var contract = require('../../../response/contract.cjs');
|
|
15
9
|
|
|
16
10
|
const defaultHandlerStepFunctionBuilder = create.createStepFunctionBuilder(handler.handlerStepKind.has, (step, { success }) => {
|
|
@@ -23,7 +17,7 @@ const defaultHandlerStepFunctionBuilder = create.createStepFunctionBuilder(handl
|
|
|
23
17
|
if (!currentContract) {
|
|
24
18
|
throw new contract.ResponseContract.Error(information);
|
|
25
19
|
}
|
|
26
|
-
const result = currentContract.
|
|
20
|
+
const result = currentContract.body.parse(body);
|
|
27
21
|
if (utils.E.isLeft(result)) {
|
|
28
22
|
throw new contract.ResponseContract.Error(information, utils.unwrap(result));
|
|
29
23
|
}
|
|
@@ -1,14 +1,8 @@
|
|
|
1
|
-
import '../../../steps/
|
|
2
|
-
import '../../../steps/identifier.mjs';
|
|
3
|
-
import '../../../steps/checker.mjs';
|
|
4
|
-
import '../../../steps/extract.mjs';
|
|
5
|
-
import '../../../steps/cut.mjs';
|
|
6
|
-
import { handlerStepKind } from '../../../steps/handler.mjs';
|
|
7
|
-
import '../../../steps/process.mjs';
|
|
8
|
-
import '../../../steps/presetChecker.mjs';
|
|
1
|
+
import '../../../steps/index.mjs';
|
|
9
2
|
import { createStepFunctionBuilder } from '../create.mjs';
|
|
10
3
|
import { A, E, unwrap } from '@duplojs/utils';
|
|
11
4
|
import { Response } from '../../../response/index.mjs';
|
|
5
|
+
import { handlerStepKind } from '../../../steps/handler.mjs';
|
|
12
6
|
import { ResponseContract } from '../../../response/contract.mjs';
|
|
13
7
|
|
|
14
8
|
const defaultHandlerStepFunctionBuilder = createStepFunctionBuilder(handlerStepKind.has, (step, { success }) => {
|
|
@@ -21,7 +15,7 @@ const defaultHandlerStepFunctionBuilder = createStepFunctionBuilder(handlerStepK
|
|
|
21
15
|
if (!currentContract) {
|
|
22
16
|
throw new ResponseContract.Error(information);
|
|
23
17
|
}
|
|
24
|
-
const result = currentContract.
|
|
18
|
+
const result = currentContract.body.parse(body);
|
|
25
19
|
if (E.isLeft(result)) {
|
|
26
20
|
throw new ResponseContract.Error(information, unwrap(result));
|
|
27
21
|
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var checkerStep = require('./checkerStep.cjs');
|
|
4
|
+
var cutStep = require('./cutStep.cjs');
|
|
5
|
+
var handlerStep = require('./handlerStep.cjs');
|
|
6
|
+
var extractStep = require('./extractStep.cjs');
|
|
7
|
+
var processStep = require('./processStep.cjs');
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
exports.defaultCheckerStepFunctionBuilder = checkerStep.defaultCheckerStepFunctionBuilder;
|
|
12
|
+
exports.defaultCutStepFunctionBuilder = cutStep.defaultCutStepFunctionBuilder;
|
|
13
|
+
exports.defaultHandlerStepFunctionBuilder = handlerStep.defaultHandlerStepFunctionBuilder;
|
|
14
|
+
exports.defaultExtractStepFunctionBuilder = extractStep.defaultExtractStepFunctionBuilder;
|
|
15
|
+
exports.buildStepsFunction = processStep.buildStepsFunction;
|
|
16
|
+
exports.defaultProcessStepFunctionBuilder = processStep.defaultProcessStepFunctionBuilder;
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export { defaultCheckerStepFunctionBuilder } from './checkerStep.mjs';
|
|
2
|
+
export { defaultCutStepFunctionBuilder } from './cutStep.mjs';
|
|
3
|
+
export { defaultHandlerStepFunctionBuilder } from './handlerStep.mjs';
|
|
4
|
+
export { defaultExtractStepFunctionBuilder } from './extractStep.mjs';
|
|
5
|
+
export { buildStepsFunction, defaultProcessStepFunctionBuilder } from './processStep.mjs';
|
|
@@ -1,16 +1,10 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
require('../../../steps/
|
|
4
|
-
require('../../../steps/identifier.cjs');
|
|
5
|
-
require('../../../steps/checker.cjs');
|
|
6
|
-
require('../../../steps/extract.cjs');
|
|
7
|
-
require('../../../steps/cut.cjs');
|
|
8
|
-
require('../../../steps/handler.cjs');
|
|
9
|
-
var process = require('../../../steps/process.cjs');
|
|
10
|
-
require('../../../steps/presetChecker.cjs');
|
|
3
|
+
require('../../../steps/index.cjs');
|
|
11
4
|
var index = require('../../../response/index.cjs');
|
|
12
5
|
var create = require('../create.cjs');
|
|
13
6
|
var utils = require('@duplojs/utils');
|
|
7
|
+
var process = require('../../../steps/process.cjs');
|
|
14
8
|
|
|
15
9
|
function buildStepsFunction(steps, buildStep) {
|
|
16
10
|
return utils.G.asyncReduce(steps, utils.G.reduceFrom([]), async ({ lastValue, element: step, next, exit }) => {
|
|
@@ -1,14 +1,8 @@
|
|
|
1
|
-
import '../../../steps/
|
|
2
|
-
import '../../../steps/identifier.mjs';
|
|
3
|
-
import '../../../steps/checker.mjs';
|
|
4
|
-
import '../../../steps/extract.mjs';
|
|
5
|
-
import '../../../steps/cut.mjs';
|
|
6
|
-
import '../../../steps/handler.mjs';
|
|
7
|
-
import { processStepKind } from '../../../steps/process.mjs';
|
|
8
|
-
import '../../../steps/presetChecker.mjs';
|
|
1
|
+
import '../../../steps/index.mjs';
|
|
9
2
|
import { Response } from '../../../response/index.mjs';
|
|
10
3
|
import { createStepFunctionBuilder } from '../create.mjs';
|
|
11
|
-
import { E, pipe, P, or, isType, forward
|
|
4
|
+
import { G, E, A, unwrap, pipe, P, or, isType, forward } from '@duplojs/utils';
|
|
5
|
+
import { processStepKind } from '../../../steps/process.mjs';
|
|
12
6
|
|
|
13
7
|
function buildStepsFunction(steps, buildStep) {
|
|
14
8
|
return G.asyncReduce(steps, G.reduceFrom([]), async ({ lastValue, element: step, next, exit }) => {
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var create = require('./create.cjs');
|
|
4
|
+
require('./defaults/index.cjs');
|
|
5
|
+
var build = require('./build.cjs');
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
exports.createStepFunctionBuilder = create.createStepFunctionBuilder;
|
|
10
|
+
exports.buildStepFunction = build.buildStepFunction;
|
|
@@ -1,15 +1,9 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
require('../response/index.cjs');
|
|
4
|
-
require('../steps/
|
|
5
|
-
require('../steps/identifier.cjs');
|
|
6
|
-
require('../steps/checker.cjs');
|
|
7
|
-
require('../steps/extract.cjs');
|
|
8
|
-
require('../steps/cut.cjs');
|
|
9
|
-
var handler = require('../steps/handler.cjs');
|
|
10
|
-
require('../steps/process.cjs');
|
|
11
|
-
require('../steps/presetChecker.cjs');
|
|
4
|
+
require('../steps/index.cjs');
|
|
12
5
|
var utils = require('@duplojs/utils');
|
|
6
|
+
var handler = require('../steps/handler.cjs');
|
|
13
7
|
var contract = require('../response/contract.cjs');
|
|
14
8
|
|
|
15
9
|
const defaultNotfoundHandler = handler.createHandlerStep({
|
|
@@ -1,13 +1,7 @@
|
|
|
1
1
|
import '../response/index.mjs';
|
|
2
|
-
import '../steps/
|
|
3
|
-
import '../steps/identifier.mjs';
|
|
4
|
-
import '../steps/checker.mjs';
|
|
5
|
-
import '../steps/extract.mjs';
|
|
6
|
-
import '../steps/cut.mjs';
|
|
7
|
-
import { createHandlerStep } from '../steps/handler.mjs';
|
|
8
|
-
import '../steps/process.mjs';
|
|
9
|
-
import '../steps/presetChecker.mjs';
|
|
2
|
+
import '../steps/index.mjs';
|
|
10
3
|
import { DP } from '@duplojs/utils';
|
|
4
|
+
import { createHandlerStep } from '../steps/handler.mjs';
|
|
11
5
|
import { ResponseContract } from '../response/contract.mjs';
|
|
12
6
|
|
|
13
7
|
const defaultNotfoundHandler = createHandlerStep({
|
package/dist/core/hub/hooks.d.ts
CHANGED
|
@@ -11,10 +11,10 @@ export type HookBeforeBuildRoute = (route: Route) => MaybePromise<Route>;
|
|
|
11
11
|
export declare function launchHookBeforeBuildRoute(hooks: Iterable<HookBeforeBuildRoute>, route: Route): Promise<Route<import("../route").RouteDefinition>>;
|
|
12
12
|
export interface HttpServerParams {
|
|
13
13
|
}
|
|
14
|
-
export type
|
|
14
|
+
export type HookBeforeServerBuildRoutes = (hub: Hub, httpServerParams: HttpServerParams) => MaybePromise<Hub | EscapeVoid>;
|
|
15
15
|
export type HookBeforeStartServer = (hub: Hub, httpServerParams: HttpServerParams) => MaybePromise<Hub | EscapeVoid>;
|
|
16
16
|
export type HookAfterStartServer = (hub: Hub, httpServerParams: HttpServerParams) => MaybePromise<Hub | EscapeVoid>;
|
|
17
|
-
export declare function launchHookServer(hooks: Iterable<HookBeforeStartServer | HookAfterStartServer |
|
|
17
|
+
export declare function launchHookServer(hooks: Iterable<HookBeforeStartServer | HookAfterStartServer | HookBeforeServerBuildRoutes>, hub: Hub, httpServerParams: HttpServerParams): Promise<Hub<import(".").HubConfig>>;
|
|
18
18
|
export interface HttpServerErrorParams {
|
|
19
19
|
readonly error: unknown;
|
|
20
20
|
next(): ServerHookNext;
|
|
@@ -28,6 +28,6 @@ export interface HookHubLifeCycle {
|
|
|
28
28
|
beforeBuildRoute?: HookBeforeBuildRoute;
|
|
29
29
|
beforeStartServer?: HookBeforeStartServer;
|
|
30
30
|
afterStartServer?: HookAfterStartServer;
|
|
31
|
-
|
|
31
|
+
beforeServerBuildRoutes?: HookBeforeServerBuildRoutes;
|
|
32
32
|
serverError?: HookServerError;
|
|
33
33
|
}
|
package/dist/core/hub/index.cjs
CHANGED
|
@@ -3,18 +3,12 @@
|
|
|
3
3
|
var kind = require('../kind.cjs');
|
|
4
4
|
var index = require('../route/index.cjs');
|
|
5
5
|
var utils = require('@duplojs/utils');
|
|
6
|
-
require('../steps/
|
|
7
|
-
require('../steps/identifier.cjs');
|
|
8
|
-
require('../steps/checker.cjs');
|
|
9
|
-
require('../steps/extract.cjs');
|
|
10
|
-
require('../steps/cut.cjs');
|
|
11
|
-
var handler = require('../steps/handler.cjs');
|
|
12
|
-
require('../steps/process.cjs');
|
|
13
|
-
require('../steps/presetChecker.cjs');
|
|
6
|
+
require('../steps/index.cjs');
|
|
14
7
|
var request = require('../request.cjs');
|
|
15
8
|
var defaultNotfoundHandler = require('./defaultNotfoundHandler.cjs');
|
|
16
9
|
var defaultExtractContract = require('./defaultExtractContract.cjs');
|
|
17
10
|
var hooks = require('./hooks.cjs');
|
|
11
|
+
var handler = require('../steps/handler.cjs');
|
|
18
12
|
|
|
19
13
|
const hubKind = kind.createCoreLibKind("hub");
|
|
20
14
|
function createHub(config) {
|
package/dist/core/hub/index.mjs
CHANGED
|
@@ -1,18 +1,12 @@
|
|
|
1
1
|
import { createCoreLibKind } from '../kind.mjs';
|
|
2
2
|
import { routeKind } from '../route/index.mjs';
|
|
3
3
|
import { A, pipe, P, isType, O } from '@duplojs/utils';
|
|
4
|
-
import '../steps/
|
|
5
|
-
import '../steps/identifier.mjs';
|
|
6
|
-
import '../steps/checker.mjs';
|
|
7
|
-
import '../steps/extract.mjs';
|
|
8
|
-
import '../steps/cut.mjs';
|
|
9
|
-
import { createHandlerStep } from '../steps/handler.mjs';
|
|
10
|
-
import '../steps/process.mjs';
|
|
11
|
-
import '../steps/presetChecker.mjs';
|
|
4
|
+
import '../steps/index.mjs';
|
|
12
5
|
import { Request } from '../request.mjs';
|
|
13
6
|
import { defaultNotfoundHandler } from './defaultNotfoundHandler.mjs';
|
|
14
7
|
import { defaultExtractContract } from './defaultExtractContract.mjs';
|
|
15
8
|
export { hookServerExitKind, hookServerNextKind, launchHookBeforeBuildRoute, launchHookServer, launchHookServerError, serverErrorExitHookFunction, serverErrorNextHookFunction } from './hooks.mjs';
|
|
9
|
+
import { createHandlerStep } from '../steps/handler.mjs';
|
|
16
10
|
|
|
17
11
|
const hubKind = createCoreLibKind("hub");
|
|
18
12
|
function createHub(config) {
|