@declaro/core 2.0.0-y.0 → 2.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 (266) hide show
  1. package/{LICENSE → LICENSE.md} +1 -1
  2. package/README.md +203 -0
  3. package/dist/browser/index.js +28 -0
  4. package/dist/browser/index.js.map +133 -0
  5. package/dist/browser/scope/index.js +3 -0
  6. package/dist/browser/scope/index.js.map +9 -0
  7. package/dist/bun/index.js +19011 -0
  8. package/dist/bun/index.js.map +132 -0
  9. package/dist/bun/scope/index.js +4 -0
  10. package/dist/bun/scope/index.js.map +9 -0
  11. package/dist/node/index.cjs +19039 -0
  12. package/dist/node/index.cjs.map +132 -0
  13. package/dist/node/index.js +19010 -0
  14. package/dist/node/index.js.map +132 -0
  15. package/dist/node/scope/index.cjs +69 -0
  16. package/dist/node/scope/index.cjs.map +9 -0
  17. package/dist/node/scope/index.js +3 -0
  18. package/dist/node/scope/index.js.map +9 -0
  19. package/dist/ts/app/app-context.d.ts +9 -0
  20. package/dist/ts/app/app-context.d.ts.map +1 -0
  21. package/dist/ts/app/app-lifecycle.d.ts +6 -0
  22. package/dist/ts/app/app-lifecycle.d.ts.map +1 -0
  23. package/dist/ts/app/app.d.ts +24 -0
  24. package/dist/ts/app/app.d.ts.map +1 -0
  25. package/dist/{app → ts/app}/index.d.ts +1 -0
  26. package/dist/ts/app/index.d.ts.map +1 -0
  27. package/dist/ts/application/create-request-context.d.ts +4 -0
  28. package/dist/ts/application/create-request-context.d.ts.map +1 -0
  29. package/dist/ts/application/create-request-context.test.d.ts +2 -0
  30. package/dist/ts/application/create-request-context.test.d.ts.map +1 -0
  31. package/dist/ts/application/use-declaro.d.ts +3 -0
  32. package/dist/ts/application/use-declaro.d.ts.map +1 -0
  33. package/dist/{auth → ts/auth}/permission-validator.d.ts +1 -0
  34. package/dist/ts/auth/permission-validator.d.ts.map +1 -0
  35. package/dist/ts/auth/permission-validator.test.d.ts +2 -0
  36. package/dist/ts/auth/permission-validator.test.d.ts.map +1 -0
  37. package/dist/ts/context/async-context.d.ts +54 -0
  38. package/dist/ts/context/async-context.d.ts.map +1 -0
  39. package/dist/ts/context/async-context.test.d.ts +2 -0
  40. package/dist/ts/context/async-context.test.d.ts.map +1 -0
  41. package/dist/{context → ts/context}/context-consumer.d.ts +4 -0
  42. package/dist/ts/context/context-consumer.d.ts.map +1 -0
  43. package/dist/ts/context/context.circular-deps.test.d.ts +2 -0
  44. package/dist/ts/context/context.circular-deps.test.d.ts.map +1 -0
  45. package/dist/ts/context/context.d.ts +452 -0
  46. package/dist/ts/context/context.d.ts.map +1 -0
  47. package/dist/ts/context/context.test.d.ts +2 -0
  48. package/dist/ts/context/context.test.d.ts.map +1 -0
  49. package/dist/ts/context/legacy-context.test.d.ts +2 -0
  50. package/dist/ts/context/legacy-context.test.d.ts.map +1 -0
  51. package/dist/{context → ts/context}/validators.d.ts +2 -1
  52. package/dist/ts/context/validators.d.ts.map +1 -0
  53. package/dist/ts/dataflow/index.d.ts +2 -0
  54. package/dist/ts/dataflow/index.d.ts.map +1 -0
  55. package/dist/ts/dataflow/objects.d.ts +7 -0
  56. package/dist/ts/dataflow/objects.d.ts.map +1 -0
  57. package/dist/ts/dataflow/objects.test.d.ts +2 -0
  58. package/dist/ts/dataflow/objects.test.d.ts.map +1 -0
  59. package/dist/{errors → ts/errors}/errors.d.ts +16 -3
  60. package/dist/ts/errors/errors.d.ts.map +1 -0
  61. package/dist/ts/events/event-manager.d.ts +19 -0
  62. package/dist/ts/events/event-manager.d.ts.map +1 -0
  63. package/dist/ts/events/event-manager.spec.d.ts +2 -0
  64. package/dist/ts/events/event-manager.spec.d.ts.map +1 -0
  65. package/dist/ts/events/index.d.ts +2 -0
  66. package/dist/ts/events/index.d.ts.map +1 -0
  67. package/dist/ts/http/headers.d.ts +21 -0
  68. package/dist/ts/http/headers.d.ts.map +1 -0
  69. package/dist/ts/http/headers.spec.d.ts +2 -0
  70. package/dist/ts/http/headers.spec.d.ts.map +1 -0
  71. package/dist/ts/http/request-context.d.ts +17 -0
  72. package/dist/ts/http/request-context.d.ts.map +1 -0
  73. package/dist/ts/http/request-context.spec.d.ts +2 -0
  74. package/dist/ts/http/request-context.spec.d.ts.map +1 -0
  75. package/dist/ts/http/request.d.ts +31 -0
  76. package/dist/ts/http/request.d.ts.map +1 -0
  77. package/dist/ts/http/request.spec.d.ts +2 -0
  78. package/dist/ts/http/request.spec.d.ts.map +1 -0
  79. package/dist/{http → ts/http}/url.d.ts +5 -4
  80. package/dist/ts/http/url.d.ts.map +1 -0
  81. package/dist/ts/http/url.spec.d.ts +2 -0
  82. package/dist/ts/http/url.spec.d.ts.map +1 -0
  83. package/dist/ts/index.d.ts +47 -0
  84. package/dist/ts/index.d.ts.map +1 -0
  85. package/dist/{pipelines → ts/pipelines}/index.d.ts +1 -0
  86. package/dist/ts/pipelines/index.d.ts.map +1 -0
  87. package/dist/{pipelines → ts/pipelines}/pipeline-action.d.ts +1 -0
  88. package/dist/ts/pipelines/pipeline-action.d.ts.map +1 -0
  89. package/dist/ts/pipelines/pipeline-action.test.d.ts +2 -0
  90. package/dist/ts/pipelines/pipeline-action.test.d.ts.map +1 -0
  91. package/dist/{pipelines → ts/pipelines}/pipeline.d.ts +3 -2
  92. package/dist/ts/pipelines/pipeline.d.ts.map +1 -0
  93. package/dist/ts/pipelines/pipeline.test.d.ts +2 -0
  94. package/dist/ts/pipelines/pipeline.test.d.ts.map +1 -0
  95. package/dist/ts/schema/json-schema.d.ts +12 -0
  96. package/dist/ts/schema/json-schema.d.ts.map +1 -0
  97. package/dist/ts/schema/labels.d.ts +14 -0
  98. package/dist/ts/schema/labels.d.ts.map +1 -0
  99. package/dist/ts/schema/model-schema.d.ts +75 -0
  100. package/dist/ts/schema/model-schema.d.ts.map +1 -0
  101. package/dist/ts/schema/model-schema.test.d.ts +2 -0
  102. package/dist/ts/schema/model-schema.test.d.ts.map +1 -0
  103. package/dist/ts/schema/model.d.ts +35 -0
  104. package/dist/ts/schema/model.d.ts.map +1 -0
  105. package/dist/ts/schema/schema-mixin.d.ts +24 -0
  106. package/dist/ts/schema/schema-mixin.d.ts.map +1 -0
  107. package/dist/ts/schema/test/mock-model.d.ts +8 -0
  108. package/dist/ts/schema/test/mock-model.d.ts.map +1 -0
  109. package/dist/ts/scope/index.d.ts +34 -0
  110. package/dist/ts/scope/index.d.ts.map +1 -0
  111. package/dist/ts/shared/utils/action-descriptor.d.ts +28 -0
  112. package/dist/ts/shared/utils/action-descriptor.d.ts.map +1 -0
  113. package/dist/ts/shared/utils/action-descriptor.test.d.ts +2 -0
  114. package/dist/ts/shared/utils/action-descriptor.test.d.ts.map +1 -0
  115. package/dist/ts/shared/utils/schema-utils.d.ts +3 -0
  116. package/dist/ts/shared/utils/schema-utils.d.ts.map +1 -0
  117. package/dist/ts/shared/utils/schema-utils.test.d.ts +2 -0
  118. package/dist/ts/shared/utils/schema-utils.test.d.ts.map +1 -0
  119. package/dist/ts/shims/async-local-storage.d.ts +36 -0
  120. package/dist/ts/shims/async-local-storage.d.ts.map +1 -0
  121. package/dist/ts/shims/async-local-storage.test.d.ts +2 -0
  122. package/dist/ts/shims/async-local-storage.test.d.ts.map +1 -0
  123. package/dist/{timing.d.ts → ts/timing.d.ts} +1 -0
  124. package/dist/ts/timing.d.ts.map +1 -0
  125. package/dist/{typescript → ts/typescript}/arrays.d.ts +1 -0
  126. package/dist/ts/typescript/arrays.d.ts.map +1 -0
  127. package/dist/{typescript → ts/typescript}/baseModel.d.ts +1 -0
  128. package/dist/ts/typescript/baseModel.d.ts.map +1 -0
  129. package/dist/{typescript → ts/typescript}/classes.d.ts +1 -0
  130. package/dist/ts/typescript/classes.d.ts.map +1 -0
  131. package/dist/{typescript → ts/typescript}/constant-manipulation/snake-case.d.ts +1 -0
  132. package/dist/ts/typescript/constant-manipulation/snake-case.d.ts.map +1 -0
  133. package/dist/{typescript → ts/typescript}/errors.d.ts +1 -0
  134. package/dist/ts/typescript/errors.d.ts.map +1 -0
  135. package/dist/ts/typescript/fetch.d.ts +3 -0
  136. package/dist/ts/typescript/fetch.d.ts.map +1 -0
  137. package/dist/{typescript → ts/typescript}/generics.d.ts +1 -0
  138. package/dist/ts/typescript/generics.d.ts.map +1 -0
  139. package/dist/{typescript → ts/typescript}/index.d.ts +1 -0
  140. package/dist/ts/typescript/index.d.ts.map +1 -0
  141. package/dist/ts/typescript/objects.d.ts +26 -0
  142. package/dist/ts/typescript/objects.d.ts.map +1 -0
  143. package/dist/{typescript → ts/typescript}/promises.d.ts +1 -0
  144. package/dist/ts/typescript/promises.d.ts.map +1 -0
  145. package/dist/{validation → ts/validation}/index.d.ts +1 -0
  146. package/dist/ts/validation/index.d.ts.map +1 -0
  147. package/dist/{validation → ts/validation}/validation.d.ts +1 -0
  148. package/dist/ts/validation/validation.d.ts.map +1 -0
  149. package/dist/{validation → ts/validation}/validator.d.ts +1 -0
  150. package/dist/ts/validation/validator.d.ts.map +1 -0
  151. package/dist/ts/validation/validator.test.d.ts +2 -0
  152. package/dist/ts/validation/validator.test.d.ts.map +1 -0
  153. package/package.json +46 -13
  154. package/src/app/app-context.ts +4 -5
  155. package/src/app/app-lifecycle.ts +4 -3
  156. package/src/app/app.ts +7 -5
  157. package/src/application/create-request-context.test.ts +345 -0
  158. package/src/application/create-request-context.ts +19 -0
  159. package/src/application/use-declaro.ts +27 -0
  160. package/src/auth/permission-validator.test.ts +238 -2
  161. package/src/auth/permission-validator.ts +3 -3
  162. package/src/context/async-context.test.ts +348 -0
  163. package/src/context/async-context.ts +129 -0
  164. package/src/context/context-consumer.ts +4 -4
  165. package/src/context/context.circular-deps.test.ts +1047 -0
  166. package/src/context/context.test.ts +420 -3
  167. package/src/context/context.ts +590 -87
  168. package/src/context/legacy-context.test.ts +9 -9
  169. package/src/dataflow/objects.test.ts +7 -7
  170. package/src/dataflow/objects.ts +10 -9
  171. package/src/errors/errors.ts +19 -3
  172. package/src/events/event-manager.spec.ts +129 -0
  173. package/src/events/event-manager.ts +25 -14
  174. package/src/http/headers.ts +17 -2
  175. package/src/http/request-context.ts +24 -15
  176. package/src/http/request.ts +27 -6
  177. package/src/http/url.ts +3 -3
  178. package/src/index.ts +34 -3
  179. package/src/pipelines/pipeline.test.ts +11 -9
  180. package/src/schema/json-schema.ts +16 -0
  181. package/src/schema/labels.ts +23 -23
  182. package/src/schema/model-schema.test.ts +282 -0
  183. package/src/schema/model-schema.ts +197 -0
  184. package/src/schema/model.ts +143 -0
  185. package/src/schema/schema-mixin.ts +51 -0
  186. package/src/schema/test/mock-model.ts +19 -0
  187. package/src/scope/index.ts +33 -0
  188. package/src/shared/utils/action-descriptor.test.ts +182 -0
  189. package/src/shared/utils/action-descriptor.ts +102 -0
  190. package/src/shared/utils/schema-utils.test.ts +33 -0
  191. package/src/shared/utils/schema-utils.ts +17 -0
  192. package/src/shims/async-local-storage.test.ts +258 -0
  193. package/src/shims/async-local-storage.ts +82 -0
  194. package/src/typescript/objects.ts +32 -1
  195. package/src/validation/validator.test.ts +12 -20
  196. package/dist/app/app-context.d.ts +0 -8
  197. package/dist/app/app-lifecycle.d.ts +0 -4
  198. package/dist/app/app.d.ts +0 -22
  199. package/dist/auth/permission-validator.test.d.ts +0 -1
  200. package/dist/context/context.d.ts +0 -161
  201. package/dist/context/context.test.d.ts +0 -1
  202. package/dist/context/legacy-context.test.d.ts +0 -1
  203. package/dist/dataflow/index.d.ts +0 -1
  204. package/dist/dataflow/objects.d.ts +0 -5
  205. package/dist/dataflow/objects.test.d.ts +0 -1
  206. package/dist/events/event-manager.d.ts +0 -16
  207. package/dist/events/event-manager.spec.d.ts +0 -1
  208. package/dist/events/index.d.ts +0 -1
  209. package/dist/helpers/index.d.ts +0 -1
  210. package/dist/helpers/ucfirst.d.ts +0 -1
  211. package/dist/http/headers.d.ts +0 -4
  212. package/dist/http/headers.spec.d.ts +0 -1
  213. package/dist/http/request-context.d.ts +0 -12
  214. package/dist/http/request-context.spec.d.ts +0 -1
  215. package/dist/http/request.d.ts +0 -8
  216. package/dist/http/request.spec.d.ts +0 -1
  217. package/dist/http/url.spec.d.ts +0 -1
  218. package/dist/index.d.ts +0 -19
  219. package/dist/pipelines/pipeline-action.test.d.ts +0 -1
  220. package/dist/pipelines/pipeline.test.d.ts +0 -1
  221. package/dist/pkg.cjs +0 -30
  222. package/dist/pkg.mjs +0 -56612
  223. package/dist/schema/application.d.ts +0 -83
  224. package/dist/schema/application.test.d.ts +0 -1
  225. package/dist/schema/define-model.d.ts +0 -10
  226. package/dist/schema/define-model.test.d.ts +0 -1
  227. package/dist/schema/formats.d.ts +0 -10
  228. package/dist/schema/index.d.ts +0 -10
  229. package/dist/schema/labels.d.ts +0 -13
  230. package/dist/schema/labels.test.d.ts +0 -1
  231. package/dist/schema/module.d.ts +0 -7
  232. package/dist/schema/module.test.d.ts +0 -1
  233. package/dist/schema/properties.d.ts +0 -19
  234. package/dist/schema/response.d.ts +0 -31
  235. package/dist/schema/response.test.d.ts +0 -1
  236. package/dist/schema/supported-types.d.ts +0 -12
  237. package/dist/schema/supported-types.test.d.ts +0 -1
  238. package/dist/schema/transform-model.d.ts +0 -4
  239. package/dist/schema/transform-model.test.d.ts +0 -1
  240. package/dist/schema/types.d.ts +0 -95
  241. package/dist/schema/types.test.d.ts +0 -1
  242. package/dist/typescript/fetch.d.ts +0 -2
  243. package/dist/typescript/objects.d.ts +0 -12
  244. package/dist/validation/validator.test.d.ts +0 -1
  245. package/src/helpers/index.ts +0 -1
  246. package/src/helpers/ucfirst.ts +0 -3
  247. package/src/schema/application.test.ts +0 -286
  248. package/src/schema/application.ts +0 -150
  249. package/src/schema/define-model.test.ts +0 -81
  250. package/src/schema/define-model.ts +0 -50
  251. package/src/schema/formats.ts +0 -23
  252. package/src/schema/index.ts +0 -10
  253. package/src/schema/labels.test.ts +0 -60
  254. package/src/schema/module.test.ts +0 -39
  255. package/src/schema/module.ts +0 -6
  256. package/src/schema/properties.ts +0 -40
  257. package/src/schema/response.test.ts +0 -101
  258. package/src/schema/response.ts +0 -93
  259. package/src/schema/supported-types.test.ts +0 -20
  260. package/src/schema/supported-types.ts +0 -15
  261. package/src/schema/transform-model.test.ts +0 -31
  262. package/src/schema/transform-model.ts +0 -24
  263. package/src/schema/types.test.ts +0 -28
  264. package/src/schema/types.ts +0 -163
  265. package/tsconfig.json +0 -11
  266. package/vite.config.ts +0 -24
