@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,38 +1,40 @@
1
1
  import { Alias } from './alias';
2
- import { CustomContext } from './custom-context';
3
2
  import { CustomKey } from './custom-key';
4
3
  import { CustomOption } from './custom-option';
4
+ import { CustomValue } from './custom-value';
5
5
  import { DefaultValue } from './default-value';
6
6
  import { GenericArgument } from './generic-argument';
7
7
  import { GenericMetadata } from './generic-metadata';
8
- import { GenericMetadataResolver } from './generic-metadata-resolver';
9
- import { GenericStructure } from './generic-structure';
10
8
  import { Metadata } from './metadata';
11
9
  import { NamingConvention } from './naming-convention';
10
+ import { Nullable } from './nullable';
11
+ import { Optional } from './optional';
12
12
  import { PropertyExtensionMetadata } from './property-extension-metadata';
13
13
  import { PropertyExtensionMetadataCtor } from './property-extension-metadata-ctor';
14
14
  import { PropertyExtensionOptions } from './property-extension-options';
15
- import { PropertyInternals } from './property-internals';
16
15
  import { PropertyName } from './property-name';
17
16
  import { PropertyOptions } from './property-options';
17
+ import { PropertyState } from './property-state';
18
+ import { ResolvedPropertyState } from './property-states/resolved-property-state';
19
+ import { UnresolvedPropertyState } from './property-states/unresolved-property-state';
18
20
  import { ReferenceHandler } from './reference-handler';
19
21
  import { Serializer } from './serializer';
20
22
  import { TypeArgument } from './type-argument';
21
23
  import { TypeFn } from './type-fn';
24
+ import { TypeManager } from './type-manager';
22
25
  import { TypeMetadata } from './type-metadata';
23
- import { TypeMetadataResolver } from './type-metadata-resolver';
24
26
  /**
25
27
  * Main class used to describe a certain property.
26
28
  *
27
- * @type {PropertyMetadata<TDeclaringType, TType>}
29
+ * @type {PropertyMetadata<TDeclaringObject, TObject>}
28
30
  */
