@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,69 @@
1
+ var __create = Object.create;
2
+ var __getProtoOf = Object.getPrototypeOf;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ function __accessProp(key) {
8
+ return this[key];
9
+ }
10
+ var __toESMCache_node;
11
+ var __toESMCache_esm;
12
+ var __toESM = (mod, isNodeMode, target) => {
13
+ var canCache = mod != null && typeof mod === "object";
14
+ if (canCache) {
15
+ var cache = isNodeMode ? __toESMCache_node ??= new WeakMap : __toESMCache_esm ??= new WeakMap;
16
+ var cached = cache.get(mod);
17
+ if (cached)
18
+ return cached;
19
+ }
20
+ target = mod != null ? __create(__getProtoOf(mod)) : {};
21
+ const to = isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target;
22
+ for (let key of __getOwnPropNames(mod))
23
+ if (!__hasOwnProp.call(to, key))
24
+ __defProp(to, key, {
25
+ get: __accessProp.bind(mod, key),
26
+ enumerable: true
27
+ });
28
+ if (canCache)
29
+ cache.set(mod, to);
30
+ return to;
31
+ };
32
+ var __toCommonJS = (from) => {
33
+ var entry = (__moduleCache ??= new WeakMap).get(from), desc;
34
+ if (entry)
35
+ return entry;
36
+ entry = __defProp({}, "__esModule", { value: true });
37
+ if (from && typeof from === "object" || typeof from === "function") {
38
+ for (var key of __getOwnPropNames(from))
39
+ if (!__hasOwnProp.call(entry, key))
40
+ __defProp(entry, key, {
41
+ get: __accessProp.bind(from, key),
42
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
43
+ });
44
+ }
45
+ __moduleCache.set(from, entry);
46
+ return entry;
47
+ };
48
+ var __moduleCache;
49
+ var __commonJS = (cb, mod) => () => (mod || cb((mod = { exports: {} }).exports, mod), mod.exports);
50
+ var __returnValue = (v) => v;
51
+ function __exportSetter(name, newValue) {
52
+ this[name] = __returnValue.bind(null, newValue);
53
+ }
54
+ var __export = (target, all) => {
55
+ for (var name in all)
56
+ __defProp(target, name, {
57
+ get: all[name],
58
+ enumerable: true,
59
+ configurable: true,
60
+ set: __exportSetter.bind(all, name)
61
+ });
62
+ };
63
+
64
+ // src/scope/index.ts
65
+ var exports_scope = {};
66
+ module.exports = __toCommonJS(exports_scope);
67
+
68
+ //# debugId=CF57D37C2EF99C7064756E2164756E21
69
+ //# sourceMappingURL=index.cjs.map
@@ -0,0 +1,9 @@
1
+ {
2
+ "version": 3,
3
+ "sources": [],
4
+ "sourcesContent": [
5
+ ],
6
+ "mappings": "",
7
+ "debugId": "CF57D37C2EF99C7064756E2164756E21",
8
+ "names": []
9
+ }
@@ -0,0 +1,3 @@
1
+
2
+ //# debugId=136023E5B7D33CB064756E2164756E21
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,9 @@
1
+ {
2
+ "version": 3,
3
+ "sources": [],
4
+ "sourcesContent": [
5
+ ],
6
+ "mappings": "",
7
+ "debugId": "136023E5B7D33CB064756E2164756E21",
8
+ "names": []
9
+ }
@@ -0,0 +1,9 @@
1
+ import { Context, type DeclaroRequestScope } from '../context/context';
2
+ /**
3
+ * Get the name of the app making the current request via header x-app. (returns "default" when no app was provided).
4
+ *
5
+ * @param context A context that includes DeclaroRequestScope properties
6
+ * @returns the name of the app in a string.
7
+ */
8
+ export declare function useApp<S extends DeclaroRequestScope>(context: Context<S>): string | string[];
9
+ //# sourceMappingURL=app-context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app-context.d.ts","sourceRoot":"","sources":["../../../src/app/app-context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,KAAK,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;AAEtE;;;;;GAKG;AACH,wBAAgB,MAAM,CAAC,CAAC,SAAS,mBAAmB,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,qBAIxE"}
@@ -0,0 +1,6 @@
1
+ import { Context, type ContextListener } from '../context/context';
2
+ import type { IEvent } from '../events';
3
+ export declare function onInit<C extends Context>(context: C, listener: ContextListener<C, IEvent>): void;
4
+ export declare function onStart<C extends Context>(context: C, listener: ContextListener<C, IEvent>): void;
5
+ export declare function onDestroy<C extends Context>(context: C, listener: ContextListener<C, IEvent>): void;
6
+ //# sourceMappingURL=app-lifecycle.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app-lifecycle.d.ts","sourceRoot":"","sources":["../../../src/app/app-lifecycle.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,oBAAoB,CAAA;AAClE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AAGvC,wBAAgB,MAAM,CAAC,CAAC,SAAS,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,QAAQ,EAAE,eAAe,CAAC,CAAC,EAAE,MAAM,CAAC,QAEzF;AAED,wBAAgB,OAAO,CAAC,CAAC,SAAS,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,QAAQ,EAAE,eAAe,CAAC,CAAC,EAAE,MAAM,CAAC,QAE1F;AAED,wBAAgB,SAAS,CAAC,CAAC,SAAS,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,QAAQ,EAAE,eAAe,CAAC,CAAC,EAAE,MAAM,CAAC,QAE5F"}
@@ -0,0 +1,24 @@
1
+ import { Context, type ContextMiddleware, type ContextListener } from '../context/context';
2
+ import type { IEvent } from '../events';
3
+ export type AppConfig = {
4
+ context?: Context;
5
+ init?: ContextMiddleware;
6
+ start?: ContextMiddleware;
7
+ destroy?: ContextMiddleware;
8
+ };
9
+ export declare class App<C extends Context = Context> {
10
+ readonly context: C;
11
+ constructor(context: C);
12
+ static Events: {
13
+ Init: string;
14
+ Start: string;
15
+ Destroy: string;
16
+ };
17
+ init(): Promise<void>;
18
+ onInit(listener: ContextListener<C, IEvent>): this;
19
+ start(): Promise<void>;
20
+ onStart(listener: ContextListener<C, IEvent>): void;
21
+ destroy(): Promise<void>;
22
+ onDestroy(listener: ContextListener<C, IEvent>): void;
23
+ }
24
+ //# sourceMappingURL=app.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../../../src/app/app.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,KAAK,iBAAiB,EAAE,KAAK,eAAe,EAAE,MAAM,oBAAoB,CAAA;AAC1F,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AAGvC,MAAM,MAAM,SAAS,GAAG;IACpB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,IAAI,CAAC,EAAE,iBAAiB,CAAA;IACxB,KAAK,CAAC,EAAE,iBAAiB,CAAA;IACzB,OAAO,CAAC,EAAE,iBAAiB,CAAA;CAC9B,CAAA;AAED,qBAAa,GAAG,CAAC,CAAC,SAAS,OAAO,GAAG,OAAO;aACZ,OAAO,EAAE,CAAC;gBAAV,OAAO,EAAE,CAAC;IAEtC,MAAM,CAAC,MAAM;;;;MAIZ;IAEK,IAAI;IAKV,MAAM,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC,EAAE,MAAM,CAAC;IAKrC,KAAK;IAIX,OAAO,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC,EAAE,MAAM,CAAC;IAKtC,OAAO;IAIb,SAAS,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC,EAAE,MAAM,CAAC;CAGjD"}
@@ -1,3 +1,4 @@
1
1
  export * from './app-context';