@@ -0,0 +1,17 @@
1
+ import type { IncomingMessage, ServerResponse } from 'http';
2
+ import { Context, type ContextMiddleware, type DeclaroScope } from '../context/context';
3
+ /**
4
+ * Get the request middleware for the current context.
5
+ * @param context The context to retrieve middleware from.
6
+ * @returns An array of request middleware functions.
7
+ * @deprecated Use `context.scope.requestMiddleware` instead.
8
+ */
9
+ export declare function useRequestMiddleware<S extends DeclaroScope>(context: Context<S>): S["requestMiddleware"];
10
+ export declare function provideRequestMiddleware<S extends DeclaroScope>(context: Context<S>, ...middleware: ContextMiddleware<Context>[]): ContextMiddleware<Context<any>>[];
11
+ export type NodeListener = (req: IncomingMessage, res: ServerResponse) => void;
12
+ export type NodePromisifiedHandler = (req: IncomingMessage, res: ServerResponse) => Promise<any>;
13
+ export type NodeMiddleware = (req: IncomingMessage, res: ServerResponse, next: (err?: Error) => any) => any;
14
+ export type AllNodeMiddleware = NodeListener | NodePromisifiedHandler | NodeMiddleware;
15
+ export declare function useNodeMiddleware<S extends DeclaroScope>(context: Context<S>): S["nodeMiddleware"];
16
+ export declare function provideNodeMiddleware<S extends DeclaroScope>(context: Context<S>, ...middleware: AllNodeMiddleware[]): AllNodeMiddleware[];
17
+ //# sourceMappingURL=request-context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"request-context.d.ts","sourceRoot":"","sources":["../../../src/http/request-context.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,MAAM,CAAA;AAC3D,OAAO,EAAE,OAAO,EAAE,KAAK,iBAAiB,EAAE,KAAK,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAEvF;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,CAAC,SAAS,YAAY,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,0BAM/E;AAED,wBAAgB,wBAAwB,CAAC,CAAC,SAAS,YAAY,EAC3D,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,EACnB,GAAG,UAAU,EAAE,iBAAiB,CAAC,OAAO,CAAC,EAAE,qCAS9C;AAED,MAAM,MAAM,YAAY,GAAG,CAAC,GAAG,EAAE,eAAe,EAAE,GAAG,EAAE,cAAc,KAAK,IAAI,CAAA;AAC9E,MAAM,MAAM,sBAAsB,GAAG,CAAC,GAAG,EAAE,eAAe,EAAE,GAAG,EAAE,cAAc,KAAK,OAAO,CAAC,GAAG,CAAC,CAAA;AAChG,MAAM,MAAM,cAAc,GAAG,CAAC,GAAG,EAAE,eAAe,EAAE,GAAG,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,KAAK,GAAG,KAAK,GAAG,CAAA;AAC3G,MAAM,MAAM,iBAAiB,GAAG,YAAY,GAAG,sBAAsB,GAAG,cAAc,CAAA;AAEtF,wBAAgB,iBAAiB,CAAC,CAAC,SAAS,YAAY,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,uBAM5E;AAED,wBAAgB,qBAAqB,CAAC,CAAC,SAAS,YAAY,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,UAAU,EAAE,iBAAiB,EAAE,uBAQpH"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=request-context.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"request-context.spec.d.ts","sourceRoot":"","sources":["../../../src/http/request-context.spec.ts"],"names":[],"mappings":""}
@@ -0,0 +1,31 @@
1
+ import type { IncomingMessage } from 'http';
2
+ import { Context, type DeclaroRequestScope } from '../context/context';
3
+ export interface Request extends IncomingMessage {
4
+ }
5
+ /**
6
+ * Provide a request to a context that supports request scope.
7
+ * The context must have all properties required by DeclaroRequestScope.
8
+ *
9
+ * @param context A context that includes DeclaroRequestScope properties
10
+ * @param request The request to provide
11
+ */
12
+ export declare function provideRequest<S extends DeclaroRequestScope>(context: Context<S>, request: Request): void;
13
+ /**
14
+ * Get the request from the context.
15
+ *
16
+ * @deprecated You can now inject the request directly from Context<RequestScope>.
17
+ * This function will be removed in a future version.
18
+ * @param context The context to use for the request.
19
+ * @returns
20
+ */
21
+ export declare function useRequest(context: Context): any;
22
+ /**
23
+ * Get the HTTP method of the request.
24
+ *
25
+ * @deprecated You can now inject the request directly from Context<RequestScope>.
26
+ * This function will be removed in a future version.
27
+ * @param context The context to use for the request.
28
+ * @returns The HTTP method of the request, or undefined if not available.
29
+ */
30
+ export declare function useRequestMethod(context: Context): any;
31
+ //# sourceMappingURL=request.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"request.d.ts","sourceRoot":"","sources":["../../../src/http/request.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,MAAM,CAAA;AAC3C,OAAO,EAAE,OAAO,EAAE,KAAK,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;AAEtE,MAAM,WAAW,OAAQ,SAAQ,eAAe;CAAG;AAEnD;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,CAAC,SAAS,mBAAmB,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,QAElG;AAED;;;;;;;GAOG;AACH,wBAAgB,UAAU,CAAC,OAAO,EAAE,OAAO,OAI1C;AAED;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO,OAIhD"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=request.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"request.spec.d.ts","sourceRoot":"","sources":["../../../src/http/request.spec.ts"],"names":[],"mappings":""}
@@ -1,8 +1,9 @@
1
1
  import { Context } from '../context/context';
