@webda/core 4.0.0-beta.2 → 4.0.0-beta.3

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 (756) hide show
  1. package/README.md +252 -0
  2. package/lib/application/application.d.ts +437 -0
  3. package/lib/application/application.d.ts.map +1 -0
  4. package/lib/application/application.js +792 -0
  5. package/lib/application/application.js.map +1 -0
  6. package/lib/application/hooks.d.ts +34 -0
  7. package/lib/application/hooks.d.ts.map +1 -0
  8. package/lib/application/hooks.js +57 -0
  9. package/lib/application/hooks.js.map +1 -0
  10. package/lib/application/iapplication.d.ts +43 -0
  11. package/lib/application/iapplication.d.ts.map +1 -0
  12. package/lib/application/iapplication.js +2 -0
  13. package/lib/application/iapplication.js.map +1 -0
  14. package/lib/application/iconfiguration.d.ts +176 -0
  15. package/lib/application/iconfiguration.d.ts.map +1 -0
  16. package/lib/application/iconfiguration.js +8 -0
  17. package/lib/application/iconfiguration.js.map +1 -0
  18. package/lib/application/runner.d.ts +8 -0
  19. package/lib/application/runner.d.ts.map +1 -0
  20. package/lib/application/runner.js +26 -0
  21. package/lib/application/runner.js.map +1 -0
  22. package/lib/{unpackedapplication.d.ts → application/unpackedapplication.d.ts} +43 -23
  23. package/lib/application/unpackedapplication.d.ts.map +1 -0
  24. package/lib/application/unpackedapplication.js +492 -0
  25. package/lib/application/unpackedapplication.js.map +1 -0
  26. package/lib/bin/cli-phase.d.ts +28 -0
  27. package/lib/bin/cli-phase.d.ts.map +1 -0
  28. package/lib/bin/cli-phase.js +44 -0
  29. package/lib/bin/cli-phase.js.map +1 -0
  30. package/lib/bin/cli.d.ts +161 -0
  31. package/lib/bin/cli.d.ts.map +1 -0
  32. package/lib/bin/cli.js +828 -0
  33. package/lib/bin/cli.js.map +1 -0
  34. package/lib/bin/launcher.d.ts +3 -0
  35. package/lib/bin/launcher.d.ts.map +1 -0
  36. package/lib/bin/launcher.js +50 -0
  37. package/lib/bin/launcher.js.map +1 -0
  38. package/lib/cache/cache.d.ts +33 -0
  39. package/lib/cache/cache.d.ts.map +1 -0
  40. package/lib/cache/cache.js +8 -0
  41. package/lib/cache/cache.js.map +1 -0
  42. package/lib/{services/configuration.d.ts → configurations/configuration.service.d.ts} +58 -58
  43. package/lib/configurations/configuration.service.d.ts.map +1 -0
  44. package/lib/configurations/configuration.service.js +248 -0
  45. package/lib/configurations/configuration.service.js.map +1 -0
  46. package/lib/configurations/fileconfiguration.service.d.ts +30 -0
  47. package/lib/configurations/fileconfiguration.service.d.ts.map +1 -0
  48. package/lib/configurations/fileconfiguration.service.js +65 -0
  49. package/lib/configurations/fileconfiguration.service.js.map +1 -0
  50. package/lib/configurations/kubernetesconfiguration.service.d.ts +43 -0
  51. package/lib/configurations/kubernetesconfiguration.service.d.ts.map +1 -0
  52. package/lib/configurations/kubernetesconfiguration.service.js +83 -0
  53. package/lib/configurations/kubernetesconfiguration.service.js.map +1 -0
  54. package/lib/contexts/execution.d.ts +33 -0
  55. package/lib/contexts/execution.d.ts.map +1 -0
  56. package/lib/contexts/execution.js +73 -0
  57. package/lib/contexts/execution.js.map +1 -0
  58. package/lib/contexts/globalcontext.d.ts +29 -0
  59. package/lib/contexts/globalcontext.d.ts.map +1 -0
  60. package/lib/contexts/globalcontext.js +38 -0
  61. package/lib/contexts/globalcontext.js.map +1 -0
  62. package/lib/{utils → contexts}/httpcontext.d.ts +44 -19
  63. package/lib/contexts/httpcontext.d.ts.map +1 -0
  64. package/lib/{utils → contexts}/httpcontext.js +95 -27
  65. package/lib/contexts/httpcontext.js.map +1 -0
  66. package/lib/contexts/icontext.d.ts +236 -0
  67. package/lib/contexts/icontext.d.ts.map +1 -0
  68. package/lib/contexts/icontext.js +230 -0
  69. package/lib/contexts/icontext.js.map +1 -0
  70. package/lib/contexts/operationcontext.d.ts +179 -0
  71. package/lib/contexts/operationcontext.d.ts.map +1 -0
  72. package/lib/contexts/operationcontext.js +358 -0
  73. package/lib/contexts/operationcontext.js.map +1 -0
  74. package/lib/contexts/simplecontext.d.ts +31 -0
  75. package/lib/contexts/simplecontext.d.ts.map +1 -0
  76. package/lib/contexts/simplecontext.js +45 -0
  77. package/lib/contexts/simplecontext.js.map +1 -0
  78. package/lib/contexts/webcontext.d.ts +218 -0
  79. package/lib/contexts/webcontext.d.ts.map +1 -0
  80. package/lib/contexts/webcontext.js +389 -0
  81. package/lib/contexts/webcontext.js.map +1 -0
  82. package/lib/core/authorizer.d.ts +23 -0
  83. package/lib/core/authorizer.d.ts.map +1 -0
  84. package/lib/core/authorizer.js +17 -0
  85. package/lib/core/authorizer.js.map +1 -0
  86. package/lib/core/core.d.ts +225 -0
  87. package/lib/core/core.d.ts.map +1 -0
  88. package/lib/core/core.js +576 -0
  89. package/lib/core/core.js.map +1 -0
  90. package/lib/core/hooks.d.ts +72 -0
  91. package/lib/core/hooks.d.ts.map +1 -0
  92. package/lib/core/hooks.js +73 -0
  93. package/lib/core/hooks.js.map +1 -0
  94. package/lib/core/icore.d.ts +249 -0
  95. package/lib/core/icore.d.ts.map +1 -0
  96. package/lib/core/icore.js +15 -0
  97. package/lib/core/icore.js.map +1 -0
  98. package/lib/core/instancestorage.d.ts +61 -0
  99. package/lib/core/instancestorage.d.ts.map +1 -0
  100. package/lib/core/instancestorage.js +75 -0
  101. package/lib/core/instancestorage.js.map +1 -0
  102. package/lib/core/operations.d.ts +181 -0
  103. package/lib/core/operations.d.ts.map +1 -0
  104. package/lib/core/operations.js +559 -0
  105. package/lib/core/operations.js.map +1 -0
  106. package/lib/errors/errors.d.ts +126 -0
  107. package/lib/errors/errors.d.ts.map +1 -0
  108. package/lib/errors/errors.js +165 -0
  109. package/lib/errors/errors.js.map +1 -0
  110. package/lib/events/asynceventemitter.d.ts +159 -0
  111. package/lib/events/asynceventemitter.d.ts.map +1 -0
  112. package/lib/events/asynceventemitter.js +152 -0
  113. package/lib/events/asynceventemitter.js.map +1 -0
  114. package/lib/events/events.d.ts +112 -0
  115. package/lib/events/events.d.ts.map +1 -0
  116. package/lib/events/events.js +45 -0
  117. package/lib/events/events.js.map +1 -0
  118. package/lib/index.d.ts +82 -53
  119. package/lib/index.d.ts.map +1 -1
  120. package/lib/index.js +81 -62
  121. package/lib/index.js.map +1 -1
  122. package/lib/loggers/console.service.d.ts +24 -0
  123. package/lib/loggers/console.service.d.ts.map +1 -0
  124. package/lib/loggers/console.service.js +30 -0
  125. package/lib/loggers/console.service.js.map +1 -0
  126. package/lib/loggers/file.service.d.ts +25 -0
  127. package/lib/loggers/file.service.d.ts.map +1 -0
  128. package/lib/loggers/file.service.js +33 -0
  129. package/lib/loggers/file.service.js.map +1 -0
  130. package/lib/loggers/hooks.d.ts +20 -0
  131. package/lib/loggers/hooks.d.ts.map +1 -0
  132. package/lib/loggers/hooks.js +40 -0
  133. package/lib/loggers/hooks.js.map +1 -0
  134. package/lib/loggers/ilogger.d.ts +76 -0
  135. package/lib/loggers/ilogger.d.ts.map +1 -0
  136. package/lib/loggers/ilogger.js +108 -0
  137. package/lib/loggers/ilogger.js.map +1 -0
  138. package/lib/loggers/logger.d.ts +13 -0
  139. package/lib/loggers/logger.d.ts.map +1 -0
  140. package/lib/loggers/logger.js +18 -0
  141. package/lib/loggers/logger.js.map +1 -0
  142. package/lib/loggers/memory.service.d.ts +18 -0
  143. package/lib/loggers/memory.service.d.ts.map +1 -0
  144. package/lib/loggers/memory.service.js +21 -0
  145. package/lib/loggers/memory.service.js.map +1 -0
  146. package/lib/loggers/params.d.ts +47 -0
  147. package/lib/loggers/params.d.ts.map +1 -0
  148. package/lib/loggers/params.js +56 -0
  149. package/lib/loggers/params.js.map +1 -0
  150. package/lib/metrics/metrics.d.ts +25 -0
  151. package/lib/metrics/metrics.d.ts.map +1 -0
  152. package/lib/metrics/metrics.js +51 -0
  153. package/lib/metrics/metrics.js.map +1 -0
  154. package/lib/models/aclmodel.d.ts +20 -76
  155. package/lib/models/aclmodel.d.ts.map +1 -1
  156. package/lib/models/aclmodel.js +27 -203
  157. package/lib/models/aclmodel.js.map +1 -1
  158. package/lib/models/coremodel.model.d.ts +5 -0
  159. package/lib/models/coremodel.model.d.ts.map +1 -0
  160. package/lib/models/coremodel.model.js +5 -0
  161. package/lib/models/coremodel.model.js.map +1 -0
  162. package/lib/models/decorator.d.ts +63 -0
  163. package/lib/models/decorator.d.ts.map +1 -0
  164. package/lib/models/decorator.js +63 -0
  165. package/lib/models/decorator.js.map +1 -0
  166. package/lib/models/deployment.d.ts +1 -1
  167. package/lib/models/deployment.d.ts.map +1 -1
  168. package/lib/models/ident.model.d.ts +89 -0
  169. package/lib/models/ident.model.d.ts.map +1 -0
  170. package/lib/models/ident.model.js +115 -0
  171. package/lib/models/ident.model.js.map +1 -0
  172. package/lib/models/ownermodel.model.d.ts +68 -0
  173. package/lib/models/ownermodel.model.d.ts.map +1 -0
  174. package/lib/models/ownermodel.model.js +112 -0
  175. package/lib/models/ownermodel.model.js.map +1 -0
  176. package/lib/models/registry.model.d.ts +76 -0
  177. package/lib/models/registry.model.d.ts.map +1 -0
  178. package/lib/models/registry.model.js +104 -0
  179. package/lib/models/registry.model.js.map +1 -0
  180. package/lib/models/rolemodel.model.d.ts +28 -0
  181. package/lib/models/rolemodel.model.d.ts.map +1 -0
  182. package/lib/models/{rolemodel.js → rolemodel.model.js} +23 -5
  183. package/lib/models/rolemodel.model.js.map +1 -0
  184. package/lib/models/simpleuser.model.d.ts +78 -0
  185. package/lib/models/simpleuser.model.d.ts.map +1 -0
  186. package/lib/models/simpleuser.model.js +123 -0
  187. package/lib/models/simpleuser.model.js.map +1 -0
  188. package/lib/models/types.d.ts +113 -0
  189. package/lib/models/types.d.ts.map +1 -0
  190. package/lib/models/types.js +2 -0
  191. package/lib/models/types.js.map +1 -0
  192. package/lib/models/user.model.d.ts +103 -0
  193. package/lib/models/user.model.d.ts.map +1 -0
  194. package/lib/models/user.model.js +125 -0
  195. package/lib/models/user.model.js.map +1 -0
  196. package/lib/queues/{memoryqueue.d.ts → memoryqueue.service.d.ts} +26 -13
  197. package/lib/queues/memoryqueue.service.d.ts.map +1 -0
  198. package/lib/queues/{memoryqueue.js → memoryqueue.service.js} +55 -31
  199. package/lib/queues/memoryqueue.service.js.map +1 -0
  200. package/lib/queues/pubsubservice.d.ts +8 -6
  201. package/lib/queues/pubsubservice.d.ts.map +1 -1
  202. package/lib/queues/pubsubservice.js +5 -4
  203. package/lib/queues/pubsubservice.js.map +1 -1
  204. package/lib/queues/queueservice.d.ts +9 -11
  205. package/lib/queues/queueservice.d.ts.map +1 -1
  206. package/lib/queues/queueservice.js +41 -13
  207. package/lib/queues/queueservice.js.map +1 -1
  208. package/lib/rest/hooks.d.ts +8 -0
  209. package/lib/rest/hooks.d.ts.map +1 -0
  210. package/lib/rest/hooks.js +10 -0
  211. package/lib/rest/hooks.js.map +1 -0
  212. package/lib/rest/irest.d.ts +212 -0
  213. package/lib/rest/irest.d.ts.map +1 -0
  214. package/lib/rest/irest.js +39 -0
  215. package/lib/rest/irest.js.map +1 -0
  216. package/lib/rest/originfilter.d.ts +38 -0
  217. package/lib/rest/originfilter.d.ts.map +1 -0
  218. package/lib/rest/originfilter.js +61 -0
  219. package/lib/rest/originfilter.js.map +1 -0
  220. package/lib/rest/restoperationstransport.service.d.ts +193 -0
  221. package/lib/rest/restoperationstransport.service.d.ts.map +1 -0
  222. package/lib/rest/restoperationstransport.service.js +780 -0
  223. package/lib/rest/restoperationstransport.service.js.map +1 -0
  224. package/lib/rest/router.service.d.ts +244 -0
  225. package/lib/rest/router.service.d.ts.map +1 -0
  226. package/lib/rest/router.service.js +843 -0
  227. package/lib/rest/router.service.js.map +1 -0
  228. package/lib/schemas/hooks.d.ts +48 -0
  229. package/lib/schemas/hooks.d.ts.map +1 -0
  230. package/lib/schemas/hooks.js +152 -0
  231. package/lib/schemas/hooks.js.map +1 -0
  232. package/lib/services/audit.model.d.ts +208 -0
  233. package/lib/services/audit.model.d.ts.map +1 -0
  234. package/lib/services/audit.model.js +431 -0
  235. package/lib/services/audit.model.js.map +1 -0
  236. package/lib/services/{authentication.d.ts → authentication.service.d.ts} +140 -59
  237. package/lib/services/authentication.service.d.ts.map +1 -0
  238. package/lib/services/authentication.service.js +932 -0
  239. package/lib/services/authentication.service.js.map +1 -0
  240. package/lib/services/binary.service.d.ts +808 -0
  241. package/lib/services/binary.service.d.ts.map +1 -0
  242. package/lib/services/binary.service.js +1365 -0
  243. package/lib/services/binary.service.js.map +1 -0
  244. package/lib/services/cloudbinary.d.ts +17 -12
  245. package/lib/services/cloudbinary.d.ts.map +1 -1
  246. package/lib/services/cloudbinary.js +23 -17
  247. package/lib/services/cloudbinary.js.map +1 -1
  248. package/lib/services/command.d.ts +118 -0
  249. package/lib/services/command.d.ts.map +1 -0
  250. package/lib/services/command.js +97 -0
  251. package/lib/services/command.js.map +1 -0
  252. package/lib/services/cron.service.d.ts +142 -0
  253. package/lib/services/cron.service.d.ts.map +1 -0
  254. package/lib/services/cron.service.js +291 -0
  255. package/lib/services/cron.service.js.map +1 -0
  256. package/lib/services/{cryptoservice.d.ts → cryptoservice.service.d.ts} +75 -141
  257. package/lib/services/cryptoservice.service.d.ts.map +1 -0
  258. package/lib/services/cryptoservice.service.js +527 -0
  259. package/lib/services/cryptoservice.service.js.map +1 -0
  260. package/lib/services/debugmailer.service.d.ts +49 -0
  261. package/lib/services/debugmailer.service.d.ts.map +1 -0
  262. package/lib/services/{debugmailer.js → debugmailer.service.js} +25 -10
  263. package/lib/services/debugmailer.service.js.map +1 -0
  264. package/lib/services/domainservice.service.d.ts +203 -0
  265. package/lib/services/domainservice.service.d.ts.map +1 -0
  266. package/lib/services/domainservice.service.js +600 -0
  267. package/lib/services/domainservice.service.js.map +1 -0
  268. package/lib/services/httpserver.service.d.ts +248 -0
  269. package/lib/services/httpserver.service.d.ts.map +1 -0
  270. package/lib/services/httpserver.service.js +673 -0
  271. package/lib/services/httpserver.service.js.map +1 -0
  272. package/lib/services/iauthentication.d.ts +9 -0
  273. package/lib/services/iauthentication.d.ts.map +1 -0
  274. package/lib/services/iauthentication.js +2 -0
  275. package/lib/services/iauthentication.js.map +1 -0
  276. package/lib/services/icryptoservice.d.ts +127 -0
  277. package/lib/services/icryptoservice.d.ts.map +1 -0
  278. package/lib/services/icryptoservice.js +68 -0
  279. package/lib/services/icryptoservice.js.map +1 -0
  280. package/lib/services/imailer.d.ts +17 -0
  281. package/lib/services/imailer.d.ts.map +1 -0
  282. package/lib/services/imailer.js +2 -0
  283. package/lib/services/imailer.js.map +1 -0
  284. package/lib/services/iservice.d.ts +104 -0
  285. package/lib/services/iservice.d.ts.map +1 -0
  286. package/lib/services/iservice.js +63 -0
  287. package/lib/services/iservice.js.map +1 -0
  288. package/lib/services/mailer.service.d.ts +220 -0
  289. package/lib/services/mailer.service.d.ts.map +1 -0
  290. package/lib/services/mailer.service.js +251 -0
  291. package/lib/services/mailer.service.js.map +1 -0
  292. package/lib/services/{notificationservice.d.ts → notificationservice.service.d.ts} +10 -11
  293. package/lib/services/notificationservice.service.d.ts.map +1 -0
  294. package/lib/services/{notificationservice.js → notificationservice.service.js} +24 -12
  295. package/lib/services/notificationservice.service.js.map +1 -0
  296. package/lib/services/oauth.d.ts +52 -28
  297. package/lib/services/oauth.d.ts.map +1 -1
  298. package/lib/services/oauth.js +365 -254
  299. package/lib/services/oauth.js.map +1 -1
  300. package/lib/services/operationstransport.d.ts +65 -0
  301. package/lib/services/operationstransport.d.ts.map +1 -0
  302. package/lib/services/operationstransport.js +103 -0
  303. package/lib/services/operationstransport.js.map +1 -0
  304. package/lib/services/{prometheus.d.ts → prometheus.service.d.ts} +13 -12
  305. package/lib/services/prometheus.service.d.ts.map +1 -0
  306. package/lib/services/prometheus.service.js +203 -0
  307. package/lib/services/prometheus.service.js.map +1 -0
  308. package/lib/services/{resource.d.ts → resource.service.d.ts} +34 -15
  309. package/lib/services/resource.service.d.ts.map +1 -0
  310. package/lib/services/resource.service.js +301 -0
  311. package/lib/services/resource.service.js.map +1 -0
  312. package/lib/services/service.d.ts +87 -188
  313. package/lib/services/service.d.ts.map +1 -1
  314. package/lib/services/service.js +407 -422
  315. package/lib/services/service.js.map +1 -1
  316. package/lib/services/servicecommands.d.ts +99 -0
  317. package/lib/services/servicecommands.d.ts.map +1 -0
  318. package/lib/services/servicecommands.js +165 -0
  319. package/lib/services/servicecommands.js.map +1 -0
  320. package/lib/services/serviceparameters.d.ts +33 -0
  321. package/lib/services/serviceparameters.d.ts.map +1 -0
  322. package/lib/services/serviceparameters.js +79 -0
  323. package/lib/services/serviceparameters.js.map +1 -0
  324. package/lib/{utils → session}/cookie.d.ts +32 -19
  325. package/lib/session/cookie.d.ts.map +1 -0
  326. package/lib/{utils → session}/cookie.js +76 -23
  327. package/lib/session/cookie.js.map +1 -0
  328. package/lib/session/manager.model.d.ts +71 -0
  329. package/lib/session/manager.model.d.ts.map +1 -0
  330. package/lib/session/manager.model.js +155 -0
  331. package/lib/session/manager.model.js.map +1 -0
  332. package/lib/session/session.d.ts +57 -0
  333. package/lib/session/session.d.ts.map +1 -0
  334. package/lib/session/session.js +126 -0
  335. package/lib/session/session.js.map +1 -0
  336. package/lib/stores/istore.d.ts +99 -0
  337. package/lib/stores/istore.d.ts.map +1 -0
  338. package/lib/stores/istore.js +26 -0
  339. package/lib/stores/istore.js.map +1 -0
  340. package/lib/stores/memory.service.d.ts +114 -0
  341. package/lib/stores/memory.service.d.ts.map +1 -0
  342. package/lib/stores/memory.service.js +343 -0
  343. package/lib/stores/memory.service.js.map +1 -0
  344. package/lib/stores/store.d.ts +126 -626
  345. package/lib/stores/store.d.ts.map +1 -1
  346. package/lib/stores/store.js +257 -1117
  347. package/lib/stores/store.js.map +1 -1
  348. package/lib/templates/templates.d.ts +39 -0
  349. package/lib/templates/templates.d.ts.map +1 -0
  350. package/lib/templates/templates.js +92 -0
  351. package/lib/templates/templates.js.map +1 -0
  352. package/lib/test/application.d.ts +174 -0
  353. package/lib/test/application.d.ts.map +1 -0
  354. package/lib/test/application.js +288 -0
  355. package/lib/test/application.js.map +1 -0
  356. package/lib/test/asyncstorage.d.ts +16 -0
  357. package/lib/test/asyncstorage.d.ts.map +1 -0
  358. package/lib/test/asyncstorage.js +32 -0
  359. package/lib/test/asyncstorage.js.map +1 -0
  360. package/lib/test/core.d.ts +63 -0
  361. package/lib/test/core.d.ts.map +1 -0
  362. package/lib/test/core.js +190 -0
  363. package/lib/test/core.js.map +1 -0
  364. package/lib/test/index.d.ts +7 -0
  365. package/lib/test/index.d.ts.map +1 -0
  366. package/lib/test/index.js +8 -0
  367. package/lib/test/index.js.map +1 -0
  368. package/lib/test/internal.d.ts +34 -0
  369. package/lib/test/internal.d.ts.map +1 -0
  370. package/lib/test/internal.js +156 -0
  371. package/lib/test/internal.js.map +1 -0
  372. package/lib/test/objects.d.ts +318 -0
  373. package/lib/test/objects.d.ts.map +1 -0
  374. package/lib/test/objects.js +443 -0
  375. package/lib/test/objects.js.map +1 -0
  376. package/lib/utils/abstractdeployer.d.ts +4 -2
  377. package/lib/utils/abstractdeployer.d.ts.map +1 -1
  378. package/lib/utils/abstractdeployer.js +3 -0
  379. package/lib/utils/abstractdeployer.js.map +1 -1
  380. package/package.json +85 -60
  381. package/test/cachedapp/webda.config.json +1 -5
  382. package/test/config-cached.json +1 -5
  383. package/test/config.json +0 -9
  384. package/test/my-cnf.json +9 -0
  385. package/webda.module.json +3463 -2482
  386. package/lib/application.d.ts +0 -888
  387. package/lib/application.d.ts.map +0 -1
  388. package/lib/application.js +0 -768
  389. package/lib/application.js.map +0 -1
  390. package/lib/application.spec.d.ts +0 -2
  391. package/lib/application.spec.d.ts.map +0 -1
  392. package/lib/application.spec.js +0 -248
  393. package/lib/application.spec.js.map +0 -1
  394. package/lib/core.d.ts +0 -743
  395. package/lib/core.d.ts.map +0 -1
  396. package/lib/core.js +0 -1334
  397. package/lib/core.js.map +0 -1
  398. package/lib/core.spec.d.ts +0 -2
  399. package/lib/core.spec.d.ts.map +0 -1
  400. package/lib/core.spec.js +0 -790
  401. package/lib/core.spec.js.map +0 -1
  402. package/lib/errors.d.ts +0 -64
  403. package/lib/errors.d.ts.map +0 -1
  404. package/lib/errors.js +0 -97
  405. package/lib/errors.js.map +0 -1
  406. package/lib/errors.spec.d.ts +0 -2
  407. package/lib/errors.spec.d.ts.map +0 -1
  408. package/lib/errors.spec.js +0 -33
  409. package/lib/errors.spec.js.map +0 -1
  410. package/lib/models/aclmodel.spec.d.ts +0 -2
  411. package/lib/models/aclmodel.spec.d.ts.map +0 -1
  412. package/lib/models/aclmodel.spec.js +0 -187
  413. package/lib/models/aclmodel.spec.js.map +0 -1
  414. package/lib/models/coremodel.d.ts +0 -896
  415. package/lib/models/coremodel.d.ts.map +0 -1
  416. package/lib/models/coremodel.js +0 -1214
  417. package/lib/models/coremodel.js.map +0 -1
  418. package/lib/models/coremodel.spec.d.ts +0 -2
  419. package/lib/models/coremodel.spec.d.ts.map +0 -1
  420. package/lib/models/coremodel.spec.js +0 -464
  421. package/lib/models/coremodel.spec.js.map +0 -1
  422. package/lib/models/ident.d.ts +0 -68
  423. package/lib/models/ident.d.ts.map +0 -1
  424. package/lib/models/ident.js +0 -26
  425. package/lib/models/ident.js.map +0 -1
  426. package/lib/models/ident.spec.d.ts +0 -2
  427. package/lib/models/ident.spec.d.ts.map +0 -1
  428. package/lib/models/ident.spec.js +0 -24
  429. package/lib/models/ident.spec.js.map +0 -1
  430. package/lib/models/ownermodel.d.ts +0 -51
  431. package/lib/models/ownermodel.d.ts.map +0 -1
  432. package/lib/models/ownermodel.js +0 -65
  433. package/lib/models/ownermodel.js.map +0 -1
  434. package/lib/models/ownermodel.spec.d.ts +0 -2
  435. package/lib/models/ownermodel.spec.d.ts.map +0 -1
  436. package/lib/models/ownermodel.spec.js +0 -215
  437. package/lib/models/ownermodel.spec.js.map +0 -1
  438. package/lib/models/relations.d.ts +0 -182
  439. package/lib/models/relations.d.ts.map +0 -1
  440. package/lib/models/relations.js +0 -157
  441. package/lib/models/relations.js.map +0 -1
  442. package/lib/models/relations.spec.d.ts +0 -14
  443. package/lib/models/relations.spec.d.ts.map +0 -1
  444. package/lib/models/relations.spec.js +0 -217
  445. package/lib/models/relations.spec.js.map +0 -1
  446. package/lib/models/rolemodel.d.ts +0 -11
  447. package/lib/models/rolemodel.d.ts.map +0 -1
  448. package/lib/models/rolemodel.js.map +0 -1
  449. package/lib/models/rolemodel.spec.d.ts +0 -2
  450. package/lib/models/rolemodel.spec.d.ts.map +0 -1
  451. package/lib/models/rolemodel.spec.js +0 -90
  452. package/lib/models/rolemodel.spec.js.map +0 -1
  453. package/lib/models/simpleuser.d.ts +0 -47
  454. package/lib/models/simpleuser.d.ts.map +0 -1
  455. package/lib/models/simpleuser.js +0 -84
  456. package/lib/models/simpleuser.js.map +0 -1
  457. package/lib/models/test.d.ts +0 -11
  458. package/lib/models/test.d.ts.map +0 -1
  459. package/lib/models/test.js +0 -7
  460. package/lib/models/test.js.map +0 -1
  461. package/lib/models/user.d.ts +0 -67
  462. package/lib/models/user.d.ts.map +0 -1
  463. package/lib/models/user.js +0 -86
  464. package/lib/models/user.js.map +0 -1
  465. package/lib/models/user.spec.d.ts +0 -2
  466. package/lib/models/user.spec.d.ts.map +0 -1
  467. package/lib/models/user.spec.js +0 -89
  468. package/lib/models/user.spec.js.map +0 -1
  469. package/lib/queues/filequeue.d.ts +0 -59
  470. package/lib/queues/filequeue.d.ts.map +0 -1
  471. package/lib/queues/filequeue.js +0 -131
  472. package/lib/queues/filequeue.js.map +0 -1
  473. package/lib/queues/filequeue.spec.d.ts +0 -2
  474. package/lib/queues/filequeue.spec.d.ts.map +0 -1
  475. package/lib/queues/filequeue.spec.js +0 -84
  476. package/lib/queues/filequeue.spec.js.map +0 -1
  477. package/lib/queues/memoryqueue.d.ts.map +0 -1
  478. package/lib/queues/memoryqueue.js.map +0 -1
  479. package/lib/queues/memoryqueue.spec.d.ts +0 -2
  480. package/lib/queues/memoryqueue.spec.d.ts.map +0 -1
  481. package/lib/queues/memoryqueue.spec.js +0 -203
  482. package/lib/queues/memoryqueue.spec.js.map +0 -1
  483. package/lib/queues/queue.spec.d.ts +0 -6
  484. package/lib/queues/queue.spec.d.ts.map +0 -1
  485. package/lib/queues/queue.spec.js +0 -55
  486. package/lib/queues/queue.spec.js.map +0 -1
  487. package/lib/rest/restdomainservice.d.ts +0 -63
  488. package/lib/rest/restdomainservice.d.ts.map +0 -1
  489. package/lib/rest/restdomainservice.js +0 -687
  490. package/lib/rest/restdomainservice.js.map +0 -1
  491. package/lib/rest/restdomainservice.spec.d.ts +0 -2
  492. package/lib/rest/restdomainservice.spec.d.ts.map +0 -1
  493. package/lib/rest/restdomainservice.spec.js +0 -124
  494. package/lib/rest/restdomainservice.spec.js.map +0 -1
  495. package/lib/rest/router.d.ts +0 -174
  496. package/lib/rest/router.d.ts.map +0 -1
  497. package/lib/rest/router.js +0 -429
  498. package/lib/rest/router.js.map +0 -1
  499. package/lib/rest/router.spec.d.ts +0 -2
  500. package/lib/rest/router.spec.d.ts.map +0 -1
  501. package/lib/rest/router.spec.js +0 -255
  502. package/lib/rest/router.spec.js.map +0 -1
  503. package/lib/services/asyncevents.d.ts +0 -152
  504. package/lib/services/asyncevents.d.ts.map +0 -1
  505. package/lib/services/asyncevents.js +0 -217
  506. package/lib/services/asyncevents.js.map +0 -1
  507. package/lib/services/asyncevents.spec.d.ts +0 -2
  508. package/lib/services/asyncevents.spec.d.ts.map +0 -1
  509. package/lib/services/asyncevents.spec.js +0 -118
  510. package/lib/services/asyncevents.spec.js.map +0 -1
  511. package/lib/services/authentication.d.ts.map +0 -1
  512. package/lib/services/authentication.js +0 -773
  513. package/lib/services/authentication.js.map +0 -1
  514. package/lib/services/authentication.spec.d.ts +0 -2
  515. package/lib/services/authentication.spec.d.ts.map +0 -1
  516. package/lib/services/authentication.spec.js +0 -458
  517. package/lib/services/authentication.spec.js.map +0 -1
  518. package/lib/services/binary.d.ts +0 -477
  519. package/lib/services/binary.d.ts.map +0 -1
  520. package/lib/services/binary.js +0 -617
  521. package/lib/services/binary.js.map +0 -1
  522. package/lib/services/binary.spec.d.ts +0 -41
  523. package/lib/services/binary.spec.d.ts.map +0 -1
  524. package/lib/services/binary.spec.js +0 -151
  525. package/lib/services/binary.spec.js.map +0 -1
  526. package/lib/services/cloudbinary.spec.d.ts +0 -6
  527. package/lib/services/cloudbinary.spec.d.ts.map +0 -1
  528. package/lib/services/cloudbinary.spec.js +0 -66
  529. package/lib/services/cloudbinary.spec.js.map +0 -1
  530. package/lib/services/configuration.d.ts.map +0 -1
  531. package/lib/services/configuration.js +0 -193
  532. package/lib/services/configuration.js.map +0 -1
  533. package/lib/services/configuration.spec.d.ts +0 -2
  534. package/lib/services/configuration.spec.d.ts.map +0 -1
  535. package/lib/services/configuration.spec.js +0 -130
  536. package/lib/services/configuration.spec.js.map +0 -1
  537. package/lib/services/cron.d.ts +0 -74
  538. package/lib/services/cron.d.ts.map +0 -1
  539. package/lib/services/cron.js +0 -141
  540. package/lib/services/cron.js.map +0 -1
  541. package/lib/services/cron.spec.d.ts +0 -2
  542. package/lib/services/cron.spec.d.ts.map +0 -1
  543. package/lib/services/cron.spec.js +0 -76
  544. package/lib/services/cron.spec.js.map +0 -1
  545. package/lib/services/cryptoservice.d.ts.map +0 -1
  546. package/lib/services/cryptoservice.js +0 -433
  547. package/lib/services/cryptoservice.js.map +0 -1
  548. package/lib/services/cryptoservice.spec.d.ts +0 -2
  549. package/lib/services/cryptoservice.spec.d.ts.map +0 -1
  550. package/lib/services/cryptoservice.spec.js +0 -177
  551. package/lib/services/cryptoservice.spec.js.map +0 -1
  552. package/lib/services/debugmailer.d.ts +0 -36
  553. package/lib/services/debugmailer.d.ts.map +0 -1
  554. package/lib/services/debugmailer.js.map +0 -1
  555. package/lib/services/debugmailer.spec.d.ts +0 -2
  556. package/lib/services/debugmailer.spec.d.ts.map +0 -1
  557. package/lib/services/debugmailer.spec.js +0 -32
  558. package/lib/services/debugmailer.spec.js.map +0 -1
  559. package/lib/services/domainservice.d.ts +0 -272
  560. package/lib/services/domainservice.d.ts.map +0 -1
  561. package/lib/services/domainservice.js +0 -651
  562. package/lib/services/domainservice.js.map +0 -1
  563. package/lib/services/domainservice.spec.d.ts +0 -2
  564. package/lib/services/domainservice.spec.d.ts.map +0 -1
  565. package/lib/services/domainservice.spec.js +0 -592
  566. package/lib/services/domainservice.spec.js.map +0 -1
  567. package/lib/services/filebinary.d.ts +0 -136
  568. package/lib/services/filebinary.d.ts.map +0 -1
  569. package/lib/services/filebinary.js +0 -373
  570. package/lib/services/filebinary.js.map +0 -1
  571. package/lib/services/filebinary.spec.d.ts +0 -25
  572. package/lib/services/filebinary.spec.d.ts.map +0 -1
  573. package/lib/services/filebinary.spec.js +0 -428
  574. package/lib/services/filebinary.spec.js.map +0 -1
  575. package/lib/services/fileconfiguration.d.ts +0 -23
  576. package/lib/services/fileconfiguration.d.ts.map +0 -1
  577. package/lib/services/fileconfiguration.js +0 -48
  578. package/lib/services/fileconfiguration.js.map +0 -1
  579. package/lib/services/fileconfiguration.spec.d.ts +0 -2
  580. package/lib/services/fileconfiguration.spec.d.ts.map +0 -1
  581. package/lib/services/fileconfiguration.spec.js +0 -215
  582. package/lib/services/fileconfiguration.spec.js.map +0 -1
  583. package/lib/services/invitationservice.d.ts +0 -223
  584. package/lib/services/invitationservice.d.ts.map +0 -1
  585. package/lib/services/invitationservice.js +0 -529
  586. package/lib/services/invitationservice.js.map +0 -1
  587. package/lib/services/invitationservice.spec.d.ts +0 -2
  588. package/lib/services/invitationservice.spec.d.ts.map +0 -1
  589. package/lib/services/invitationservice.spec.js +0 -567
  590. package/lib/services/invitationservice.spec.js.map +0 -1
  591. package/lib/services/kubernetesconfiguration.d.ts +0 -27
  592. package/lib/services/kubernetesconfiguration.d.ts.map +0 -1
  593. package/lib/services/kubernetesconfiguration.js +0 -52
  594. package/lib/services/kubernetesconfiguration.js.map +0 -1
  595. package/lib/services/kubernetesconfiguration.spec.d.ts +0 -2
  596. package/lib/services/kubernetesconfiguration.spec.d.ts.map +0 -1
  597. package/lib/services/kubernetesconfiguration.spec.js +0 -206
  598. package/lib/services/kubernetesconfiguration.spec.js.map +0 -1
  599. package/lib/services/mailer.d.ts +0 -166
  600. package/lib/services/mailer.d.ts.map +0 -1
  601. package/lib/services/mailer.js +0 -176
  602. package/lib/services/mailer.js.map +0 -1
  603. package/lib/services/mailer.spec.d.ts +0 -2
  604. package/lib/services/mailer.spec.d.ts.map +0 -1
  605. package/lib/services/mailer.spec.js +0 -158
  606. package/lib/services/mailer.spec.js.map +0 -1
  607. package/lib/services/notificationservice.d.ts.map +0 -1
  608. package/lib/services/notificationservice.js.map +0 -1
  609. package/lib/services/notificationservice.spec.d.ts +0 -2
  610. package/lib/services/notificationservice.spec.d.ts.map +0 -1
  611. package/lib/services/notificationservice.spec.js +0 -83
  612. package/lib/services/notificationservice.spec.js.map +0 -1
  613. package/lib/services/oauth.spec.d.ts +0 -2
  614. package/lib/services/oauth.spec.d.ts.map +0 -1
  615. package/lib/services/oauth.spec.js +0 -208
  616. package/lib/services/oauth.spec.js.map +0 -1
  617. package/lib/services/prometheus.d.ts.map +0 -1
  618. package/lib/services/prometheus.js +0 -160
  619. package/lib/services/prometheus.js.map +0 -1
  620. package/lib/services/prometheus.spec.d.ts +0 -2
  621. package/lib/services/prometheus.spec.d.ts.map +0 -1
  622. package/lib/services/prometheus.spec.js +0 -76
  623. package/lib/services/prometheus.spec.js.map +0 -1
  624. package/lib/services/resource.d.ts.map +0 -1
  625. package/lib/services/resource.js +0 -170
  626. package/lib/services/resource.js.map +0 -1
  627. package/lib/services/resource.spec.d.ts +0 -2
  628. package/lib/services/resource.spec.d.ts.map +0 -1
  629. package/lib/services/resource.spec.js +0 -140
  630. package/lib/services/resource.spec.js.map +0 -1
  631. package/lib/services/service.spec.d.ts +0 -2
  632. package/lib/services/service.spec.d.ts.map +0 -1
  633. package/lib/services/service.spec.js +0 -286
  634. package/lib/services/service.spec.js.map +0 -1
  635. package/lib/stores/aggregator.d.ts +0 -48
  636. package/lib/stores/aggregator.d.ts.map +0 -1
  637. package/lib/stores/aggregator.js +0 -80
  638. package/lib/stores/aggregator.js.map +0 -1
  639. package/lib/stores/file.d.ts +0 -108
  640. package/lib/stores/file.d.ts.map +0 -1
  641. package/lib/stores/file.js +0 -188
  642. package/lib/stores/file.js.map +0 -1
  643. package/lib/stores/file.spec.d.ts +0 -13
  644. package/lib/stores/file.spec.d.ts.map +0 -1
  645. package/lib/stores/file.spec.js +0 -138
  646. package/lib/stores/file.spec.js.map +0 -1
  647. package/lib/stores/mapper.d.ts +0 -150
  648. package/lib/stores/mapper.d.ts.map +0 -1
  649. package/lib/stores/mapper.js +0 -293
  650. package/lib/stores/mapper.js.map +0 -1
  651. package/lib/stores/mapper.spec.d.ts +0 -2
  652. package/lib/stores/mapper.spec.d.ts.map +0 -1
  653. package/lib/stores/mapper.spec.js +0 -167
  654. package/lib/stores/mapper.spec.js.map +0 -1
  655. package/lib/stores/memory.d.ts +0 -152
  656. package/lib/stores/memory.d.ts.map +0 -1
  657. package/lib/stores/memory.js +0 -371
  658. package/lib/stores/memory.js.map +0 -1
  659. package/lib/stores/memory.spec.d.ts +0 -14
  660. package/lib/stores/memory.spec.d.ts.map +0 -1
  661. package/lib/stores/memory.spec.js +0 -263
  662. package/lib/stores/memory.spec.js.map +0 -1
  663. package/lib/stores/modelmapper.d.ts +0 -62
  664. package/lib/stores/modelmapper.d.ts.map +0 -1
  665. package/lib/stores/modelmapper.js +0 -197
  666. package/lib/stores/modelmapper.js.map +0 -1
  667. package/lib/stores/store.spec.d.ts +0 -57
  668. package/lib/stores/store.spec.d.ts.map +0 -1
  669. package/lib/stores/store.spec.js +0 -737
  670. package/lib/stores/store.spec.js.map +0 -1
  671. package/lib/test.d.ts +0 -265
  672. package/lib/test.d.ts.map +0 -1
  673. package/lib/test.js +0 -622
  674. package/lib/test.js.map +0 -1
  675. package/lib/unpackedapplication.d.ts.map +0 -1
  676. package/lib/unpackedapplication.js +0 -350
  677. package/lib/unpackedapplication.js.map +0 -1
  678. package/lib/utils/abstractdeployer.spec.d.ts +0 -2
  679. package/lib/utils/abstractdeployer.spec.d.ts.map +0 -1
  680. package/lib/utils/abstractdeployer.spec.js +0 -21
  681. package/lib/utils/abstractdeployer.spec.js.map +0 -1
  682. package/lib/utils/case.d.ts +0 -8
  683. package/lib/utils/case.d.ts.map +0 -1
  684. package/lib/utils/case.js +0 -43
  685. package/lib/utils/case.js.map +0 -1
  686. package/lib/utils/case.spec.d.ts +0 -2
  687. package/lib/utils/case.spec.d.ts.map +0 -1
  688. package/lib/utils/case.spec.js +0 -50
  689. package/lib/utils/case.spec.js.map +0 -1
  690. package/lib/utils/context.d.ts +0 -482
  691. package/lib/utils/context.d.ts.map +0 -1
  692. package/lib/utils/context.js +0 -739
  693. package/lib/utils/context.js.map +0 -1
  694. package/lib/utils/context.spec.d.ts +0 -10
  695. package/lib/utils/context.spec.d.ts.map +0 -1
  696. package/lib/utils/context.spec.js +0 -383
  697. package/lib/utils/context.spec.js.map +0 -1
  698. package/lib/utils/cookie.d.ts.map +0 -1
  699. package/lib/utils/cookie.js.map +0 -1
  700. package/lib/utils/cookie.spec.d.ts +0 -2
  701. package/lib/utils/cookie.spec.d.ts.map +0 -1
  702. package/lib/utils/cookie.spec.js +0 -88
  703. package/lib/utils/cookie.spec.js.map +0 -1
  704. package/lib/utils/esm.d.ts +0 -14
  705. package/lib/utils/esm.d.ts.map +0 -1
  706. package/lib/utils/esm.js +0 -19
  707. package/lib/utils/esm.js.map +0 -1
  708. package/lib/utils/httpcontext.d.ts.map +0 -1
  709. package/lib/utils/httpcontext.js.map +0 -1
  710. package/lib/utils/httpcontext.spec.d.ts +0 -5
  711. package/lib/utils/httpcontext.spec.d.ts.map +0 -1
  712. package/lib/utils/httpcontext.spec.js +0 -77
  713. package/lib/utils/httpcontext.spec.js.map +0 -1
  714. package/lib/utils/logger.d.ts +0 -92
  715. package/lib/utils/logger.d.ts.map +0 -1
  716. package/lib/utils/logger.js +0 -121
  717. package/lib/utils/logger.js.map +0 -1
  718. package/lib/utils/logger.spec.d.ts +0 -2
  719. package/lib/utils/logger.spec.d.ts.map +0 -1
  720. package/lib/utils/logger.spec.js +0 -48
  721. package/lib/utils/logger.spec.js.map +0 -1
  722. package/lib/utils/serializers.d.ts +0 -162
  723. package/lib/utils/serializers.d.ts.map +0 -1
  724. package/lib/utils/serializers.js +0 -420
  725. package/lib/utils/serializers.js.map +0 -1
  726. package/lib/utils/serializers.spec.d.ts +0 -2
  727. package/lib/utils/serializers.spec.d.ts.map +0 -1
  728. package/lib/utils/serializers.spec.js +0 -311
  729. package/lib/utils/serializers.spec.js.map +0 -1
  730. package/lib/utils/session.d.ts +0 -123
  731. package/lib/utils/session.d.ts.map +0 -1
  732. package/lib/utils/session.js +0 -156
  733. package/lib/utils/session.js.map +0 -1
  734. package/lib/utils/session.spec.d.ts +0 -2
  735. package/lib/utils/session.spec.d.ts.map +0 -1
  736. package/lib/utils/session.spec.js +0 -81
  737. package/lib/utils/session.spec.js.map +0 -1
  738. package/lib/utils/throttler.d.ts +0 -99
  739. package/lib/utils/throttler.d.ts.map +0 -1
  740. package/lib/utils/throttler.js +0 -160
  741. package/lib/utils/throttler.js.map +0 -1
  742. package/lib/utils/throttler.spec.d.ts +0 -2
  743. package/lib/utils/throttler.spec.d.ts.map +0 -1
  744. package/lib/utils/throttler.spec.js +0 -53
  745. package/lib/utils/throttler.spec.js.map +0 -1
  746. package/lib/utils/waiter.d.ts +0 -94
  747. package/lib/utils/waiter.d.ts.map +0 -1
  748. package/lib/utils/waiter.js +0 -148
  749. package/lib/utils/waiter.js.map +0 -1
  750. package/lib/utils/waiter.spec.d.ts +0 -2
  751. package/lib/utils/waiter.spec.d.ts.map +0 -1
  752. package/lib/utils/waiter.spec.js +0 -98
  753. package/lib/utils/waiter.spec.js.map +0 -1
  754. package/test/jsonutils/mdocs.yaml +0 -56
  755. package/test/jsonutils/test.json +0 -3
  756. package/test/jsonutils/test.yml +0 -5
