@dipscope/type-manager 7.2.1 → 8.0.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 (621) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/README.md +159 -168
  3. package/dist/es2015/constants/default-value-resolver.js +2 -0
  4. package/dist/es2015/constants/default-value-resolver.js.map +1 -0
  5. package/dist/es2015/constants/empty-array.js +2 -0
  6. package/dist/es2015/constants/empty-array.js.map +1 -0
  7. package/dist/es2015/constants/empty-map.js +2 -0
  8. package/dist/es2015/constants/empty-map.js.map +1 -0
  9. package/dist/es2015/constants/index.js +5 -0
  10. package/dist/es2015/constants/index.js.map +1 -0
  11. package/dist/es2015/constants/null-value-resolver.js +2 -0
  12. package/dist/es2015/constants/null-value-resolver.js.map +1 -0
  13. package/dist/es2015/custom-key.js.map +1 -1
  14. package/dist/es2015/factories/type-factory.js +22 -23
  15. package/dist/es2015/factories/type-factory.js.map +1 -1
  16. package/dist/es2015/functions/get-own-reflect-metadata.js +1 -2
  17. package/dist/es2015/functions/get-own-reflect-metadata.js.map +1 -1
  18. package/dist/es2015/functions/get-reflect-metadata.js +1 -2
  19. package/dist/es2015/functions/get-reflect-metadata.js.map +1 -1
  20. package/dist/es2015/functions/get-words.js +61 -2
  21. package/dist/es2015/functions/get-words.js.map +1 -1
  22. package/dist/es2015/functions/index.js +0 -12
  23. package/dist/es2015/functions/index.js.map +1 -1
  24. package/dist/es2015/functions/json-parse.js.map +1 -1
  25. package/dist/es2015/functions/json-stringify.js +6 -5
  26. package/dist/es2015/functions/json-stringify.js.map +1 -1
  27. package/dist/es2015/functions/name-of.js +1 -5
  28. package/dist/es2015/functions/name-of.js.map +1 -1
  29. package/dist/es2015/index.js +13 -12
  30. package/dist/es2015/index.js.map +1 -1
  31. package/dist/es2015/inject-metadata.js +34 -33
  32. package/dist/es2015/inject-metadata.js.map +1 -1
  33. package/dist/es2015/inject-sorters/asc-inject-sorter.js +1 -9
  34. package/dist/es2015/inject-sorters/asc-inject-sorter.js.map +1 -1
  35. package/dist/es2015/inject-sorters/desc-inject-sorter.js +1 -9
  36. package/dist/es2015/inject-sorters/desc-inject-sorter.js.map +1 -1
  37. package/dist/es2015/inject-state.js +2 -0
  38. package/dist/es2015/inject-state.js.map +1 -0
  39. package/dist/es2015/inject-states/index.js +3 -0
  40. package/dist/es2015/inject-states/index.js.map +1 -0
  41. package/dist/es2015/inject-states/resolved-inject-state.js +10 -0
  42. package/dist/es2015/inject-states/resolved-inject-state.js.map +1 -0
  43. package/dist/es2015/inject-states/unresolved-inject-state.js +31 -0
  44. package/dist/es2015/inject-states/unresolved-inject-state.js.map +1 -0
  45. package/dist/es2015/inject.js +6 -8
  46. package/dist/es2015/inject.js.map +1 -1
  47. package/dist/es2015/injectors/singleton-injector.js +6 -10
  48. package/dist/es2015/injectors/singleton-injector.js.map +1 -1
  49. package/dist/es2015/logger-level.js +9 -0
  50. package/dist/es2015/logger-level.js.map +1 -0
  51. package/dist/es2015/logger.js +79 -0
  52. package/dist/es2015/logger.js.map +1 -0
  53. package/dist/es2015/metadata.js +45 -57
  54. package/dist/es2015/metadata.js.map +1 -1
  55. package/dist/es2015/null-value-resolver.js +2 -0
  56. package/dist/es2015/null-value-resolver.js.map +1 -0
  57. package/dist/es2015/nullable.js +2 -0
  58. package/dist/es2015/nullable.js.map +1 -0
  59. package/dist/es2015/optional.js +2 -0
  60. package/dist/es2015/optional.js.map +1 -0
  61. package/dist/es2015/property-extension-metadata-ctor-set-key.js +1 -1
  62. package/dist/es2015/property-extension-metadata-ctor-set-key.js.map +1 -1
  63. package/dist/es2015/property-extension-metadata.js.map +1 -1
  64. package/dist/es2015/property-metadata.js +224 -145
  65. package/dist/es2015/property-metadata.js.map +1 -1
  66. package/dist/es2015/property-sorters/asc-property-sorter.js +1 -9
  67. package/dist/es2015/property-sorters/asc-property-sorter.js.map +1 -1
  68. package/dist/es2015/property-sorters/desc-property-sorter.js +1 -9
  69. package/dist/es2015/property-sorters/desc-property-sorter.js.map +1 -1
  70. package/dist/es2015/property-state.js +2 -0
  71. package/dist/es2015/property-state.js.map +1 -0
  72. package/dist/es2015/property-states/index.js +3 -0
  73. package/dist/es2015/property-states/index.js.map +1 -0
  74. package/dist/es2015/property-states/resolved-property-state.js +27 -0
  75. package/dist/es2015/property-states/resolved-property-state.js.map +1 -0
  76. package/dist/es2015/property-states/unresolved-property-state.js +167 -0
  77. package/dist/es2015/property-states/unresolved-property-state.js.map +1 -0
  78. package/dist/es2015/property.js +17 -19
  79. package/dist/es2015/property.js.map +1 -1
  80. package/dist/es2015/reference-handlers/circular-reference-handler.js +2 -3
  81. package/dist/es2015/reference-handlers/circular-reference-handler.js.map +1 -1
  82. package/dist/es2015/reference-handlers/json-path-reference-handler.js +7 -6
  83. package/dist/es2015/reference-handlers/json-path-reference-handler.js.map +1 -1
  84. package/dist/es2015/reference-handlers/plain-reference-handler.js +2 -3
  85. package/dist/es2015/reference-handlers/plain-reference-handler.js.map +1 -1
  86. package/dist/es2015/serializer-context.js +65 -171
  87. package/dist/es2015/serializer-context.js.map +1 -1
  88. package/dist/es2015/serializers/any-serializer.js +4 -5
  89. package/dist/es2015/serializers/any-serializer.js.map +1 -1
  90. package/dist/es2015/serializers/array-buffer-serializer.js +8 -13
  91. package/dist/es2015/serializers/array-buffer-serializer.js.map +1 -1
  92. package/dist/es2015/serializers/array-serializer.js +18 -25
  93. package/dist/es2015/serializers/array-serializer.js.map +1 -1
  94. package/dist/es2015/serializers/boolean-serializer.js +12 -19
  95. package/dist/es2015/serializers/boolean-serializer.js.map +1 -1
  96. package/dist/es2015/serializers/data-view-serializer.js +8 -14
  97. package/dist/es2015/serializers/data-view-serializer.js.map +1 -1
  98. package/dist/es2015/serializers/date-serializer.js +8 -13
  99. package/dist/es2015/serializers/date-serializer.js.map +1 -1
  100. package/dist/es2015/serializers/float-32-array-serializer.js +8 -14
  101. package/dist/es2015/serializers/float-32-array-serializer.js.map +1 -1
  102. package/dist/es2015/serializers/float-64-array-serializer.js +8 -14
  103. package/dist/es2015/serializers/float-64-array-serializer.js.map +1 -1
  104. package/dist/es2015/serializers/int-16-array-serializer.js +8 -14
  105. package/dist/es2015/serializers/int-16-array-serializer.js.map +1 -1
  106. package/dist/es2015/serializers/int-32-array-serializer.js +8 -14
  107. package/dist/es2015/serializers/int-32-array-serializer.js.map +1 -1
  108. package/dist/es2015/serializers/int-8-array-serializer.js +8 -14
  109. package/dist/es2015/serializers/int-8-array-serializer.js.map +1 -1
  110. package/dist/es2015/serializers/map-serializer.js +42 -54
  111. package/dist/es2015/serializers/map-serializer.js.map +1 -1
  112. package/dist/es2015/serializers/number-serializer.js +10 -17
  113. package/dist/es2015/serializers/number-serializer.js.map +1 -1
  114. package/dist/es2015/serializers/set-serializer.js +19 -26
  115. package/dist/es2015/serializers/set-serializer.js.map +1 -1
  116. package/dist/es2015/serializers/string-serializer.js +12 -19
  117. package/dist/es2015/serializers/string-serializer.js.map +1 -1
  118. package/dist/es2015/serializers/type-serializer.js +64 -71
  119. package/dist/es2015/serializers/type-serializer.js.map +1 -1
  120. package/dist/es2015/serializers/uint-16-array-serializer.js +8 -14
  121. package/dist/es2015/serializers/uint-16-array-serializer.js.map +1 -1
  122. package/dist/es2015/serializers/uint-32-array-serializer.js +8 -14
  123. package/dist/es2015/serializers/uint-32-array-serializer.js.map +1 -1
  124. package/dist/es2015/serializers/uint-8-array-serializer.js +8 -14
  125. package/dist/es2015/serializers/uint-8-array-serializer.js.map +1 -1
  126. package/dist/es2015/serializers/uint-8-clamped-array-serializer.js +8 -14
  127. package/dist/es2015/serializers/uint-8-clamped-array-serializer.js.map +1 -1
  128. package/dist/es2015/serializers/unknown-serializer.js +4 -5
  129. package/dist/es2015/serializers/unknown-serializer.js.map +1 -1
  130. package/dist/es2015/type-entry.js +2 -0
  131. package/dist/es2015/type-entry.js.map +1 -0
  132. package/dist/es2015/type-extension-metadata-ctor-set-key.js +1 -1
  133. package/dist/es2015/type-extension-metadata-ctor-set-key.js.map +1 -1
  134. package/dist/es2015/type-extension-metadata.js.map +1 -1
  135. package/dist/es2015/type-manager.js +55 -55
  136. package/dist/es2015/type-manager.js.map +1 -1
  137. package/dist/es2015/type-metadata-symbol.js +1 -1
  138. package/dist/es2015/type-metadata-symbol.js.map +1 -1
  139. package/dist/es2015/type-metadata.js +465 -226
  140. package/dist/es2015/type-metadata.js.map +1 -1
  141. package/dist/es2015/type-scope.js +6 -7
  142. package/dist/es2015/type-scope.js.map +1 -1
  143. package/dist/es2015/type-state.js +2 -0
  144. package/dist/es2015/type-state.js.map +1 -0
  145. package/dist/es2015/type-states/index.js +3 -0
  146. package/dist/es2015/type-states/index.js.map +1 -0
  147. package/dist/es2015/type-states/resolved-type-state.js +44 -0
  148. package/dist/es2015/type-states/resolved-type-state.js.map +1 -0
  149. package/dist/es2015/type-states/unresolved-type-state.js +303 -0
  150. package/dist/es2015/type-states/unresolved-type-state.js.map +1 -0
  151. package/dist/es2015/type.js.map +1 -1
  152. package/dist/es5/constants/default-value-resolver.js +2 -0
  153. package/dist/es5/constants/default-value-resolver.js.map +1 -0
  154. package/dist/es5/constants/empty-array.js +2 -0
  155. package/dist/es5/constants/empty-array.js.map +1 -0
  156. package/dist/es5/constants/empty-map.js +2 -0
  157. package/dist/es5/constants/empty-map.js.map +1 -0
  158. package/dist/es5/constants/index.js +5 -0
  159. package/dist/es5/constants/index.js.map +1 -0
  160. package/dist/es5/constants/null-value-resolver.js +2 -0
  161. package/dist/es5/constants/null-value-resolver.js.map +1 -0
  162. package/dist/es5/custom-key.js.map +1 -1
  163. package/dist/es5/factories/type-factory.js +63 -39
  164. package/dist/es5/factories/type-factory.js.map +1 -1
  165. package/dist/es5/functions/get-own-reflect-metadata.js +1 -2
  166. package/dist/es5/functions/get-own-reflect-metadata.js.map +1 -1
  167. package/dist/es5/functions/get-reflect-metadata.js +1 -2
  168. package/dist/es5/functions/get-reflect-metadata.js.map +1 -1
  169. package/dist/es5/functions/get-words.js +61 -2
  170. package/dist/es5/functions/get-words.js.map +1 -1
  171. package/dist/es5/functions/index.js +0 -12
  172. package/dist/es5/functions/index.js.map +1 -1
  173. package/dist/es5/functions/json-parse.js.map +1 -1
  174. package/dist/es5/functions/json-stringify.js +6 -5
  175. package/dist/es5/functions/json-stringify.js.map +1 -1
  176. package/dist/es5/functions/name-of.js +1 -5
  177. package/dist/es5/functions/name-of.js.map +1 -1
  178. package/dist/es5/index.js +13 -12
  179. package/dist/es5/index.js.map +1 -1
  180. package/dist/es5/inject-metadata.js +49 -34
  181. package/dist/es5/inject-metadata.js.map +1 -1
  182. package/dist/es5/inject-sorters/asc-inject-sorter.js +1 -9
  183. package/dist/es5/inject-sorters/asc-inject-sorter.js.map +1 -1
  184. package/dist/es5/inject-sorters/desc-inject-sorter.js +1 -9
  185. package/dist/es5/inject-sorters/desc-inject-sorter.js.map +1 -1
  186. package/dist/es5/inject-state.js +2 -0
  187. package/dist/es5/inject-state.js.map +1 -0
  188. package/dist/es5/inject-states/index.js +3 -0
  189. package/dist/es5/inject-states/index.js.map +1 -0
  190. package/dist/es5/inject-states/resolved-inject-state.js +12 -0
  191. package/dist/es5/inject-states/resolved-inject-state.js.map +1 -0
  192. package/dist/es5/inject-states/unresolved-inject-state.js +45 -0
  193. package/dist/es5/inject-states/unresolved-inject-state.js.map +1 -0
  194. package/dist/es5/inject.js +6 -8
  195. package/dist/es5/inject.js.map +1 -1
  196. package/dist/es5/injectors/singleton-injector.js +31 -22
  197. package/dist/es5/injectors/singleton-injector.js.map +1 -1
  198. package/dist/es5/logger-level.js +9 -0
  199. package/dist/es5/logger-level.js.map +1 -0
  200. package/dist/es5/logger.js +122 -0
  201. package/dist/es5/logger.js.map +1 -0
  202. package/dist/es5/metadata.js +44 -79
  203. package/dist/es5/metadata.js.map +1 -1
  204. package/dist/es5/null-value-resolver.js +2 -0
  205. package/dist/es5/null-value-resolver.js.map +1 -0
  206. package/dist/es5/nullable.js +2 -0
  207. package/dist/es5/nullable.js.map +1 -0
  208. package/dist/es5/optional.js +2 -0
  209. package/dist/es5/optional.js.map +1 -0
  210. package/dist/es5/property-extension-metadata-ctor-set-key.js +1 -1
  211. package/dist/es5/property-extension-metadata-ctor-set-key.js.map +1 -1
  212. package/dist/es5/property-extension-metadata.js.map +1 -1
  213. package/dist/es5/property-metadata.js +288 -162
  214. package/dist/es5/property-metadata.js.map +1 -1
  215. package/dist/es5/property-sorters/asc-property-sorter.js +1 -9
  216. package/dist/es5/property-sorters/asc-property-sorter.js.map +1 -1
  217. package/dist/es5/property-sorters/desc-property-sorter.js +1 -9
  218. package/dist/es5/property-sorters/desc-property-sorter.js.map +1 -1
  219. package/dist/es5/property-state.js +2 -0
  220. package/dist/es5/property-state.js.map +1 -0
  221. package/dist/es5/property-states/index.js +3 -0
  222. package/dist/es5/property-states/index.js.map +1 -0
  223. package/dist/es5/property-states/resolved-property-state.js +29 -0
  224. package/dist/es5/property-states/resolved-property-state.js.map +1 -0
  225. package/dist/es5/property-states/unresolved-property-state.js +249 -0
  226. package/dist/es5/property-states/unresolved-property-state.js.map +1 -0
  227. package/dist/es5/property.js +17 -19
  228. package/dist/es5/property.js.map +1 -1
  229. package/dist/es5/reference-handlers/circular-reference-handler.js +2 -3
  230. package/dist/es5/reference-handlers/circular-reference-handler.js.map +1 -1
  231. package/dist/es5/reference-handlers/json-path-reference-handler.js +10 -31
  232. package/dist/es5/reference-handlers/json-path-reference-handler.js.map +1 -1
  233. package/dist/es5/reference-handlers/plain-reference-handler.js +2 -3
  234. package/dist/es5/reference-handlers/plain-reference-handler.js.map +1 -1
  235. package/dist/es5/serializer-context.js +71 -237
  236. package/dist/es5/serializer-context.js.map +1 -1
  237. package/dist/es5/serializers/any-serializer.js +4 -5
  238. package/dist/es5/serializers/any-serializer.js.map +1 -1
  239. package/dist/es5/serializers/array-buffer-serializer.js +8 -13
  240. package/dist/es5/serializers/array-buffer-serializer.js.map +1 -1
  241. package/dist/es5/serializers/array-serializer.js +18 -31
  242. package/dist/es5/serializers/array-serializer.js.map +1 -1
  243. package/dist/es5/serializers/boolean-serializer.js +12 -19
  244. package/dist/es5/serializers/boolean-serializer.js.map +1 -1
  245. package/dist/es5/serializers/data-view-serializer.js +8 -14
  246. package/dist/es5/serializers/data-view-serializer.js.map +1 -1
  247. package/dist/es5/serializers/date-serializer.js +8 -13
  248. package/dist/es5/serializers/date-serializer.js.map +1 -1
  249. package/dist/es5/serializers/float-32-array-serializer.js +8 -14
  250. package/dist/es5/serializers/float-32-array-serializer.js.map +1 -1
  251. package/dist/es5/serializers/float-64-array-serializer.js +8 -14
  252. package/dist/es5/serializers/float-64-array-serializer.js.map +1 -1
  253. package/dist/es5/serializers/int-16-array-serializer.js +8 -14
  254. package/dist/es5/serializers/int-16-array-serializer.js.map +1 -1
  255. package/dist/es5/serializers/int-32-array-serializer.js +8 -14
  256. package/dist/es5/serializers/int-32-array-serializer.js.map +1 -1
  257. package/dist/es5/serializers/int-8-array-serializer.js +8 -14
  258. package/dist/es5/serializers/int-8-array-serializer.js.map +1 -1
  259. package/dist/es5/serializers/map-serializer.js +69 -55
  260. package/dist/es5/serializers/map-serializer.js.map +1 -1
  261. package/dist/es5/serializers/number-serializer.js +10 -17
  262. package/dist/es5/serializers/number-serializer.js.map +1 -1
  263. package/dist/es5/serializers/set-serializer.js +30 -27
  264. package/dist/es5/serializers/set-serializer.js.map +1 -1
  265. package/dist/es5/serializers/string-serializer.js +12 -19
  266. package/dist/es5/serializers/string-serializer.js.map +1 -1
  267. package/dist/es5/serializers/type-serializer.js +65 -101
  268. package/dist/es5/serializers/type-serializer.js.map +1 -1
  269. package/dist/es5/serializers/uint-16-array-serializer.js +8 -14
  270. package/dist/es5/serializers/uint-16-array-serializer.js.map +1 -1
  271. package/dist/es5/serializers/uint-32-array-serializer.js +8 -14
  272. package/dist/es5/serializers/uint-32-array-serializer.js.map +1 -1
  273. package/dist/es5/serializers/uint-8-array-serializer.js +8 -14
  274. package/dist/es5/serializers/uint-8-array-serializer.js.map +1 -1
  275. package/dist/es5/serializers/uint-8-clamped-array-serializer.js +8 -14
  276. package/dist/es5/serializers/uint-8-clamped-array-serializer.js.map +1 -1
  277. package/dist/es5/serializers/unknown-serializer.js +4 -5
  278. package/dist/es5/serializers/unknown-serializer.js.map +1 -1
  279. package/dist/es5/type-entry.js +2 -0
  280. package/dist/es5/type-entry.js.map +1 -0
  281. package/dist/es5/type-extension-metadata-ctor-set-key.js +1 -1
  282. package/dist/es5/type-extension-metadata-ctor-set-key.js.map +1 -1
  283. package/dist/es5/type-extension-metadata.js.map +1 -1
  284. package/dist/es5/type-manager.js +110 -63
  285. package/dist/es5/type-manager.js.map +1 -1
  286. package/dist/es5/type-metadata-symbol.js +1 -1
  287. package/dist/es5/type-metadata-symbol.js.map +1 -1
  288. package/dist/es5/type-metadata.js +597 -273
  289. package/dist/es5/type-metadata.js.map +1 -1
  290. package/dist/es5/type-scope.js +42 -37
  291. package/dist/es5/type-scope.js.map +1 -1
  292. package/dist/es5/type-state.js +2 -0
  293. package/dist/es5/type-state.js.map +1 -0
  294. package/dist/es5/type-states/index.js +3 -0
  295. package/dist/es5/type-states/index.js.map +1 -0
  296. package/dist/es5/type-states/resolved-type-state.js +46 -0
  297. package/dist/es5/type-states/resolved-type-state.js.map +1 -0
  298. package/dist/es5/type-states/unresolved-type-state.js +453 -0
  299. package/dist/es5/type-states/unresolved-type-state.js.map +1 -0
  300. package/dist/es5/type.js.map +1 -1
  301. package/dist/types/constants/default-value-resolver.d.ts +8 -0
  302. package/dist/types/constants/default-value-resolver.d.ts.map +1 -0
  303. package/dist/types/constants/empty-array.d.ts +7 -0
  304. package/dist/types/constants/empty-array.d.ts.map +1 -0
  305. package/dist/types/constants/empty-map.d.ts +7 -0
  306. package/dist/types/constants/empty-map.d.ts.map +1 -0
  307. package/dist/types/constants/index.d.ts +5 -0
  308. package/dist/types/constants/index.d.ts.map +1 -0
  309. package/dist/types/constants/null-value-resolver.d.ts +8 -0
  310. package/dist/types/constants/null-value-resolver.d.ts.map +1 -0
  311. package/dist/types/custom-key.d.ts +4 -3
  312. package/dist/types/custom-key.d.ts.map +1 -1
  313. package/dist/types/custom-option.d.ts +2 -2
  314. package/dist/types/custom-value.d.ts +2 -1
  315. package/dist/types/custom-value.d.ts.map +1 -1
  316. package/dist/types/factories/type-factory.d.ts +8 -5
  317. package/dist/types/factories/type-factory.d.ts.map +1 -1
  318. package/dist/types/factory.d.ts +7 -4
  319. package/dist/types/factory.d.ts.map +1 -1
  320. package/dist/types/functions/get-own-reflect-metadata.d.ts.map +1 -1
  321. package/dist/types/functions/get-reflect-metadata.d.ts.map +1 -1
  322. package/dist/types/functions/get-words.d.ts +3 -3
  323. package/dist/types/functions/get-words.d.ts.map +1 -1
  324. package/dist/types/functions/index.d.ts +0 -12
  325. package/dist/types/functions/index.d.ts.map +1 -1
  326. package/dist/types/functions/json-parse.d.ts +1 -1
  327. package/dist/types/functions/json-parse.d.ts.map +1 -1
  328. package/dist/types/functions/json-stringify.d.ts.map +1 -1
  329. package/dist/types/functions/name-of.d.ts.map +1 -1
  330. package/dist/types/generic-argument.d.ts +2 -2
  331. package/dist/types/generic-argument.d.ts.map +1 -1
  332. package/dist/types/generic-metadata.d.ts +2 -2
  333. package/dist/types/generic-metadata.d.ts.map +1 -1
  334. package/dist/types/index.d.ts +13 -12
  335. package/dist/types/index.d.ts.map +1 -1
  336. package/dist/types/inject-metadata.d.ts +52 -45
  337. package/dist/types/inject-metadata.d.ts.map +1 -1
  338. package/dist/types/inject-options.d.ts +8 -8
  339. package/dist/types/inject-options.d.ts.map +1 -1
  340. package/dist/types/inject-sorter.d.ts +3 -3
  341. package/dist/types/inject-sorter.d.ts.map +1 -1
  342. package/dist/types/inject-sorters/asc-inject-sorter.d.ts +3 -3
  343. package/dist/types/inject-sorters/asc-inject-sorter.d.ts.map +1 -1
  344. package/dist/types/inject-sorters/desc-inject-sorter.d.ts +3 -3
  345. package/dist/types/inject-sorters/desc-inject-sorter.d.ts.map +1 -1
  346. package/dist/types/inject-state.d.ts +36 -0
  347. package/dist/types/inject-state.d.ts.map +1 -0
  348. package/dist/types/inject-states/index.d.ts +3 -0
  349. package/dist/types/inject-states/index.d.ts.map +1 -0
  350. package/dist/types/inject-states/resolved-inject-state.d.ts +46 -0
  351. package/dist/types/inject-states/resolved-inject-state.d.ts.map +1 -0
  352. package/dist/types/inject-states/unresolved-inject-state.d.ts +49 -0
  353. package/dist/types/inject-states/unresolved-inject-state.d.ts.map +1 -0
  354. package/dist/types/inject.d.ts +3 -3
  355. package/dist/types/inject.d.ts.map +1 -1
  356. package/dist/types/injector.d.ts +4 -3
  357. package/dist/types/injector.d.ts.map +1 -1
  358. package/dist/types/injectors/singleton-injector.d.ts +5 -5
  359. package/dist/types/injectors/singleton-injector.d.ts.map +1 -1
  360. package/dist/types/logger-level.d.ts +31 -0
  361. package/dist/types/logger-level.d.ts.map +1 -0
  362. package/dist/types/logger.d.ts +125 -0
  363. package/dist/types/logger.d.ts.map +1 -0
  364. package/dist/types/metadata.d.ts +29 -39
  365. package/dist/types/metadata.d.ts.map +1 -1
  366. package/dist/types/null-value-resolver.d.ts +9 -0
  367. package/dist/types/null-value-resolver.d.ts.map +1 -0
  368. package/dist/types/nullable.d.ts +7 -0
  369. package/dist/types/nullable.d.ts.map +1 -0
  370. package/dist/types/optional.d.ts +7 -0
  371. package/dist/types/optional.d.ts.map +1 -0
  372. package/dist/types/property-extension-metadata-ctor-set-key.d.ts +1 -1
  373. package/dist/types/property-extension-metadata-ctor-set-key.d.ts.map +1 -1
  374. package/dist/types/property-extension-metadata-ctor.d.ts +2 -2
  375. package/dist/types/property-extension-metadata-ctor.d.ts.map +1 -1
  376. package/dist/types/property-extension-metadata.d.ts +7 -7
  377. package/dist/types/property-extension-metadata.d.ts.map +1 -1
  378. package/dist/types/property-metadata.d.ts +134 -119
  379. package/dist/types/property-metadata.d.ts.map +1 -1
  380. package/dist/types/property-options.d.ts +11 -10
  381. package/dist/types/property-options.d.ts.map +1 -1
  382. package/dist/types/property-sorter.d.ts +3 -3
  383. package/dist/types/property-sorter.d.ts.map +1 -1
  384. package/dist/types/property-sorters/asc-property-sorter.d.ts +3 -3
  385. package/dist/types/property-sorters/asc-property-sorter.d.ts.map +1 -1
  386. package/dist/types/property-sorters/desc-property-sorter.d.ts +3 -3
  387. package/dist/types/property-sorters/desc-property-sorter.d.ts.map +1 -1
  388. package/dist/types/property-state.d.ts +149 -0
  389. package/dist/types/property-state.d.ts.map +1 -0
  390. package/dist/types/property-states/index.d.ts +3 -0
  391. package/dist/types/property-states/index.d.ts.map +1 -0
  392. package/dist/types/property-states/resolved-property-state.d.ts +176 -0
  393. package/dist/types/property-states/resolved-property-state.d.ts.map +1 -0
  394. package/dist/types/property-states/unresolved-property-state.d.ts +162 -0
  395. package/dist/types/property-states/unresolved-property-state.d.ts.map +1 -0
  396. package/dist/types/property.d.ts +4 -4
  397. package/dist/types/property.d.ts.map +1 -1
  398. package/dist/types/reference-handlers/circular-reference-handler.d.ts.map +1 -1
  399. package/dist/types/reference-handlers/json-path-reference-handler.d.ts.map +1 -1
  400. package/dist/types/reference-handlers/plain-reference-handler.d.ts.map +1 -1
  401. package/dist/types/reference-value-setter.d.ts +1 -1
  402. package/dist/types/reference-value-setter.d.ts.map +1 -1
  403. package/dist/types/serializer-context.d.ts +70 -164
  404. package/dist/types/serializer-context.d.ts.map +1 -1
  405. package/dist/types/serializer.d.ts +8 -8
  406. package/dist/types/serializer.d.ts.map +1 -1
  407. package/dist/types/serializers/any-serializer.d.ts.map +1 -1
  408. package/dist/types/serializers/array-buffer-serializer.d.ts.map +1 -1
  409. package/dist/types/serializers/array-serializer.d.ts.map +1 -1
  410. package/dist/types/serializers/boolean-serializer.d.ts +1 -1
  411. package/dist/types/serializers/boolean-serializer.d.ts.map +1 -1
  412. package/dist/types/serializers/data-view-serializer.d.ts.map +1 -1
  413. package/dist/types/serializers/date-serializer.d.ts.map +1 -1
  414. package/dist/types/serializers/float-32-array-serializer.d.ts.map +1 -1
  415. package/dist/types/serializers/float-64-array-serializer.d.ts.map +1 -1
  416. package/dist/types/serializers/int-16-array-serializer.d.ts.map +1 -1
  417. package/dist/types/serializers/int-32-array-serializer.d.ts.map +1 -1
  418. package/dist/types/serializers/int-8-array-serializer.d.ts.map +1 -1
  419. package/dist/types/serializers/map-serializer.d.ts.map +1 -1
  420. package/dist/types/serializers/number-serializer.d.ts +1 -1
  421. package/dist/types/serializers/number-serializer.d.ts.map +1 -1
  422. package/dist/types/serializers/set-serializer.d.ts.map +1 -1
  423. package/dist/types/serializers/string-serializer.d.ts +1 -1
  424. package/dist/types/serializers/string-serializer.d.ts.map +1 -1
  425. package/dist/types/serializers/type-serializer.d.ts.map +1 -1
  426. package/dist/types/serializers/uint-16-array-serializer.d.ts.map +1 -1
  427. package/dist/types/serializers/uint-32-array-serializer.d.ts.map +1 -1
  428. package/dist/types/serializers/uint-8-array-serializer.d.ts.map +1 -1
  429. package/dist/types/serializers/uint-8-clamped-array-serializer.d.ts.map +1 -1
  430. package/dist/types/serializers/unknown-serializer.d.ts.map +1 -1
  431. package/dist/types/type-abstraction.d.ts +2 -2
  432. package/dist/types/type-abstraction.d.ts.map +1 -1
  433. package/dist/types/type-argument.d.ts +3 -3
  434. package/dist/types/type-argument.d.ts.map +1 -1
  435. package/dist/types/type-configuration.d.ts +4 -4
  436. package/dist/types/type-configuration.d.ts.map +1 -1
  437. package/dist/types/type-ctor.d.ts +2 -2
  438. package/dist/types/type-ctor.d.ts.map +1 -1
  439. package/dist/types/type-entry.d.ts +29 -0
  440. package/dist/types/type-entry.d.ts.map +1 -0
  441. package/dist/types/type-extension-metadata-ctor-set-key.d.ts +1 -1
  442. package/dist/types/type-extension-metadata-ctor-set-key.d.ts.map +1 -1
  443. package/dist/types/type-extension-metadata-ctor.d.ts +2 -2
  444. package/dist/types/type-extension-metadata-ctor.d.ts.map +1 -1
  445. package/dist/types/type-extension-metadata.d.ts +6 -6
  446. package/dist/types/type-extension-metadata.d.ts.map +1 -1
  447. package/dist/types/type-fn.d.ts +2 -2
  448. package/dist/types/type-fn.d.ts.map +1 -1
  449. package/dist/types/type-like.d.ts +2 -2
  450. package/dist/types/type-like.d.ts.map +1 -1
  451. package/dist/types/type-manager-options.d.ts.map +1 -1
  452. package/dist/types/type-manager.d.ts +116 -123
  453. package/dist/types/type-manager.d.ts.map +1 -1
  454. package/dist/types/type-metadata-symbol.d.ts +1 -1
  455. package/dist/types/type-metadata-symbol.d.ts.map +1 -1
  456. package/dist/types/type-metadata.d.ts +253 -152
  457. package/dist/types/type-metadata.d.ts.map +1 -1
  458. package/dist/types/type-options-base.d.ts +13 -12
  459. package/dist/types/type-options-base.d.ts.map +1 -1
  460. package/dist/types/type-options.d.ts +10 -10
  461. package/dist/types/type-options.d.ts.map +1 -1
  462. package/dist/types/type-resolver.d.ts +2 -2
  463. package/dist/types/type-resolver.d.ts.map +1 -1
  464. package/dist/types/type-scope.d.ts.map +1 -1
  465. package/dist/types/type-state.d.ts +262 -0
  466. package/dist/types/type-state.d.ts.map +1 -0
  467. package/dist/types/type-states/index.d.ts +3 -0
  468. package/dist/types/type-states/index.d.ts.map +1 -0
  469. package/dist/types/type-states/resolved-type-state.d.ts +306 -0
  470. package/dist/types/type-states/resolved-type-state.d.ts.map +1 -0
  471. package/dist/types/type-states/unresolved-type-state.d.ts +275 -0
  472. package/dist/types/type-states/unresolved-type-state.d.ts.map +1 -0
  473. package/dist/types/type.d.ts +2 -2
  474. package/dist/types/type.d.ts.map +1 -1
  475. package/dist/umd/index.js +1 -1
  476. package/dist/umd/index.js.map +1 -1
  477. package/package.json +1 -7
  478. package/dist/es2015/custom-context.js +0 -59
  479. package/dist/es2015/custom-context.js.map +0 -1
  480. package/dist/es2015/functions/is-arrow-function.js +0 -5
  481. package/dist/es2015/functions/is-arrow-function.js.map +0 -1
  482. package/dist/es2015/functions/is-ctor-function.js +0 -5
  483. package/dist/es2015/functions/is-ctor-function.js.map +0 -1
  484. package/dist/es2015/functions/is-data-view.js +0 -4
  485. package/dist/es2015/functions/is-data-view.js.map +0 -1
  486. package/dist/es2015/functions/is-float-32-array.js +0 -4
  487. package/dist/es2015/functions/is-float-32-array.js.map +0 -1
  488. package/dist/es2015/functions/is-float-64-array.js +0 -4
  489. package/dist/es2015/functions/is-float-64-array.js.map +0 -1
  490. package/dist/es2015/functions/is-int-16-array.js +0 -4
  491. package/dist/es2015/functions/is-int-16-array.js.map +0 -1
  492. package/dist/es2015/functions/is-int-32-array.js +0 -4
  493. package/dist/es2015/functions/is-int-32-array.js.map +0 -1
  494. package/dist/es2015/functions/is-int-8-array.js +0 -4
  495. package/dist/es2015/functions/is-int-8-array.js.map +0 -1
  496. package/dist/es2015/functions/is-uint-16-array.js +0 -4
  497. package/dist/es2015/functions/is-uint-16-array.js.map +0 -1
  498. package/dist/es2015/functions/is-uint-32-array.js +0 -4
  499. package/dist/es2015/functions/is-uint-32-array.js.map +0 -1
  500. package/dist/es2015/functions/is-uint-8-array.js +0 -4
  501. package/dist/es2015/functions/is-uint-8-array.js.map +0 -1
  502. package/dist/es2015/functions/is-uint-8-clamped-array.js +0 -4
  503. package/dist/es2015/functions/is-uint-8-clamped-array.js.map +0 -1
  504. package/dist/es2015/generic-metadata-resolver.js +0 -2
  505. package/dist/es2015/generic-metadata-resolver.js.map +0 -1
  506. package/dist/es2015/generic-structure.js +0 -2
  507. package/dist/es2015/generic-structure.js.map +0 -1
  508. package/dist/es2015/inject-internals.js +0 -2
  509. package/dist/es2015/inject-internals.js.map +0 -1
  510. package/dist/es2015/log-level.js +0 -8
  511. package/dist/es2015/log-level.js.map +0 -1
  512. package/dist/es2015/log.js +0 -50
  513. package/dist/es2015/log.js.map +0 -1
  514. package/dist/es2015/property-internals.js +0 -2
  515. package/dist/es2015/property-internals.js.map +0 -1
  516. package/dist/es2015/serializer-context-options.js +0 -2
  517. package/dist/es2015/serializer-context-options.js.map +0 -1
  518. package/dist/es2015/type-context-entry.js +0 -9
  519. package/dist/es2015/type-context-entry.js.map +0 -1
  520. package/dist/es2015/type-context.js +0 -31
  521. package/dist/es2015/type-context.js.map +0 -1
  522. package/dist/es2015/type-internals.js +0 -2
  523. package/dist/es2015/type-internals.js.map +0 -1
  524. package/dist/es2015/type-metadata-resolver.js +0 -2
  525. package/dist/es2015/type-metadata-resolver.js.map +0 -1
  526. package/dist/es5/custom-context.js +0 -95
  527. package/dist/es5/custom-context.js.map +0 -1
  528. package/dist/es5/functions/is-arrow-function.js +0 -5
  529. package/dist/es5/functions/is-arrow-function.js.map +0 -1
  530. package/dist/es5/functions/is-ctor-function.js +0 -5
  531. package/dist/es5/functions/is-ctor-function.js.map +0 -1
  532. package/dist/es5/functions/is-data-view.js +0 -4
  533. package/dist/es5/functions/is-data-view.js.map +0 -1
  534. package/dist/es5/functions/is-float-32-array.js +0 -4
  535. package/dist/es5/functions/is-float-32-array.js.map +0 -1
  536. package/dist/es5/functions/is-float-64-array.js +0 -4
  537. package/dist/es5/functions/is-float-64-array.js.map +0 -1
  538. package/dist/es5/functions/is-int-16-array.js +0 -4
  539. package/dist/es5/functions/is-int-16-array.js.map +0 -1
  540. package/dist/es5/functions/is-int-32-array.js +0 -4
  541. package/dist/es5/functions/is-int-32-array.js.map +0 -1
  542. package/dist/es5/functions/is-int-8-array.js +0 -4
  543. package/dist/es5/functions/is-int-8-array.js.map +0 -1
  544. package/dist/es5/functions/is-uint-16-array.js +0 -4
  545. package/dist/es5/functions/is-uint-16-array.js.map +0 -1
  546. package/dist/es5/functions/is-uint-32-array.js +0 -4
  547. package/dist/es5/functions/is-uint-32-array.js.map +0 -1
  548. package/dist/es5/functions/is-uint-8-array.js +0 -4
  549. package/dist/es5/functions/is-uint-8-array.js.map +0 -1
  550. package/dist/es5/functions/is-uint-8-clamped-array.js +0 -4
  551. package/dist/es5/functions/is-uint-8-clamped-array.js.map +0 -1
  552. package/dist/es5/generic-metadata-resolver.js +0 -2
  553. package/dist/es5/generic-metadata-resolver.js.map +0 -1
  554. package/dist/es5/generic-structure.js +0 -2
  555. package/dist/es5/generic-structure.js.map +0 -1
  556. package/dist/es5/inject-internals.js +0 -2
  557. package/dist/es5/inject-internals.js.map +0 -1
  558. package/dist/es5/log-level.js +0 -8
  559. package/dist/es5/log-level.js.map +0 -1
  560. package/dist/es5/log.js +0 -65
  561. package/dist/es5/log.js.map +0 -1
  562. package/dist/es5/property-internals.js +0 -2
  563. package/dist/es5/property-internals.js.map +0 -1
  564. package/dist/es5/serializer-context-options.js +0 -2
  565. package/dist/es5/serializer-context-options.js.map +0 -1
  566. package/dist/es5/type-context-entry.js +0 -11
  567. package/dist/es5/type-context-entry.js.map +0 -1
  568. package/dist/es5/type-context.js +0 -33
  569. package/dist/es5/type-context.js.map +0 -1
  570. package/dist/es5/type-internals.js +0 -2
  571. package/dist/es5/type-internals.js.map +0 -1
  572. package/dist/es5/type-metadata-resolver.js +0 -2
  573. package/dist/es5/type-metadata-resolver.js.map +0 -1
  574. package/dist/types/custom-context.d.ts +0 -89
  575. package/dist/types/custom-context.d.ts.map +0 -1
  576. package/dist/types/functions/is-arrow-function.d.ts +0 -9
  577. package/dist/types/functions/is-arrow-function.d.ts.map +0 -1
  578. package/dist/types/functions/is-ctor-function.d.ts +0 -9
  579. package/dist/types/functions/is-ctor-function.d.ts.map +0 -1
  580. package/dist/types/functions/is-data-view.d.ts +0 -9
  581. package/dist/types/functions/is-data-view.d.ts.map +0 -1
  582. package/dist/types/functions/is-float-32-array.d.ts +0 -9
  583. package/dist/types/functions/is-float-32-array.d.ts.map +0 -1
  584. package/dist/types/functions/is-float-64-array.d.ts +0 -9
  585. package/dist/types/functions/is-float-64-array.d.ts.map +0 -1
  586. package/dist/types/functions/is-int-16-array.d.ts +0 -9
  587. package/dist/types/functions/is-int-16-array.d.ts.map +0 -1
  588. package/dist/types/functions/is-int-32-array.d.ts +0 -9
  589. package/dist/types/functions/is-int-32-array.d.ts.map +0 -1
  590. package/dist/types/functions/is-int-8-array.d.ts +0 -9
  591. package/dist/types/functions/is-int-8-array.d.ts.map +0 -1
  592. package/dist/types/functions/is-uint-16-array.d.ts +0 -9
  593. package/dist/types/functions/is-uint-16-array.d.ts.map +0 -1
  594. package/dist/types/functions/is-uint-32-array.d.ts +0 -9
  595. package/dist/types/functions/is-uint-32-array.d.ts.map +0 -1
  596. package/dist/types/functions/is-uint-8-array.d.ts +0 -9
  597. package/dist/types/functions/is-uint-8-array.d.ts.map +0 -1
  598. package/dist/types/functions/is-uint-8-clamped-array.d.ts +0 -9
  599. package/dist/types/functions/is-uint-8-clamped-array.d.ts.map +0 -1
  600. package/dist/types/generic-metadata-resolver.d.ts +0 -8
  601. package/dist/types/generic-metadata-resolver.d.ts.map +0 -1
  602. package/dist/types/generic-structure.d.ts +0 -8
  603. package/dist/types/generic-structure.d.ts.map +0 -1
  604. package/dist/types/inject-internals.d.ts +0 -15
  605. package/dist/types/inject-internals.d.ts.map +0 -1
  606. package/dist/types/log-level.d.ts +0 -12
  607. package/dist/types/log-level.d.ts.map +0 -1
  608. package/dist/types/log.d.ts +0 -96
  609. package/dist/types/log.d.ts.map +0 -1
  610. package/dist/types/property-internals.d.ts +0 -36
  611. package/dist/types/property-internals.d.ts.map +0 -1
  612. package/dist/types/serializer-context-options.d.ts +0 -51
  613. package/dist/types/serializer-context-options.d.ts.map +0 -1
  614. package/dist/types/type-context-entry.d.ts +0 -37
  615. package/dist/types/type-context-entry.d.ts.map +0 -1
  616. package/dist/types/type-context.d.ts +0 -71
  617. package/dist/types/type-context.d.ts.map +0 -1
  618. package/dist/types/type-internals.d.ts +0 -15
  619. package/dist/types/type-internals.d.ts.map +0 -1
  620. package/dist/types/type-metadata-resolver.d.ts +0 -9
  621. package/dist/types/type-metadata-resolver.d.ts.map +0 -1