2
2
  import { URL } from 'whatwg-url';
3
- export declare function useRequestURL(context: Context): URL;
4
- export declare function useRequestURLString(context: Context): string;
5
- export declare function useRequestDomain(context: Context): string;
6
- export declare function useRequestPath(context: Context): string;
3
+ export declare function useRequestURL(context: Context): URL | undefined;
4
+ export declare function useRequestURLString(context: Context): string | undefined;
5
+ export declare function useRequestDomain(context: Context): string | undefined;
6
+ export declare function useRequestPath(context: Context): string | undefined;
7
7
  export declare function useRequestQuery(context: Context): Record<string, string>;
8
8
  export declare function useFormattedQueryParam(context: Context, key: string): void;
9
+ //# sourceMappingURL=url.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"url.d.ts","sourceRoot":"","sources":["../../../src/http/url.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAA;AAC5C,OAAO,EAAE,GAAG,EAAE,MAAM,YAAY,CAAA;AAGhC,wBAAgB,aAAa,CAAC,OAAO,EAAE,OAAO,GAAG,GAAG,GAAG,SAAS,CAK/D;AAED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,sBAInD;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO,sBAIhD;AAED,wBAAgB,cAAc,CAAC,OAAO,EAAE,OAAO,sBAI9C;AAED,wBAAgB,eAAe,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAYxE;AAED,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,QAInE"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=url.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"url.spec.d.ts","sourceRoot":"","sources":["../../../src/http/url.spec.ts"],"names":[],"mappings":""}
@@ -0,0 +1,47 @@
1
+ export type {
2
+ /**
3
+ * @deprecated Import AppScope from '#scope' instead.
4
+ *
5
+ * Migration: Change `import { AppScope } from '@declaro/core'` to `import { AppScope } from '#scope'`
6
+ *
7
+ * The #scope import allows for better type augmentation and module resolution.
8
+ */
9
+ AppScope,
10
+ /**
11
+ * @deprecated Import RequestScope from '#scope' instead.
12
+ *
13
+ * Migration: Change `import { RequestScope } from '@declaro/core'` to `import { RequestScope } from '#scope'`
14
+ *
15
+ * The #scope import allows for better type augmentation and module resolution.
16
+ */
17
+ RequestScope, } from '#scope';
18
+ export * from '@standard-schema/spec';
19
+ export * from './typescript';
20
+ export * from './app';
21
+ export * from './application/create-request-context';
22
+ export * from './application/use-declaro';
23
+ export * from './context/context';
24
+ export * from './context/context-consumer';
25
+ export * from './context/validators';
26
+ export * from './context/async-context';
27
+ export * from './dataflow';
28
+ export * from './events';
29
+ export * from './validation';
30
+ export * from './timing';
31
+ export * from './scope';
32
+ export * from './errors/errors';
33
+ export * from './pipelines';
34
+ export * from './http/headers';
35
+ export * from './http/request-context';
36
+ export * from './http/request';
37
+ export * from './http/url';
38
+ export * from './auth/permission-validator';
39
+ export * from './schema/model';
40
+ export * from './schema/json-schema';
41
+ export * from './schema/labels';
42
+ export * from './schema/model-schema';
43
+ export * from './schema/schema-mixin';
44
+ export * from './schema/test/mock-model';
45
+ export * from './shared/utils/action-descriptor';
46
+ export * from './shared/utils/schema-utils';
47
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,YAAY;AACR;;;;;;GAMG;AACH,QAAQ;AACR;;;;;;GAMG;AACH,YAAY,GACf,MAAM,QAAQ,CAAA;AAEf,cAAc,uBAAuB,CAAA;AAErC,cAAc,cAAc,CAAA;AAC5B,cAAc,OAAO,CAAA;AACrB,cAAc,sCAAsC,CAAA;AACpD,cAAc,2BAA2B,CAAA;AACzC,cAAc,mBAAmB,CAAA;AACjC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,sBAAsB,CAAA;AACpC,cAAc,yBAAyB,CAAA;AACvC,cAAc,YAAY,CAAA;AAC1B,cAAc,UAAU,CAAA;AACxB,cAAc,cAAc,CAAA;AAC5B,cAAc,UAAU,CAAA;AACxB,cAAc,SAAS,CAAA;AACvB,cAAc,iBAAiB,CAAA;AAC/B,cAAc,aAAa,CAAA;AAC3B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,wBAAwB,CAAA;AACtC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,YAAY,CAAA;AAC1B,cAAc,6BAA6B,CAAA;AAC3C,cAAc,gBAAgB,CAAA;AAC9B,cAAc,sBAAsB,CAAA;AACpC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,uBAAuB,CAAA;AACrC,cAAc,uBAAuB,CAAA;AACrC,cAAc,0BAA0B,CAAA;AAExC,cAAc,kCAAkC,CAAA;AAChD,cAAc,6BAA6B,CAAA"}
@@ -1,2 +1,3 @@
1
1
  export * from './pipeline-action';