29
- export declare class PropertyMetadata<TDeclaringType, TType> extends Metadata {
31
+ export declare class PropertyMetadata<TDeclaringObject, TObject> extends Metadata {
30
32
  /**
31
33
  * Type metadata to which property metadata belongs to.
32
34
  *
33
- * @type {TypeMetadata<TDeclaringType>}
35
+ * @type {TypeMetadata<TDeclaringObject>}
34
36
  */
35
- readonly declaringTypeMetadata: TypeMetadata<TDeclaringType>;
37
+ readonly declaringTypeMetadata: TypeMetadata<TDeclaringObject>;
36
38
  /**
37
39
  * Property name as declared in type.
38
40
  *
@@ -40,75 +42,81 @@ export declare class PropertyMetadata<TDeclaringType, TType> extends Metadata {
40
42
  */
41
43
  readonly propertyName: PropertyName;
42
44
  /**
43
- * Property options.
45
+ * Normalized property name used for sorting.
44
46
  *
45
- * @type {PropertyOptions<TType>}
47
+ * @type {PropertyName}
46
48
  */
47
- readonly propertyOptions: PropertyOptions<TType>;
49
+ readonly normalizedPropertyName: PropertyName;
48
50
  /**
49
- * Property internals.
51
+ * Property options.
50
52
  *
51
- * @type {PropertyInternals}
53
+ * @type {PropertyOptions<TObject>}
52
54
  */
53
- readonly propertyInternals: PropertyInternals;
55
+ private readonly propertyOptions;
54
56
  /**
55
57
  * Type function defined using reflect metadata.
56
58
  *
57
- * Used as a fallback when type argument is not defined.
59
+ * @type {Optional<TypeFn<TObject>>}
60
+ */
61
+ private readonly reflectTypeFn;
62
+ /**
63
+ * Current property state.
58
64
  *
59
- * @type {TypeFn<TType>}
65
+ * @type {PropertyState<TDeclaringObject, TObject>}
60
66
  */
61
- readonly reflectTypeFn?: TypeFn<TType>;
67
+ private currentPropertyState;
62
68
  /**
63
69
  * Constructor.
64
70
  *
65
- * @param {TypeMetadata<TDeclaringType>} declaringTypeMetadata Type metadata to which property metadata belongs to.
71
+ * @param {TypeManager} typeManager Type manager.
72
+ * @param {ReadonlyMap<Alias, TypeFn<any>>} typeFnMap Type function map for types with aliases.
73
+ * @param {TypeMetadata<TDeclaringObject>} declaringTypeMetadata Type metadata to which property metadata belongs to.
66
74
  * @param {PropertyName} propertyName Property name.
67
- * @param {PropertyOptions<TType>} propertyOptions Property options.
75
+ * @param {PropertyOptions<TObject>} propertyOptions Property options.
68
76
  */
69
- constructor(declaringTypeMetadata: TypeMetadata<TDeclaringType>, propertyName: PropertyName, propertyOptions: PropertyOptions<TType>);
77
+ constructor(typeManager: TypeManager, typeFnMap: ReadonlyMap<Alias, TypeFn<any>>, declaringTypeMetadata: TypeMetadata<TDeclaringObject>, propertyName: PropertyName, propertyOptions: PropertyOptions<TObject>);
70
78
  /**
71
- * Gets alias.
79
+ * Gets property state.
72
80
  *
73
- * @returns {Alias|undefined} Alias or undefined.
81
+ * @returns {PropertyState<TDeclaringObject, TObject>} Property state.
74
82
  */
75
- get alias(): Alias | undefined;
83
+ get propertyState(): PropertyState<TDeclaringObject, TObject>;
76
84
  /**
77
- * Gets custom options.
85
+ * Gets alias.
78
86
  *
79
- * @returns {Array<CustomOption>} Custom options.
87
+ * @returns {Optional<Alias>} Alias or undefined.
80
88
  */
81
- get customOptions(): Array<CustomOption> | undefined;
89
+ get alias(): Optional<Alias>;
82
90
  /**
83
- * Gets custom context.
91
+ * Gets custom value map.
84
92
  *
85
- * @returns {CustomContext} Custom context.
93
+ * @returns {ReadonlyMap<CustomKey<any>, CustomValue>} Custom value map.
86
94
  */
87
- get customContext(): CustomContext;
95
+ get customValueMap(): ReadonlyMap<CustomKey<any>, CustomValue>;
88
96
  /**
89
97
  * Gets serialized null value.
90
98
  *
91
- * @returns {any|undefined} Resolved serialized null value or undefined.
99
+ * @returns {Nullable<any>} Resolved serialized null value or undefined.
92
100
  */
93
- get serializedNullValue(): any | undefined;
101
+ get serializedNullValue(): Nullable<any>;
94
102
  /**
95
103
  * Gets serialized default value.
96
104
  *
97
- * @returns {any|undefined} Resolved serialized default value or undefined.
105
+ * @returns {Optional<any>} Resolved serialized default value or undefined.
98
106
  */
99
- get serializedDefaultValue(): any | undefined;
107
+ get serializedDefaultValue(): Optional<any>;
100
108
  /**
101
109
  * Gets deserialized null value.
102
110
  *
103
- * @returns {any|undefined} Resolved deserialized null value or undefined.
111
+ * @returns {Nullable<any>} Resolved deserialized null value or undefined.
104
112
  */
105
- get deserializedNullValue(): any | undefined;
113
+ get deserializedNullValue(): Nullable<any>;
106
114
  /**
107
115
  * Gets deserialized default value.
108
116
  *
109
- * @returns {any|undefined} Resolved deserialized default value or undefined.
117
+ * @returns {Optional<any>} Resolved deserialized default value or undefined.
110
118
  */
111
- get deserializedDefaultValue(): any | undefined;
119
+ get deserializedDefaultValue(): Optional<any>;
112
120
  /**
113
121
  * Gets serialized property name.
114
122
  *
@@ -124,39 +132,27 @@ export declare class PropertyMetadata<TDeclaringType, TType> extends Metadata {
124
132
  /**
125
133
  * Gets deserializable value.
126
134
  *
127
- * @returns {boolean|undefined} Deserializable indicator or undefined.
135
+ * @returns {boolean} Deserializable indicator.
128
136
  */
129
- get deserializable(): boolean | undefined;
137
+ get deserializable(): boolean;
130
138
  /**
131
139
  * Gets generic arguments.
132
140
  *
133
- * @returns {Array<GenericArgument<any>>|undefined} Generic arguments or undefined.
141
+ * @returns {ReadonlyArray<GenericArgument<any>>} Generic arguments.
134
142
  */
135
- get genericArguments(): Array<GenericArgument<any>> | undefined;
136
- /**
137
- * Gets generic structures.
138
- *
139
- * @returns {Array<GenericStructure<any>>|undefined} Generic structures or undefined.
140
- */
141
- get genericStructures(): Array<GenericStructure<any>> | undefined;
142
- /**
143
- * Gets generic metadata resolvers.
144
- *
145
- * @returns {Array<GenericMetadataResolver<any>>|undefined} Generic metadata resolvers or undefined.
146
- */
147
- get genericMetadataResolvers(): Array<GenericMetadataResolver<any>> | undefined;
143
+ get genericArguments(): ReadonlyArray<GenericArgument<any>>;
148
144
  /**
149
145
  * Gets generic metadatas.
150
146
  *
151
- * @returns {Array<GenericMetadata<any>>|undefined} Generic metadatas.
147
+ * @returns {ReadonlyArray<GenericMetadata<any>>} Generic metadatas.
152
148
  */
153
- get genericMetadatas(): Array<GenericMetadata<any>> | undefined;
149
+ get genericMetadatas(): ReadonlyArray<GenericMetadata<any>>;
154
150
  /**
155
151
  * Gets naming convention.
156
152
  *
157
- * @returns {NamingConvention|undefined} Naming convention or undefined.
153
+ * @returns {Optional<NamingConvention>} Naming convention or undefined.
158
154
  */
159
- get namingConvention(): NamingConvention | undefined;
155
+ get namingConvention(): Optional<NamingConvention>;
160
156
  /**
161
157
  * Gets reference handler.
162
158
  *
@@ -166,39 +162,27 @@ export declare class PropertyMetadata<TDeclaringType, TType> extends Metadata {
166
162
  /**
167
163
  * Gets serializable value.
168
164
  *
169
- * @returns {boolean|undefined} Serializable indicator or undefined.
170
- */
171
- get serializable(): boolean | undefined;
172
- /**
173
- * Checks if serialization configured.
174
- *
175
- * @returns {boolean} True when serialization configured. False otherwise.
165
+ * @returns {boolean} Serializable indicator.
176
166
  */
177
- get serializationConfigured(): boolean;
167
+ get serializable(): boolean;
178
168
  /**
179
169
  * Gets serializer.
180
170
  *
181
- * @returns {Serializer<TType>} Serializer.
171
+ * @returns {Serializer<TObject>} Serializer.
182
172
  */
183
- get serializer(): Serializer<TType>;
173
+ get serializer(): Serializer<TObject>;
184
174
  /**
185
175
  * Gets type argument.
186
176
  *
187
177
  * @returns {TypeArgument} Type argument.
188
178
  */
189
- get typeArgument(): TypeArgument<TType>;
190
- /**
191
- * Gets type metadata resolver.
192
- *
193
- * @returns {TypeMetadataResolver<TType>} Type metadata resolver.
194
- */
195
- get typeMetadataResolver(): TypeMetadataResolver<TType>;
179
+ get typeArgument(): TypeArgument<TObject>;
196
180
  /**
197
181
  * Gets type metadata.
198
182
  *
199
- * @returns {TypeMetadata<TType>} Type metadata.
183
+ * @returns {TypeMetadata<TObject>} Type metadata.
200
184
  */
201
- get typeMetadata(): TypeMetadata<TType>;
185
+ get typeMetadata(): TypeMetadata<TObject>;
202
186
  /**
203
187
  * Gets indicator if null value should be preserved.
204
188
  *
@@ -221,50 +205,98 @@ export declare class PropertyMetadata<TDeclaringType, TType> extends Metadata {
221
205
  * Constructs initial property options by extending passed options
222
206
  * with default values if they are not overriden. All references are kept.
223
207
  *
224
- * @param {PropertyOptions<TType>} propertyOptions Type options.
208
+ * @param {PropertyOptions<TObject>} propertyOptions Property options.
225
209
  *
226
- * @returns {PropertyOptions<TType>} Constructed property options.
210
+ * @returns {PropertyOptions<TObject>} Constructed type options.
227
211
  */
228
212
  private constructPropertyOptions;
229
213
  /**
230
- * Constructs property internals.
214
+ * Configures property extension metadata.
215
+ *
216
+ * @param {PropertyExtensionMetadataCtor<TPropertyExtensionMetadata, TPropertyExtensionOptions, TDeclaringObject, TObject>} propertyExtensionMetadataCtor Property extension metadata constructor.
217
+ * @param {TPropertyExtensionOptions} propertyExtensionOptions Property extension options.
231
218
  *
232
- * @returns {PropertyInternals} Constructed property internals.
219
+ * @returns {TPropertyExtensionMetadata} Property extension metadata
233
220
  */
234
- private constructPropertyInternals;
221
+ configurePropertyExtensionMetadata<TPropertyExtensionMetadata extends PropertyExtensionMetadata<TDeclaringObject, TObject, TPropertyExtensionOptions>, TPropertyExtensionOptions extends PropertyExtensionOptions>(propertyExtensionMetadataCtor: PropertyExtensionMetadataCtor<TPropertyExtensionMetadata, TPropertyExtensionOptions, TDeclaringObject, TObject>, propertyExtensionOptions?: TPropertyExtensionOptions): TPropertyExtensionMetadata;
222
+ /**
223
+ * Extracts property extension metadata.
224
+ *
225
+ * @param {PropertyExtensionMetadataCtor<TPropertyExtensionMetadata, TPropertyExtensionOptions, TDeclaringObject, TObject>} propertyExtensionMetadataCtor Property extension metadata constructor.
226
+ *
227
+ * @returns {Optional<TPropertyExtensionMetadata>} Property extension metadata or undefined.
228
+ */
229
+ extractPropertyExtensionMetadata<TPropertyExtensionMetadata extends PropertyExtensionMetadata<TDeclaringObject, TObject, TPropertyExtensionOptions>, TPropertyExtensionOptions extends PropertyExtensionOptions>(propertyExtensionMetadataCtor: PropertyExtensionMetadataCtor<TPropertyExtensionMetadata, TPropertyExtensionOptions, TDeclaringObject, TObject>): Optional<TPropertyExtensionMetadata>;
230
+ /**
231
+ * Extracts property extension metadata ctor set from custom value map.
232
+ *
233
+ * @returns {Set<PropertyExtensionMetadataCtor<any, any, any, any>>} Property extension metadata ctor set.
234
+ */
235
+ private extractPropertyExtensionMetadataCtorSet;
236
+ /**
237
+ * Resolves property state.
238
+ *
239
+ * Calling this method has side effects by recomputing property state. If you need current
240
+ * type state then use provided getter for that.
241
+ *
242
+ * @returns {ResolvedPropertyState<TDeclaringObject, TObject>} Resolved property state.
243
+ */
244
+ resolvePropertyState(): ResolvedPropertyState<TDeclaringObject, TObject>;
245
+ /**
246
+ * Unresolves property state.
247
+ *
248
+ * Calling this method has side effects by resetting property state.
249
+ *
250
+ * @returns {UnresolvedPropertyState<TDeclaringObject, TObject>} Unresolved property state.
251
+ */
252
+ unresolvePropertyState(): UnresolvedPropertyState<TDeclaringObject, TObject>;
253
+ /**
254
+ * Resolves custom value map the same way as it is done for the main options.
255
+ *
256
+ * @returns {ReadonlyMap<CustomKey<any>, CustomValue>} Resolved custom value map.
257
+ */
258
+ private resolveCustomValueMap;
235
259
  /**
236
260
  * Configures alias.
237
261
  *
238
- * @param {Alias} alias Alias.
262
+ * @param {Optional<Alias>} alias Alias or undefined.
239
263
  *
240
264
  * @returns {this} Current instance of property metadata.
241
265
  */
242
- hasAlias(alias: Alias | undefined): this;
266
+ hasAlias(alias: Optional<Alias>): this;
243
267
  /**
244
- * Configures custom option.
268
+ * Configures custom value map.
269
+ *
270
+ * @param {Optional<Map<CustomKey<any>, CustomValue>>} customValueMap Custom value map or undefined.
271
+ *
272
+ * @returns {this} Current instance of property metadata.
273
+ */
274
+ hasCustomValueMap(customValueMap: Optional<Map<CustomKey<any>, CustomValue>>): this;
275
+ /**
276
+ * Configures custom value.
245
277
  *
246
278
  * @param {CustomKey<TCustomValue>} customKey Custom key.
247
279
  * @param {TCustomValue} customValue Custom value.
248
280
  *
249
281
  * @returns {this} Current instance of property metadata.
250
282
  */
251
- hasCustomOption<TCustomValue>(customKey: CustomKey<TCustomValue>, customValue: TCustomValue): this;
283
+ hasCustomValue<TCustomValue>(customKey: CustomKey<TCustomValue>, customValue: TCustomValue): this;
252
284
  /**
253
- * Extracts custom option.
285
+ * Extracts value by custom key.
254
286
  *
255
287
  * @param {CustomKey<TCustomValue>} customKey Custom key.
256
288
  *
257
289
  * @returns {TCustomValue} Custom value.
258
290
  */
259
- extractCustomOption<TCustomValue>(customKey: CustomKey<TCustomValue>): TCustomValue;
291
+ extractCustomValue<TCustomValue>(customKey: CustomKey<TCustomValue>): TCustomValue;
260
292
  /**
261
293
  * Configures custom options.
262
294
  *
263
- * @param {Array<CustomOption>|undefined} customOptions Custom options.
295
+ * @param {ReadonlyArray<CustomOption>} customOptions Custom options.
264
296
  *
265
297
  * @returns {this} Current instance of property metadata.
266
298
  */
267
- hasCustomOptions(customOptions: Array<CustomOption> | undefined): this;
299
+ hasCustomOptions(customOptions: ReadonlyArray<CustomOption>): this;
268
300
  /**
269
301
  * Configures default value.
270
302
  *
@@ -308,43 +340,43 @@ export declare class PropertyMetadata<TDeclaringType, TType> extends Metadata {
308
340
  /**
309
341
  * Configures generic arguments.
310
342
  *
311
- * @param {Array<GenericArgument<any>>|undefined} genericArguments Generic arguments.
343
+ * @param {Optional<Array<GenericArgument<any>>>} genericArguments Generic arguments or undefined.
312
344
  *
313
345
  * @returns {this} Current instance of property metadata.
314
346
  */
315
- hasGenericArguments(genericArguments: Array<GenericArgument<any>> | undefined): this;
347
+ hasGenericArguments(genericArguments: Optional<Array<GenericArgument<any>>>): this;
316
348
  /**
317
349
  * Configures naming convention.
318
350
  *
319
- * @param {NamingConvention|undefined} namingConvention Naming convention.
351
+ * @param {Optional<NamingConvention>} namingConvention Naming convention or undefined.
320
352
  *
321
353
  * @returns {this} Current instance of property metadata.
322
354
  */
323
- hasNamingConvention(namingConvention: NamingConvention | undefined): this;
355
+ hasNamingConvention(namingConvention: Optional<NamingConvention>): this;
324
356
  /**
325
357
  * Configures reference handler.
326
358
  *
327
- * @param {ReferenceHandler|undefined} referenceHandler Reference handler.
359
+ * @param {Optional<ReferenceHandler>} referenceHandler Reference handler or undefined.
328
360
  *
329
361
  * @returns {this} Current instance of property metadata.
330
362
  */
331
- hasReferenceHandler(referenceHandler: ReferenceHandler | undefined): this;
363
+ hasReferenceHandler(referenceHandler: Optional<ReferenceHandler>): this;
332
364
  /**
333
365
  * Configures serializer.
334
366
  *
335
- * @param {Serializer<TType>|undefined} serializer Serializer.
367
+ * @param {Optional<Serializer<TObject>>} serializer Serializer or undefined.
336
368
  *
337
369
  * @returns {this} Current instance of property metadata.
338
370
  */
339
- hasSerializer(serializer: Serializer<TType> | undefined): this;
371
+ hasSerializer(serializer: Optional<Serializer<TObject>>): this;
340
372
  /**
341
373
  * Configures type argument.
342
374
  *
343
- * @param {TypeArgument<TType>|undefined} typeArgument Type argument.
375
+ * @param {Optional<TypeArgument<TObject>>} typeArgument Type argument or undefined.
344
376
  *
345
377
  * @returns {this} Current instance of property metadata.
346
378
  */
347
- hasTypeArgument(typeArgument: TypeArgument<TType> | undefined): this;
379
+ hasTypeArgument(typeArgument: Optional<TypeArgument<TObject>>): this;
348
380
  /**
349
381
  * Configures preserve null.
350
382
  *
@@ -369,30 +401,13 @@ export declare class PropertyMetadata<TDeclaringType, TType> extends Metadata {
369
401
  * @returns {this} Current instance of property metadata.
370
402
  */
371
403
  shouldUseImplicitConversion(useImplicitConversion?: boolean): this;
372
- /**
373
- * Configures property extension metadata.
374
- *
375
- * @param {PropertyExtensionMetadataCtor<TPropertyExtensionMetadata, TPropertyExtensionOptions, TDeclaringType, TType>} propertyExtensionMetadataCtor Property extension metadata constructor.
376
- * @param {TPropertyExtensionOptions} propertyExtensionOptions Property extension options.
377
- *
378
- * @returns {TPropertyExtensionMetadata} Property extension metadata
379
- */
380
- configurePropertyExtensionMetadata<TPropertyExtensionMetadata extends PropertyExtensionMetadata<TDeclaringType, TType, TPropertyExtensionOptions>, TPropertyExtensionOptions extends PropertyExtensionOptions>(propertyExtensionMetadataCtor: PropertyExtensionMetadataCtor<TPropertyExtensionMetadata, TPropertyExtensionOptions, TDeclaringType, TType>, propertyExtensionOptions?: TPropertyExtensionOptions): TPropertyExtensionMetadata;
381
- /**
382
- * Extracts property extension metadata.
383
- *
384
- * @param {PropertyExtensionMetadataCtor<TPropertyExtensionMetadata, TPropertyExtensionOptions, TDeclaringType, TType>} propertyExtensionMetadataCtor Property extension metadata constructor.
385
- *
386
- * @returns {TPropertyExtensionMetadata} Property extension metadata.
387
- */
388
- extractPropertyExtensionMetadata<TPropertyExtensionMetadata extends PropertyExtensionMetadata<TDeclaringType, TType, TPropertyExtensionOptions>, TPropertyExtensionOptions extends PropertyExtensionOptions>(propertyExtensionMetadataCtor: PropertyExtensionMetadataCtor<TPropertyExtensionMetadata, TPropertyExtensionOptions, TDeclaringType, TType>): TPropertyExtensionMetadata | undefined;
389
404
  /**
390
405
  * Configures property metadata based on provided options.
391
406
  *
392
- * @param {PropertyOptions<TType>} propertyOptions Property options.
407
+ * @param {PropertyOptions<TObject>} propertyOptions Property options.
393
408
  *
394
409
  * @returns {this} Current instance of property metadata.
395
410
  */
396
- configure(propertyOptions: PropertyOptions<TType>): this;
411
+ configure(propertyOptions: PropertyOptions<TObject>): this;
397
412
  }
398
413
  //# sourceMappingURL=property-metadata.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"property-metadata.d.ts","sourceRoot":"","sources":["../../src/property-metadata.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"property-metadata.d.ts","sourceRoot":"","sources":["../../src/property-metadata.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import { Alias } from './alias';
2
- import { CustomOption } from './custom-option';
2
+ import { CustomKey } from './custom-key';
3
+ import { CustomValue } from './custom-value';
3
4
  import { DefaultValue } from './default-value';
4
5
  import { GenericArgument } from './generic-argument';
5
6
  import { NamingConvention } from './naming-convention';
@@ -9,9 +10,9 @@ import { TypeArgument } from './type-argument';
9
10
  /**
10
11
  * Property options.
11
12
  *
12
- * @type {PropertyOptions<TType>}
13
+ * @type {PropertyOptions<TObject>}
13
14
  */
14
- export declare type PropertyOptions<TType> = {
15
+ export declare type PropertyOptions<TObject> = {
15
16
  /**
16
17
  * Property alias.
17
18
  *
@@ -21,11 +22,11 @@ export declare type PropertyOptions<TType> = {
21
22
  */
22
23
  alias?: Alias;
23
24
  /**
24
- * Custom options defined by developer.
25
+ * Custom value map defined by developer.
25
26
  *
26
- * @type {Array<CustomOption>}
27
+ * @type {Map<CustomKey<any>, CustomValue>}
27
28
  */
28
- customOptions?: Array<CustomOption>;
29
+ customValueMap?: Map<CustomKey<any>, CustomValue>;
29
30
  /**
30
31
  * Default value for undefined ones.
31
32
  *
@@ -84,15 +85,15 @@ export declare type PropertyOptions<TType> = {
84
85
  /**
85
86
  * Serializer used to serialize and deserialize a property.
86
87
  *
87
- * @type {Serializer<TType>}
88
+ * @type {Serializer<TObject>}
88
89
  */
89
- serializer?: Serializer<TType>;
90
+ serializer?: Serializer<TObject>;
90
91
  /**
91
92
  * Type argument.
92
93
  *
93
- * @type {TypeArgument<TType>}
94
+ * @type {TypeArgument<TObject>}
94
95
  */
95
- typeArgument?: TypeArgument<TType>;
96
+ typeArgument?: TypeArgument<TObject>;
96
97
  /**
97
98
  * If set to true then null values are preserved. Otherwise they will be
98
99
  * treated as undefined.
@@ -1 +1 @@
1
- {"version":3,"file":"property-options.d.ts","sourceRoot":"","sources":["../../src/property-options.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C;;;;GAIG;AACH,oBAAY,eAAe,CAAC,KAAK,IACjC;IACI;;;;;;OAMG;IACH,KAAK,CAAC,EAAE,KAAK,CAAC;IAEd;;;;OAIG;IACH,aAAa,CAAC,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC;IAEpC;;;;;;;OAOG;IACH,YAAY,CAAC,EAAE,YAAY,CAAC;IAE5B;;;;;;OAMG;IACH,sBAAsB,CAAC,EAAE,YAAY,CAAC;IAEtC;;;;;;OAMG;IACH,wBAAwB,CAAC,EAAE,YAAY,CAAC;IAExC;;;;OAIG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IAEzB;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,KAAK,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC;IAE/C;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IAEpC;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IAEpC;;;;OAIG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IAEvB;;;;OAIG;IACH,UAAU,CAAC,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC;IAE/B;;;;OAIG;IACH,YAAY,CAAC,EAAE,YAAY,CAAC,KAAK,CAAC,CAAC;IAEnC;;;;;OAKG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IAEvB;;;;OAIG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAE1B;;;;;OAKG;IACH,qBAAqB,CAAC,EAAE,OAAO,CAAC;CACnC,CAAA"}
1
+ {"version":3,"file":"property-options.d.ts","sourceRoot":"","sources":["../../src/property-options.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C;;;;GAIG;AACH,oBAAY,eAAe,CAAC,OAAO,IACnC;IACI;;;;;;OAMG;IACH,KAAK,CAAC,EAAE,KAAK,CAAC;IAEd;;;;OAIG;IACH,cAAc,CAAC,EAAE,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,WAAW,CAAC,CAAC;IAElD;;;;;;;OAOG;IACH,YAAY,CAAC,EAAE,YAAY,CAAC;IAE5B;;;;;;OAMG;IACH,sBAAsB,CAAC,EAAE,YAAY,CAAC;IAEtC;;;;;;OAMG;IACH,wBAAwB,CAAC,EAAE,YAAY,CAAC;IAExC;;;;OAIG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IAEzB;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,KAAK,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC;IAE/C;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IAEpC;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IAEpC;;;;OAIG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IAEvB;;;;OAIG;IACH,UAAU,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC;IAEjC;;;;OAIG;IACH,YAAY,CAAC,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC;IAErC;;;;;OAKG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IAEvB;;;;OAIG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAE1B;;;;;OAKG;IACH,qBAAqB,CAAC,EAAE,OAAO,CAAC;CACnC,CAAC"}
@@ -10,11 +10,11 @@ export interface PropertySorter {
10
10
  * Sort type properties. It is expected to return a negative value if the value of first property
11
11
  * is less than the value of second property, zero if they are equal, and a positive value otherwise.
12
12
  *
13
- * @param {PropertyMetadata<TType, any>} x First property.
14
- * @param {PropertyMetadata<TType, any>} y Second property.
13
+ * @param {PropertyMetadata<TObject, any>} x First property.
14
+ * @param {PropertyMetadata<TObject, any>} y Second property.
15
15
  *
16
16
  * @returns {number} Sort result.
17
17
  */
18
- sort<TType>(x: PropertyMetadata<TType, any>, y: PropertyMetadata<TType, any>): number;
18
+ sort<TObject>(x: PropertyMetadata<TObject, any>, y: PropertyMetadata<TObject, any>): number;
19
19
  }
20
20
  //# sourceMappingURL=property-sorter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"property-sorter.d.ts","sourceRoot":"","sources":["../../src/property-sorter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAEvD;;;;;GAKG;AACH,MAAM,WAAW,cAAc;IAE3B;;;;;;;;OAQG;IACH,IAAI,CAAC,KAAK,EAAE,CAAC,EAAE,gBAAgB,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,gBAAgB,CAAC,KAAK,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC;CACzF"}
1
+ {"version":3,"file":"property-sorter.d.ts","sourceRoot":"","sources":["../../src/property-sorter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAEvD;;;;;GAKG;AACH,MAAM,WAAW,cAAc;IAE3B;;;;;;;;OAQG;IACH,IAAI,CAAC,OAAO,EAAE,CAAC,EAAE,gBAAgB,CAAC,OAAO,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,gBAAgB,CAAC,OAAO,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC;CAC/F"}
@@ -11,11 +11,11 @@ export declare class AscPropertySorter implements PropertySorter {
11
11
  * Sort type properties. It is expected to return a negative value if the value of first property
12
12
  * is less than the value of second property, zero if they are equal, and a positive value otherwise.
13
13
  *
14
- * @param {PropertyMetadata<TType, any>} x First property.
15
- * @param {PropertyMetadata<TType, any>} y Second property.
14
+ * @param {PropertyMetadata<TObject, any>} x First property.
15
+ * @param {PropertyMetadata<TObject, any>} y Second property.
16
16
  *
17
17
  * @returns {number} Sort result.
18
18
  */
19
- sort<TType>(x: PropertyMetadata<TType, any>, y: PropertyMetadata<TType, any>): number;
19
+ sort<TObject>(x: PropertyMetadata<TObject, any>, y: PropertyMetadata<TObject, any>): number;
20
20
  }
21
21
  //# sourceMappingURL=asc-property-sorter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"asc-property-sorter.d.ts","sourceRoot":"","sources":["../../../src/property-sorters/asc-property-sorter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEpD;;;;;GAKG;AACH,qBAAa,iBAAkB,YAAW,cAAc;IAEpD;;;;;;;;OAQG;IACI,IAAI,CAAC,KAAK,EAAE,CAAC,EAAE,gBAAgB,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,gBAAgB,CAAC,KAAK,EAAE,GAAG,CAAC,GAAG,MAAM;CAiB/F"}
1
+ {"version":3,"file":"asc-property-sorter.d.ts","sourceRoot":"","sources":["../../../src/property-sorters/asc-property-sorter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEpD;;;;;GAKG;AACH,qBAAa,iBAAkB,YAAW,cAAc;IAEpD;;;;;;;;OAQG;IACI,IAAI,CAAC,OAAO,EAAE,CAAC,EAAE,gBAAgB,CAAC,OAAO,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,gBAAgB,CAAC,OAAO,EAAE,GAAG,CAAC,GAAG,MAAM;CAIrG"}
@@ -11,11 +11,11 @@ export declare class DescPropertySorter implements PropertySorter {
11
11
  * Sort type properties. It is expected to return a negative value if the value of first property
12
12
  * is less than the value of second property, zero if they are equal, and a positive value otherwise.
13
13
  *
14
- * @param {PropertyMetadata<TType, any>} x First property.
15
- * @param {PropertyMetadata<TType, any>} y Second property.
14
+ * @param {PropertyMetadata<TObject, any>} x First property.
15
+ * @param {PropertyMetadata<TObject, any>} y Second property.
16
16
  *
17
17
  * @returns {number} Sort result.
18
18
  */
19
- sort<TType>(x: PropertyMetadata<TType, any>, y: PropertyMetadata<TType, any>): number;
19
+ sort<TObject>(x: PropertyMetadata<TObject, any>, y: PropertyMetadata<TObject, any>): number;
20
20
  }
21
21
  //# sourceMappingURL=desc-property-sorter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"desc-property-sorter.d.ts","sourceRoot":"","sources":["../../../src/property-sorters/desc-property-sorter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEpD;;;;;GAKG;AACH,qBAAa,kBAAmB,YAAW,cAAc;IAErD;;;;;;;;OAQG;IACI,IAAI,CAAC,KAAK,EAAE,CAAC,EAAE,gBAAgB,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,gBAAgB,CAAC,KAAK,EAAE,GAAG,CAAC,GAAG,MAAM;CAiB/F"}
1
+ {"version":3,"file":"desc-property-sorter.d.ts","sourceRoot":"","sources":["../../../src/property-sorters/desc-property-sorter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEpD;;;;;GAKG;AACH,qBAAa,kBAAmB,YAAW,cAAc;IAErD;;;;;;;;OAQG;IACI,IAAI,CAAC,OAAO,EAAE,CAAC,EAAE,gBAAgB,CAAC,OAAO,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,gBAAgB,CAAC,OAAO,EAAE,GAAG,CAAC,GAAG,MAAM;CAIrG"}