@@ -1,20 +1,18 @@
1
- import { isFunction, isNumber, isObject, isString, isUndefined } from 'lodash';
2
- import { isCtorFunction } from './functions/is-ctor-function';
3
1
  import { nameOf } from './functions/name-of';
4
2
  import { TypeManager } from './type-manager';
5
3
  export function Inject(x) {
6
- const injectOptions = (isObject(x) ? x : {});
7
- if (isUndefined(injectOptions.key) && isString(x)) {
4
+ const injectOptions = (typeof x === 'object' ? x : {});
5
+ if (injectOptions.key === undefined && typeof x === 'string') {
8
6
  injectOptions.key = x;
9
7
  }
10
- if (isUndefined(injectOptions.typeFn) && isFunction(x)) {
11
- injectOptions.typeFn = x;
8
+ if (injectOptions.typeArgument === undefined && typeof x === 'function') {
9
+ injectOptions.typeArgument = x;
12
10
  }
13
11
  return function (target, propertyName, injectIndex) {
14
- if (!isCtorFunction(target)) {
12
+ if (typeof target === 'function' && target.name === '') {
15
13
  throw new Error(`${nameOf(target.constructor)}.${String(propertyName)}: inject decorator cannot be applied to a method.`);
16
14
  }
17
- if (!isNumber(injectIndex)) {
15
+ if (typeof injectIndex !== 'number') {
18
16
  throw new Error(`${nameOf(target)}.${String(propertyName)}: inject decorator cannot be applied to a property.`);
19
17
  }
20
18
  const typeFn = target;
@@ -1 +1 @@
1
- {"version":3,"file":"inject.js","sourceRoot":"","sources":["../../src/inject.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAC/E,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAI7C,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAS7C,MAAM,UAAU,MAAM,CAAQ,CAAgD;IAE1E,MAAM,aAAa,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAyB,CAAC;IAErE,IAAI,WAAW,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,EACjD;QACI,aAAa,CAAC,GAAG,GAAG,CAAC,CAAC;KACzB;IAED,IAAI,WAAW,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,EACtD;QACI,aAAa,CAAC,MAAM,GAAG,CAAkB,CAAC;KAC7C;IAED,OAAO,UAAU,MAAW,EAAE,YAAyC,EAAE,WAAmB;QAExF,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,EAC3B;YACI,MAAM,IAAI,KAAK,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,MAAM,CAAC,YAAY,CAAC,mDAAmD,CAAC,CAAC;SAC7H;QAED,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,EAC1B;YACI,MAAM,IAAI,KAAK,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,YAAY,CAAC,qDAAqD,CAAC,CAAC;SACnH;QAED,MAAM,MAAM,GAAG,MAAqB,CAAC;QAErC,WAAW,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC,uBAAuB,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;QAE9F,OAAO;IACX,CAAC,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"inject.js","sourceRoot":"","sources":["../../src/inject.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAK7C,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAS7C,MAAM,UAAU,MAAM,CAAU,CAA2D;IAEvF,MAAM,aAAa,GAAG,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAA2B,CAAC;IAEjF,IAAI,aAAa,CAAC,GAAG,KAAK,SAAS,IAAI,OAAO,CAAC,KAAK,QAAQ,EAC5D;QACI,aAAa,CAAC,GAAG,GAAG,CAAW,CAAC;KACnC;IAED,IAAI,aAAa,CAAC,YAAY,KAAK,SAAS,IAAI,OAAO,CAAC,KAAK,UAAU,EACvE;QACI,aAAa,CAAC,YAAY,GAAG,CAA0B,CAAC;KAC3D;IAED,OAAO,UAAU,MAAW,EAAE,YAAyC,EAAE,WAAmB;QAExF,IAAI,OAAO,MAAM,KAAK,UAAU,IAAI,MAAM,CAAC,IAAI,KAAK,EAAE,EACtD;YACI,MAAM,IAAI,KAAK,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,MAAM,CAAC,YAAY,CAAC,mDAAmD,CAAC,CAAC;SAC7H;QAED,IAAI,OAAO,WAAW,KAAK,QAAQ,EACnC;YACI,MAAM,IAAI,KAAK,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,YAAY,CAAC,qDAAqD,CAAC,CAAC;SACnH;QAED,MAAM,MAAM,GAAG,MAAqB,CAAC;QAErC,WAAW,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC,uBAAuB,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;QAE9F,OAAO;IACX,CAAC,CAAC;AACN,CAAC"}
@@ -1,5 +1,3 @@
1
- import { isNil } from 'lodash';
2
- import { isCtorFunction } from '../functions/is-ctor-function';
3
1
  export class SingletonInjector {
4
2
  constructor() {
5
3
  this.instanceMap = new WeakMap();
@@ -9,19 +7,17 @@ export class SingletonInjector {
9
7
  throw new Error(`${typeMetadata.typeName}: cannot resolve type! Have you registered it as injectable?`);
10
8
  }
11
9
  const instance = this.instanceMap.get(typeMetadata);
12
- if (isNil(instance)) {
10
+ if (instance === undefined) {
13
11
  return this.init(typeMetadata);
14
12
  }
15
13
  return instance;
16
14
  }
17
15
  init(typeMetadata) {
18
- const typeCtor = isCtorFunction(typeMetadata.typeFn) ? typeMetadata.typeFn : undefined;
19
- if (isNil(typeCtor)) {
20
- throw new Error(`${typeMetadata.typeName}: cannot inject instance of abstract type.`);
21
- }
22
- const args = new Array();
23
- for (const injectMetadata of typeMetadata.injectMetadataMap.values()) {
24
- args[injectMetadata.injectIndex] = this.get(injectMetadata.typeMetadata);
16
+ const typeCtor = typeMetadata.typeFn;
17
+ const args = new Array(typeCtor.length);
18
+ const sortedInjectMetadatas = typeMetadata.sortedInjectMetadatas;
19
+ for (let i = 0; i < sortedInjectMetadatas.length; i++) {
20
+ args[sortedInjectMetadatas[i].injectIndex] = this.get(sortedInjectMetadatas[i].typeMetadata);
25
21
  }
26
22
  const instance = new typeCtor(...args);
27
23
  this.instanceMap.set(typeMetadata, instance);
@@ -1 +1 @@
1
- {"version":3,"file":"singleton-injector.js","sourceRoot":"","sources":["../../../src/injectors/singleton-injector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AAC/B,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAS/D,MAAM,OAAO,iBAAiB;IAA9B;QAOqB,gBAAW,GAAoC,IAAI,OAAO,EAA0B,CAAC;IAuD1G,CAAC;IA9CU,GAAG,CAAQ,YAAiC;QAE/C,IAAI,CAAC,YAAY,CAAC,UAAU,EAC5B;YACI,MAAM,IAAI,KAAK,CAAC,GAAG,YAAY,CAAC,QAAQ,8DAA8D,CAAC,CAAC;SAC3G;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QAEpD,IAAI,KAAK,CAAC,QAAQ,CAAC,EACnB;YACI,OAAO,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;SAClC;QAED,OAAO,QAAQ,CAAC;IACpB,CAAC;IASO,IAAI,CAAQ,YAAiC;QAEjD,MAAM,QAAQ,GAAG,cAAc,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;QAEvF,IAAI,KAAK,CAAC,QAAQ,CAAC,EACnB;YACI,MAAM,IAAI,KAAK,CAAC,GAAG,YAAY,CAAC,QAAQ,4CAA4C,CAAC,CAAC;SACzF;QAED,MAAM,IAAI,GAAG,IAAI,KAAK,EAAO,CAAC;QAE9B,KAAK,MAAM,cAAc,IAAI,YAAY,CAAC,iBAAiB,CAAC,MAAM,EAAE,EACpE;YACI,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC;SAC5E;QAED,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAAC,GAAG,IAAI,CAAC,CAAC;QAEvC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;QAE7C,OAAO,QAAQ,CAAC;IACpB,CAAC;CACJ"}
1
+ {"version":3,"file":"singleton-injector.js","sourceRoot":"","sources":["../../../src/injectors/singleton-injector.ts"],"names":[],"mappings":"AASA,MAAM,OAAO,iBAAiB;IAA9B;QAOqB,gBAAW,GAAoC,IAAI,OAAO,EAA0B,CAAC;IAkD1G,CAAC;IAzCU,GAAG,CAAU,YAAmC;QAEnD,IAAI,CAAC,YAAY,CAAC,UAAU,EAC5B;YACI,MAAM,IAAI,KAAK,CAAC,GAAG,YAAY,CAAC,QAAQ,8DAA8D,CAAC,CAAC;SAC3G;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QAEpD,IAAI,QAAQ,KAAK,SAAS,EAC1B;YACI,OAAO,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;SAClC;QAED,OAAO,QAAQ,CAAC;IACpB,CAAC;IASO,IAAI,CAAU,YAAmC;QAErD,MAAM,QAAQ,GAAG,YAAY,CAAC,MAA2B,CAAC;QAC1D,MAAM,IAAI,GAAG,IAAI,KAAK,CAAM,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC7C,MAAM,qBAAqB,GAAG,YAAY,CAAC,qBAAqB,CAAC;QAEjE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,qBAAqB,CAAC,MAAM,EAAE,CAAC,EAAE,EACrD;YACI,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;SAChG;QAED,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAAC,GAAG,IAAI,CAAC,CAAC;QAEvC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;QAE7C,OAAO,QAAQ,CAAC;IACpB,CAAC;CACJ"}
@@ -0,0 +1,9 @@
1
+ export var LoggerLevel;
2
+ (function (LoggerLevel) {
3
+ LoggerLevel[LoggerLevel["Debug"] = 0] = "Debug";
4
+ LoggerLevel[LoggerLevel["Info"] = 1] = "Info";
5
+ LoggerLevel[LoggerLevel["Warn"] = 2] = "Warn";
6
+ LoggerLevel[LoggerLevel["Error"] = 3] = "Error";
7
+ LoggerLevel[LoggerLevel["None"] = 4] = "None";
8
+ })(LoggerLevel || (LoggerLevel = {}));
9
+ //# sourceMappingURL=logger-level.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger-level.js","sourceRoot":"","sources":["../../src/logger-level.ts"],"names":[],"mappings":"AAKA,MAAM,CAAN,IAAY,WA6BX;AA7BD,WAAY,WAAW;IAMnB,+CAAS,CAAA;IAMT,6CAAQ,CAAA;IAMR,6CAAQ,CAAA;IAKR,+CAAS,CAAA;IAKT,6CAAQ,CAAA;AACZ,CAAC,EA7BW,WAAW,KAAX,WAAW,QA6BtB"}
@@ -0,0 +1,79 @@
1
+ import { LoggerLevel } from './logger-level';
2
+ export class Logger {
3
+ constructor(loggerLevel) {
4
+ this.loggerLevel = loggerLevel;
5
+ this.debugDisabled = this.loggerLevel > LoggerLevel.Debug;
6
+ this.infoDisabled = this.loggerLevel > LoggerLevel.Info;
7
+ this.warnDisabled = this.loggerLevel > LoggerLevel.Warn;
8
+ this.errorDisabled = this.loggerLevel > LoggerLevel.Error;
9
+ this.supportsConsole = console !== undefined && console !== null;
10
+ this.supportsConsoleLog = this.supportsConsole && console.log !== undefined && console.log !== null;
11
+ this.supportsConsoleInfo = this.supportsConsole && console.info !== undefined && console.info !== null;
12
+ this.supportsConsoleWarn = this.supportsConsole && console.warn !== undefined && console.warn !== null;
13
+ this.supportsConsoleError = this.supportsConsole && console.error !== undefined && console.error !== null;
14
+ return;
15
+ }
16
+ format(component, loggerLevel, message) {
17
+ return `[${component}][${loggerLevel}]: ${message}`;
18
+ }
19
+ debug(component, message, ...optionalParams) {
20
+ if (this.debugDisabled) {
21
+ return;
22
+ }
23
+ if (this.supportsConsoleLog) {
24
+ const debugMessage = this.format(component, 'Debug', message);
25
+ console.log(debugMessage, ...optionalParams);
26
+ return;
27
+ }
28
+ return;
29
+ }
30
+ info(component, message, ...optionalParams) {
31
+ if (this.infoDisabled) {
32
+ return;
33
+ }
34
+ if (this.supportsConsoleInfo) {
35
+ const infoMessage = this.format(component, 'Info', message);
36
+ console.info(infoMessage, ...optionalParams);
37
+ return;
38
+ }
39
+ if (this.supportsConsoleLog) {
40
+ const infoMessage = this.format(component, 'Info', message);
41
+ console.log(infoMessage, ...optionalParams);
42
+ return;
43
+ }
44
+ return;
45
+ }
46
+ warn(component, message, ...optionalParams) {
47
+ if (this.warnDisabled) {
48
+ return;
49
+ }
50
+ if (this.supportsConsoleWarn) {
51
+ const warnMessage = this.format(component, 'Warn', message);
52
+ console.warn(warnMessage, ...optionalParams);
53
+ return;
54
+ }
55
+ if (this.supportsConsoleLog) {
56
+ const warnMessage = this.format(component, 'Warn', message);
57
+ console.log(warnMessage, ...optionalParams);
58
+ return;
59
+ }
60
+ return;
61
+ }
62
+ error(component, message, ...optionalParams) {
63
+ if (this.errorDisabled) {
64
+ return;
65
+ }
66
+ if (this.supportsConsoleError) {
67
+ const errorMessage = this.format(component, 'Error', message);
68
+ console.error(errorMessage, ...optionalParams);
69
+ return;
70
+ }
71
+ if (this.supportsConsoleLog) {
72
+ const errorMessage = this.format(component, 'Error', message);
73
+ console.log(errorMessage, ...optionalParams);
74
+ return;
75
+ }
76
+ return;
77
+ }
78
+ }
79
+ //# sourceMappingURL=logger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/logger.ts"],"names":[],"mappings":"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"}
@@ -1,79 +1,67 @@
1
- import { isArray, isNil, isString } from 'lodash';
2
- import { isArrowFunction } from './functions/is-arrow-function';
1
+ import { EMPTY_ARRAY } from './constants/empty-array';
3
2
  import { Unknown } from './unknown';
4
3
  export class Metadata {
5
- constructor(typeManager) {
4
+ constructor(typeManager, typeFnMap) {
6
5
  this.typeManager = typeManager;
7
- this.typeFnMap = typeManager.typeFnMap;
6
+ this.typeFnMap = typeFnMap;
8
7
  return;
9
8
  }
10
- defineTypeMetadataResolver(typeArgument) {
11
- if (isNil(typeArgument)) {
12
- return this.resolveTypeMetadataUsingUnknownTypeFn.bind(this);
9
+ resolveTypeMetadatas(typeArguments) {
10
+ const typeMetadatas = new Array(typeArguments.length);
11
+ for (let i = 0; i < typeArguments.length; i++) {
12
+ typeMetadatas[i] = this.resolveTypeMetadata(typeArguments[i]);
13
13
  }
14
- if (isString(typeArgument)) {
15
- return this.resolveTypeMetadataUsingAlias.bind(this);
14
+ return typeMetadatas;
15
+ }
16
+ resolveTypeMetadata(typeArgument) {
17
+ if (typeof typeArgument === 'function') {
18
+ if (typeArgument.name === '') {
19
+ return this.resolveTypeMetadataUsingTypeResolver(typeArgument);
20
+ }
21
+ return this.resolveTypeMetadataUsingTypeFn(typeArgument);
16
22
  }
17
- if (isArrowFunction(typeArgument)) {
18
- return this.resolveTypeMetadataUsingTypeResolver.bind(this);
23
+ if (typeof typeArgument === 'string') {
24
+ return this.resolveTypeMetadataUsingAlias(typeArgument);
19
25
  }
20
- return this.resolveTypeMetadataUsingTypeFn.bind(this);
26
+ return this.resolveTypeMetadataUsingUnknownTypeFn();
21
27
  }
22
- resolveTypeMetadataUsingUnknownTypeFn() {
23
- const typeFn = Unknown;
28
+ resolveTypeMetadataUsingTypeResolver(typeArgument) {
29
+ const typeResolver = typeArgument;
30
+ return this.typeManager.extractTypeMetadata(typeResolver());
31
+ }
32
+ resolveTypeMetadataUsingTypeFn(typeArgument) {
33
+ const typeFn = typeArgument;
24
34
  return this.typeManager.extractTypeMetadata(typeFn);
25
35
  }
26
36
  resolveTypeMetadataUsingAlias(typeArgument) {
27
37
  const alias = typeArgument;
28
38
  const typeFn = this.typeFnMap.get(alias);
29
- if (isNil(typeFn)) {
30
- throw new Error(`Cannot resolve type metadata for provided type alias: ${alias}. This is usually caused by invalid configuration.`);
39
+ if (typeFn === undefined) {
40
+ this.typeManager.logger.error('Metadata', 'Cannot resolve type metadata for provided type alias.', alias);
41
+ this.typeManager.logger.info('Metadata', 'Check if a type exists that defines such an alias. In the meantime, metadata for an unknown type will be used.');
42
+ return this.resolveTypeMetadataUsingUnknownTypeFn();
31
43
  }
32
44
  return this.typeManager.extractTypeMetadata(typeFn);
33
45
  }
34
- resolveTypeMetadataUsingTypeFn(typeArgument) {
35
- const typeFn = typeArgument;
46
+ resolveTypeMetadataUsingUnknownTypeFn() {
47
+ const typeFn = Unknown;
36
48
  return this.typeManager.extractTypeMetadata(typeFn);
37
49
  }
38
- resolveTypeMetadataUsingTypeResolver(typeArgument) {
39
- const typeResolver = typeArgument;
40
- return this.typeManager.extractTypeMetadata(typeResolver());
41
- }
42
- defineGenericStructures(genericArguments) {
43
- const genericStructures = new Array();
44
- for (const genericArgument of genericArguments) {
45
- const genericTypeArgument = isArray(genericArgument) ? genericArgument[0] : genericArgument;
46
- const genericGenericArguments = isArray(genericArgument) ? genericArgument[1] : new Array();
47
- genericStructures.push([
48
- genericTypeArgument,
49
- this.defineGenericStructures(genericGenericArguments)
50
- ]);
51
- }
52
- return genericStructures;
53
- }
54
- defineGenericMetadataResolvers(genericStructures) {
55
- const genericMetadataResolvers = new Array();
56
- for (const genericStructure of genericStructures) {
57
- const genericTypeArgument = genericStructure[0];
58
- const genericGenericStructures = genericStructure[1];
59
- genericMetadataResolvers.push([
60
- this.defineTypeMetadataResolver(genericTypeArgument),
61
- this.defineGenericMetadataResolvers(genericGenericStructures)
62
- ]);
63
- }
64
- return genericMetadataResolvers;
65
- }
66
- defineGenericMetadatas(genericStructures, genericMetadataResolvers) {
67
- const genericMetadatas = new Array();
68
- for (let i = 0; i < genericStructures.length; i++) {
69
- const genericTypeArgument = genericStructures[i][0];
70
- const genericMetadataResolver = genericMetadataResolvers[i][0];
71
- const genericGenericStructures = genericStructures[i][1];
72
- const genericGenericMetadataResolvers = genericMetadataResolvers[i][1];
73
- genericMetadatas.push([
74
- genericMetadataResolver(genericTypeArgument),
75
- this.defineGenericMetadatas(genericGenericStructures, genericGenericMetadataResolvers)
76
- ]);
50
+ resolveGenericMetadatas(genericArguments) {
51
+ const genericMetadatas = new Array(genericArguments.length);
52
+ for (let i = 0; i < genericArguments.length; i++) {
53
+ const genericArgument = genericArguments[i];
54
+ if (Array.isArray(genericArgument)) {
55
+ genericMetadatas[i] = [
56
+ this.resolveTypeMetadata(genericArgument[0]),
57
+ this.resolveGenericMetadatas(genericArgument[1])
58
+ ];
59
+ continue;
60
+ }
61
+ genericMetadatas[i] = [
62
+ this.resolveTypeMetadata(genericArgument),
63
+ EMPTY_ARRAY
64
+ ];
77
65
  }
78
66
  return genericMetadatas;
79
67
  }
@@ -1 +1 @@
1
- {"version":3,"file":"metadata.js","sourceRoot":"","sources":["../../src/metadata.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"metadata.js","sourceRoot":"","sources":["../../src/metadata.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=null-value-resolver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"null-value-resolver.js","sourceRoot":"","sources":["../../src/null-value-resolver.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=nullable.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nullable.js","sourceRoot":"","sources":["../../src/nullable.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=optional.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"optional.js","sourceRoot":"","sources":["../../src/optional.ts"],"names":[],"mappings":""}
@@ -1,3 +1,3 @@
1
1
  import { CustomKey } from './custom-key';
2
- export const propertyExtensionMetadataCtorSetKey = new CustomKey('$DSPropertyExtensionMetadataCtorSet', () => new Set());
2
+ export const PROPERTY_EXTENSION_METADATA_CTOR_SET_KEY = new CustomKey('$DSPropertyExtensionMetadataCtorSet', () => new Set());
3
3
  //# sourceMappingURL=property-extension-metadata-ctor-set-key.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"property-extension-metadata-ctor-set-key.js","sourceRoot":"","sources":["../../src/property-extension-metadata-ctor-set-key.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAQzC,MAAM,CAAC,MAAM,mCAAmC,GAE3C,IAAI,SAAS,CAEf,qCAAqC,EAAE,GAAG,EAAE,CAAC,IAAI,GAAG,EAEpD,CAAC,CAAC"}
1
+ {"version":3,"file":"property-extension-metadata-ctor-set-key.js","sourceRoot":"","sources":["../../src/property-extension-metadata-ctor-set-key.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAQzC,MAAM,CAAC,MAAM,wCAAwC,GAEhD,IAAI,SAAS,CAEf,qCAAqC,EAAE,GAAG,EAAE,CAAC,IAAI,GAAG,EAEpD,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"property-extension-metadata.js","sourceRoot":"","sources":["../../src/property-extension-metadata.ts"],"names":[],"mappings":"AASA,MAAM,OAAgB,yBAAyB;IAe3C,YAAmB,gBAAyD,EAAE,wBAAmD;QAE7H,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;QAEzC,IAAI,CAAC,SAAS,CAAC,wBAAwB,CAAC,CAAC;QAEzC,OAAO;IACX,CAAC;CAUJ"}
1
+ {"version":3,"file":"property-extension-metadata.js","sourceRoot":"","sources":["../../src/property-extension-metadata.ts"],"names":[],"mappings":"AASA,MAAM,OAAgB,yBAAyB;IAe3C,YAAmB,gBAA6D,EAAE,wBAAmD;QAEjI,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;QAEzC,IAAI,CAAC,SAAS,CAAC,wBAAwB,CAAC,CAAC;QAEzC,OAAO;IACX,CAAC;CAUJ"}