2
2
  export * from './pipeline';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/pipelines/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAA;AACjC,cAAc,YAAY,CAAA"}
@@ -3,3 +3,4 @@ export type ActionOutput<TAction extends PipelineAction<any, any>> = TAction ext
3
3
  export type ActionInput<TAction extends PipelineAction<any, any>> = TAction extends PipelineAction<infer U, any> ? U : never;
4
4
  export type PipelineDecision<TFrom, TAction extends PipelineAction<TFrom, any>> = (input: TFrom) => TAction;
5
5
  export declare function pipelineAction<TFrom, TTo>(action: PipelineAction<TFrom, TTo>): PipelineAction<TFrom, TTo>;
6
+ //# sourceMappingURL=pipeline-action.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pipeline-action.d.ts","sourceRoot":"","sources":["../../../src/pipelines/pipeline-action.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,cAAc,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,KAAK,KAAK,GAAG,CAAA;AAC9D,MAAM,MAAM,YAAY,CAAC,OAAO,SAAS,cAAc,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,OAAO,SAAS,cAAc,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,GAC3G,CAAC,GACD,KAAK,CAAA;AACX,MAAM,MAAM,WAAW,CAAC,OAAO,SAAS,cAAc,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,OAAO,SAAS,cAAc,CAAC,MAAM,CAAC,EAAE,GAAG,CAAC,GAC1G,CAAC,GACD,KAAK,CAAA;AAEX,MAAM,MAAM,gBAAgB,CAAC,KAAK,EAAE,OAAO,SAAS,cAAc,CAAC,KAAK,EAAE,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,KAAK,OAAO,CAAA;AAE3G,wBAAgB,cAAc,CAAC,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,cAAc,CAAC,KAAK,EAAE,GAAG,CAAC,8BAE5E"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=pipeline-action.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pipeline-action.test.d.ts","sourceRoot":"","sources":["../../../src/pipelines/pipeline-action.test.ts"],"names":[],"mappings":""}
@@ -1,5 +1,5 @@
1
- import { UnwrapPromise } from '../typescript';
2
- import { ActionOutput, PipelineAction } from './pipeline-action';
1
+ import type { UnwrapPromise } from '../typescript';
2
+ import { type ActionOutput, type PipelineAction } from './pipeline-action';
3
3
  export declare function initialInput<T>(input?: T): PipelineAction<T, T>;
