@dipscope/type-manager 7.2.0 → 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 (642) hide show
  1. package/CHANGELOG.md +27 -0
  2. package/README.md +160 -167
  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 +17 -12
  30. package/dist/es2015/index.js.map +1 -1
  31. package/dist/es2015/inject-decorator.js +2 -0
  32. package/dist/es2015/inject-decorator.js.map +1 -0
  33. package/dist/es2015/inject-metadata.js +34 -33
  34. package/dist/es2015/inject-metadata.js.map +1 -1
  35. package/dist/es2015/inject-sorters/asc-inject-sorter.js +1 -9
  36. package/dist/es2015/inject-sorters/asc-inject-sorter.js.map +1 -1
  37. package/dist/es2015/inject-sorters/desc-inject-sorter.js +1 -9
  38. package/dist/es2015/inject-sorters/desc-inject-sorter.js.map +1 -1
  39. package/dist/es2015/inject-state.js +2 -0
  40. package/dist/es2015/inject-state.js.map +1 -0
  41. package/dist/es2015/inject-states/index.js +3 -0
  42. package/dist/es2015/inject-states/index.js.map +1 -0
  43. package/dist/es2015/inject-states/resolved-inject-state.js +10 -0
  44. package/dist/es2015/inject-states/resolved-inject-state.js.map +1 -0
  45. package/dist/es2015/inject-states/unresolved-inject-state.js +31 -0
  46. package/dist/es2015/inject-states/unresolved-inject-state.js.map +1 -0
  47. package/dist/es2015/inject.js +6 -8
  48. package/dist/es2015/inject.js.map +1 -1
  49. package/dist/es2015/injectors/singleton-injector.js +6 -10
  50. package/dist/es2015/injectors/singleton-injector.js.map +1 -1
  51. package/dist/es2015/logger-level.js +9 -0
  52. package/dist/es2015/logger-level.js.map +1 -0
  53. package/dist/es2015/logger.js +79 -0
  54. package/dist/es2015/logger.js.map +1 -0
  55. package/dist/es2015/metadata.js +45 -57
  56. package/dist/es2015/metadata.js.map +1 -1
  57. package/dist/es2015/null-value-resolver.js +2 -0
  58. package/dist/es2015/null-value-resolver.js.map +1 -0
  59. package/dist/es2015/nullable.js +2 -0
  60. package/dist/es2015/nullable.js.map +1 -0
  61. package/dist/es2015/optional.js +2 -0
  62. package/dist/es2015/optional.js.map +1 -0
  63. package/dist/es2015/property-decorator.js +2 -0
  64. package/dist/es2015/property-decorator.js.map +1 -0
  65. package/dist/es2015/property-extension-metadata-ctor-set-key.js +1 -1
  66. package/dist/es2015/property-extension-metadata-ctor-set-key.js.map +1 -1
  67. package/dist/es2015/property-extension-metadata.js.map +1 -1
  68. package/dist/es2015/property-metadata.js +224 -145
  69. package/dist/es2015/property-metadata.js.map +1 -1
  70. package/dist/es2015/property-sorters/asc-property-sorter.js +1 -9
  71. package/dist/es2015/property-sorters/asc-property-sorter.js.map +1 -1
  72. package/dist/es2015/property-sorters/desc-property-sorter.js +1 -9
  73. package/dist/es2015/property-sorters/desc-property-sorter.js.map +1 -1
  74. package/dist/es2015/property-state.js +2 -0
  75. package/dist/es2015/property-state.js.map +1 -0
  76. package/dist/es2015/property-states/index.js +3 -0
  77. package/dist/es2015/property-states/index.js.map +1 -0
  78. package/dist/es2015/property-states/resolved-property-state.js +27 -0
  79. package/dist/es2015/property-states/resolved-property-state.js.map +1 -0
  80. package/dist/es2015/property-states/unresolved-property-state.js +167 -0
  81. package/dist/es2015/property-states/unresolved-property-state.js.map +1 -0
  82. package/dist/es2015/property.js +44 -22
  83. package/dist/es2015/property.js.map +1 -1
  84. package/dist/es2015/reference-handlers/circular-reference-handler.js +2 -3
  85. package/dist/es2015/reference-handlers/circular-reference-handler.js.map +1 -1
  86. package/dist/es2015/reference-handlers/json-path-reference-handler.js +7 -6
  87. package/dist/es2015/reference-handlers/json-path-reference-handler.js.map +1 -1
  88. package/dist/es2015/reference-handlers/plain-reference-handler.js +2 -3
  89. package/dist/es2015/reference-handlers/plain-reference-handler.js.map +1 -1
  90. package/dist/es2015/serializer-context.js +65 -171
  91. package/dist/es2015/serializer-context.js.map +1 -1
  92. package/dist/es2015/serializers/any-serializer.js +4 -5
  93. package/dist/es2015/serializers/any-serializer.js.map +1 -1
  94. package/dist/es2015/serializers/array-buffer-serializer.js +8 -13
  95. package/dist/es2015/serializers/array-buffer-serializer.js.map +1 -1
  96. package/dist/es2015/serializers/array-serializer.js +18 -25
  97. package/dist/es2015/serializers/array-serializer.js.map +1 -1
  98. package/dist/es2015/serializers/boolean-serializer.js +12 -19
  99. package/dist/es2015/serializers/boolean-serializer.js.map +1 -1
  100. package/dist/es2015/serializers/data-view-serializer.js +8 -14
  101. package/dist/es2015/serializers/data-view-serializer.js.map +1 -1
  102. package/dist/es2015/serializers/date-serializer.js +8 -13
  103. package/dist/es2015/serializers/date-serializer.js.map +1 -1
  104. package/dist/es2015/serializers/float-32-array-serializer.js +8 -14
  105. package/dist/es2015/serializers/float-32-array-serializer.js.map +1 -1
  106. package/dist/es2015/serializers/float-64-array-serializer.js +8 -14
  107. package/dist/es2015/serializers/float-64-array-serializer.js.map +1 -1
  108. package/dist/es2015/serializers/int-16-array-serializer.js +8 -14
  109. package/dist/es2015/serializers/int-16-array-serializer.js.map +1 -1
  110. package/dist/es2015/serializers/int-32-array-serializer.js +8 -14
  111. package/dist/es2015/serializers/int-32-array-serializer.js.map +1 -1
  112. package/dist/es2015/serializers/int-8-array-serializer.js +8 -14
  113. package/dist/es2015/serializers/int-8-array-serializer.js.map +1 -1
  114. package/dist/es2015/serializers/map-serializer.js +42 -54
  115. package/dist/es2015/serializers/map-serializer.js.map +1 -1
  116. package/dist/es2015/serializers/number-serializer.js +10 -17
  117. package/dist/es2015/serializers/number-serializer.js.map +1 -1
  118. package/dist/es2015/serializers/set-serializer.js +19 -26
  119. package/dist/es2015/serializers/set-serializer.js.map +1 -1
  120. package/dist/es2015/serializers/string-serializer.js +12 -19
  121. package/dist/es2015/serializers/string-serializer.js.map +1 -1
  122. package/dist/es2015/serializers/type-serializer.js +64 -71
  123. package/dist/es2015/serializers/type-serializer.js.map +1 -1
  124. package/dist/es2015/serializers/uint-16-array-serializer.js +8 -14
  125. package/dist/es2015/serializers/uint-16-array-serializer.js.map +1 -1
  126. package/dist/es2015/serializers/uint-32-array-serializer.js +8 -14
  127. package/dist/es2015/serializers/uint-32-array-serializer.js.map +1 -1
  128. package/dist/es2015/serializers/uint-8-array-serializer.js +8 -14
  129. package/dist/es2015/serializers/uint-8-array-serializer.js.map +1 -1
  130. package/dist/es2015/serializers/uint-8-clamped-array-serializer.js +8 -14
  131. package/dist/es2015/serializers/uint-8-clamped-array-serializer.js.map +1 -1
  132. package/dist/es2015/serializers/unknown-serializer.js +4 -5
  133. package/dist/es2015/serializers/unknown-serializer.js.map +1 -1
  134. package/dist/es2015/type-decorator.js +2 -0
  135. package/dist/es2015/type-decorator.js.map +1 -0
  136. package/dist/es2015/type-entry.js +2 -0
  137. package/dist/es2015/type-entry.js.map +1 -0
  138. package/dist/es2015/type-extension-metadata-ctor-set-key.js +1 -1
  139. package/dist/es2015/type-extension-metadata-ctor-set-key.js.map +1 -1
  140. package/dist/es2015/type-extension-metadata.js.map +1 -1
  141. package/dist/es2015/type-manager.js +57 -55
  142. package/dist/es2015/type-manager.js.map +1 -1
  143. package/dist/es2015/type-metadata-symbol.js +1 -1
  144. package/dist/es2015/type-metadata-symbol.js.map +1 -1
  145. package/dist/es2015/type-metadata.js +465 -222
  146. package/dist/es2015/type-metadata.js.map +1 -1
  147. package/dist/es2015/type-scope.js +58 -0
  148. package/dist/es2015/type-scope.js.map +1 -0
  149. package/dist/es2015/type-state.js +2 -0
  150. package/dist/es2015/type-state.js.map +1 -0
  151. package/dist/es2015/type-states/index.js +3 -0
  152. package/dist/es2015/type-states/index.js.map +1 -0
  153. package/dist/es2015/type-states/resolved-type-state.js +44 -0
  154. package/dist/es2015/type-states/resolved-type-state.js.map +1 -0
  155. package/dist/es2015/type-states/unresolved-type-state.js +303 -0
  156. package/dist/es2015/type-states/unresolved-type-state.js.map +1 -0
  157. package/dist/es2015/type.js +3 -1
  158. package/dist/es2015/type.js.map +1 -1
  159. package/dist/es5/constants/default-value-resolver.js +2 -0
  160. package/dist/es5/constants/default-value-resolver.js.map +1 -0
  161. package/dist/es5/constants/empty-array.js +2 -0
  162. package/dist/es5/constants/empty-array.js.map +1 -0
  163. package/dist/es5/constants/empty-map.js +2 -0
  164. package/dist/es5/constants/empty-map.js.map +1 -0
  165. package/dist/es5/constants/index.js +5 -0
  166. package/dist/es5/constants/index.js.map +1 -0
  167. package/dist/es5/constants/null-value-resolver.js +2 -0
  168. package/dist/es5/constants/null-value-resolver.js.map +1 -0
  169. package/dist/es5/custom-key.js.map +1 -1
  170. package/dist/es5/factories/type-factory.js +63 -39
  171. package/dist/es5/factories/type-factory.js.map +1 -1
  172. package/dist/es5/functions/get-own-reflect-metadata.js +1 -2
  173. package/dist/es5/functions/get-own-reflect-metadata.js.map +1 -1
  174. package/dist/es5/functions/get-reflect-metadata.js +1 -2
  175. package/dist/es5/functions/get-reflect-metadata.js.map +1 -1
  176. package/dist/es5/functions/get-words.js +61 -2
  177. package/dist/es5/functions/get-words.js.map +1 -1
  178. package/dist/es5/functions/index.js +0 -12
  179. package/dist/es5/functions/index.js.map +1 -1
  180. package/dist/es5/functions/json-parse.js.map +1 -1
  181. package/dist/es5/functions/json-stringify.js +6 -5
  182. package/dist/es5/functions/json-stringify.js.map +1 -1
  183. package/dist/es5/functions/name-of.js +1 -5
  184. package/dist/es5/functions/name-of.js.map +1 -1
  185. package/dist/es5/index.js +17 -12
  186. package/dist/es5/index.js.map +1 -1
  187. package/dist/es5/inject-decorator.js +2 -0
  188. package/dist/es5/inject-decorator.js.map +1 -0
  189. package/dist/es5/inject-metadata.js +49 -34
  190. package/dist/es5/inject-metadata.js.map +1 -1
  191. package/dist/es5/inject-sorters/asc-inject-sorter.js +1 -9
  192. package/dist/es5/inject-sorters/asc-inject-sorter.js.map +1 -1
  193. package/dist/es5/inject-sorters/desc-inject-sorter.js +1 -9
  194. package/dist/es5/inject-sorters/desc-inject-sorter.js.map +1 -1
  195. package/dist/es5/inject-state.js +2 -0
  196. package/dist/es5/inject-state.js.map +1 -0
  197. package/dist/es5/inject-states/index.js +3 -0
  198. package/dist/es5/inject-states/index.js.map +1 -0
  199. package/dist/es5/inject-states/resolved-inject-state.js +12 -0
  200. package/dist/es5/inject-states/resolved-inject-state.js.map +1 -0
  201. package/dist/es5/inject-states/unresolved-inject-state.js +45 -0
  202. package/dist/es5/inject-states/unresolved-inject-state.js.map +1 -0
  203. package/dist/es5/inject.js +6 -8
  204. package/dist/es5/inject.js.map +1 -1
  205. package/dist/es5/injectors/singleton-injector.js +31 -22
  206. package/dist/es5/injectors/singleton-injector.js.map +1 -1
  207. package/dist/es5/logger-level.js +9 -0
  208. package/dist/es5/logger-level.js.map +1 -0
  209. package/dist/es5/logger.js +122 -0
  210. package/dist/es5/logger.js.map +1 -0
  211. package/dist/es5/metadata.js +44 -79
  212. package/dist/es5/metadata.js.map +1 -1
  213. package/dist/es5/null-value-resolver.js +2 -0
  214. package/dist/es5/null-value-resolver.js.map +1 -0
  215. package/dist/es5/nullable.js +2 -0
  216. package/dist/es5/nullable.js.map +1 -0
  217. package/dist/es5/optional.js +2 -0
  218. package/dist/es5/optional.js.map +1 -0
  219. package/dist/es5/property-decorator.js +2 -0
  220. package/dist/es5/property-decorator.js.map +1 -0
  221. package/dist/es5/property-extension-metadata-ctor-set-key.js +1 -1
  222. package/dist/es5/property-extension-metadata-ctor-set-key.js.map +1 -1
  223. package/dist/es5/property-extension-metadata.js.map +1 -1
  224. package/dist/es5/property-metadata.js +288 -162
  225. package/dist/es5/property-metadata.js.map +1 -1
  226. package/dist/es5/property-sorters/asc-property-sorter.js +1 -9
  227. package/dist/es5/property-sorters/asc-property-sorter.js.map +1 -1
  228. package/dist/es5/property-sorters/desc-property-sorter.js +1 -9
  229. package/dist/es5/property-sorters/desc-property-sorter.js.map +1 -1
  230. package/dist/es5/property-state.js +2 -0
  231. package/dist/es5/property-state.js.map +1 -0
  232. package/dist/es5/property-states/index.js +3 -0
  233. package/dist/es5/property-states/index.js.map +1 -0
  234. package/dist/es5/property-states/resolved-property-state.js +29 -0
  235. package/dist/es5/property-states/resolved-property-state.js.map +1 -0
  236. package/dist/es5/property-states/unresolved-property-state.js +249 -0
  237. package/dist/es5/property-states/unresolved-property-state.js.map +1 -0
  238. package/dist/es5/property.js +44 -22
  239. package/dist/es5/property.js.map +1 -1
  240. package/dist/es5/reference-handlers/circular-reference-handler.js +2 -3
  241. package/dist/es5/reference-handlers/circular-reference-handler.js.map +1 -1
  242. package/dist/es5/reference-handlers/json-path-reference-handler.js +10 -31
  243. package/dist/es5/reference-handlers/json-path-reference-handler.js.map +1 -1
  244. package/dist/es5/reference-handlers/plain-reference-handler.js +2 -3
  245. package/dist/es5/reference-handlers/plain-reference-handler.js.map +1 -1
  246. package/dist/es5/serializer-context.js +71 -237
  247. package/dist/es5/serializer-context.js.map +1 -1
  248. package/dist/es5/serializers/any-serializer.js +4 -5
  249. package/dist/es5/serializers/any-serializer.js.map +1 -1
  250. package/dist/es5/serializers/array-buffer-serializer.js +8 -13
  251. package/dist/es5/serializers/array-buffer-serializer.js.map +1 -1
  252. package/dist/es5/serializers/array-serializer.js +18 -31
  253. package/dist/es5/serializers/array-serializer.js.map +1 -1
  254. package/dist/es5/serializers/boolean-serializer.js +12 -19
  255. package/dist/es5/serializers/boolean-serializer.js.map +1 -1
  256. package/dist/es5/serializers/data-view-serializer.js +8 -14
  257. package/dist/es5/serializers/data-view-serializer.js.map +1 -1
  258. package/dist/es5/serializers/date-serializer.js +8 -13
  259. package/dist/es5/serializers/date-serializer.js.map +1 -1
  260. package/dist/es5/serializers/float-32-array-serializer.js +8 -14
  261. package/dist/es5/serializers/float-32-array-serializer.js.map +1 -1
  262. package/dist/es5/serializers/float-64-array-serializer.js +8 -14
  263. package/dist/es5/serializers/float-64-array-serializer.js.map +1 -1
  264. package/dist/es5/serializers/int-16-array-serializer.js +8 -14
  265. package/dist/es5/serializers/int-16-array-serializer.js.map +1 -1
  266. package/dist/es5/serializers/int-32-array-serializer.js +8 -14
  267. package/dist/es5/serializers/int-32-array-serializer.js.map +1 -1
  268. package/dist/es5/serializers/int-8-array-serializer.js +8 -14
  269. package/dist/es5/serializers/int-8-array-serializer.js.map +1 -1
  270. package/dist/es5/serializers/map-serializer.js +69 -55
  271. package/dist/es5/serializers/map-serializer.js.map +1 -1
  272. package/dist/es5/serializers/number-serializer.js +10 -17
  273. package/dist/es5/serializers/number-serializer.js.map +1 -1
  274. package/dist/es5/serializers/set-serializer.js +30 -27
  275. package/dist/es5/serializers/set-serializer.js.map +1 -1
  276. package/dist/es5/serializers/string-serializer.js +12 -19
  277. package/dist/es5/serializers/string-serializer.js.map +1 -1
  278. package/dist/es5/serializers/type-serializer.js +65 -101
  279. package/dist/es5/serializers/type-serializer.js.map +1 -1
  280. package/dist/es5/serializers/uint-16-array-serializer.js +8 -14
  281. package/dist/es5/serializers/uint-16-array-serializer.js.map +1 -1
  282. package/dist/es5/serializers/uint-32-array-serializer.js +8 -14
  283. package/dist/es5/serializers/uint-32-array-serializer.js.map +1 -1
  284. package/dist/es5/serializers/uint-8-array-serializer.js +8 -14
  285. package/dist/es5/serializers/uint-8-array-serializer.js.map +1 -1
  286. package/dist/es5/serializers/uint-8-clamped-array-serializer.js +8 -14
  287. package/dist/es5/serializers/uint-8-clamped-array-serializer.js.map +1 -1
  288. package/dist/es5/serializers/unknown-serializer.js +4 -5
  289. package/dist/es5/serializers/unknown-serializer.js.map +1 -1
  290. package/dist/es5/type-decorator.js +2 -0
  291. package/dist/es5/type-decorator.js.map +1 -0
  292. package/dist/es5/type-entry.js +2 -0
  293. package/dist/es5/type-entry.js.map +1 -0
  294. package/dist/es5/type-extension-metadata-ctor-set-key.js +1 -1
  295. package/dist/es5/type-extension-metadata-ctor-set-key.js.map +1 -1
  296. package/dist/es5/type-extension-metadata.js.map +1 -1
  297. package/dist/es5/type-manager.js +112 -63
  298. package/dist/es5/type-manager.js.map +1 -1
  299. package/dist/es5/type-metadata-symbol.js +1 -1
  300. package/dist/es5/type-metadata-symbol.js.map +1 -1
  301. package/dist/es5/type-metadata.js +597 -265
  302. package/dist/es5/type-metadata.js.map +1 -1
  303. package/dist/es5/type-scope.js +108 -0
  304. package/dist/es5/type-scope.js.map +1 -0
  305. package/dist/es5/type-state.js +2 -0
  306. package/dist/es5/type-state.js.map +1 -0
  307. package/dist/es5/type-states/index.js +3 -0
  308. package/dist/es5/type-states/index.js.map +1 -0
  309. package/dist/es5/type-states/resolved-type-state.js +46 -0
  310. package/dist/es5/type-states/resolved-type-state.js.map +1 -0
  311. package/dist/es5/type-states/unresolved-type-state.js +453 -0
  312. package/dist/es5/type-states/unresolved-type-state.js.map +1 -0
  313. package/dist/es5/type.js +3 -1
  314. package/dist/es5/type.js.map +1 -1
  315. package/dist/types/constants/default-value-resolver.d.ts +8 -0
  316. package/dist/types/constants/default-value-resolver.d.ts.map +1 -0
  317. package/dist/types/constants/empty-array.d.ts +7 -0
  318. package/dist/types/constants/empty-array.d.ts.map +1 -0
  319. package/dist/types/constants/empty-map.d.ts +7 -0
  320. package/dist/types/constants/empty-map.d.ts.map +1 -0
  321. package/dist/types/constants/index.d.ts +5 -0
  322. package/dist/types/constants/index.d.ts.map +1 -0
  323. package/dist/types/constants/null-value-resolver.d.ts +8 -0
  324. package/dist/types/constants/null-value-resolver.d.ts.map +1 -0
  325. package/dist/types/custom-key.d.ts +4 -3
  326. package/dist/types/custom-key.d.ts.map +1 -1
  327. package/dist/types/custom-option.d.ts +2 -2
  328. package/dist/types/custom-value.d.ts +2 -1
  329. package/dist/types/custom-value.d.ts.map +1 -1
  330. package/dist/types/factories/type-factory.d.ts +8 -5
  331. package/dist/types/factories/type-factory.d.ts.map +1 -1
  332. package/dist/types/factory.d.ts +7 -4
  333. package/dist/types/factory.d.ts.map +1 -1
  334. package/dist/types/functions/get-own-reflect-metadata.d.ts.map +1 -1
  335. package/dist/types/functions/get-reflect-metadata.d.ts.map +1 -1
  336. package/dist/types/functions/get-words.d.ts +3 -3
  337. package/dist/types/functions/get-words.d.ts.map +1 -1
  338. package/dist/types/functions/index.d.ts +0 -12
  339. package/dist/types/functions/index.d.ts.map +1 -1
  340. package/dist/types/functions/json-parse.d.ts +1 -1
  341. package/dist/types/functions/json-parse.d.ts.map +1 -1
  342. package/dist/types/functions/json-stringify.d.ts.map +1 -1
  343. package/dist/types/functions/name-of.d.ts.map +1 -1
  344. package/dist/types/generic-argument.d.ts +2 -2
  345. package/dist/types/generic-argument.d.ts.map +1 -1
  346. package/dist/types/generic-metadata.d.ts +2 -2
  347. package/dist/types/generic-metadata.d.ts.map +1 -1
  348. package/dist/types/index.d.ts +17 -12
  349. package/dist/types/index.d.ts.map +1 -1
  350. package/dist/types/inject-decorator.d.ts +7 -0
  351. package/dist/types/inject-decorator.d.ts.map +1 -0
  352. package/dist/types/inject-metadata.d.ts +52 -45
  353. package/dist/types/inject-metadata.d.ts.map +1 -1
  354. package/dist/types/inject-options.d.ts +8 -8
  355. package/dist/types/inject-options.d.ts.map +1 -1
  356. package/dist/types/inject-sorter.d.ts +3 -3
  357. package/dist/types/inject-sorter.d.ts.map +1 -1
  358. package/dist/types/inject-sorters/asc-inject-sorter.d.ts +3 -3
  359. package/dist/types/inject-sorters/asc-inject-sorter.d.ts.map +1 -1
  360. package/dist/types/inject-sorters/desc-inject-sorter.d.ts +3 -3
  361. package/dist/types/inject-sorters/desc-inject-sorter.d.ts.map +1 -1
  362. package/dist/types/inject-state.d.ts +36 -0
  363. package/dist/types/inject-state.d.ts.map +1 -0
  364. package/dist/types/inject-states/index.d.ts +3 -0
  365. package/dist/types/inject-states/index.d.ts.map +1 -0
  366. package/dist/types/inject-states/resolved-inject-state.d.ts +46 -0
  367. package/dist/types/inject-states/resolved-inject-state.d.ts.map +1 -0
  368. package/dist/types/inject-states/unresolved-inject-state.d.ts +49 -0
  369. package/dist/types/inject-states/unresolved-inject-state.d.ts.map +1 -0
  370. package/dist/types/inject.d.ts +5 -4
  371. package/dist/types/inject.d.ts.map +1 -1
  372. package/dist/types/injector.d.ts +4 -3
  373. package/dist/types/injector.d.ts.map +1 -1
  374. package/dist/types/injectors/singleton-injector.d.ts +5 -5
  375. package/dist/types/injectors/singleton-injector.d.ts.map +1 -1
  376. package/dist/types/logger-level.d.ts +31 -0
  377. package/dist/types/logger-level.d.ts.map +1 -0
  378. package/dist/types/logger.d.ts +125 -0
  379. package/dist/types/logger.d.ts.map +1 -0
  380. package/dist/types/metadata.d.ts +29 -39
  381. package/dist/types/metadata.d.ts.map +1 -1
  382. package/dist/types/null-value-resolver.d.ts +9 -0
  383. package/dist/types/null-value-resolver.d.ts.map +1 -0
  384. package/dist/types/nullable.d.ts +7 -0
  385. package/dist/types/nullable.d.ts.map +1 -0
  386. package/dist/types/optional.d.ts +7 -0
  387. package/dist/types/optional.d.ts.map +1 -0
  388. package/dist/types/property-decorator.d.ts +7 -0
  389. package/dist/types/property-decorator.d.ts.map +1 -0
  390. package/dist/types/property-extension-metadata-ctor-set-key.d.ts +1 -1
  391. package/dist/types/property-extension-metadata-ctor-set-key.d.ts.map +1 -1
  392. package/dist/types/property-extension-metadata-ctor.d.ts +2 -2
  393. package/dist/types/property-extension-metadata-ctor.d.ts.map +1 -1
  394. package/dist/types/property-extension-metadata.d.ts +7 -7
  395. package/dist/types/property-extension-metadata.d.ts.map +1 -1
  396. package/dist/types/property-metadata.d.ts +134 -119
  397. package/dist/types/property-metadata.d.ts.map +1 -1
  398. package/dist/types/property-options.d.ts +11 -10
  399. package/dist/types/property-options.d.ts.map +1 -1
  400. package/dist/types/property-sorter.d.ts +3 -3
  401. package/dist/types/property-sorter.d.ts.map +1 -1
  402. package/dist/types/property-sorters/asc-property-sorter.d.ts +3 -3
  403. package/dist/types/property-sorters/asc-property-sorter.d.ts.map +1 -1
  404. package/dist/types/property-sorters/desc-property-sorter.d.ts +3 -3
  405. package/dist/types/property-sorters/desc-property-sorter.d.ts.map +1 -1
  406. package/dist/types/property-state.d.ts +149 -0
  407. package/dist/types/property-state.d.ts.map +1 -0
  408. package/dist/types/property-states/index.d.ts +3 -0
  409. package/dist/types/property-states/index.d.ts.map +1 -0
  410. package/dist/types/property-states/resolved-property-state.d.ts +176 -0
  411. package/dist/types/property-states/resolved-property-state.d.ts.map +1 -0
  412. package/dist/types/property-states/unresolved-property-state.d.ts +162 -0
  413. package/dist/types/property-states/unresolved-property-state.d.ts.map +1 -0
  414. package/dist/types/property.d.ts +5 -4
  415. package/dist/types/property.d.ts.map +1 -1
  416. package/dist/types/reference-handlers/circular-reference-handler.d.ts.map +1 -1
  417. package/dist/types/reference-handlers/json-path-reference-handler.d.ts.map +1 -1
  418. package/dist/types/reference-handlers/plain-reference-handler.d.ts.map +1 -1
  419. package/dist/types/reference-value-setter.d.ts +1 -1
  420. package/dist/types/reference-value-setter.d.ts.map +1 -1
  421. package/dist/types/serializer-context.d.ts +70 -164
  422. package/dist/types/serializer-context.d.ts.map +1 -1
  423. package/dist/types/serializer.d.ts +8 -8
  424. package/dist/types/serializer.d.ts.map +1 -1
  425. package/dist/types/serializers/any-serializer.d.ts.map +1 -1
  426. package/dist/types/serializers/array-buffer-serializer.d.ts.map +1 -1
  427. package/dist/types/serializers/array-serializer.d.ts.map +1 -1
  428. package/dist/types/serializers/boolean-serializer.d.ts +1 -1
  429. package/dist/types/serializers/boolean-serializer.d.ts.map +1 -1
  430. package/dist/types/serializers/data-view-serializer.d.ts.map +1 -1
  431. package/dist/types/serializers/date-serializer.d.ts.map +1 -1
  432. package/dist/types/serializers/float-32-array-serializer.d.ts.map +1 -1
  433. package/dist/types/serializers/float-64-array-serializer.d.ts.map +1 -1
  434. package/dist/types/serializers/int-16-array-serializer.d.ts.map +1 -1
  435. package/dist/types/serializers/int-32-array-serializer.d.ts.map +1 -1
  436. package/dist/types/serializers/int-8-array-serializer.d.ts.map +1 -1
  437. package/dist/types/serializers/map-serializer.d.ts.map +1 -1
  438. package/dist/types/serializers/number-serializer.d.ts +1 -1
  439. package/dist/types/serializers/number-serializer.d.ts.map +1 -1
  440. package/dist/types/serializers/set-serializer.d.ts.map +1 -1
  441. package/dist/types/serializers/string-serializer.d.ts +1 -1
  442. package/dist/types/serializers/string-serializer.d.ts.map +1 -1
  443. package/dist/types/serializers/type-serializer.d.ts.map +1 -1
  444. package/dist/types/serializers/uint-16-array-serializer.d.ts.map +1 -1
  445. package/dist/types/serializers/uint-32-array-serializer.d.ts.map +1 -1
  446. package/dist/types/serializers/uint-8-array-serializer.d.ts.map +1 -1
  447. package/dist/types/serializers/uint-8-clamped-array-serializer.d.ts.map +1 -1
  448. package/dist/types/serializers/unknown-serializer.d.ts.map +1 -1
  449. package/dist/types/type-abstraction.d.ts +2 -2
  450. package/dist/types/type-abstraction.d.ts.map +1 -1
  451. package/dist/types/type-argument.d.ts +3 -3
  452. package/dist/types/type-argument.d.ts.map +1 -1
  453. package/dist/types/type-configuration.d.ts +4 -4
  454. package/dist/types/type-configuration.d.ts.map +1 -1
  455. package/dist/types/type-ctor.d.ts +2 -2
  456. package/dist/types/type-ctor.d.ts.map +1 -1
  457. package/dist/types/type-decorator.d.ts +7 -0
  458. package/dist/types/type-decorator.d.ts.map +1 -0
  459. package/dist/types/type-entry.d.ts +29 -0
  460. package/dist/types/type-entry.d.ts.map +1 -0
  461. package/dist/types/type-extension-metadata-ctor-set-key.d.ts +1 -1
  462. package/dist/types/type-extension-metadata-ctor-set-key.d.ts.map +1 -1
  463. package/dist/types/type-extension-metadata-ctor.d.ts +2 -2
  464. package/dist/types/type-extension-metadata-ctor.d.ts.map +1 -1
  465. package/dist/types/type-extension-metadata.d.ts +6 -6
  466. package/dist/types/type-extension-metadata.d.ts.map +1 -1
  467. package/dist/types/type-fn.d.ts +2 -2
  468. package/dist/types/type-fn.d.ts.map +1 -1
  469. package/dist/types/type-like.d.ts +2 -2
  470. package/dist/types/type-like.d.ts.map +1 -1
  471. package/dist/types/type-manager-options.d.ts.map +1 -1
  472. package/dist/types/type-manager.d.ts +120 -120
  473. package/dist/types/type-manager.d.ts.map +1 -1
  474. package/dist/types/type-metadata-symbol.d.ts +1 -1
  475. package/dist/types/type-metadata-symbol.d.ts.map +1 -1
  476. package/dist/types/type-metadata.d.ts +253 -152
  477. package/dist/types/type-metadata.d.ts.map +1 -1
  478. package/dist/types/type-options-base.d.ts +13 -12
  479. package/dist/types/type-options-base.d.ts.map +1 -1
  480. package/dist/types/type-options.d.ts +10 -10
  481. package/dist/types/type-options.d.ts.map +1 -1
  482. package/dist/types/type-resolver.d.ts +2 -2
  483. package/dist/types/type-resolver.d.ts.map +1 -1
  484. package/dist/types/type-scope.d.ts +68 -0
  485. package/dist/types/type-scope.d.ts.map +1 -0
  486. package/dist/types/type-state.d.ts +262 -0
  487. package/dist/types/type-state.d.ts.map +1 -0
  488. package/dist/types/type-states/index.d.ts +3 -0
  489. package/dist/types/type-states/index.d.ts.map +1 -0
  490. package/dist/types/type-states/resolved-type-state.d.ts +306 -0
  491. package/dist/types/type-states/resolved-type-state.d.ts.map +1 -0
  492. package/dist/types/type-states/unresolved-type-state.d.ts +275 -0
  493. package/dist/types/type-states/unresolved-type-state.d.ts.map +1 -0
  494. package/dist/types/type.d.ts +4 -3
  495. package/dist/types/type.d.ts.map +1 -1
  496. package/dist/umd/index.js +1 -1
  497. package/dist/umd/index.js.map +1 -1
  498. package/package.json +1 -7
  499. package/dist/es2015/custom-context.js +0 -59
  500. package/dist/es2015/custom-context.js.map +0 -1
  501. package/dist/es2015/functions/is-arrow-function.js +0 -5
  502. package/dist/es2015/functions/is-arrow-function.js.map +0 -1
  503. package/dist/es2015/functions/is-ctor-function.js +0 -5
  504. package/dist/es2015/functions/is-ctor-function.js.map +0 -1
  505. package/dist/es2015/functions/is-data-view.js +0 -4
  506. package/dist/es2015/functions/is-data-view.js.map +0 -1
  507. package/dist/es2015/functions/is-float-32-array.js +0 -4
  508. package/dist/es2015/functions/is-float-32-array.js.map +0 -1
  509. package/dist/es2015/functions/is-float-64-array.js +0 -4
  510. package/dist/es2015/functions/is-float-64-array.js.map +0 -1
  511. package/dist/es2015/functions/is-int-16-array.js +0 -4
  512. package/dist/es2015/functions/is-int-16-array.js.map +0 -1
  513. package/dist/es2015/functions/is-int-32-array.js +0 -4
  514. package/dist/es2015/functions/is-int-32-array.js.map +0 -1
  515. package/dist/es2015/functions/is-int-8-array.js +0 -4
  516. package/dist/es2015/functions/is-int-8-array.js.map +0 -1
  517. package/dist/es2015/functions/is-uint-16-array.js +0 -4
  518. package/dist/es2015/functions/is-uint-16-array.js.map +0 -1
  519. package/dist/es2015/functions/is-uint-32-array.js +0 -4
  520. package/dist/es2015/functions/is-uint-32-array.js.map +0 -1
  521. package/dist/es2015/functions/is-uint-8-array.js +0 -4
  522. package/dist/es2015/functions/is-uint-8-array.js.map +0 -1
  523. package/dist/es2015/functions/is-uint-8-clamped-array.js +0 -4
  524. package/dist/es2015/functions/is-uint-8-clamped-array.js.map +0 -1
  525. package/dist/es2015/generic-metadata-resolver.js +0 -2
  526. package/dist/es2015/generic-metadata-resolver.js.map +0 -1
  527. package/dist/es2015/generic-structure.js +0 -2
  528. package/dist/es2015/generic-structure.js.map +0 -1
  529. package/dist/es2015/inject-internals.js +0 -2
  530. package/dist/es2015/inject-internals.js.map +0 -1
  531. package/dist/es2015/log-level.js +0 -8
  532. package/dist/es2015/log-level.js.map +0 -1
  533. package/dist/es2015/log.js +0 -50
  534. package/dist/es2015/log.js.map +0 -1
  535. package/dist/es2015/property-internals.js +0 -2
  536. package/dist/es2015/property-internals.js.map +0 -1
  537. package/dist/es2015/serializer-context-options.js +0 -2
  538. package/dist/es2015/serializer-context-options.js.map +0 -1
  539. package/dist/es2015/type-context-entry.js +0 -9
  540. package/dist/es2015/type-context-entry.js.map +0 -1
  541. package/dist/es2015/type-context.js +0 -31
  542. package/dist/es2015/type-context.js.map +0 -1
  543. package/dist/es2015/type-internals.js +0 -2
  544. package/dist/es2015/type-internals.js.map +0 -1
  545. package/dist/es2015/type-metadata-resolver.js +0 -2
  546. package/dist/es2015/type-metadata-resolver.js.map +0 -1
  547. package/dist/es5/custom-context.js +0 -95
  548. package/dist/es5/custom-context.js.map +0 -1
  549. package/dist/es5/functions/is-arrow-function.js +0 -5
  550. package/dist/es5/functions/is-arrow-function.js.map +0 -1
  551. package/dist/es5/functions/is-ctor-function.js +0 -5
  552. package/dist/es5/functions/is-ctor-function.js.map +0 -1
  553. package/dist/es5/functions/is-data-view.js +0 -4
  554. package/dist/es5/functions/is-data-view.js.map +0 -1
  555. package/dist/es5/functions/is-float-32-array.js +0 -4
  556. package/dist/es5/functions/is-float-32-array.js.map +0 -1
  557. package/dist/es5/functions/is-float-64-array.js +0 -4
  558. package/dist/es5/functions/is-float-64-array.js.map +0 -1
  559. package/dist/es5/functions/is-int-16-array.js +0 -4
  560. package/dist/es5/functions/is-int-16-array.js.map +0 -1
  561. package/dist/es5/functions/is-int-32-array.js +0 -4
  562. package/dist/es5/functions/is-int-32-array.js.map +0 -1
  563. package/dist/es5/functions/is-int-8-array.js +0 -4
  564. package/dist/es5/functions/is-int-8-array.js.map +0 -1
  565. package/dist/es5/functions/is-uint-16-array.js +0 -4
  566. package/dist/es5/functions/is-uint-16-array.js.map +0 -1
  567. package/dist/es5/functions/is-uint-32-array.js +0 -4
  568. package/dist/es5/functions/is-uint-32-array.js.map +0 -1
  569. package/dist/es5/functions/is-uint-8-array.js +0 -4
  570. package/dist/es5/functions/is-uint-8-array.js.map +0 -1
  571. package/dist/es5/functions/is-uint-8-clamped-array.js +0 -4
  572. package/dist/es5/functions/is-uint-8-clamped-array.js.map +0 -1
  573. package/dist/es5/generic-metadata-resolver.js +0 -2
  574. package/dist/es5/generic-metadata-resolver.js.map +0 -1
  575. package/dist/es5/generic-structure.js +0 -2
  576. package/dist/es5/generic-structure.js.map +0 -1
  577. package/dist/es5/inject-internals.js +0 -2
  578. package/dist/es5/inject-internals.js.map +0 -1
  579. package/dist/es5/log-level.js +0 -8
  580. package/dist/es5/log-level.js.map +0 -1
  581. package/dist/es5/log.js +0 -65
  582. package/dist/es5/log.js.map +0 -1
  583. package/dist/es5/property-internals.js +0 -2
  584. package/dist/es5/property-internals.js.map +0 -1
  585. package/dist/es5/serializer-context-options.js +0 -2
  586. package/dist/es5/serializer-context-options.js.map +0 -1
  587. package/dist/es5/type-context-entry.js +0 -11
  588. package/dist/es5/type-context-entry.js.map +0 -1
  589. package/dist/es5/type-context.js +0 -33
  590. package/dist/es5/type-context.js.map +0 -1
  591. package/dist/es5/type-internals.js +0 -2
  592. package/dist/es5/type-internals.js.map +0 -1
  593. package/dist/es5/type-metadata-resolver.js +0 -2
  594. package/dist/es5/type-metadata-resolver.js.map +0 -1
  595. package/dist/types/custom-context.d.ts +0 -89
  596. package/dist/types/custom-context.d.ts.map +0 -1
  597. package/dist/types/functions/is-arrow-function.d.ts +0 -9
  598. package/dist/types/functions/is-arrow-function.d.ts.map +0 -1
  599. package/dist/types/functions/is-ctor-function.d.ts +0 -9
  600. package/dist/types/functions/is-ctor-function.d.ts.map +0 -1
  601. package/dist/types/functions/is-data-view.d.ts +0 -9
  602. package/dist/types/functions/is-data-view.d.ts.map +0 -1
  603. package/dist/types/functions/is-float-32-array.d.ts +0 -9
  604. package/dist/types/functions/is-float-32-array.d.ts.map +0 -1
  605. package/dist/types/functions/is-float-64-array.d.ts +0 -9
  606. package/dist/types/functions/is-float-64-array.d.ts.map +0 -1
  607. package/dist/types/functions/is-int-16-array.d.ts +0 -9
  608. package/dist/types/functions/is-int-16-array.d.ts.map +0 -1
  609. package/dist/types/functions/is-int-32-array.d.ts +0 -9
  610. package/dist/types/functions/is-int-32-array.d.ts.map +0 -1
  611. package/dist/types/functions/is-int-8-array.d.ts +0 -9
  612. package/dist/types/functions/is-int-8-array.d.ts.map +0 -1
  613. package/dist/types/functions/is-uint-16-array.d.ts +0 -9
  614. package/dist/types/functions/is-uint-16-array.d.ts.map +0 -1
  615. package/dist/types/functions/is-uint-32-array.d.ts +0 -9
  616. package/dist/types/functions/is-uint-32-array.d.ts.map +0 -1
  617. package/dist/types/functions/is-uint-8-array.d.ts +0 -9
  618. package/dist/types/functions/is-uint-8-array.d.ts.map +0 -1
  619. package/dist/types/functions/is-uint-8-clamped-array.d.ts +0 -9
  620. package/dist/types/functions/is-uint-8-clamped-array.d.ts.map +0 -1
  621. package/dist/types/generic-metadata-resolver.d.ts +0 -8
  622. package/dist/types/generic-metadata-resolver.d.ts.map +0 -1
  623. package/dist/types/generic-structure.d.ts +0 -8
  624. package/dist/types/generic-structure.d.ts.map +0 -1
  625. package/dist/types/inject-internals.d.ts +0 -15
  626. package/dist/types/inject-internals.d.ts.map +0 -1
  627. package/dist/types/log-level.d.ts +0 -12
  628. package/dist/types/log-level.d.ts.map +0 -1
  629. package/dist/types/log.d.ts +0 -96
  630. package/dist/types/log.d.ts.map +0 -1
  631. package/dist/types/property-internals.d.ts +0 -36
  632. package/dist/types/property-internals.d.ts.map +0 -1
  633. package/dist/types/serializer-context-options.d.ts +0 -51
  634. package/dist/types/serializer-context-options.d.ts.map +0 -1
  635. package/dist/types/type-context-entry.d.ts +0 -37
  636. package/dist/types/type-context-entry.d.ts.map +0 -1
  637. package/dist/types/type-context.d.ts +0 -71
  638. package/dist/types/type-context.d.ts.map +0 -1
  639. package/dist/types/type-internals.d.ts +0 -15
  640. package/dist/types/type-internals.d.ts.map +0 -1
  641. package/dist/types/type-metadata-resolver.d.ts +0 -9
  642. package/dist/types/type-metadata-resolver.d.ts.map +0 -1
