nmtjs 0.15.0-beta.2 → 0.15.0-beta.21

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 (254) hide show
  1. package/dist/cli.d.ts +2 -0
  2. package/dist/cli.js +3 -2
  3. package/dist/cli.js.map +1 -0
  4. package/dist/config.d.ts +51 -0
  5. package/dist/config.js +1 -0
  6. package/dist/config.js.map +1 -0
  7. package/dist/entrypoints/cli.d.ts +1 -0
  8. package/dist/entrypoints/cli.js +1 -0
  9. package/dist/entrypoints/cli.js.map +1 -0
  10. package/dist/entrypoints/main.d.ts +5 -0
  11. package/dist/entrypoints/main.js +83 -15
  12. package/dist/entrypoints/main.js.map +1 -0
  13. package/dist/entrypoints/thread.d.ts +14 -0
  14. package/dist/entrypoints/thread.js +130 -24
  15. package/dist/entrypoints/thread.js.map +1 -0
  16. package/dist/entrypoints/worker.d.ts +3 -0
  17. package/dist/entrypoints/worker.js +4 -3
  18. package/dist/entrypoints/worker.js.map +1 -0
  19. package/dist/index.d.ts +69 -0
  20. package/dist/{_exports/index.js → index.js} +9 -5
  21. package/dist/index.js.map +1 -0
  22. package/dist/resolver.d.ts +2 -0
  23. package/dist/resolver.js +1 -0
  24. package/dist/resolver.js.map +1 -0
  25. package/dist/runtime/application/api/api.d.ts +49 -0
  26. package/dist/runtime/application/api/api.js +193 -0
  27. package/dist/runtime/application/api/api.js.map +1 -0
  28. package/dist/runtime/application/api/constants.d.ts +14 -0
  29. package/dist/runtime/application/api/constants.js +8 -0
  30. package/dist/runtime/application/api/constants.js.map +1 -0
  31. package/dist/runtime/application/api/filters.d.ts +14 -0
  32. package/dist/runtime/application/api/filters.js +11 -0
  33. package/dist/runtime/application/api/filters.js.map +1 -0
  34. package/dist/runtime/application/api/guards.d.ts +13 -0
  35. package/dist/runtime/application/api/guards.js +8 -0
  36. package/dist/runtime/application/api/guards.js.map +1 -0
  37. package/dist/runtime/application/api/index.d.ts +8 -0
  38. package/dist/runtime/application/api/index.js +9 -0
  39. package/dist/runtime/application/api/index.js.map +1 -0
  40. package/dist/runtime/application/api/middlewares.d.ts +14 -0
  41. package/dist/runtime/application/api/middlewares.js +12 -0
  42. package/dist/runtime/application/api/middlewares.js.map +1 -0
  43. package/dist/runtime/application/api/procedure.d.ts +67 -0
  44. package/dist/runtime/application/api/procedure.js +50 -0
  45. package/dist/runtime/application/api/procedure.js.map +1 -0
  46. package/dist/runtime/application/api/router.d.ts +71 -0
  47. package/dist/runtime/application/api/router.js +51 -0
  48. package/dist/runtime/application/api/router.js.map +1 -0
  49. package/dist/runtime/application/api/types.d.ts +32 -0
  50. package/dist/runtime/application/api/types.js +2 -0
  51. package/dist/runtime/application/api/types.js.map +1 -0
  52. package/dist/runtime/application/config.d.ts +26 -0
  53. package/dist/runtime/application/config.js +21 -0
  54. package/dist/runtime/application/config.js.map +1 -0
  55. package/dist/runtime/application/constants.d.ts +2 -0
  56. package/dist/runtime/application/constants.js +2 -0
  57. package/dist/runtime/application/constants.js.map +1 -0
  58. package/dist/runtime/application/hook.d.ts +19 -0
  59. package/dist/runtime/application/hook.js +11 -0
  60. package/dist/runtime/application/hook.js.map +1 -0
  61. package/dist/runtime/application/hooks.d.ts +3 -0
  62. package/dist/runtime/application/hooks.js +4 -0
  63. package/dist/runtime/application/hooks.js.map +1 -0
  64. package/dist/runtime/application/index.d.ts +5 -0
  65. package/dist/runtime/application/index.js +6 -0
  66. package/dist/runtime/application/index.js.map +1 -0
  67. package/dist/runtime/constants.d.ts +8 -0
  68. package/dist/runtime/constants.js +5 -0
  69. package/dist/runtime/constants.js.map +1 -0
  70. package/dist/runtime/core/hooks.d.ts +4 -0
  71. package/dist/runtime/core/hooks.js +4 -0
  72. package/dist/runtime/core/hooks.js.map +1 -0
  73. package/dist/runtime/core/plugin.d.ts +8 -0
  74. package/dist/runtime/core/plugin.js +4 -0
  75. package/dist/runtime/core/plugin.js.map +1 -0
  76. package/dist/runtime/core/runtime.d.ts +27 -0
  77. package/dist/runtime/core/runtime.js +81 -0
  78. package/dist/runtime/core/runtime.js.map +1 -0
  79. package/dist/runtime/enums.d.ts +21 -0
  80. package/dist/runtime/enums.js +26 -0
  81. package/dist/runtime/enums.js.map +1 -0
  82. package/dist/runtime/index.d.ts +21 -0
  83. package/dist/runtime/index.js +22 -0
  84. package/dist/runtime/index.js.map +1 -0
  85. package/dist/runtime/injectables.d.ts +23 -0
  86. package/dist/runtime/injectables.js +20 -0
  87. package/dist/runtime/injectables.js.map +1 -0
  88. package/dist/runtime/jobs/job.d.ts +132 -0
  89. package/dist/runtime/jobs/job.js +68 -0
  90. package/dist/runtime/jobs/job.js.map +1 -0
  91. package/dist/runtime/jobs/manager.d.ts +113 -0
  92. package/dist/runtime/jobs/manager.js +210 -0
  93. package/dist/runtime/jobs/manager.js.map +1 -0
  94. package/dist/runtime/jobs/router.d.ts +266 -0
  95. package/dist/runtime/jobs/router.js +432 -0
  96. package/dist/runtime/jobs/router.js.map +1 -0
  97. package/dist/runtime/jobs/runner.d.ts +64 -0
  98. package/dist/runtime/jobs/runner.js +256 -0
  99. package/dist/runtime/jobs/runner.js.map +1 -0
  100. package/dist/runtime/jobs/step.d.ts +23 -0
  101. package/dist/runtime/jobs/step.js +18 -0
  102. package/dist/runtime/jobs/step.js.map +1 -0
  103. package/dist/runtime/jobs/ui.d.ts +3 -0
  104. package/dist/runtime/jobs/ui.js +17 -0
  105. package/dist/runtime/jobs/ui.js.map +1 -0
  106. package/dist/runtime/pubsub/manager.d.ts +48 -0
  107. package/dist/runtime/pubsub/manager.js +119 -0
  108. package/dist/runtime/pubsub/manager.js.map +1 -0
  109. package/dist/runtime/pubsub/redis.d.ts +16 -0
  110. package/dist/runtime/pubsub/redis.js +98 -0
  111. package/dist/runtime/pubsub/redis.js.map +1 -0
  112. package/dist/runtime/scheduler/index.d.ts +22 -0
  113. package/dist/runtime/scheduler/index.js +20 -0
  114. package/dist/runtime/scheduler/index.js.map +1 -0
  115. package/dist/runtime/server/applications.d.ts +52 -0
  116. package/dist/runtime/server/applications.js +133 -0
  117. package/dist/runtime/server/applications.js.map +1 -0
  118. package/dist/runtime/server/config.d.ts +121 -0
  119. package/dist/runtime/server/config.js +33 -0
  120. package/dist/runtime/server/config.js.map +1 -0
  121. package/dist/runtime/server/jobs.d.ts +41 -0
  122. package/dist/runtime/server/jobs.js +181 -0
  123. package/dist/runtime/server/jobs.js.map +1 -0
  124. package/dist/runtime/server/pool.d.ts +54 -0
  125. package/dist/runtime/server/pool.js +194 -0
  126. package/dist/runtime/server/pool.js.map +1 -0
  127. package/dist/runtime/server/proxy.d.ts +21 -0
  128. package/dist/runtime/server/proxy.js +79 -0
  129. package/dist/runtime/server/proxy.js.map +1 -0
  130. package/dist/runtime/server/server.d.ts +53 -0
  131. package/dist/runtime/server/server.js +90 -0
  132. package/dist/runtime/server/server.js.map +1 -0
  133. package/dist/runtime/store/index.d.ts +3 -0
  134. package/dist/runtime/store/index.js +23 -0
  135. package/dist/runtime/store/index.js.map +1 -0
  136. package/dist/runtime/types.d.ts +103 -0
  137. package/dist/runtime/types.js +2 -0
  138. package/dist/runtime/types.js.map +1 -0
  139. package/dist/runtime/workers/application.d.ts +47 -0
  140. package/dist/runtime/workers/application.js +162 -0
  141. package/dist/runtime/workers/application.js.map +1 -0
  142. package/dist/runtime/workers/base.d.ts +16 -0
  143. package/dist/runtime/workers/base.js +46 -0
  144. package/dist/runtime/workers/base.js.map +1 -0
  145. package/dist/runtime/workers/cli.d.ts +1 -0
  146. package/dist/runtime/workers/cli.js +2 -0
  147. package/dist/runtime/workers/cli.js.map +1 -0
  148. package/dist/runtime/workers/job.d.ts +20 -0
  149. package/dist/runtime/workers/job.js +172 -0
  150. package/dist/runtime/workers/job.js.map +1 -0
  151. package/dist/typings.d.ts +5 -0
  152. package/dist/typings.js +4 -3
  153. package/dist/typings.js.map +1 -0
  154. package/dist/vite/builder.d.ts +5 -0
  155. package/dist/vite/builder.js +5 -1
  156. package/dist/vite/builder.js.map +1 -0
  157. package/dist/vite/config.d.ts +28 -0
  158. package/dist/vite/config.js +1 -0
  159. package/dist/vite/config.js.map +1 -0
  160. package/dist/vite/plugins.d.ts +2 -0
  161. package/dist/vite/plugins.js +1 -0
  162. package/dist/vite/plugins.js.map +1 -0
  163. package/dist/vite/runners/worker.d.ts +4 -0
  164. package/dist/vite/runners/worker.js +1 -0
  165. package/dist/vite/runners/worker.js.map +1 -0
  166. package/dist/vite/server.d.ts +3 -0
  167. package/dist/vite/server.js +6 -1
  168. package/dist/vite/server.js.map +1 -0
  169. package/dist/vite/servers/main.d.ts +8 -0
  170. package/dist/vite/servers/main.js +1 -0
  171. package/dist/vite/servers/main.js.map +1 -0
  172. package/dist/vite/servers/worker.d.ts +11 -0
  173. package/dist/vite/servers/worker.js +28 -0
  174. package/dist/vite/servers/worker.js.map +1 -0
  175. package/package.json +31 -18
  176. package/src/cli.ts +144 -0
  177. package/src/config.ts +64 -0
  178. package/src/entrypoints/cli.ts +13 -0
  179. package/src/entrypoints/main.ts +200 -0
  180. package/src/entrypoints/thread.ts +184 -0
  181. package/src/entrypoints/worker.ts +48 -0
  182. package/src/index.ts +82 -0
  183. package/src/resolver.ts +16 -0
  184. package/src/runtime/application/api/api.ts +265 -0
  185. package/src/runtime/application/api/constants.ts +22 -0
  186. package/src/runtime/application/api/filters.ts +39 -0
  187. package/src/runtime/application/api/guards.ts +29 -0
  188. package/src/runtime/application/api/index.ts +8 -0
  189. package/src/runtime/application/api/middlewares.ts +37 -0
  190. package/src/runtime/application/api/procedure.ts +229 -0
  191. package/src/runtime/application/api/router.ts +193 -0
  192. package/src/runtime/application/api/types.ts +124 -0
  193. package/src/runtime/application/config.ts +69 -0
  194. package/src/runtime/application/constants.ts +4 -0
  195. package/src/runtime/application/hook.ts +51 -0
  196. package/src/runtime/application/hooks.ts +3 -0
  197. package/src/runtime/application/index.ts +5 -0
  198. package/src/runtime/constants.ts +13 -0
  199. package/src/runtime/core/hooks.ts +5 -0
  200. package/src/runtime/core/plugin.ts +13 -0
  201. package/src/runtime/core/runtime.ts +109 -0
  202. package/src/runtime/enums.ts +24 -0
  203. package/src/runtime/index.ts +21 -0
  204. package/src/runtime/injectables.ts +61 -0
  205. package/src/runtime/jobs/job.ts +370 -0
  206. package/src/runtime/jobs/manager.ts +348 -0
  207. package/src/runtime/jobs/router.ts +896 -0
  208. package/src/runtime/jobs/runner.ts +320 -0
  209. package/src/runtime/jobs/step.ts +66 -0
  210. package/src/runtime/jobs/ui.ts +21 -0
  211. package/src/runtime/pubsub/manager.ts +211 -0
  212. package/src/runtime/pubsub/redis.ts +108 -0
  213. package/src/runtime/scheduler/index.ts +39 -0
  214. package/src/runtime/server/applications.ts +210 -0
  215. package/src/runtime/server/config.ts +158 -0
  216. package/src/runtime/server/jobs.ts +250 -0
  217. package/src/runtime/server/pool.ts +260 -0
  218. package/src/runtime/server/proxy.ts +118 -0
  219. package/src/runtime/server/server.ts +155 -0
  220. package/src/runtime/store/index.ts +30 -0
  221. package/src/runtime/types.ts +93 -0
  222. package/src/runtime/workers/application.ts +209 -0
  223. package/src/runtime/workers/base.ts +68 -0
  224. package/src/runtime/workers/cli.ts +0 -0
  225. package/src/runtime/workers/job.ts +153 -0
  226. package/src/typings.ts +30 -0
  227. package/src/vite/builder.ts +122 -0
  228. package/src/vite/config.ts +45 -0
  229. package/src/vite/plugins.ts +26 -0
  230. package/src/vite/runners/worker.ts +57 -0
  231. package/src/vite/server.ts +39 -0
  232. package/src/vite/servers/main.ts +34 -0
  233. package/src/vite/servers/worker.ts +143 -0
  234. package/dist/_exports/application.js +0 -1
  235. package/dist/_exports/common.js +0 -1
  236. package/dist/_exports/contract.js +0 -2
  237. package/dist/_exports/core.js +0 -1
  238. package/dist/_exports/gateway.js +0 -1
  239. package/dist/_exports/http-transport/bun.js +0 -1
  240. package/dist/_exports/http-transport/deno.js +0 -1
  241. package/dist/_exports/http-transport/node.js +0 -1
  242. package/dist/_exports/http-transport.js +0 -1
  243. package/dist/_exports/json-format.js +0 -1
  244. package/dist/_exports/protocol/client.js +0 -1
  245. package/dist/_exports/protocol/server.js +0 -1
  246. package/dist/_exports/protocol.js +0 -1
  247. package/dist/_exports/runtime/types.js +0 -1
  248. package/dist/_exports/runtime.js +0 -1
  249. package/dist/_exports/type.js +0 -2
  250. package/dist/_exports/ws-transport/bun.js +0 -1
  251. package/dist/_exports/ws-transport/deno.js +0 -1
  252. package/dist/_exports/ws-transport/node.js +0 -1
  253. package/dist/_exports/ws-transport.js +0 -1
  254. package/dist/command.js +0 -30