2
2
  export * from './app-lifecycle';
3
3
  export * from './app';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/app/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAA;AAC7B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,OAAO,CAAA"}
@@ -0,0 +1,4 @@
1
+ import { Context, type DeclaroRequestScope, type DeclaroScope } from '../context/context';
2
+ import { type Request } from '../http/request';
3
+ export declare function createRequestContext<S extends DeclaroScope>(appContext: Context<S>, request: Request): Promise<Context<DeclaroRequestScope>>;
4
+ //# sourceMappingURL=create-request-context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-request-context.d.ts","sourceRoot":"","sources":["../../../src/application/create-request-context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,KAAK,mBAAmB,EAAE,KAAK,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACzF,OAAO,EAAkB,KAAK,OAAO,EAAE,MAAM,iBAAiB,CAAA;AAE9D,wBAAsB,oBAAoB,CAAC,CAAC,SAAS,YAAY,EAC7D,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC,EACtB,OAAO,EAAE,OAAO,GACjB,OAAO,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC,CAYvC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=create-request-context.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-request-context.test.d.ts","sourceRoot":"","sources":["../../../src/application/create-request-context.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ import type { Context, DeclaroScope } from '../context/context';
2
+ export declare function useDeclaro(): <S extends DeclaroScope>(context: Context<S>) => Promise<void>;
3
+ //# sourceMappingURL=use-declaro.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-declaro.d.ts","sourceRoot":"","sources":["../../../src/application/use-declaro.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAG/D,wBAAgB,UAAU,KACR,CAAC,SAAS,YAAY,EAAE,SAAS,OAAO,CAAC,CAAC,CAAC,mBAqB5D"}
@@ -32,3 +32,4 @@ export declare class PermissionValidator {
32
32
  validate(permissions?: string[]): boolean;
33
33
  safeValidate(permissions?: string[]): PermissionValidationResults;
34
34
  }
