@lakutata/core 1.0.60 → 3.0.0-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1493) hide show
  1. package/README.md +173 -23
  2. package/THIRD_PARTY_NOTICES.md +320 -0
  3. package/dist/cjs/components/ConsoleLogger.d.ts +62 -0
  4. package/dist/cjs/components/ConsoleLogger.js +99 -0
  5. package/dist/cjs/constants/DIMetadataKey.d.ts +10 -0
  6. package/dist/cjs/constants/DIMetadataKey.js +13 -0
  7. package/dist/cjs/constants/DTOMetadataKey.d.ts +5 -0
  8. package/dist/cjs/constants/DTOMetadataKey.js +8 -0
  9. package/dist/cjs/decorators/asst/After.d.ts +29 -0
  10. package/dist/cjs/decorators/asst/After.js +33 -0
  11. package/dist/cjs/decorators/asst/Before.d.ts +28 -0
  12. package/dist/cjs/decorators/asst/Before.js +32 -0
  13. package/dist/cjs/decorators/di/Autoload.d.ts +33 -0
  14. package/dist/cjs/decorators/di/Autoload.js +37 -0
  15. package/dist/cjs/decorators/di/Configurable.d.ts +51 -0
  16. package/dist/cjs/decorators/di/Configurable.js +60 -0
  17. package/dist/cjs/decorators/di/Inject.d.ts +85 -0
  18. package/dist/cjs/decorators/di/Inject.js +36 -0
  19. package/dist/cjs/decorators/di/Lifetime.d.ts +94 -0
  20. package/dist/cjs/decorators/di/Lifetime.js +106 -0
  21. package/dist/cjs/decorators/dto/Accept.d.ts +38 -0
  22. package/dist/cjs/decorators/dto/Accept.js +41 -0
  23. package/dist/cjs/decorators/dto/Expect.d.ts +38 -0
  24. package/dist/cjs/decorators/dto/Expect.js +41 -0
  25. package/dist/cjs/decorators/dto/IndexSignature.d.ts +30 -0
  26. package/dist/cjs/decorators/dto/IndexSignature.js +33 -0
  27. package/dist/cjs/decorators/dto/Return.d.ts +39 -0
  28. package/dist/cjs/decorators/dto/Return.js +42 -0
  29. package/dist/cjs/dto/PaginationResultDTO.d.ts +33 -0
  30. package/dist/cjs/dto/PaginationResultDTO.js +50 -0
  31. package/dist/cjs/dto/PaginationSearchDTO.d.ts +33 -0
  32. package/dist/cjs/dto/PaginationSearchDTO.js +45 -0
  33. package/dist/cjs/dto/Paginator.d.ts +54 -0
  34. package/dist/cjs/dto/Paginator.js +53 -0
  35. package/dist/cjs/exceptions/DestroyRuntimeContainerException.d.ts +10 -0
  36. package/dist/cjs/exceptions/DestroyRuntimeContainerException.js +17 -0
  37. package/dist/cjs/exceptions/InvalidActionPatternDepthException.d.ts +8 -0
  38. package/dist/cjs/exceptions/InvalidActionPatternDepthException.js +15 -0
  39. package/dist/cjs/exceptions/InvalidAssistantFunctionTypeException.d.ts +9 -0
  40. package/dist/cjs/exceptions/InvalidAssistantFunctionTypeException.js +16 -0
  41. package/dist/cjs/exceptions/InvalidObjectTypeException.d.ts +9 -0
  42. package/dist/cjs/exceptions/InvalidObjectTypeException.js +16 -0
  43. package/dist/cjs/exceptions/MethodNotFoundException.d.ts +8 -0
  44. package/dist/cjs/exceptions/MethodNotFoundException.js +15 -0
  45. package/dist/cjs/exceptions/ObjectDestroyedException.d.ts +9 -0
  46. package/dist/cjs/exceptions/ObjectDestroyedException.js +16 -0
  47. package/dist/cjs/exceptions/alias/AliasExistsException.d.ts +8 -0
  48. package/dist/cjs/exceptions/alias/AliasExistsException.js +15 -0
  49. package/dist/cjs/exceptions/alias/AliasNotFoundException.d.ts +8 -0
  50. package/dist/cjs/exceptions/alias/AliasNotFoundException.js +15 -0
  51. package/dist/cjs/exceptions/alias/InvalidAliasNameException.d.ts +8 -0
  52. package/dist/cjs/exceptions/alias/InvalidAliasNameException.js +15 -0
  53. package/dist/cjs/exceptions/di/DependencyInjectionException.d.ts +9 -0
  54. package/dist/cjs/exceptions/di/DependencyInjectionException.js +16 -0
  55. package/dist/cjs/exceptions/di/InvalidObjectOptionsException.d.ts +9 -0
  56. package/dist/cjs/exceptions/di/InvalidObjectOptionsException.js +16 -0
  57. package/dist/cjs/exceptions/di/LifetimeLockedException.d.ts +9 -0
  58. package/dist/cjs/exceptions/di/LifetimeLockedException.js +16 -0
  59. package/dist/cjs/exceptions/di/OverridableObjectTargetConfigNotFoundException.d.ts +9 -0
  60. package/dist/cjs/exceptions/di/OverridableObjectTargetConfigNotFoundException.js +16 -0
  61. package/dist/cjs/exceptions/dto/InvalidMethodAcceptException.d.ts +9 -0
  62. package/dist/cjs/exceptions/dto/InvalidMethodAcceptException.js +16 -0
  63. package/dist/cjs/exceptions/dto/InvalidMethodReturnException.d.ts +9 -0
  64. package/dist/cjs/exceptions/dto/InvalidMethodReturnException.js +16 -0
  65. package/dist/cjs/exceptions/dto/InvalidValueException.d.ts +11 -0
  66. package/dist/cjs/exceptions/dto/InvalidValueException.js +18 -0
  67. package/dist/cjs/exports/ASSTDecorators.d.ts +3 -0
  68. package/dist/cjs/exports/ASSTDecorators.js +11 -0
  69. package/dist/cjs/exports/Core.d.ts +93 -0
  70. package/dist/cjs/exports/Core.js +127 -0
  71. package/dist/cjs/exports/DIDecorators.d.ts +5 -0
  72. package/dist/cjs/exports/DIDecorators.js +18 -0
  73. package/dist/cjs/exports/DTODecorators.d.ts +6 -0
  74. package/dist/cjs/exports/DTODecorators.js +17 -0
  75. package/dist/cjs/exports/DTOs.d.ts +17 -0
  76. package/dist/cjs/exports/DTOs.js +35 -0
  77. package/dist/cjs/exports/LoggerComponent.d.ts +3 -0
  78. package/dist/cjs/exports/LoggerComponent.js +22 -0
  79. package/dist/cjs/interfaces/IBaseObjectConstructor.d.ts +10 -0
  80. package/dist/cjs/interfaces/IBaseObjectConstructor.js +2 -0
  81. package/dist/cjs/interfaces/IConstructor.d.ts +6 -0
  82. package/dist/cjs/interfaces/IConstructor.js +2 -0
  83. package/dist/cjs/interfaces/ILogger.d.ts +35 -0
  84. package/dist/cjs/interfaces/ILogger.js +2 -0
  85. package/dist/cjs/lib/app/Application.d.ts +346 -0
  86. package/dist/cjs/lib/app/Application.js +613 -0
  87. package/dist/cjs/lib/app/ApplicationConfigLoader.d.ts +17 -0
  88. package/dist/cjs/lib/app/ApplicationConfigLoader.js +30 -0
  89. package/dist/cjs/lib/app/MigrationCommand.d.ts +31 -0
  90. package/dist/cjs/lib/app/MigrationCommand.js +31 -0
  91. package/dist/cjs/lib/base/BaseObject.d.ts +343 -0
  92. package/dist/cjs/lib/base/BaseObject.js +608 -0
  93. package/dist/cjs/lib/base/EventEmitter.d.ts +37 -0
  94. package/dist/cjs/lib/base/EventEmitter.js +152 -0
  95. package/dist/cjs/lib/base/async-constructor/Append.d.ts +1 -0
  96. package/dist/cjs/lib/base/async-constructor/Append.js +21 -0
  97. package/dist/cjs/lib/base/async-constructor/AsyncConstructor.d.ts +3 -0
  98. package/dist/cjs/lib/base/async-constructor/AsyncConstructor.js +11 -0
  99. package/dist/cjs/lib/base/internal/ApplicationLaunch.d.ts +16 -0
  100. package/dist/cjs/lib/base/internal/ApplicationLaunch.js +58 -0
  101. package/dist/cjs/lib/base/internal/ConfigurableRecordsInjection.d.ts +47 -0
  102. package/dist/cjs/lib/base/internal/ConfigurableRecordsInjection.js +85 -0
  103. package/dist/cjs/lib/base/internal/EventEmitter2.d.ts +184 -0
  104. package/dist/cjs/lib/base/internal/EventEmitter2.js +715 -0
  105. package/dist/cjs/lib/base/internal/MemberDeclarations.d.ts +23 -0
  106. package/dist/cjs/lib/base/internal/MemberDeclarations.js +45 -0
  107. package/dist/cjs/lib/base/internal/MethodAssistantFunction.d.ts +20 -0
  108. package/dist/cjs/lib/base/internal/MethodAssistantFunction.js +110 -0
  109. package/dist/cjs/lib/base/internal/ModuleConfigLoader.d.ts +46 -0
  110. package/dist/cjs/lib/base/internal/ModuleConfigLoader.js +113 -0
  111. package/dist/cjs/lib/base/internal/ModuleInitialization.d.ts +5 -0
  112. package/dist/cjs/lib/base/internal/ModuleInitialization.js +8 -0
  113. package/dist/cjs/lib/base/internal/ObjectConfiguration.d.ts +29 -0
  114. package/dist/cjs/lib/base/internal/ObjectConfiguration.js +41 -0
  115. package/dist/cjs/lib/base/internal/ObjectContainer.d.ts +15 -0
  116. package/dist/cjs/lib/base/internal/ObjectContainer.js +23 -0
  117. package/dist/cjs/lib/base/internal/ObjectInjection.d.ts +43 -0
  118. package/dist/cjs/lib/base/internal/ObjectInjection.js +60 -0
  119. package/dist/cjs/lib/base/internal/ObjectOptionsCheck.d.ts +12 -0
  120. package/dist/cjs/lib/base/internal/ObjectOptionsCheck.js +70 -0
  121. package/dist/cjs/lib/base/internal/ObjectStartup.d.ts +31 -0
  122. package/dist/cjs/lib/base/internal/ObjectStartup.js +75 -0
  123. package/dist/cjs/lib/base/internal/ObjectType.d.ts +37 -0
  124. package/dist/cjs/lib/base/internal/ObjectType.js +75 -0
  125. package/dist/cjs/lib/core/Alias.d.ts +48 -0
  126. package/dist/cjs/lib/core/Alias.js +100 -0
  127. package/dist/cjs/lib/core/Component.d.ts +267 -0
  128. package/dist/cjs/lib/core/Component.js +362 -0
  129. package/dist/cjs/lib/core/Container.d.ts +341 -0
  130. package/dist/cjs/lib/core/Container.js +667 -0
  131. package/dist/cjs/lib/core/Module.d.ts +165 -0
  132. package/dist/cjs/lib/core/Module.js +268 -0
  133. package/dist/cjs/lib/core/Provider.d.ts +52 -0
  134. package/dist/cjs/lib/core/Provider.js +57 -0
  135. package/dist/cjs/lib/dto/CachedSchema.d.ts +7 -0
  136. package/dist/cjs/lib/dto/CachedSchema.js +2 -0
  137. package/dist/cjs/lib/dto/DTO.d.ts +278 -0
  138. package/dist/cjs/lib/dto/DTO.js +461 -0
  139. package/dist/cjs/lib/dto/DataValidator.d.ts +166 -0
  140. package/dist/cjs/lib/dto/DataValidator.js +247 -0
  141. package/dist/cjs/lib/dto/FlexibleDTO.d.ts +23 -0
  142. package/dist/cjs/lib/dto/FlexibleDTO.js +36 -0
  143. package/dist/cjs/lib/dto/MethodValidation.d.ts +44 -0
  144. package/dist/cjs/lib/dto/MethodValidation.js +141 -0
  145. package/dist/cjs/lib/dto/ObjectSchemaValidation.d.ts +86 -0
  146. package/dist/cjs/lib/dto/ObjectSchemaValidation.js +181 -0
  147. package/dist/cjs/lib/dto/internal/CronValidator.d.ts +8 -0
  148. package/dist/cjs/lib/dto/internal/CronValidator.js +128 -0
  149. package/dist/cjs/lib/foundation/BasicInfo.d.ts +46 -0
  150. package/dist/cjs/lib/foundation/BasicInfo.js +115 -0
  151. package/dist/cjs/lib/foundation/EndProcess.d.ts +14 -0
  152. package/dist/cjs/lib/foundation/EndProcess.js +30 -0
  153. package/dist/cjs/lib/foundation/Exception.d.ts +88 -0
  154. package/dist/cjs/lib/foundation/Exception.js +165 -0
  155. package/dist/cjs/lib/foundation/LifecycleErrorReporter.d.ts +26 -0
  156. package/dist/cjs/lib/foundation/LifecycleErrorReporter.js +64 -0
  157. package/dist/cjs/lib/foundation/Packaging.d.ts +29 -0
  158. package/dist/cjs/lib/foundation/Packaging.js +42 -0
  159. package/dist/cjs/lib/foundation/ThrowWarning.d.ts +6 -0
  160. package/dist/cjs/lib/foundation/ThrowWarning.js +16 -0
  161. package/dist/cjs/lib/helpers/internal/WithCause.d.ts +6 -0
  162. package/dist/cjs/lib/helpers/internal/WithCause.js +12 -0
  163. package/dist/cjs/lib/ioc/ConstructorSymbol.d.ts +3 -0
  164. package/dist/cjs/lib/ioc/ConstructorSymbol.js +21 -0
  165. package/dist/cjs/lib/ioc/DependencyInjectionContainer.d.ts +178 -0
  166. package/dist/cjs/lib/ioc/DependencyInjectionContainer.js +445 -0
  167. package/dist/cjs/lib/ioc/Errors.d.ts +59 -0
  168. package/dist/cjs/lib/ioc/Errors.js +115 -0
  169. package/dist/cjs/lib/ioc/Lifetime.d.ts +12 -0
  170. package/dist/cjs/lib/ioc/Lifetime.js +31 -0
  171. package/dist/cjs/lib/ioc/ListModules.d.ts +42 -0
  172. package/dist/cjs/lib/ioc/ListModules.js +104 -0
  173. package/dist/cjs/lib/ioc/LoadModuleNative.d.ts +1 -0
  174. package/dist/cjs/lib/ioc/LoadModuleNative.js +41 -0
  175. package/dist/cjs/lib/ioc/LoadModules.d.ts +49 -0
  176. package/dist/cjs/lib/ioc/LoadModules.js +167 -0
  177. package/dist/cjs/lib/ioc/ObjectLifetime.d.ts +22 -0
  178. package/dist/cjs/lib/ioc/ObjectLifetime.js +39 -0
  179. package/dist/cjs/lib/ioc/ObjectWeakRefs.d.ts +19 -0
  180. package/dist/cjs/lib/ioc/ObjectWeakRefs.js +47 -0
  181. package/dist/cjs/lib/ioc/Resolvers.d.ts +136 -0
  182. package/dist/cjs/lib/ioc/Resolvers.js +248 -0
  183. package/dist/cjs/lib/ioc/Utils.d.ts +33 -0
  184. package/dist/cjs/lib/ioc/Utils.js +73 -0
  185. package/dist/cjs/lib/validation/JsonSchema.d.ts +127 -0
  186. package/dist/cjs/lib/validation/JsonSchema.js +85 -0
  187. package/dist/cjs/lib/validation/VLD.d.ts +275 -0
  188. package/dist/cjs/lib/validation/VLD.js +216 -0
  189. package/dist/cjs/lib/validation/ValidationLanguage.d.ts +42 -0
  190. package/dist/cjs/lib/validation/ValidationLanguage.js +55 -0
  191. package/dist/cjs/lib/validation/ValidationMessages.d.ts +92 -0
  192. package/dist/cjs/lib/validation/ValidationMessages.js +192 -0
  193. package/dist/cjs/lib/validation/engine/address/decode.d.ts +8 -0
  194. package/dist/cjs/lib/validation/engine/address/decode.js +104 -0
  195. package/dist/cjs/lib/validation/engine/address/domain.d.ts +74 -0
  196. package/dist/cjs/lib/validation/engine/address/domain.js +181 -0
  197. package/dist/cjs/lib/validation/engine/address/email.d.ts +27 -0
  198. package/dist/cjs/lib/validation/engine/address/email.js +182 -0
  199. package/dist/cjs/lib/validation/engine/address/errors.d.ts +48 -0
  200. package/dist/cjs/lib/validation/engine/address/errors.js +31 -0
  201. package/dist/cjs/lib/validation/engine/address/index.d.ts +9 -0
  202. package/dist/cjs/lib/validation/engine/address/index.js +30 -0
  203. package/dist/cjs/lib/validation/engine/address/ip.d.ts +35 -0
  204. package/dist/cjs/lib/validation/engine/address/ip.js +49 -0
  205. package/dist/cjs/lib/validation/engine/address/uri.d.ts +55 -0
  206. package/dist/cjs/lib/validation/engine/address/uri.js +218 -0
  207. package/dist/cjs/lib/validation/engine/expression/index.d.ts +70 -0
  208. package/dist/cjs/lib/validation/engine/expression/index.js +356 -0
  209. package/dist/cjs/lib/validation/engine/json-schema/combinations.d.ts +11 -0
  210. package/dist/cjs/lib/validation/engine/json-schema/combinations.js +33 -0
  211. package/dist/cjs/lib/validation/engine/json-schema/helpers.d.ts +76 -0
  212. package/dist/cjs/lib/validation/engine/json-schema/helpers.js +380 -0
  213. package/dist/cjs/lib/validation/engine/json-schema/import.d.ts +56 -0
  214. package/dist/cjs/lib/validation/engine/json-schema/import.js +872 -0
  215. package/dist/cjs/lib/validation/engine/json-schema/index.d.ts +20 -0
  216. package/dist/cjs/lib/validation/engine/json-schema/index.js +45 -0
  217. package/dist/cjs/lib/validation/engine/json-schema/model.d.ts +124 -0
  218. package/dist/cjs/lib/validation/engine/json-schema/model.js +5 -0
  219. package/dist/cjs/lib/validation/engine/json-schema/parsers/json-2020-12.d.ts +9 -0
  220. package/dist/cjs/lib/validation/engine/json-schema/parsers/json-2020-12.js +56 -0
  221. package/dist/cjs/lib/validation/engine/json-schema/parsers/json-draft-04.d.ts +17 -0
  222. package/dist/cjs/lib/validation/engine/json-schema/parsers/json-draft-04.js +93 -0
  223. package/dist/cjs/lib/validation/engine/json-schema/parsers/json-draft-2019-09.d.ts +13 -0
  224. package/dist/cjs/lib/validation/engine/json-schema/parsers/json-draft-2019-09.js +69 -0
  225. package/dist/cjs/lib/validation/engine/json-schema/parsers/json.d.ts +245 -0
  226. package/dist/cjs/lib/validation/engine/json-schema/parsers/json.js +1497 -0
  227. package/dist/cjs/lib/validation/engine/json-schema/parsers/open-api-3.1.d.ts +13 -0
  228. package/dist/cjs/lib/validation/engine/json-schema/parsers/open-api-3.1.js +71 -0
  229. package/dist/cjs/lib/validation/engine/json-schema/parsers/open-api.d.ts +24 -0
  230. package/dist/cjs/lib/validation/engine/json-schema/parsers/open-api.js +207 -0
  231. package/dist/cjs/lib/validation/engine/location/index.d.ts +18 -0
  232. package/dist/cjs/lib/validation/engine/location/index.js +23 -0
  233. package/dist/cjs/lib/validation/engine/schema/annotate.d.ts +13 -0
  234. package/dist/cjs/lib/validation/engine/schema/annotate.js +162 -0
  235. package/dist/cjs/lib/validation/engine/schema/assert.d.ts +25 -0
  236. package/dist/cjs/lib/validation/engine/schema/assert.js +66 -0
  237. package/dist/cjs/lib/validation/engine/schema/base.d.ts +194 -0
  238. package/dist/cjs/lib/validation/engine/schema/base.js +834 -0
  239. package/dist/cjs/lib/validation/engine/schema/cache.d.ts +41 -0
  240. package/dist/cjs/lib/validation/engine/schema/cache.js +131 -0
  241. package/dist/cjs/lib/validation/engine/schema/common.d.ts +79 -0
  242. package/dist/cjs/lib/validation/engine/schema/common.js +220 -0
  243. package/dist/cjs/lib/validation/engine/schema/compile.d.ts +81 -0
  244. package/dist/cjs/lib/validation/engine/schema/compile.js +242 -0
  245. package/dist/cjs/lib/validation/engine/schema/errors.d.ts +94 -0
  246. package/dist/cjs/lib/validation/engine/schema/errors.js +230 -0
  247. package/dist/cjs/lib/validation/engine/schema/extend.d.ts +122 -0
  248. package/dist/cjs/lib/validation/engine/schema/extend.js +235 -0
  249. package/dist/cjs/lib/validation/engine/schema/extensions/bigint.d.ts +33 -0
  250. package/dist/cjs/lib/validation/engine/schema/extensions/bigint.js +175 -0
  251. package/dist/cjs/lib/validation/engine/schema/fastpath.d.ts +35 -0
  252. package/dist/cjs/lib/validation/engine/schema/fastpath.js +661 -0
  253. package/dist/cjs/lib/validation/engine/schema/formats.d.ts +8 -0
  254. package/dist/cjs/lib/validation/engine/schema/formats.js +105 -0
  255. package/dist/cjs/lib/validation/engine/schema/index.d.ts +95 -0
  256. package/dist/cjs/lib/validation/engine/schema/index.js +237 -0
  257. package/dist/cjs/lib/validation/engine/schema/lazy.d.ts +21 -0
  258. package/dist/cjs/lib/validation/engine/schema/lazy.js +8 -0
  259. package/dist/cjs/lib/validation/engine/schema/manifest.d.ts +52 -0
  260. package/dist/cjs/lib/validation/engine/schema/manifest.js +364 -0
  261. package/dist/cjs/lib/validation/engine/schema/messages.d.ts +37 -0
  262. package/dist/cjs/lib/validation/engine/schema/messages.js +136 -0
  263. package/dist/cjs/lib/validation/engine/schema/model.d.ts +196 -0
  264. package/dist/cjs/lib/validation/engine/schema/model.js +2 -0
  265. package/dist/cjs/lib/validation/engine/schema/modify.d.ts +58 -0
  266. package/dist/cjs/lib/validation/engine/schema/modify.js +223 -0
  267. package/dist/cjs/lib/validation/engine/schema/ref.d.ts +116 -0
  268. package/dist/cjs/lib/validation/engine/schema/ref.js +318 -0
  269. package/dist/cjs/lib/validation/engine/schema/schemas.d.ts +6 -0
  270. package/dist/cjs/lib/validation/engine/schema/schemas.js +268 -0
  271. package/dist/cjs/lib/validation/engine/schema/state.d.ts +48 -0
  272. package/dist/cjs/lib/validation/engine/schema/state.js +148 -0
  273. package/dist/cjs/lib/validation/engine/schema/template.d.ts +72 -0
  274. package/dist/cjs/lib/validation/engine/schema/template.js +331 -0
  275. package/dist/cjs/lib/validation/engine/schema/trace.d.ts +121 -0
  276. package/dist/cjs/lib/validation/engine/schema/trace.js +280 -0
  277. package/dist/cjs/lib/validation/engine/schema/types/alternatives.d.ts +36 -0
  278. package/dist/cjs/lib/validation/engine/schema/types/alternatives.js +332 -0
  279. package/dist/cjs/lib/validation/engine/schema/types/any.d.ts +37 -0
  280. package/dist/cjs/lib/validation/engine/schema/types/any.js +198 -0
  281. package/dist/cjs/lib/validation/engine/schema/types/array.d.ts +46 -0
  282. package/dist/cjs/lib/validation/engine/schema/types/array.js +668 -0
  283. package/dist/cjs/lib/validation/engine/schema/types/binary.d.ts +20 -0
  284. package/dist/cjs/lib/validation/engine/schema/types/binary.js +116 -0
  285. package/dist/cjs/lib/validation/engine/schema/types/boolean.d.ts +29 -0
  286. package/dist/cjs/lib/validation/engine/schema/types/boolean.js +142 -0
  287. package/dist/cjs/lib/validation/engine/schema/types/date.d.ts +27 -0
  288. package/dist/cjs/lib/validation/engine/schema/types/date.js +197 -0
  289. package/dist/cjs/lib/validation/engine/schema/types/function.d.ts +12 -0
  290. package/dist/cjs/lib/validation/engine/schema/types/function.js +68 -0
  291. package/dist/cjs/lib/validation/engine/schema/types/keys.d.ts +119 -0
  292. package/dist/cjs/lib/validation/engine/schema/types/keys.js +911 -0
  293. package/dist/cjs/lib/validation/engine/schema/types/link.d.ts +21 -0
  294. package/dist/cjs/lib/validation/engine/schema/types/link.js +160 -0
  295. package/dist/cjs/lib/validation/engine/schema/types/number.d.ts +46 -0
  296. package/dist/cjs/lib/validation/engine/schema/types/number.js +385 -0
  297. package/dist/cjs/lib/validation/engine/schema/types/object.d.ts +10 -0
  298. package/dist/cjs/lib/validation/engine/schema/types/object.js +21 -0
  299. package/dist/cjs/lib/validation/engine/schema/types/string.d.ts +115 -0
  300. package/dist/cjs/lib/validation/engine/schema/types/string.js +767 -0
  301. package/dist/cjs/lib/validation/engine/schema/types/symbol.d.ts +23 -0
  302. package/dist/cjs/lib/validation/engine/schema/types/symbol.js +75 -0
  303. package/dist/cjs/lib/validation/engine/schema/validator.d.ts +114 -0
  304. package/dist/cjs/lib/validation/engine/schema/validator.js +680 -0
  305. package/dist/cjs/lib/validation/engine/schema/values.d.ts +51 -0
  306. package/dist/cjs/lib/validation/engine/schema/values.js +201 -0
  307. package/dist/cjs/lib/validation/engine/sorter/index.d.ts +54 -0
  308. package/dist/cjs/lib/validation/engine/sorter/index.js +180 -0
  309. package/dist/cjs/lib/validation/engine/tlds/index.d.ts +1 -0
  310. package/dist/cjs/lib/validation/engine/tlds/index.js +8 -0
  311. package/dist/cjs/lib/validation/engine/tlds/tlds.d.ts +4 -0
  312. package/dist/cjs/lib/validation/engine/tlds/tlds.js +1448 -0
  313. package/dist/cjs/lib/validation/engine/utils/applyToDefaults.d.ts +17 -0
  314. package/dist/cjs/lib/validation/engine/utils/applyToDefaults.js +89 -0
  315. package/dist/cjs/lib/validation/engine/utils/assert.d.ts +6 -0
  316. package/dist/cjs/lib/validation/engine/utils/assert.js +23 -0
  317. package/dist/cjs/lib/validation/engine/utils/assertError.d.ts +10 -0
  318. package/dist/cjs/lib/validation/engine/utils/assertError.js +18 -0
  319. package/dist/cjs/lib/validation/engine/utils/clone.d.ts +25 -0
  320. package/dist/cjs/lib/validation/engine/utils/clone.js +160 -0
  321. package/dist/cjs/lib/validation/engine/utils/deepEqual.d.ts +29 -0
  322. package/dist/cjs/lib/validation/engine/utils/deepEqual.js +265 -0
  323. package/dist/cjs/lib/validation/engine/utils/escapeHtml.d.ts +8 -0
  324. package/dist/cjs/lib/validation/engine/utils/escapeHtml.js +62 -0
  325. package/dist/cjs/lib/validation/engine/utils/escapeRegex.d.ts +8 -0
  326. package/dist/cjs/lib/validation/engine/utils/escapeRegex.js +13 -0
  327. package/dist/cjs/lib/validation/engine/utils/ignore.d.ts +8 -0
  328. package/dist/cjs/lib/validation/engine/utils/ignore.js +12 -0
  329. package/dist/cjs/lib/validation/engine/utils/index.d.ts +16 -0
  330. package/dist/cjs/lib/validation/engine/utils/index.js +34 -0
  331. package/dist/cjs/lib/validation/engine/utils/merge.d.ts +21 -0
  332. package/dist/cjs/lib/validation/engine/utils/merge.js +67 -0
  333. package/dist/cjs/lib/validation/engine/utils/reach.d.ts +30 -0
  334. package/dist/cjs/lib/validation/engine/utils/reach.js +62 -0
  335. package/dist/cjs/lib/validation/engine/utils/stringify.d.ts +8 -0
  336. package/dist/cjs/lib/validation/engine/utils/stringify.js +18 -0
  337. package/dist/cjs/lib/validation/engine/utils/types.d.ts +26 -0
  338. package/dist/cjs/lib/validation/engine/utils/types.js +51 -0
  339. package/dist/cjs/lib/validation/engine/utils/utils.d.ts +24 -0
  340. package/dist/cjs/lib/validation/engine/utils/utils.js +22 -0
  341. package/dist/cjs/lib/validation/exceptions/SchemaConversionException.d.ts +7 -0
  342. package/dist/cjs/lib/validation/exceptions/SchemaConversionException.js +14 -0
  343. package/dist/cjs/lib/validation/exceptions/SchemaDefinitionException.d.ts +7 -0
  344. package/dist/cjs/lib/validation/exceptions/SchemaDefinitionException.js +14 -0
  345. package/dist/cjs/lib/validation/exceptions/SchemaException.d.ts +6 -0
  346. package/dist/cjs/lib/validation/exceptions/SchemaException.js +10 -0
  347. package/dist/cjs/lib/validation/exceptions/SchemaValidationException.d.ts +36 -0
  348. package/dist/cjs/lib/validation/exceptions/SchemaValidationException.js +43 -0
  349. package/dist/cjs/lib/validation/interfaces/AlternativesSchema.d.ts +45 -0
  350. package/dist/cjs/lib/validation/interfaces/AlternativesSchema.js +2 -0
  351. package/dist/cjs/lib/validation/interfaces/AnySchema.d.ts +399 -0
  352. package/dist/cjs/lib/validation/interfaces/AnySchema.js +2 -0
  353. package/dist/cjs/lib/validation/interfaces/ArraySchema.d.ts +106 -0
  354. package/dist/cjs/lib/validation/interfaces/ArraySchema.js +2 -0
  355. package/dist/cjs/lib/validation/interfaces/ArraySortOptions.d.ts +8 -0
  356. package/dist/cjs/lib/validation/interfaces/ArraySortOptions.js +2 -0
  357. package/dist/cjs/lib/validation/interfaces/ArrayUniqueOptions.d.ts +9 -0
  358. package/dist/cjs/lib/validation/interfaces/ArrayUniqueOptions.js +2 -0
  359. package/dist/cjs/lib/validation/interfaces/Base64Options.d.ts +9 -0
  360. package/dist/cjs/lib/validation/interfaces/Base64Options.js +2 -0
  361. package/dist/cjs/lib/validation/interfaces/BaseValidationOptions.d.ts +97 -0
  362. package/dist/cjs/lib/validation/interfaces/BaseValidationOptions.js +2 -0
  363. package/dist/cjs/lib/validation/interfaces/BigIntSchema.d.ts +67 -0
  364. package/dist/cjs/lib/validation/interfaces/BigIntSchema.js +2 -0
  365. package/dist/cjs/lib/validation/interfaces/BinarySchema.d.ts +33 -0
  366. package/dist/cjs/lib/validation/interfaces/BinarySchema.js +2 -0
  367. package/dist/cjs/lib/validation/interfaces/BooleanSchema.d.ts +29 -0
  368. package/dist/cjs/lib/validation/interfaces/BooleanSchema.js +2 -0
  369. package/dist/cjs/lib/validation/interfaces/Cache.d.ts +14 -0
  370. package/dist/cjs/lib/validation/interfaces/Cache.js +2 -0
  371. package/dist/cjs/lib/validation/interfaces/CacheConfiguration.d.ts +15 -0
  372. package/dist/cjs/lib/validation/interfaces/CacheConfiguration.js +2 -0
  373. package/dist/cjs/lib/validation/interfaces/CompileOptions.d.ts +9 -0
  374. package/dist/cjs/lib/validation/interfaces/CompileOptions.js +2 -0
  375. package/dist/cjs/lib/validation/interfaces/Context.d.ts +9 -0
  376. package/dist/cjs/lib/validation/interfaces/Context.js +2 -0
  377. package/dist/cjs/lib/validation/interfaces/CustomHelpers.d.ts +15 -0
  378. package/dist/cjs/lib/validation/interfaces/CustomHelpers.js +2 -0
  379. package/dist/cjs/lib/validation/interfaces/DataUriOptions.d.ts +8 -0
  380. package/dist/cjs/lib/validation/interfaces/DataUriOptions.js +2 -0
  381. package/dist/cjs/lib/validation/interfaces/DateSchema.d.ts +48 -0
  382. package/dist/cjs/lib/validation/interfaces/DateSchema.js +2 -0
  383. package/dist/cjs/lib/validation/interfaces/DependencyOptions.d.ts +9 -0
  384. package/dist/cjs/lib/validation/interfaces/DependencyOptions.js +2 -0
  385. package/dist/cjs/lib/validation/interfaces/Description.d.ts +20 -0
  386. package/dist/cjs/lib/validation/interfaces/Description.js +2 -0
  387. package/dist/cjs/lib/validation/interfaces/DomainOptions.d.ts +33 -0
  388. package/dist/cjs/lib/validation/interfaces/DomainOptions.js +2 -0
  389. package/dist/cjs/lib/validation/interfaces/EmailOptions.d.ts +51 -0
  390. package/dist/cjs/lib/validation/interfaces/EmailOptions.js +2 -0
  391. package/dist/cjs/lib/validation/interfaces/ErrorFormattingOptions.d.ts +60 -0
  392. package/dist/cjs/lib/validation/interfaces/ErrorFormattingOptions.js +2 -0
  393. package/dist/cjs/lib/validation/interfaces/ErrorReport.d.ts +14 -0
  394. package/dist/cjs/lib/validation/interfaces/ErrorReport.js +2 -0
  395. package/dist/cjs/lib/validation/interfaces/ErrorValidationOptions.d.ts +5 -0
  396. package/dist/cjs/lib/validation/interfaces/ErrorValidationOptions.js +2 -0
  397. package/dist/cjs/lib/validation/interfaces/Extension.d.ts +100 -0
  398. package/dist/cjs/lib/validation/interfaces/Extension.js +2 -0
  399. package/dist/cjs/lib/validation/interfaces/ExtensionFlag.d.ts +4 -0
  400. package/dist/cjs/lib/validation/interfaces/ExtensionFlag.js +2 -0
  401. package/dist/cjs/lib/validation/interfaces/ExternalHelpers.d.ts +16 -0
  402. package/dist/cjs/lib/validation/interfaces/ExternalHelpers.js +2 -0
  403. package/dist/cjs/lib/validation/interfaces/FunctionSchema.d.ts +31 -0
  404. package/dist/cjs/lib/validation/interfaces/FunctionSchema.js +2 -0
  405. package/dist/cjs/lib/validation/interfaces/GuidOptions.d.ts +6 -0
  406. package/dist/cjs/lib/validation/interfaces/GuidOptions.js +2 -0
  407. package/dist/cjs/lib/validation/interfaces/HexOptions.d.ts +16 -0
  408. package/dist/cjs/lib/validation/interfaces/HexOptions.js +2 -0
  409. package/dist/cjs/lib/validation/interfaces/HierarchySeparatorOptions.d.ts +7 -0
  410. package/dist/cjs/lib/validation/interfaces/HierarchySeparatorOptions.js +2 -0
  411. package/dist/cjs/lib/validation/interfaces/IpOptions.d.ts +11 -0
  412. package/dist/cjs/lib/validation/interfaces/IpOptions.js +2 -0
  413. package/dist/cjs/lib/validation/interfaces/LanguageMessageTemplate.d.ts +4 -0
  414. package/dist/cjs/lib/validation/interfaces/LanguageMessageTemplate.js +2 -0
  415. package/dist/cjs/lib/validation/interfaces/LinkSchema.d.ts +26 -0
  416. package/dist/cjs/lib/validation/interfaces/LinkSchema.js +2 -0
  417. package/dist/cjs/lib/validation/interfaces/NumberSchema.d.ts +134 -0
  418. package/dist/cjs/lib/validation/interfaces/NumberSchema.js +2 -0
  419. package/dist/cjs/lib/validation/interfaces/ObjectPatternOptions.d.ts +6 -0
  420. package/dist/cjs/lib/validation/interfaces/ObjectPatternOptions.js +2 -0
  421. package/dist/cjs/lib/validation/interfaces/ObjectSchema.d.ts +173 -0
  422. package/dist/cjs/lib/validation/interfaces/ObjectSchema.js +2 -0
  423. package/dist/cjs/lib/validation/interfaces/Reference.d.ts +38 -0
  424. package/dist/cjs/lib/validation/interfaces/Reference.js +2 -0
  425. package/dist/cjs/lib/validation/interfaces/ReferenceOptions.d.ts +59 -0
  426. package/dist/cjs/lib/validation/interfaces/ReferenceOptions.js +2 -0
  427. package/dist/cjs/lib/validation/interfaces/RenameOptions.d.ts +26 -0
  428. package/dist/cjs/lib/validation/interfaces/RenameOptions.js +2 -0
  429. package/dist/cjs/lib/validation/interfaces/RuleOptions.d.ts +22 -0
  430. package/dist/cjs/lib/validation/interfaces/RuleOptions.js +2 -0
  431. package/dist/cjs/lib/validation/interfaces/SchemaInternals.d.ts +103 -0
  432. package/dist/cjs/lib/validation/interfaces/SchemaInternals.js +2 -0
  433. package/dist/cjs/lib/validation/interfaces/State.d.ts +8 -0
  434. package/dist/cjs/lib/validation/interfaces/State.js +2 -0
  435. package/dist/cjs/lib/validation/interfaces/StringRegexOptions.d.ts +12 -0
  436. package/dist/cjs/lib/validation/interfaces/StringRegexOptions.js +2 -0
  437. package/dist/cjs/lib/validation/interfaces/StringSchema.d.ts +220 -0
  438. package/dist/cjs/lib/validation/interfaces/StringSchema.js +2 -0
  439. package/dist/cjs/lib/validation/interfaces/SwitchCases.d.ts +11 -0
  440. package/dist/cjs/lib/validation/interfaces/SwitchCases.js +2 -0
  441. package/dist/cjs/lib/validation/interfaces/SwitchDefault.d.ts +8 -0
  442. package/dist/cjs/lib/validation/interfaces/SwitchDefault.js +2 -0
  443. package/dist/cjs/lib/validation/interfaces/SymbolSchema.d.ts +16 -0
  444. package/dist/cjs/lib/validation/interfaces/SymbolSchema.js +2 -0
  445. package/dist/cjs/lib/validation/interfaces/TopLevelDomainOptions.d.ts +12 -0
  446. package/dist/cjs/lib/validation/interfaces/TopLevelDomainOptions.js +2 -0
  447. package/dist/cjs/lib/validation/interfaces/UriOptions.d.ts +31 -0
  448. package/dist/cjs/lib/validation/interfaces/UriOptions.js +2 -0
  449. package/dist/cjs/lib/validation/interfaces/ValidationErrorItem.d.ts +7 -0
  450. package/dist/cjs/lib/validation/interfaces/ValidationErrorItem.js +2 -0
  451. package/dist/cjs/lib/validation/interfaces/ValidationOptions.d.ts +21 -0
  452. package/dist/cjs/lib/validation/interfaces/ValidationOptions.js +2 -0
  453. package/dist/cjs/lib/validation/interfaces/WhenOptions.d.ts +30 -0
  454. package/dist/cjs/lib/validation/interfaces/WhenOptions.js +2 -0
  455. package/dist/cjs/lib/validation/interfaces/WhenSchemaOptions.d.ts +11 -0
  456. package/dist/cjs/lib/validation/interfaces/WhenSchemaOptions.js +2 -0
  457. package/dist/cjs/lib/validation/messages/ar.d.ts +5 -0
  458. package/dist/cjs/lib/validation/messages/ar.js +145 -0
  459. package/dist/cjs/lib/validation/messages/de.d.ts +5 -0
  460. package/dist/cjs/lib/validation/messages/de.js +145 -0
  461. package/dist/cjs/lib/validation/messages/es.d.ts +5 -0
  462. package/dist/cjs/lib/validation/messages/es.js +145 -0
  463. package/dist/cjs/lib/validation/messages/fr.d.ts +5 -0
  464. package/dist/cjs/lib/validation/messages/fr.js +145 -0
  465. package/dist/cjs/lib/validation/messages/hi.d.ts +5 -0
  466. package/dist/cjs/lib/validation/messages/hi.js +145 -0
  467. package/dist/cjs/lib/validation/messages/id.d.ts +5 -0
  468. package/dist/cjs/lib/validation/messages/id.js +145 -0
  469. package/dist/cjs/lib/validation/messages/it.d.ts +5 -0
  470. package/dist/cjs/lib/validation/messages/it.js +145 -0
  471. package/dist/cjs/lib/validation/messages/ja.d.ts +5 -0
  472. package/dist/cjs/lib/validation/messages/ja.js +145 -0
  473. package/dist/cjs/lib/validation/messages/ko.d.ts +5 -0
  474. package/dist/cjs/lib/validation/messages/ko.js +145 -0
  475. package/dist/cjs/lib/validation/messages/nl.d.ts +5 -0
  476. package/dist/cjs/lib/validation/messages/nl.js +145 -0
  477. package/dist/cjs/lib/validation/messages/pl.d.ts +5 -0
  478. package/dist/cjs/lib/validation/messages/pl.js +145 -0
  479. package/dist/cjs/lib/validation/messages/pt-BR.d.ts +5 -0
  480. package/dist/cjs/lib/validation/messages/pt-BR.js +145 -0
  481. package/dist/cjs/lib/validation/messages/ru.d.ts +5 -0
  482. package/dist/cjs/lib/validation/messages/ru.js +145 -0
  483. package/dist/cjs/lib/validation/messages/th.d.ts +5 -0
  484. package/dist/cjs/lib/validation/messages/th.js +145 -0
  485. package/dist/cjs/lib/validation/messages/tr.d.ts +5 -0
  486. package/dist/cjs/lib/validation/messages/tr.js +145 -0
  487. package/dist/cjs/lib/validation/messages/uk.d.ts +5 -0
  488. package/dist/cjs/lib/validation/messages/uk.js +145 -0
  489. package/dist/cjs/lib/validation/messages/vi.d.ts +5 -0
  490. package/dist/cjs/lib/validation/messages/vi.js +145 -0
  491. package/dist/cjs/lib/validation/messages/zh-CN.d.ts +5 -0
  492. package/dist/cjs/lib/validation/messages/zh-CN.js +145 -0
  493. package/dist/cjs/lib/validation/messages/zh-TW.d.ts +5 -0
  494. package/dist/cjs/lib/validation/messages/zh-TW.js +145 -0
  495. package/dist/cjs/lib/validation/types/BasicType.d.ts +4 -0
  496. package/dist/cjs/lib/validation/types/BasicType.js +2 -0
  497. package/dist/cjs/lib/validation/types/ComparatorFunction.d.ts +4 -0
  498. package/dist/cjs/lib/validation/types/ComparatorFunction.js +2 -0
  499. package/dist/cjs/lib/validation/types/CustomValidator.d.ts +9 -0
  500. package/dist/cjs/lib/validation/types/CustomValidator.js +2 -0
  501. package/dist/cjs/lib/validation/types/ExtensionBoundSchema.d.ts +2 -0
  502. package/dist/cjs/lib/validation/types/ExtensionBoundSchema.js +2 -0
  503. package/dist/cjs/lib/validation/types/ExternalValidationFunction.d.ts +8 -0
  504. package/dist/cjs/lib/validation/types/ExternalValidationFunction.js +2 -0
  505. package/dist/cjs/lib/validation/types/IsNonPrimitiveSubsetUnion.d.ts +3 -0
  506. package/dist/cjs/lib/validation/types/IsNonPrimitiveSubsetUnion.js +2 -0
  507. package/dist/cjs/lib/validation/types/IsPrimitiveSubset.d.ts +3 -0
  508. package/dist/cjs/lib/validation/types/IsPrimitiveSubset.js +2 -0
  509. package/dist/cjs/lib/validation/types/IsUnion.d.ts +1 -0
  510. package/dist/cjs/lib/validation/types/IsUnion.js +2 -0
  511. package/dist/cjs/lib/validation/types/LanguageMessages.d.ts +5 -0
  512. package/dist/cjs/lib/validation/types/LanguageMessages.js +2 -0
  513. package/dist/cjs/lib/validation/types/NoNestedArrays.d.ts +5 -0
  514. package/dist/cjs/lib/validation/types/NoNestedArrays.js +2 -0
  515. package/dist/cjs/lib/validation/types/NullableType.d.ts +1 -0
  516. package/dist/cjs/lib/validation/types/NullableType.js +2 -0
  517. package/dist/cjs/lib/validation/types/ObjectPropertiesSchema.d.ts +12 -0
  518. package/dist/cjs/lib/validation/types/ObjectPropertiesSchema.js +2 -0
  519. package/dist/cjs/lib/validation/types/PartialSchemaMap.d.ts +4 -0
  520. package/dist/cjs/lib/validation/types/PartialSchemaMap.js +2 -0
  521. package/dist/cjs/lib/validation/types/PresenceMode.d.ts +4 -0
  522. package/dist/cjs/lib/validation/types/PresenceMode.js +2 -0
  523. package/dist/cjs/lib/validation/types/Primitives.d.ts +4 -0
  524. package/dist/cjs/lib/validation/types/Primitives.js +2 -0
  525. package/dist/cjs/lib/validation/types/Schema.d.ts +17 -0
  526. package/dist/cjs/lib/validation/types/Schema.js +2 -0
  527. package/dist/cjs/lib/validation/types/SchemaFunction.d.ts +6 -0
  528. package/dist/cjs/lib/validation/types/SchemaFunction.js +2 -0
  529. package/dist/cjs/lib/validation/types/SchemaLike.d.ts +6 -0
  530. package/dist/cjs/lib/validation/types/SchemaLike.js +2 -0
  531. package/dist/cjs/lib/validation/types/SchemaLikeWithoutArray.d.ts +7 -0
  532. package/dist/cjs/lib/validation/types/SchemaLikeWithoutArray.js +2 -0
  533. package/dist/cjs/lib/validation/types/SchemaMap.d.ts +7 -0
  534. package/dist/cjs/lib/validation/types/SchemaMap.js +2 -0
  535. package/dist/cjs/lib/validation/types/StrictSchemaMap.d.ts +4 -0
  536. package/dist/cjs/lib/validation/types/StrictSchemaMap.js +2 -0
  537. package/dist/cjs/lib/validation/types/Types.d.ts +4 -0
  538. package/dist/cjs/lib/validation/types/Types.js +2 -0
  539. package/dist/cjs/lib/validation/types/UnwrapSchemaLikeWithoutArray.d.ts +5 -0
  540. package/dist/cjs/lib/validation/types/UnwrapSchemaLikeWithoutArray.js +2 -0
  541. package/dist/cjs/lib/validation/types/ValidationErrorFunction.d.ts +7 -0
  542. package/dist/cjs/lib/validation/types/ValidationErrorFunction.js +2 -0
  543. package/dist/cjs/options/ApplicationOptions.d.ts +60 -0
  544. package/dist/cjs/options/ApplicationOptions.js +75 -0
  545. package/dist/cjs/options/LoadAnonymousObjectOptions.d.ts +33 -0
  546. package/dist/cjs/options/LoadAnonymousObjectOptions.js +51 -0
  547. package/dist/cjs/options/LoadNamedObjectOptions.d.ts +29 -0
  548. package/dist/cjs/options/LoadNamedObjectOptions.js +42 -0
  549. package/dist/cjs/options/LoadObjectOptions.d.ts +30 -0
  550. package/dist/cjs/options/LoadObjectOptions.js +53 -0
  551. package/dist/cjs/options/ModuleLoadObjectsOptions.d.ts +44 -0
  552. package/dist/cjs/options/ModuleLoadObjectsOptions.js +61 -0
  553. package/dist/cjs/options/ModuleOptions.d.ts +74 -0
  554. package/dist/cjs/options/ModuleOptions.js +86 -0
  555. package/dist/cjs/options/OverridableNamedObjectOptions.d.ts +26 -0
  556. package/dist/cjs/options/OverridableNamedObjectOptions.js +37 -0
  557. package/dist/cjs/options/OverridableObjectOptions.d.ts +34 -0
  558. package/dist/cjs/options/OverridableObjectOptions.js +52 -0
  559. package/dist/cjs/package.json +1 -0
  560. package/dist/cjs/types/ActionPattern.d.ts +6 -0
  561. package/dist/cjs/types/ActionPattern.js +2 -0
  562. package/dist/cjs/types/ApplicationExitReason.d.ts +13 -0
  563. package/dist/cjs/types/ApplicationExitReason.js +2 -0
  564. package/dist/cjs/types/ClassDecorator.d.ts +6 -0
  565. package/dist/cjs/types/ClassDecorator.js +2 -0
  566. package/dist/cjs/types/ComponentOptions.d.ts +20 -0
  567. package/dist/cjs/types/ComponentOptions.js +2 -0
  568. package/dist/cjs/types/CronOptions.d.ts +25 -0
  569. package/dist/cjs/types/CronOptions.js +2 -0
  570. package/dist/cjs/types/JSONSchema.d.ts +284 -0
  571. package/dist/cjs/types/JSONSchema.js +2 -0
  572. package/dist/cjs/types/MethodDecorator.d.ts +5 -0
  573. package/dist/cjs/types/MethodDecorator.js +2 -0
  574. package/dist/cjs/types/ModuleOptions.d.ts +20 -0
  575. package/dist/cjs/types/ModuleOptions.js +2 -0
  576. package/dist/cjs/types/ObjectOptions.d.ts +20 -0
  577. package/dist/cjs/types/ObjectOptions.js +2 -0
  578. package/dist/cjs/types/PaginationMeta.d.ts +21 -0
  579. package/dist/cjs/types/PaginationMeta.js +2 -0
  580. package/dist/cjs/types/ParameterDecorator.d.ts +5 -0
  581. package/dist/cjs/types/ParameterDecorator.js +2 -0
  582. package/dist/cjs/types/PropertyDecorator.d.ts +4 -0
  583. package/dist/cjs/types/PropertyDecorator.js +2 -0
  584. package/dist/cjs/types/ProviderOptions.d.ts +20 -0
  585. package/dist/cjs/types/ProviderOptions.js +2 -0
  586. package/dist/esm/components/ConsoleLogger.js +96 -0
  587. package/dist/esm/constants/DIMetadataKey.js +10 -0
  588. package/dist/esm/constants/DTOMetadataKey.js +5 -0
  589. package/dist/esm/decorators/asst/After.js +30 -0
  590. package/dist/esm/decorators/asst/Before.js +29 -0
  591. package/dist/esm/decorators/di/Autoload.js +34 -0
  592. package/dist/esm/decorators/di/Configurable.js +57 -0
  593. package/dist/esm/decorators/di/Inject.js +33 -0
  594. package/dist/esm/decorators/di/Lifetime.js +100 -0
  595. package/dist/esm/decorators/dto/Accept.js +38 -0
  596. package/dist/esm/decorators/dto/Expect.js +38 -0
  597. package/dist/esm/decorators/dto/IndexSignature.js +30 -0
  598. package/dist/esm/decorators/dto/Return.js +39 -0
  599. package/dist/esm/dto/PaginationResultDTO.js +46 -0
  600. package/dist/esm/dto/PaginationSearchDTO.js +41 -0
  601. package/dist/esm/dto/Paginator.js +50 -0
  602. package/dist/esm/exceptions/DestroyRuntimeContainerException.js +13 -0
  603. package/dist/esm/exceptions/InvalidActionPatternDepthException.js +11 -0
  604. package/dist/esm/exceptions/InvalidAssistantFunctionTypeException.js +12 -0
  605. package/dist/esm/exceptions/InvalidObjectTypeException.js +12 -0
  606. package/dist/esm/exceptions/MethodNotFoundException.js +11 -0
  607. package/dist/esm/exceptions/ObjectDestroyedException.js +12 -0
  608. package/dist/esm/exceptions/alias/AliasExistsException.js +11 -0
  609. package/dist/esm/exceptions/alias/AliasNotFoundException.js +11 -0
  610. package/dist/esm/exceptions/alias/InvalidAliasNameException.js +11 -0
  611. package/dist/esm/exceptions/di/DependencyInjectionException.js +12 -0
  612. package/dist/esm/exceptions/di/InvalidObjectOptionsException.js +12 -0
  613. package/dist/esm/exceptions/di/LifetimeLockedException.js +12 -0
  614. package/dist/esm/exceptions/di/OverridableObjectTargetConfigNotFoundException.js +12 -0
  615. package/dist/esm/exceptions/dto/InvalidMethodAcceptException.js +12 -0
  616. package/dist/esm/exceptions/dto/InvalidMethodReturnException.js +12 -0
  617. package/dist/esm/exceptions/dto/InvalidValueException.js +14 -0
  618. package/dist/esm/exports/ASSTDecorators.js +3 -0
  619. package/dist/esm/exports/Core.js +64 -0
  620. package/dist/esm/exports/DIDecorators.js +5 -0
  621. package/dist/esm/exports/DTODecorators.js +6 -0
  622. package/dist/esm/exports/DTOs.js +16 -0
  623. package/dist/esm/exports/LoggerComponent.js +3 -0
  624. package/dist/esm/interfaces/IBaseObjectConstructor.js +1 -0
  625. package/dist/esm/interfaces/IConstructor.js +1 -0
  626. package/dist/esm/interfaces/ILogger.js +1 -0
  627. package/dist/esm/lib/app/Application.js +606 -0
  628. package/dist/esm/lib/app/ApplicationConfigLoader.js +26 -0
  629. package/dist/esm/lib/app/MigrationCommand.js +28 -0
  630. package/dist/esm/lib/base/BaseObject.js +605 -0
  631. package/dist/esm/lib/base/EventEmitter.js +147 -0
  632. package/dist/esm/lib/base/async-constructor/Append.js +18 -0
  633. package/dist/esm/lib/base/async-constructor/AsyncConstructor.js +7 -0
  634. package/dist/esm/lib/base/internal/ApplicationLaunch.js +53 -0
  635. package/dist/esm/lib/base/internal/ConfigurableRecordsInjection.js +76 -0
  636. package/dist/esm/lib/base/internal/EventEmitter2.js +711 -0
  637. package/dist/esm/lib/base/internal/MemberDeclarations.js +40 -0
  638. package/dist/esm/lib/base/internal/MethodAssistantFunction.js +106 -0
  639. package/dist/esm/lib/base/internal/ModuleConfigLoader.js +109 -0
  640. package/dist/esm/lib/base/internal/ModuleInitialization.js +5 -0
  641. package/dist/esm/lib/base/internal/ObjectConfiguration.js +36 -0
  642. package/dist/esm/lib/base/internal/ObjectContainer.js +19 -0
  643. package/dist/esm/lib/base/internal/ObjectInjection.js +53 -0
  644. package/dist/esm/lib/base/internal/ObjectOptionsCheck.js +67 -0
  645. package/dist/esm/lib/base/internal/ObjectStartup.js +69 -0
  646. package/dist/esm/lib/base/internal/ObjectType.js +68 -0
  647. package/dist/esm/lib/core/Alias.js +93 -0
  648. package/dist/esm/lib/core/Component.js +359 -0
  649. package/dist/esm/lib/core/Container.js +629 -0
  650. package/dist/esm/lib/core/Module.js +265 -0
  651. package/dist/esm/lib/core/Provider.js +54 -0
  652. package/dist/esm/lib/dto/CachedSchema.js +1 -0
  653. package/dist/esm/lib/dto/DTO.js +458 -0
  654. package/dist/esm/lib/dto/DataValidator.js +243 -0
  655. package/dist/esm/lib/dto/FlexibleDTO.js +33 -0
  656. package/dist/esm/lib/dto/MethodValidation.js +136 -0
  657. package/dist/esm/lib/dto/ObjectSchemaValidation.js +167 -0
  658. package/dist/esm/lib/dto/internal/CronValidator.js +125 -0
  659. package/dist/esm/lib/foundation/BasicInfo.js +106 -0
  660. package/dist/esm/lib/foundation/EndProcess.js +26 -0
  661. package/dist/esm/lib/foundation/Exception.js +160 -0
  662. package/dist/esm/lib/foundation/LifecycleErrorReporter.js +59 -0
  663. package/dist/esm/lib/foundation/Packaging.js +38 -0
  664. package/dist/esm/lib/foundation/ThrowWarning.js +13 -0
  665. package/dist/esm/lib/helpers/internal/WithCause.js +9 -0
  666. package/dist/esm/lib/ioc/ConstructorSymbol.js +17 -0
  667. package/dist/esm/lib/ioc/DependencyInjectionContainer.js +409 -0
  668. package/dist/esm/lib/ioc/Errors.js +108 -0
  669. package/dist/esm/lib/ioc/Lifetime.js +27 -0
  670. package/dist/esm/lib/ioc/ListModules.js +68 -0
  671. package/dist/esm/lib/ioc/LoadModuleNative.js +5 -0
  672. package/dist/esm/lib/ioc/LoadModules.js +164 -0
  673. package/dist/esm/lib/ioc/ObjectLifetime.js +34 -0
  674. package/dist/esm/lib/ioc/ObjectWeakRefs.js +42 -0
  675. package/dist/esm/lib/ioc/Resolvers.js +242 -0
  676. package/dist/esm/lib/ioc/Utils.js +65 -0
  677. package/dist/esm/lib/validation/JsonSchema.js +81 -0
  678. package/dist/esm/lib/validation/VLD.js +210 -0
  679. package/dist/esm/lib/validation/ValidationLanguage.js +51 -0
  680. package/dist/esm/lib/validation/ValidationMessages.js +151 -0
  681. package/dist/esm/lib/validation/engine/address/decode.js +101 -0
  682. package/dist/esm/lib/validation/engine/address/domain.js +143 -0
  683. package/dist/esm/lib/validation/engine/address/email.js +145 -0
  684. package/dist/esm/lib/validation/engine/address/errors.js +27 -0
  685. package/dist/esm/lib/validation/engine/address/index.js +9 -0
  686. package/dist/esm/lib/validation/engine/address/ip.js +46 -0
  687. package/dist/esm/lib/validation/engine/address/uri.js +214 -0
  688. package/dist/esm/lib/validation/engine/expression/index.js +352 -0
  689. package/dist/esm/lib/validation/engine/json-schema/combinations.js +30 -0
  690. package/dist/esm/lib/validation/engine/json-schema/helpers.js +366 -0
  691. package/dist/esm/lib/validation/engine/json-schema/import.js +865 -0
  692. package/dist/esm/lib/validation/engine/json-schema/index.js +36 -0
  693. package/dist/esm/lib/validation/engine/json-schema/model.js +4 -0
  694. package/dist/esm/lib/validation/engine/json-schema/parsers/json-2020-12.js +19 -0
  695. package/dist/esm/lib/validation/engine/json-schema/parsers/json-draft-04.js +56 -0
  696. package/dist/esm/lib/validation/engine/json-schema/parsers/json-draft-2019-09.js +32 -0
  697. package/dist/esm/lib/validation/engine/json-schema/parsers/json.js +1460 -0
  698. package/dist/esm/lib/validation/engine/json-schema/parsers/open-api-3.1.js +34 -0
  699. package/dist/esm/lib/validation/engine/json-schema/parsers/open-api.js +169 -0
  700. package/dist/esm/lib/validation/engine/location/index.js +20 -0
  701. package/dist/esm/lib/validation/engine/schema/annotate.js +126 -0
  702. package/dist/esm/lib/validation/engine/schema/assert.js +60 -0
  703. package/dist/esm/lib/validation/engine/schema/base.js +797 -0
  704. package/dist/esm/lib/validation/engine/schema/cache.js +94 -0
  705. package/dist/esm/lib/validation/engine/schema/common.js +203 -0
  706. package/dist/esm/lib/validation/engine/schema/compile.js +203 -0
  707. package/dist/esm/lib/validation/engine/schema/errors.js +189 -0
  708. package/dist/esm/lib/validation/engine/schema/extend.js +199 -0
  709. package/dist/esm/lib/validation/engine/schema/extensions/bigint.js +170 -0
  710. package/dist/esm/lib/validation/engine/schema/fastpath.js +622 -0
  711. package/dist/esm/lib/validation/engine/schema/formats.js +102 -0
  712. package/dist/esm/lib/validation/engine/schema/index.js +199 -0
  713. package/dist/esm/lib/validation/engine/schema/lazy.js +5 -0
  714. package/dist/esm/lib/validation/engine/schema/manifest.js +325 -0
  715. package/dist/esm/lib/validation/engine/schema/messages.js +131 -0
  716. package/dist/esm/lib/validation/engine/schema/model.js +1 -0
  717. package/dist/esm/lib/validation/engine/schema/modify.js +186 -0
  718. package/dist/esm/lib/validation/engine/schema/ref.js +277 -0
  719. package/dist/esm/lib/validation/engine/schema/schemas.js +262 -0
  720. package/dist/esm/lib/validation/engine/schema/state.js +110 -0
  721. package/dist/esm/lib/validation/engine/schema/template.js +294 -0
  722. package/dist/esm/lib/validation/engine/schema/trace.js +240 -0
  723. package/dist/esm/lib/validation/engine/schema/types/alternatives.js +294 -0
  724. package/dist/esm/lib/validation/engine/schema/types/any.js +160 -0
  725. package/dist/esm/lib/validation/engine/schema/types/array.js +630 -0
  726. package/dist/esm/lib/validation/engine/schema/types/binary.js +78 -0
  727. package/dist/esm/lib/validation/engine/schema/types/boolean.js +104 -0
  728. package/dist/esm/lib/validation/engine/schema/types/date.js +159 -0
  729. package/dist/esm/lib/validation/engine/schema/types/function.js +63 -0
  730. package/dist/esm/lib/validation/engine/schema/types/keys.js +873 -0
  731. package/dist/esm/lib/validation/engine/schema/types/link.js +122 -0
  732. package/dist/esm/lib/validation/engine/schema/types/number.js +346 -0
  733. package/dist/esm/lib/validation/engine/schema/types/object.js +16 -0
  734. package/dist/esm/lib/validation/engine/schema/types/string.js +728 -0
  735. package/dist/esm/lib/validation/engine/schema/types/symbol.js +70 -0
  736. package/dist/esm/lib/validation/engine/schema/validator.js +638 -0
  737. package/dist/esm/lib/validation/engine/schema/values.js +164 -0
  738. package/dist/esm/lib/validation/engine/sorter/index.js +176 -0
  739. package/dist/esm/lib/validation/engine/tlds/index.js +5 -0
  740. package/dist/esm/lib/validation/engine/tlds/tlds.js +1445 -0
  741. package/dist/esm/lib/validation/engine/utils/applyToDefaults.js +86 -0
  742. package/dist/esm/lib/validation/engine/utils/assert.js +20 -0
  743. package/dist/esm/lib/validation/engine/utils/assertError.js +14 -0
  744. package/dist/esm/lib/validation/engine/utils/clone.js +157 -0
  745. package/dist/esm/lib/validation/engine/utils/deepEqual.js +262 -0
  746. package/dist/esm/lib/validation/engine/utils/escapeHtml.js +59 -0
  747. package/dist/esm/lib/validation/engine/utils/escapeRegex.js +10 -0
  748. package/dist/esm/lib/validation/engine/utils/ignore.js +9 -0
  749. package/dist/esm/lib/validation/engine/utils/index.js +16 -0
  750. package/dist/esm/lib/validation/engine/utils/merge.js +64 -0
  751. package/dist/esm/lib/validation/engine/utils/reach.js +59 -0
  752. package/dist/esm/lib/validation/engine/utils/stringify.js +15 -0
  753. package/dist/esm/lib/validation/engine/utils/types.js +47 -0
  754. package/dist/esm/lib/validation/engine/utils/utils.js +18 -0
  755. package/dist/esm/lib/validation/exceptions/SchemaConversionException.js +10 -0
  756. package/dist/esm/lib/validation/exceptions/SchemaDefinitionException.js +10 -0
  757. package/dist/esm/lib/validation/exceptions/SchemaException.js +6 -0
  758. package/dist/esm/lib/validation/exceptions/SchemaValidationException.js +39 -0
  759. package/dist/esm/lib/validation/interfaces/AlternativesSchema.js +1 -0
  760. package/dist/esm/lib/validation/interfaces/AnySchema.js +1 -0
  761. package/dist/esm/lib/validation/interfaces/ArraySchema.js +1 -0
  762. package/dist/esm/lib/validation/interfaces/ArraySortOptions.js +1 -0
  763. package/dist/esm/lib/validation/interfaces/ArrayUniqueOptions.js +1 -0
  764. package/dist/esm/lib/validation/interfaces/Base64Options.js +1 -0
  765. package/dist/esm/lib/validation/interfaces/BaseValidationOptions.js +1 -0
  766. package/dist/esm/lib/validation/interfaces/BigIntSchema.js +1 -0
  767. package/dist/esm/lib/validation/interfaces/BinarySchema.js +1 -0
  768. package/dist/esm/lib/validation/interfaces/BooleanSchema.js +1 -0
  769. package/dist/esm/lib/validation/interfaces/Cache.js +1 -0
  770. package/dist/esm/lib/validation/interfaces/CacheConfiguration.js +1 -0
  771. package/dist/esm/lib/validation/interfaces/CompileOptions.js +1 -0
  772. package/dist/esm/lib/validation/interfaces/Context.js +1 -0
  773. package/dist/esm/lib/validation/interfaces/CustomHelpers.js +1 -0
  774. package/dist/esm/lib/validation/interfaces/DataUriOptions.js +1 -0
  775. package/dist/esm/lib/validation/interfaces/DateSchema.js +1 -0
  776. package/dist/esm/lib/validation/interfaces/DependencyOptions.js +1 -0
  777. package/dist/esm/lib/validation/interfaces/Description.js +1 -0
  778. package/dist/esm/lib/validation/interfaces/DomainOptions.js +1 -0
  779. package/dist/esm/lib/validation/interfaces/EmailOptions.js +1 -0
  780. package/dist/esm/lib/validation/interfaces/ErrorFormattingOptions.js +1 -0
  781. package/dist/esm/lib/validation/interfaces/ErrorReport.js +1 -0
  782. package/dist/esm/lib/validation/interfaces/ErrorValidationOptions.js +1 -0
  783. package/dist/esm/lib/validation/interfaces/Extension.js +1 -0
  784. package/dist/esm/lib/validation/interfaces/ExtensionFlag.js +1 -0
  785. package/dist/esm/lib/validation/interfaces/ExternalHelpers.js +1 -0
  786. package/dist/esm/lib/validation/interfaces/FunctionSchema.js +1 -0
  787. package/dist/esm/lib/validation/interfaces/GuidOptions.js +1 -0
  788. package/dist/esm/lib/validation/interfaces/HexOptions.js +1 -0
  789. package/dist/esm/lib/validation/interfaces/HierarchySeparatorOptions.js +1 -0
  790. package/dist/esm/lib/validation/interfaces/IpOptions.js +1 -0
  791. package/dist/esm/lib/validation/interfaces/LanguageMessageTemplate.js +1 -0
  792. package/dist/esm/lib/validation/interfaces/LinkSchema.js +1 -0
  793. package/dist/esm/lib/validation/interfaces/NumberSchema.js +1 -0
  794. package/dist/esm/lib/validation/interfaces/ObjectPatternOptions.js +1 -0
  795. package/dist/esm/lib/validation/interfaces/ObjectSchema.js +1 -0
  796. package/dist/esm/lib/validation/interfaces/Reference.js +1 -0
  797. package/dist/esm/lib/validation/interfaces/ReferenceOptions.js +1 -0
  798. package/dist/esm/lib/validation/interfaces/RenameOptions.js +1 -0
  799. package/dist/esm/lib/validation/interfaces/RuleOptions.js +1 -0
  800. package/dist/esm/lib/validation/interfaces/SchemaInternals.js +1 -0
  801. package/dist/esm/lib/validation/interfaces/State.js +1 -0
  802. package/dist/esm/lib/validation/interfaces/StringRegexOptions.js +1 -0
  803. package/dist/esm/lib/validation/interfaces/StringSchema.js +1 -0
  804. package/dist/esm/lib/validation/interfaces/SwitchCases.js +1 -0
  805. package/dist/esm/lib/validation/interfaces/SwitchDefault.js +1 -0
  806. package/dist/esm/lib/validation/interfaces/SymbolSchema.js +1 -0
  807. package/dist/esm/lib/validation/interfaces/TopLevelDomainOptions.js +1 -0
  808. package/dist/esm/lib/validation/interfaces/UriOptions.js +1 -0
  809. package/dist/esm/lib/validation/interfaces/ValidationErrorItem.js +1 -0
  810. package/dist/esm/lib/validation/interfaces/ValidationOptions.js +1 -0
  811. package/dist/esm/lib/validation/interfaces/WhenOptions.js +1 -0
  812. package/dist/esm/lib/validation/interfaces/WhenSchemaOptions.js +1 -0
  813. package/dist/esm/lib/validation/messages/ar.js +143 -0
  814. package/dist/esm/lib/validation/messages/de.js +143 -0
  815. package/dist/esm/lib/validation/messages/es.js +143 -0
  816. package/dist/esm/lib/validation/messages/fr.js +143 -0
  817. package/dist/esm/lib/validation/messages/hi.js +143 -0
  818. package/dist/esm/lib/validation/messages/id.js +143 -0
  819. package/dist/esm/lib/validation/messages/it.js +143 -0
  820. package/dist/esm/lib/validation/messages/ja.js +143 -0
  821. package/dist/esm/lib/validation/messages/ko.js +143 -0
  822. package/dist/esm/lib/validation/messages/nl.js +143 -0
  823. package/dist/esm/lib/validation/messages/pl.js +143 -0
  824. package/dist/esm/lib/validation/messages/pt-BR.js +143 -0
  825. package/dist/esm/lib/validation/messages/ru.js +143 -0
  826. package/dist/esm/lib/validation/messages/th.js +143 -0
  827. package/dist/esm/lib/validation/messages/tr.js +143 -0
  828. package/dist/esm/lib/validation/messages/uk.js +143 -0
  829. package/dist/esm/lib/validation/messages/vi.js +143 -0
  830. package/dist/esm/lib/validation/messages/zh-CN.js +143 -0
  831. package/dist/esm/lib/validation/messages/zh-TW.js +143 -0
  832. package/dist/esm/lib/validation/types/BasicType.js +1 -0
  833. package/dist/esm/lib/validation/types/ComparatorFunction.js +1 -0
  834. package/dist/esm/lib/validation/types/CustomValidator.js +1 -0
  835. package/dist/esm/lib/validation/types/ExtensionBoundSchema.js +1 -0
  836. package/dist/esm/lib/validation/types/ExternalValidationFunction.js +1 -0
  837. package/dist/esm/lib/validation/types/IsNonPrimitiveSubsetUnion.js +1 -0
  838. package/dist/esm/lib/validation/types/IsPrimitiveSubset.js +1 -0
  839. package/dist/esm/lib/validation/types/IsUnion.js +1 -0
  840. package/dist/esm/lib/validation/types/LanguageMessages.js +1 -0
  841. package/dist/esm/lib/validation/types/NoNestedArrays.js +1 -0
  842. package/dist/esm/lib/validation/types/NullableType.js +1 -0
  843. package/dist/esm/lib/validation/types/ObjectPropertiesSchema.js +1 -0
  844. package/dist/esm/lib/validation/types/PartialSchemaMap.js +1 -0
  845. package/dist/esm/lib/validation/types/PresenceMode.js +1 -0
  846. package/dist/esm/lib/validation/types/Primitives.js +1 -0
  847. package/dist/esm/lib/validation/types/Schema.js +1 -0
  848. package/dist/esm/lib/validation/types/SchemaFunction.js +1 -0
  849. package/dist/esm/lib/validation/types/SchemaLike.js +1 -0
  850. package/dist/esm/lib/validation/types/SchemaLikeWithoutArray.js +1 -0
  851. package/dist/esm/lib/validation/types/SchemaMap.js +1 -0
  852. package/dist/esm/lib/validation/types/StrictSchemaMap.js +1 -0
  853. package/dist/esm/lib/validation/types/Types.js +1 -0
  854. package/dist/esm/lib/validation/types/UnwrapSchemaLikeWithoutArray.js +1 -0
  855. package/dist/esm/lib/validation/types/ValidationErrorFunction.js +1 -0
  856. package/dist/esm/options/ApplicationOptions.js +71 -0
  857. package/dist/esm/options/LoadAnonymousObjectOptions.js +48 -0
  858. package/dist/esm/options/LoadNamedObjectOptions.js +39 -0
  859. package/dist/esm/options/LoadObjectOptions.js +50 -0
  860. package/dist/esm/options/ModuleLoadObjectsOptions.js +57 -0
  861. package/dist/esm/options/ModuleOptions.js +82 -0
  862. package/dist/esm/options/OverridableNamedObjectOptions.js +34 -0
  863. package/dist/esm/options/OverridableObjectOptions.js +49 -0
  864. package/dist/esm/types/ActionPattern.js +1 -0
  865. package/dist/esm/types/ApplicationExitReason.js +1 -0
  866. package/dist/esm/types/ClassDecorator.js +1 -0
  867. package/dist/esm/types/ComponentOptions.js +1 -0
  868. package/dist/esm/types/CronOptions.js +1 -0
  869. package/dist/esm/types/JSONSchema.js +1 -0
  870. package/dist/esm/types/MethodDecorator.js +1 -0
  871. package/dist/esm/types/ModuleOptions.js +1 -0
  872. package/dist/esm/types/ObjectOptions.js +1 -0
  873. package/dist/esm/types/PaginationMeta.js +1 -0
  874. package/dist/esm/types/ParameterDecorator.js +1 -0
  875. package/dist/esm/types/PropertyDecorator.js +1 -0
  876. package/dist/esm/types/ProviderOptions.js +1 -0
  877. package/dist/types/components/ConsoleLogger.d.ts +62 -0
  878. package/dist/types/constants/DIMetadataKey.d.ts +10 -0
  879. package/dist/types/constants/DTOMetadataKey.d.ts +5 -0
  880. package/dist/types/decorators/asst/After.d.ts +29 -0
  881. package/dist/types/decorators/asst/Before.d.ts +28 -0
  882. package/dist/types/decorators/di/Autoload.d.ts +33 -0
  883. package/dist/types/decorators/di/Configurable.d.ts +51 -0
  884. package/dist/types/decorators/di/Inject.d.ts +85 -0
  885. package/dist/types/decorators/di/Lifetime.d.ts +94 -0
  886. package/dist/types/decorators/dto/Accept.d.ts +38 -0
  887. package/dist/types/decorators/dto/Expect.d.ts +38 -0
  888. package/dist/types/decorators/dto/IndexSignature.d.ts +30 -0
  889. package/dist/types/decorators/dto/Return.d.ts +39 -0
  890. package/dist/types/dto/PaginationResultDTO.d.ts +33 -0
  891. package/dist/types/dto/PaginationSearchDTO.d.ts +33 -0
  892. package/dist/types/dto/Paginator.d.ts +54 -0
  893. package/dist/types/exceptions/DestroyRuntimeContainerException.d.ts +10 -0
  894. package/dist/types/exceptions/InvalidActionPatternDepthException.d.ts +8 -0
  895. package/dist/types/exceptions/InvalidAssistantFunctionTypeException.d.ts +9 -0
  896. package/dist/types/exceptions/InvalidObjectTypeException.d.ts +9 -0
  897. package/dist/types/exceptions/MethodNotFoundException.d.ts +8 -0
  898. package/dist/types/exceptions/ObjectDestroyedException.d.ts +9 -0
  899. package/dist/types/exceptions/alias/AliasExistsException.d.ts +8 -0
  900. package/dist/types/exceptions/alias/AliasNotFoundException.d.ts +8 -0
  901. package/dist/types/exceptions/alias/InvalidAliasNameException.d.ts +8 -0
  902. package/dist/types/exceptions/di/DependencyInjectionException.d.ts +9 -0
  903. package/dist/types/exceptions/di/InvalidObjectOptionsException.d.ts +9 -0
  904. package/dist/types/exceptions/di/LifetimeLockedException.d.ts +9 -0
  905. package/dist/types/exceptions/di/OverridableObjectTargetConfigNotFoundException.d.ts +9 -0
  906. package/dist/types/exceptions/dto/InvalidMethodAcceptException.d.ts +9 -0
  907. package/dist/types/exceptions/dto/InvalidMethodReturnException.d.ts +9 -0
  908. package/dist/types/exceptions/dto/InvalidValueException.d.ts +11 -0
  909. package/dist/types/exports/ASSTDecorators.d.ts +3 -0
  910. package/dist/types/exports/Core.d.ts +93 -0
  911. package/dist/types/exports/DIDecorators.d.ts +5 -0
  912. package/dist/types/exports/DTODecorators.d.ts +6 -0
  913. package/dist/types/exports/DTOs.d.ts +17 -0
  914. package/dist/types/exports/LoggerComponent.d.ts +3 -0
  915. package/dist/types/interfaces/IBaseObjectConstructor.d.ts +10 -0
  916. package/dist/types/interfaces/IConstructor.d.ts +6 -0
  917. package/dist/types/interfaces/ILogger.d.ts +35 -0
  918. package/dist/types/lib/app/Application.d.ts +346 -0
  919. package/dist/types/lib/app/ApplicationConfigLoader.d.ts +17 -0
  920. package/dist/types/lib/app/MigrationCommand.d.ts +31 -0
  921. package/dist/types/lib/base/BaseObject.d.ts +343 -0
  922. package/dist/types/lib/base/EventEmitter.d.ts +37 -0
  923. package/dist/types/lib/base/async-constructor/Append.d.ts +1 -0
  924. package/dist/types/lib/base/async-constructor/AsyncConstructor.d.ts +3 -0
  925. package/dist/types/lib/base/internal/ApplicationLaunch.d.ts +16 -0
  926. package/dist/types/lib/base/internal/ConfigurableRecordsInjection.d.ts +47 -0
  927. package/dist/types/lib/base/internal/EventEmitter2.d.ts +184 -0
  928. package/dist/types/lib/base/internal/MemberDeclarations.d.ts +23 -0
  929. package/dist/types/lib/base/internal/MethodAssistantFunction.d.ts +20 -0
  930. package/dist/types/lib/base/internal/ModuleConfigLoader.d.ts +46 -0
  931. package/dist/types/lib/base/internal/ModuleInitialization.d.ts +5 -0
  932. package/dist/types/lib/base/internal/ObjectConfiguration.d.ts +29 -0
  933. package/dist/types/lib/base/internal/ObjectContainer.d.ts +15 -0
  934. package/dist/types/lib/base/internal/ObjectInjection.d.ts +43 -0
  935. package/dist/types/lib/base/internal/ObjectOptionsCheck.d.ts +12 -0
  936. package/dist/types/lib/base/internal/ObjectStartup.d.ts +31 -0
  937. package/dist/types/lib/base/internal/ObjectType.d.ts +37 -0
  938. package/dist/types/lib/core/Alias.d.ts +48 -0
  939. package/dist/types/lib/core/Component.d.ts +267 -0
  940. package/dist/types/lib/core/Container.d.ts +341 -0
  941. package/dist/types/lib/core/Module.d.ts +165 -0
  942. package/dist/types/lib/core/Provider.d.ts +52 -0
  943. package/dist/types/lib/dto/CachedSchema.d.ts +7 -0
  944. package/dist/types/lib/dto/DTO.d.ts +278 -0
  945. package/dist/types/lib/dto/DataValidator.d.ts +166 -0
  946. package/dist/types/lib/dto/FlexibleDTO.d.ts +23 -0
  947. package/dist/types/lib/dto/MethodValidation.d.ts +44 -0
  948. package/dist/types/lib/dto/ObjectSchemaValidation.d.ts +86 -0
  949. package/dist/types/lib/dto/internal/CronValidator.d.ts +8 -0
  950. package/dist/types/lib/foundation/BasicInfo.d.ts +46 -0
  951. package/dist/types/lib/foundation/EndProcess.d.ts +14 -0
  952. package/dist/types/lib/foundation/Exception.d.ts +88 -0
  953. package/dist/types/lib/foundation/LifecycleErrorReporter.d.ts +26 -0
  954. package/dist/types/lib/foundation/Packaging.d.ts +29 -0
  955. package/dist/types/lib/foundation/ThrowWarning.d.ts +6 -0
  956. package/dist/types/lib/helpers/internal/WithCause.d.ts +6 -0
  957. package/dist/types/lib/ioc/ConstructorSymbol.d.ts +3 -0
  958. package/dist/types/lib/ioc/DependencyInjectionContainer.d.ts +178 -0
  959. package/dist/types/lib/ioc/Errors.d.ts +59 -0
  960. package/dist/types/lib/ioc/Lifetime.d.ts +12 -0
  961. package/dist/types/lib/ioc/ListModules.d.ts +42 -0
  962. package/dist/types/lib/ioc/LoadModuleNative.d.ts +1 -0
  963. package/dist/types/lib/ioc/LoadModules.d.ts +49 -0
  964. package/dist/types/lib/ioc/ObjectLifetime.d.ts +22 -0
  965. package/dist/types/lib/ioc/ObjectWeakRefs.d.ts +19 -0
  966. package/dist/types/lib/ioc/Resolvers.d.ts +136 -0
  967. package/dist/types/lib/ioc/Utils.d.ts +33 -0
  968. package/dist/types/lib/validation/JsonSchema.d.ts +127 -0
  969. package/dist/types/lib/validation/VLD.d.ts +275 -0
  970. package/dist/types/lib/validation/ValidationLanguage.d.ts +42 -0
  971. package/dist/types/lib/validation/ValidationMessages.d.ts +92 -0
  972. package/dist/types/lib/validation/engine/address/decode.d.ts +8 -0
  973. package/dist/types/lib/validation/engine/address/domain.d.ts +74 -0
  974. package/dist/types/lib/validation/engine/address/email.d.ts +27 -0
  975. package/dist/types/lib/validation/engine/address/errors.d.ts +48 -0
  976. package/dist/types/lib/validation/engine/address/index.d.ts +9 -0
  977. package/dist/types/lib/validation/engine/address/ip.d.ts +35 -0
  978. package/dist/types/lib/validation/engine/address/uri.d.ts +55 -0
  979. package/dist/types/lib/validation/engine/expression/index.d.ts +70 -0
  980. package/dist/types/lib/validation/engine/json-schema/combinations.d.ts +11 -0
  981. package/dist/types/lib/validation/engine/json-schema/helpers.d.ts +76 -0
  982. package/dist/types/lib/validation/engine/json-schema/import.d.ts +56 -0
  983. package/dist/types/lib/validation/engine/json-schema/index.d.ts +20 -0
  984. package/dist/types/lib/validation/engine/json-schema/model.d.ts +124 -0
  985. package/dist/types/lib/validation/engine/json-schema/parsers/json-2020-12.d.ts +9 -0
  986. package/dist/types/lib/validation/engine/json-schema/parsers/json-draft-04.d.ts +17 -0
  987. package/dist/types/lib/validation/engine/json-schema/parsers/json-draft-2019-09.d.ts +13 -0
  988. package/dist/types/lib/validation/engine/json-schema/parsers/json.d.ts +245 -0
  989. package/dist/types/lib/validation/engine/json-schema/parsers/open-api-3.1.d.ts +13 -0
  990. package/dist/types/lib/validation/engine/json-schema/parsers/open-api.d.ts +24 -0
  991. package/dist/types/lib/validation/engine/location/index.d.ts +18 -0
  992. package/dist/types/lib/validation/engine/schema/annotate.d.ts +13 -0
  993. package/dist/types/lib/validation/engine/schema/assert.d.ts +25 -0
  994. package/dist/types/lib/validation/engine/schema/base.d.ts +194 -0
  995. package/dist/types/lib/validation/engine/schema/cache.d.ts +41 -0
  996. package/dist/types/lib/validation/engine/schema/common.d.ts +79 -0
  997. package/dist/types/lib/validation/engine/schema/compile.d.ts +81 -0
  998. package/dist/types/lib/validation/engine/schema/errors.d.ts +94 -0
  999. package/dist/types/lib/validation/engine/schema/extend.d.ts +122 -0
  1000. package/dist/types/lib/validation/engine/schema/extensions/bigint.d.ts +33 -0
  1001. package/dist/types/lib/validation/engine/schema/fastpath.d.ts +35 -0
  1002. package/dist/types/lib/validation/engine/schema/formats.d.ts +8 -0
  1003. package/dist/types/lib/validation/engine/schema/index.d.ts +95 -0
  1004. package/dist/types/lib/validation/engine/schema/lazy.d.ts +21 -0
  1005. package/dist/types/lib/validation/engine/schema/manifest.d.ts +52 -0
  1006. package/dist/types/lib/validation/engine/schema/messages.d.ts +37 -0
  1007. package/dist/types/lib/validation/engine/schema/model.d.ts +196 -0
  1008. package/dist/types/lib/validation/engine/schema/modify.d.ts +58 -0
  1009. package/dist/types/lib/validation/engine/schema/ref.d.ts +116 -0
  1010. package/dist/types/lib/validation/engine/schema/schemas.d.ts +6 -0
  1011. package/dist/types/lib/validation/engine/schema/state.d.ts +48 -0
  1012. package/dist/types/lib/validation/engine/schema/template.d.ts +72 -0
  1013. package/dist/types/lib/validation/engine/schema/trace.d.ts +121 -0
  1014. package/dist/types/lib/validation/engine/schema/types/alternatives.d.ts +36 -0
  1015. package/dist/types/lib/validation/engine/schema/types/any.d.ts +37 -0
  1016. package/dist/types/lib/validation/engine/schema/types/array.d.ts +46 -0
  1017. package/dist/types/lib/validation/engine/schema/types/binary.d.ts +20 -0
  1018. package/dist/types/lib/validation/engine/schema/types/boolean.d.ts +29 -0
  1019. package/dist/types/lib/validation/engine/schema/types/date.d.ts +27 -0
  1020. package/dist/types/lib/validation/engine/schema/types/function.d.ts +12 -0
  1021. package/dist/types/lib/validation/engine/schema/types/keys.d.ts +119 -0
  1022. package/dist/types/lib/validation/engine/schema/types/link.d.ts +21 -0
  1023. package/dist/types/lib/validation/engine/schema/types/number.d.ts +46 -0
  1024. package/dist/types/lib/validation/engine/schema/types/object.d.ts +10 -0
  1025. package/dist/types/lib/validation/engine/schema/types/string.d.ts +115 -0
  1026. package/dist/types/lib/validation/engine/schema/types/symbol.d.ts +23 -0
  1027. package/dist/types/lib/validation/engine/schema/validator.d.ts +114 -0
  1028. package/dist/types/lib/validation/engine/schema/values.d.ts +51 -0
  1029. package/dist/types/lib/validation/engine/sorter/index.d.ts +54 -0
  1030. package/dist/types/lib/validation/engine/tlds/index.d.ts +1 -0
  1031. package/dist/types/lib/validation/engine/tlds/tlds.d.ts +4 -0
  1032. package/dist/types/lib/validation/engine/utils/applyToDefaults.d.ts +17 -0
  1033. package/dist/types/lib/validation/engine/utils/assert.d.ts +6 -0
  1034. package/dist/types/lib/validation/engine/utils/assertError.d.ts +10 -0
  1035. package/dist/types/lib/validation/engine/utils/clone.d.ts +25 -0
  1036. package/dist/types/lib/validation/engine/utils/deepEqual.d.ts +29 -0
  1037. package/dist/types/lib/validation/engine/utils/escapeHtml.d.ts +8 -0
  1038. package/dist/types/lib/validation/engine/utils/escapeRegex.d.ts +8 -0
  1039. package/dist/types/lib/validation/engine/utils/ignore.d.ts +8 -0
  1040. package/dist/types/lib/validation/engine/utils/index.d.ts +16 -0
  1041. package/dist/types/lib/validation/engine/utils/merge.d.ts +21 -0
  1042. package/dist/types/lib/validation/engine/utils/reach.d.ts +30 -0
  1043. package/dist/types/lib/validation/engine/utils/stringify.d.ts +8 -0
  1044. package/dist/types/lib/validation/engine/utils/types.d.ts +26 -0
  1045. package/dist/types/lib/validation/engine/utils/utils.d.ts +24 -0
  1046. package/dist/types/lib/validation/exceptions/SchemaConversionException.d.ts +7 -0
  1047. package/dist/types/lib/validation/exceptions/SchemaDefinitionException.d.ts +7 -0
  1048. package/dist/types/lib/validation/exceptions/SchemaException.d.ts +6 -0
  1049. package/dist/types/lib/validation/exceptions/SchemaValidationException.d.ts +36 -0
  1050. package/dist/types/lib/validation/interfaces/AlternativesSchema.d.ts +45 -0
  1051. package/dist/types/lib/validation/interfaces/AnySchema.d.ts +399 -0
  1052. package/dist/types/lib/validation/interfaces/ArraySchema.d.ts +106 -0
  1053. package/dist/types/lib/validation/interfaces/ArraySortOptions.d.ts +8 -0
  1054. package/dist/types/lib/validation/interfaces/ArrayUniqueOptions.d.ts +9 -0
  1055. package/dist/types/lib/validation/interfaces/Base64Options.d.ts +9 -0
  1056. package/dist/types/lib/validation/interfaces/BaseValidationOptions.d.ts +97 -0
  1057. package/dist/types/lib/validation/interfaces/BigIntSchema.d.ts +67 -0
  1058. package/dist/types/lib/validation/interfaces/BinarySchema.d.ts +33 -0
  1059. package/dist/types/lib/validation/interfaces/BooleanSchema.d.ts +29 -0
  1060. package/dist/types/lib/validation/interfaces/Cache.d.ts +14 -0
  1061. package/dist/types/lib/validation/interfaces/CacheConfiguration.d.ts +15 -0
  1062. package/dist/types/lib/validation/interfaces/CompileOptions.d.ts +9 -0
  1063. package/dist/types/lib/validation/interfaces/Context.d.ts +9 -0
  1064. package/dist/types/lib/validation/interfaces/CustomHelpers.d.ts +15 -0
  1065. package/dist/types/lib/validation/interfaces/DataUriOptions.d.ts +8 -0
  1066. package/dist/types/lib/validation/interfaces/DateSchema.d.ts +48 -0
  1067. package/dist/types/lib/validation/interfaces/DependencyOptions.d.ts +9 -0
  1068. package/dist/types/lib/validation/interfaces/Description.d.ts +20 -0
  1069. package/dist/types/lib/validation/interfaces/DomainOptions.d.ts +33 -0
  1070. package/dist/types/lib/validation/interfaces/EmailOptions.d.ts +51 -0
  1071. package/dist/types/lib/validation/interfaces/ErrorFormattingOptions.d.ts +60 -0
  1072. package/dist/types/lib/validation/interfaces/ErrorReport.d.ts +14 -0
  1073. package/dist/types/lib/validation/interfaces/ErrorValidationOptions.d.ts +5 -0
  1074. package/dist/types/lib/validation/interfaces/Extension.d.ts +100 -0
  1075. package/dist/types/lib/validation/interfaces/ExtensionFlag.d.ts +4 -0
  1076. package/dist/types/lib/validation/interfaces/ExternalHelpers.d.ts +16 -0
  1077. package/dist/types/lib/validation/interfaces/FunctionSchema.d.ts +31 -0
  1078. package/dist/types/lib/validation/interfaces/GuidOptions.d.ts +6 -0
  1079. package/dist/types/lib/validation/interfaces/HexOptions.d.ts +16 -0
  1080. package/dist/types/lib/validation/interfaces/HierarchySeparatorOptions.d.ts +7 -0
  1081. package/dist/types/lib/validation/interfaces/IpOptions.d.ts +11 -0
  1082. package/dist/types/lib/validation/interfaces/LanguageMessageTemplate.d.ts +4 -0
  1083. package/dist/types/lib/validation/interfaces/LinkSchema.d.ts +26 -0
  1084. package/dist/types/lib/validation/interfaces/NumberSchema.d.ts +134 -0
  1085. package/dist/types/lib/validation/interfaces/ObjectPatternOptions.d.ts +6 -0
  1086. package/dist/types/lib/validation/interfaces/ObjectSchema.d.ts +173 -0
  1087. package/dist/types/lib/validation/interfaces/Reference.d.ts +38 -0
  1088. package/dist/types/lib/validation/interfaces/ReferenceOptions.d.ts +59 -0
  1089. package/dist/types/lib/validation/interfaces/RenameOptions.d.ts +26 -0
  1090. package/dist/types/lib/validation/interfaces/RuleOptions.d.ts +22 -0
  1091. package/dist/types/lib/validation/interfaces/SchemaInternals.d.ts +103 -0
  1092. package/dist/types/lib/validation/interfaces/State.d.ts +8 -0
  1093. package/dist/types/lib/validation/interfaces/StringRegexOptions.d.ts +12 -0
  1094. package/dist/types/lib/validation/interfaces/StringSchema.d.ts +220 -0
  1095. package/dist/types/lib/validation/interfaces/SwitchCases.d.ts +11 -0
  1096. package/dist/types/lib/validation/interfaces/SwitchDefault.d.ts +8 -0
  1097. package/dist/types/lib/validation/interfaces/SymbolSchema.d.ts +16 -0
  1098. package/dist/types/lib/validation/interfaces/TopLevelDomainOptions.d.ts +12 -0
  1099. package/dist/types/lib/validation/interfaces/UriOptions.d.ts +31 -0
  1100. package/dist/types/lib/validation/interfaces/ValidationErrorItem.d.ts +7 -0
  1101. package/dist/types/lib/validation/interfaces/ValidationOptions.d.ts +21 -0
  1102. package/dist/types/lib/validation/interfaces/WhenOptions.d.ts +30 -0
  1103. package/dist/types/lib/validation/interfaces/WhenSchemaOptions.d.ts +11 -0
  1104. package/dist/types/lib/validation/messages/ar.d.ts +5 -0
  1105. package/dist/types/lib/validation/messages/de.d.ts +5 -0
  1106. package/dist/types/lib/validation/messages/es.d.ts +5 -0
  1107. package/dist/types/lib/validation/messages/fr.d.ts +5 -0
  1108. package/dist/types/lib/validation/messages/hi.d.ts +5 -0
  1109. package/dist/types/lib/validation/messages/id.d.ts +5 -0
  1110. package/dist/types/lib/validation/messages/it.d.ts +5 -0
  1111. package/dist/types/lib/validation/messages/ja.d.ts +5 -0
  1112. package/dist/types/lib/validation/messages/ko.d.ts +5 -0
  1113. package/dist/types/lib/validation/messages/nl.d.ts +5 -0
  1114. package/dist/types/lib/validation/messages/pl.d.ts +5 -0
  1115. package/dist/types/lib/validation/messages/pt-BR.d.ts +5 -0
  1116. package/dist/types/lib/validation/messages/ru.d.ts +5 -0
  1117. package/dist/types/lib/validation/messages/th.d.ts +5 -0
  1118. package/dist/types/lib/validation/messages/tr.d.ts +5 -0
  1119. package/dist/types/lib/validation/messages/uk.d.ts +5 -0
  1120. package/dist/types/lib/validation/messages/vi.d.ts +5 -0
  1121. package/dist/types/lib/validation/messages/zh-CN.d.ts +5 -0
  1122. package/dist/types/lib/validation/messages/zh-TW.d.ts +5 -0
  1123. package/dist/types/lib/validation/types/BasicType.d.ts +4 -0
  1124. package/dist/types/lib/validation/types/ComparatorFunction.d.ts +4 -0
  1125. package/dist/types/lib/validation/types/CustomValidator.d.ts +9 -0
  1126. package/dist/types/lib/validation/types/ExtensionBoundSchema.d.ts +2 -0
  1127. package/dist/types/lib/validation/types/ExternalValidationFunction.d.ts +8 -0
  1128. package/dist/types/lib/validation/types/IsNonPrimitiveSubsetUnion.d.ts +3 -0
  1129. package/dist/types/lib/validation/types/IsPrimitiveSubset.d.ts +3 -0
  1130. package/dist/types/lib/validation/types/IsUnion.d.ts +1 -0
  1131. package/dist/types/lib/validation/types/LanguageMessages.d.ts +5 -0
  1132. package/dist/types/lib/validation/types/NoNestedArrays.d.ts +5 -0
  1133. package/dist/types/lib/validation/types/NullableType.d.ts +1 -0
  1134. package/dist/types/lib/validation/types/ObjectPropertiesSchema.d.ts +12 -0
  1135. package/dist/types/lib/validation/types/PartialSchemaMap.d.ts +4 -0
  1136. package/dist/types/lib/validation/types/PresenceMode.d.ts +4 -0
  1137. package/dist/types/lib/validation/types/Primitives.d.ts +4 -0
  1138. package/dist/types/lib/validation/types/Schema.d.ts +17 -0
  1139. package/dist/types/lib/validation/types/SchemaFunction.d.ts +6 -0
  1140. package/dist/types/lib/validation/types/SchemaLike.d.ts +6 -0
  1141. package/dist/types/lib/validation/types/SchemaLikeWithoutArray.d.ts +7 -0
  1142. package/dist/types/lib/validation/types/SchemaMap.d.ts +7 -0
  1143. package/dist/types/lib/validation/types/StrictSchemaMap.d.ts +4 -0
  1144. package/dist/types/lib/validation/types/Types.d.ts +4 -0
  1145. package/dist/types/lib/validation/types/UnwrapSchemaLikeWithoutArray.d.ts +5 -0
  1146. package/dist/types/lib/validation/types/ValidationErrorFunction.d.ts +7 -0
  1147. package/dist/types/options/ApplicationOptions.d.ts +60 -0
  1148. package/dist/types/options/LoadAnonymousObjectOptions.d.ts +33 -0
  1149. package/dist/types/options/LoadNamedObjectOptions.d.ts +29 -0
  1150. package/dist/types/options/LoadObjectOptions.d.ts +30 -0
  1151. package/dist/types/options/ModuleLoadObjectsOptions.d.ts +44 -0
  1152. package/dist/types/options/ModuleOptions.d.ts +74 -0
  1153. package/dist/types/options/OverridableNamedObjectOptions.d.ts +26 -0
  1154. package/dist/types/options/OverridableObjectOptions.d.ts +34 -0
  1155. package/dist/types/types/ActionPattern.d.ts +6 -0
  1156. package/dist/types/types/ApplicationExitReason.d.ts +13 -0
  1157. package/dist/types/types/ClassDecorator.d.ts +6 -0
  1158. package/dist/types/types/ComponentOptions.d.ts +20 -0
  1159. package/dist/types/types/CronOptions.d.ts +25 -0
  1160. package/dist/types/types/JSONSchema.d.ts +284 -0
  1161. package/dist/types/types/MethodDecorator.d.ts +5 -0
  1162. package/dist/types/types/ModuleOptions.d.ts +20 -0
  1163. package/dist/types/types/ObjectOptions.d.ts +20 -0
  1164. package/dist/types/types/PaginationMeta.d.ts +21 -0
  1165. package/dist/types/types/ParameterDecorator.d.ts +5 -0
  1166. package/dist/types/types/PropertyDecorator.d.ts +4 -0
  1167. package/dist/types/types/ProviderOptions.d.ts +20 -0
  1168. package/package.json +93 -95
  1169. package/tsconfig.base.json +32 -0
  1170. package/.eslintrc.json +0 -47
  1171. package/.idea/codeStyles/Project.xml +0 -41
  1172. package/.idea/codeStyles/codeStyleConfig.xml +0 -5
  1173. package/.idea/inspectionProfiles/Project_Default.xml +0 -10
  1174. package/.idea/lakutata-core.iml +0 -13
  1175. package/.idea/modules.xml +0 -8
  1176. package/.idea/vcs.xml +0 -6
  1177. package/LICENSE +0 -21
  1178. package/assets/lakutata-banner.png +0 -0
  1179. package/assets/lakutata_logo.jpg +0 -0
  1180. package/build/Application.d.ts +0 -33
  1181. package/build/Application.js +0 -89
  1182. package/build/Application.js.map +0 -1
  1183. package/build/ApplicationManagement.d.ts +0 -4
  1184. package/build/ApplicationManagement.js +0 -46
  1185. package/build/ApplicationManagement.js.map +0 -1
  1186. package/build/Core.d.ts +0 -46
  1187. package/build/Core.js +0 -80
  1188. package/build/Core.js.map +0 -1
  1189. package/build/base/BaseObject.d.ts +0 -14
  1190. package/build/base/BaseObject.js +0 -114
  1191. package/build/base/BaseObject.js.map +0 -1
  1192. package/build/base/Container.d.ts +0 -43
  1193. package/build/base/Container.js +0 -269
  1194. package/build/base/Container.js.map +0 -1
  1195. package/build/base/MetadataReader.d.ts +0 -6
  1196. package/build/base/MetadataReader.js +0 -14
  1197. package/build/base/MetadataReader.js.map +0 -1
  1198. package/build/base/Plugin.d.ts +0 -4
  1199. package/build/base/Plugin.js +0 -10
  1200. package/build/base/Plugin.js.map +0 -1
  1201. package/build/base/ValidatorClass.d.ts +0 -305
  1202. package/build/base/ValidatorClass.js +0 -514
  1203. package/build/base/ValidatorClass.js.map +0 -1
  1204. package/build/base/abstracts/Component.d.ts +0 -4
  1205. package/build/base/abstracts/Component.js +0 -8
  1206. package/build/base/abstracts/Component.js.map +0 -1
  1207. package/build/base/abstracts/Exception.d.ts +0 -11
  1208. package/build/base/abstracts/Exception.js +0 -60
  1209. package/build/base/abstracts/Exception.js.map +0 -1
  1210. package/build/base/abstracts/Module.d.ts +0 -88
  1211. package/build/base/abstracts/Module.js +0 -390
  1212. package/build/base/abstracts/Module.js.map +0 -1
  1213. package/build/base/abstracts/Workflow.d.ts +0 -9
  1214. package/build/base/abstracts/Workflow.js +0 -17
  1215. package/build/base/abstracts/Workflow.js.map +0 -1
  1216. package/build/base/process/Process.d.ts +0 -6
  1217. package/build/base/process/Process.js +0 -15
  1218. package/build/base/process/Process.js.map +0 -1
  1219. package/build/base/process/ProcessManager.d.ts +0 -10
  1220. package/build/base/process/ProcessManager.js +0 -34
  1221. package/build/base/process/ProcessManager.js.map +0 -1
  1222. package/build/base/thread/Thread.d.ts +0 -6
  1223. package/build/base/thread/Thread.js +0 -14
  1224. package/build/base/thread/Thread.js.map +0 -1
  1225. package/build/base/thread/ThreadManager.d.ts +0 -10
  1226. package/build/base/thread/ThreadManager.js +0 -34
  1227. package/build/base/thread/ThreadManager.js.map +0 -1
  1228. package/build/constants/MetadataKeys.d.ts +0 -2
  1229. package/build/constants/MetadataKeys.js +0 -6
  1230. package/build/constants/MetadataKeys.js.map +0 -1
  1231. package/build/decorators/DependencyInjection.d.ts +0 -3
  1232. package/build/decorators/DependencyInjection.js +0 -18
  1233. package/build/decorators/DependencyInjection.js.map +0 -1
  1234. package/build/decorators/MethodValidation.d.ts +0 -9
  1235. package/build/decorators/MethodValidation.js +0 -75
  1236. package/build/decorators/MethodValidation.js.map +0 -1
  1237. package/build/exceptions/ComponentNotFoundException.d.ts +0 -6
  1238. package/build/exceptions/ComponentNotFoundException.js +0 -17
  1239. package/build/exceptions/ComponentNotFoundException.js.map +0 -1
  1240. package/build/exceptions/CryptoException.d.ts +0 -5
  1241. package/build/exceptions/CryptoException.js +0 -12
  1242. package/build/exceptions/CryptoException.js.map +0 -1
  1243. package/build/exceptions/FatalException.d.ts +0 -5
  1244. package/build/exceptions/FatalException.js +0 -12
  1245. package/build/exceptions/FatalException.js.map +0 -1
  1246. package/build/exceptions/HttpRequestException.d.ts +0 -6
  1247. package/build/exceptions/HttpRequestException.js +0 -20
  1248. package/build/exceptions/HttpRequestException.js.map +0 -1
  1249. package/build/exceptions/InvalidMethodAcceptException.d.ts +0 -5
  1250. package/build/exceptions/InvalidMethodAcceptException.js +0 -12
  1251. package/build/exceptions/InvalidMethodAcceptException.js.map +0 -1
  1252. package/build/exceptions/InvalidMethodReturnException.d.ts +0 -5
  1253. package/build/exceptions/InvalidMethodReturnException.js +0 -12
  1254. package/build/exceptions/InvalidMethodReturnException.js.map +0 -1
  1255. package/build/exceptions/ModuleNotFoundException.d.ts +0 -6
  1256. package/build/exceptions/ModuleNotFoundException.js +0 -17
  1257. package/build/exceptions/ModuleNotFoundException.js.map +0 -1
  1258. package/build/exceptions/ProcessException.d.ts +0 -5
  1259. package/build/exceptions/ProcessException.js +0 -12
  1260. package/build/exceptions/ProcessException.js.map +0 -1
  1261. package/build/exceptions/ThreadException.d.ts +0 -5
  1262. package/build/exceptions/ThreadException.js +0 -12
  1263. package/build/exceptions/ThreadException.js.map +0 -1
  1264. package/build/exceptions/TimeoutException.d.ts +0 -5
  1265. package/build/exceptions/TimeoutException.js +0 -12
  1266. package/build/exceptions/TimeoutException.js.map +0 -1
  1267. package/build/exceptions/ValidationException.d.ts +0 -5
  1268. package/build/exceptions/ValidationException.js +0 -12
  1269. package/build/exceptions/ValidationException.js.map +0 -1
  1270. package/build/interfaces/IApplicationConfig.d.ts +0 -20
  1271. package/build/interfaces/IApplicationConfig.js +0 -3
  1272. package/build/interfaces/IApplicationConfig.js.map +0 -1
  1273. package/build/interfaces/IComponentsConfig.d.ts +0 -8
  1274. package/build/interfaces/IComponentsConfig.js +0 -3
  1275. package/build/interfaces/IComponentsConfig.js.map +0 -1
  1276. package/build/interfaces/IConstructor.d.ts +0 -4
  1277. package/build/interfaces/IConstructor.js +0 -3
  1278. package/build/interfaces/IConstructor.js.map +0 -1
  1279. package/build/interfaces/IModulesConfig.d.ts +0 -17
  1280. package/build/interfaces/IModulesConfig.js +0 -3
  1281. package/build/interfaces/IModulesConfig.js.map +0 -1
  1282. package/build/interfaces/IProcessConstructor.d.ts +0 -5
  1283. package/build/interfaces/IProcessConstructor.js +0 -3
  1284. package/build/interfaces/IProcessConstructor.js.map +0 -1
  1285. package/build/interfaces/IThreadConstructor.d.ts +0 -5
  1286. package/build/interfaces/IThreadConstructor.js +0 -3
  1287. package/build/interfaces/IThreadConstructor.js.map +0 -1
  1288. package/build/interfaces/ShellJsInterfaces.d.ts +0 -162
  1289. package/build/interfaces/ShellJsInterfaces.js +0 -3
  1290. package/build/interfaces/ShellJsInterfaces.js.map +0 -1
  1291. package/build/lib/minified/ShellJs.d.ts +0 -2
  1292. package/build/lib/minified/ShellJs.js +0 -3699
  1293. package/build/lib/minified/ShellJs.js.map +0 -1
  1294. package/build/lib/multipleRunner/constants/Channel.d.ts +0 -5
  1295. package/build/lib/multipleRunner/constants/Channel.js +0 -9
  1296. package/build/lib/multipleRunner/constants/Channel.js.map +0 -1
  1297. package/build/lib/multipleRunner/constants/MetadataKey.d.ts +0 -2
  1298. package/build/lib/multipleRunner/constants/MetadataKey.js +0 -6
  1299. package/build/lib/multipleRunner/constants/MetadataKey.js.map +0 -1
  1300. package/build/lib/multipleRunner/containers/ContainerVolume.d.ts +0 -4
  1301. package/build/lib/multipleRunner/containers/ContainerVolume.js +0 -85
  1302. package/build/lib/multipleRunner/containers/ContainerVolume.js.map +0 -1
  1303. package/build/lib/multipleRunner/definitions/interfaces/ClassConstructor.d.ts +0 -3
  1304. package/build/lib/multipleRunner/definitions/interfaces/ClassConstructor.js +0 -3
  1305. package/build/lib/multipleRunner/definitions/interfaces/ClassConstructor.js.map +0 -1
  1306. package/build/lib/multipleRunner/definitions/interfaces/MultipleRunnerBaseClassConstructor.d.ts +0 -4
  1307. package/build/lib/multipleRunner/definitions/interfaces/MultipleRunnerBaseClassConstructor.js +0 -3
  1308. package/build/lib/multipleRunner/definitions/interfaces/MultipleRunnerBaseClassConstructor.js.map +0 -1
  1309. package/build/lib/multipleRunner/definitions/interfaces/ProcessClassConstructor.d.ts +0 -7
  1310. package/build/lib/multipleRunner/definitions/interfaces/ProcessClassConstructor.js +0 -3
  1311. package/build/lib/multipleRunner/definitions/interfaces/ProcessClassConstructor.js.map +0 -1
  1312. package/build/lib/multipleRunner/definitions/interfaces/ProxyClass.d.ts +0 -3
  1313. package/build/lib/multipleRunner/definitions/interfaces/ProxyClass.js +0 -3
  1314. package/build/lib/multipleRunner/definitions/interfaces/ProxyClass.js.map +0 -1
  1315. package/build/lib/multipleRunner/definitions/interfaces/ThreadClassConstructor.d.ts +0 -7
  1316. package/build/lib/multipleRunner/definitions/interfaces/ThreadClassConstructor.js +0 -3
  1317. package/build/lib/multipleRunner/definitions/interfaces/ThreadClassConstructor.js.map +0 -1
  1318. package/build/lib/multipleRunner/lib/Process.d.ts +0 -5
  1319. package/build/lib/multipleRunner/lib/Process.js +0 -45
  1320. package/build/lib/multipleRunner/lib/Process.js.map +0 -1
  1321. package/build/lib/multipleRunner/lib/Thread.d.ts +0 -5
  1322. package/build/lib/multipleRunner/lib/Thread.js +0 -52
  1323. package/build/lib/multipleRunner/lib/Thread.js.map +0 -1
  1324. package/build/lib/multipleRunner/lib/bridges/BaseBridge.d.ts +0 -32
  1325. package/build/lib/multipleRunner/lib/bridges/BaseBridge.js +0 -107
  1326. package/build/lib/multipleRunner/lib/bridges/BaseBridge.js.map +0 -1
  1327. package/build/lib/multipleRunner/lib/bridges/ProcessBridge.d.ts +0 -5
  1328. package/build/lib/multipleRunner/lib/bridges/ProcessBridge.js +0 -23
  1329. package/build/lib/multipleRunner/lib/bridges/ProcessBridge.js.map +0 -1
  1330. package/build/lib/multipleRunner/lib/bridges/ThreadBridge.d.ts +0 -5
  1331. package/build/lib/multipleRunner/lib/bridges/ThreadBridge.js +0 -22
  1332. package/build/lib/multipleRunner/lib/bridges/ThreadBridge.js.map +0 -1
  1333. package/build/lib/multipleRunner/lib/cores/GenerateExecArgv.d.ts +0 -2
  1334. package/build/lib/multipleRunner/lib/cores/GenerateExecArgv.js +0 -35
  1335. package/build/lib/multipleRunner/lib/cores/GenerateExecArgv.js.map +0 -1
  1336. package/build/lib/multipleRunner/lib/cores/IsElectron.d.ts +0 -1
  1337. package/build/lib/multipleRunner/lib/cores/IsElectron.js +0 -8
  1338. package/build/lib/multipleRunner/lib/cores/IsElectron.js.map +0 -1
  1339. package/build/lib/multipleRunner/lib/cores/ProcessClass.d.ts +0 -5
  1340. package/build/lib/multipleRunner/lib/cores/ProcessClass.js +0 -12
  1341. package/build/lib/multipleRunner/lib/cores/ProcessClass.js.map +0 -1
  1342. package/build/lib/multipleRunner/lib/cores/ThreadClass.d.ts +0 -5
  1343. package/build/lib/multipleRunner/lib/cores/ThreadClass.js +0 -12
  1344. package/build/lib/multipleRunner/lib/cores/ThreadClass.js.map +0 -1
  1345. package/build/lib/multipleRunner/lib/cores/UniParentBridgeHandler.d.ts +0 -2
  1346. package/build/lib/multipleRunner/lib/cores/UniParentBridgeHandler.js +0 -104
  1347. package/build/lib/multipleRunner/lib/cores/UniParentBridgeHandler.js.map +0 -1
  1348. package/build/lib/multipleRunner/lib/prototypes/MultipleRunnerBaseClass.d.ts +0 -17
  1349. package/build/lib/multipleRunner/lib/prototypes/MultipleRunnerBaseClass.js +0 -57
  1350. package/build/lib/multipleRunner/lib/prototypes/MultipleRunnerBaseClass.js.map +0 -1
  1351. package/build/plugins/Crypto.d.ts +0 -18
  1352. package/build/plugins/Crypto.js +0 -131
  1353. package/build/plugins/Crypto.js.map +0 -1
  1354. package/build/plugins/Formatter.d.ts +0 -19
  1355. package/build/plugins/Formatter.js +0 -53
  1356. package/build/plugins/Formatter.js.map +0 -1
  1357. package/build/plugins/HttpRequest.d.ts +0 -45
  1358. package/build/plugins/HttpRequest.js +0 -171
  1359. package/build/plugins/HttpRequest.js.map +0 -1
  1360. package/build/plugins/JSON.d.ts +0 -10
  1361. package/build/plugins/JSON.js +0 -71
  1362. package/build/plugins/JSON.js.map +0 -1
  1363. package/build/plugins/Logger.d.ts +0 -25
  1364. package/build/plugins/Logger.js +0 -112
  1365. package/build/plugins/Logger.js.map +0 -1
  1366. package/build/plugins/MessagePack.d.ts +0 -12
  1367. package/build/plugins/MessagePack.js +0 -20
  1368. package/build/plugins/MessagePack.js.map +0 -1
  1369. package/build/plugins/Security.d.ts +0 -32
  1370. package/build/plugins/Security.js +0 -153
  1371. package/build/plugins/Security.js.map +0 -1
  1372. package/build/plugins/Shell.d.ts +0 -39
  1373. package/build/plugins/Shell.js +0 -58
  1374. package/build/plugins/Shell.js.map +0 -1
  1375. package/build/types/TPluginsConfig.d.ts +0 -7
  1376. package/build/types/TPluginsConfig.js +0 -3
  1377. package/build/types/TPluginsConfig.js.map +0 -1
  1378. package/build/types/TProcessesConfig.d.ts +0 -3
  1379. package/build/types/TProcessesConfig.js +0 -3
  1380. package/build/types/TProcessesConfig.js.map +0 -1
  1381. package/build/types/TThreadsConfig.d.ts +0 -3
  1382. package/build/types/TThreadsConfig.js +0 -3
  1383. package/build/types/TThreadsConfig.js.map +0 -1
  1384. package/build/types/TWorkflowsConfig.d.ts +0 -4
  1385. package/build/types/TWorkflowsConfig.js +0 -3
  1386. package/build/types/TWorkflowsConfig.js.map +0 -1
  1387. package/build/utils/Delay.d.ts +0 -1
  1388. package/build/utils/Delay.js +0 -13
  1389. package/build/utils/Delay.js.map +0 -1
  1390. package/build/utils/Timeout.d.ts +0 -2
  1391. package/build/utils/Timeout.js +0 -27
  1392. package/build/utils/Timeout.js.map +0 -1
  1393. package/build/utils/ValidDataUrl.d.ts +0 -1
  1394. package/build/utils/ValidDataUrl.js +0 -8
  1395. package/build/utils/ValidDataUrl.js.map +0 -1
  1396. package/build/utils/Validator.d.ts +0 -2
  1397. package/build/utils/Validator.js +0 -6
  1398. package/build/utils/Validator.js.map +0 -1
  1399. package/docs/component.md +0 -1
  1400. package/docs/exception.md +0 -1
  1401. package/docs/faq.md +0 -1
  1402. package/docs/introduction.md +0 -1
  1403. package/docs/module.md +0 -1
  1404. package/docs/plugin.md +0 -1
  1405. package/docs/process.md +0 -1
  1406. package/docs/thread.md +0 -1
  1407. package/docs/utilities.md +0 -1
  1408. package/docs/workflow.md +0 -1
  1409. package/src/Application.ts +0 -178
  1410. package/src/ApplicationManagement.ts +0 -48
  1411. package/src/Core.ts +0 -83
  1412. package/src/base/BaseObject.ts +0 -146
  1413. package/src/base/Container.ts +0 -375
  1414. package/src/base/MetadataReader.ts +0 -12
  1415. package/src/base/Plugin.ts +0 -11
  1416. package/src/base/ValidatorClass.ts +0 -707
  1417. package/src/base/abstracts/Component.ts +0 -5
  1418. package/src/base/abstracts/Exception.ts +0 -68
  1419. package/src/base/abstracts/Module.ts +0 -528
  1420. package/src/base/abstracts/Workflow.ts +0 -35
  1421. package/src/base/process/Process.ts +0 -23
  1422. package/src/base/process/ProcessManager.ts +0 -54
  1423. package/src/base/thread/Thread.ts +0 -23
  1424. package/src/base/thread/ThreadManager.ts +0 -54
  1425. package/src/constants/MetadataKeys.ts +0 -2
  1426. package/src/decorators/DependencyInjection.ts +0 -17
  1427. package/src/decorators/MethodValidation.ts +0 -80
  1428. package/src/exceptions/ComponentNotFoundException.ts +0 -12
  1429. package/src/exceptions/CryptoException.ts +0 -6
  1430. package/src/exceptions/FatalException.ts +0 -6
  1431. package/src/exceptions/HttpRequestException.ts +0 -15
  1432. package/src/exceptions/InvalidMethodAcceptException.ts +0 -6
  1433. package/src/exceptions/InvalidMethodReturnException.ts +0 -6
  1434. package/src/exceptions/ModuleNotFoundException.ts +0 -12
  1435. package/src/exceptions/ProcessException.ts +0 -6
  1436. package/src/exceptions/ThreadException.ts +0 -6
  1437. package/src/exceptions/TimeoutException.ts +0 -6
  1438. package/src/exceptions/ValidationException.ts +0 -6
  1439. package/src/interfaces/IApplicationConfig.ts +0 -21
  1440. package/src/interfaces/IComponentsConfig.ts +0 -9
  1441. package/src/interfaces/IConstructor.ts +0 -5
  1442. package/src/interfaces/IModulesConfig.ts +0 -18
  1443. package/src/interfaces/IProcessConstructor.ts +0 -6
  1444. package/src/interfaces/IThreadConstructor.ts +0 -6
  1445. package/src/interfaces/ShellJsInterfaces.ts +0 -858
  1446. package/src/lib/minified/ShellJs.js +0 -1
  1447. package/src/lib/multipleRunner/constants/Channel.ts +0 -5
  1448. package/src/lib/multipleRunner/constants/MetadataKey.ts +0 -2
  1449. package/src/lib/multipleRunner/containers/ContainerVolume.ts +0 -83
  1450. package/src/lib/multipleRunner/definitions/interfaces/ClassConstructor.ts +0 -3
  1451. package/src/lib/multipleRunner/definitions/interfaces/MultipleRunnerBaseClassConstructor.ts +0 -5
  1452. package/src/lib/multipleRunner/definitions/interfaces/ProcessClassConstructor.ts +0 -10
  1453. package/src/lib/multipleRunner/definitions/interfaces/ProxyClass.ts +0 -3
  1454. package/src/lib/multipleRunner/definitions/interfaces/ThreadClassConstructor.ts +0 -10
  1455. package/src/lib/multipleRunner/lib/Process.ts +0 -45
  1456. package/src/lib/multipleRunner/lib/Thread.ts +0 -52
  1457. package/src/lib/multipleRunner/lib/bridges/BaseBridge.ts +0 -118
  1458. package/src/lib/multipleRunner/lib/bridges/ProcessBridge.ts +0 -22
  1459. package/src/lib/multipleRunner/lib/bridges/ThreadBridge.ts +0 -20
  1460. package/src/lib/multipleRunner/lib/cores/GenerateExecArgv.ts +0 -28
  1461. package/src/lib/multipleRunner/lib/cores/IsElectron.ts +0 -3
  1462. package/src/lib/multipleRunner/lib/cores/ProcessClass.ts +0 -8
  1463. package/src/lib/multipleRunner/lib/cores/ThreadClass.ts +0 -8
  1464. package/src/lib/multipleRunner/lib/cores/UniParentBridgeHandler.ts +0 -97
  1465. package/src/lib/multipleRunner/lib/prototypes/MultipleRunnerBaseClass.ts +0 -70
  1466. package/src/plugins/Crypto.ts +0 -140
  1467. package/src/plugins/Formatter.ts +0 -83
  1468. package/src/plugins/HttpRequest.ts +0 -241
  1469. package/src/plugins/JSON.ts +0 -77
  1470. package/src/plugins/Logger.ts +0 -154
  1471. package/src/plugins/MessagePack.ts +0 -30
  1472. package/src/plugins/Security.ts +0 -273
  1473. package/src/plugins/Shell.ts +0 -371
  1474. package/src/tests/Main.spec.ts +0 -175
  1475. package/src/tests/components/TestComponent1.ts +0 -11
  1476. package/src/tests/exceptions/TestException.ts +0 -6
  1477. package/src/tests/modules/Test1.ts +0 -88
  1478. package/src/tests/modules/Test2.ts +0 -65
  1479. package/src/tests/modules/Test3.ts +0 -54
  1480. package/src/tests/modules/Test4.ts +0 -28
  1481. package/src/tests/plugins/TestPlugin1.ts +0 -22
  1482. package/src/tests/processes/TestProcess.ts +0 -11
  1483. package/src/tests/threads/TestThread.ts +0 -13
  1484. package/src/tests/workflows/TestWorkflow.ts +0 -7
  1485. package/src/types/TPluginsConfig.ts +0 -5
  1486. package/src/types/TProcessesConfig.ts +0 -4
  1487. package/src/types/TThreadsConfig.ts +0 -4
  1488. package/src/types/TWorkflowsConfig.ts +0 -6
  1489. package/src/utils/Delay.ts +0 -14
  1490. package/src/utils/Timeout.ts +0 -27
  1491. package/src/utils/ValidDataUrl.ts +0 -8
  1492. package/src/utils/Validator.ts +0 -3
  1493. package/tsconfig.json +0 -35