package/README.md ADDED
@@ -0,0 +1,252 @@
1
+ # @webda/core module
2
+
3
+ This module is part of Webda Application Framework that allows you to quickly develop applications with all modern prerequisites: Security, Extensibility, GraphQL, REST, CloudNative [https://webda.io](https://webda.io)
4
+
5
+ <img src="https://webda.io/images/webda.svg" width="128" />
6
+
7
+ ![CI](https://github.com/loopingz/webda.io/workflows/CI/badge.svg)
8
+
9
+ [![Join the chat at https://gitter.im/loopingz/webda](https://badges.gitter.im/loopingz/webda.svg)](https://gitter.im/loopingz/webda?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
10
+ [![codecov](https://codecov.io/gh/loopingz/webda.io/branch/main/graph/badge.svg?token=8N9DNM3K3O)](https://codecov.io/gh/loopingz/webda.io)
11
+ [![SonarCloud.io](https://sonarcloud.io/api/project_badges/measure?project=loopingz_webda.io&metric=alert_status)](https://sonarcloud.io/summary/new_code?id=loopingz_webda.io)
12
+ ![CodeQL](https://github.com/loopingz/webda.io/workflows/CodeQL/badge.svg)
13
+
14
+ <!-- README_HEADER -->
15
+
16
+ The runtime engine of the [webda.io](https://webda.io) framework. It manages the full lifecycle of a Webda application: loading configuration, instantiating services, routing HTTP requests, managing sessions, and providing cross-cutting concerns like logging, metrics, and caching.
17
+
18
+ ## Architecture
19
+
20
+ ![Architecture](https://excalidraw.com/#json=ZknRJYOBPPNyJpoI-Ua_a,iPuhkC-OplOnesHiMJaY9A)
21
+
22
+ The framework is organized into six layers:
23
+
24
+ ### Application Layer
25
+
26
+ Responsible for discovering modules, loading configuration, and bootstrapping the runtime.
27
+
28
+ - **Application** -- Scans the project, parses `webda.config.json`, discovers installed Moddas (service types) and Models, and caches everything for fast startup.
29
+ - **UnpackedApplication** -- Development-oriented variant that auto-discovers `webda.module.json` files and creates default services (Router, Registry, CryptoService, SessionManager) when missing.
30
+ - **Configuration** -- Defines the `UnpackedConfiguration` schema (version 4) with service definitions, global parameters, and application settings.
31
+ - **Runner** -- Orchestrates startup: creates Core from Application, initializes all services, and registers SIGINT for graceful shutdown.
32
+ - **Application Hooks** -- `useApplication()`, `useModel()`, `useModelId()`, `useParameters()` for accessing application state from anywhere in the call stack.
33
+
34
+ ### Core Runtime
35
+
36
+ The central orchestrator that manages the service lifecycle and dependency graph.
37
+
38
+ - **Core** -- Creates and initializes services with dependency tracking, maps Models to Stores and BinaryServices, manages the operation registry. Lifecycle: `initial` -> `loading` -> `initializing` -> `ready` -> `stopping` -> `stopped`.
39
+ - **InstanceStorage** -- `AsyncLocalStorage`-based context that holds the current Core, Application, Router, and request context. Enables the hooks pattern without passing references through every function call.
40
+ - **Core Hooks** -- `useCore()`, `useService()`, `useDynamicService()`, `useModelStore()`, `useModelRepository()`, `getMachineId()`.
41
+ - **Events** -- Async event system with lifecycle events: `Webda.Init`, `Webda.Request`, `Webda.Result`, `Webda.404`, `Webda.OperationSuccess`, `Webda.Configuration.Applied`, etc.
42
+ - **Errors** -- Typed HTTP errors: `Unauthorized` (401), `Forbidden` (403), `NotFound` (404), `BadRequest` (400), `Conflict` (409), `TooManyRequests` (429), `Redirect` (302), and more.
43
+
44
+ ### Services Layer
45
+
46
+ All application logic lives in services. Every service extends `Service` which provides logging, metrics, dependency injection, and event emission.
47
+
48
+ - **Service** -- Base class for all application services. Provides `@Inject` decorator for DI, `@Route` for HTTP endpoints, logger per instance, metrics support, and lifecycle hooks (`init()`, `resolve()`, `stop()`).
49
+ - **ServiceParameters** -- Base configuration class with change watching support. Services declare their config shape by extending this class.
50
+ - **CryptoService** -- Encryption, JWT signing/verification, key management with rotation support. Pluggable encrypters.
51
+ - **BinaryService** -- Abstract file/binary storage with metadata, integrity challenges, and model-attribute mapping.
52
+ - **ConfigurationService** -- Dynamic configuration with hot-reload from external sources (files, Kubernetes ConfigMaps, other services).
53
+
54
+ ### Data Layer
55
+
56
+ Persistent storage abstraction with query support.
57
+
58
+ - **Store** -- Abstract storage with CRUD, query (via WebdaQL), conditional updates, and event emission (`Created`, `Updated`, `Deleted`). Automatically maps to Models via scoring.
59
+ - **MemoryStore** -- In-memory implementation with optional file persistence. Used as the default Registry.
60
+ - **Registry** -- Key-value store for framework internals (crypto keys, service state). Backed by any Store implementation.
61
+
62
+ ### HTTP / Request Layer
63
+
64
+ Handles incoming HTTP requests and manages user sessions.
65
+
66
+ - **Router** -- Routes HTTP requests to service methods, manages OpenAPI spec generation, request/CORS filters, and model REST endpoints.
67
+ - **OperationContext** -- Typed request/response context with generic `<Input, Parameters, Output>`. Provides session access, parameter parsing, header management, and streaming.
68
+ - **SessionManager** -- Abstract session load/save. Default implementation uses JWT tokens in secure cookies with optional backend storage.
69
+
70
+ ### Cross-Cutting Concerns
71
+
72
+ Shared infrastructure available to all services.
73
+
74
+ - **Logger** -- Structured logging with per-service context. Backed by `@webda/workout`.
75
+ - **Metrics** -- Prometheus integration via `prom-client`. `useMetric()` creates Counters, Gauges, and Histograms with automatic service labels.
76
+ - **Cache** -- Decorator-based caching at four scopes: `@ProcessCache()` (global), `@InstanceCache()` (per Core), `@SessionCache()` (per user), `@ContextCache()` (per request).
77
+ - **Queue** -- Message queue consumer pattern with configurable parallelism, retry backoff, and metrics. Extend for SQS, AMQP, etc.
78
+ - **Models** -- Model registry with built-in types: `CoreModel`, `User`, `Ident`, `ACLModel`, `OwnerModel`, `RegistryEntry`.
79
+ - **Execution Context** -- `AsyncLocalStorage`-based context for `useContext()`, `useCurrentUser()`, `runAsSystem()`, `runWithContext()`.
80
+
81
+ ## Request Flow
82
+
83
+ ```
84
+ HTTP Request
85
+ |
86
+ v
87
+ HttpContext (parse headers, cookies, body)
88
+ |
89
+ v
90
+ OperationContext / WebContext (typed I/O)
91
+ |
92
+ v
93
+ SessionManager.load() (JWT from cookie)
94
+ |
95
+ v
96
+ Router.execute() (match route, run filters)
97
+ |
98
+ v
99
+ Service method (business logic)
100
+ |
101
+ v
102
+ SessionManager.save() (persist if dirty)
103
+ |
104
+ v
105
+ HTTP Response
106
+ ```
107
+
108
+ ## Hooks API
109
+
110
+ The hooks pattern provides access to framework singletons from any point in the call stack, powered by `AsyncLocalStorage`:
111
+
112
+ | Hook | Returns | Use case |
113
+ |------|---------|----------|
114
+ | `useCore()` | `Core` | Access the runtime engine |
115
+ | `useApplication()` | `Application` | Access project metadata and configuration |
116
+ | `useService(name)` | Typed service | Get a named service (`"Registry"`, `"CryptoService"`, etc.) |
117
+ | `useDynamicService(name)` | `Service` | Get a service by arbitrary name |
118
+ | `useModel(name)` | `ModelDefinition` | Get a model class with metadata |
119
+ | `useModelId(object)` | `string` | Get the model identifier for an instance |
120
+ | `useModelStore(name)` | `IStore` | Get the store assigned to a model |
121
+ | `useModelRepository(name)` | `Repository` | Get the repository for a model |
122
+ | `useContext()` | `Context` | Get the current request context |
123
+ | `useCurrentUser()` | `User` | Get the authenticated user |
124
+ | `useCurrentUserId()` | `string` | Get the user ID or `"system"` |
125
+ | `useLogger(class)` | `Logger` | Get a logger with class context |
126
+ | `useMetric(type, config)` | Counter/Gauge/Histogram | Create a prometheus metric |
127
+ | `useParameters()` | `Configuration["parameters"]` | Get global configuration parameters |
128
+ | `getMachineId()` | `string` | Get a stable machine identifier |
129
+
130
+ ## Dependency Injection
131
+
132
+ Services declare dependencies with the `@Inject` decorator:
133
+
134
+ ```typescript
135
+ import { Service, Inject } from "@webda/core";
136
+
137
+ class MyService extends Service {
138
+ // Inject by service name
139
+ @Inject("CryptoService")
140
+ crypto: CryptoService;
141
+
142
+ // Inject from a parameter value
143
+ @Inject("params:storeName", "Registry")
144
+ store: Store;
145
+
146
+ // Optional injection
147
+ @Inject("NotificationService", undefined, true)
148
+ notifications?: NotificationService;
149
+ }
150
+ ```
151
+
152
+ ## Configuration
153
+
154
+ Applications are configured via `webda.config.json` (version 4):
155
+
156
+ ```json
157
+ {
158
+ "version": 4,
159
+ "parameters": {
160
+ "routePrefix": "/api",
161
+ "metrics": { "prefix": "myapp_" }
162
+ },
163
+ "services": {
164
+ "MyStore": {
165
+ "type": "MemoryStore",
166
+ "model": "MyApp/MyModel"
167
+ },
168
+ "MyService": {
169
+ "type": "MyApp/MyService",
170
+ "storeName": "MyStore"
171
+ }
172
+ }
173
+ }
174
+ ```
175
+
176
+ ## Events
177
+
178
+ Services emit typed async events. Subscribe with `on()`:
179
+
180
+ ```typescript
181
+ // Core lifecycle events
182
+ useCoreEvents("Webda.Init", () => { /* framework ready */ });
183
+ useCoreEvents("Webda.Request", ({ context }) => { /* new request */ });
184
+
185
+ // Store events
186
+ myStore.on("Store.Created", ({ object }) => { /* model created */ });
187
+ myStore.on("Store.Updated", ({ object }) => { /* model updated */ });
188
+ myStore.on("Store.Deleted", ({ object }) => { /* model deleted */ });
189
+ ```
190
+
191
+ ## Error Handling
192
+
193
+ Throw typed HTTP errors from services:
194
+
195
+ ```typescript
196
+ import * as WebdaError from "@webda/core";
197
+
198
+ throw new WebdaError.NotFound("User not found");
199
+ throw new WebdaError.Forbidden("Insufficient permissions");
200
+ throw new WebdaError.BadRequest("Invalid input", "VALIDATION_ERROR");
201
+ throw new WebdaError.Redirect("https://example.com/new-location");
202
+ ```
203
+
204
+ ## Ecosystem
205
+
206
+ `@webda/core` is the foundation. The full framework includes:
207
+
208
+ | Package | Purpose |
209
+ |---------|---------|
210
+ | `@webda/models` | Model base classes, relations, repositories |
211
+ | `@webda/compiler` | TypeScript compiler with schema generation |
212
+ | `@webda/tsc-esm` | ESM-aware TypeScript compiler, decorators |
213
+ | `@webda/utils` | Utilities (debounce, dirty tracking, state machines) |
214
+ | `@webda/workout` | Logging infrastructure |
215
+ | `@webda/test` | Multi-framework test decorators (vitest, jest, mocha, bun) |
216
+ | `@webda/ql` | WebdaQL query language |
217
+ | `@webda/cloudevents` | CloudEvents filtering |
218
+ | `@webda/cache` | Caching decorators |
219
+ | `@webda/serialize` | Serialization framework |
220
+ | `@webda/content-mapper` | JSON Schema generator |
221
+
222
+ ## Deep-dive sub-pages
223
+
224
+ - [Architecture](../../docs/pages/Modules/core/Architecture.md) — 6-layer overview with diagram
225
+ - [Service Lifecycle](../../docs/pages/Modules/core/Lifecycle.md) — resolve → init → run → stop
226
+ - [Services](../../docs/pages/Modules/core/Services.md) — `Service`, `@Bean`, `@Inject`, `ServiceParameters`
227
+ - [Stores](../../docs/pages/Modules/core/Stores.md) — Store contract, query interface, events
228
+ - [Context](../../docs/pages/Modules/core/Context.md) — `WebContext`, sessions, request lifecycle
229
+ - [Routing](../../docs/pages/Modules/core/Routing.md) — `@Route`, `@Operation`, REST auto-generation
230
+ - [Events](../../docs/pages/Modules/core/Events.md) — `Core.on`, store events, `@On` decorator
231
+ - [Errors](../../docs/pages/Modules/core/Errors.md) — WebdaError hierarchy and HTTP status mapping
232
+ - [Logging](../../docs/pages/Modules/core/Logging.md) — `useLog` + `@webda/workout` integration
233
+ - [CLI](../../docs/pages/Modules/core/CLI.md) — `webda` runtime commands
234
+
235
+ <!-- README_FOOTER -->
236
+ ## Sponsors
237
+
238
+ <!--
239
+ Support this project by becoming a sponsor. Your logo will show up here with a link to your website. [Become a sponsor](mailto:sponsor@webda.io)
240
+ -->
241
+
242
+ Arize AI is a machine learning observability and model monitoring platform. It helps you visualize, monitor, and explain your machine learning models. [Learn more](https://arize.com)
243
+
244
+ [<img src="https://arize.com/hubfs/arize/brand/arize-logomark-1.png" width="200">](https://arize.com)
245
+
246
+ Loopingz is a software development company that provides consulting and development services. [Learn more](https://loopingz.com)
247
+
248
+ [<img src="https://loopingz.com/images/logo.png" width="200">](https://loopingz.com)
249
+
250
+ Tellae is an innovative consulting firm specialized in cities transportation issues. We provide our clients, both public and private, with solutions to support your strategic and operational decisions. [Learn more](https://tellae.fr)
251
+
252
+ [<img src="https://tellae.fr/" width="200">](https://tellae.fr)
@@ -0,0 +1,437 @@
1
+ import { WorkerLogLevel, WorkerOutput } from "@webda/workout";
2
+ import type { CachedModule, Configuration, GitInformation, PackageDescriptor, ProjectInformation, Section, UnpackedConfiguration, WebdaModule, WebdaPackageDescriptor } from "./iconfiguration.js";
3
+ import type { Modda } from "../services/iservice.js";
4
+ import type { ModelDefinition } from "../models/types.js";
5
+ import { ServiceParameters } from "../services/serviceparameters.js";
6
+ import { type Model, type ModelClass, type Storable } from "@webda/models";
7
+ import { JSONSchema7 } from "json-schema";
8
+ import type { Service } from "../services/service.js";
9
+ import { ModelMetadata } from "@webda/compiler";
10
+ import type { BehaviorMetadata } from "@webda/compiler";
11
+ /**
12
+ * Install `filterParameters` and `createConfiguration` on a modda or bean class
13
+ *
14
+ * Both are bound to `target`: a subclass that is not registered itself would otherwise inherit them and
15
+ * have its own parameters filtered out by the parent schema. Such a subclass gets the parent configuration
16
+ * class without filtering.
17
+ * @param target - the modda or bean class
18
+ * @param configurationClass - the parameters class to instantiate
19
+ * @param schema - the parameters JSON schema, used to filter the parameters
20
+ */
21
+ export declare function installConfigurationFactories(target: any, configurationClass?: new () => ServiceParameters, schema?: JSONSchema7): void;
22
+ export type ApplicationState = "initial" | "loading" | "ready";
23
+ /**
24
+ * Map a Webda Application
25
+ *
26
+ * It allows to:
27
+ * - Analyse imported modules
28
+ * - Scan code for Modda and generate the webda.config.json
29
+ * - Compile and Watch
30
+ * - Migrate from old configuration
31
+ * - List deployments
32
+ *
33
+ *
34
+ * @category CoreFeatures
35
+ */
36
+ export declare class Application {
37
+ /**
38
+ * Get Application root path
39
+ */
40
+ readonly applicationPath: string;
41
+ /**
42
+ * Base configuration loaded from webda.config.json
43
+ */
44
+ protected baseConfiguration: Configuration;
45
+ /**
46
+ * Current deployment
47
+ */
48
+ protected currentDeployment: string;
49
+ /**
50
+ * Contains definitions of current application
51
+ */
52
+ protected appModule: WebdaModule;
53
+ /**
54
+ * Deployers type registry
55
+ */
56
+ protected deployers: {
57
+ [key: string]: any;
58
+ };
59
+ /**
60
+ * Moddas registry
61
+ */
62
+ protected moddas: {
63
+ [key: string]: Modda;
64
+ };
65
+ /**
66
+ * Models type registry
67
+ */
68
+ protected models: {
69
+ [key: string]: ModelDefinition;
70
+ };
71
+ /**
72
+ * Beans registry
73
+ */
74
+ protected beans: {
75
+ [key: string]: Modda;
76
+ };
77
+ /**
78
+ * Behaviors registry
79
+ *
80
+ * Populated by `loadModule` from the top-level `behaviors` map of every
81
+ * loaded `webda.module.json`. Each entry holds the metadata blob emitted by
82
+ * the compiler so downstream consumers (DomainService, REST transport, etc.)
83
+ * can introspect the Behavior's declared actions and shape.
84
+ *
85
+ * The Behavior class itself is NOT loaded at runtime: the per-model
86
+ * `__hydrateBehaviors` method emitted at compile time by
87
+ * `@webda/content-mapper` holds a static import to the class, so the runtime
88
+ * never needs to look it up by identifier.
89
+ */
90
+ protected behaviors: {
91
+ [key: string]: {
92
+ metadata: BehaviorMetadata;
93
+ };
94
+ };
95
+ /**
96
+ * Class Logger
97
+ */
98
+ protected logger: WorkerOutput;
99
+ /**
100
+ * Detect if running as workspace
101
+ */
102
+ protected workspacesPath: string;
103
+ /**
104
+ * Configuration file
105
+ */
106
+ readonly configurationFile: string;
107
+ /**
108
+ * Current deployment file
109
+ */
110
+ deploymentFile: string;
111
+ /**
112
+ * Create a new Application
113
+ * @param file - file path or unpacked configuration to load from
114
+ * @param logger - the logger instance
115
+ */
116
+ constructor(file: string | UnpackedConfiguration, logger?: WorkerOutput);
117
+ /**
118
+ * Run the application
119
+ * @returns the result
120
+ */
121
+ run(): Promise<void>;
122
+ /**
123
+ * Pluggable runner — set by runner.ts to avoid circular dependency with Core.
124
+ * @internal
125
+ */
126
+ static _runner: (app: Application) => Promise<void>;
127
+ /**
128
+ * Import all required modules
129
+ * @returns the result
130
+ */
131
+ load(): Promise<this>;
132
+ /**
133
+ * Allow subclass to implement migration
134
+ *
135
+ * @param file - the file path
136
+ * @returns the result
137
+ */
138
+ loadConfiguration(file: string): Promise<void>;
139
+ /**
140
+ * Get a schema from a type
141
+ *
142
+ * Schema should be precomputed in the default app
143
+ * @param type - the type to look up
144
+ * @returns the result
145
+ */
146
+ getSchema(type: string): JSONSchema7;
147
+ /**
148
+ * Get schemas
149
+ * @returns the result
150
+ */
151
+ getSchemas(): {
152
+ [key: string]: JSONSchema7;
153
+ };
154
+ /**
155
+ * Check if application has cached modules
156
+ *
157
+ * When deployed the application contains cachedModules in the `webda.config.json`
158
+ * It allows to avoid the search for `webda.module.json` inside node_modules and
159
+ * take the schema from the cached modules also
160
+ * @returns true if the condition is met
161
+ */
162
+ isCached(): boolean;
163
+ /**
164
+ * Retrieve specific webda conf from package.json
165
+ *
166
+ * In case of workspaces the object is combined
167
+ * @returns the result
168
+ */
169
+ getPackageWebda(): WebdaPackageDescriptor;
170
+ /**
171
+ * Retrieve content of package.json
172
+ * @returns the result
173
+ */
174
+ getPackageDescription(): PackageDescriptor;
175
+ /**
176
+ * Log information
177
+ *
178
+ * @param level to log for
179
+ * @param args anything to display same as console.log
180
+ */
181
+ log(level: WorkerLogLevel, ...args: any[]): void;
182
+ /**
183
+ * Get current logger
184
+ * @returns the result
185
+ */
186
+ getWorkerOutput(): WorkerOutput;
187
+ /**
188
+ * Return the current app path
189
+ *
190
+ * @param subpath to append to
191
+ * @returns the result string
192
+ */
193
+ getPath(subpath?: string): string;
194
+ /**
195
+ * Add a new service
196
+ *
197
+ * @param name - the name to use
198
+ * @param service - the service instance
199
+ * @returns this for chaining
200
+ */
201
+ addModda(name: string, service: Modda): this;
202
+ /**
203
+ *
204
+ * @param section - the section name
205
+ * @param name - the name to use
206
+ * @param caseSensitive - whether matching is case sensitive
207
+ * @returns true if the condition is met
208
+ */
209
+ hasWebdaObject(section: Section, name: string): boolean;
210
+ /**
211
+ * Return true if `model` is the one that wins when consumers look up the
212
+ * short name in the current namespace. Used by transports (REST, GraphQL,
213
+ * gRPC) so only one model gets exposed at a given URL / type when the app
214
+ * overrides a framework-provided class — e.g. WebdaSample/User shadowing
215
+ * Webda/User at `/users`.
216
+ *
217
+ * A model is "final" when either:
218
+ * - it is the one resolved by `completeNamespace(shortName)`, or
219
+ * - no other model exists with the same short name in the current namespace.
220
+ * @param model - the fully-qualified model identifier (e.g. "Webda/User")
221
+ * @returns true when `model` should be treated as the canonical version
222
+ */
223
+ isFinalModel(model: string): boolean;
224
+ /**
225
+ *
226
+ * @param section - the section name
227
+ * @param name - the name to use
228
+ * @returns the result
229
+ */
230
+ getWebdaObject(section: Section, name: string): any;
231
+ /**
232
+ * Get a service based on name
233
+ *
234
+ * @param name - the name to use
235
+ * @returns the result
236
+ */
237
+ getModda(name: string): Modda;
238
+ /**
239
+ * Return all services of the application
240
+ * @returns the result
241
+ */
242
+ getModdas(): {
243
+ [key: string]: Modda;
244
+ };
245
+ /**
246
+ * Retrieve the model implementation
247
+ *
248
+ * @param name model to retrieve
249
+ * @returns the result
250
+ */
251
+ getModel<T extends Model = Model>(name: string): ModelDefinition<T>;
252
+ /**
253
+ * Get all models definitions
254
+ * @returns the result
255
+ */
256
+ getModels(): {
257
+ [key: string]: ModelDefinition<any>;
258
+ };
259
+ /**
260
+ * Return the metadata blob (Identifier, Actions, etc.) for a Behavior
261
+ * loaded from `webda.module.json`.
262
+ *
263
+ * @param identifier - fully qualified Behavior id (e.g. `Webda/MFA`)
264
+ * @returns the metadata, or undefined if no Behavior with that id is registered
265
+ */
266
+ getBehaviorMetadata(identifier: string): BehaviorMetadata | undefined;
267
+ /**
268
+ * Return all loaded Behaviors keyed by identifier.
269
+ *
270
+ * Each entry exposes the original metadata blob emitted by the compiler.
271
+ * @returns the result
272
+ */
273
+ getBehaviors(): {
274
+ [key: string]: {
275
+ metadata: BehaviorMetadata;
276
+ };
277
+ };
278
+ /**
279
+ * Return the model name for a object
280
+ * @param object - the target object
281
+ * @returns the result
282
+ */
283
+ getModelFromInstance(object: Storable): string | undefined;
284
+ /**
285
+ * Return the model name for a object
286
+ * @param object - the target object
287
+ * @param model - the model to use
288
+ * @returns the result
289
+ */
290
+ getModelFromConstructor(model: ModelClass): string | undefined;
291
+ /**
292
+ * Get the model name from a model or a constructor
293
+ *
294
+ * @param model - the model to use
295
+ * @paramn full if true always include the namespace, default is false e.g Webda/
296
+ * @returns longId for a model
297
+ */
298
+ getModelId(model: ModelClass | Storable): string | undefined;
299
+ /**
300
+ * Return all deployers
301
+ * @returns the result
302
+ */
303
+ getDeployers(): {
304
+ [key: string]: Modda;
305
+ };
306
+ /**
307
+ * Add a new model
308
+ *
309
+ * @param name - the name to use
310
+ * @param model - the model to use
311
+ * @param dynamic class is dynamic so recompute the hierarchy
312
+ * @param metadata - the model metadata
313
+ * @returns this for chaining
314
+ */
315
+ addModel(name: string, model: any, metadata?: ModelMetadata): this;
316
+ /**
317
+ *
318
+ * @param this - the constructor
319
+ * @param json - the JSON data
320
+ * @returns the result
321
+ */
322
+ static deserialize<T extends Application>(this: new (...args: any[]) => T, json: any): T;
323
+ /**
324
+ * Serialize the application state to a plain object
325
+ * @returns the result
326
+ */
327
+ toJSON(): {
328
+ baseConfiguration: Configuration;
329
+ currentDeployment: string;
330
+ appModule: WebdaModule;
331
+ };
332
+ /**
333
+ * Return webda current version
334
+ *
335
+ * @returns package version
336
+ * @since 0.4.0
337
+ */
338
+ getWebdaVersion(): string;
339
+ /**
340
+ * Retrieve Git Repository information
341
+ *
342
+ * {@link GitInformation} for more details on how the information is gathered
343
+ * @return the git information
344
+ * @param _packageName - the package name
345
+ * @param _version - the version string
346
+ * @returns the result
347
+ */
348
+ getGitInformation(_packageName?: string, _version?: string): GitInformation;
349
+ /**
350
+ * Retrieve the project information
351
+ * @returns the result
352
+ */
353
+ getProjectInfo(): ProjectInformation | undefined;
354
+ /**
355
+ * Get current deployment name
356
+ * @returns the result string
357
+ */
358
+ getCurrentDeployment(): string;
359
+ /**
360
+ * Return all application modules merged as one
361
+ *
362
+ * Used when deployed
363
+ * @returns the result
364
+ */
365
+ getModules(): CachedModule;
366
+ /**
367
+ * Get application configuration
368
+ * @param _deployment - the deployment name
369
+ * @returns the result
370
+ */
371
+ getConfiguration(_deployment?: string): Configuration;
372
+ /**
373
+ * Return current Configuration of the Application
374
+ *
375
+ * Same as calling
376
+ *
377
+ * ```js
378
+ * getConfiguration(this.currentDeployment);
379
+ * ```
380
+ * @returns the result
381
+ */
382
+ getCurrentConfiguration(): Configuration;
383
+ /**
384
+ * Import a file
385
+ *
386
+ * If the `default` is set take this or use old format
387
+ *
388
+ * @param info - the information object
389
+ * @param withExport - whether to include exports
390
+ * @returns the result
391
+ */
392
+ protected importFile(info: string, withExport?: boolean): Promise<any>;
393
+ /**
394
+ * Load local module
395
+ */
396
+ loadLocalModule(): Promise<void>;
397
+ /**
398
+ * Get implementations of a class
399
+ * @param object - the target object
400
+ * @returns the result
401
+ */
402
+ getImplementations<T extends Service>(object: T): {
403
+ [key: string]: Modda<T>;
404
+ };
405
+ /**
406
+ * Load the module,
407
+ *
408
+ * @protected
409
+ * @ignore Useless for documentation
410
+ */
411
+ loadModule(module: WebdaModule, parent?: string): Promise<void>;
412
+ /**
413
+ * Set object Metadata
414
+ * Need to be done after all models are loaded to resolve Ancestors and Subclasses
415
+ * @param info - the information object
416
+ */
417
+ protected setModelMetadata(info: {
418
+ [key: string]: ModelMetadata;
419
+ }): void;
420
+ /**
421
+ * Return the full name including namespace
422
+ *
423
+ * In Webda the ServiceType include namespace `Webda/Store` or `Webda/Test`
424
+ * This method will make sure the namespace is present, adding it if no '/'
425
+ * is found in the name
426
+ *
427
+ * @param name - the name to use
428
+ * @returns the result string
429
+ */
430
+ completeNamespace(name?: string): string;
431
+ /**
432
+ * Return current namespace
433
+ * @returns the result string
434
+ */
435
+ getNamespace(): string;
436
+ }
437
+ //# sourceMappingURL=application.d.ts.map