35
+ //# sourceMappingURL=permission-validator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"permission-validator.d.ts","sourceRoot":"","sources":["../../../src/auth/permission-validator.ts"],"names":[],"mappings":"AAEA,oBAAY,kBAAkB;IAC1B,MAAM,WAAW;IACjB,OAAO,YAAY;IACnB,OAAO,YAAY;CACtB;AAED,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,mBAAmB,CAAA;AAEzD,MAAM,MAAM,cAAc,GAAG;IACzB,IAAI,EAAE,kBAAkB,CAAA;IACxB,WAAW,EAAE,cAAc,EAAE,CAAA;IAC7B,YAAY,EAAE,MAAM,CAAA;CACvB,CAAA;AAED,qBAAa,eAAgB,SAAQ,KAAK;IACF,IAAI,EAAE,cAAc;IAAS,WAAW,EAAE,cAAc,EAAE;gBAAlF,OAAO,EAAE,MAAM,EAAS,IAAI,EAAE,cAAc,EAAS,WAAW,EAAE,cAAc,EAAE;CAGjG;AAED,MAAM,MAAM,2BAA2B,GAAG;IACtC,KAAK,EAAE,OAAO,CAAA;IACd,YAAY,EAAE,MAAM,CAAA;IACpB,MAAM,EAAE,eAAe,EAAE,CAAA;CAC5B,CAAA;AAED,qBAAa,mBAAmB;IAC5B,QAAQ,CAAC,KAAK,EAAE,cAAc,EAAE,CAAK;IACrC,MAAM,CAAC,MAAM;IAIb,OAAO,CAAC,GAAG,IAAI,EAAE,cAAc,EAAE;IAKjC,MAAM,CAAC,GAAG,UAAU,EAAE,mBAAmB,EAAE;IAO3C,KAAK,CAAC,WAAW,EAAE,cAAc,EAAE,EAAE,YAAY,GAAE,MAAmD;IAStG,MAAM,CAAC,WAAW,EAAE,cAAc,EAAE,EAAE,YAAY,GAAE,MAAyC;IAS7F,MAAM,CAAC,WAAW,EAAE,cAAc,EAAE,EAAE,YAAY,GAAE,MAA0D;IAS9G,OAAO,CAAC,YAAY;IAYpB,OAAO,CAAC,aAAa;IAUrB,QAAQ,CAAC,WAAW,GAAE,MAAM,EAAO;IAYnC,YAAY,CAAC,WAAW,GAAE,MAAM,EAAO,GAAG,2BAA2B;CA2BxE"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=permission-validator.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"permission-validator.test.d.ts","sourceRoot":"","sources":["../../../src/auth/permission-validator.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,54 @@
1
+ import type { Context } from './context';
2
+ /**
3
+ * Minimal interface for the storage backing `withContext` / `useContext`.
4
+ * Satisfied by Node's native `AsyncLocalStorage` and by the browser shim.
5
+ */
6
+ export interface AsyncContextStorage<C extends Context = Context> {
7
+ run<R>(store: C, fn: (...args: any[]) => R, ...args: any[]): R;
8
+ getStore(): C | undefined;
9
+ }
10
+ export interface UseContextOptions {
11
+ strict?: boolean;
12
+ }
13
+ /**
14
+ * Create a `withContext` / `useContext` pair backed by the given storage.
15
+ *
16
+ * The generic type parameter `C` fixes the context type enforced by both
17
+ * functions, keeping the pair consistent. If no storage is provided, a new
18
+ * `AsyncLocalStorage<C>` is created automatically — in browser builds this
19
+ * resolves to the synchronous shim, so callers don't need to think about it.
20
+ *
21
+ * Pass a custom storage explicitly when you need an alternative
22
+ * implementation (e.g. a test spy or the browser shim in a test environment):
23
+ *
24
+ * @example Default (auto-polyfilled in browser builds)
25
+ * ```ts
26
+ * const { withContext, useContext } = createContextAPI<MyContext>()
27
+ * ```
28
+ *
29
+ * @example Custom storage (for testing or advanced use)
30
+ * ```ts
31
+ * import { AsyncLocalStorage } from '../shims/async-local-storage'
32
+ * const { withContext, useContext } = createContextAPI<MyContext>(new AsyncLocalStorage())
33
+ * ```
34
+ */
35
+ export declare function createContextAPI<C extends Context = Context>(storage?: AsyncContextStorage<C>): {
36
+ withContext: <T = unknown>(context: C, fn: () => T) => T;
37
+ useContext: {
38
+ <U extends C = C>(options?: {
39
+ strict?: false;
40
+ }): U | null;
41
+ <U extends C = C>(options: {
42
+ strict: true;
43
+ }): U;
44
+ };
45
+ };
46
+ export declare const withContext: <T = unknown>(context: Context<any>, fn: () => T) => T, useContext: {
47
+ <U extends Context<any> = Context<any>>(options?: {
48
+ strict?: false;
49
+ } | undefined): U | null;
50
+ <U extends Context<any> = Context<any>>(options: {
51
+ strict: true;
52
+ }): U;
53
+ };
54
+ //# sourceMappingURL=async-context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"async-context.d.ts","sourceRoot":"","sources":["../../../src/context/async-context.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAExC;;;GAGG;AACH,MAAM,WAAW,mBAAmB,CAAC,CAAC,SAAS,OAAO,GAAG,OAAO;IAC5D,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,CAAA;IAC9D,QAAQ,IAAI,CAAC,GAAG,SAAS,CAAA;CAC5B;AAED,MAAM,WAAW,iBAAiB;IAC9B,MAAM,CAAC,EAAE,OAAO,CAAA;CACnB;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,OAAO,GAAG,OAAO,EAAE,OAAO,CAAC,EAAE,mBAAmB,CAAC,CAAC,CAAC;kBA6CrE,CAAC,qBAAqB,CAAC,MAAM,MAAM,CAAC,KAAG,CAAC;;SA2BzC,CAAC,SAAS,CAAC,gBAAgB;YAAE,MAAM,CAAC,EAAE,KAAK,CAAA;SAAE,GAAG,CAAC,GAAG,IAAI;SACxD,CAAC,SAAS,CAAC,eAAe;YAAE,MAAM,EAAE,IAAI,CAAA;SAAE,GAAG,CAAC;;EAYrE;AAKD,eAAO,MAAQ,WAAW,GA7CD,CAAC,sDA6CE,UAAU;KAlBd,CAAC;iBAAqC,KAAK;;KAC3C,CAAC;gBAAmC,IAAI;;CAiBM,CAAA"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=async-context.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"async-context.test.d.ts","sourceRoot":"","sources":["../../../src/context/async-context.test.ts"],"names":[],"mappings":""}
@@ -1,5 +1,9 @@
1
1
  import { Context } from './context';
2
+ /**
3
+ * @deprecated Inject dependencies directly into the constructor of the class that needs them.
4
+ */
2
5
  export declare class ContextConsumer<C extends Context = Context, A extends any[] = any[]> {
3
6
  protected readonly context: C;
4
7
  constructor(context: C, ...args: A);
5
8
  }
9
+ //# sourceMappingURL=context-consumer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context-consumer.d.ts","sourceRoot":"","sources":["../../../src/context/context-consumer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAEnC;;GAEG;AACH,qBAAa,eAAe,CAAC,CAAC,SAAS,OAAO,GAAG,OAAO,EAAE,CAAC,SAAS,GAAG,EAAE,GAAG,GAAG,EAAE;IACjE,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;gBAAV,OAAO,EAAE,CAAC,EAAE,GAAG,IAAI,EAAE,CAAC;CACxD"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=context.circular-deps.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.circular-deps.test.d.ts","sourceRoot":"","sources":["../../../src/context/context.circular-deps.test.ts"],"names":[],"mappings":""}