@@ -0,0 +1,629 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ var __metadata = (this && this.__metadata) || function (k, v) {
8
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
+ };
10
+ import { createContainer } from '../ioc/DependencyInjectionContainer.js';
11
+ import { __destroy, BaseObject } from '../base/BaseObject.js';
12
+ import { constructorSymbol } from '../ioc/ConstructorSymbol.js';
13
+ import { LoadObjectOptions, OBJECT_ID } from '../../options/LoadObjectOptions.js';
14
+ import { asClass, asValue } from '../ioc/Resolvers.js';
15
+ import { getObjectLifetime } from '../ioc/ObjectLifetime.js';
16
+ import { getConfigurableRecords, getRegistrationNameFromInstance, setConfigurableRecords, setConfigurableRecordsToInstance, setIdToInstance } from '../base/internal/ConfigurableRecordsInjection.js';
17
+ import { DTO } from '../dto/DTO.js';
18
+ import { getObjectIsAutoload } from '../base/internal/ObjectInjection.js';
19
+ import { Accept } from '../../decorators/dto/Accept.js';
20
+ import { listModules } from '../ioc/ListModules.js';
21
+ import { pathToFileURL } from 'url';
22
+ import { isClass } from '../ioc/Utils.js';
23
+ import { MODULE_INITIALIZATION } from '../base/internal/ModuleInitialization.js';
24
+ import { waitForObjectStartup } from '../base/internal/ObjectStartup.js';
25
+ import { reportDestroyError } from '../foundation/LifecycleErrorReporter.js';
26
+ import { throwWarning } from '../foundation/ThrowWarning.js';
27
+ import { isSubclassOf } from '@lakutata/utils/IsSubclassOf';
28
+ import { ObjectDestroyedException } from '../../exceptions/ObjectDestroyedException.js';
29
+ import { As } from '@lakutata/utils/As';
30
+ import { isEmptyObject } from '@lakutata/utils/IsEmptyObject';
31
+ import { appendObjectWeakRefs, clearObjectWeakRefs, getObjectWeakRefs } from '../ioc/ObjectWeakRefs.js';
32
+ export const containerSymbol = Symbol('LAKUTATA.DI.CONTAINER.SYMBOL');
33
+ export const ownerSymbol = Symbol('LAKUTATA.DI.OWNER.SYMBOL');
34
+ //The hooks run before the teardown of a container, by container
35
+ const teardownHooks = new WeakMap();
36
+ /**
37
+ * Register a hook run when a container starts its teardown, before its scopes and objects are destroyed
38
+ * (an entrypoint stops receiving requests and waits for the requests in progress there), returns its unregistration
39
+ * @param container
40
+ * @param hook
41
+ */
42
+ export function registerTeardownHook(container, hook) {
43
+ let hooks = teardownHooks.get(container);
44
+ if (!hooks)
45
+ teardownHooks.set(container, hooks = new Set());
46
+ hooks.add(hook);
47
+ return () => void hooks.delete(hook);
48
+ }
49
+ /**
50
+ * The dependency injection container: it registers the classes of the objects (components, providers, modules, any
51
+ * {@link BaseObject}), creates them on demand with their lifetime and destroys them with itself.
52
+ *
53
+ * An object is created asynchronously: its `@Inject` properties are resolved from the container, its `@Configurable`
54
+ * properties get their configured values (validated and transformed by their schemas), then its `init()` runs; the
55
+ * promise of `get()`, `set()` or `build()` settles once `init()` has completed. The lifetime of the class decides
56
+ * which instance is returned:
57
+ * - `@Singleton` (components, modules): one instance, held by the container which registered the class.
58
+ * - `@Scoped` (providers): one instance per scope (see {@link Container.createScope}), such as per request.
59
+ * - `@Transient` ({@link BaseObject}): a new instance on each request.
60
+ *
61
+ * The applications rarely create a container: the {@link Application} owns the root one, each object owns a child
62
+ * container tracking the objects it creates (destroyed with it), and the modules and components reach theirs through
63
+ * their protected `container` property. A container created with `new Container()` is a root container, to use the
64
+ * objects without an application (tests, scripts).
65
+ * @example
66
+ * ```typescript
67
+ * import {Component, Container, DTO, Provider} from 'lakutata'
68
+ * import {Configurable, Inject} from 'lakutata/decorator/di'
69
+ *
70
+ * class Greeter extends Provider {
71
+ * //'Hello' unless configured
72
+ * @Configurable(DTO.String())
73
+ * protected readonly greeting: string = 'Hello'
74
+ *
75
+ * public greet(name: string): string {
76
+ * return `${this.greeting}, ${name}`
77
+ * }
78
+ * }
79
+ *
80
+ * class Reception extends Component {
81
+ * @Inject('greeter')
82
+ * protected readonly greeter!: Greeter
83
+ *
84
+ * public welcome(name: string): string {
85
+ * return this.greeter.greet(name)
86
+ * }
87
+ * }
88
+ *
89
+ * const container: Container = new Container()
90
+ * await container.registerNamed('greeter', Greeter, {greeting: 'Welcome'})
91
+ * const reception: Reception = await container.set(Reception)
92
+ * console.log(reception.welcome('Ada')) //Welcome, Ada
93
+ * await container.destroy()
94
+ * ```
95
+ */
96
+ export class Container {
97
+ #dic;
98
+ /**
99
+ * Removes the weak reference of a garbage collected sub object container from its parent
100
+ * @private
101
+ */
102
+ static #releasedContainerRegistry = new FinalizationRegistry(({ refs, ref }) => refs.delete(ref));
103
+ /**
104
+ * Sub scopes are held strongly, a scope lives until it is destroyed explicitly or together with its parent
105
+ * @private
106
+ */
107
+ #subScopeSet;
108
+ /**
109
+ * Containers of sub objects are held weakly, they live as long as their owner objects
110
+ * @private
111
+ */
112
+ #subObjectContainerRefs;
113
+ #selfRef;
114
+ #destroyed;
115
+ #destroyPromise;
116
+ /**
117
+ * Whether current container is a scope (the root container or one created by createScope()),
118
+ * an object's own container is not a scope, it only tracks the objects created by that object
119
+ * @private
120
+ */
121
+ #isScope;
122
+ /**
123
+ * Create a container. Without parent, a root container; with a parent, a container whose registrations fall back
124
+ * to the parent's, destroyed together with it.
125
+ * @param parent The parent container, none for a root container.
126
+ * @param owner The object owning the container (the framework gives each object its own container).
127
+ */
128
+ constructor(parent, owner) {
129
+ /**
130
+ * Sub scopes are held strongly, a scope lives until it is destroyed explicitly or together with its parent
131
+ * @private
132
+ */
133
+ this.#subScopeSet = new Set();
134
+ /**
135
+ * Containers of sub objects are held weakly, they live as long as their owner objects
136
+ * @private
137
+ */
138
+ this.#subObjectContainerRefs = new Set();
139
+ this.#selfRef = new WeakRef(this);
140
+ this.#destroyed = false;
141
+ /**
142
+ * The names registered by this container itself (not by its parents); a singleton is resolved by the container
143
+ * which registered it, a scoped object by the nearest scope.
144
+ * @protected
145
+ */
146
+ this.injectionNames = new Set();
147
+ this.parent = parent;
148
+ this.#isScope = !parent;
149
+ this.#dic = parent ? parent.#dic.createScope() : createContainer({
150
+ //strict must be false
151
+ strict: false
152
+ });
153
+ if (this.parent)
154
+ Container.#releasedContainerRegistry.register(this, {
155
+ refs: this.parent.#subObjectContainerRefs,
156
+ ref: this.#selfRef
157
+ });
158
+ this.#attachToParent();
159
+ this.#dic.register(containerSymbol, asValue(this));
160
+ if (owner)
161
+ this.#dic.register(ownerSymbol, asValue(new WeakRef(owner)));
162
+ }
163
+ /**
164
+ * Let the parent track current container, so it is destroyed together with its parent
165
+ * @private
166
+ */
167
+ #attachToParent() {
168
+ if (!this.parent)
169
+ return;
170
+ if (this.#isScope) {
171
+ this.parent.#subScopeSet.add(this);
172
+ }
173
+ else {
174
+ this.parent.#subObjectContainerRefs.add(this.#selfRef);
175
+ }
176
+ }
177
+ /**
178
+ * Create the resolver of a registration
179
+ * @param target
180
+ * @private
181
+ */
182
+ #createResolver(target) {
183
+ return asClass(target, As(this.buildResolverOptions(target)));
184
+ }
185
+ /**
186
+ * Throw if current container has been destroyed (or is being destroyed)
187
+ * @private
188
+ */
189
+ #assertNotDestroyed() {
190
+ if (this.#destroyed)
191
+ throw new ObjectDestroyedException('The container has been destroyed');
192
+ }
193
+ /**
194
+ * Get the nearest scope, starting from current container
195
+ * @private
196
+ */
197
+ #nearestScope() {
198
+ let container = this;
199
+ while (!container.#isScope && container.parent)
200
+ container = container.parent;
201
+ return container;
202
+ }
203
+ /**
204
+ * Get the root container, the one without parent
205
+ * @private
206
+ */
207
+ #root() {
208
+ let container = this;
209
+ while (container.parent)
210
+ container = container.parent;
211
+ return container;
212
+ }
213
+ /**
214
+ * Stop being tracked by the parent
215
+ * @private
216
+ */
217
+ #detachFromParent() {
218
+ if (!this.parent)
219
+ return;
220
+ this.parent.#subScopeSet.delete(this);
221
+ this.parent.#subObjectContainerRefs.delete(this.#selfRef);
222
+ }
223
+ /**
224
+ * Destroy an object of the container during its teardown: its `beforeDestroy()`, the objects it created, then its
225
+ * `destroy()`. Never throws: the errors are reported through the application's logger.
226
+ * @param instance The object to destroy.
227
+ * @returns Resolves once the object is destroyed.
228
+ * @protected
229
+ */
230
+ async disposer(instance) {
231
+ try {
232
+ await instance.getMethod(__destroy, false)();
233
+ }
234
+ catch (e) {
235
+ //Cascaded destruction never throws, errors are reported instead
236
+ reportDestroyError(e, instance.className);
237
+ }
238
+ }
239
+ /**
240
+ * The options of the resolver of a class: the lifetime declared by its decorators (`@Singleton`, `@Scoped`,
241
+ * `@Transient`) and its disposer ({@link Container.disposer}).
242
+ * @param target The class to register or build.
243
+ * @returns The resolver options.
244
+ * @protected
245
+ */
246
+ buildResolverOptions(target) {
247
+ const objectLifetime = getObjectLifetime(target);
248
+ return {
249
+ lifetime: objectLifetime,
250
+ dispose: (instance) => this.disposer(instance)
251
+ };
252
+ }
253
+ /**
254
+ * Give an object just created by the container its registration name and its options: the options it was
255
+ * registered with, overridden by the ones requested. An object already created (a cached singleton or scoped
256
+ * instance) is returned as it is, the options requested being ignored with a warning outside production.
257
+ * @param resolved The object, or the promise of its asynchronous construction.
258
+ * @param registrationName The name (or class symbol) the object was requested by.
259
+ * @param configurableRecords The options requested for the object.
260
+ * @returns The object, once constructed.
261
+ * @protected
262
+ */
263
+ async processResolved(resolved, registrationName, configurableRecords = {}) {
264
+ //Only a newly created object gets its id and configurable records, a cached one is already initialized
265
+ const isSubBaseObject = isSubclassOf(resolved?.constructor, BaseObject);
266
+ const isNewSubBaseObject = isSubBaseObject && getRegistrationNameFromInstance(As(resolved)) === undefined;
267
+ if (isSubBaseObject && !isNewSubBaseObject && !isEmptyObject(configurableRecords) && process.env.NODE_ENV !== 'production') {
268
+ throwWarning(`The configuration passed for the already created object "${As(resolved).className}" is ignored. Use a scoped or transient object to get an instance with its own configuration.`);
269
+ }
270
+ if (isNewSubBaseObject) {
271
+ const presetConfigurableRecords = getConfigurableRecords(As(resolved.constructor), registrationName);
272
+ //set id into object instance
273
+ setIdToInstance(As(resolved), registrationName);
274
+ //set configurable records into object instance
275
+ setConfigurableRecordsToInstance(As(resolved), { ...presetConfigurableRecords, ...configurableRecords });
276
+ }
277
+ return Promise.resolve(resolved);
278
+ }
279
+ /**
280
+ * Build the registration of an object declaration: its name is its id (the name it is declared under) or, without
281
+ * id, a symbol of its class; its other options are kept as the options it is created with.
282
+ * @param options The object declaration.
283
+ * @returns The registration, keyed by its name.
284
+ * @protected
285
+ */
286
+ buildNameAndRegistrationPairFromOptions(options) {
287
+ const pair = {};
288
+ const id = options[OBJECT_ID] ? options[OBJECT_ID] : constructorSymbol(options.class);
289
+ const configurableRecords = { ...options, class: void (0) };
290
+ delete configurableRecords.id;
291
+ delete configurableRecords.class;
292
+ setConfigurableRecords(options.class, id, configurableRecords);
293
+ pair[id] = this.#createResolver(options.class);
294
+ return pair;
295
+ }
296
+ /**
297
+ * Build the registrations of the classes found by a glob pattern: each file matched is imported, and each of its
298
+ * exports which is a {@link BaseObject} subclass is registered under the symbol of its class.
299
+ * @param glob The glob pattern of the files to import, relative to the working directory (the aliases are not
300
+ * replaced in it).
301
+ * @returns The registrations, keyed by their class symbols.
302
+ * @throws {Error} When a file matched fails to import (its error as the cause).
303
+ * @protected
304
+ */
305
+ async buildNameAndRegistrationPairFromGlob(glob) {
306
+ const pairs = await Promise.all(listModules(glob).map(async (moduleDescriptor) => {
307
+ let importResult;
308
+ try {
309
+ importResult = await import(pathToFileURL(moduleDescriptor.path).toString());
310
+ }
311
+ catch (error) {
312
+ throw new Error(`The file ${moduleDescriptor.path} matched by "${glob}" cannot be imported: ${error?.message ?? error}`, { cause: error });
313
+ }
314
+ const pair = {};
315
+ for (const exportObj of Object.values(importResult)) {
316
+ if (isClass(exportObj) && isSubclassOf(exportObj, BaseObject))
317
+ pair[constructorSymbol(exportObj)] = this.#createResolver(As(exportObj));
318
+ }
319
+ return pair;
320
+ }));
321
+ return Object.assign({}, ...pairs);
322
+ }
323
+ /**
324
+ * The object owning the container (the one whose container it is, or the owner of the container a scope was
325
+ * created from).
326
+ * @returns The owner, or undefined for a container without owner or whose owner was garbage collected.
327
+ */
328
+ owner() {
329
+ const owner = this.#dic.resolve(ownerSymbol, { allowUnregistered: true });
330
+ return owner ? owner.deref() : undefined;
331
+ }
332
+ /**
333
+ * Register objects in the container, without creating them: a class is registered under the symbol of its class
334
+ * (got by its class), a declaration with an id under its id (got by its name) with its options, a glob pattern
335
+ * registers the classes of the files it matches. A name registered again replaces the previous registration.
336
+ * @param options The classes, declarations (`{class, ...options}`) and glob patterns to register.
337
+ * @returns Resolves once registered (the glob patterns imported).
338
+ * @throws {InvalidMethodAcceptException} When an item is neither a class, a declaration nor a glob pattern.
339
+ * @throws {ObjectDestroyedException} When the container has been destroyed.
340
+ * @throws {Error} When a file matched by a glob pattern fails to import.
341
+ */
342
+ async load(options) {
343
+ this.#assertNotDestroyed();
344
+ let pair = {};
345
+ const buildNameAndRegistrationPairFromGlobPromises = [];
346
+ options.forEach((value) => {
347
+ if (typeof value === 'string') {
348
+ //glob
349
+ buildNameAndRegistrationPairFromGlobPromises.push(this.buildNameAndRegistrationPairFromGlob(value));
350
+ }
351
+ else if (isClass(As(value))) {
352
+ const loadObjectOptions = { class: As(value) };
353
+ pair = { ...pair, ...this.buildNameAndRegistrationPairFromOptions(loadObjectOptions) };
354
+ }
355
+ else {
356
+ //load options
357
+ const loadObjectOptions = As(value);
358
+ pair = { ...pair, ...this.buildNameAndRegistrationPairFromOptions(loadObjectOptions) };
359
+ }
360
+ });
361
+ if (buildNameAndRegistrationPairFromGlobPromises.length) {
362
+ const pairs = await Promise.all(buildNameAndRegistrationPairFromGlobPromises);
363
+ pairs.forEach((_pair) => {
364
+ pair = { ..._pair, ...pair };
365
+ });
366
+ }
367
+ if (!isEmptyObject(pair)) {
368
+ Object.getOwnPropertyNames(pair).forEach(value => this.injectionNames.add(value));
369
+ Object.getOwnPropertySymbols(pair).forEach(value => this.injectionNames.add(value));
370
+ this.#dic.register(pair);
371
+ }
372
+ }
373
+ async get(inp, configurableRecords = {}) {
374
+ return await this.#get(inp, configurableRecords, false);
375
+ }
376
+ async getShared(inp, configurableRecords = {}) {
377
+ return await this.#get(inp, configurableRecords, true);
378
+ }
379
+ /**
380
+ * Get a registered object
381
+ * @param inp
382
+ * @param configurableRecords
383
+ * @param shared whether a scoped object requested with a configuration is the shared instance
384
+ * @private
385
+ */
386
+ async #get(inp, configurableRecords, shared) {
387
+ const registrationName = typeof inp === 'function' ? constructorSymbol(inp) : inp;
388
+ this.#assertNotDestroyed();
389
+ if (!this.#dic.hasRegistration(registrationName) && typeof inp === 'function' && getObjectIsAutoload(As(inp))) {
390
+ //An autoloaded scoped object is registered in the nearest scope, so it is shared within the request;
391
+ //an autoloaded singleton in the root container, so it is shared by every object of the application
392
+ const lifetime = As(getObjectLifetime(As(inp)));
393
+ const registerContainer = lifetime === 'SCOPED' ? this.#nearestScope() : lifetime === 'SINGLETON' ? this.#root() : this;
394
+ await registerContainer.load([{
395
+ id: registrationName,
396
+ class: As(inp)
397
+ }]);
398
+ }
399
+ const registration = this.#dic.getRegistration(registrationName);
400
+ const lifetime = registration?.lifetime;
401
+ //A scoped object requested with its own configuration is a new instance owned by the requester, it is not cached,
402
+ //so it never replaces the instance shared within the request (unless the shared instance is requested)
403
+ if (!shared && registration && lifetime === 'SCOPED' && !isEmptyObject(configurableRecords)) {
404
+ const configured = await this.processResolved(this.#dic.build(registration), registrationName, configurableRecords);
405
+ appendObjectWeakRefs(this.#dic, configured);
406
+ await waitForObjectStartup(configured);
407
+ return configured;
408
+ }
409
+ let resolver = this;
410
+ if (lifetime === 'SINGLETON') {
411
+ //Singletons are resolved by the container which registered them
412
+ while (!resolver.injectionNames.has(registrationName) && resolver.parent)
413
+ resolver = resolver.parent;
414
+ }
415
+ else if (lifetime === 'SCOPED') {
416
+ //Scoped objects are resolved by the nearest scope (one instance per request), or by the container which registered them
417
+ while (!resolver.injectionNames.has(registrationName) && !resolver.#isScope && resolver.parent)
418
+ resolver = resolver.parent;
419
+ }
420
+ resolver.#assertNotDestroyed();
421
+ const object = await resolver.processResolved(resolver.#dic.resolve(registrationName), registrationName, configurableRecords);
422
+ await this.#waitForModule(object);
423
+ await waitForObjectStartup(object);
424
+ return object;
425
+ }
426
+ /**
427
+ * Wait for the initialization of a module resolved for an object outside it (its objects loaded, its bootstrap
428
+ * run); the module itself and its objects, created by its initialization, do not wait for it
429
+ * @param object
430
+ * @private
431
+ */
432
+ async #waitForModule(object) {
433
+ const initialization = object?.[MODULE_INITIALIZATION];
434
+ if (typeof initialization !== 'function')
435
+ return;
436
+ for (let container = this; container; container = container.parent)
437
+ if (container.owner() === object)
438
+ return;
439
+ await initialization.call(object);
440
+ }
441
+ has(inp) {
442
+ if (typeof inp === 'function')
443
+ return this.#dic.hasRegistration(constructorSymbol(inp));
444
+ return this.#dic.hasRegistration(inp);
445
+ }
446
+ /**
447
+ * Register a class (unless it is registered already) and get its object, as {@link Container.get}.
448
+ * @param target The class.
449
+ * @param configurableRecords The options of the object: registered with the class when it is registered now, and
450
+ * requested for the object.
451
+ * @returns The object, once created and initialized.
452
+ * @throws {ObjectDestroyedException} When the container has been destroyed.
453
+ * @throws {Error} When the object fails to be created.
454
+ */
455
+ async set(target, configurableRecords = {}) {
456
+ if (!this.has(target)) {
457
+ await this.load([{
458
+ ...configurableRecords,
459
+ class: target
460
+ }]);
461
+ }
462
+ return await this.get(target, {
463
+ ...configurableRecords
464
+ });
465
+ }
466
+ /**
467
+ * Register a class under a name, replacing a previous registration of the name, and get its object.
468
+ * @param name The registration name or symbol.
469
+ * @param target The class.
470
+ * @param configurableRecords The options the object is registered with.
471
+ * @returns The object, once created and initialized.
472
+ * @throws {ObjectDestroyedException} When the container has been destroyed.
473
+ * @throws {Error} When the object fails to be created.
474
+ */
475
+ async setNamed(name, target, configurableRecords = {}) {
476
+ await this.load([{
477
+ ...configurableRecords,
478
+ class: target,
479
+ [OBJECT_ID]: name
480
+ }]);
481
+ return await this.get(name);
482
+ }
483
+ /**
484
+ * Register a class by its class, without creating its object; a class registered again replaces its previous
485
+ * registration.
486
+ * @param target The class.
487
+ * @param configurableRecords The options its objects are created with.
488
+ * @returns Resolves once registered.
489
+ * @throws {ObjectDestroyedException} When the container has been destroyed.
490
+ */
491
+ async register(target, configurableRecords = {}) {
492
+ await this.load([{
493
+ ...configurableRecords,
494
+ class: target
495
+ }]);
496
+ }
497
+ /**
498
+ * Register a class under a name, without creating its object; a name registered again replaces its previous
499
+ * registration.
500
+ * @param name The registration name or symbol.
501
+ * @param target The class.
502
+ * @param configurableRecords The options its objects are created with.
503
+ * @returns Resolves once registered.
504
+ * @throws {ObjectDestroyedException} When the container has been destroyed.
505
+ */
506
+ async registerNamed(name, target, configurableRecords = {}) {
507
+ await this.load([{
508
+ ...configurableRecords,
509
+ class: target,
510
+ [OBJECT_ID]: name
511
+ }]);
512
+ }
513
+ /**
514
+ * Create a new object of a class without registering it, whatever its lifetime: its dependencies are injected
515
+ * from this container, and it is destroyed with this container (unless disposed before).
516
+ * @param target The class, registered or not.
517
+ * @param configurableRecords The options of the object.
518
+ * @returns The new object, once created and initialized.
519
+ * @throws {ObjectDestroyedException} When the container has been destroyed.
520
+ * @throws {Error} When the object fails to be created.
521
+ */
522
+ async build(target, configurableRecords = {}) {
523
+ this.#assertNotDestroyed();
524
+ const builtObject = await this.processResolved(this.#dic.build(target, this.buildResolverOptions(target)), constructorSymbol(target), configurableRecords);
525
+ appendObjectWeakRefs(this.#dic, builtObject);
526
+ await waitForObjectStartup(builtObject);
527
+ return builtObject;
528
+ }
529
+ /**
530
+ * Create a scope: a child container holding its own instances of the scoped objects (one per scope, such as one per
531
+ * request), the singletons and registrations of this container being shared. The scope lives until it is destroyed
532
+ * explicitly, or together with this container.
533
+ * @returns The new scope.
534
+ * @throws {ObjectDestroyedException} When the container has been destroyed.
535
+ */
536
+ createScope() {
537
+ this.#assertNotDestroyed();
538
+ const scope = new Container(this, this.owner());
539
+ scope.#detachFromParent();
540
+ scope.#isScope = true;
541
+ scope.#attachToParent();
542
+ return scope;
543
+ }
544
+ /**
545
+ * Track this container in its parent again, so it is destroyed together with the parent (used when its owner is
546
+ * initialized again).
547
+ */
548
+ registerContainerToItsParent() {
549
+ this.#attachToParent();
550
+ }
551
+ /**
552
+ * Make a destroyed container usable again, when its owner is reloaded.
553
+ * @throws {ObjectDestroyedException} When the parent container has been destroyed (or is being destroyed).
554
+ */
555
+ revive() {
556
+ if (this.parent && this.parent.#destroyed)
557
+ throw new ObjectDestroyedException('Cannot revive a container whose parent container has been destroyed');
558
+ this.#destroyed = false;
559
+ this.#destroyPromise = undefined;
560
+ this.#attachToParent();
561
+ }
562
+ /**
563
+ * Drop the cached instance of a registration, so the next request creates a new one; nothing happens when the
564
+ * cached instance is not the one given.
565
+ * @param name The registration name or symbol.
566
+ * @param instance The instance to drop.
567
+ */
568
+ forget(name, instance) {
569
+ const cached = this.#dic.cache.get(name);
570
+ if (cached && cached.value === instance)
571
+ this.#dic.cache.delete(name);
572
+ }
573
+ /**
574
+ * Destroy the container's objects and scopes, the container remaining usable: the teardown hooks run (the
575
+ * entrypoints stop), then the scopes and the containers of the objects are destroyed, then the cached objects and
576
+ * the transient objects still alive. Never throws: the errors are reported through the application's logger, and a
577
+ * failing object does not stop the teardown of the others.
578
+ * @returns Resolves once everything is destroyed.
579
+ */
580
+ async clear() {
581
+ //Every step always runs to the end, a failing object never stops the teardown of the others
582
+ const hooks = teardownHooks.get(this);
583
+ if (hooks?.size) {
584
+ const results = await Promise.allSettled([...hooks].map((hook) => hook()));
585
+ results.forEach((result) => result.status === 'rejected' && reportDestroyError(result.reason));
586
+ }
587
+ const subContainers = [...this.#subScopeSet];
588
+ this.#subObjectContainerRefs.forEach((ref) => {
589
+ const subContainer = ref.deref();
590
+ if (subContainer)
591
+ subContainers.push(subContainer);
592
+ });
593
+ await Promise.all(subContainers.map((subContainer) => subContainer.destroy()));
594
+ try {
595
+ await this.#dic.dispose();
596
+ }
597
+ catch (e) {
598
+ reportDestroyError(e);
599
+ }
600
+ const transients = [];
601
+ getObjectWeakRefs(this.#dic).forEach((ref) => {
602
+ const transient = ref.deref();
603
+ if (transient)
604
+ transients.push(transient);
605
+ });
606
+ await Promise.all(transients.map((transient) => this.disposer(transient)));
607
+ clearObjectWeakRefs(this.#dic);
608
+ }
609
+ /**
610
+ * Destroy the container: as {@link Container.clear}, then the container refuses any further request with an
611
+ * {@link ObjectDestroyedException}. A concurrent or repeated call waits for the same teardown.
612
+ * @returns Resolves once the container is destroyed.
613
+ */
614
+ async destroy() {
615
+ //A teardown already in progress is awaited, not skipped
616
+ if (this.#destroyPromise)
617
+ return await this.#destroyPromise;
618
+ this.#destroyed = true;
619
+ this.#detachFromParent();
620
+ this.#destroyPromise = this.clear();
621
+ await this.#destroyPromise;
622
+ }
623
+ }
624
+ __decorate([
625
+ Accept(DTO.Array(DTO.Alternatives(LoadObjectOptions.Schema(), DTO.Class(() => BaseObject), DTO.Glob()))),
626
+ __metadata("design:type", Function),
627
+ __metadata("design:paramtypes", [Array]),
628
+ __metadata("design:returntype", Promise)
629
+ ], Container.prototype, "load", null);