@@ -0,0 +1,51 @@
1
+ import { c, IsRouterContract } from '@nmtjs/contract';
2
+ import { kRootRouter, kRouter } from "./constants.js";
3
+ export function createRootRouter(routers, defaultProcedure) {
4
+ const routes = {};
5
+ for (const router of routers)
6
+ Object.assign(routes, router.routes);
7
+ const router = createRouter({ name: undefined, routes: routes });
8
+ return Object.freeze({
9
+ ...router,
10
+ default: defaultProcedure,
11
+ [kRootRouter]: true,
12
+ });
13
+ }
14
+ export function createRouter(params) {
15
+ const { name, guards, middlewares, timeout } = params;
16
+ const routes = params.routes || {};
17
+ const routesContracts = {};
18
+ for (const [name, route] of Object.entries(routes)) {
19
+ routesContracts[name] = route.contract;
20
+ }
21
+ const contract = c.router({ routes: routesContracts, timeout, name });
22
+ assignRouteContracts(routes, contract);
23
+ return createContractRouter(contract, {
24
+ routes: routes,
25
+ guards,
26
+ middlewares,
27
+ timeout,
28
+ });
29
+ }
30
+ export function createContractRouter(contract, params) {
31
+ const guards = new Set(params.guards ?? []);
32
+ const middlewares = new Set(params.middlewares ?? []);
33
+ return {
34
+ contract,
35
+ routes: params.routes,
36
+ guards,
37
+ middlewares,
38
+ timeout: params.timeout,
39
+ [kRouter]: true,
40
+ };
41
+ }
42
+ export const isRouter = (value) => Boolean(value?.[kRouter]);
43
+ export const isRootRouter = (value) => Boolean(value?.[kRootRouter]);
44
+ function assignRouteContracts(routes, contract) {
45
+ for (const [key, routeContract] of Object.entries(contract.routes)) {
46
+ routes[key] = { ...routes[key], contract: routeContract };
47
+ if (IsRouterContract(routeContract))
48
+ assignRouteContracts(routes[key].routes, routeContract);
49
+ }
50
+ }
51
+ //# sourceMappingURL=router.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"router.js","sourceRoot":"","sources":["../../../../src/runtime/application/api/router.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,CAAC,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AAKrD,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAA;AAqErD,MAAM,UAAU,gBAAgB,CAC9B,OAAgB,EAChB,gBAEC;IAOD,MAAM,MAAM,GAAwB,EAAE,CAAA;IACtC,KAAK,MAAM,MAAM,IAAI,OAAO;QAAE,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAA;IAClE,MAAM,MAAM,GAAG,YAAY,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAA;IAChE,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,GAAG,MAAM;QACT,OAAO,EAAE,gBAAgB;QACzB,CAAC,WAAW,CAAC,EAAE,IAAI;KACpB,CAAQ,CAAA;AACX,CAAC;AAED,MAAM,UAAU,YAAY,CAU1B,MAAe;IAef,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,GAAG,MAAM,CAAA;IACrD,MAAM,MAAM,GAAwB,MAAM,CAAC,MAAM,IAAI,EAAE,CAAA;IAEvD,MAAM,eAAe,GAAQ,EAAE,CAAA;IAC/B,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QACnD,eAAe,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAA;IACxC,CAAC;IAED,MAAM,QAAQ,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,eAAe,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAA;IAErE,oBAAoB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;IAEtC,OAAO,oBAAoB,CAAC,QAAQ,EAAE;QACpC,MAAM,EAAE,MAAa;QACrB,MAAM;QACN,WAAW;QACX,OAAO;KACR,CAAC,CAAA;AACJ,CAAC;AAED,MAAM,UAAU,oBAAoB,CAClC,QAAkB,EAClB,MAWC;IAED,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC,CAAA;IAC3C,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,WAAW,IAAI,EAAE,CAAC,CAAA;IAErD,OAAO;QACL,QAAQ;QACR,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,MAAM;QACN,WAAW;QACX,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,CAAC,OAAO,CAAC,EAAE,IAAI;KAChB,CAAA;AACH,CAAC;AAED,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,KAAU,EAAsB,EAAE,CACzD,OAAO,CAAC,KAAK,EAAE,CAAC,OAAO,CAAC,CAAC,CAAA;AAE3B,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,KAAU,EAA0B,EAAE,CACjE,OAAO,CAAC,KAAK,EAAE,CAAC,WAAW,CAAC,CAAC,CAAA;AAE/B,SAAS,oBAAoB,CAC3B,MAA2B,EAC3B,QAA4B;IAE5B,KAAK,MAAM,CAAC,GAAG,EAAE,aAAa,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QACnE,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,GAAG,CAAC,EAAE,QAAQ,EAAE,aAAa,EAAE,CAAA;QACzD,IAAI,gBAAgB,CAAC,aAAa,CAAC;YACjC,oBAAoB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,aAAa,CAAC,CAAA;IAC3D,CAAC;AACH,CAAC"}
@@ -0,0 +1,32 @@
1
+ import type { Container } from '@nmtjs/core';
2
+ import type { GatewayConnection } from '@nmtjs/gateway';
3
+ import type { AnyProcedure } from './procedure.ts';
4
+ import type { AnyRouter } from './router.ts';
5
+ export type ApiCallContext = Readonly<{
6
+ connection: GatewayConnection;
7
+ container: Container;
8
+ path: AnyRouter[];
9
+ procedure: AnyProcedure;
10
+ }>;
11
+ export type JsonPrimitive<T> = Equal<T, JsonPrimitiveMain<T>> extends true ? T : JsonPrimitiveMain<T>;
12
+ type Equal<X, Y> = X extends Y ? (Y extends X ? true : false) : false;
13
+ type JsonPrimitiveMain<Instance, InArray extends boolean = false> = Instance extends [never] ? never : ValueOf<Instance> extends bigint ? never : ValueOf<Instance> extends boolean | number | string ? ValueOf<Instance> : Instance extends Function ? InArray extends true ? null : never : ValueOf<Instance> extends object ? Instance extends object ? Instance extends NativeClass ? {} : Instance extends IJsonable<infer Raw> ? ValueOf<Raw> extends object ? Raw extends object ? PrimitiveObject<Raw> : never : ValueOf<Raw> : PrimitiveObject<Instance> : never : ValueOf<Instance>;
14
+ type PrimitiveObject<Instance extends object> = Instance extends Array<infer T> ? IsTuple<Instance> extends true ? PrimitiveTuple<Instance> : JsonPrimitiveMain<T, true>[] : {
15
+ -readonly [P in keyof Instance as JsonPrimitiveMain<Instance[P]> extends never ? never : P]: JsonPrimitiveMain<Instance[P]>;
16
+ };
17
+ type PrimitiveTuple<T extends readonly any[]> = T extends [] ? [] : T extends [infer F] ? [JsonPrimitiveMain<F, true>] : T extends [infer F, ...infer Rest extends readonly any[]] ? [JsonPrimitiveMain<F, true>, ...PrimitiveTuple<Rest>] : T extends [(infer F)?] ? [JsonPrimitiveMain<F, true>?] : T extends [(infer F)?, ...infer Rest extends readonly any[]] ? [JsonPrimitiveMain<F, true>?, ...PrimitiveTuple<Rest>] : [];
18
+ type ValueOf<Instance> = IsValueOf<Instance, boolean> extends true ? boolean : IsValueOf<Instance, number> extends true ? number : IsValueOf<Instance, string> extends true ? string : Instance;
19
+ type NativeClass = Set<any> | Map<any, any> | WeakSet<any> | WeakMap<any, any> | Uint8Array | Uint8ClampedArray | Uint16Array | Uint32Array | BigUint64Array | Int8Array | Int16Array | Int32Array | BigInt64Array | Float32Array | Float64Array | ArrayBuffer | SharedArrayBuffer | DataView;
20
+ type IsTuple<T extends readonly any[] | {
21
+ length: number;
22
+ }> = [T] extends [
23
+ never
24
+ ] ? false : T extends readonly any[] ? number extends T['length'] ? false : true : false;
25
+ type IsValueOf<Instance, Object extends IValueOf<any>> = Instance extends Object ? Object extends IValueOf<infer U> ? Instance extends U ? false : true : false : false;
26
+ interface IValueOf<T> {
27
+ valueOf(): T;
28
+ }
29
+ interface IJsonable<T> {
30
+ toJSON(): T;
31
+ }
32
+ export {};
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/runtime/application/api/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,26 @@
1
+ import type { ConnectionIdentity, Transport } from '@nmtjs/gateway';
2
+ import type { LifecycleHooks } from '../core/hooks.ts';
3
+ import type { RuntimePlugin } from '../core/plugin.ts';
4
+ import type { ApiOptions } from './api/api.ts';
5
+ import type { AnyFilter } from './api/filters.ts';
6
+ import type { AnyGuard } from './api/guards.ts';
7
+ import type { AnyMiddleware } from './api/middlewares.ts';
8
+ import type { AnyRootRouter } from './api/router.ts';
9
+ import type { AnyHook } from './hook.ts';
10
+ import { kApplicationConfig } from './constants.ts';
11
+ export type AnyApplicationConfig = ApplicationConfig<AnyRootRouter>;
12
+ export interface ApplicationConfig<Router extends AnyRootRouter = AnyRootRouter, Transports extends Record<string, Transport> = Record<string, Transport>> {
13
+ [kApplicationConfig]: any;
14
+ router: Router;
15
+ api: Pick<ApiOptions, 'timeout'>;
16
+ transports: Transports;
17
+ identity?: ConnectionIdentity;
18
+ plugins: RuntimePlugin[];
19
+ filters: AnyFilter[];
20
+ middlewares: AnyMiddleware[];
21
+ guards: AnyGuard[];
22
+ hooks: AnyHook[];
23
+ lifecycleHooks: LifecycleHooks['_']['config'];
24
+ }
25
+ export declare function defineApplication<R extends AnyRootRouter, T extends Record<string, Transport> = Record<string, Transport>>(options: Pick<ApplicationConfig<R, T>, 'router'> & Partial<Omit<ApplicationConfig<R, T>, 'router'>>): ApplicationConfig<R, T>;
26
+ export declare function isApplicationConfig(value: any): value is ApplicationConfig;
@@ -0,0 +1,21 @@
1
+ import { kApplicationConfig } from "./constants.js";
2
+ export function defineApplication(options) {
3
+ const { router, transports = {}, guards = [], middlewares = [], plugins = [], api = {}, filters = [], hooks = [], lifecycleHooks = {}, identity: identityResolver, } = options;
4
+ return Object.freeze({
5
+ [kApplicationConfig]: true,
6
+ router,
7
+ transports,
8
+ api,
9
+ filters,
10
+ plugins,
11
+ guards,
12
+ middlewares,
13
+ hooks,
14
+ lifecycleHooks,
15
+ identity: identityResolver,
16
+ });
17
+ }
18
+ export function isApplicationConfig(value) {
19
+ return Boolean(value?.[kApplicationConfig]);
20
+ }
21
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/runtime/application/config.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAA;AAqBnD,MAAM,UAAU,iBAAiB,CAI/B,OACkD;IAElD,MAAM,EACJ,MAAM,EACN,UAAU,GAAG,EAAE,EACf,MAAM,GAAG,EAAE,EACX,WAAW,GAAG,EAAE,EAChB,OAAO,GAAG,EAAE,EACZ,GAAG,GAAG,EAA8B,EACpC,OAAO,GAAG,EAAkC,EAC5C,KAAK,GAAG,EAAgC,EACxC,cAAc,GAAG,EAAE,EACnB,QAAQ,EAAE,gBAAgB,GAC3B,GAAG,OAAO,CAAA;IAEX,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,CAAC,kBAAkB,CAAC,EAAE,IAAI;QAC1B,MAAM;QACN,UAAU;QACV,GAAG;QACH,OAAO;QACP,OAAO;QACP,MAAM;QACN,WAAW;QACX,KAAK;QACL,cAAc;QACd,QAAQ,EAAE,gBAAgB;KACI,CAA4B,CAAA;AAC9D,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,KAAU;IAC5C,OAAO,OAAO,CAAC,KAAK,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAA;AAC7C,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare const kApplicationConfig: unique symbol;
2
+ export type kApplicationConfig = typeof kApplicationConfig;
@@ -0,0 +1,2 @@
1
+ export const kApplicationConfig = Symbol.for('neemata:ApplicationConfig');
2
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/runtime/application/constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,kBAAkB,GAAkB,MAAM,CAAC,GAAG,CACzD,2BAA2B,CAC5B,CAAA"}
@@ -0,0 +1,19 @@
1
+ import type { MaybePromise } from '@nmtjs/common';
2
+ import type { Dependant, Dependencies, DependencyContext, HookTypes } from '@nmtjs/core';
3
+ import { kHook } from '@nmtjs/core';
4
+ export type AnyHook = Hook<HookTypes, string, any>;
5
+ export interface Hook<T extends HookTypes = HookTypes, H extends string = string, Deps extends Dependencies = {}> extends Dependant<Deps> {
6
+ [kHook]: any;
7
+ name: H;
8
+ handler: (ctx: DependencyContext<Deps>, ...args: H extends keyof T ? Parameters<T[H]> : unknown[]) => MaybePromise<any>;
9
+ }
10
+ export declare function createHook<Types extends HookTypes = HookTypes, Name extends Extract<keyof Types, string> | (object & string) = object & string, Deps extends Dependencies = {}>(params: {
11
+ name: Name;
12
+ dependencies?: Deps;
13
+ handler: Hook<Types, Name, Deps>['handler'];
14
+ }): Hook<Types, Name, Deps>;
15
+ export declare function createApplicationHookFactory<Types extends HookTypes>(): <Name extends Extract<keyof Types, string> | (object & string) = object & string, Deps extends Dependencies = {}>(params: {
16
+ name: Name;
17
+ dependencies?: Deps;
18
+ handler: Hook<Types, Name, Deps>["handler"];
19
+ }) => Hook<Types, Name, Deps>;
@@ -0,0 +1,11 @@
1
+ import { kHook } from '@nmtjs/core';
2
+ export function createHook(params) {
3
+ const { name, handler, dependencies = {} } = params;
4
+ return Object.freeze({ [kHook]: true, name, handler, dependencies });
5
+ }
6
+ export function createApplicationHookFactory() {
7
+ return (params) => {
8
+ return createHook(params);
9
+ };
10
+ }
11
+ //# sourceMappingURL=hook.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hook.js","sourceRoot":"","sources":["../../../src/runtime/application/hook.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AAiBnC,MAAM,UAAU,UAAU,CAKxB,MAID;IACC,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,YAAY,GAAG,EAAU,EAAE,GAAG,MAAM,CAAA;IAC3D,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,YAAY,EAAE,CAAQ,CAAA;AAC7E,CAAC;AAED,MAAM,UAAU,4BAA4B;IAC1C,OAAO,CAIL,MAID,EAA2B,EAAE;QAC5B,OAAO,UAAU,CAAoB,MAAM,CAAC,CAAA;IAC9C,CAAC,CAAA;AACH,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { Hooks } from '@nmtjs/core';
2
+ export declare class ApplicationHooks extends Hooks {
3
+ }
@@ -0,0 +1,4 @@
1
+ import { Hooks } from '@nmtjs/core';
2
+ export class ApplicationHooks extends Hooks {
3
+ }
4
+ //# sourceMappingURL=hooks.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hooks.js","sourceRoot":"","sources":["../../../src/runtime/application/hooks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AAEnC,MAAM,OAAO,gBAAiB,SAAQ,KAAK;CAAG"}
@@ -0,0 +1,5 @@
1
+ export * from './api/index.ts';
2
+ export * from './config.ts';
3
+ export * from './constants.ts';
4
+ export * from './hook.ts';
5
+ export * from './hooks.ts';
@@ -0,0 +1,6 @@
1
+ export * from "./api/index.js";
2
+ export * from "./config.js";
3
+ export * from "./constants.js";
4
+ export * from "./hook.js";
5
+ export * from "./hooks.js";
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/runtime/application/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAA;AAC9B,cAAc,aAAa,CAAA;AAC3B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,WAAW,CAAA;AACzB,cAAc,YAAY,CAAA"}
@@ -0,0 +1,8 @@
1
+ export declare const kServerConfig: unique symbol;
2
+ export type kServerConfig = typeof kServerConfig;
3
+ export declare const kCommand: unique symbol;
4
+ export type kCommand = typeof kCommand;
5
+ export declare const kJobKey: unique symbol;
6
+ export type kJobKey = typeof kJobKey;
7
+ export declare const kJobStepKey: unique symbol;
8
+ export type kJobStepKey = typeof kJobStepKey;
@@ -0,0 +1,5 @@
1
+ export const kServerConfig = Symbol.for('neemata:ServerConfigKey');
2
+ export const kCommand = Symbol.for('neemata:CommandKey');
3
+ export const kJobKey = Symbol.for('neemata:JobKey');
4
+ export const kJobStepKey = Symbol.for('neemata:JobStepKey');
5
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/runtime/constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,aAAa,GAAkB,MAAM,CAAC,GAAG,CACpD,yBAAyB,CAC1B,CAAA;AAGD,MAAM,CAAC,MAAM,QAAQ,GAAkB,MAAM,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAA;AAGvE,MAAM,CAAC,MAAM,OAAO,GAAkB,MAAM,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAA;AAGlE,MAAM,CAAC,MAAM,WAAW,GAAkB,MAAM,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAA"}
@@ -0,0 +1,4 @@
1
+ import { Hooks } from '@nmtjs/core';
2
+ import type { LifecycleHookTypes } from '../types.ts';
3
+ export declare class LifecycleHooks extends Hooks<LifecycleHookTypes> {
4
+ }
@@ -0,0 +1,4 @@
1
+ import { Hooks } from '@nmtjs/core';
2
+ export class LifecycleHooks extends Hooks {
3
+ }
4
+ //# sourceMappingURL=hooks.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hooks.js","sourceRoot":"","sources":["../../../src/runtime/core/hooks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AAInC,MAAM,OAAO,cAAe,SAAQ,KAAyB;CAAG"}
@@ -0,0 +1,8 @@
1
+ import type { Injection } from '@nmtjs/core';
2
+ import type { LifecycleHooks } from './hooks.ts';
3
+ export interface RuntimePlugin {
4
+ name: string;
5
+ hooks?: LifecycleHooks['_']['config'];
6
+ injections?: Injection[];
7
+ }
8
+ export declare function createPlugin<T extends RuntimePlugin>(plugin: T): T;
@@ -0,0 +1,4 @@
1
+ export function createPlugin(plugin) {
2
+ return plugin;
3
+ }
4
+ //# sourceMappingURL=plugin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../../src/runtime/core/plugin.ts"],"names":[],"mappings":"AAUA,MAAM,UAAU,YAAY,CAA0B,MAAS;IAC7D,OAAO,MAAM,CAAA;AACf,CAAC"}
@@ -0,0 +1,27 @@
1
+ import type { Dependant, Logger, LoggingOptions } from '@nmtjs/core';
2
+ import { Container } from '@nmtjs/core';
3
+ import type { RuntimePlugin } from './plugin.ts';
4
+ import { LifecycleHooks } from './hooks.ts';
5
+ export type BaseRuntimeOptions = {
6
+ logger?: LoggingOptions;
7
+ container?: Container;
8
+ plugins?: RuntimePlugin[];
9
+ name?: string;
10
+ };
11
+ export declare abstract class BaseRuntime {
12
+ logger: Logger;
13
+ container: Container;
14
+ lifecycleHooks: LifecycleHooks;
15
+ plugins: RuntimePlugin[];
16
+ constructor(options?: BaseRuntimeOptions);
17
+ protected abstract _initialize(): Promise<void>;
18
+ protected abstract _dispose(): Promise<void>;
19
+ protected abstract _dependents(): Generator<Dependant>;
20
+ reload(...args: any[]): Promise<void>;
21
+ initialize(): Promise<void>;
22
+ dispose(): Promise<void>;
23
+ protected _initializePlugins(): Promise<void>;
24
+ protected _disposePlugins(): Promise<void>;
25
+ protected _initializeContainer(): Promise<void>;
26
+ protected _disposeContainer(): Promise<void>;
27
+ }
@@ -0,0 +1,81 @@
1
+ import { Container, createLogger, getDepedencencyInjectable, Scope, } from '@nmtjs/core';
2
+ import { LifecycleHook } from "../enums.js";
3
+ import { LifecycleHooks } from "./hooks.js";
4
+ export class BaseRuntime {
5
+ logger;
6
+ container;
7
+ lifecycleHooks;
8
+ plugins;
9
+ constructor(options = {}) {
10
+ this.logger = createLogger(options.logger, options.name || 'Runtime');
11
+ this.container = options.container
12
+ ? options.container.fork(Scope.Global)
13
+ : new Container({ logger: this.logger });
14
+ this.lifecycleHooks = new LifecycleHooks();
15
+ this.plugins = options.plugins || [];
16
+ }
17
+ async reload(...args) {
18
+ await this._dispose();
19
+ await this._initialize();
20
+ }
21
+ async initialize() {
22
+ this.logger.debug('Initializing a runtime...');
23
+ await this._initializePlugins();
24
+ await this._initializeContainer();
25
+ await this.lifecycleHooks.callHook(LifecycleHook.BeforeInitialize, this);
26
+ await this._initialize();
27
+ await this.lifecycleHooks.callHook(LifecycleHook.AfterInitialize, this);
28
+ this.logger.debug('Runtime initialized');
29
+ }
30
+ async dispose() {
31
+ this.logger.debug('Disposing a runtime...');
32
+ await this.lifecycleHooks.callHook(LifecycleHook.BeforeDispose, this);
33
+ await this._dispose();
34
+ await this.lifecycleHooks.callHook(LifecycleHook.AfterDispose, this);
35
+ await this._disposeContainer();
36
+ await this._disposePlugins();
37
+ this.logger.debug('Runtime disposed');
38
+ }
39
+ async _initializePlugins() {
40
+ if (!this.plugins?.length)
41
+ return;
42
+ for (const { name, hooks, injections } of this.plugins) {
43
+ this.logger.debug(`Initializing plugin [${name}]...`);
44
+ if (injections) {
45
+ for (const injection of injections) {
46
+ await this.container.provide(injection.token, injection.value);
47
+ }
48
+ }
49
+ if (hooks)
50
+ this.lifecycleHooks.addHooks(hooks);
51
+ }
52
+ }
53
+ async _disposePlugins() {
54
+ if (!this.plugins?.length)
55
+ return;
56
+ for (const { name, hooks, injections } of this.plugins) {
57
+ this.logger.debug(`Disposing plugin [${name}]...`);
58
+ if (hooks)
59
+ this.lifecycleHooks.removeHooks(hooks);
60
+ if (injections) {
61
+ for (const injection of injections) {
62
+ await this.container.disposeInjectableInstances(injection.token);
63
+ }
64
+ }
65
+ }
66
+ }
67
+ async _initializeContainer() {
68
+ const dependents = this._dependents();
69
+ const dependencies = new Set();
70
+ for (const dependant of dependents) {
71
+ for (const dependency of Object.values(dependant.dependencies)) {
72
+ dependencies.add(getDepedencencyInjectable(dependency));
73
+ }
74
+ }
75
+ await this.container.initialize(dependencies);
76
+ }
77
+ async _disposeContainer() {
78
+ await this.container.dispose();
79
+ }
80
+ }
81
+ //# sourceMappingURL=runtime.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../../src/runtime/core/runtime.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ export declare enum StoreType {
2
+ Redis = "Redis",
3
+ Valkey = "Valkey"
4
+ }
5
+ export declare enum JobWorkerPool {
6
+ Io = "Io",
7
+ Compute = "Compute"
8
+ }
9
+ export declare enum LifecycleHook {
10
+ BeforeInitialize = "lifecycle:beforeInitialize",
11
+ AfterInitialize = "lifecycle:afterInitialize",
12
+ BeforeDispose = "lifecycle:beforeDispose",
13
+ AfterDispose = "lifecycle:afterDispose",
14
+ Stop = "lifecycle:stop",
15
+ Start = "lifecycle:start"
16
+ }
17
+ export declare enum WorkerType {
18
+ Application = "Application",
19
+ Job = "Job",
20
+ Command = "Command"
21
+ }
@@ -0,0 +1,26 @@
1
+ export var StoreType;
2
+ (function (StoreType) {
3
+ StoreType["Redis"] = "Redis";
4
+ StoreType["Valkey"] = "Valkey";
5
+ })(StoreType || (StoreType = {}));
6
+ export var JobWorkerPool;
7
+ (function (JobWorkerPool) {
8
+ JobWorkerPool["Io"] = "Io";
9
+ JobWorkerPool["Compute"] = "Compute";
10
+ })(JobWorkerPool || (JobWorkerPool = {}));
11
+ export var LifecycleHook;
12
+ (function (LifecycleHook) {
13
+ LifecycleHook["BeforeInitialize"] = "lifecycle:beforeInitialize";
14
+ LifecycleHook["AfterInitialize"] = "lifecycle:afterInitialize";
15
+ LifecycleHook["BeforeDispose"] = "lifecycle:beforeDispose";
16
+ LifecycleHook["AfterDispose"] = "lifecycle:afterDispose";
17
+ LifecycleHook["Stop"] = "lifecycle:stop";
18
+ LifecycleHook["Start"] = "lifecycle:start";
19
+ })(LifecycleHook || (LifecycleHook = {}));
20
+ export var WorkerType;
21
+ (function (WorkerType) {
22
+ WorkerType["Application"] = "Application";
23
+ WorkerType["Job"] = "Job";
24
+ WorkerType["Command"] = "Command";
25
+ })(WorkerType || (WorkerType = {}));
26
+ //# sourceMappingURL=enums.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"enums.js","sourceRoot":"","sources":["../../src/runtime/enums.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,SAGX;AAHD,WAAY,SAAS;IACnB,4BAAe,CAAA;IACf,8BAAiB,CAAA;AACnB,CAAC,EAHW,SAAS,KAAT,SAAS,QAGpB;AAED,MAAM,CAAN,IAAY,aAGX;AAHD,WAAY,aAAa;IACvB,0BAAS,CAAA;IACT,oCAAmB,CAAA;AACrB,CAAC,EAHW,aAAa,KAAb,aAAa,QAGxB;AAED,MAAM,CAAN,IAAY,aAOX;AAPD,WAAY,aAAa;IACvB,gEAA+C,CAAA;IAC/C,8DAA6C,CAAA;IAC7C,0DAAyC,CAAA;IACzC,wDAAuC,CAAA;IACvC,wCAAuB,CAAA;IACvB,0CAAyB,CAAA;AAC3B,CAAC,EAPW,aAAa,KAAb,aAAa,QAOxB;AAED,MAAM,CAAN,IAAY,UAIX;AAJD,WAAY,UAAU;IACpB,yCAA2B,CAAA;IAC3B,yBAAW,CAAA;IACX,iCAAmB,CAAA;AACrB,CAAC,EAJW,UAAU,KAAV,UAAU,QAIrB"}
@@ -0,0 +1,21 @@
1
+ export * from './application/index.ts';
2
+ export * from './constants.ts';
3
+ export * from './core/hooks.ts';
4
+ export * from './core/plugin.ts';
5
+ export * from './core/runtime.ts';
6
+ export * from './enums.ts';
7
+ export * from './injectables.ts';
8
+ export * from './jobs/job.ts';
9
+ export * from './jobs/manager.ts';
10
+ export * from './jobs/router.ts';
11
+ export * from './jobs/step.ts';
12
+ export * from './pubsub/manager.ts';
13
+ export * from './pubsub/redis.ts';
14
+ export * from './scheduler/index.ts';
15
+ export * from './server/config.ts';
16
+ export * from './server/server.ts';
17
+ export * from './store/index.ts';
18
+ export * from './types.ts';
19
+ export * from './workers/application.ts';
20
+ export * from './workers/base.ts';
21
+ export * from './workers/job.ts';
@@ -0,0 +1,22 @@
1
+ export * from "./application/index.js";
2
+ export * from "./constants.js";
3
+ export * from "./core/hooks.js";
4
+ export * from "./core/plugin.js";
5
+ export * from "./core/runtime.js";
6
+ export * from "./enums.js";
7
+ export * from "./injectables.js";
8
+ export * from "./jobs/job.js";
9
+ export * from "./jobs/manager.js";
10
+ export * from "./jobs/router.js";
11
+ export * from "./jobs/step.js";
12
+ export * from "./pubsub/manager.js";
13
+ export * from "./pubsub/redis.js";
14
+ export * from "./scheduler/index.js";
15
+ export * from "./server/config.js";
16
+ export * from "./server/server.js";
17
+ export * from "./store/index.js";
18
+ export * from "./types.js";
19
+ export * from "./workers/application.js";
20
+ export * from "./workers/base.js";
21
+ export * from "./workers/job.js";
22
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/runtime/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAA;AACtC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,kBAAkB,CAAA;AAChC,cAAc,mBAAmB,CAAA;AACjC,cAAc,YAAY,CAAA;AAC1B,cAAc,kBAAkB,CAAA;AAChC,cAAc,eAAe,CAAA;AAC7B,cAAc,mBAAmB,CAAA;AACjC,cAAc,kBAAkB,CAAA;AAChC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,qBAAqB,CAAA;AACnC,cAAc,mBAAmB,CAAA;AACjC,cAAc,sBAAsB,CAAA;AACpC,cAAc,oBAAoB,CAAA;AAClC,cAAc,oBAAoB,CAAA;AAClC,cAAc,kBAAkB,CAAA;AAChC,cAAc,YAAY,CAAA;AAC1B,cAAc,0BAA0B,CAAA;AACxC,cAAc,mBAAmB,CAAA;AACjC,cAAc,kBAAkB,CAAA"}
@@ -0,0 +1,23 @@
1
+ import { Scope } from '@nmtjs/core';
2
+ import type { JobWorkerPool, WorkerType } from './enums.ts';
3
+ import type { JobManagerInstance } from './jobs/manager.ts';
4
+ import type { PubSubAdapterType, PubSubPublish, PubSubSubscribe } from './pubsub/manager.ts';
5
+ import type { ServerStoreConfig } from './server/config.ts';
6
+ export declare const pubSubAdapter: import("@nmtjs/core").LazyInjectable<PubSubAdapterType, Scope.Global>;
7
+ export declare const pubSubPublish: import("@nmtjs/core").LazyInjectable<PubSubPublish, Scope.Global>;
8
+ export declare const pubSubSubscribe: import("@nmtjs/core").LazyInjectable<PubSubSubscribe, Scope.Global>;
9
+ export declare const jobManager: import("@nmtjs/core").LazyInjectable<JobManagerInstance, Scope.Global>;
10
+ export declare const storeConfig: import("@nmtjs/core").LazyInjectable<ServerStoreConfig, Scope.Global>;
11
+ export declare const workerType: import("@nmtjs/core").LazyInjectable<WorkerType, Scope.Global>;
12
+ export declare const jobWorkerPool: import("@nmtjs/core").LazyInjectable<JobWorkerPool, Scope.Global>;
13
+ export declare const jobAbortSignal: import("@nmtjs/core").LazyInjectable<AbortSignal, Scope.Global>;
14
+ export declare const RuntimeInjectables: {
15
+ pubSubAdapter: import("@nmtjs/core").LazyInjectable<PubSubAdapterType, Scope.Global>;
16
+ pubSubPublish: import("@nmtjs/core").LazyInjectable<PubSubPublish, Scope.Global>;
17
+ pubSubSubscribe: import("@nmtjs/core").LazyInjectable<PubSubSubscribe, Scope.Global>;
18
+ jobManager: import("@nmtjs/core").LazyInjectable<JobManagerInstance, Scope.Global>;
19
+ storeConfig: import("@nmtjs/core").LazyInjectable<ServerStoreConfig, Scope.Global>;
20
+ workerType: import("@nmtjs/core").LazyInjectable<WorkerType, Scope.Global>;
21
+ jobWorkerPool: import("@nmtjs/core").LazyInjectable<JobWorkerPool, Scope.Global>;
22
+ jobAbortSignal: import("@nmtjs/core").LazyInjectable<AbortSignal, Scope.Global>;
23
+ };
@@ -0,0 +1,20 @@
1
+ import { createLazyInjectable, Scope } from '@nmtjs/core';
2
+ export const pubSubAdapter = createLazyInjectable(Scope.Global, 'PubSubAdapter');
3
+ export const pubSubPublish = createLazyInjectable(Scope.Global, 'PubSubPublish');
4
+ export const pubSubSubscribe = createLazyInjectable(Scope.Global, 'PubSubSubscribe');
5
+ export const jobManager = createLazyInjectable(Scope.Global, 'JobManager');
6
+ export const storeConfig = createLazyInjectable(Scope.Global, 'StoreConfig');
7
+ export const workerType = createLazyInjectable(Scope.Global, 'WorkerType');
8
+ export const jobWorkerPool = createLazyInjectable(Scope.Global, 'JobWorkerPool');
9
+ export const jobAbortSignal = createLazyInjectable(Scope.Global, 'JobAbortSignal');
10
+ export const RuntimeInjectables = {
11
+ pubSubAdapter,
12
+ pubSubPublish,
13
+ pubSubSubscribe,
14
+ jobManager,
15
+ storeConfig,
16
+ workerType,
17
+ jobWorkerPool,
18
+ jobAbortSignal,
19
+ };
20
+ //# sourceMappingURL=injectables.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"injectables.js","sourceRoot":"","sources":["../../src/runtime/injectables.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AAWzD,MAAM,CAAC,MAAM,aAAa,GAAG,oBAAoB,CAC/C,KAAK,CAAC,MAAM,EACZ,eAAe,CAChB,CAAA;AAED,MAAM,CAAC,MAAM,aAAa,GAAG,oBAAoB,CAC/C,KAAK,CAAC,MAAM,EACZ,eAAe,CAChB,CAAA;AAED,MAAM,CAAC,MAAM,eAAe,GAAG,oBAAoB,CACjD,KAAK,CAAC,MAAM,EACZ,iBAAiB,CAClB,CAAA;AAED,MAAM,CAAC,MAAM,UAAU,GAAG,oBAAoB,CAC5C,KAAK,CAAC,MAAM,EACZ,YAAY,CACb,CAAA;AAED,MAAM,CAAC,MAAM,WAAW,GAAG,oBAAoB,CAC7C,KAAK,CAAC,MAAM,EACZ,aAAa,CACd,CAAA;AAED,MAAM,CAAC,MAAM,UAAU,GAAG,oBAAoB,CAC5C,KAAK,CAAC,MAAM,EACZ,YAAY,CACb,CAAA;AAED,MAAM,CAAC,MAAM,aAAa,GAAG,oBAAoB,CAC/C,KAAK,CAAC,MAAM,EACZ,eAAe,CAChB,CAAA;AAED,MAAM,CAAC,MAAM,cAAc,GAAG,oBAAoB,CAChD,KAAK,CAAC,MAAM,EACZ,gBAAgB,CACjB,CAAA;AAED,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,aAAa;IACb,aAAa;IACb,eAAe;IACf,UAAU;IACV,WAAW;IACX,UAAU;IACV,aAAa;IACb,cAAc;CACf,CAAA"}