@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
package/README.md ADDED
@@ -0,0 +1,2 @@
1
+ # @duplojs/http
2
+ [![NPM version](https://img.shields.io/npm/v/@duplojs/http)](https://www.npmjs.com/package/@duplojs/http)
@@ -0,0 +1,20 @@
1
+ 'use strict';
2
+
3
+ var checker = require('../checker.cjs');
4
+ var stringIdentifier = require('../stringIdentifier.cjs');
5
+ var utils = require('@duplojs/utils');
6
+
7
+ const checkerBuilder = utils.createBuilder(stringIdentifier.createCoreLibStringIdentifier("checker"));
8
+ checkerBuilder.set("handler", ({ args: [theFunction], accumulator, }) => checker.createChecker({
9
+ theFunction,
10
+ options: accumulator.options,
11
+ }));
12
+ function useCheckerBuilder(params) {
13
+ return checkerBuilder.use({
14
+ options: undefined,
15
+ ...params,
16
+ });
17
+ }
18
+
19
+ exports.checkerBuilder = checkerBuilder;
20
+ exports.useCheckerBuilder = useCheckerBuilder;
@@ -0,0 +1,17 @@
1
+ import { type CheckerDefinition, type Checker, type CheckerFunctionOutput, type CheckerFunctionParams } from "../checker";
2
+ import { type Builder, type MaybePromise, type NeverCoalescing } from "@duplojs/utils";
3
+ export interface CheckerBuilderParams {
4
+ readonly options?: Record<string, unknown>;
5
+ }
6
+ export interface CheckerBuilder<GenericParams extends CheckerBuilderParams = CheckerBuilderParams> extends Builder<CheckerBuilderParams> {
7
+ handler<GenericInput extends unknown, GenericOutput extends CheckerFunctionOutput>(theFunction: (input: GenericInput, params: CheckerFunctionParams<GenericParams["options"]>) => MaybePromise<GenericOutput>): Checker<{
8
+ theFunction(input: GenericInput, params: CheckerFunctionParams<GenericParams["options"]>): MaybePromise<GenericOutput>;
9
+ options: GenericParams["options"];
10
+ }>;
11
+ }
12
+ export declare const checkerBuilder: import("@duplojs/utils").BuilderHandler<CheckerBuilder<CheckerBuilderParams>>;
13
+ export declare function useCheckerBuilder<GenericOptions extends CheckerDefinition["options"] = never>(params?: {
14
+ options?: GenericOptions;
15
+ }): CheckerBuilder<{
16
+ readonly options: NeverCoalescing<GenericOptions, undefined>;
17
+ }>;
@@ -0,0 +1,17 @@
1
+ import { createChecker } from '../checker.mjs';
2
+ import { createCoreLibStringIdentifier } from '../stringIdentifier.mjs';
3
+ import { createBuilder } from '@duplojs/utils';
4
+
5
+ const checkerBuilder = createBuilder(createCoreLibStringIdentifier("checker"));
6
+ checkerBuilder.set("handler", ({ args: [theFunction], accumulator, }) => createChecker({
7
+ theFunction,
8
+ options: accumulator.options,
9
+ }));
10
+ function useCheckerBuilder(params) {
11
+ return checkerBuilder.use({
12
+ options: undefined,
13
+ ...params,
14
+ });
15
+ }
16
+
17
+ export { checkerBuilder, useCheckerBuilder };
@@ -0,0 +1,4 @@
1
+ export * from "./checker";
2
+ export * from "./route";
3
+ export * from "./process";
4
+ export * from "./preflight";
@@ -0,0 +1,15 @@
1
+ 'use strict';
2
+
3
+ var utils = require('@duplojs/utils');
4
+ var stringIdentifier = require('../../stringIdentifier.cjs');
5
+
6
+ const preflightBuilder = utils.createBuilder(stringIdentifier.createCoreLibStringIdentifier("preflight"));
7
+ function usePreflightBuilder(options) {
8
+ return preflightBuilder.use({
9
+ preflightSteps: [],
10
+ hooks: options?.hooks ?? [],
11
+ });
12
+ }
13
+
14
+ exports.preflightBuilder = preflightBuilder;
15
+ exports.usePreflightBuilder = usePreflightBuilder;
@@ -0,0 +1,17 @@
1
+ import { type Floor } from "../../floor";
2
+ import { type MakeRequestFromHooks, type HookRouteLifeCycle, type RoutePreFlightSteps } from "../../route";
3
+ import { type Builder, type NeverCoalescing } from "@duplojs/utils";
4
+ import { type Request } from "../../request";
5
+ export interface PreflightBuilderDefinition {
6
+ readonly preflightSteps: readonly RoutePreFlightSteps[];
7
+ readonly hooks: readonly HookRouteLifeCycle[];
8
+ }
9
+ export interface PreflightBuilder<GenericDefinition extends PreflightBuilderDefinition = PreflightBuilderDefinition, GenericFloor extends Floor = {}, GenericRequest extends Request = Request> extends Builder<PreflightBuilderDefinition> {
10
+ }
11
+ export declare const preflightBuilder: import("@duplojs/utils").BuilderHandler<PreflightBuilder<PreflightBuilderDefinition, {}, Request>>;
12
+ export declare function usePreflightBuilder<const GenericHooks extends readonly HookRouteLifeCycle[] = readonly []>(options?: {
13
+ hooks?: GenericHooks | readonly HookRouteLifeCycle[];
14
+ }): PreflightBuilder<{
15
+ readonly preflightSteps: readonly [];
16
+ readonly hooks: GenericHooks;
17
+ }, {}, NeverCoalescing<MakeRequestFromHooks<GenericHooks>, Request>>;
@@ -0,0 +1,12 @@
1
+ import { createBuilder } from '@duplojs/utils';
2
+ import { createCoreLibStringIdentifier } from '../../stringIdentifier.mjs';
3
+
4
+ const preflightBuilder = createBuilder(createCoreLibStringIdentifier("preflight"));
5
+ function usePreflightBuilder(options) {
6
+ return preflightBuilder.use({
7
+ preflightSteps: [],
8
+ hooks: options?.hooks ?? [],
9
+ });
10
+ }
11
+
12
+ export { preflightBuilder, usePreflightBuilder };
@@ -0,0 +1,3 @@
1
+ export * from "./builder";
2
+ export * from "./process";
3
+ export * from "./route";
@@ -0,0 +1,22 @@
1
+ 'use strict';
2
+
3
+ require('../../steps/kind.cjs');
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');
11
+ var builder = require('./builder.cjs');
12
+
13
+ builder.preflightBuilder.set("exec", ({ args: [process$1, params,], accumulator, next, }) => next({
14
+ ...accumulator,
15
+ preflightSteps: [
16
+ ...accumulator.preflightSteps,
17
+ process.createProcessStep({
18
+ ...params,
19
+ process: process$1,
20
+ }),
21
+ ],
22
+ }));
@@ -0,0 +1,22 @@
1
+ import { type Floor } from "../../floor";
2
+ import { type ProcessStep } from "../../steps";
3
+ import { type O, type NeverCoalescing, type FixDeepFunctionInfer, type Adaptor, type AnyFunction } from "@duplojs/utils";
4
+ import { type GetProcessRequest, type GetProcessExportValue, type Process } from "../../process";
5
+ import { type Request } from "../../request";
6
+ declare module "./builder" {
7
+ interface PreflightBuilder<GenericDefinition extends PreflightBuilderDefinition = PreflightBuilderDefinition, GenericFloor extends Floor = {}, GenericRequest extends Request = Request> {
8
+ exec<GenericProcess extends Process, GenericProcessExportValue extends GetProcessExportValue<GenericProcess>, const GenericImportation extends readonly Extract<keyof GenericProcessExportValue, string>[] = never, GenericOptions extends (GenericProcess["definition"]["options"] | ((floor: GenericFloor) => Exclude<GenericProcess["definition"]["options"], undefined>)) = never>(process: GenericProcess, params?: {
9
+ readonly imports?: GenericImportation;
10
+ readonly options?: FixDeepFunctionInfer<GenericProcess["definition"]["options"] | ((floor: GenericFloor) => GenericProcess["definition"]["options"]), GenericOptions>;
11
+ }): PreflightBuilder<O.AssignObjects<GenericDefinition, {
12
+ readonly preflightSteps: readonly [
13
+ ...GenericDefinition["preflightSteps"],
14
+ ProcessStep<{
15
+ readonly process: GenericProcess;
16
+ readonly options: NeverCoalescing<Adaptor<GenericOptions, AnyFunction | GenericProcess["definition"]["options"]>, undefined>;
17
+ readonly imports: NeverCoalescing<GenericImportation, undefined>;
18
+ }>
19
+ ];
20
+ }>, O.AssignObjects<GenericFloor, Pick<GenericProcessExportValue, GenericImportation[number]>>, GenericRequest & NeverCoalescing<GetProcessRequest<GenericProcess>, Request>>;
21
+ }
22
+ }
@@ -0,0 +1,20 @@
1
+ import '../../steps/kind.mjs';
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 { createProcessStep } from '../../steps/process.mjs';
8
+ import '../../steps/presetChecker.mjs';
9
+ import { preflightBuilder } from './builder.mjs';
10
+
11
+ preflightBuilder.set("exec", ({ args: [process, params,], accumulator, next, }) => next({
12
+ ...accumulator,
13
+ preflightSteps: [
14
+ ...accumulator.preflightSteps,
15
+ createProcessStep({
16
+ ...params,
17
+ process,
18
+ }),
19
+ ],
20
+ }));
@@ -0,0 +1,23 @@
1
+ 'use strict';
2
+
3
+ var builder = require('./builder.cjs');
4
+ var builder$1 = require('../route/builder.cjs');
5
+ require('../route/handler.cjs');
6
+ require('../route/cut.cjs');
7
+ require('../route/extract.cjs');
8
+ require('../route/checker.cjs');
9
+ require('../route/process.cjs');
10
+ require('../route/presetChecker.cjs');
11
+ require('../route/store.cjs');
12
+ var utils = require('@duplojs/utils');
13
+
14
+ builder.preflightBuilder.set("useRouteBuilder", ({ args: [method, paths, options,], accumulator, }) => builder$1.routeBuilderHandler.use({
15
+ method,
16
+ paths: utils.A.coalescing(paths),
17
+ preflightSteps: accumulator.preflightSteps,
18
+ steps: [],
19
+ hooks: [
20
+ ...(options?.hooks ?? []),
21
+ ...accumulator.hooks,
22
+ ],
23
+ }));
@@ -0,0 +1,21 @@
1
+ import { type Floor } from "../../floor";
2
+ import { type RequestMethods, type Request } from "../../request";
3
+ import { type MakeRequestFromHooks, type HookRouteLifeCycle, type RoutePath } from "../../route";
4
+ import { type RouteBuilder } from "../route";
5
+ import { type NeverCoalescing } from "@duplojs/utils";
6
+ declare module "./builder" {
7
+ interface PreflightBuilder<GenericDefinition extends PreflightBuilderDefinition = PreflightBuilderDefinition, GenericFloor extends Floor = {}, GenericRequest extends Request = Request> {
8
+ useRouteBuilder<GenericMethod extends RequestMethods, const GenericPaths extends RoutePath | readonly [RoutePath, ...RoutePath[]], const GenericHooks extends readonly HookRouteLifeCycle[] = readonly []>(method: GenericMethod, path: GenericPaths, options?: {
9
+ hooks?: GenericHooks | readonly HookRouteLifeCycle[];
10
+ }): RouteBuilder<{
11
+ readonly method: GenericMethod;
12
+ readonly paths: GenericPaths extends string ? readonly [GenericPaths] : GenericPaths;
13
+ readonly preflightSteps: GenericDefinition["preflightSteps"];
14
+ readonly steps: readonly [];
15
+ readonly hooks: readonly [
16
+ ...GenericHooks,
17
+ ...GenericDefinition["hooks"]
18
+ ];
19
+ }, GenericFloor, (GenericRequest & NeverCoalescing<MakeRequestFromHooks<GenericHooks>, Request>)>;
20
+ }
21
+ }
@@ -0,0 +1,21 @@
1
+ import { preflightBuilder } from './builder.mjs';
2
+ import { routeBuilderHandler } from '../route/builder.mjs';
3
+ import '../route/handler.mjs';
4
+ import '../route/cut.mjs';
5
+ import '../route/extract.mjs';
6
+ import '../route/checker.mjs';
7
+ import '../route/process.mjs';
8
+ import '../route/presetChecker.mjs';
9
+ import '../route/store.mjs';
10
+ import { A } from '@duplojs/utils';
11
+
12
+ preflightBuilder.set("useRouteBuilder", ({ args: [method, paths, options,], accumulator, }) => routeBuilderHandler.use({
13
+ method,
14
+ paths: A.coalescing(paths),
15
+ preflightSteps: accumulator.preflightSteps,
16
+ steps: [],
17
+ hooks: [
18
+ ...(options?.hooks ?? []),
19
+ ...accumulator.hooks,
20
+ ],
21
+ }));
@@ -0,0 +1,17 @@
1
+ 'use strict';
2
+
3
+ var utils = require('@duplojs/utils');
4
+ var stringIdentifier = require('../../stringIdentifier.cjs');
5
+
6
+ const processBuilder = utils.createBuilder(stringIdentifier.createCoreLibStringIdentifier("process"));
7
+ function useProcessBuilder(params) {
8
+ return processBuilder.use({
9
+ options: undefined,
10
+ ...params,
11
+ steps: [],
12
+ hooks: params?.hooks ?? [],
13
+ });
14
+ }
15
+
16
+ exports.processBuilder = processBuilder;
17
+ exports.useProcessBuilder = useProcessBuilder;
@@ -0,0 +1,18 @@
1
+ import { type ProcessDefinition } from "../../process";
2
+ import { type Floor } from "../../floor";
3
+ import { type Builder, type IsEqual, type NeverCoalescing } from "@duplojs/utils";
4
+ import { type MakeRequestFromHooks, type HookRouteLifeCycle } from "../../route";
5
+ import { type Request } from "../../request";
6
+ export interface ProcessBuilder<GenericDefinition extends ProcessDefinition = ProcessDefinition, GenericFloor extends Floor = {}, GenericRequest extends Request = Request> extends Builder<ProcessDefinition> {
7
+ }
8
+ export declare const processBuilder: import("@duplojs/utils").BuilderHandler<ProcessBuilder<ProcessDefinition, {}, Request>>;
9
+ export declare function useProcessBuilder<GenericOptions extends ProcessDefinition["options"] = never, const GenericHooks extends readonly HookRouteLifeCycle[] = readonly []>(params?: {
10
+ options?: GenericOptions;
11
+ hooks?: GenericHooks | readonly HookRouteLifeCycle[];
12
+ }): ProcessBuilder<{
13
+ readonly steps: readonly [];
14
+ readonly options: NeverCoalescing<GenericOptions, undefined>;
15
+ readonly hooks: GenericHooks;
16
+ }, IsEqual<GenericOptions, never> extends true ? {} : {
17
+ options: GenericOptions;
18
+ }, NeverCoalescing<MakeRequestFromHooks<GenericHooks>, Request>>;
@@ -0,0 +1,14 @@
1
+ import { createBuilder } from '@duplojs/utils';
2
+ import { createCoreLibStringIdentifier } from '../../stringIdentifier.mjs';
3
+
4
+ const processBuilder = createBuilder(createCoreLibStringIdentifier("process"));
5
+ function useProcessBuilder(params) {
6
+ return processBuilder.use({
7
+ options: undefined,
8
+ ...params,
9
+ steps: [],
10
+ hooks: params?.hooks ?? [],
11
+ });
12
+ }
13
+
14
+ export { processBuilder, useProcessBuilder };
@@ -0,0 +1,23 @@
1
+ 'use strict';
2
+
3
+ require('../../steps/kind.cjs');
4
+ require('../../steps/identifier.cjs');
5
+ var checker = require('../../steps/checker.cjs');
6
+ require('../../steps/extract.cjs');
7
+ require('../../steps/cut.cjs');
8
+ require('../../steps/handler.cjs');
9
+ require('../../steps/process.cjs');
10
+ require('../../steps/presetChecker.cjs');
11
+ var builder = require('./builder.cjs');
12
+
13
+ builder.processBuilder.set("check", ({ args: [checker$1, { otherwise: responseContract, ...params },], accumulator, next, }) => next({
14
+ ...accumulator,
15
+ steps: [
16
+ ...accumulator.steps,
17
+ checker.createCheckerStep({
18
+ ...params,
19
+ responseContract,
20
+ checker: checker$1,
21
+ }),
22
+ ],
23
+ }));
@@ -0,0 +1,34 @@
1
+ import { type Floor } from "../../floor";
2
+ import { type CheckerStep } from "../../steps";
3
+ import { type O, type MaybeArray, type NeverCoalescing, type FixDeepFunctionInfer, type Adaptor, type AnyFunction, type DP, type A } from "@duplojs/utils";
4
+ import { type GetCheckerResult, type Checker, type GetCheckerInput, type GetCheckerOptions } from "../../checker";
5
+ import { type ClientErrorResponseCode, type ResponseContract } from "../../response";
6
+ import { type ProcessDefinition } from "../../process";
7
+ import { type Request } from "../../request";
8
+ declare module "./builder" {
9
+ interface ProcessBuilder<GenericDefinition extends ProcessDefinition = ProcessDefinition, GenericFloor extends Floor = {}, GenericRequest extends Request = Request> {
10
+ check<GenericChecker extends Checker, GenericResultInformation extends MaybeArray<Awaited<GetCheckerResult<GenericChecker>>["information"]>, GenericInput extends GetCheckerInput<GenericChecker>, GenericResponseContract extends ResponseContract.Contract<ClientErrorResponseCode, string, DP.DataParserEmpty>, GenericIndex extends string = never, GenericOptions extends (GetCheckerOptions<GenericChecker> | ((floor: GenericFloor) => Exclude<GetCheckerOptions<GenericChecker>, undefined>)) = never>(checker: GenericChecker, params: {
11
+ input(floor: GenericFloor): GenericInput;
12
+ readonly result: GenericResultInformation;
13
+ readonly indexing?: GenericIndex;
14
+ readonly options?: FixDeepFunctionInfer<GenericChecker["definition"]["options"] | ((floor: GenericFloor) => GenericChecker["definition"]["options"]), GenericOptions>;
15
+ readonly otherwise: GenericResponseContract;
16
+ }): ProcessBuilder<O.AssignObjects<GenericDefinition, {
17
+ readonly steps: readonly [
18
+ ...GenericDefinition["steps"],
19
+ CheckerStep<{
20
+ readonly checker: GenericChecker;
21
+ readonly result: GenericResultInformation;
22
+ readonly indexing: NeverCoalescing<GenericIndex, undefined>;
23
+ input(floor: GenericFloor): GenericInput;
24
+ readonly options: NeverCoalescing<Adaptor<GenericOptions, AnyFunction | GenericChecker["definition"]["options"]>, undefined>;
25
+ readonly responseContract: GenericResponseContract;
26
+ }>
27
+ ];
28
+ }>, O.AssignObjects<GenericFloor, {
29
+ [Prop in GenericIndex]: Extract<Awaited<GetCheckerResult<GenericChecker>>, {
30
+ information: A.ArrayCoalescing<GenericResultInformation>[number];
31
+ }>["value"];
32
+ }>, GenericRequest>;
33
+ }
34
+ }
@@ -0,0 +1,21 @@
1
+ import '../../steps/kind.mjs';
2
+ import '../../steps/identifier.mjs';
3
+ import { createCheckerStep } from '../../steps/checker.mjs';
4
+ import '../../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 { processBuilder } from './builder.mjs';
10
+
11
+ processBuilder.set("check", ({ args: [checker, { otherwise: responseContract, ...params },], accumulator, next, }) => next({
12
+ ...accumulator,
13
+ steps: [
14
+ ...accumulator.steps,
15
+ createCheckerStep({
16
+ ...params,
17
+ responseContract,
18
+ checker,
19
+ }),
20
+ ],
21
+ }));
@@ -0,0 +1,22 @@
1
+ 'use strict';
2
+
3
+ require('../../steps/kind.cjs');
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');
11
+ var builder = require('./builder.cjs');
12
+
13
+ builder.processBuilder.set("cut", ({ args: [responseContract, theFunction], accumulator, next, }) => next({
14
+ ...accumulator,
15
+ steps: [
16
+ ...accumulator.steps,
17
+ cut.createCutStep({
18
+ responseContract,
19
+ theFunction,
20
+ }),
21
+ ],
22
+ }));
@@ -0,0 +1,19 @@
1
+ import { type Floor } from "../../floor";
2
+ import { type ResponseContract } from "../../response";
3
+ import { type CutStepFunctionOutput, type CutStep, type CutStepFunctionParams } from "../../steps";
4
+ import { type Unwrap, type O, type MaybePromise, type IsEqual, type A } from "@duplojs/utils";
5
+ import { type ProcessDefinition } from "../../process";
6
+ import { type Request } from "../../request";
7
+ declare module "./builder" {
8
+ interface ProcessBuilder<GenericDefinition extends ProcessDefinition = ProcessDefinition, GenericFloor extends Floor = {}, GenericRequest extends Request = Request> {
9
+ cut<const GenericResponseContract extends (ResponseContract.Contract | readonly ResponseContract.Contract[]), GenericResponse extends ResponseContract.Convert<A.ArrayCoalescing<GenericResponseContract>[number]>, GenericOutput extends CutStepFunctionOutput | GenericResponse>(responseContract: GenericResponseContract, theFunction: (floor: GenericFloor, param: CutStepFunctionParams<GenericRequest, GenericResponse>) => MaybePromise<GenericOutput>): ProcessBuilder<O.AssignObjects<GenericDefinition, {
10
+ readonly steps: readonly [
11
+ ...GenericDefinition["steps"],
12
+ CutStep<{
13
+ readonly responseContract: GenericResponseContract;
14
+ theFunction(floor: GenericFloor, param: CutStepFunctionParams<GenericRequest, GenericResponse>): MaybePromise<GenericOutput>;
15
+ }>
16
+ ];
17
+ }>, IsEqual<Extract<GenericOutput, CutStepFunctionOutput>, never> extends true ? GenericFloor : (GenericOutput extends infer InferredOutputData extends CutStepFunctionOutput ? O.AssignObjects<GenericFloor, Unwrap<InferredOutputData>> : never), GenericRequest>;
18
+ }
19
+ }
@@ -0,0 +1,20 @@
1
+ import '../../steps/kind.mjs';
2
+ import '../../steps/identifier.mjs';
3
+ import '../../steps/checker.mjs';
4
+ import '../../steps/extract.mjs';
5
+ import { createCutStep } from '../../steps/cut.mjs';
6
+ import '../../steps/handler.mjs';
7
+ import '../../steps/process.mjs';
8
+ import '../../steps/presetChecker.mjs';
9
+ import { processBuilder } from './builder.mjs';
10
+
11
+ processBuilder.set("cut", ({ args: [responseContract, theFunction], accumulator, next, }) => next({
12
+ ...accumulator,
13
+ steps: [
14
+ ...accumulator.steps,
15
+ createCutStep({
16
+ responseContract,
17
+ theFunction,
18
+ }),
19
+ ],
20
+ }));
@@ -0,0 +1,6 @@
1
+ 'use strict';
2
+
3
+ var builder = require('./builder.cjs');
4
+ var index = require('../../process/index.cjs');
5
+
6
+ builder.processBuilder.set("exports", ({ accumulator, }) => index.createProcess(accumulator));
@@ -0,0 +1,12 @@
1
+ import { type Floor } from "../../floor";
2
+ import { type SimplifyTopLevel, type IsEqual, type Or } from "@duplojs/utils";
3
+ import { type Process, type ProcessExportValue, type ProcessDefinition, type ProcessRequest } from "../../process";
4
+ import { type Request } from "../../request";
5
+ declare module "./builder" {
6
+ interface ProcessBuilder<GenericDefinition extends ProcessDefinition = ProcessDefinition, GenericFloor extends Floor = {}, GenericRequest extends Request = Request> {
7
+ exports<GenericExportation extends (keyof GenericFloor)[] = never>(exportedKey?: GenericExportation): Process<SimplifyTopLevel<GenericDefinition & (Or<[
8
+ IsEqual<GenericExportation, never>,
9
+ IsEqual<GenericExportation, never[]>
10
+ ]> extends true ? {} : ProcessExportValue<SimplifyTopLevel<Pick<GenericFloor, GenericExportation[number]>>>) & (IsEqual<GenericRequest, Request> extends true ? {} : ProcessRequest<GenericRequest>)>>;
11
+ }
12
+ }
@@ -0,0 +1,4 @@
1
+ import { processBuilder } from './builder.mjs';
2
+ import { createProcess } from '../../process/index.mjs';
3
+
4
+ processBuilder.set("exports", ({ accumulator, }) => createProcess(accumulator));
@@ -0,0 +1,22 @@
1
+ 'use strict';
2
+
3
+ require('../../steps/kind.cjs');
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');
11
+ var builder = require('./builder.cjs');
12
+
13
+ builder.processBuilder.set("extract", ({ args: [shape, responseContract], accumulator, next, }) => next({
14
+ ...accumulator,
15
+ steps: [
16
+ ...accumulator.steps,
17
+ extract.createExtractStep({
18
+ shape,
19
+ responseContract,
20
+ }),
21
+ ],
22
+ }));
@@ -0,0 +1,25 @@
1
+ import { type Floor } from "../../floor";
2
+ import { type ExtractShape, type ExtractStep } from "../../steps";
3
+ import { type DP, type ObjectEntry, type O, type SimplifyTopLevel, type NeverCoalescing } from "@duplojs/utils";
4
+ import { type ClientErrorResponseCode, type ResponseContract } from "../../response";
5
+ import { type ProcessDefinition } from "../../process";
6
+ import { type Request } from "../../request";
7
+ declare module "./builder" {
8
+ interface ProcessBuilder<GenericDefinition extends ProcessDefinition = ProcessDefinition, GenericFloor extends Floor = {}, GenericRequest extends Request = Request> {
9
+ extract<GenericShape extends ExtractShape, GenericResponseContract extends (ResponseContract.Contract<ClientErrorResponseCode, string, DP.DataParserEmpty>) = never>(shape: GenericShape, responseContract?: GenericResponseContract): ProcessBuilder<O.AssignObjects<GenericDefinition, {
10
+ readonly steps: readonly [
11
+ ...GenericDefinition["steps"],
12
+ ExtractStep<{
13
+ readonly shape: GenericShape;
14
+ readonly responseContract: NeverCoalescing<GenericResponseContract, undefined>;
15
+ }>
16
+ ];
17
+ }>, O.AssignObjects<GenericFloor, {
18
+ [Prop in keyof GenericShape]: GenericShape[Prop] extends DP.DataParser ? [Prop, DP.Output<GenericShape[Prop]>] : GenericShape[Prop] extends infer InferredSubShape extends Record<string, DP.DataParser> ? {
19
+ [Prop in keyof InferredSubShape]: [Prop, DP.Output<InferredSubShape[Prop]>];
20
+ }[keyof InferredSubShape] : never;
21
+ }[keyof GenericShape] extends infer InferredEntry extends ObjectEntry ? SimplifyTopLevel<{
22
+ [Entry in InferredEntry as Entry[0]]: Entry[1];
23
+ }> : never>, GenericRequest>;
24
+ }
25
+ }
@@ -0,0 +1,20 @@
1
+ import '../../steps/kind.mjs';
2
+ import '../../steps/identifier.mjs';
3
+ import '../../steps/checker.mjs';
4
+ import { createExtractStep } 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 { processBuilder } from './builder.mjs';
10
+
11
+ processBuilder.set("extract", ({ args: [shape, responseContract], accumulator, next, }) => next({
12
+ ...accumulator,
13
+ steps: [
14
+ ...accumulator.steps,
15
+ createExtractStep({
16
+ shape,
17
+ responseContract,
18
+ }),
19
+ ],
20
+ }));
@@ -0,0 +1,7 @@
1
+ export * from "./builder";
2
+ export * from "./cut";
3
+ export * from "./extract";
4
+ export * from "./checker";
5
+ export * from "./process";
6
+ export * from "./export";
7
+ export * from "./presetChecker";
@@ -0,0 +1,22 @@
1
+ 'use strict';
2
+
3
+ require('../../steps/kind.cjs');
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
+ require('../../steps/process.cjs');
10
+ var presetChecker = require('../../steps/presetChecker.cjs');
11
+ var builder = require('./builder.cjs');
12
+
13
+ builder.processBuilder.set("presetCheck", ({ args: [presetChecker$1, input,], accumulator, next, }) => next({
14
+ ...accumulator,
15
+ steps: [
16
+ ...accumulator.steps,
17
+ presetChecker.createPresetCheckerStep({
18
+ presetChecker: presetChecker$1,
19
+ input,
20
+ }),
21
+ ],
22
+ }));
@@ -0,0 +1,23 @@
1
+ import { type Floor } from "../../floor";
2
+ import { type PresetCheckerStep } from "../../steps";
3
+ import { type O, type A } from "@duplojs/utils";
4
+ import { type Request } from "../../request";
5
+ import { type GetPresetCheckerIndex, type GetPresetCheckerInformation, type GetPresetCheckerResult, type GetPresetCheckerInput, type PresetChecker } from "../../presetChecker";
6
+ import { type ProcessDefinition } from "../../process";
7
+ declare module "./builder" {
8
+ interface ProcessBuilder<GenericDefinition extends ProcessDefinition = ProcessDefinition, GenericFloor extends Floor = {}, GenericRequest extends Request = Request> {
9
+ presetCheck<GenericPresetChecker extends PresetChecker, GenericInput extends GetPresetCheckerInput<GenericPresetChecker>>(presetChecker: GenericPresetChecker, input: (floor: GenericFloor) => GenericInput): ProcessBuilder<O.AssignObjects<GenericDefinition, {
10
+ readonly steps: readonly [
11
+ ...GenericDefinition["steps"],
12
+ PresetCheckerStep<{
13
+ readonly presetChecker: GenericPresetChecker;
14
+ input(floor: GenericFloor): GenericInput;
15
+ }>
16
+ ];
17
+ }>, O.AssignObjects<GenericFloor, {
18
+ [Prop in GetPresetCheckerIndex<GenericPresetChecker>]: Extract<Awaited<GetPresetCheckerResult<GenericPresetChecker>>, {
19
+ information: A.ArrayCoalescing<GetPresetCheckerInformation<GenericPresetChecker>>[number];
20
+ }>["value"];
21
+ }>, GenericRequest>;
22
+ }
23
+ }