4
4
  export type PipelineOutput<T extends Pipeline<any, any>> = T extends Pipeline<any, infer U> ? U : never;
5
5
  export type PipelineInput<T extends Pipeline<any, any>> = T extends Pipeline<infer U, any> ? U : never;
@@ -42,3 +42,4 @@ export declare class Pipeline<TFrom, TTo> {
42
42
  */
43
43
  diverge<TAction extends PipelineAction<UnwrapPromise<TTo>, any>>(decision: DivergeDecision<UnwrapPromise<TTo>, TAction>): Pipeline<TFrom, SyncOrAsync<TTo, DivergedOutput<UnwrapPromise<TTo>, TAction>>>;
44
44
  }
45
+ //# sourceMappingURL=pipeline.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pipeline.d.ts","sourceRoot":"","sources":["../../../src/pipelines/pipeline.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAClD,OAAO,EAAkB,KAAK,YAAY,EAAE,KAAK,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAE1F,wBAAgB,YAAY,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC,wBAExC;AAED,MAAM,MAAM,cAAc,CAAC,CAAC,SAAS,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC,SAAS,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAA;AACvG,MAAM,MAAM,aAAa,CAAC,CAAC,SAAS,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC,SAAS,QAAQ,CAAC,MAAM,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAA;AACtG,MAAM,MAAM,WAAW,CAAC,YAAY,EAAE,OAAO,IAAI,YAAY,SAAS,OAAO,CAAC,GAAG,CAAC,GAC5E,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,GAC/B,OAAO,CAAA;AAEb,MAAM,MAAM,cAAc,CAAC,KAAK,EAAE,CAAC,SAAS,cAAc,CAAC,KAAK,EAAE,GAAG,CAAC,IAAI,YAAY,CAAC,CAAC,CAAC,CAAA;AACzF,MAAM,MAAM,eAAe,CAAC,KAAK,EAAE,OAAO,SAAS,cAAc,CAAC,KAAK,EAAE,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,KAAK,OAAO,CAAA;AAE1G;;GAEG;AACH,qBAAa,QAAQ,CAAC,KAAK,EAAE,GAAG;IAChB,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,cAAc,CAAC,KAAK,EAAE,GAAG,CAAC;gBAAnC,OAAO,EAAE,cAAc,CAAC,KAAK,EAAE,GAAG,CAAC;IAElE;;;;;;;OAOG;IACH,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,cAAc,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,GAAG,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IAY3G;;;;;OAKG;IACH,OAAO,CAAC,KAAK,EAAE,KAAK,GAAG,GAAG;IAI1B;;;;OAIG;IACH,MAAM,IAAI,cAAc,CAAC,KAAK,EAAE,GAAG,CAAC;IAIpC;;;;;OAKG;IACH,OAAO,CAAC,OAAO,SAAS,cAAc,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,EAC3D,QAAQ,EAAE,eAAe,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,GACvD,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC,GAAG,EAAE,cAAc,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;CAWpF"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=pipeline.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pipeline.test.d.ts","sourceRoot":"","sources":["../../../src/pipelines/pipeline.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,12 @@
1
+ import { type JSONSchema7 } from 'json-schema';
2
+ export type JSONSchemaDefinition = JSONSchema | boolean;
3
+ export interface JSONMeta {
4
+ hidden?: boolean;
5
+ private?: boolean;
6
+ }
7
+ export interface JSONSchema extends JSONSchema7, JSONMeta {
8
+ properties?: {
9
+ [key: string]: JSONSchemaDefinition;
10
+ } | undefined;
11
+ }
12
+ //# sourceMappingURL=json-schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"json-schema.d.ts","sourceRoot":"","sources":["../../../src/schema/json-schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,aAAa,CAAA;AAE9C,MAAM,MAAM,oBAAoB,GAAG,UAAU,GAAG,OAAO,CAAA;AAEvD,MAAM,WAAW,QAAQ;IACrB,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,OAAO,CAAC,EAAE,OAAO,CAAA;CACpB;AAED,MAAM,WAAW,UAAW,SAAQ,WAAW,EAAE,QAAQ;IACrD,UAAU,CAAC,EACL;QACI,CAAC,GAAG,EAAE,MAAM,GAAG,oBAAoB,CAAA;KACtC,GACD,SAAS,CAAA;CAClB"}
@@ -0,0 +1,14 @@
1
+ export type ModelLabels = {
2
+ singularLabel: string;
3
+ pluralLabel: string;
4
+ singularSentence: string;
5
+ pluralSentence: string;
6
+ singularParameter: string;
7
+ pluralParameter: string;
8
+ singularSlug: string;
9
+ pluralSlug: string;
10
+ singularEntityName: string;
11
+ pluralEntityName: string;
12
+ };
13
+ export declare function getLabels(modelName: string, labels?: Partial<ModelLabels>): ModelLabels;
14
+ //# sourceMappingURL=labels.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"labels.d.ts","sourceRoot":"","sources":["../../../src/schema/labels.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,WAAW,GAAG;IACtB,aAAa,EAAE,MAAM,CAAA;IACrB,WAAW,EAAE,MAAM,CAAA;IACnB,gBAAgB,EAAE,MAAM,CAAA;IACxB,cAAc,EAAE,MAAM,CAAA;IACtB,iBAAiB,EAAE,MAAM,CAAA;IACzB,eAAe,EAAE,MAAM,CAAA;IACvB,YAAY,EAAE,MAAM,CAAA;IACpB,UAAU,EAAE,MAAM,CAAA;IAClB,kBAAkB,EAAE,MAAM,CAAA;IAC1B,gBAAgB,EAAE,MAAM,CAAA;CAC3B,CAAA;AAED,wBAAgB,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,GAAE,OAAO,CAAC,WAAW,CAAM,GAAG,WAAW,CAa3F"}
@@ -0,0 +1,75 @@
1
+ import type { ShallowMerge } from '../typescript';
2
+ import { type ModelLabels } from './labels';
3
+ import { type InferModelInput } from './model';
4
+ import { type IAnyMixin, type IMixin, type IMixinHelper, type IMixinInput, type InferMixinInput } from './schema-mixin';
5
+ export type Subset<T> = {
6
+ [K in keyof T]?: T[K];
7
+ };
8
+ export type Simplify<T> = {
9
+ [K in keyof T]: T[K];
10
+ } & {};
11
+ export type MergeMixins<TA extends IAnyMixin | undefined, TB extends IAnyMixin> = Simplify<TA extends IAnyMixin ? ShallowMerge<TA, TB> : TB>;
12
+ export declare function getReadHelpers<TName extends Readonly<string>>(h: IMixinHelper<TName>): {
13
+ detail: {
14
+ name: TName;
15
+ };
16
+ lookup: {
17
+ name: `${TName}Lookup`;
18
+ };
19
+ };
20
+ declare const readMixin: <TName extends Readonly<string>>(h: IMixinHelper<TName>) => {
21
+ detail: {
22
+ name: `${TName}Detail`;
23
+ };
24
+ lookup: {
25
+ name: `${TName}Lookup`;
26
+ };
27
+ };
28
+ export type ReadMixin<TName extends Readonly<string>> = ReturnType<typeof readMixin<TName>>;
29
+ declare const defaultMixin: <TName extends Readonly<string>>(h: IMixinHelper<TName>) => {};
30
+ export type DefaultMixin<TName extends Readonly<string>> = ReturnType<typeof defaultMixin<TName>>;
31
+ declare const searchMixin: <TName extends Readonly<string>>(h: IMixinHelper<TName>) => {
32
+ summary: {
33
+ name: `${TName}Summary`;
34
+ };
35
+ filters: {
36
+ name: `${TName}Filters`;
37
+ };
38
+ sort: {
39
+ name: `${TName}Sort`;
40
+ };
41
+ };
42
+ export type SearchMixin<TName extends Readonly<string>> = ReturnType<typeof searchMixin<TName>>;
43
+ declare const writeMixin: <TName extends Readonly<string>>(h: IMixinHelper<TName>) => {
44
+ input: {
45
+ name: `${TName}Input`;
46
+ };
47
+ };
48
+ export type WriteMixin<TName extends Readonly<string>> = ReturnType<typeof writeMixin<TName>>;
49
+ export type IModelNames<T extends object> = {
50
+ [K in keyof T]: Readonly<string>;
51
+ };
52
+ export type InferPKeyBaseType<T extends IAnyMixin | undefined> = T extends IAnyMixin ? T['lookup'] extends object ? keyof InferModelInput<T['lookup']> | undefined : undefined : undefined;
53
+ export interface IModelEntityMetadata {
54
+ primaryKey: string;
55
+ }
56
+ export declare class ModelSchema<TName extends Readonly<string> = Readonly<string>, T extends IAnyMixin | undefined = undefined, TEntityMeta extends IModelEntityMetadata | undefined = undefined> {
57
+ static create<TName extends Readonly<string>>(name: TName): ModelSchema<TName>;
58
+ readonly definition: Simplify<T>;
59
+ readonly name: TName;
60
+ protected readonly entityMetadata: TEntityMeta;
61
+ constructor(name: TName, definition?: T, entityMetadata?: TEntityMeta);
62
+ get labels(): ModelLabels;
63
+ get helper(): IMixinHelper<TName>;
64
+ custom<TInput extends IMixinInput>(input: TInput): ModelSchema<TName, MergeMixins<T, IMixin<TInput>>, TEntityMeta>;
65
+ read<TInput extends InferMixinInput<ReadMixin<TName>>>(input: TInput): ModelSchema<TName, MergeMixins<T, IMixin<TInput>>, TEntityMeta>;
66
+ search<TInput extends InferMixinInput<SearchMixin<TName>>>(input: TInput): ModelSchema<TName, MergeMixins<T, IMixin<TInput>>>;
67
+ write<TInput extends InferMixinInput<WriteMixin<TName>>>(input: TInput): ModelSchema<TName, MergeMixins<T, IMixin<TInput>>>;
68
+ entity<TEntityMeta extends {
69
+ primaryKey: InferPKeyBaseType<T>;
70
+ }>(meta: TEntityMeta): ModelSchema<TName, T, TEntityMeta extends IModelEntityMetadata ? TEntityMeta : undefined>;
71
+ getEntityMetadata(): TEntityMeta;
72
+ }
73
+ export type AnyModelSchema = ModelSchema<any, any, any>;
74
+ export {};
75
+ //# sourceMappingURL=model-schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model-schema.d.ts","sourceRoot":"","sources":["../../../src/schema/model-schema.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=model-schema.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model-schema.test.d.ts","sourceRoot":"","sources":["../../../src/schema/model-schema.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,35 @@
1
+ import type { StandardSchemaV1 } from '@standard-schema/spec';
2
+ import type { JSONSchema } from './json-schema';
3
+ import { type ModelLabels } from './labels';
4
+ export interface ModelValidationOptions {
5
+ strict?: boolean;
6
+ }
7
+ export interface ModelSchemaOptions {
8
+ includePrivateFields?: boolean;
9
+ }
10
+ export declare function getDefaultModelSchemaOptions(): ModelSchemaOptions;
11
+ export declare abstract class Model<TName extends Readonly<string>, TSchema extends StandardSchemaV1> implements StandardSchemaV1<StandardSchemaV1.InferInput<TSchema>, StandardSchemaV1.InferOutput<TSchema>> {
12
+ readonly name: TName;
13
+ /**
14
+ * @warning You may not need to use this property directly.
15
+ * Use the `validate` method instead to ensure proper validation and error handling.
16
+ * Use the `toJSONSchema` method to get the JSON Schema representation for introspection or documentation.
17
+ */
18
+ readonly schema: TSchema;
19
+ constructor(name: TName, schema: TSchema);
20
+ stripExcludedFields(value: StandardSchemaV1.InferInput<TSchema>): StandardSchemaV1.InferInput<TSchema>;
21
+ validate(value: StandardSchemaV1.InferInput<TSchema>, options?: ModelValidationOptions): Promise<StandardSchemaV1.Result<StandardSchemaV1.InferOutput<TSchema>>>;
22
+ get labels(): ModelLabels;
23
+ abstract toJSONSchema(options?: ModelSchemaOptions): JSONSchema;
24
+ get version(): number;
25
+ get '~standard'(): StandardSchemaV1['~standard'];
26
+ }
27
+ export type UnwrapModelSchema<T extends Model<any, any>> = T extends Model<any, infer S> ? S : never;
28
+ export type InferModelOutput<T extends Model<any, any>> = StandardSchemaV1.InferOutput<UnwrapModelSchema<T>>;
29
+ export type InferModelInput<T extends Model<any, any>> = StandardSchemaV1.InferInput<UnwrapModelSchema<T>>;
30
+ export type IAnyModel = Model<Readonly<string>, StandardSchemaV1>;
31
+ export interface IModelHelper<TNameRecommendation extends Readonly<string>> {
32
+ name: TNameRecommendation;
33
+ }
34
+ export type ModelFactory<TName extends Readonly<string>> = (helper: IModelHelper<TName>) => IAnyModel;
35
+ //# sourceMappingURL=model.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../../../src/schema/model.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AAC7D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAE/C,OAAO,EAAa,KAAK,WAAW,EAAE,MAAM,UAAU,CAAA;AAEtD,MAAM,WAAW,sBAAsB;IACnC,MAAM,CAAC,EAAE,OAAO,CAAA;CACnB;AAED,MAAM,WAAW,kBAAkB;IAC/B,oBAAoB,CAAC,EAAE,OAAO,CAAA;CACjC;AAED,wBAAgB,4BAA4B,IAAI,kBAAkB,CAIjE;AAED,8BAAsB,KAAK,CAAC,KAAK,SAAS,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,SAAS,gBAAgB,CACxF,YAAW,gBAAgB,CAAC,gBAAgB,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,gBAAgB,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IAExG,SAAgB,IAAI,EAAE,KAAK,CAAA;IAC3B;;;;OAIG;IACH,SAAgB,MAAM,EAAE,OAAO,CAAA;gBAEnB,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO;IASxC,mBAAmB,CAAC,KAAK,EAAE,gBAAgB,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,gBAAgB,CAAC,UAAU,CAAC,OAAO,CAAC;IAmBhG,QAAQ,CACV,KAAK,EAAE,gBAAgB,CAAC,UAAU,CAAC,OAAO,CAAC,EAC3C,OAAO,CAAC,EAAE,sBAAsB,GACjC,OAAO,CAAC,gBAAgB,CAAC,MAAM,CAAC,gBAAgB,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC;IAkD1E,IAAI,MAAM,IAAI,WAAW,CAExB;IAED,QAAQ,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,kBAAkB,GAAG,UAAU;IAG/D,IAAI,OAAO,IAAI,MAAM,CAEpB;IAGD,IAAI,WAAW,IAAI,gBAAgB,CAAC,WAAW,CAAC,CAM/C;CACJ;AAED,MAAM,MAAM,iBAAiB,CAAC,CAAC,SAAS,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC,SAAS,KAAK,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAA;AACpG,MAAM,MAAM,gBAAgB,CAAC,CAAC,SAAS,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,gBAAgB,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAA;AAC5G,MAAM,MAAM,eAAe,CAAC,CAAC,SAAS,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,gBAAgB,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAA;AAE1G,MAAM,MAAM,SAAS,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,gBAAgB,CAAC,CAAA;AAEjE,MAAM,WAAW,YAAY,CAAC,mBAAmB,SAAS,QAAQ,CAAC,MAAM,CAAC;IACtE,IAAI,EAAE,mBAAmB,CAAA;CAC5B;AAED,MAAM,MAAM,YAAY,CAAC,KAAK,SAAS,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,YAAY,CAAC,KAAK,CAAC,KAAK,SAAS,CAAA"}
@@ -0,0 +1,24 @@
1
+ import { type IAnyModel, type ModelFactory } from './model';
2
+ export interface IAnyMixin {
3
+ [key: string]: IAnyModel;
4
+ }
5
+ export type IMixin<TInput extends IMixinInput> = {
6
+ [K in keyof TInput]: TInput[K] extends ModelFactory<any> ? ReturnType<TInput[K]> : never;
7
+ };
8
+ export interface IMixinInput {
9
+ [key: string]: ModelFactory<any>;
10
+ }
11
+ export interface IMixinHelper<TName extends Readonly<string>> {
12
+ name: TName;
13
+ }
14
+ export type IMixinHelpers<TMixin extends IMixinInput> = {
15
+ [K in keyof TMixin]: TMixin[K] extends ModelFactory<infer TName> ? IMixinHelper<TName> : never;
16
+ };
17
+ export declare function buildMixin<TMixin extends IMixinHelpers<any>>(helpers: TMixin, input: InferMixinInput<TMixin>): IMixin<InferMixinInput<TMixin>>;
18
+ export type MixinFn<THelpers extends IMixinHelpers<any>> = <TName extends Readonly<string>>(helper: IMixinHelper<TName>) => THelpers;
19
+ export declare function defineMixin<TInput extends IMixinHelpers<any>, Fn extends MixinFn<TInput>>(fn: Fn): Fn;
20
+ export type InferMixinInput<T extends IMixinHelpers<any>> = {
21
+ [K in keyof T]: T[K] extends IMixinHelper<infer TName> ? ModelFactory<TName> : never;
22
+ };
23
+ export type InferMixinSchema<TMixin extends IMixinHelpers<any>> = IMixin<InferMixinInput<TMixin>>;
24
+ //# sourceMappingURL=schema-mixin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema-mixin.d.ts","sourceRoot":"","sources":["../../../src/schema/schema-mixin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAE,KAAK,YAAY,EAAE,MAAM,SAAS,CAAA;AAE3D,MAAM,WAAW,SAAS;IACtB,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,CAAA;CAC3B;AAED,MAAM,MAAM,MAAM,CAAC,MAAM,SAAS,WAAW,IAAI;KAC5C,CAAC,IAAI,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,SAAS,YAAY,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK;CAC3F,CAAA;AAED,MAAM,WAAW,WAAW;IACxB,CAAC,GAAG,EAAE,MAAM,GAAG,YAAY,CAAC,GAAG,CAAC,CAAA;CACnC;AAED,MAAM,WAAW,YAAY,CAAC,KAAK,SAAS,QAAQ,CAAC,MAAM,CAAC;IACxD,IAAI,EAAE,KAAK,CAAA;CACd;AAED,MAAM,MAAM,aAAa,CAAC,MAAM,SAAS,WAAW,IAAI;KACnD,CAAC,IAAI,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,SAAS,YAAY,CAAC,MAAM,KAAK,CAAC,GAAG,YAAY,CAAC,KAAK,CAAC,GAAG,KAAK;CACjG,CAAA;AAED,wBAAgB,UAAU,CAAC,MAAM,SAAS,aAAa,CAAC,GAAG,CAAC,EACxD,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,eAAe,CAAC,MAAM,CAAC,GAC/B,MAAM,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAWjC;AAED,MAAM,MAAM,OAAO,CAAC,QAAQ,SAAS,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,SAAS,QAAQ,CAAC,MAAM,CAAC,EACtF,MAAM,EAAE,YAAY,CAAC,KAAK,CAAC,KAC1B,QAAQ,CAAA;AAEb,wBAAgB,WAAW,CAAC,MAAM,SAAS,aAAa,CAAC,GAAG,CAAC,EAAE,EAAE,SAAS,OAAO,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,MAEhG;AAED,MAAM,MAAM,eAAe,CAAC,CAAC,SAAS,aAAa,CAAC,GAAG,CAAC,IAAI;KACvD,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,YAAY,CAAC,MAAM,KAAK,CAAC,GAAG,YAAY,CAAC,KAAK,CAAC,GAAG,KAAK;CACvF,CAAA;AAED,MAAM,MAAM,gBAAgB,CAAC,MAAM,SAAS,aAAa,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAA"}
@@ -0,0 +1,8 @@
1
+ import type { $ZodType } from 'zod/v4/core';
2
+ import type { JSONSchema } from '../json-schema';
3
+ import { Model, type ModelSchemaOptions } from '../model';
4
+ export declare class MockModel<TName extends Readonly<string>, TSchema extends $ZodType<any>> extends Model<TName, TSchema> {
5
+ constructor(name: TName, schema: TSchema);
6
+ toJSONSchema(options?: ModelSchemaOptions): JSONSchema;
7
+ }
8
+ //# sourceMappingURL=mock-model.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mock-model.d.ts","sourceRoot":"","sources":["../../../../src/schema/test/mock-model.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAC3C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAChD,OAAO,EAAE,KAAK,EAAE,KAAK,kBAAkB,EAAE,MAAM,UAAU,CAAA;AAGzD,qBAAa,SAAS,CAAC,KAAK,SAAS,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,SAAS,QAAQ,CAAC,GAAG,CAAC,CAAE,SAAQ,KAAK,CAAC,KAAK,EAAE,OAAO,CAAC;gBACnG,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO;IAIxC,YAAY,CAAC,OAAO,CAAC,EAAE,kBAAkB,GAAG,UAAU;CAOzD"}
@@ -0,0 +1,34 @@
1
+ /**
2
+ * Base scope interfaces for @declaro/core
3
+ *
4
+ * Users can augment these interfaces by creating their own declaration file:
5
+ *
6
+ * ```typescript
7
+ * // types/scope.d.ts
8
+ * declare module '#scope' {
9
+ * interface AppScope {
10
+ * // Add your app-level scope properties
11
+ * config: MyAppConfig
12
+ * }
13
+ *
14
+ * interface RequestScope {
15
+ * // Add your request-level scope properties
16
+ * user: User
17
+ * }
18
+ * }
19
+ * ```
20
+ */
21
+ /**
22
+ * Base application scope interface.
23
+ * This represents data that is available throughout the entire application lifecycle.
24
+ */
25
+ export interface AppScope {
26
+ }
27
+ /**
28
+ * Base request scope interface.
29
+ * This represents data that is available for the duration of a single request.
30
+ * Extends AppScope to inherit application-level data.
31
+ */
32
+ export interface RequestScope extends AppScope {
33
+ }
34
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/scope/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH;;;GAGG;AACH,MAAM,WAAW,QAAQ;CAAG;AAE5B;;;;GAIG;AACH,MAAM,WAAW,YAAa,SAAQ,QAAQ;CAAG"}
@@ -0,0 +1,28 @@
1
+ export interface IActionDescriptorInput {
2
+ namespace?: string;
3
+ resource?: string;
4
+ action?: string;
5
+ scope?: string;
6
+ }
7
+ export interface IActionDescriptor {
8
+ namespace: string;
9
+ resource: string;
10
+ action: string;
11
+ scope?: string;
12
+ }
13
+ export declare class ActionDescriptor implements IActionDescriptor {
14
+ protected readonly descriptor: IActionDescriptorInput;
15
+ constructor(input: IActionDescriptorInput);
16
+ update(input: IActionDescriptorInput): this;
17
+ get namespace(): string;
18
+ get resource(): string;
19
+ get action(): string;
20
+ get scope(): string | undefined;
21
+ toString(): string;
22
+ toJSON(): IActionDescriptor;
23
+ parse(input: string): ActionDescriptor;
24
+ static fromString(input: string): ActionDescriptor;
25
+ static fromJSON(json: IActionDescriptorInput): ActionDescriptor;
26
+ protected parameterize(string?: string): string | undefined;
27
+ }
28
+ //# sourceMappingURL=action-descriptor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"action-descriptor.d.ts","sourceRoot":"","sources":["../../../../src/shared/utils/action-descriptor.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,sBAAsB;IACnC,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,KAAK,CAAC,EAAE,MAAM,CAAA;CACjB;AAED,MAAM,WAAW,iBAAiB;IAC9B,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,CAAC,EAAE,MAAM,CAAA;CACjB;AAED,qBAAa,gBAAiB,YAAW,iBAAiB;IACtD,SAAS,CAAC,QAAQ,CAAC,UAAU,EAAE,sBAAsB,CAAA;gBAEzC,KAAK,EAAE,sBAAsB;IAKzC,MAAM,CAAC,KAAK,EAAE,sBAAsB;IASpC,IAAI,SAAS,IAAI,MAAM,CAEtB;IAED,IAAI,QAAQ,IAAI,MAAM,CAErB;IAED,IAAI,MAAM,IAAI,MAAM,CAEnB;IAED,IAAI,KAAK,IAAI,MAAM,GAAG,SAAS,CAE9B;IAED,QAAQ,IAAI,MAAM;IAIlB,MAAM,IAAI,iBAAiB;IAS3B,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,gBAAgB;IAwBtC,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,gBAAgB;IAKlD,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,sBAAsB,GAAG,gBAAgB;IAI/D,SAAS,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,MAAM;CAMzC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=action-descriptor.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"action-descriptor.test.d.ts","sourceRoot":"","sources":["../../../../src/shared/utils/action-descriptor.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ import type { JSONSchema } from '../../schema/json-schema';
2
+ export declare function stripPrivateFieldsFromSchema(schema: JSONSchema): JSONSchema;
3
+ //# sourceMappingURL=schema-utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema-utils.d.ts","sourceRoot":"","sources":["../../../../src/shared/utils/schema-utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAE1D,wBAAgB,4BAA4B,CAAC,MAAM,EAAE,UAAU,GAAG,UAAU,CAc3E"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=schema-utils.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema-utils.test.d.ts","sourceRoot":"","sources":["../../../../src/shared/utils/schema-utils.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,36 @@
1
+ /**
2
+ * Browser polyfill for Node's AsyncLocalStorage.
3
+ *
4
+ * ## How it works
5
+ *
6
+ * Each AsyncLocalStorage instance has a unique Symbol as its "column" ID.
7
+ * The currently active state is a single `Map<symbol, unknown>` called a
8
+ * _frame_, where each column holds the value for one ALS instance.
9
+ *
10
+ * `run()` creates a new frame (a shallow copy of the parent frame with this
11
+ * instance's value set), makes it active for the duration of `fn`, then
12
+ * restores the previous frame in a `finally` block.
13
+ *
14
+ * Multiple ALS instances are fully isolated from each other within the same
15
+ * frame: `als1.run()` only writes to its own column and does not affect any
16
+ * other instance's column.
17
+ *
18
+ * ## Browser limitation
19
+ *
20
+ * Because browsers have no native async-context hook, the frame is propagated
21
+ * only within the synchronous call stack of `fn`. Any code that runs after an
22
+ * `await` boundary cannot see the frame that was active when the `await` was
23
+ * encountered. For true async propagation in the browser, use Zone.js or the
24
+ * forthcoming `AsyncContext` TC39 API.
25
+ */
26
+ export declare class AsyncLocalStorage<T = any> {
27
+ #private;
28
+ getStore(): T | undefined;
29
+ run<R>(store: T, fn: (...args: any[]) => R, ...args: any[]): R;
30
+ exit<R>(fn: (...args: any[]) => R, ...args: any[]): R;
31
+ enterWith(store: T): void;
32
+ disable(): void;
33
+ static bind<F extends (...args: any[]) => any>(fn: F): F;
34
+ static snapshot(): <R>(fn: (...args: any[]) => R, ...args: any[]) => R;
35
+ }
36
+ //# sourceMappingURL=async-local-storage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"async-local-storage.d.ts","sourceRoot":"","sources":["../../../src/shims/async-local-storage.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAQH,qBAAa,iBAAiB,CAAC,CAAC,GAAG,GAAG;;IAIlC,QAAQ,IAAI,CAAC,GAAG,SAAS;IAIzB,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC;IAW9D,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC;IAWrD,SAAS,CAAC,KAAK,EAAE,CAAC,GAAG,IAAI;IAMzB,OAAO,IAAI,IAAI;IAMf,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC;IAIxD,MAAM,CAAC,QAAQ,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC;CAGzE"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=async-local-storage.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"async-local-storage.test.d.ts","sourceRoot":"","sources":["../../../src/shims/async-local-storage.test.ts"],"names":[],"mappings":""}
@@ -1 +1,2 @@
1
1
  export declare function sleep(duration: number): Promise<unknown>;