@@ -1,56 +1,80 @@
1
- import { __read, __spreadArray, __values } from "tslib";
2
- import { isNil, isUndefined } from 'lodash';
3
- import { isCtorFunction } from '../functions/is-ctor-function';
1
+ var __read = (this && this.__read) || function (o, n) {
2
+ var m = typeof Symbol === "function" && o[Symbol.iterator];
3
+ if (!m) return o;
4
+ var i = m.call(o), r, ar = [], e;
5
+ try {
6
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
7
+ }
8
+ catch (error) { e = { error: error }; }
9
+ finally {
10
+ try {
11
+ if (r && !r.done && (m = i["return"])) m.call(i);
12
+ }
13
+ finally { if (e) throw e.error; }
14
+ }
15
+ return ar;
16
+ };
17
+ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
18
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
19
+ if (ar || !(i in from)) {
20
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
21
+ ar[i] = from[i];
22
+ }
23
+ }
24
+ return to.concat(ar || Array.prototype.slice.call(from));
25
+ };
26
+ var __values = (this && this.__values) || function(o) {
27
+ var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
28
+ if (m) return m.call(o);
29
+ if (o && typeof o.length === "number") return {
30
+ next: function () {
31
+ if (o && i >= o.length) o = void 0;
32
+ return { value: o && o[i++], done: !o };
33
+ }
34
+ };
35
+ throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
36
+ };
4
37
  var TypeFactory = (function () {
5
38
  function TypeFactory() {
6
39
  }
7
- TypeFactory.prototype.build = function (typeContext, injector) {
8
- var e_1, _a, e_2, _b;
9
- var _c;
10
- var typeMetadata = typeContext.typeMetadata;
11
- var typeCtor = isCtorFunction(typeMetadata.typeFn) ? typeMetadata.typeFn : undefined;
12
- if (isNil(typeCtor)) {
13
- throw new Error("".concat(typeMetadata.typeName, ": cannot build instance of abstract type."));
14
- }
15
- var injectedKeys = new Array();
16
- var args = new Array(typeCtor.length).fill(undefined);
17
- try {
18
- for (var _d = __values(typeMetadata.sortedInjectMetadatas), _e = _d.next(); !_e.done; _e = _d.next()) {
19
- var injectMetadata = _e.value;
20
- var argKey = injectMetadata.key;
21
- if (!isNil(argKey)) {
22
- args[injectMetadata.injectIndex] = (_c = typeContext.get(argKey)) === null || _c === void 0 ? void 0 : _c.value;
23
- injectedKeys.push(argKey);
24
- continue;
25
- }
26
- args[injectMetadata.injectIndex] = injector.get(injectMetadata.typeMetadata);
40
+ TypeFactory.prototype.build = function (typeMetadata, typeEntryMap, injector) {
41
+ var e_1, _a;
42
+ var typeCtor = typeMetadata.typeFn;
43
+ var typeState = typeMetadata.typeState;
44
+ var injectedKeys = new Set();
45
+ var args = new Array(typeCtor.length);
46
+ for (var i = 0; i < typeState.sortedInjectMetadatas.length; i++) {
47
+ var injectMetadata = typeState.sortedInjectMetadatas[i];
48
+ var injectState = injectMetadata.injectState;
49
+ var argKey = injectState.key;
50
+ if (argKey === undefined) {
51
+ args[injectMetadata.injectIndex] = injector.get(injectState.typeMetadata);
52
+ continue;
27
53
  }
28
- }
29
- catch (e_1_1) { e_1 = { error: e_1_1 }; }
30
- finally {
31
- try {
32
- if (_e && !_e.done && (_a = _d.return)) _a.call(_d);
54
+ var typeEntry = typeEntryMap.get(argKey);
55
+ if (typeEntry !== undefined) {
56
+ args[injectMetadata.injectIndex] = typeEntry.value;
33
57
  }
34
- finally { if (e_1) throw e_1.error; }
58
+ injectedKeys.add(argKey);
35
59
  }
36
60
  var type = new (typeCtor.bind.apply(typeCtor, __spreadArray([void 0], __read(args), false)))();
37
61
  try {
38
- for (var _f = __values(typeContext.values()), _g = _f.next(); !_g.done; _g = _f.next()) {
39
- var typeContextEntry = _g.value;
40
- var propertyMetadata = typeContextEntry.propertyMetadata;
41
- if (!isNil(propertyMetadata)
42
- && !isUndefined(typeContextEntry.value)
43
- && !injectedKeys.includes(propertyMetadata.propertyName)) {
44
- type[propertyMetadata.propertyName] = typeContextEntry.value;
62
+ for (var _b = __values(typeEntryMap.values()), _c = _b.next(); !_c.done; _c = _b.next()) {
63
+ var typeEntry = _c.value;
64
+ var propertyMetadata = typeEntry.propertyMetadata;
65
+ if (propertyMetadata !== undefined
66
+ && typeEntry.value !== undefined
67
+ && !injectedKeys.has(propertyMetadata.propertyName)) {
68
+ type[propertyMetadata.propertyName] = typeEntry.value;
45
69
  }
46
70
  }
47
71
  }
48
- catch (e_2_1) { e_2 = { error: e_2_1 }; }
72
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
49
73
  finally {
50
74
  try {
51
- if (_g && !_g.done && (_b = _f.return)) _b.call(_f);
75
+ if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
52
76
  }
53
- finally { if (e_2) throw e_2.error; }
77
+ finally { if (e_1) throw e_1.error; }
54
78
  }
55
79
  return type;
56
80
  };
@@ -1 +1 @@
1
- {"version":3,"file":"type-factory.js","sourceRoot":"","sources":["../../../src/factories/type-factory.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAE5C,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAS/D;IAAA;IAyDA,CAAC;IA/CU,2BAAK,GAAZ,UAAoB,WAA+B,EAAE,QAAkB;;;QAEnE,IAAM,YAAY,GAAG,WAAW,CAAC,YAAY,CAAC;QAC9C,IAAM,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,UAAG,YAAY,CAAC,QAAQ,8CAA2C,CAAC,CAAC;SACxF;QAED,IAAM,YAAY,GAAG,IAAI,KAAK,EAAO,CAAC;QACtC,IAAM,IAAI,GAAG,IAAI,KAAK,CAAM,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;;YAE7D,KAA6B,IAAA,KAAA,SAAA,YAAY,CAAC,qBAAqB,CAAA,gBAAA,4BAC/D;gBADK,IAAM,cAAc,WAAA;gBAErB,IAAM,MAAM,GAAG,cAAc,CAAC,GAAG,CAAC;gBAElC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EAClB;oBACI,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,GAAG,MAAA,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,0CAAE,KAAK,CAAC;oBAElE,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;oBAE1B,SAAS;iBACZ;gBAED,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC;aAChF;;;;;;;;;QAED,IAAM,IAAI,GAAG,KAAI,QAAQ,YAAR,QAAQ,iCAAI,IAAI,aAAQ,CAAC;;YAE1C,KAA+B,IAAA,KAAA,SAAA,WAAW,CAAC,MAAM,EAAE,CAAA,gBAAA,4BACnD;gBADK,IAAM,gBAAgB,WAAA;gBAEvB,IAAM,gBAAgB,GAAG,gBAAgB,CAAC,gBAAgB,CAAC;gBAE3D,IACI,CAAC,KAAK,CAAC,gBAAgB,CAAC;uBACrB,CAAC,WAAW,CAAC,gBAAgB,CAAC,KAAK,CAAC;uBACpC,CAAC,YAAY,CAAC,QAAQ,CAAC,gBAAgB,CAAC,YAAY,CAAC,EAE5D;oBACI,IAAI,CAAC,gBAAgB,CAAC,YAAY,CAAC,GAAG,gBAAgB,CAAC,KAAK,CAAC;iBAChE;aACJ;;;;;;;;;QAED,OAAO,IAAI,CAAC;IAChB,CAAC;IACL,kBAAC;AAAD,CAAC,AAzDD,IAyDC"}
1
+ {"version":3,"file":"type-factory.js","sourceRoot":"","sources":["../../../src/factories/type-factory.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAYA;IAAA;IA2DA,CAAC;IAhDU,2BAAK,GAAZ,UAAsB,YAAmC,EAAE,YAAgE,EAAE,QAAkB;;QAE3I,IAAM,QAAQ,GAAG,YAAY,CAAC,MAA2B,CAAC;QAC1D,IAAM,SAAS,GAAG,YAAY,CAAC,SAAS,CAAC;QACzC,IAAM,YAAY,GAAG,IAAI,GAAG,EAAU,CAAC;QACvC,IAAM,IAAI,GAAG,IAAI,KAAK,CAAM,QAAQ,CAAC,MAAM,CAAC,CAAC;QAE7C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,qBAAqB,CAAC,MAAM,EAAE,CAAC,EAAE,EAC/D;YACI,IAAM,cAAc,GAAG,SAAS,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;YAC1D,IAAM,WAAW,GAAG,cAAc,CAAC,WAAW,CAAC;YAC/C,IAAM,MAAM,GAAG,WAAW,CAAC,GAAG,CAAC;YAE/B,IAAI,MAAM,KAAK,SAAS,EACxB;gBACI,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;gBAE1E,SAAS;aACZ;YAED,IAAM,SAAS,GAAG,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAE3C,IAAI,SAAS,KAAK,SAAS,EAC3B;gBACI,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC;aACtD;YAED,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;SAC5B;QAED,IAAM,IAAI,GAAG,KAAI,QAAQ,YAAR,QAAQ,iCAAI,IAAI,aAAQ,CAAC;;YAE1C,KAAwB,IAAA,KAAA,SAAA,YAAY,CAAC,MAAM,EAAE,CAAA,gBAAA,4BAC7C;gBADK,IAAM,SAAS,WAAA;gBAEhB,IAAM,gBAAgB,GAAG,SAAS,CAAC,gBAAgB,CAAC;gBAEpD,IACI,gBAAgB,KAAK,SAAS;uBAC3B,SAAS,CAAC,KAAK,KAAK,SAAS;uBAC7B,CAAC,YAAY,CAAC,GAAG,CAAC,gBAAgB,CAAC,YAAY,CAAC,EAEvD;oBACI,IAAI,CAAC,gBAAgB,CAAC,YAAY,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC;iBACzD;aACJ;;;;;;;;;QAED,OAAO,IAAI,CAAC;IAChB,CAAC;IACL,kBAAC;AAAD,CAAC,AA3DD,IA2DC"}
@@ -1,6 +1,5 @@
1
- import { isFunction, isObject } from 'lodash';
2
1
  export function getOwnReflectMetadata(metadataKey, target) {
3
- if (isObject(Reflect) && isFunction(Reflect.getOwnMetadata)) {
2
+ if (typeof Reflect === 'object' && Reflect !== null && typeof Reflect.getOwnMetadata === 'function') {
4
3
  return Reflect.getOwnMetadata(metadataKey, target);
5
4
  }
6
5
  return undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"get-own-reflect-metadata.js","sourceRoot":"","sources":["../../../src/functions/get-own-reflect-metadata.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AA4B9C,MAAM,UAAU,qBAAqB,CAAC,WAAmB,EAAE,MAAW;IAElE,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,UAAU,CAAC,OAAO,CAAC,cAAc,CAAC,EAC3D;QACI,OAAO,OAAO,CAAC,cAAc,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;KACtD;IAED,OAAO,SAAS,CAAC;AACrB,CAAC"}
1
+ {"version":3,"file":"get-own-reflect-metadata.js","sourceRoot":"","sources":["../../../src/functions/get-own-reflect-metadata.ts"],"names":[],"mappings":"AA0BA,MAAM,UAAU,qBAAqB,CAAC,WAAmB,EAAE,MAAW;IAElE,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,OAAO,CAAC,cAAc,KAAK,UAAU,EACnG;QACI,OAAO,OAAO,CAAC,cAAc,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;KACtD;IAED,OAAO,SAAS,CAAC;AACrB,CAAC"}
@@ -1,6 +1,5 @@
1
- import { isFunction, isObject } from 'lodash';
2
1
  export function getReflectMetadata(metadataKey, target, propertyKey) {
3
- if (isObject(Reflect) && isFunction(Reflect.getMetadata)) {
2
+ if (typeof Reflect === 'object' && Reflect !== null && typeof Reflect.getMetadata === 'function') {
4
3
  return Reflect.getMetadata(metadataKey, target, propertyKey);
5
4
  }
6
5
  return undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"get-reflect-metadata.js","sourceRoot":"","sources":["../../../src/functions/get-reflect-metadata.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AA8B9C,MAAM,UAAU,kBAAkB,CAAC,WAAmB,EAAE,MAAW,EAAE,WAA4B;IAE7F,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,UAAU,CAAC,OAAO,CAAC,WAAW,CAAC,EACxD;QACI,OAAO,OAAO,CAAC,WAAW,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;KAChE;IAED,OAAO,SAAS,CAAC;AACrB,CAAC"}
1
+ {"version":3,"file":"get-reflect-metadata.js","sourceRoot":"","sources":["../../../src/functions/get-reflect-metadata.ts"],"names":[],"mappings":"AA4BA,MAAM,UAAU,kBAAkB,CAAC,WAAmB,EAAE,MAAW,EAAE,WAA4B;IAE7F,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,OAAO,CAAC,WAAW,KAAK,UAAU,EAChG;QACI,OAAO,OAAO,CAAC,WAAW,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;KAChE;IAED,OAAO,SAAS,CAAC;AACrB,CAAC"}
@@ -1,5 +1,64 @@
1
- import { words } from 'lodash';
1
+ import { EMPTY_ARRAY } from '../constants/empty-array';
2
+ var rsAstralRange = '\\ud800-\\udfff';
3
+ var rsComboMarksRange = '\\u0300-\\u036f';
4
+ var reComboHalfMarksRange = '\\ufe20-\\ufe2f';
5
+ var rsComboSymbolsRange = '\\u20d0-\\u20ff';
6
+ var rsComboMarksExtendedRange = '\\u1ab0-\\u1aff';
7
+ var rsComboMarksSupplementRange = '\\u1dc0-\\u1dff';
8
+ var rsComboRange = rsComboMarksRange + reComboHalfMarksRange + rsComboSymbolsRange + rsComboMarksExtendedRange + rsComboMarksSupplementRange;
9
+ var rsDingbatRange = '\\u2700-\\u27bf';
10
+ var rsLowerRange = 'a-z\\xdf-\\xf6\\xf8-\\xff';
11
+ var rsMathOpRange = '\\xac\\xb1\\xd7\\xf7';
12
+ var rsNonCharRange = '\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf';
13
+ var rsPunctuationRange = '\\u2000-\\u206f';
14
+ var rsSpaceRange = '\\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000';
15
+ var rsUpperRange = 'A-Z\\xc0-\\xd6\\xd8-\\xde';
16
+ var rsVarRange = '\\ufe0e\\ufe0f';
17
+ var rsBreakRange = rsMathOpRange + rsNonCharRange + rsPunctuationRange + rsSpaceRange;
18
+ var rsApos = '[\'\\u2019]';
19
+ var rsBreak = "[".concat(rsBreakRange, "]");
20
+ var rsCombo = "[".concat(rsComboRange, "]");
21
+ var rsDigit = '\\d';
22
+ var rsDingbat = "[".concat(rsDingbatRange, "]");
23
+ var rsLower = "[".concat(rsLowerRange, "]");
24
+ var rsMisc = "[^".concat(rsAstralRange).concat(rsBreakRange + rsDigit + rsDingbatRange + rsLowerRange + rsUpperRange, "]");
25
+ var rsFitz = '\\ud83c[\\udffb-\\udfff]';
26
+ var rsModifier = "(?:".concat(rsCombo, "|").concat(rsFitz, ")");
27
+ var rsNonAstral = "[^".concat(rsAstralRange, "]");
28
+ var rsRegional = '(?:\\ud83c[\\udde6-\\uddff]){2}';
29
+ var rsSurrPair = '[\\ud800-\\udbff][\\udc00-\\udfff]';
30
+ var rsUpper = "[".concat(rsUpperRange, "]");
31
+ var rsZWJ = '\\u200d';
32
+ var rsMiscLower = "(?:".concat(rsLower, "|").concat(rsMisc, ")");
33
+ var rsMiscUpper = "(?:".concat(rsUpper, "|").concat(rsMisc, ")");
34
+ var rsOptContrLower = "(?:".concat(rsApos, "(?:d|ll|m|re|s|t|ve))?");
35
+ var rsOptContrUpper = "(?:".concat(rsApos, "(?:D|LL|M|RE|S|T|VE))?");
36
+ var reOptMod = "".concat(rsModifier, "?");
37
+ var rsOptVar = "[".concat(rsVarRange, "]?");
38
+ var rsOptJoin = "(?:".concat(rsZWJ, "(?:").concat([rsNonAstral, rsRegional, rsSurrPair].join('|'), ")").concat(rsOptVar + reOptMod, ")*");
39
+ var rsOrdLower = '\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])';
40
+ var rsOrdUpper = '\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])';
41
+ var rsSeq = rsOptVar + reOptMod + rsOptJoin;
42
+ var rsEmoji = "(?:".concat([rsDingbat, rsRegional, rsSurrPair].join('|'), ")").concat(rsSeq);
43
+ var reA = "".concat(rsUpper, "?").concat(rsLower, "+").concat(rsOptContrLower, "(?=").concat([rsBreak, rsUpper, '$'].join('|'), ")");
44
+ var reB = "".concat(rsMiscUpper, "+").concat(rsOptContrUpper, "(?=").concat([rsBreak, rsUpper + rsMiscLower, '$'].join('|'), ")");
45
+ var reC = "".concat(rsUpper, "?").concat(rsMiscLower, "+").concat(rsOptContrLower);
46
+ var reD = rsOrdUpper;
47
+ var reE = rsOrdLower;
48
+ var reF = "".concat(rsDigit, "+");
49
+ var reG = rsEmoji;
50
+ var reUnicodeWord = new RegExp('[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9\\s]');
51
+ var reUnicodeWords = new RegExp([reA, reB, reC, reD, reE, reF, reG].join('|'), 'g');
52
+ var reAsciiWords = new RegExp('[^\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\x7f]+', 'g');
53
+ function getUnicodeWords(x) {
54
+ var _a;
55
+ return (_a = x.match(reUnicodeWords)) !== null && _a !== void 0 ? _a : EMPTY_ARRAY;
56
+ }
57
+ function getAsciiWords(x) {
58
+ var _a;
59
+ return (_a = x.match(reAsciiWords)) !== null && _a !== void 0 ? _a : EMPTY_ARRAY;
60
+ }
2
61
  export function getWords(x) {
3
- return words(x);
62
+ return reUnicodeWord.test(x) ? getUnicodeWords(x) : getAsciiWords(x);
4
63
  }
5
64
  //# sourceMappingURL=get-words.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"get-words.js","sourceRoot":"","sources":["../../../src/functions/get-words.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AAS/B,MAAM,UAAU,QAAQ,CAAC,CAAS;IAE9B,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC;AACpB,CAAC"}
1
+ {"version":3,"file":"get-words.js","sourceRoot":"","sources":["../../../src/functions/get-words.ts"],"names":[],"mappings":"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"}
@@ -1,18 +1,6 @@
1
1
  export * from './get-own-reflect-metadata';
2
2
  export * from './get-reflect-metadata';
3
3
  export * from './get-words';
4
- export * from './is-arrow-function';
5
- export * from './is-ctor-function';
6
- export * from './is-data-view';
7
- export * from './is-float-32-array';
8
- export * from './is-float-64-array';
9
- export * from './is-int-8-array';
10
- export * from './is-int-16-array';
11
- export * from './is-int-32-array';
12
- export * from './is-uint-8-array';
13
- export * from './is-uint-8-clamped-array';
14
- export * from './is-uint-16-array';
15
- export * from './is-uint-32-array';
16
4
  export * from './json-parse';
17
5
  export * from './json-stringify';
18
6
  export * from './name-of';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/functions/index.ts"],"names":[],"mappings":"AAAA,cAAc,4BAA4B,CAAC;AAC3C,cAAc,wBAAwB,CAAC;AACvC,cAAc,aAAa,CAAC;AAC5B,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,WAAW,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/functions/index.ts"],"names":[],"mappings":"AAAA,cAAc,4BAA4B,CAAC;AAC3C,cAAc,wBAAwB,CAAC;AACvC,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,WAAW,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"json-parse.js","sourceRoot":"","sources":["../../../src/functions/json-parse.ts"],"names":[],"mappings":"AAQA,MAAM,UAAU,SAAS,CACrB,CAAS,EACT,OAAiE;IAGjE,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;AAClC,CAAC"}
1
+ {"version":3,"file":"json-parse.js","sourceRoot":"","sources":["../../../src/functions/json-parse.ts"],"names":[],"mappings":"AAQA,MAAM,UAAU,SAAS,CACrB,CAAS,EACT,OAAqD;IAGrD,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;AAClC,CAAC"}
@@ -1,7 +1,7 @@
1
1
  export function jsonStringify(x, replacer, space) {
2
2
  var spacing = typeof space === 'number' ? new Array(isFinite(space) ? space + 1 : 0).join(' ') : (space !== null && space !== void 0 ? space : '');
3
3
  var separator = spacing ? ': ' : ':';
4
- var seen = new Array();
4
+ var seen = new Set();
5
5
  var stringify = function (parent, key, node, level) {
6
6
  if (node && node.toJSON && typeof node.toJSON === 'function') {
7
7
  node = node.toJSON();
@@ -43,10 +43,11 @@ export function jsonStringify(x, replacer, space) {
43
43
  if (node === null) {
44
44
  return 'null';
45
45
  }
46
- if (seen.indexOf(node) !== -1) {
47
- throw new TypeError('Converting circular structure to JSON.');
46
+ if (seen.has(node)) {
47
+ seen.delete(node);
48
+ return 'null';
48
49
  }
49
- var seenIndex = seen.push(node) - 1;
50
+ seen.add(node);
50
51
  var keys = Object.keys(node).sort();
51
52
  for (i = 0; i < keys.length; i++) {
52
53
  var key_1 = keys[i];
@@ -59,7 +60,7 @@ export function jsonStringify(x, replacer, space) {
59
60
  }
60
61
  out += indent + spacing + JSON.stringify(key_1) + separator + value;
61
62
  }
62
- seen.splice(seenIndex, 1);
63
+ seen.delete(node);
63
64
  return '{' + out + indent + '}';
64
65
  };
65
66
  return stringify({ '': x }, '', x, 0);
@@ -1 +1 @@
1
- {"version":3,"file":"json-stringify.js","sourceRoot":"","sources":["../../../src/functions/json-stringify.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"json-stringify.js","sourceRoot":"","sources":["../../../src/functions/json-stringify.ts"],"names":[],"mappings":"AASA,MAAM,UAAU,aAAa,CACzB,CAAM,EACN,QAA6F,EAC7F,KAAuB;IAG1B,IAAM,OAAO,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,EAAE,CAAC,CAAC;IACjH,IAAM,SAAS,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC;IACvC,IAAM,IAAI,GAAG,IAAI,GAAG,EAAO,CAAC;IAE5B,IAAM,SAAS,GAAG,UAAC,MAAW,EAAE,GAAQ,EAAE,IAAS,EAAE,KAAa;QAEjE,IAAI,IAAI,IAAI,IAAI,CAAC,MAAM,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,UAAU,EACtD;YACL,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;SACrB;QAED,IAAI,QAAQ,EACZ;YACC,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;SACxC;QAED,IAAI,IAAI,KAAK,SAAS,EAChB;YACL,OAAO;SACP;QAED,IAAI,OAAO,IAAI,KAAK,QAAQ,EAC5B;YACC,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC;SAC3C;QAED,IAAI,OAAO,IAAI,KAAK,QAAQ,EACtB;YACL,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;SAC5B;QAED,IAAI,CAAC,GAAG,CAAC,CAAC;QACV,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,GAAG,GAAG,EAAE,CAAC;QAEb,IAAI,OAAO,EACX;YACC,MAAM,IAAI,IAAI,CAAC;YAEf,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,GAAG,CAAC,EAAE,CAAC,EAAE,EAC9B;gBACC,MAAM,IAAI,OAAO,CAAC;aAClB;SACD;QAED,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EACjB;YACL,GAAG,IAAI,GAAG,CAAC;YAEX,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EACvB;gBACR,IAAI,CAAC,EACL;oBACC,GAAG,IAAI,GAAG,CAAC;iBACX;gBAED,IAAM,KAAK,GAAG,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,IAAI,MAAM,CAAC;gBAE/D,GAAG,IAAI,MAAM,GAAG,OAAO,GAAG,KAAK,CAAC;aAChC;YAED,GAAG,IAAI,MAAM,CAAC;YACd,GAAG,IAAI,GAAG,CAAC;YAEX,OAAO,GAAG,CAAC;SACX;QAED,IAAI,IAAI,KAAK,IAAI,EACjB;YACC,OAAO,MAAM,CAAC;SACd;QAED,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EACZ;YACL,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YAElB,OAAO,MAAM,CAAC;SACd;QAED,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAEf,IAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;QAEtC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAC1B;YACL,IAAM,KAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YACpB,IAAM,KAAK,GAAG,SAAS,CAAC,IAAI,EAAE,KAAG,EAAE,IAAI,CAAC,KAAG,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;YAEzD,IAAI,CAAC,KAAK,EACD;gBACI,SAAS;aACZ;YAEV,IAAI,GAAG,EACP;gBACC,GAAG,IAAI,GAAG,CAAC;aACX;YAED,GAAG,IAAI,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,KAAG,CAAC,GAAG,SAAS,GAAG,KAAK,CAAC;SAClE;QAED,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAElB,OAAO,GAAG,GAAG,GAAG,GAAG,MAAM,GAAG,GAAG,CAAC;IACjC,CAAC,CAAC;IAEF,OAAO,SAAS,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AACvC,CAAC"}
@@ -1,8 +1,4 @@
1
- import { isFunction } from 'lodash';
2
1
  export function nameOf(x) {
3
- if (isFunction(x)) {
4
- return x.name;
5
- }
6
- return 'Unknown';
2
+ return typeof x === 'function' ? x.name : 'Unknown';
7
3
  }
8
4
  //# sourceMappingURL=name-of.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"name-of.js","sourceRoot":"","sources":["../../../src/functions/name-of.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AASpC,MAAM,UAAU,MAAM,CAAC,CAAM;IAEzB,IAAI,UAAU,CAAC,CAAC,CAAC,EACjB;QACI,OAAO,CAAC,CAAC,IAAI,CAAC;KACjB;IAED,OAAO,SAAS,CAAC;AACrB,CAAC"}
1
+ {"version":3,"file":"name-of.js","sourceRoot":"","sources":["../../../src/functions/name-of.ts"],"names":[],"mappings":"AAOA,MAAM,UAAU,MAAM,CAAC,CAAM;IAEzB,OAAO,OAAO,CAAC,KAAK,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;AACxD,CAAC"}
package/dist/es5/index.js CHANGED
@@ -1,14 +1,17 @@
1
+ export * from './constants';
1
2
  export * from './factories';
2
3
  export * from './functions';
3
4
  export * from './inject-sorters';
5
+ export * from './inject-states';
4
6
  export * from './injectors';
5
7
  export * from './naming-conventions';
6
8
  export * from './property-sorters';
9
+ export * from './property-states';
7
10
  export * from './reference-handlers';
8
11
  export * from './serializers';
12
+ export * from './type-states';
9
13
  export * from './alias';
10
14
  export * from './any';
11
- export * from './custom-context';
12
15
  export * from './custom-key';
13
16
  export * from './custom-option';
14
17
  export * from './custom-value-resolver';
@@ -19,29 +22,32 @@ export * from './discriminant';
19
22
  export * from './discriminator';
20
23
  export * from './factory';
21
24
  export * from './generic-argument';
22
- export * from './generic-metadata-resolver';
23
25
  export * from './generic-metadata';
24
- export * from './generic-structure';
26
+ export * from './inject-decorator';
25
27
  export * from './inject-index';
26
- export * from './inject-internals';
27
28
  export * from './inject-metadata';
28
29
  export * from './inject-options';
29
30
  export * from './inject-sorter';
31
+ export * from './inject-state';
30
32
  export * from './inject';
31
33
  export * from './injector';
32
- export * from './log-level';
33
- export * from './log';
34
+ export * from './logger-level';
35
+ export * from './logger';
34
36
  export * from './metadata';
35
37
  export * from './naming-convention';
38
+ export * from './null-value-resolver';
39
+ export * from './nullable';
40
+ export * from './optional';
41
+ export * from './property-decorator';
36
42
  export * from './property-extension-metadata-ctor-set-key';
37
43
  export * from './property-extension-metadata-ctor';
38
44
  export * from './property-extension-metadata';
39
45
  export * from './property-extension-options';
40
- export * from './property-internals';
41
46
  export * from './property-metadata';
42
47
  export * from './property-name';
43
48
  export * from './property-options';
44
49
  export * from './property-sorter';
50
+ export * from './property-state';
45
51
  export * from './property';
46
52
  export * from './reference-callback';
47
53
  export * from './reference-handler';
@@ -49,31 +55,30 @@ export * from './reference-key';
49
55
  export * from './reference-value-getter';
50
56
  export * from './reference-value-setter';
51
57
  export * from './reference-value';
52
- export * from './serializer-context-options';
53
58
  export * from './serializer-context';
54
59
  export * from './serializer';
55
60
  export * from './type-abstraction';
56
61
  export * from './type-argument';
57
62
  export * from './type-configuration';
58
- export * from './type-context-entry';
59
- export * from './type-context';
60
63
  export * from './type-ctor';
64
+ export * from './type-decorator';
65
+ export * from './type-entry';
61
66
  export * from './type-extension-metadata-ctor-set-key';
62
67
  export * from './type-extension-metadata-ctor';
63
68
  export * from './type-extension-metadata';
64
69
  export * from './type-extension-options';
65
70
  export * from './type-fn';
66
71
  export * from './type-like';
67
- export * from './type-internals';
68
72
  export * from './type-manager-options';
69
73
  export * from './type-manager';
70
- export * from './type-metadata-resolver';
71
74
  export * from './type-metadata-symbol';
72
75
  export * from './type-metadata';
73
76
  export * from './type-name';
74
77
  export * from './type-options-base';
75
78
  export * from './type-options';
76
79
  export * from './type-resolver';
80
+ export * from './type-scope';
81
+ export * from './type-state';
77
82
  export * from './type';
78
83
  export * from './unknown';
79
84
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC;AACjC,cAAc,aAAa,CAAC;AAC5B,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,eAAe,CAAC;AAC9B,cAAc,SAAS,CAAC;AACxB,cAAc,OAAO,CAAC;AACtB,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,yBAAyB,CAAC;AACxC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,0BAA0B,CAAC;AACzC,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,WAAW,CAAC;AAC1B,cAAc,oBAAoB,CAAC;AACnC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,OAAO,CAAC;AACtB,cAAc,YAAY,CAAC;AAC3B,cAAc,qBAAqB,CAAC;AACpC,cAAc,4CAA4C,CAAC;AAC3D,cAAc,oCAAoC,CAAC;AACnD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,YAAY,CAAC;AAC3B,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,cAAc,iBAAiB,CAAC;AAChC,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,mBAAmB,CAAC;AAClC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,sBAAsB,CAAC;AACrC,cAAc,cAAc,CAAC;AAC7B,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,wCAAwC,CAAC;AACvD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,0BAA0B,CAAC;AACzC,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC;AACjC,cAAc,wBAAwB,CAAC;AACvC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,0BAA0B,CAAC;AACzC,cAAc,wBAAwB,CAAC;AACvC,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,qBAAqB,CAAC;AACpC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,QAAQ,CAAC;AACvB,cAAc,WAAW,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,SAAS,CAAC;AACxB,cAAc,OAAO,CAAC;AACtB,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,yBAAyB,CAAC;AACxC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,0BAA0B,CAAC;AACzC,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,WAAW,CAAC;AAC1B,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,sBAAsB,CAAC;AACrC,cAAc,4CAA4C,CAAC;AAC3D,cAAc,oCAAoC,CAAC;AACnD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,qBAAqB,CAAC;AACpC,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,YAAY,CAAC;AAC3B,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,cAAc,iBAAiB,CAAC;AAChC,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,cAAc,CAAC;AAC7B,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,sBAAsB,CAAC;AACrC,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,wCAAwC,CAAC;AACvD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,0BAA0B,CAAC;AACzC,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,wBAAwB,CAAC;AACvC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,wBAAwB,CAAC;AACvC,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,qBAAqB,CAAC;AACpC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,QAAQ,CAAC;AACvB,cAAc,WAAW,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=inject-decorator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"inject-decorator.js","sourceRoot":"","sources":["../../src/inject-decorator.ts"],"names":[],"mappings":""}
@@ -1,80 +1,95 @@
1
- import { __extends } from "tslib";
2
- import { isUndefined } from 'lodash';
1
+ var __extends = (this && this.__extends) || (function () {
2
+ var extendStatics = function (d, b) {
3
+ extendStatics = Object.setPrototypeOf ||
4
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
5
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
6
+ return extendStatics(d, b);
7
+ };
8
+ return function (d, b) {
9
+ if (typeof b !== "function" && b !== null)
10
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
11
+ extendStatics(d, b);
12
+ function __() { this.constructor = d; }
13
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
14
+ };
15
+ })();
16
+ import { EMPTY_ARRAY } from './constants/empty-array';
3
17
  import { getOwnReflectMetadata } from './functions/get-own-reflect-metadata';
18
+ import { ResolvedInjectState } from './inject-states/resolved-inject-state';
19
+ import { UnresolvedInjectState } from './inject-states/unresolved-inject-state';
4
20
  import { Metadata } from './metadata';
5
- import { Unknown } from './unknown';
6
21
  var InjectMetadata = (function (_super) {
7
22
  __extends(InjectMetadata, _super);
8
- function InjectMetadata(declaringTypeMetadata, injectIndex, injectOptions) {
23
+ function InjectMetadata(typeManager, typeFnMap, declaringTypeMetadata, injectIndex, injectOptions) {
9
24
  var _this = this;
10
25
  var _a;
11
- _this = _super.call(this, declaringTypeMetadata.typeManager) || this;
26
+ _this = _super.call(this, typeManager, typeFnMap) || this;
12
27
  _this.declaringTypeMetadata = declaringTypeMetadata;
13
- _this.reflectTypeFn = ((_a = getOwnReflectMetadata('design:paramtypes', declaringTypeMetadata.typeFn)) !== null && _a !== void 0 ? _a : new Array())[injectIndex];
14
28
  _this.injectIndex = injectIndex;
15
- _this.injectOptions = _this.constructInjectOptions(injectOptions);
16
- _this.injectInternals = _this.constructInjectInternals();
29
+ _this.injectOptions = injectOptions;
30
+ _this.reflectTypeFn = ((_a = getOwnReflectMetadata('design:paramtypes', declaringTypeMetadata.typeFn)) !== null && _a !== void 0 ? _a : EMPTY_ARRAY)[injectIndex];
31
+ _this.currentInjectState = new UnresolvedInjectState(_this);
17
32
  _this.configure(injectOptions);
18
33
  return _this;
19
34
  }
20
- Object.defineProperty(InjectMetadata.prototype, "key", {
35
+ Object.defineProperty(InjectMetadata.prototype, "injectState", {
21
36
  get: function () {
22
- return this.injectOptions.key;
37
+ return this.currentInjectState;
23
38
  },
24
39
  enumerable: false,
25
40
  configurable: true
26
41
  });
27
- Object.defineProperty(InjectMetadata.prototype, "typeFn", {
42
+ Object.defineProperty(InjectMetadata.prototype, "key", {
28
43
  get: function () {
29
- return this.injectOptions.typeFn;
44
+ return this.currentInjectState.key;
30
45
  },
31
46
  enumerable: false,
32
47
  configurable: true
33
48
  });
34
- Object.defineProperty(InjectMetadata.prototype, "typeMetadataResolver", {
49
+ Object.defineProperty(InjectMetadata.prototype, "typeArgument", {
35
50
  get: function () {
36
- return this.injectInternals.typeMetadataResolver;
51
+ return this.currentInjectState.typeArgument;
37
52
  },
38
53
  enumerable: false,
39
54
  configurable: true
40
55
  });
41
56
  Object.defineProperty(InjectMetadata.prototype, "typeMetadata", {
42
57
  get: function () {
43
- var typeMetadata = this.typeMetadataResolver(this.typeFn);
44
- var unknownFn = Unknown;
45
- if (typeMetadata.typeFn === unknownFn) {
46
- throw new Error("".concat(this.declaringTypeMetadata.typeName, "[").concat(this.injectIndex, "]: cannot resolve constructor injection type metadata. This is usually caused by invalid configuration."));
47
- }
48
- return typeMetadata;
58
+ return this.currentInjectState.typeMetadata;
49
59
  },
50
60
  enumerable: false,
51
61
  configurable: true
52
62
  });
53
- InjectMetadata.prototype.constructInjectOptions = function (injectOptions) {
54
- var _a;
55
- injectOptions.typeFn = (_a = injectOptions.typeFn) !== null && _a !== void 0 ? _a : this.reflectTypeFn;
56
- return injectOptions;
63
+ InjectMetadata.prototype.resolveInjectState = function () {
64
+ var injectOptions = this.injectOptions;
65
+ var key = injectOptions.key;
66
+ var typeArgument = injectOptions.typeArgument === undefined ? this.reflectTypeFn : injectOptions.typeArgument;
67
+ var typeMetadata = this.resolveTypeMetadata(typeArgument);
68
+ var resolvedInjectState = new ResolvedInjectState(this, key, typeArgument, typeMetadata);
69
+ this.currentInjectState = resolvedInjectState;
70
+ return resolvedInjectState;
57
71
  };
58
- InjectMetadata.prototype.constructInjectInternals = function () {
59
- var typeMetadataResolver = this.defineTypeMetadataResolver(this.injectOptions.typeFn);
60
- var injectInternals = { typeMetadataResolver: typeMetadataResolver };
61
- return injectInternals;
72
+ InjectMetadata.prototype.unresolveInjectState = function () {
73
+ var unresolvedInjectState = new UnresolvedInjectState(this);
74
+ this.currentInjectState = unresolvedInjectState;
75
+ return unresolvedInjectState;
62
76
  };
63
77
  InjectMetadata.prototype.hasKey = function (key) {
64
78
  this.injectOptions.key = key;
79
+ this.currentInjectState = new UnresolvedInjectState(this);
65
80
  return this;
66
81
  };
67
- InjectMetadata.prototype.hasTypeFn = function (typeFn) {
68
- this.injectOptions.typeFn = typeFn !== null && typeFn !== void 0 ? typeFn : this.reflectTypeFn;
69
- this.injectInternals.typeMetadataResolver = this.defineTypeMetadataResolver(this.injectOptions.typeFn);
82
+ InjectMetadata.prototype.hasTypeArgument = function (typeArgument) {
83
+ this.injectOptions.typeArgument = typeArgument;
84
+ this.currentInjectState = new UnresolvedInjectState(this);
70
85
  return this;
71
86
  };
72
87
  InjectMetadata.prototype.configure = function (injectOptions) {
73
- if (!isUndefined(injectOptions.key)) {
88
+ if (injectOptions.key !== undefined) {
74
89
  this.hasKey(injectOptions.key);
75
90
  }
76
- if (!isUndefined(injectOptions.typeFn)) {
77
- this.hasTypeFn(injectOptions.typeFn);
91
+ if (injectOptions.typeArgument !== undefined) {
92
+ this.hasTypeArgument(injectOptions.typeArgument);
78
93
  }
79
94
  return this;
80
95
  };
@@ -1 +1 @@
1
- {"version":3,"file":"inject-metadata.js","sourceRoot":"","sources":["../../src/inject-metadata.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"inject-metadata.js","sourceRoot":"","sources":["../../src/inject-metadata.ts"],"names":[],"mappings":"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"}