@duplojs/http 0.1.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.
Files changed (238) hide show
  1. package/README.md +2 -0
  2. package/dist/core/builders/checker.cjs +20 -0
  3. package/dist/core/builders/checker.d.ts +17 -0
  4. package/dist/core/builders/checker.mjs +17 -0
  5. package/dist/core/builders/index.d.ts +4 -0
  6. package/dist/core/builders/preflight/builder.cjs +15 -0
  7. package/dist/core/builders/preflight/builder.d.ts +17 -0
  8. package/dist/core/builders/preflight/builder.mjs +12 -0
  9. package/dist/core/builders/preflight/index.d.ts +3 -0
  10. package/dist/core/builders/preflight/process.cjs +22 -0
  11. package/dist/core/builders/preflight/process.d.ts +22 -0
  12. package/dist/core/builders/preflight/process.mjs +20 -0
  13. package/dist/core/builders/preflight/route.cjs +23 -0
  14. package/dist/core/builders/preflight/route.d.ts +21 -0
  15. package/dist/core/builders/preflight/route.mjs +21 -0
  16. package/dist/core/builders/process/builder.cjs +17 -0
  17. package/dist/core/builders/process/builder.d.ts +18 -0
  18. package/dist/core/builders/process/builder.mjs +14 -0
  19. package/dist/core/builders/process/checker.cjs +23 -0
  20. package/dist/core/builders/process/checker.d.ts +34 -0
  21. package/dist/core/builders/process/checker.mjs +21 -0
  22. package/dist/core/builders/process/cut.cjs +22 -0
  23. package/dist/core/builders/process/cut.d.ts +19 -0
  24. package/dist/core/builders/process/cut.mjs +20 -0
  25. package/dist/core/builders/process/export.cjs +6 -0
  26. package/dist/core/builders/process/export.d.ts +12 -0
  27. package/dist/core/builders/process/export.mjs +4 -0
  28. package/dist/core/builders/process/extract.cjs +22 -0
  29. package/dist/core/builders/process/extract.d.ts +25 -0
  30. package/dist/core/builders/process/extract.mjs +20 -0
  31. package/dist/core/builders/process/index.d.ts +7 -0
  32. package/dist/core/builders/process/presetChecker.cjs +22 -0
  33. package/dist/core/builders/process/presetChecker.d.ts +23 -0
  34. package/dist/core/builders/process/presetChecker.mjs +20 -0
  35. package/dist/core/builders/process/process.cjs +22 -0
  36. package/dist/core/builders/process/process.d.ts +22 -0
  37. package/dist/core/builders/process/process.mjs +20 -0
  38. package/dist/core/builders/route/builder.cjs +18 -0
  39. package/dist/core/builders/route/builder.d.ts +16 -0
  40. package/dist/core/builders/route/builder.mjs +15 -0
  41. package/dist/core/builders/route/checker.cjs +23 -0
  42. package/dist/core/builders/route/checker.d.ts +34 -0
  43. package/dist/core/builders/route/checker.mjs +21 -0
  44. package/dist/core/builders/route/cut.cjs +22 -0
  45. package/dist/core/builders/route/cut.d.ts +19 -0
  46. package/dist/core/builders/route/cut.mjs +20 -0
  47. package/dist/core/builders/route/extract.cjs +22 -0
  48. package/dist/core/builders/route/extract.d.ts +25 -0
  49. package/dist/core/builders/route/extract.mjs +20 -0
  50. package/dist/core/builders/route/handler.cjs +28 -0
  51. package/dist/core/builders/route/handler.d.ts +19 -0
  52. package/dist/core/builders/route/handler.mjs +26 -0
  53. package/dist/core/builders/route/index.d.ts +8 -0
  54. package/dist/core/builders/route/presetChecker.cjs +22 -0
  55. package/dist/core/builders/route/presetChecker.d.ts +23 -0
  56. package/dist/core/builders/route/presetChecker.mjs +20 -0
  57. package/dist/core/builders/route/process.cjs +22 -0
  58. package/dist/core/builders/route/process.d.ts +23 -0
  59. package/dist/core/builders/route/process.mjs +20 -0
  60. package/dist/core/builders/route/store.cjs +19 -0
  61. package/dist/core/builders/route/store.d.ts +13 -0
  62. package/dist/core/builders/route/store.mjs +17 -0
  63. package/dist/core/checker.cjs +14 -0
  64. package/dist/core/checker.d.ts +22 -0
  65. package/dist/core/checker.mjs +10 -0
  66. package/dist/core/floor.d.ts +1 -0
  67. package/dist/core/functionsBuilders/index.d.ts +2 -0
  68. package/dist/core/functionsBuilders/route/build.cjs +40 -0
  69. package/dist/core/functionsBuilders/route/build.d.ts +8 -0
  70. package/dist/core/functionsBuilders/route/build.mjs +38 -0
  71. package/dist/core/functionsBuilders/route/create.cjs +11 -0
  72. package/dist/core/functionsBuilders/route/create.d.ts +16 -0
  73. package/dist/core/functionsBuilders/route/create.mjs +9 -0
  74. package/dist/core/functionsBuilders/route/default.cjs +143 -0
  75. package/dist/core/functionsBuilders/route/default.d.ts +1 -0
  76. package/dist/core/functionsBuilders/route/default.mjs +141 -0
  77. package/dist/core/functionsBuilders/route/hook.cjs +69 -0
  78. package/dist/core/functionsBuilders/route/hook.d.ts +7 -0
  79. package/dist/core/functionsBuilders/route/hook.mjs +62 -0
  80. package/dist/core/functionsBuilders/route/index.d.ts +4 -0
  81. package/dist/core/functionsBuilders/steps/build.cjs +24 -0
  82. package/dist/core/functionsBuilders/steps/build.d.ts +8 -0
  83. package/dist/core/functionsBuilders/steps/build.mjs +22 -0
  84. package/dist/core/functionsBuilders/steps/create.cjs +11 -0
  85. package/dist/core/functionsBuilders/steps/create.d.ts +20 -0
  86. package/dist/core/functionsBuilders/steps/create.mjs +9 -0
  87. package/dist/core/functionsBuilders/steps/defaults/checkerStep.cjs +73 -0
  88. package/dist/core/functionsBuilders/steps/defaults/checkerStep.d.ts +1 -0
  89. package/dist/core/functionsBuilders/steps/defaults/checkerStep.mjs +71 -0
  90. package/dist/core/functionsBuilders/steps/defaults/cutStep.cjs +58 -0
  91. package/dist/core/functionsBuilders/steps/defaults/cutStep.d.ts +1 -0
  92. package/dist/core/functionsBuilders/steps/defaults/cutStep.mjs +56 -0
  93. package/dist/core/functionsBuilders/steps/defaults/extractStep.cjs +57 -0
  94. package/dist/core/functionsBuilders/steps/defaults/extractStep.d.ts +1 -0
  95. package/dist/core/functionsBuilders/steps/defaults/extractStep.mjs +55 -0
  96. package/dist/core/functionsBuilders/steps/defaults/handlerStep.cjs +41 -0
  97. package/dist/core/functionsBuilders/steps/defaults/handlerStep.d.ts +1 -0
  98. package/dist/core/functionsBuilders/steps/defaults/handlerStep.mjs +39 -0
  99. package/dist/core/functionsBuilders/steps/defaults/index.d.ts +5 -0
  100. package/dist/core/functionsBuilders/steps/defaults/processStep.cjs +65 -0
  101. package/dist/core/functionsBuilders/steps/defaults/processStep.d.ts +4 -0
  102. package/dist/core/functionsBuilders/steps/defaults/processStep.mjs +62 -0
  103. package/dist/core/functionsBuilders/steps/index.d.ts +3 -0
  104. package/dist/core/hub/defaultExtractContract.cjs +8 -0
  105. package/dist/core/hub/defaultExtractContract.d.ts +6 -0
  106. package/dist/core/hub/defaultExtractContract.mjs +6 -0
  107. package/dist/core/hub/defaultNotfoundHandler.cjs +20 -0
  108. package/dist/core/hub/defaultNotfoundHandler.d.ts +10 -0
  109. package/dist/core/hub/defaultNotfoundHandler.mjs +18 -0
  110. package/dist/core/hub/hooks.cjs +38 -0
  111. package/dist/core/hub/hooks.d.ts +33 -0
  112. package/dist/core/hub/hooks.mjs +30 -0
  113. package/dist/core/hub/index.cjs +157 -0
  114. package/dist/core/hub/index.d.ts +58 -0
  115. package/dist/core/hub/index.mjs +145 -0
  116. package/dist/core/index.cjs +141 -0
  117. package/dist/core/index.d.ts +15 -0
  118. package/dist/core/index.mjs +57 -0
  119. package/dist/core/kind.cjs +9 -0
  120. package/dist/core/kind.d.ts +6 -0
  121. package/dist/core/kind.mjs +7 -0
  122. package/dist/core/presetChecker.cjs +39 -0
  123. package/dist/core/presetChecker.d.ts +38 -0
  124. package/dist/core/presetChecker.mjs +36 -0
  125. package/dist/core/process/index.cjs +12 -0
  126. package/dist/core/process/index.d.ts +31 -0
  127. package/dist/core/process/index.mjs +9 -0
  128. package/dist/core/process/types/index.d.ts +1 -0
  129. package/dist/core/request.cjs +34 -0
  130. package/dist/core/request.d.ts +40 -0
  131. package/dist/core/request.mjs +32 -0
  132. package/dist/core/response/contract.cjs +91 -0
  133. package/dist/core/response/contract.d.ts +291 -0
  134. package/dist/core/response/contract.mjs +91 -0
  135. package/dist/core/response/index.cjs +45 -0
  136. package/dist/core/response/index.d.ts +21 -0
  137. package/dist/core/response/index.mjs +39 -0
  138. package/dist/core/route/hooks/index.cjs +21 -0
  139. package/dist/core/route/hooks/index.d.ts +61 -0
  140. package/dist/core/route/hooks/index.mjs +16 -0
  141. package/dist/core/route/hooks/response.cjs +23 -0
  142. package/dist/core/route/hooks/response.d.ts +13 -0
  143. package/dist/core/route/hooks/response.mjs +21 -0
  144. package/dist/core/route/index.cjs +16 -0
  145. package/dist/core/route/index.d.ts +25 -0
  146. package/dist/core/route/index.mjs +10 -0
  147. package/dist/core/route/types/buildedRoute.d.ts +2 -0
  148. package/dist/core/route/types/index.d.ts +1 -0
  149. package/dist/core/router/buildError.cjs +14 -0
  150. package/dist/core/router/buildError.d.ts +9 -0
  151. package/dist/core/router/buildError.mjs +12 -0
  152. package/dist/core/router/decodeUrl.cjs +47 -0
  153. package/dist/core/router/decodeUrl.d.ts +7 -0
  154. package/dist/core/router/decodeUrl.mjs +43 -0
  155. package/dist/core/router/index.cjs +108 -0
  156. package/dist/core/router/index.d.ts +7 -0
  157. package/dist/core/router/index.mjs +102 -0
  158. package/dist/core/router/pathToRegExp.cjs +9 -0
  159. package/dist/core/router/pathToRegExp.d.ts +2 -0
  160. package/dist/core/router/pathToRegExp.mjs +7 -0
  161. package/dist/core/router/types/buildedRouter.d.ts +12 -0
  162. package/dist/core/router/types/index.d.ts +1 -0
  163. package/dist/core/steps/checker.cjs +13 -0
  164. package/dist/core/steps/checker.d.ts +19 -0
  165. package/dist/core/steps/checker.mjs +10 -0
  166. package/dist/core/steps/cut.cjs +15 -0
  167. package/dist/core/steps/cut.d.ts +22 -0
  168. package/dist/core/steps/cut.mjs +11 -0
  169. package/dist/core/steps/extract.cjs +13 -0
  170. package/dist/core/steps/extract.d.ts +18 -0
  171. package/dist/core/steps/extract.mjs +10 -0
  172. package/dist/core/steps/handler.cjs +13 -0
  173. package/dist/core/steps/handler.d.ts +19 -0
  174. package/dist/core/steps/handler.mjs +10 -0
  175. package/dist/core/steps/identifier.cjs +7 -0
  176. package/dist/core/steps/identifier.d.ts +5 -0
  177. package/dist/core/steps/identifier.mjs +5 -0
  178. package/dist/core/steps/index.d.ts +9 -0
  179. package/dist/core/steps/kind.cjs +7 -0
  180. package/dist/core/steps/kind.d.ts +3 -0
  181. package/dist/core/steps/kind.mjs +5 -0
  182. package/dist/core/steps/presetChecker.cjs +13 -0
  183. package/dist/core/steps/presetChecker.d.ts +14 -0
  184. package/dist/core/steps/presetChecker.mjs +10 -0
  185. package/dist/core/steps/process.cjs +13 -0
  186. package/dist/core/steps/process.d.ts +14 -0
  187. package/dist/core/steps/process.mjs +10 -0
  188. package/dist/core/steps/types/buildedStep.d.ts +5 -0
  189. package/dist/core/steps/types/index.d.ts +3 -0
  190. package/dist/core/steps/types/stepFunctionParams.d.ts +12 -0
  191. package/dist/core/steps/types/steps.d.ts +11 -0
  192. package/dist/core/stringIdentifier.cjs +7 -0
  193. package/dist/core/stringIdentifier.d.ts +1 -0
  194. package/dist/core/stringIdentifier.mjs +5 -0
  195. package/dist/core/types/environment.d.ts +4 -0
  196. package/dist/core/types/index.d.ts +1 -0
  197. package/dist/interfaces/bun/index.cjs +16 -0
  198. package/dist/interfaces/bun/index.d.ts +2 -0
  199. package/dist/interfaces/bun/index.mjs +10 -0
  200. package/dist/interfaces/bun/kind.cjs +9 -0
  201. package/dist/interfaces/bun/kind.d.ts +6 -0
  202. package/dist/interfaces/bun/kind.mjs +7 -0
  203. package/dist/interfaces/bun/types/index.d.ts +1 -0
  204. package/dist/interfaces/bun/types/request.d.ts +21 -0
  205. package/dist/interfaces/deno/index.cjs +7 -0
  206. package/dist/interfaces/deno/index.d.ts +2 -0
  207. package/dist/interfaces/deno/index.mjs +1 -0
  208. package/dist/interfaces/deno/kind.cjs +9 -0
  209. package/dist/interfaces/deno/kind.d.ts +6 -0
  210. package/dist/interfaces/deno/kind.mjs +7 -0
  211. package/dist/interfaces/deno/types/index.d.ts +1 -0
  212. package/dist/interfaces/deno/types/request.d.ts +21 -0
  213. package/dist/interfaces/node/createHttpServer.cjs +65 -0
  214. package/dist/interfaces/node/createHttpServer.d.ts +23 -0
  215. package/dist/interfaces/node/createHttpServer.mjs +63 -0
  216. package/dist/interfaces/node/error/bodyParseUnknownError.cjs +16 -0
  217. package/dist/interfaces/node/error/bodyParseUnknownError.d.ts +9 -0
  218. package/dist/interfaces/node/error/bodyParseUnknownError.mjs +14 -0
  219. package/dist/interfaces/node/error/bodyParseWrongChunkReceived.cjs +14 -0
  220. package/dist/interfaces/node/error/bodyParseWrongChunkReceived.d.ts +8 -0
  221. package/dist/interfaces/node/error/bodyParseWrongChunkReceived.mjs +12 -0
  222. package/dist/interfaces/node/error/bodySizeExceedsLimitError.cjs +14 -0
  223. package/dist/interfaces/node/error/bodySizeExceedsLimitError.d.ts +9 -0
  224. package/dist/interfaces/node/error/bodySizeExceedsLimitError.mjs +12 -0
  225. package/dist/interfaces/node/error/index.d.ts +3 -0
  226. package/dist/interfaces/node/hooks.cjs +119 -0
  227. package/dist/interfaces/node/hooks.d.ts +8 -0
  228. package/dist/interfaces/node/hooks.mjs +117 -0
  229. package/dist/interfaces/node/index.cjs +26 -0
  230. package/dist/interfaces/node/index.d.ts +5 -0
  231. package/dist/interfaces/node/index.mjs +15 -0
  232. package/dist/interfaces/node/kind.cjs +9 -0
  233. package/dist/interfaces/node/kind.d.ts +6 -0
  234. package/dist/interfaces/node/kind.mjs +7 -0
  235. package/dist/interfaces/node/types/host.d.ts +4 -0
  236. package/dist/interfaces/node/types/index.d.ts +2 -0
  237. package/dist/interfaces/node/types/request.d.ts +23 -0
  238. package/package.json +82 -0