2
+ //# sourceMappingURL=timing.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"timing.d.ts","sourceRoot":"","sources":["../../src/timing.ts"],"names":[],"mappings":"AAAA,wBAAsB,KAAK,CAAC,QAAQ,EAAE,MAAM,oBAM3C"}
@@ -4,3 +4,4 @@
4
4
  export type ExcludeFirstItem<T extends any[]> = T extends [any, ...infer U] ? U : never;
5
5
  declare const _default: {};
6
6
  export default _default;
7
+ //# sourceMappingURL=arrays.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"arrays.d.ts","sourceRoot":"","sources":["../../../src/typescript/arrays.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,MAAM,gBAAgB,CAAC,CAAC,SAAS,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,CAAC,GACrE,CAAC,GACD,KAAK,CAAA;;AACX,wBAAiB"}
@@ -3,3 +3,4 @@ export declare abstract class BaseModel<TId> {
3
3
  abstract id?: TId;
4
4
  }
5
5
  export type BaseModelClass<T> = new (values?: Partial<T>) => T;
6
+ //# sourceMappingURL=baseModel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"baseModel.d.ts","sourceRoot":"","sources":["../../../src/typescript/baseModel.ts"],"names":[],"mappings":"AAAA,8BAAsB,SAAS,CAAC,GAAG;;IAG/B,QAAQ,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC;CACrB;AAED,MAAM,MAAM,cAAc,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC"}
@@ -1,3 +1,4 @@
1
1
  export type Class<T extends {} = {}, A extends any[] = any[]> = {
2
2
  new (...args: A): T;
3
3
  };
4
+ //# sourceMappingURL=classes.d.ts.map