@@ -0,0 +1,14 @@
1
+ 'use strict';
2
+
3
+ var utils = require('@duplojs/utils');
4
+ var kind = require('./kind.cjs');
5
+
6
+ const checkerOutputKind = kind.createCoreLibKind("checker-output");
7
+ const checkerKind = kind.createCoreLibKind("checker");
8
+ function createChecker(definition) {
9
+ return utils.pipe({ definition }, checkerKind.setTo);
10
+ }
11
+
12
+ exports.checkerKind = checkerKind;
13
+ exports.checkerOutputKind = checkerOutputKind;
14
+ exports.createChecker = createChecker;
@@ -0,0 +1,22 @@
1
+ import { type MaybePromise, type Kind } from "@duplojs/utils";
2
+ export declare const checkerOutputKind: import("@duplojs/utils").KindHandler<import("@duplojs/utils").KindDefinition<"@DuplojsHttpCore/checker-output", unknown>>;
3
+ export interface CheckerFunctionOutput<GenericInformation extends string = string, GenericValue extends unknown = unknown> extends Kind<typeof checkerOutputKind.definition> {
4
+ information: GenericInformation;
5
+ value: GenericValue;
6
+ }
7
+ export interface CheckerFunctionParams<GenericOptions extends Record<string, unknown> | undefined = Record<string, unknown> | undefined> {
8
+ options: GenericOptions;
9
+ output<GenericInformation extends string, GenericValue extends unknown>(information: GenericInformation, value: GenericValue): CheckerFunctionOutput<GenericInformation, GenericValue>;
10
+ }
11
+ export interface CheckerDefinition {
12
+ theFunction(input: unknown, params: CheckerFunctionParams): MaybePromise<CheckerFunctionOutput>;
13
+ readonly options?: Record<string, unknown>;
14
+ }
15
+ export declare const checkerKind: import("@duplojs/utils").KindHandler<import("@duplojs/utils").KindDefinition<"@DuplojsHttpCore/checker", unknown>>;
16
+ export interface Checker<GenericDefinition extends CheckerDefinition = CheckerDefinition> extends Kind<typeof checkerKind.definition> {
17
+ readonly definition: GenericDefinition;
18
+ }
19
+ export declare function createChecker<GenericDefinition extends CheckerDefinition>(definition: GenericDefinition): Checker<GenericDefinition>;
20
+ export type GetCheckerInput<GenericChecker extends Checker> = Parameters<GenericChecker["definition"]["theFunction"]>[0];
21
+ export type GetCheckerResult<GenericChecker extends Checker> = ReturnType<GenericChecker["definition"]["theFunction"]>;
22
+ export type GetCheckerOptions<GenericChecker extends Checker> = GenericChecker["definition"]["options"];
@@ -0,0 +1,10 @@
1
+ import { pipe } from '@duplojs/utils';
2
+ import { createCoreLibKind } from './kind.mjs';
3
+
4
+ const checkerOutputKind = createCoreLibKind("checker-output");
5
+ const checkerKind = createCoreLibKind("checker");
6
+ function createChecker(definition) {
7
+ return pipe({ definition }, checkerKind.setTo);
8
+ }
9
+
10
+ export { checkerKind, checkerOutputKind, createChecker };
@@ -0,0 +1 @@
1
+ export type Floor = Record<string, unknown>;
@@ -0,0 +1,2 @@
1
+ export * from "./route";
2
+ export * from "./steps";
@@ -0,0 +1,40 @@
1
+ 'use strict';
2
+
3
+ var utils = require('@duplojs/utils');
4
+ require('../../checker.cjs');
5
+ require('../../steps/kind.cjs');
6
+ require('../../steps/identifier.cjs');
7
+ 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
+ require('../../steps/presetChecker.cjs');
13
+ require('../../response/index.cjs');
14
+ require('../steps/defaults/cutStep.cjs');
15
+ require('../steps/defaults/handlerStep.cjs');
16
+ require('../steps/defaults/extractStep.cjs');
17
+ require('../steps/defaults/processStep.cjs');
18
+ var build = require('../steps/build.cjs');
19
+
20
+ function buildRouteFunction(route, params) {
21
+ const functionParams = {
22
+ success(value) {
23
+ return utils.E.right("buildSuccess", value);
24
+ },
25
+ buildStep(step) {
26
+ return build.buildStepFunction(step, params);
27
+ },
28
+ environment: params.environment,
29
+ globalHooksRouteLifeCycle: params.globalHooksRouteLifeCycle,
30
+ };
31
+ return utils.G.asyncReduce(params.routeFunctionBuilders, utils.G.reduceFrom(utils.E.left("routeNotSupport", route)), async ({ element: functionBuilder, lastValue, next, exit, }) => {
32
+ const result = await functionBuilder(route, functionParams);
33
+ if (utils.E.isLeft(result)) {
34
+ return next(lastValue);
35
+ }
36
+ return exit(result);
37
+ });
38
+ }
39
+
40
+ exports.buildRouteFunction = buildRouteFunction;
@@ -0,0 +1,8 @@
1
+ import { type BuildStepFunctionParams } from "../steps";
2
+ import { type BuildRouteNotSupportEither, type createRouteFunctionBuilder } from "./create";
3
+ import { type HookRouteLifeCycle, type Route } from "../../route";
4
+ export interface BuildRouteFunctionParams extends BuildStepFunctionParams {
5
+ readonly routeFunctionBuilders: readonly ReturnType<typeof createRouteFunctionBuilder>[];
6
+ readonly globalHooksRouteLifeCycle: readonly HookRouteLifeCycle[];
7
+ }
8
+ export declare function buildRouteFunction(route: Route, params: BuildRouteFunctionParams): Promise<BuildRouteNotSupportEither | import("./create").BuildRouteSuccessEither>;
@@ -0,0 +1,38 @@
1
+ import { G, E } from '@duplojs/utils';
2
+ import '../../checker.mjs';
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';
16
+ import { buildStepFunction } from '../steps/build.mjs';
17
+
18
+ function buildRouteFunction(route, params) {
19
+ const functionParams = {
20
+ success(value) {
21
+ return E.right("buildSuccess", value);
22
+ },
23
+ buildStep(step) {
24
+ return buildStepFunction(step, params);
25
+ },
26
+ environment: params.environment,
27
+ globalHooksRouteLifeCycle: params.globalHooksRouteLifeCycle,
28
+ };
29
+ return G.asyncReduce(params.routeFunctionBuilders, G.reduceFrom(E.left("routeNotSupport", route)), async ({ element: functionBuilder, lastValue, next, exit, }) => {
30
+ const result = await functionBuilder(route, functionParams);
31
+ if (E.isLeft(result)) {
32
+ return next(lastValue);
33
+ }
34
+ return exit(result);
35
+ });
36
+ }
37
+
38
+ export { buildRouteFunction };
@@ -0,0 +1,11 @@
1
+ 'use strict';
2
+
3
+ var utils = require('@duplojs/utils');
4
+
5
+ function createRouteFunctionBuilder(support, builder) {
6
+ return (route, params) => support(route)
7
+ ? builder(route, params)
8
+ : Promise.resolve(utils.E.left("routeNotSupport", route));
9
+ }
10
+
11
+ exports.createRouteFunctionBuilder = createRouteFunctionBuilder;
@@ -0,0 +1,16 @@
1
+ import { E, type MaybePromise } from "@duplojs/utils";
2
+ import { type HookRouteLifeCycle, type Route } from "../../route";
3
+ import { type Request } from "../../request";
4
+ import { type Environment } from "../../types";
5
+ import { type BuildStepSuccessEither, type BuildStepNotSupportEither } from "../steps";
6
+ import { type Steps } from "../../steps";
7
+ export type BuildedRouteFunction = (request: Request) => Promise<void>;
8
+ export type BuildRouteSuccessEither = E.EitherRight<"buildSuccess", BuildedRouteFunction>;
9
+ export type BuildRouteNotSupportEither = E.EitherLeft<"routeNotSupport", Route>;
10
+ export interface RouteFunctionBuilderParams {
11
+ readonly globalHooksRouteLifeCycle: readonly HookRouteLifeCycle[];
12
+ readonly environment: Environment;
13
+ buildStep(element: Steps): Promise<BuildStepSuccessEither | BuildStepNotSupportEither>;
14
+ success(result: BuildedRouteFunction): BuildRouteSuccessEither;
15
+ }
16
+ export declare function createRouteFunctionBuilder(support: (route: Route) => boolean, builder: (route: Route, params: RouteFunctionBuilderParams) => MaybePromise<BuildRouteSuccessEither | BuildStepNotSupportEither>): (route: Route, params: RouteFunctionBuilderParams) => MaybePromise<BuildRouteNotSupportEither | BuildRouteSuccessEither | BuildStepNotSupportEither>;
@@ -0,0 +1,9 @@
1
+ import { E } from '@duplojs/utils';
2
+
3
+ function createRouteFunctionBuilder(support, builder) {
4
+ return (route, params) => support(route)
5
+ ? builder(route, params)
6
+ : Promise.resolve(E.left("routeNotSupport", route));
7
+ }
8
+
9
+ export { createRouteFunctionBuilder };
@@ -0,0 +1,143 @@
1
+ 'use strict';
2
+
3
+ var index = require('../../route/index.cjs');
4
+ var utils = require('@duplojs/utils');
5
+ var index$1 = require('../../response/index.cjs');
6
+ var hook = require('./hook.cjs');
7
+ var create = require('./create.cjs');
8
+ require('../../checker.cjs');
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');
20
+ var processStep = require('../steps/defaults/processStep.cjs');
21
+ var response = require('../../route/hooks/response.cjs');
22
+
23
+ /* eslint-disable @typescript-eslint/prefer-for-of */
24
+ const defaultRouteFunctionBuilder = create.createRouteFunctionBuilder(index.routeKind.has, async (route, { success, buildStep, globalHooksRouteLifeCycle, }) => {
25
+ const { hooks: routeHooks, preflightSteps, steps, } = route.definition;
26
+ const maybeBuildedSteps = await processStep.buildStepsFunction(steps, buildStep);
27
+ if (utils.E.isLeft(maybeBuildedSteps)) {
28
+ return maybeBuildedSteps;
29
+ }
30
+ const buildedSteps = maybeBuildedSteps;
31
+ const maybeBuildedPreFlightSteps = await processStep.buildStepsFunction(preflightSteps, buildStep);
32
+ if (utils.E.isLeft(maybeBuildedPreFlightSteps)) {
33
+ return maybeBuildedPreFlightSteps;
34
+ }
35
+ const buildedPreFlightSteps = maybeBuildedPreFlightSteps;
36
+ const allHooks = [
37
+ ...routeHooks,
38
+ ...utils.A.flatMap(buildedPreFlightSteps, ({ hooksRouteLifeCycle }) => hooksRouteLifeCycle),
39
+ ...utils.A.flatMap(buildedSteps, ({ hooksRouteLifeCycle }) => hooksRouteLifeCycle),
40
+ ...globalHooksRouteLifeCycle,
41
+ ];
42
+ const hookAfterSendResponse = utils.pipe(allHooks, utils.A.map(({ afterSendResponse }) => afterSendResponse), utils.A.filter(utils.isType("function")), utils.forward);
43
+ const hookBeforeRouteExecution = utils.pipe(allHooks, utils.A.map(({ beforeRouteExecution }) => beforeRouteExecution), utils.A.filter(utils.isType("function")), utils.forward);
44
+ const hookBeforeSendResponse = utils.pipe(allHooks, utils.A.map(({ beforeSendResponse }) => beforeSendResponse), utils.A.filter(utils.isType("function")), utils.forward);
45
+ const hookOnConstructRequest = utils.pipe(allHooks, utils.A.map(({ onConstructRequest }) => onConstructRequest), utils.A.filter(utils.isType("function")), utils.forward);
46
+ const hookParseBody = utils.pipe(allHooks, utils.A.map(({ parseBody }) => parseBody), utils.A.filter(utils.isType("function")), utils.forward);
47
+ const hookError = utils.pipe(allHooks, utils.A.map(({ error }) => error), utils.A.filter(utils.isType("function")), utils.forward);
48
+ const hookSendResponse = utils.pipe(allHooks, utils.A.map(({ sendResponse }) => sendResponse), utils.A.filter(utils.isType("function")), utils.forward);
49
+ const hooks = {
50
+ afterSendResponse: hook.buildHookAfter(hookAfterSendResponse),
51
+ beforeRouteExecution: hook.buildHookBefore(hookBeforeRouteExecution),
52
+ beforeSendResponse: hook.buildHookAfter(hookBeforeSendResponse),
53
+ onConstructRequest: hookOnConstructRequest.length
54
+ ? async (params) => {
55
+ let newRequest = params.request;
56
+ for (let index = 0; index < hookOnConstructRequest.length; index++) {
57
+ newRequest = await hookOnConstructRequest[index]({
58
+ ...params,
59
+ request: newRequest,
60
+ });
61
+ }
62
+ return newRequest;
63
+ }
64
+ : (params) => params.request,
65
+ parseBody: hook.buildHookBefore(hookParseBody),
66
+ error: hook.buildHookErrorBefore(hookError),
67
+ sendResponse: hook.buildHookAfter(hookSendResponse),
68
+ };
69
+ async function routeExecution(request) {
70
+ try {
71
+ const beforeRouteExecutionResult = await hooks.beforeRouteExecution({
72
+ request,
73
+ exit: hook.exitHookFunction,
74
+ next: hook.nextHookFunction,
75
+ response: hook.createHookResponse("beforeRouteExecution"),
76
+ });
77
+ if (beforeRouteExecutionResult instanceof index$1.Response) {
78
+ return beforeRouteExecutionResult;
79
+ }
80
+ let floor = {};
81
+ for (let index = 0; index < buildedPreFlightSteps.length; index++) {
82
+ const result = await buildedPreFlightSteps[index].buildedFunction(request, floor);
83
+ if (result instanceof index$1.Response) {
84
+ return result;
85
+ }
86
+ floor = result;
87
+ }
88
+ const parseBodyResult = await hooks.parseBody({
89
+ request,
90
+ exit: hook.exitHookFunction,
91
+ next: hook.nextHookFunction,
92
+ response: hook.createHookResponse("parseBody"),
93
+ });
94
+ if (parseBodyResult instanceof index$1.Response) {
95
+ return parseBodyResult;
96
+ }
97
+ for (let index = 0; index < buildedSteps.length; index++) {
98
+ const result = await buildedSteps[index].buildedFunction(request, floor);
99
+ if (result instanceof index$1.Response) {
100
+ return result;
101
+ }
102
+ floor = result;
103
+ }
104
+ return new index$1.Response("500", "missing-response", undefined);
105
+ }
106
+ catch (error) {
107
+ const errorResult = await hooks.error({
108
+ request,
109
+ error,
110
+ exit: hook.exitHookFunction,
111
+ next: hook.nextHookFunction,
112
+ response: hook.createHookResponse("error"),
113
+ });
114
+ if (errorResult instanceof response.HookResponse) {
115
+ return errorResult;
116
+ }
117
+ return new index$1.Response("500", "server-error", error);
118
+ }
119
+ }
120
+ return success(async (request) => {
121
+ const currentRequest = await hooks.onConstructRequest({
122
+ request,
123
+ addRequestProperties: (newProperties) => {
124
+ for (const key in newProperties) {
125
+ request[key] = newProperties[key];
126
+ }
127
+ return request;
128
+ },
129
+ });
130
+ const currentResponse = await routeExecution(currentRequest);
131
+ const afterHookParams = {
132
+ request: currentRequest,
133
+ currentResponse,
134
+ exit: hook.exitHookFunction,
135
+ next: hook.nextHookFunction,
136
+ };
137
+ await hooks.beforeSendResponse(afterHookParams);
138
+ await hooks.sendResponse(afterHookParams);
139
+ await hooks.afterSendResponse(afterHookParams);
140
+ });
141
+ });
142
+
143
+ exports.defaultRouteFunctionBuilder = defaultRouteFunctionBuilder;
@@ -0,0 +1 @@
1
+ export declare const defaultRouteFunctionBuilder: (route: import("../../route").Route, params: import("./create").RouteFunctionBuilderParams) => import("@duplojs/utils").MaybePromise<import("./create").BuildRouteNotSupportEither | import("./create").BuildRouteSuccessEither | import("..").BuildStepNotSupportEither>;
@@ -0,0 +1,141 @@
1
+ import { routeKind } from '../../route/index.mjs';
2
+ import { E, A, pipe, isType, forward } from '@duplojs/utils';
3
+ import { Response } from '../../response/index.mjs';
4
+ import { buildHookAfter, buildHookErrorBefore, buildHookBefore, nextHookFunction, exitHookFunction, createHookResponse } from './hook.mjs';
5
+ import { createRouteFunctionBuilder } from './create.mjs';
6
+ import '../../checker.mjs';
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';
18
+ import { buildStepsFunction } from '../steps/defaults/processStep.mjs';
19
+ import { HookResponse } from '../../route/hooks/response.mjs';
20
+
21
+ /* eslint-disable @typescript-eslint/prefer-for-of */
22
+ const defaultRouteFunctionBuilder = createRouteFunctionBuilder(routeKind.has, async (route, { success, buildStep, globalHooksRouteLifeCycle, }) => {
23
+ const { hooks: routeHooks, preflightSteps, steps, } = route.definition;
24
+ const maybeBuildedSteps = await buildStepsFunction(steps, buildStep);
25
+ if (E.isLeft(maybeBuildedSteps)) {
26
+ return maybeBuildedSteps;
27
+ }
28
+ const buildedSteps = maybeBuildedSteps;
29
+ const maybeBuildedPreFlightSteps = await buildStepsFunction(preflightSteps, buildStep);
30
+ if (E.isLeft(maybeBuildedPreFlightSteps)) {
31
+ return maybeBuildedPreFlightSteps;
32
+ }
33
+ const buildedPreFlightSteps = maybeBuildedPreFlightSteps;
34
+ const allHooks = [
35
+ ...routeHooks,
36
+ ...A.flatMap(buildedPreFlightSteps, ({ hooksRouteLifeCycle }) => hooksRouteLifeCycle),
37
+ ...A.flatMap(buildedSteps, ({ hooksRouteLifeCycle }) => hooksRouteLifeCycle),
38
+ ...globalHooksRouteLifeCycle,
39
+ ];
40
+ const hookAfterSendResponse = pipe(allHooks, A.map(({ afterSendResponse }) => afterSendResponse), A.filter(isType("function")), forward);
41
+ const hookBeforeRouteExecution = pipe(allHooks, A.map(({ beforeRouteExecution }) => beforeRouteExecution), A.filter(isType("function")), forward);
42
+ const hookBeforeSendResponse = pipe(allHooks, A.map(({ beforeSendResponse }) => beforeSendResponse), A.filter(isType("function")), forward);
43
+ const hookOnConstructRequest = pipe(allHooks, A.map(({ onConstructRequest }) => onConstructRequest), A.filter(isType("function")), forward);
44
+ const hookParseBody = pipe(allHooks, A.map(({ parseBody }) => parseBody), A.filter(isType("function")), forward);
45
+ const hookError = pipe(allHooks, A.map(({ error }) => error), A.filter(isType("function")), forward);
46
+ const hookSendResponse = pipe(allHooks, A.map(({ sendResponse }) => sendResponse), A.filter(isType("function")), forward);
47
+ const hooks = {
48
+ afterSendResponse: buildHookAfter(hookAfterSendResponse),
49
+ beforeRouteExecution: buildHookBefore(hookBeforeRouteExecution),
50
+ beforeSendResponse: buildHookAfter(hookBeforeSendResponse),
51
+ onConstructRequest: hookOnConstructRequest.length
52
+ ? async (params) => {
53
+ let newRequest = params.request;
54
+ for (let index = 0; index < hookOnConstructRequest.length; index++) {
55
+ newRequest = await hookOnConstructRequest[index]({
56
+ ...params,
57
+ request: newRequest,
58
+ });
59
+ }
60
+ return newRequest;
61
+ }
62
+ : (params) => params.request,
63
+ parseBody: buildHookBefore(hookParseBody),
64
+ error: buildHookErrorBefore(hookError),
65
+ sendResponse: buildHookAfter(hookSendResponse),
66
+ };
67
+ async function routeExecution(request) {
68
+ try {
69
+ const beforeRouteExecutionResult = await hooks.beforeRouteExecution({
70
+ request,
71
+ exit: exitHookFunction,
72
+ next: nextHookFunction,
73
+ response: createHookResponse("beforeRouteExecution"),
74
+ });
75
+ if (beforeRouteExecutionResult instanceof Response) {
76
+ return beforeRouteExecutionResult;
77
+ }
78
+ let floor = {};
79
+ for (let index = 0; index < buildedPreFlightSteps.length; index++) {
80
+ const result = await buildedPreFlightSteps[index].buildedFunction(request, floor);
81
+ if (result instanceof Response) {
82
+ return result;
83
+ }
84
+ floor = result;
85
+ }
86
+ const parseBodyResult = await hooks.parseBody({
87
+ request,
88
+ exit: exitHookFunction,
89
+ next: nextHookFunction,
90
+ response: createHookResponse("parseBody"),
91
+ });
92
+ if (parseBodyResult instanceof Response) {
93
+ return parseBodyResult;
94
+ }
95
+ for (let index = 0; index < buildedSteps.length; index++) {
96
+ const result = await buildedSteps[index].buildedFunction(request, floor);
97
+ if (result instanceof Response) {
98
+ return result;
99
+ }
100
+ floor = result;
101
+ }
102
+ return new Response("500", "missing-response", undefined);
103
+ }
104
+ catch (error) {
105
+ const errorResult = await hooks.error({
106
+ request,
107
+ error,
108
+ exit: exitHookFunction,
109
+ next: nextHookFunction,
110
+ response: createHookResponse("error"),
111
+ });
112
+ if (errorResult instanceof HookResponse) {
113
+ return errorResult;
114
+ }
115
+ return new Response("500", "server-error", error);
116
+ }
117
+ }
118
+ return success(async (request) => {
119
+ const currentRequest = await hooks.onConstructRequest({
120
+ request,
121
+ addRequestProperties: (newProperties) => {
122
+ for (const key in newProperties) {
123
+ request[key] = newProperties[key];
124
+ }
125
+ return request;
126
+ },
127
+ });
128
+ const currentResponse = await routeExecution(currentRequest);
129
+ const afterHookParams = {
130
+ request: currentRequest,
131
+ currentResponse,
132
+ exit: exitHookFunction,
133
+ next: nextHookFunction,
134
+ };
135
+ await hooks.beforeSendResponse(afterHookParams);
136
+ await hooks.sendResponse(afterHookParams);
137
+ await hooks.afterSendResponse(afterHookParams);
138
+ });
139
+ });
140
+
141
+ export { defaultRouteFunctionBuilder };
@@ -0,0 +1,69 @@
1
+ 'use strict';
2
+
3
+ require('../../route/index.cjs');
4
+ var index = require('../../route/hooks/index.cjs');
5
+ var response = require('../../route/hooks/response.cjs');
6
+
7
+ /* eslint-disable @typescript-eslint/prefer-for-of */
8
+ const hookExit = index.hookRouteExitKind.setTo({});
9
+ const hookNext = index.hookRouteNextKind.setTo({});
10
+ function exitHookFunction() {
11
+ return hookExit;
12
+ }
13
+ function nextHookFunction() {
14
+ return hookNext;
15
+ }
16
+ function buildHookBefore(hooks) {
17
+ if (!hooks.length) {
18
+ return exitHookFunction;
19
+ }
20
+ return async (params) => {
21
+ for (let index$1 = 0; index$1 < hooks.length; index$1++) {
22
+ const result = await hooks[index$1](params);
23
+ if (index.hookRouteExitKind.has(result)
24
+ || result instanceof response.HookResponse) {
25
+ return result;
26
+ }
27
+ }
28
+ return hookNext;
29
+ };
30
+ }
31
+ function buildHookErrorBefore(hooks) {
32
+ if (!hooks.length) {
33
+ return exitHookFunction;
34
+ }
35
+ return async (params) => {
36
+ for (let index$1 = 0; index$1 < hooks.length; index$1++) {
37
+ const result = await hooks[index$1](params);
38
+ if (index.hookRouteExitKind.has(result)
39
+ || result instanceof response.HookResponse) {
40
+ return result;
41
+ }
42
+ }
43
+ return hookNext;
44
+ };
45
+ }
46
+ function buildHookAfter(hooks) {
47
+ if (!hooks.length) {
48
+ return exitHookFunction;
49
+ }
50
+ return async (params) => {
51
+ for (let index$1 = 0; index$1 < hooks.length; index$1++) {
52
+ const result = await hooks[index$1](params);
53
+ if (index.hookRouteExitKind.has(result)) {
54
+ return result;
55
+ }
56
+ }
57
+ return hookNext;
58
+ };
59
+ }
60
+ function createHookResponse(from) {
61
+ return (code, information, body) => new response.HookResponse(from, code, information, body);
62
+ }
63
+
64
+ exports.buildHookAfter = buildHookAfter;
65
+ exports.buildHookBefore = buildHookBefore;
66
+ exports.buildHookErrorBefore = buildHookErrorBefore;
67
+ exports.createHookResponse = createHookResponse;
68
+ exports.exitHookFunction = exitHookFunction;
69
+ exports.nextHookFunction = nextHookFunction;
@@ -0,0 +1,7 @@
1
+ import { type HookAfterSendResponse, type HookBeforeRouteExecution, type HookBeforeSendResponse, type HookError, type HookParseBody, HookResponse, type HookRouteLifeCycle, type HookSendResponse, type RouteHookErrorParams, type RouteHookParams, type RouteHookParamsAfter } from "../../route";
2
+ export declare function exitHookFunction(): import("@duplojs/utils").Kind<import("@duplojs/utils").KindDefinition<"@DuplojsHttpCore/route-hook-exit", unknown>, unknown>;
3
+ export declare function nextHookFunction(): import("@duplojs/utils").Kind<import("@duplojs/utils").KindDefinition<"@DuplojsHttpCore/route-hook-next", unknown>, unknown>;
4
+ export declare function buildHookBefore(hooks: (HookBeforeRouteExecution | HookParseBody)[]): typeof exitHookFunction | ((params: RouteHookParams) => Promise<import("../../route").RouteHookExit | import("@duplojs/utils").Kind<import("@duplojs/utils").KindDefinition<"@DuplojsHttpCore/route-hook-next", unknown>, unknown> | HookResponse<import("../..").ResponseCode, string, unknown>>);
5
+ export declare function buildHookErrorBefore(hooks: HookError[]): typeof exitHookFunction | ((params: RouteHookErrorParams) => Promise<import("../../route").RouteHookExit | import("@duplojs/utils").Kind<import("@duplojs/utils").KindDefinition<"@DuplojsHttpCore/route-hook-next", unknown>, unknown> | HookResponse<import("../..").ResponseCode, string, unknown>>);
6
+ export declare function buildHookAfter(hooks: (HookBeforeSendResponse | HookSendResponse | HookAfterSendResponse)[]): typeof exitHookFunction | ((params: RouteHookParamsAfter) => Promise<import("../../route").RouteHookExit | import("@duplojs/utils").Kind<import("@duplojs/utils").KindDefinition<"@DuplojsHttpCore/route-hook-next", unknown>, unknown>>);
7
+ export declare function createHookResponse(from: keyof HookRouteLifeCycle): RouteHookParams["response"];
@@ -0,0 +1,62 @@
1
+ import '../../route/index.mjs';
2
+ import { hookRouteExitKind, hookRouteNextKind } from '../../route/hooks/index.mjs';
3
+ import { HookResponse } from '../../route/hooks/response.mjs';
4
+
5
+ /* eslint-disable @typescript-eslint/prefer-for-of */
6
+ const hookExit = hookRouteExitKind.setTo({});
7
+ const hookNext = hookRouteNextKind.setTo({});
8
+ function exitHookFunction() {
9
+ return hookExit;
10
+ }
11
+ function nextHookFunction() {
12
+ return hookNext;
13
+ }
14
+ function buildHookBefore(hooks) {
15
+ if (!hooks.length) {
16
+ return exitHookFunction;
17
+ }
18
+ return async (params) => {
19
+ for (let index = 0; index < hooks.length; index++) {
20
+ const result = await hooks[index](params);
21
+ if (hookRouteExitKind.has(result)
22
+ || result instanceof HookResponse) {
23
+ return result;
24
+ }
25
+ }
26
+ return hookNext;
27
+ };
28
+ }
29
+ function buildHookErrorBefore(hooks) {
30
+ if (!hooks.length) {
31
+ return exitHookFunction;
32
+ }
33
+ return async (params) => {
34
+ for (let index = 0; index < hooks.length; index++) {
35
+ const result = await hooks[index](params);
36
+ if (hookRouteExitKind.has(result)
37
+ || result instanceof HookResponse) {
38
+ return result;
39
+ }
40
+ }
41
+ return hookNext;
42
+ };
43
+ }
44
+ function buildHookAfter(hooks) {
45
+ if (!hooks.length) {
46
+ return exitHookFunction;
47
+ }
48
+ return async (params) => {
49
+ for (let index = 0; index < hooks.length; index++) {
50
+ const result = await hooks[index](params);
51
+ if (hookRouteExitKind.has(result)) {
52
+ return result;
53
+ }
54
+ }
55
+ return hookNext;
56
+ };
57
+ }
58
+ function createHookResponse(from) {
59
+ return (code, information, body) => new HookResponse(from, code, information, body);
60
+ }
61
+
62
+ export { buildHookAfter, buildHookBefore, buildHookErrorBefore, createHookResponse, exitHookFunction, nextHookFunction };
@@ -0,0 +1,4 @@
1
+ export * from "./build";
2
+ export * from "./create";
3
+ export * from "./default";
4
+ export * from "./hook";
@@ -0,0 +1,24 @@
1
+ 'use strict';
2
+
3
+ var utils = require('@duplojs/utils');
4
+
5
+ function buildStepFunction(step, params) {
6
+ const functionParams = {
7
+ success(value) {
8
+ return utils.E.right("buildSuccess", value);
9
+ },
10
+ buildStep(step) {
11
+ return buildStepFunction(step, params);
12
+ },
13
+ environment: params.environment,
14
+ };
15
+ return utils.G.asyncReduce(params.stepFunctionBuilders, utils.G.reduceFrom(utils.E.left("stepNotSupport", step)), async ({ element: functionBuilder, lastValue, next, exit, }) => {
16
+ const result = await functionBuilder(step, functionParams);
17
+ if (utils.E.isLeft(result)) {
18
+ return next(lastValue);
19
+ }
20
+ return exit(result);
21
+ });
22
+ }
23
+
24
+ exports.buildStepFunction = buildStepFunction;
@@ -0,0 +1,8 @@
1
+ import { type Steps } from "../../steps/types";
2
+ import { type BuildStepNotSupportEither, type createStepFunctionBuilder } from "./create";
3
+ import { type Environment } from "../../types";
4
+ export interface BuildStepFunctionParams {
5
+ readonly stepFunctionBuilders: readonly ReturnType<typeof createStepFunctionBuilder>[];
6
+ readonly environment: Environment;
7
+ }
8
+ export declare function buildStepFunction(step: Steps, params: BuildStepFunctionParams): Promise<BuildStepNotSupportEither | import("./create").BuildStepSuccessEither>;