@dipscope/type-manager 7.2.1 → 8.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (621) hide show
  1. package/CHANGELOG.md +26 -0
  2. package/README.md +159 -168
  3. package/dist/es2015/constants/default-value-resolver.js +2 -0
  4. package/dist/es2015/constants/default-value-resolver.js.map +1 -0
  5. package/dist/es2015/constants/empty-array.js +2 -0
  6. package/dist/es2015/constants/empty-array.js.map +1 -0
  7. package/dist/es2015/constants/empty-map.js +2 -0
  8. package/dist/es2015/constants/empty-map.js.map +1 -0
  9. package/dist/es2015/constants/index.js +5 -0
  10. package/dist/es2015/constants/index.js.map +1 -0
  11. package/dist/es2015/constants/null-value-resolver.js +2 -0
  12. package/dist/es2015/constants/null-value-resolver.js.map +1 -0
  13. package/dist/es2015/custom-key.js.map +1 -1
  14. package/dist/es2015/factories/type-factory.js +22 -23
  15. package/dist/es2015/factories/type-factory.js.map +1 -1
  16. package/dist/es2015/functions/get-own-reflect-metadata.js +1 -2
  17. package/dist/es2015/functions/get-own-reflect-metadata.js.map +1 -1
  18. package/dist/es2015/functions/get-reflect-metadata.js +1 -2
  19. package/dist/es2015/functions/get-reflect-metadata.js.map +1 -1
  20. package/dist/es2015/functions/get-words.js +61 -2
  21. package/dist/es2015/functions/get-words.js.map +1 -1
  22. package/dist/es2015/functions/index.js +0 -12
  23. package/dist/es2015/functions/index.js.map +1 -1
  24. package/dist/es2015/functions/json-parse.js.map +1 -1
  25. package/dist/es2015/functions/json-stringify.js +6 -5
  26. package/dist/es2015/functions/json-stringify.js.map +1 -1
  27. package/dist/es2015/functions/name-of.js +1 -5
  28. package/dist/es2015/functions/name-of.js.map +1 -1
  29. package/dist/es2015/index.js +13 -12
  30. package/dist/es2015/index.js.map +1 -1
  31. package/dist/es2015/inject-metadata.js +34 -33
  32. package/dist/es2015/inject-metadata.js.map +1 -1
  33. package/dist/es2015/inject-sorters/asc-inject-sorter.js +1 -9
  34. package/dist/es2015/inject-sorters/asc-inject-sorter.js.map +1 -1
  35. package/dist/es2015/inject-sorters/desc-inject-sorter.js +1 -9
  36. package/dist/es2015/inject-sorters/desc-inject-sorter.js.map +1 -1
  37. package/dist/es2015/inject-state.js +2 -0
  38. package/dist/es2015/inject-state.js.map +1 -0
  39. package/dist/es2015/inject-states/index.js +3 -0
  40. package/dist/es2015/inject-states/index.js.map +1 -0
  41. package/dist/es2015/inject-states/resolved-inject-state.js +10 -0
  42. package/dist/es2015/inject-states/resolved-inject-state.js.map +1 -0
  43. package/dist/es2015/inject-states/unresolved-inject-state.js +31 -0
  44. package/dist/es2015/inject-states/unresolved-inject-state.js.map +1 -0
  45. package/dist/es2015/inject.js +6 -8
  46. package/dist/es2015/inject.js.map +1 -1
  47. package/dist/es2015/injectors/singleton-injector.js +6 -10
  48. package/dist/es2015/injectors/singleton-injector.js.map +1 -1
  49. package/dist/es2015/logger-level.js +9 -0
  50. package/dist/es2015/logger-level.js.map +1 -0
  51. package/dist/es2015/logger.js +79 -0
  52. package/dist/es2015/logger.js.map +1 -0
  53. package/dist/es2015/metadata.js +45 -57
  54. package/dist/es2015/metadata.js.map +1 -1
  55. package/dist/es2015/null-value-resolver.js +2 -0
  56. package/dist/es2015/null-value-resolver.js.map +1 -0
  57. package/dist/es2015/nullable.js +2 -0
  58. package/dist/es2015/nullable.js.map +1 -0
  59. package/dist/es2015/optional.js +2 -0
  60. package/dist/es2015/optional.js.map +1 -0
  61. package/dist/es2015/property-extension-metadata-ctor-set-key.js +1 -1
  62. package/dist/es2015/property-extension-metadata-ctor-set-key.js.map +1 -1
  63. package/dist/es2015/property-extension-metadata.js.map +1 -1
  64. package/dist/es2015/property-metadata.js +224 -145
  65. package/dist/es2015/property-metadata.js.map +1 -1
  66. package/dist/es2015/property-sorters/asc-property-sorter.js +1 -9
  67. package/dist/es2015/property-sorters/asc-property-sorter.js.map +1 -1
  68. package/dist/es2015/property-sorters/desc-property-sorter.js +1 -9
  69. package/dist/es2015/property-sorters/desc-property-sorter.js.map +1 -1
  70. package/dist/es2015/property-state.js +2 -0
  71. package/dist/es2015/property-state.js.map +1 -0
  72. package/dist/es2015/property-states/index.js +3 -0
  73. package/dist/es2015/property-states/index.js.map +1 -0
  74. package/dist/es2015/property-states/resolved-property-state.js +27 -0
  75. package/dist/es2015/property-states/resolved-property-state.js.map +1 -0
  76. package/dist/es2015/property-states/unresolved-property-state.js +167 -0
  77. package/dist/es2015/property-states/unresolved-property-state.js.map +1 -0
  78. package/dist/es2015/property.js +17 -19
  79. package/dist/es2015/property.js.map +1 -1
  80. package/dist/es2015/reference-handlers/circular-reference-handler.js +2 -3
  81. package/dist/es2015/reference-handlers/circular-reference-handler.js.map +1 -1
  82. package/dist/es2015/reference-handlers/json-path-reference-handler.js +7 -6
  83. package/dist/es2015/reference-handlers/json-path-reference-handler.js.map +1 -1
  84. package/dist/es2015/reference-handlers/plain-reference-handler.js +2 -3
  85. package/dist/es2015/reference-handlers/plain-reference-handler.js.map +1 -1
  86. package/dist/es2015/serializer-context.js +65 -171
  87. package/dist/es2015/serializer-context.js.map +1 -1
  88. package/dist/es2015/serializers/any-serializer.js +4 -5
  89. package/dist/es2015/serializers/any-serializer.js.map +1 -1
  90. package/dist/es2015/serializers/array-buffer-serializer.js +8 -13
  91. package/dist/es2015/serializers/array-buffer-serializer.js.map +1 -1
  92. package/dist/es2015/serializers/array-serializer.js +18 -25
  93. package/dist/es2015/serializers/array-serializer.js.map +1 -1
  94. package/dist/es2015/serializers/boolean-serializer.js +12 -19
  95. package/dist/es2015/serializers/boolean-serializer.js.map +1 -1
  96. package/dist/es2015/serializers/data-view-serializer.js +8 -14
  97. package/dist/es2015/serializers/data-view-serializer.js.map +1 -1
  98. package/dist/es2015/serializers/date-serializer.js +8 -13
  99. package/dist/es2015/serializers/date-serializer.js.map +1 -1
  100. package/dist/es2015/serializers/float-32-array-serializer.js +8 -14
  101. package/dist/es2015/serializers/float-32-array-serializer.js.map +1 -1
  102. package/dist/es2015/serializers/float-64-array-serializer.js +8 -14
  103. package/dist/es2015/serializers/float-64-array-serializer.js.map +1 -1
  104. package/dist/es2015/serializers/int-16-array-serializer.js +8 -14
  105. package/dist/es2015/serializers/int-16-array-serializer.js.map +1 -1
  106. package/dist/es2015/serializers/int-32-array-serializer.js +8 -14
  107. package/dist/es2015/serializers/int-32-array-serializer.js.map +1 -1
  108. package/dist/es2015/serializers/int-8-array-serializer.js +8 -14
  109. package/dist/es2015/serializers/int-8-array-serializer.js.map +1 -1
  110. package/dist/es2015/serializers/map-serializer.js +42 -54
  111. package/dist/es2015/serializers/map-serializer.js.map +1 -1
  112. package/dist/es2015/serializers/number-serializer.js +10 -17
  113. package/dist/es2015/serializers/number-serializer.js.map +1 -1
  114. package/dist/es2015/serializers/set-serializer.js +19 -26
  115. package/dist/es2015/serializers/set-serializer.js.map +1 -1
  116. package/dist/es2015/serializers/string-serializer.js +12 -19
  117. package/dist/es2015/serializers/string-serializer.js.map +1 -1
  118. package/dist/es2015/serializers/type-serializer.js +64 -71
  119. package/dist/es2015/serializers/type-serializer.js.map +1 -1
  120. package/dist/es2015/serializers/uint-16-array-serializer.js +8 -14
  121. package/dist/es2015/serializers/uint-16-array-serializer.js.map +1 -1
  122. package/dist/es2015/serializers/uint-32-array-serializer.js +8 -14
  123. package/dist/es2015/serializers/uint-32-array-serializer.js.map +1 -1
  124. package/dist/es2015/serializers/uint-8-array-serializer.js +8 -14
  125. package/dist/es2015/serializers/uint-8-array-serializer.js.map +1 -1
  126. package/dist/es2015/serializers/uint-8-clamped-array-serializer.js +8 -14
  127. package/dist/es2015/serializers/uint-8-clamped-array-serializer.js.map +1 -1
  128. package/dist/es2015/serializers/unknown-serializer.js +4 -5
  129. package/dist/es2015/serializers/unknown-serializer.js.map +1 -1
  130. package/dist/es2015/type-entry.js +2 -0
  131. package/dist/es2015/type-entry.js.map +1 -0
  132. package/dist/es2015/type-extension-metadata-ctor-set-key.js +1 -1
  133. package/dist/es2015/type-extension-metadata-ctor-set-key.js.map +1 -1
  134. package/dist/es2015/type-extension-metadata.js.map +1 -1
  135. package/dist/es2015/type-manager.js +55 -55
  136. package/dist/es2015/type-manager.js.map +1 -1
  137. package/dist/es2015/type-metadata-symbol.js +1 -1
  138. package/dist/es2015/type-metadata-symbol.js.map +1 -1
  139. package/dist/es2015/type-metadata.js +465 -226
  140. package/dist/es2015/type-metadata.js.map +1 -1
  141. package/dist/es2015/type-scope.js +6 -7
  142. package/dist/es2015/type-scope.js.map +1 -1
  143. package/dist/es2015/type-state.js +2 -0
  144. package/dist/es2015/type-state.js.map +1 -0
  145. package/dist/es2015/type-states/index.js +3 -0
  146. package/dist/es2015/type-states/index.js.map +1 -0
  147. package/dist/es2015/type-states/resolved-type-state.js +44 -0
  148. package/dist/es2015/type-states/resolved-type-state.js.map +1 -0
  149. package/dist/es2015/type-states/unresolved-type-state.js +303 -0
  150. package/dist/es2015/type-states/unresolved-type-state.js.map +1 -0
  151. package/dist/es2015/type.js.map +1 -1
  152. package/dist/es5/constants/default-value-resolver.js +2 -0
  153. package/dist/es5/constants/default-value-resolver.js.map +1 -0
  154. package/dist/es5/constants/empty-array.js +2 -0
  155. package/dist/es5/constants/empty-array.js.map +1 -0
  156. package/dist/es5/constants/empty-map.js +2 -0
  157. package/dist/es5/constants/empty-map.js.map +1 -0
  158. package/dist/es5/constants/index.js +5 -0
  159. package/dist/es5/constants/index.js.map +1 -0
  160. package/dist/es5/constants/null-value-resolver.js +2 -0
  161. package/dist/es5/constants/null-value-resolver.js.map +1 -0
  162. package/dist/es5/custom-key.js.map +1 -1
  163. package/dist/es5/factories/type-factory.js +63 -39
  164. package/dist/es5/factories/type-factory.js.map +1 -1
  165. package/dist/es5/functions/get-own-reflect-metadata.js +1 -2
  166. package/dist/es5/functions/get-own-reflect-metadata.js.map +1 -1
  167. package/dist/es5/functions/get-reflect-metadata.js +1 -2
  168. package/dist/es5/functions/get-reflect-metadata.js.map +1 -1
  169. package/dist/es5/functions/get-words.js +61 -2
  170. package/dist/es5/functions/get-words.js.map +1 -1
  171. package/dist/es5/functions/index.js +0 -12
  172. package/dist/es5/functions/index.js.map +1 -1
  173. package/dist/es5/functions/json-parse.js.map +1 -1
  174. package/dist/es5/functions/json-stringify.js +6 -5
  175. package/dist/es5/functions/json-stringify.js.map +1 -1
  176. package/dist/es5/functions/name-of.js +1 -5
  177. package/dist/es5/functions/name-of.js.map +1 -1
  178. package/dist/es5/index.js +13 -12
  179. package/dist/es5/index.js.map +1 -1
  180. package/dist/es5/inject-metadata.js +49 -34
  181. package/dist/es5/inject-metadata.js.map +1 -1
  182. package/dist/es5/inject-sorters/asc-inject-sorter.js +1 -9
  183. package/dist/es5/inject-sorters/asc-inject-sorter.js.map +1 -1
  184. package/dist/es5/inject-sorters/desc-inject-sorter.js +1 -9
  185. package/dist/es5/inject-sorters/desc-inject-sorter.js.map +1 -1
  186. package/dist/es5/inject-state.js +2 -0
  187. package/dist/es5/inject-state.js.map +1 -0
  188. package/dist/es5/inject-states/index.js +3 -0
  189. package/dist/es5/inject-states/index.js.map +1 -0
  190. package/dist/es5/inject-states/resolved-inject-state.js +12 -0
  191. package/dist/es5/inject-states/resolved-inject-state.js.map +1 -0
  192. package/dist/es5/inject-states/unresolved-inject-state.js +45 -0
  193. package/dist/es5/inject-states/unresolved-inject-state.js.map +1 -0
  194. package/dist/es5/inject.js +6 -8
  195. package/dist/es5/inject.js.map +1 -1
  196. package/dist/es5/injectors/singleton-injector.js +31 -22
  197. package/dist/es5/injectors/singleton-injector.js.map +1 -1
  198. package/dist/es5/logger-level.js +9 -0
  199. package/dist/es5/logger-level.js.map +1 -0
  200. package/dist/es5/logger.js +122 -0
  201. package/dist/es5/logger.js.map +1 -0
  202. package/dist/es5/metadata.js +44 -79
  203. package/dist/es5/metadata.js.map +1 -1
  204. package/dist/es5/null-value-resolver.js +2 -0
  205. package/dist/es5/null-value-resolver.js.map +1 -0
  206. package/dist/es5/nullable.js +2 -0
  207. package/dist/es5/nullable.js.map +1 -0
  208. package/dist/es5/optional.js +2 -0
  209. package/dist/es5/optional.js.map +1 -0
  210. package/dist/es5/property-extension-metadata-ctor-set-key.js +1 -1
  211. package/dist/es5/property-extension-metadata-ctor-set-key.js.map +1 -1
  212. package/dist/es5/property-extension-metadata.js.map +1 -1
  213. package/dist/es5/property-metadata.js +288 -162
  214. package/dist/es5/property-metadata.js.map +1 -1
  215. package/dist/es5/property-sorters/asc-property-sorter.js +1 -9
  216. package/dist/es5/property-sorters/asc-property-sorter.js.map +1 -1
  217. package/dist/es5/property-sorters/desc-property-sorter.js +1 -9
  218. package/dist/es5/property-sorters/desc-property-sorter.js.map +1 -1
  219. package/dist/es5/property-state.js +2 -0
  220. package/dist/es5/property-state.js.map +1 -0
  221. package/dist/es5/property-states/index.js +3 -0
  222. package/dist/es5/property-states/index.js.map +1 -0
  223. package/dist/es5/property-states/resolved-property-state.js +29 -0
  224. package/dist/es5/property-states/resolved-property-state.js.map +1 -0
  225. package/dist/es5/property-states/unresolved-property-state.js +249 -0
  226. package/dist/es5/property-states/unresolved-property-state.js.map +1 -0
  227. package/dist/es5/property.js +17 -19
  228. package/dist/es5/property.js.map +1 -1
  229. package/dist/es5/reference-handlers/circular-reference-handler.js +2 -3
  230. package/dist/es5/reference-handlers/circular-reference-handler.js.map +1 -1
  231. package/dist/es5/reference-handlers/json-path-reference-handler.js +10 -31
  232. package/dist/es5/reference-handlers/json-path-reference-handler.js.map +1 -1
  233. package/dist/es5/reference-handlers/plain-reference-handler.js +2 -3
  234. package/dist/es5/reference-handlers/plain-reference-handler.js.map +1 -1
  235. package/dist/es5/serializer-context.js +71 -237
  236. package/dist/es5/serializer-context.js.map +1 -1
  237. package/dist/es5/serializers/any-serializer.js +4 -5
  238. package/dist/es5/serializers/any-serializer.js.map +1 -1
  239. package/dist/es5/serializers/array-buffer-serializer.js +8 -13
  240. package/dist/es5/serializers/array-buffer-serializer.js.map +1 -1
  241. package/dist/es5/serializers/array-serializer.js +18 -31
  242. package/dist/es5/serializers/array-serializer.js.map +1 -1
  243. package/dist/es5/serializers/boolean-serializer.js +12 -19
  244. package/dist/es5/serializers/boolean-serializer.js.map +1 -1
  245. package/dist/es5/serializers/data-view-serializer.js +8 -14
  246. package/dist/es5/serializers/data-view-serializer.js.map +1 -1
  247. package/dist/es5/serializers/date-serializer.js +8 -13
  248. package/dist/es5/serializers/date-serializer.js.map +1 -1
  249. package/dist/es5/serializers/float-32-array-serializer.js +8 -14
  250. package/dist/es5/serializers/float-32-array-serializer.js.map +1 -1
  251. package/dist/es5/serializers/float-64-array-serializer.js +8 -14
  252. package/dist/es5/serializers/float-64-array-serializer.js.map +1 -1
  253. package/dist/es5/serializers/int-16-array-serializer.js +8 -14
  254. package/dist/es5/serializers/int-16-array-serializer.js.map +1 -1
  255. package/dist/es5/serializers/int-32-array-serializer.js +8 -14
  256. package/dist/es5/serializers/int-32-array-serializer.js.map +1 -1
  257. package/dist/es5/serializers/int-8-array-serializer.js +8 -14
  258. package/dist/es5/serializers/int-8-array-serializer.js.map +1 -1
  259. package/dist/es5/serializers/map-serializer.js +69 -55
  260. package/dist/es5/serializers/map-serializer.js.map +1 -1
  261. package/dist/es5/serializers/number-serializer.js +10 -17
  262. package/dist/es5/serializers/number-serializer.js.map +1 -1
  263. package/dist/es5/serializers/set-serializer.js +30 -27
  264. package/dist/es5/serializers/set-serializer.js.map +1 -1
  265. package/dist/es5/serializers/string-serializer.js +12 -19
  266. package/dist/es5/serializers/string-serializer.js.map +1 -1
  267. package/dist/es5/serializers/type-serializer.js +65 -101
  268. package/dist/es5/serializers/type-serializer.js.map +1 -1
  269. package/dist/es5/serializers/uint-16-array-serializer.js +8 -14
  270. package/dist/es5/serializers/uint-16-array-serializer.js.map +1 -1
  271. package/dist/es5/serializers/uint-32-array-serializer.js +8 -14
  272. package/dist/es5/serializers/uint-32-array-serializer.js.map +1 -1
  273. package/dist/es5/serializers/uint-8-array-serializer.js +8 -14
  274. package/dist/es5/serializers/uint-8-array-serializer.js.map +1 -1
  275. package/dist/es5/serializers/uint-8-clamped-array-serializer.js +8 -14
  276. package/dist/es5/serializers/uint-8-clamped-array-serializer.js.map +1 -1
  277. package/dist/es5/serializers/unknown-serializer.js +4 -5
  278. package/dist/es5/serializers/unknown-serializer.js.map +1 -1
  279. package/dist/es5/type-entry.js +2 -0
  280. package/dist/es5/type-entry.js.map +1 -0
  281. package/dist/es5/type-extension-metadata-ctor-set-key.js +1 -1
  282. package/dist/es5/type-extension-metadata-ctor-set-key.js.map +1 -1
  283. package/dist/es5/type-extension-metadata.js.map +1 -1
  284. package/dist/es5/type-manager.js +110 -63
  285. package/dist/es5/type-manager.js.map +1 -1
  286. package/dist/es5/type-metadata-symbol.js +1 -1
  287. package/dist/es5/type-metadata-symbol.js.map +1 -1
  288. package/dist/es5/type-metadata.js +597 -273
  289. package/dist/es5/type-metadata.js.map +1 -1
  290. package/dist/es5/type-scope.js +42 -37
  291. package/dist/es5/type-scope.js.map +1 -1
  292. package/dist/es5/type-state.js +2 -0
  293. package/dist/es5/type-state.js.map +1 -0
  294. package/dist/es5/type-states/index.js +3 -0
  295. package/dist/es5/type-states/index.js.map +1 -0
  296. package/dist/es5/type-states/resolved-type-state.js +46 -0
  297. package/dist/es5/type-states/resolved-type-state.js.map +1 -0
  298. package/dist/es5/type-states/unresolved-type-state.js +453 -0
  299. package/dist/es5/type-states/unresolved-type-state.js.map +1 -0
  300. package/dist/es5/type.js.map +1 -1
  301. package/dist/types/constants/default-value-resolver.d.ts +8 -0
  302. package/dist/types/constants/default-value-resolver.d.ts.map +1 -0
  303. package/dist/types/constants/empty-array.d.ts +7 -0
  304. package/dist/types/constants/empty-array.d.ts.map +1 -0
  305. package/dist/types/constants/empty-map.d.ts +7 -0
  306. package/dist/types/constants/empty-map.d.ts.map +1 -0
  307. package/dist/types/constants/index.d.ts +5 -0
  308. package/dist/types/constants/index.d.ts.map +1 -0
  309. package/dist/types/constants/null-value-resolver.d.ts +8 -0
  310. package/dist/types/constants/null-value-resolver.d.ts.map +1 -0
  311. package/dist/types/custom-key.d.ts +4 -3
  312. package/dist/types/custom-key.d.ts.map +1 -1
  313. package/dist/types/custom-option.d.ts +2 -2
  314. package/dist/types/custom-value.d.ts +2 -1
  315. package/dist/types/custom-value.d.ts.map +1 -1
  316. package/dist/types/factories/type-factory.d.ts +8 -5
  317. package/dist/types/factories/type-factory.d.ts.map +1 -1
  318. package/dist/types/factory.d.ts +7 -4
  319. package/dist/types/factory.d.ts.map +1 -1
  320. package/dist/types/functions/get-own-reflect-metadata.d.ts.map +1 -1
  321. package/dist/types/functions/get-reflect-metadata.d.ts.map +1 -1
  322. package/dist/types/functions/get-words.d.ts +3 -3
  323. package/dist/types/functions/get-words.d.ts.map +1 -1
  324. package/dist/types/functions/index.d.ts +0 -12
  325. package/dist/types/functions/index.d.ts.map +1 -1
  326. package/dist/types/functions/json-parse.d.ts +1 -1
  327. package/dist/types/functions/json-parse.d.ts.map +1 -1
  328. package/dist/types/functions/json-stringify.d.ts.map +1 -1
  329. package/dist/types/functions/name-of.d.ts.map +1 -1
  330. package/dist/types/generic-argument.d.ts +2 -2
  331. package/dist/types/generic-argument.d.ts.map +1 -1
  332. package/dist/types/generic-metadata.d.ts +2 -2
  333. package/dist/types/generic-metadata.d.ts.map +1 -1
  334. package/dist/types/index.d.ts +13 -12
  335. package/dist/types/index.d.ts.map +1 -1
  336. package/dist/types/inject-metadata.d.ts +52 -45
  337. package/dist/types/inject-metadata.d.ts.map +1 -1
  338. package/dist/types/inject-options.d.ts +8 -8
  339. package/dist/types/inject-options.d.ts.map +1 -1
  340. package/dist/types/inject-sorter.d.ts +3 -3
  341. package/dist/types/inject-sorter.d.ts.map +1 -1
  342. package/dist/types/inject-sorters/asc-inject-sorter.d.ts +3 -3
  343. package/dist/types/inject-sorters/asc-inject-sorter.d.ts.map +1 -1
  344. package/dist/types/inject-sorters/desc-inject-sorter.d.ts +3 -3
  345. package/dist/types/inject-sorters/desc-inject-sorter.d.ts.map +1 -1
  346. package/dist/types/inject-state.d.ts +36 -0
  347. package/dist/types/inject-state.d.ts.map +1 -0
  348. package/dist/types/inject-states/index.d.ts +3 -0
  349. package/dist/types/inject-states/index.d.ts.map +1 -0
  350. package/dist/types/inject-states/resolved-inject-state.d.ts +46 -0
  351. package/dist/types/inject-states/resolved-inject-state.d.ts.map +1 -0
  352. package/dist/types/inject-states/unresolved-inject-state.d.ts +49 -0
  353. package/dist/types/inject-states/unresolved-inject-state.d.ts.map +1 -0
  354. package/dist/types/inject.d.ts +3 -3
  355. package/dist/types/inject.d.ts.map +1 -1
  356. package/dist/types/injector.d.ts +4 -3
  357. package/dist/types/injector.d.ts.map +1 -1
  358. package/dist/types/injectors/singleton-injector.d.ts +5 -5
  359. package/dist/types/injectors/singleton-injector.d.ts.map +1 -1
  360. package/dist/types/logger-level.d.ts +31 -0
  361. package/dist/types/logger-level.d.ts.map +1 -0
  362. package/dist/types/logger.d.ts +125 -0
  363. package/dist/types/logger.d.ts.map +1 -0
  364. package/dist/types/metadata.d.ts +29 -39
  365. package/dist/types/metadata.d.ts.map +1 -1
  366. package/dist/types/null-value-resolver.d.ts +9 -0
  367. package/dist/types/null-value-resolver.d.ts.map +1 -0
  368. package/dist/types/nullable.d.ts +7 -0
  369. package/dist/types/nullable.d.ts.map +1 -0
  370. package/dist/types/optional.d.ts +7 -0
  371. package/dist/types/optional.d.ts.map +1 -0
  372. package/dist/types/property-extension-metadata-ctor-set-key.d.ts +1 -1
  373. package/dist/types/property-extension-metadata-ctor-set-key.d.ts.map +1 -1
  374. package/dist/types/property-extension-metadata-ctor.d.ts +2 -2
  375. package/dist/types/property-extension-metadata-ctor.d.ts.map +1 -1
  376. package/dist/types/property-extension-metadata.d.ts +7 -7
  377. package/dist/types/property-extension-metadata.d.ts.map +1 -1
  378. package/dist/types/property-metadata.d.ts +134 -119
  379. package/dist/types/property-metadata.d.ts.map +1 -1
  380. package/dist/types/property-options.d.ts +11 -10
  381. package/dist/types/property-options.d.ts.map +1 -1
  382. package/dist/types/property-sorter.d.ts +3 -3
  383. package/dist/types/property-sorter.d.ts.map +1 -1
  384. package/dist/types/property-sorters/asc-property-sorter.d.ts +3 -3
  385. package/dist/types/property-sorters/asc-property-sorter.d.ts.map +1 -1
  386. package/dist/types/property-sorters/desc-property-sorter.d.ts +3 -3
  387. package/dist/types/property-sorters/desc-property-sorter.d.ts.map +1 -1
  388. package/dist/types/property-state.d.ts +149 -0
  389. package/dist/types/property-state.d.ts.map +1 -0
  390. package/dist/types/property-states/index.d.ts +3 -0
  391. package/dist/types/property-states/index.d.ts.map +1 -0
  392. package/dist/types/property-states/resolved-property-state.d.ts +176 -0
  393. package/dist/types/property-states/resolved-property-state.d.ts.map +1 -0
  394. package/dist/types/property-states/unresolved-property-state.d.ts +162 -0
  395. package/dist/types/property-states/unresolved-property-state.d.ts.map +1 -0
  396. package/dist/types/property.d.ts +4 -4
  397. package/dist/types/property.d.ts.map +1 -1
  398. package/dist/types/reference-handlers/circular-reference-handler.d.ts.map +1 -1
  399. package/dist/types/reference-handlers/json-path-reference-handler.d.ts.map +1 -1
  400. package/dist/types/reference-handlers/plain-reference-handler.d.ts.map +1 -1
  401. package/dist/types/reference-value-setter.d.ts +1 -1
  402. package/dist/types/reference-value-setter.d.ts.map +1 -1
  403. package/dist/types/serializer-context.d.ts +70 -164
  404. package/dist/types/serializer-context.d.ts.map +1 -1
  405. package/dist/types/serializer.d.ts +8 -8
  406. package/dist/types/serializer.d.ts.map +1 -1
  407. package/dist/types/serializers/any-serializer.d.ts.map +1 -1
  408. package/dist/types/serializers/array-buffer-serializer.d.ts.map +1 -1
  409. package/dist/types/serializers/array-serializer.d.ts.map +1 -1
  410. package/dist/types/serializers/boolean-serializer.d.ts +1 -1
  411. package/dist/types/serializers/boolean-serializer.d.ts.map +1 -1
  412. package/dist/types/serializers/data-view-serializer.d.ts.map +1 -1
  413. package/dist/types/serializers/date-serializer.d.ts.map +1 -1
  414. package/dist/types/serializers/float-32-array-serializer.d.ts.map +1 -1
  415. package/dist/types/serializers/float-64-array-serializer.d.ts.map +1 -1
  416. package/dist/types/serializers/int-16-array-serializer.d.ts.map +1 -1
  417. package/dist/types/serializers/int-32-array-serializer.d.ts.map +1 -1
  418. package/dist/types/serializers/int-8-array-serializer.d.ts.map +1 -1
  419. package/dist/types/serializers/map-serializer.d.ts.map +1 -1
  420. package/dist/types/serializers/number-serializer.d.ts +1 -1
  421. package/dist/types/serializers/number-serializer.d.ts.map +1 -1
  422. package/dist/types/serializers/set-serializer.d.ts.map +1 -1
  423. package/dist/types/serializers/string-serializer.d.ts +1 -1
  424. package/dist/types/serializers/string-serializer.d.ts.map +1 -1
  425. package/dist/types/serializers/type-serializer.d.ts.map +1 -1
  426. package/dist/types/serializers/uint-16-array-serializer.d.ts.map +1 -1
  427. package/dist/types/serializers/uint-32-array-serializer.d.ts.map +1 -1
  428. package/dist/types/serializers/uint-8-array-serializer.d.ts.map +1 -1
  429. package/dist/types/serializers/uint-8-clamped-array-serializer.d.ts.map +1 -1
  430. package/dist/types/serializers/unknown-serializer.d.ts.map +1 -1
  431. package/dist/types/type-abstraction.d.ts +2 -2
  432. package/dist/types/type-abstraction.d.ts.map +1 -1
  433. package/dist/types/type-argument.d.ts +3 -3
  434. package/dist/types/type-argument.d.ts.map +1 -1
  435. package/dist/types/type-configuration.d.ts +4 -4
  436. package/dist/types/type-configuration.d.ts.map +1 -1
  437. package/dist/types/type-ctor.d.ts +2 -2
  438. package/dist/types/type-ctor.d.ts.map +1 -1
  439. package/dist/types/type-entry.d.ts +29 -0
  440. package/dist/types/type-entry.d.ts.map +1 -0
  441. package/dist/types/type-extension-metadata-ctor-set-key.d.ts +1 -1
  442. package/dist/types/type-extension-metadata-ctor-set-key.d.ts.map +1 -1
  443. package/dist/types/type-extension-metadata-ctor.d.ts +2 -2
  444. package/dist/types/type-extension-metadata-ctor.d.ts.map +1 -1
  445. package/dist/types/type-extension-metadata.d.ts +6 -6
  446. package/dist/types/type-extension-metadata.d.ts.map +1 -1
  447. package/dist/types/type-fn.d.ts +2 -2
  448. package/dist/types/type-fn.d.ts.map +1 -1
  449. package/dist/types/type-like.d.ts +2 -2
  450. package/dist/types/type-like.d.ts.map +1 -1
  451. package/dist/types/type-manager-options.d.ts.map +1 -1
  452. package/dist/types/type-manager.d.ts +116 -123
  453. package/dist/types/type-manager.d.ts.map +1 -1
  454. package/dist/types/type-metadata-symbol.d.ts +1 -1
  455. package/dist/types/type-metadata-symbol.d.ts.map +1 -1
  456. package/dist/types/type-metadata.d.ts +253 -152
  457. package/dist/types/type-metadata.d.ts.map +1 -1
  458. package/dist/types/type-options-base.d.ts +13 -12
  459. package/dist/types/type-options-base.d.ts.map +1 -1
  460. package/dist/types/type-options.d.ts +10 -10
  461. package/dist/types/type-options.d.ts.map +1 -1
  462. package/dist/types/type-resolver.d.ts +2 -2
  463. package/dist/types/type-resolver.d.ts.map +1 -1
  464. package/dist/types/type-scope.d.ts.map +1 -1
  465. package/dist/types/type-state.d.ts +262 -0
  466. package/dist/types/type-state.d.ts.map +1 -0
  467. package/dist/types/type-states/index.d.ts +3 -0
  468. package/dist/types/type-states/index.d.ts.map +1 -0
  469. package/dist/types/type-states/resolved-type-state.d.ts +306 -0
  470. package/dist/types/type-states/resolved-type-state.d.ts.map +1 -0
  471. package/dist/types/type-states/unresolved-type-state.d.ts +275 -0
  472. package/dist/types/type-states/unresolved-type-state.d.ts.map +1 -0
  473. package/dist/types/type.d.ts +2 -2
  474. package/dist/types/type.d.ts.map +1 -1
  475. package/dist/umd/index.js +1 -1
  476. package/dist/umd/index.js.map +1 -1
  477. package/package.json +1 -8
  478. package/dist/es2015/custom-context.js +0 -59
  479. package/dist/es2015/custom-context.js.map +0 -1
  480. package/dist/es2015/functions/is-arrow-function.js +0 -5
  481. package/dist/es2015/functions/is-arrow-function.js.map +0 -1
  482. package/dist/es2015/functions/is-ctor-function.js +0 -5
  483. package/dist/es2015/functions/is-ctor-function.js.map +0 -1
  484. package/dist/es2015/functions/is-data-view.js +0 -4
  485. package/dist/es2015/functions/is-data-view.js.map +0 -1
  486. package/dist/es2015/functions/is-float-32-array.js +0 -4
  487. package/dist/es2015/functions/is-float-32-array.js.map +0 -1
  488. package/dist/es2015/functions/is-float-64-array.js +0 -4
  489. package/dist/es2015/functions/is-float-64-array.js.map +0 -1
  490. package/dist/es2015/functions/is-int-16-array.js +0 -4
  491. package/dist/es2015/functions/is-int-16-array.js.map +0 -1
  492. package/dist/es2015/functions/is-int-32-array.js +0 -4
  493. package/dist/es2015/functions/is-int-32-array.js.map +0 -1
  494. package/dist/es2015/functions/is-int-8-array.js +0 -4
  495. package/dist/es2015/functions/is-int-8-array.js.map +0 -1
  496. package/dist/es2015/functions/is-uint-16-array.js +0 -4
  497. package/dist/es2015/functions/is-uint-16-array.js.map +0 -1
  498. package/dist/es2015/functions/is-uint-32-array.js +0 -4
  499. package/dist/es2015/functions/is-uint-32-array.js.map +0 -1
  500. package/dist/es2015/functions/is-uint-8-array.js +0 -4
  501. package/dist/es2015/functions/is-uint-8-array.js.map +0 -1
  502. package/dist/es2015/functions/is-uint-8-clamped-array.js +0 -4
  503. package/dist/es2015/functions/is-uint-8-clamped-array.js.map +0 -1
  504. package/dist/es2015/generic-metadata-resolver.js +0 -2
  505. package/dist/es2015/generic-metadata-resolver.js.map +0 -1
  506. package/dist/es2015/generic-structure.js +0 -2
  507. package/dist/es2015/generic-structure.js.map +0 -1
  508. package/dist/es2015/inject-internals.js +0 -2
  509. package/dist/es2015/inject-internals.js.map +0 -1
  510. package/dist/es2015/log-level.js +0 -8
  511. package/dist/es2015/log-level.js.map +0 -1
  512. package/dist/es2015/log.js +0 -50
  513. package/dist/es2015/log.js.map +0 -1
  514. package/dist/es2015/property-internals.js +0 -2
  515. package/dist/es2015/property-internals.js.map +0 -1
  516. package/dist/es2015/serializer-context-options.js +0 -2
  517. package/dist/es2015/serializer-context-options.js.map +0 -1
  518. package/dist/es2015/type-context-entry.js +0 -9
  519. package/dist/es2015/type-context-entry.js.map +0 -1
  520. package/dist/es2015/type-context.js +0 -31
  521. package/dist/es2015/type-context.js.map +0 -1
  522. package/dist/es2015/type-internals.js +0 -2
  523. package/dist/es2015/type-internals.js.map +0 -1
  524. package/dist/es2015/type-metadata-resolver.js +0 -2
  525. package/dist/es2015/type-metadata-resolver.js.map +0 -1
  526. package/dist/es5/custom-context.js +0 -95
  527. package/dist/es5/custom-context.js.map +0 -1
  528. package/dist/es5/functions/is-arrow-function.js +0 -5
  529. package/dist/es5/functions/is-arrow-function.js.map +0 -1
  530. package/dist/es5/functions/is-ctor-function.js +0 -5
  531. package/dist/es5/functions/is-ctor-function.js.map +0 -1
  532. package/dist/es5/functions/is-data-view.js +0 -4
  533. package/dist/es5/functions/is-data-view.js.map +0 -1
  534. package/dist/es5/functions/is-float-32-array.js +0 -4
  535. package/dist/es5/functions/is-float-32-array.js.map +0 -1
  536. package/dist/es5/functions/is-float-64-array.js +0 -4
  537. package/dist/es5/functions/is-float-64-array.js.map +0 -1
  538. package/dist/es5/functions/is-int-16-array.js +0 -4
  539. package/dist/es5/functions/is-int-16-array.js.map +0 -1
  540. package/dist/es5/functions/is-int-32-array.js +0 -4
  541. package/dist/es5/functions/is-int-32-array.js.map +0 -1
  542. package/dist/es5/functions/is-int-8-array.js +0 -4
  543. package/dist/es5/functions/is-int-8-array.js.map +0 -1
  544. package/dist/es5/functions/is-uint-16-array.js +0 -4
  545. package/dist/es5/functions/is-uint-16-array.js.map +0 -1
  546. package/dist/es5/functions/is-uint-32-array.js +0 -4
  547. package/dist/es5/functions/is-uint-32-array.js.map +0 -1
  548. package/dist/es5/functions/is-uint-8-array.js +0 -4
  549. package/dist/es5/functions/is-uint-8-array.js.map +0 -1
  550. package/dist/es5/functions/is-uint-8-clamped-array.js +0 -4
  551. package/dist/es5/functions/is-uint-8-clamped-array.js.map +0 -1
  552. package/dist/es5/generic-metadata-resolver.js +0 -2
  553. package/dist/es5/generic-metadata-resolver.js.map +0 -1
  554. package/dist/es5/generic-structure.js +0 -2
  555. package/dist/es5/generic-structure.js.map +0 -1
  556. package/dist/es5/inject-internals.js +0 -2
  557. package/dist/es5/inject-internals.js.map +0 -1
  558. package/dist/es5/log-level.js +0 -8
  559. package/dist/es5/log-level.js.map +0 -1
  560. package/dist/es5/log.js +0 -65
  561. package/dist/es5/log.js.map +0 -1
  562. package/dist/es5/property-internals.js +0 -2
  563. package/dist/es5/property-internals.js.map +0 -1
  564. package/dist/es5/serializer-context-options.js +0 -2
  565. package/dist/es5/serializer-context-options.js.map +0 -1
  566. package/dist/es5/type-context-entry.js +0 -11
  567. package/dist/es5/type-context-entry.js.map +0 -1
  568. package/dist/es5/type-context.js +0 -33
  569. package/dist/es5/type-context.js.map +0 -1
  570. package/dist/es5/type-internals.js +0 -2
  571. package/dist/es5/type-internals.js.map +0 -1
  572. package/dist/es5/type-metadata-resolver.js +0 -2
  573. package/dist/es5/type-metadata-resolver.js.map +0 -1
  574. package/dist/types/custom-context.d.ts +0 -89
  575. package/dist/types/custom-context.d.ts.map +0 -1
  576. package/dist/types/functions/is-arrow-function.d.ts +0 -9
  577. package/dist/types/functions/is-arrow-function.d.ts.map +0 -1
  578. package/dist/types/functions/is-ctor-function.d.ts +0 -9
  579. package/dist/types/functions/is-ctor-function.d.ts.map +0 -1
  580. package/dist/types/functions/is-data-view.d.ts +0 -9
  581. package/dist/types/functions/is-data-view.d.ts.map +0 -1
  582. package/dist/types/functions/is-float-32-array.d.ts +0 -9
  583. package/dist/types/functions/is-float-32-array.d.ts.map +0 -1
  584. package/dist/types/functions/is-float-64-array.d.ts +0 -9
  585. package/dist/types/functions/is-float-64-array.d.ts.map +0 -1
  586. package/dist/types/functions/is-int-16-array.d.ts +0 -9
  587. package/dist/types/functions/is-int-16-array.d.ts.map +0 -1
  588. package/dist/types/functions/is-int-32-array.d.ts +0 -9
  589. package/dist/types/functions/is-int-32-array.d.ts.map +0 -1
  590. package/dist/types/functions/is-int-8-array.d.ts +0 -9
  591. package/dist/types/functions/is-int-8-array.d.ts.map +0 -1
  592. package/dist/types/functions/is-uint-16-array.d.ts +0 -9
  593. package/dist/types/functions/is-uint-16-array.d.ts.map +0 -1
  594. package/dist/types/functions/is-uint-32-array.d.ts +0 -9
  595. package/dist/types/functions/is-uint-32-array.d.ts.map +0 -1
  596. package/dist/types/functions/is-uint-8-array.d.ts +0 -9
  597. package/dist/types/functions/is-uint-8-array.d.ts.map +0 -1
  598. package/dist/types/functions/is-uint-8-clamped-array.d.ts +0 -9
  599. package/dist/types/functions/is-uint-8-clamped-array.d.ts.map +0 -1
  600. package/dist/types/generic-metadata-resolver.d.ts +0 -8
  601. package/dist/types/generic-metadata-resolver.d.ts.map +0 -1
  602. package/dist/types/generic-structure.d.ts +0 -8
  603. package/dist/types/generic-structure.d.ts.map +0 -1
  604. package/dist/types/inject-internals.d.ts +0 -15
  605. package/dist/types/inject-internals.d.ts.map +0 -1
  606. package/dist/types/log-level.d.ts +0 -12
  607. package/dist/types/log-level.d.ts.map +0 -1
  608. package/dist/types/log.d.ts +0 -96
  609. package/dist/types/log.d.ts.map +0 -1
  610. package/dist/types/property-internals.d.ts +0 -36
  611. package/dist/types/property-internals.d.ts.map +0 -1
  612. package/dist/types/serializer-context-options.d.ts +0 -51
  613. package/dist/types/serializer-context-options.d.ts.map +0 -1
  614. package/dist/types/type-context-entry.d.ts +0 -37
  615. package/dist/types/type-context-entry.d.ts.map +0 -1
  616. package/dist/types/type-context.d.ts +0 -71
  617. package/dist/types/type-context.d.ts.map +0 -1
  618. package/dist/types/type-internals.d.ts +0 -15
  619. package/dist/types/type-internals.d.ts.map +0 -1
  620. package/dist/types/type-metadata-resolver.d.ts +0 -9
  621. package/dist/types/type-metadata-resolver.d.ts.map +0 -1
@@ -1,292 +1,371 @@
1
- import { isFunction, isNil, isUndefined } from 'lodash';
2
- import { CustomContext } from './custom-context';
1
+ import { DEFAULT_VALUE_RESOLVER } from './constants/default-value-resolver';
2
+ import { EMPTY_ARRAY } from './constants/empty-array';
3
+ import { EMPTY_MAP } from './constants/empty-map';
4
+ import { NULL_VALUE_RESOLVER } from './constants/null-value-resolver';
3
5
  import { getReflectMetadata } from './functions/get-reflect-metadata';
4
6
  import { Metadata } from './metadata';
5
- import { propertyExtensionMetadataCtorSetKey } from './property-extension-metadata-ctor-set-key';
7
+ import { PROPERTY_EXTENSION_METADATA_CTOR_SET_KEY } from './property-extension-metadata-ctor-set-key';
8
+ import { ResolvedPropertyState } from './property-states/resolved-property-state';
9
+ import { UnresolvedPropertyState } from './property-states/unresolved-property-state';
6
10
  export class PropertyMetadata extends Metadata {
7
- constructor(declaringTypeMetadata, propertyName, propertyOptions) {
8
- super(declaringTypeMetadata.typeManager);
11
+ constructor(typeManager, typeFnMap, declaringTypeMetadata, propertyName, propertyOptions) {
12
+ super(typeManager, typeFnMap);
9
13
  this.declaringTypeMetadata = declaringTypeMetadata;
10
14
  this.propertyName = propertyName;
15
+ this.normalizedPropertyName = propertyName.toLocaleLowerCase();
11
16
  this.reflectTypeFn = getReflectMetadata('design:type', declaringTypeMetadata.typeFn.prototype, propertyName);
12
17
  this.propertyOptions = this.constructPropertyOptions(propertyOptions);
13
- this.propertyInternals = this.constructPropertyInternals();
18
+ this.currentPropertyState = new UnresolvedPropertyState(this);
14
19
  this.configure(propertyOptions);
15
20
  return;
16
21
  }
17
- get alias() {
18
- return this.propertyOptions.alias;
22
+ get propertyState() {
23
+ return this.currentPropertyState;
19
24
  }
20
- get customOptions() {
21
- return this.propertyOptions.customOptions;
25
+ get alias() {
26
+ return this.currentPropertyState.alias;
22
27
  }
23
- get customContext() {
24
- let customContext = this.propertyInternals.customContext;
25
- if (isNil(customContext)) {
26
- this.propertyOptions.customOptions = new Array();
27
- this.propertyInternals.customContext = new CustomContext(this.propertyOptions.customOptions);
28
- customContext = this.propertyInternals.customContext;
29
- }
30
- return customContext;
28
+ get customValueMap() {
29
+ return this.currentPropertyState.customValueMap;
31
30
  }
32
31
  get serializedNullValue() {
33
- if (this.preserveNull) {
34
- return null;
35
- }
36
- return this.serializedDefaultValue;
32
+ return this.currentPropertyState.serializedNullValueResolver();
37
33
  }
38
34
  get serializedDefaultValue() {
39
- var _a, _b;
40
- if (this.useDefaultValue) {
41
- const serializedDefaultValue = (_b = (_a = this.propertyOptions.defaultValue) !== null && _a !== void 0 ? _a : this.propertyOptions.serializedDefaultValue) !== null && _b !== void 0 ? _b : this.typeMetadata.serializedDefaultValue;
42
- const defaultValue = isFunction(serializedDefaultValue)
43
- ? serializedDefaultValue()
44
- : serializedDefaultValue;
45
- return defaultValue;
46
- }
47
- return undefined;
35
+ return this.currentPropertyState.serializedDefaultValueResolver();
48
36
  }
49
37
  get deserializedNullValue() {
50
- if (this.preserveNull) {
51
- return null;
52
- }
53
- return this.deserializedDefaultValue;
38
+ return this.currentPropertyState.deserializedNullValueResolver();
54
39
  }
55
40
  get deserializedDefaultValue() {
56
- var _a, _b;
57
- if (this.useDefaultValue) {
58
- const deserializedDefaultValue = (_b = (_a = this.propertyOptions.defaultValue) !== null && _a !== void 0 ? _a : this.propertyOptions.deserializedDefaultValue) !== null && _b !== void 0 ? _b : this.typeMetadata.deserializedDefaultValue;
59
- const defaultValue = isFunction(deserializedDefaultValue)
60
- ? deserializedDefaultValue()
61
- : deserializedDefaultValue;
62
- return defaultValue;
63
- }
64
- return undefined;
41
+ return this.currentPropertyState.deserializedDefaultValueResolver();
65
42
  }
66
43
  get serializedPropertyName() {
67
- var _a;
68
- const alias = this.alias;
69
- if (isNil(alias)) {
70
- const namingConvention = (_a = this.namingConvention) !== null && _a !== void 0 ? _a : this.declaringTypeMetadata.namingConvention;
71
- const propertyName = namingConvention ? namingConvention.convert(this.propertyName) : this.propertyName;
72
- return propertyName;
73
- }
74
- return alias;
44
+ return this.currentPropertyState.serializedPropertyName;
75
45
  }
76
46
  get deserializedPropertyName() {
77
- return this.propertyName;
47
+ return this.currentPropertyState.deserializedPropertyName;
78
48
  }
79
49
  get deserializable() {
80
- return this.propertyOptions.deserializable;
50
+ return this.currentPropertyState.deserializable;
81
51
  }
82
52
  get genericArguments() {
83
- return this.propertyOptions.genericArguments;
84
- }
85
- get genericStructures() {
86
- return this.propertyInternals.genericStructures;
87
- }
88
- get genericMetadataResolvers() {
89
- return this.propertyInternals.genericMetadataResolvers;
53
+ return this.currentPropertyState.genericArguments;
90
54
  }
91
55
  get genericMetadatas() {
92
- const genericStructures = this.genericStructures;
93
- const genericMetadataResolvers = this.genericMetadataResolvers;
94
- if (isNil(genericStructures) || isNil(genericMetadataResolvers)) {
95
- return undefined;
96
- }
97
- return this.defineGenericMetadatas(genericStructures, genericMetadataResolvers);
56
+ return this.currentPropertyState.genericMetadatas;
98
57
  }
99
58
  get namingConvention() {
100
- var _a;
101
- return (_a = this.propertyOptions.namingConvention) !== null && _a !== void 0 ? _a : this.typeMetadata.namingConvention;
59
+ return this.currentPropertyState.namingConvention;
102
60
  }
103
61
  get referenceHandler() {
104
- var _a;
105
- return (_a = this.propertyOptions.referenceHandler) !== null && _a !== void 0 ? _a : this.typeMetadata.referenceHandler;
62
+ return this.currentPropertyState.referenceHandler;
106
63
  }
107
64
  get serializable() {
108
- return this.propertyOptions.serializable;
109
- }
110
- get serializationConfigured() {
111
- return !isNil(this.serializable) || !isNil(this.deserializable);
65
+ return this.currentPropertyState.serializable;
112
66
  }
113
67
  get serializer() {
114
- var _a;
115
- return (_a = this.propertyOptions.serializer) !== null && _a !== void 0 ? _a : this.typeMetadata.serializer;
68
+ return this.currentPropertyState.serializer;
116
69
  }
117
70
  get typeArgument() {
118
- return this.propertyOptions.typeArgument;
119
- }
120
- get typeMetadataResolver() {
121
- return this.propertyInternals.typeMetadataResolver;
71
+ return this.currentPropertyState.typeArgument;
122
72
  }
123
73
  get typeMetadata() {
124
- return this.typeMetadataResolver(this.typeArgument);
74
+ return this.currentPropertyState.typeMetadata;
125
75
  }
126
76
  get preserveNull() {
127
- var _a;
128
- return (_a = this.propertyOptions.preserveNull) !== null && _a !== void 0 ? _a : this.typeMetadata.preserveNull;
77
+ return this.currentPropertyState.preserveNull;
129
78
  }
130
79
  get useDefaultValue() {
131
- var _a;
132
- return (_a = this.propertyOptions.useDefaultValue) !== null && _a !== void 0 ? _a : this.typeMetadata.useDefaultValue;
80
+ return this.currentPropertyState.useDefaultValue;
133
81
  }
134
82
  get useImplicitConversion() {
135
- var _a;
136
- return (_a = this.propertyOptions.useImplicitConversion) !== null && _a !== void 0 ? _a : this.typeMetadata.useImplicitConversion;
83
+ return this.currentPropertyState.useImplicitConversion;
137
84
  }
138
85
  constructPropertyOptions(propertyOptions) {
139
- var _a;
140
- propertyOptions.typeArgument = (_a = propertyOptions.typeArgument) !== null && _a !== void 0 ? _a : this.reflectTypeFn;
86
+ if (propertyOptions.customValueMap === undefined) {
87
+ propertyOptions.customValueMap = new Map();
88
+ }
141
89
  return propertyOptions;
142
90
  }
143
- constructPropertyInternals() {
144
- const typeMetadataResolver = this.defineTypeMetadataResolver(this.propertyOptions.typeArgument);
145
- const customOptions = this.propertyOptions.customOptions;
146
- const customContext = isNil(customOptions) ? undefined : new CustomContext(customOptions);
147
- const propertyInternals = { typeMetadataResolver: typeMetadataResolver, customContext: customContext };
148
- return propertyInternals;
91
+ configurePropertyExtensionMetadata(propertyExtensionMetadataCtor, propertyExtensionOptions) {
92
+ const propertyExtensionMetadataCtorSet = this.extractPropertyExtensionMetadataCtorSet();
93
+ if (!propertyExtensionMetadataCtorSet.has(propertyExtensionMetadataCtor)) {
94
+ propertyExtensionMetadataCtorSet.add(propertyExtensionMetadataCtor);
95
+ }
96
+ const initialPropertyExtensionOptions = propertyExtensionOptions !== null && propertyExtensionOptions !== void 0 ? propertyExtensionOptions : {};
97
+ const propertyExtensionMetadata = new propertyExtensionMetadataCtor(this, initialPropertyExtensionOptions);
98
+ return propertyExtensionMetadata;
99
+ }
100
+ extractPropertyExtensionMetadata(propertyExtensionMetadataCtor) {
101
+ const propertyExtensionMetadataCtorSet = this.extractPropertyExtensionMetadataCtorSet();
102
+ if (!propertyExtensionMetadataCtorSet.has(propertyExtensionMetadataCtor)) {
103
+ return undefined;
104
+ }
105
+ const initialPropertyExtensionOptions = {};
106
+ const propertyExtensionMetadata = new propertyExtensionMetadataCtor(this, initialPropertyExtensionOptions);
107
+ return propertyExtensionMetadata;
108
+ }
109
+ extractPropertyExtensionMetadataCtorSet() {
110
+ let customValueMap = this.propertyOptions.customValueMap;
111
+ if (customValueMap === undefined) {
112
+ customValueMap = new Map();
113
+ this.propertyOptions.customValueMap = customValueMap;
114
+ }
115
+ let propertyExtensionMetadataCtorSet = customValueMap.get(PROPERTY_EXTENSION_METADATA_CTOR_SET_KEY);
116
+ if (propertyExtensionMetadataCtorSet === undefined) {
117
+ propertyExtensionMetadataCtorSet = new Set();
118
+ customValueMap.set(PROPERTY_EXTENSION_METADATA_CTOR_SET_KEY, propertyExtensionMetadataCtorSet);
119
+ }
120
+ return propertyExtensionMetadataCtorSet;
121
+ }
122
+ resolvePropertyState() {
123
+ const propertyOptions = this.propertyOptions;
124
+ const propertyName = this.propertyName;
125
+ const alias = propertyOptions.alias;
126
+ const deserializedPropertyName = propertyName;
127
+ const typeArgument = propertyOptions.typeArgument === undefined
128
+ ? this.reflectTypeFn
129
+ : propertyOptions.typeArgument;
130
+ const typeMetadata = this.resolveTypeMetadata(typeArgument);
131
+ const typeState = typeMetadata.typeState;
132
+ const customValueMap = this.resolveCustomValueMap(typeState);
133
+ const preserveNull = propertyOptions.preserveNull === undefined
134
+ ? typeState.preserveNull
135
+ : propertyOptions.preserveNull;
136
+ const useDefaultValue = propertyOptions.useDefaultValue === undefined
137
+ ? typeState.useDefaultValue
138
+ : propertyOptions.useDefaultValue;
139
+ const useImplicitConversion = propertyOptions.useImplicitConversion === undefined
140
+ ? typeState.useImplicitConversion
141
+ : propertyOptions.useImplicitConversion;
142
+ const serializedDefaultValue = propertyOptions.defaultValue === undefined
143
+ ? (propertyOptions.serializedDefaultValue === undefined ? typeState.serializedDefaultValue : propertyOptions.serializedDefaultValue)
144
+ : propertyOptions.defaultValue;
145
+ const serializedDefaultValueResolver = useDefaultValue
146
+ ? (typeof serializedDefaultValue === 'function' ? serializedDefaultValue : () => serializedDefaultValue)
147
+ : DEFAULT_VALUE_RESOLVER;
148
+ const serializedNullValueResolver = preserveNull
149
+ ? NULL_VALUE_RESOLVER
150
+ : serializedDefaultValueResolver;
151
+ const deserializedDefaultValue = propertyOptions.defaultValue === undefined
152
+ ? (propertyOptions.deserializedDefaultValue === undefined ? typeState.deserializedDefaultValue : propertyOptions.deserializedDefaultValue)
153
+ : propertyOptions.defaultValue;
154
+ const deserializedDefaultValueResolver = useDefaultValue
155
+ ? (typeof deserializedDefaultValue === 'function' ? deserializedDefaultValue : () => deserializedDefaultValue)
156
+ : DEFAULT_VALUE_RESOLVER;
157
+ const deserializedNullValueResolver = preserveNull
158
+ ? NULL_VALUE_RESOLVER
159
+ : deserializedDefaultValueResolver;
160
+ const namingConvention = propertyOptions.namingConvention === undefined
161
+ ? this.declaringTypeMetadata.typeState.namingConvention
162
+ : propertyOptions.namingConvention;
163
+ const serializedPropertyName = alias === undefined
164
+ ? (namingConvention === undefined ? propertyName : namingConvention.convert(propertyName))
165
+ : alias;
166
+ const useDefaultSerialization = propertyOptions.serializable === undefined
167
+ && propertyOptions.deserializable === undefined;
168
+ const serializable = useDefaultSerialization
169
+ || propertyOptions.serializable === true;
170
+ const deserializable = useDefaultSerialization
171
+ || propertyOptions.deserializable === true;
172
+ const genericArguments = propertyOptions.genericArguments === undefined
173
+ ? EMPTY_ARRAY
174
+ : propertyOptions.genericArguments;
175
+ const genericMetadatas = this.resolveGenericMetadatas(genericArguments);
176
+ const referenceHandler = propertyOptions.referenceHandler === undefined
177
+ ? typeState.referenceHandler
178
+ : propertyOptions.referenceHandler;
179
+ const serializer = propertyOptions.serializer === undefined
180
+ ? typeState.serializer
181
+ : propertyOptions.serializer;
182
+ const resolvedPropertyState = new ResolvedPropertyState(this, alias, customValueMap, serializedNullValueResolver, serializedDefaultValueResolver, deserializedNullValueResolver, deserializedDefaultValueResolver, serializedPropertyName, deserializedPropertyName, serializable, deserializable, genericArguments, genericMetadatas, namingConvention, referenceHandler, serializer, typeArgument, typeMetadata, preserveNull, useDefaultValue, useImplicitConversion);
183
+ this.currentPropertyState = resolvedPropertyState;
184
+ return resolvedPropertyState;
185
+ }
186
+ unresolvePropertyState() {
187
+ const unresolvedPropertyState = new UnresolvedPropertyState(this);
188
+ this.currentPropertyState = unresolvedPropertyState;
189
+ return unresolvedPropertyState;
190
+ }
191
+ resolveCustomValueMap(typeState) {
192
+ const propertyOptions = this.propertyOptions;
193
+ const customValueMap = new Map();
194
+ if (propertyOptions.customValueMap === undefined) {
195
+ return customValueMap;
196
+ }
197
+ const typeCustomValueMap = typeState.customValueMap === undefined
198
+ ? EMPTY_MAP
199
+ : typeState.customValueMap;
200
+ for (const [customKey, customValue] of propertyOptions.customValueMap) {
201
+ if (customValue === undefined) {
202
+ customValueMap.set(customKey, typeCustomValueMap.get(customKey));
203
+ continue;
204
+ }
205
+ customValueMap.set(customKey, customValue);
206
+ }
207
+ return customValueMap;
149
208
  }
150
209
  hasAlias(alias) {
151
210
  this.propertyOptions.alias = alias;
211
+ this.currentPropertyState = new UnresolvedPropertyState(this);
152
212
  return this;
153
213
  }
154
- hasCustomOption(customKey, customValue) {
155
- this.customContext.set(customKey, customValue);
214
+ hasCustomValueMap(customValueMap) {
215
+ let currentCustomValueMap = this.propertyOptions.customValueMap;
216
+ if (currentCustomValueMap === undefined) {
217
+ currentCustomValueMap = new Map();
218
+ this.propertyOptions.customValueMap = currentCustomValueMap;
219
+ }
220
+ if (customValueMap !== undefined) {
221
+ if (currentCustomValueMap !== customValueMap) {
222
+ currentCustomValueMap.clear();
223
+ }
224
+ for (const [customKey, customValue] of customValueMap) {
225
+ currentCustomValueMap.set(customKey, customValue);
226
+ }
227
+ }
228
+ this.currentPropertyState = new UnresolvedPropertyState(this);
156
229
  return this;
157
230
  }
158
- extractCustomOption(customKey) {
159
- return this.customContext.get(customKey);
231
+ hasCustomValue(customKey, customValue) {
232
+ let customValueMap = this.propertyOptions.customValueMap;
233
+ if (customValueMap === undefined) {
234
+ customValueMap = new Map();
235
+ this.propertyOptions.customValueMap = customValueMap;
236
+ }
237
+ customValueMap.set(customKey, customValue);
238
+ this.currentPropertyState = new UnresolvedPropertyState(this);
239
+ return this;
240
+ }
241
+ extractCustomValue(customKey) {
242
+ let customValue = this.propertyState.customValueMap.get(customKey);
243
+ if (customValue === undefined && customKey.customValueResolver !== undefined) {
244
+ customValue = customKey.customValueResolver();
245
+ }
246
+ return customValue;
160
247
  }
161
248
  hasCustomOptions(customOptions) {
162
- if (!isNil(customOptions)) {
163
- this.customContext.configure(customOptions);
249
+ let customValueMap = this.propertyOptions.customValueMap;
250
+ if (customValueMap === undefined) {
251
+ customValueMap = new Map();
252
+ this.propertyOptions.customValueMap = customValueMap;
253
+ }
254
+ for (let i = 0; i < customOptions.length; i++) {
255
+ customValueMap.set(customOptions[i][0], customOptions[i][1]);
164
256
  }
257
+ this.currentPropertyState = new UnresolvedPropertyState(this);
165
258
  return this;
166
259
  }
167
260
  hasDefaultValue(defaultValue) {
168
261
  this.propertyOptions.defaultValue = defaultValue;
262
+ this.currentPropertyState = new UnresolvedPropertyState(this);
169
263
  return this;
170
264
  }
171
265
  hasSerializedDefaultValue(serializedDefaultValue) {
172
266
  this.propertyOptions.serializedDefaultValue = serializedDefaultValue;
267
+ this.currentPropertyState = new UnresolvedPropertyState(this);
173
268
  return this;
174
269
  }
175
270
  hasDeserializedDefaultValue(deserializedDefaultValue) {
176
271
  this.propertyOptions.deserializedDefaultValue = deserializedDefaultValue;
272
+ this.currentPropertyState = new UnresolvedPropertyState(this);
177
273
  return this;
178
274
  }
179
275
  isDeserializable(deserializable = true) {
180
276
  this.propertyOptions.deserializable = deserializable;
277
+ this.currentPropertyState = new UnresolvedPropertyState(this);
181
278
  return this;
182
279
  }
183
280
  isSerializable(serializable = true) {
184
281
  this.propertyOptions.serializable = serializable;
282
+ this.currentPropertyState = new UnresolvedPropertyState(this);
185
283
  return this;
186
284
  }
187
285
  hasGenericArguments(genericArguments) {
188
286
  this.propertyOptions.genericArguments = genericArguments;
189
- if (isNil(genericArguments)) {
190
- this.propertyInternals.genericStructures = undefined;
191
- this.propertyInternals.genericMetadataResolvers = undefined;
192
- return this;
193
- }
194
- const genericStructures = this.defineGenericStructures(genericArguments);
195
- this.propertyInternals.genericStructures = genericStructures;
196
- this.propertyInternals.genericMetadataResolvers = this.defineGenericMetadataResolvers(genericStructures);
287
+ this.currentPropertyState = new UnresolvedPropertyState(this);
197
288
  return this;
198
289
  }
199
290
  hasNamingConvention(namingConvention) {
200
291
  this.propertyOptions.namingConvention = namingConvention;
292
+ this.currentPropertyState = new UnresolvedPropertyState(this);
201
293
  return this;
202
294
  }
203
295
  hasReferenceHandler(referenceHandler) {
204
296
  this.propertyOptions.referenceHandler = referenceHandler;
297
+ this.currentPropertyState = new UnresolvedPropertyState(this);
205
298
  return this;
206
299
  }
207
300
  hasSerializer(serializer) {
208
301
  this.propertyOptions.serializer = serializer;
302
+ this.currentPropertyState = new UnresolvedPropertyState(this);
209
303
  return this;
210
304
  }
211
305
  hasTypeArgument(typeArgument) {
212
306
  this.propertyOptions.typeArgument = typeArgument !== null && typeArgument !== void 0 ? typeArgument : this.reflectTypeFn;
213
- this.propertyInternals.typeMetadataResolver = this.defineTypeMetadataResolver(this.propertyOptions.typeArgument);
307
+ this.currentPropertyState = new UnresolvedPropertyState(this);
214
308
  return this;
215
309
  }
216
310
  shouldPreserveNull(preserveNull = true) {
217
311
  this.propertyOptions.preserveNull = preserveNull;
312
+ this.currentPropertyState = new UnresolvedPropertyState(this);
218
313
  return this;
219
314
  }
220
315
  shouldUseDefaultValue(useDefaultValue = true) {
221
316
  this.propertyOptions.useDefaultValue = useDefaultValue;
317
+ this.currentPropertyState = new UnresolvedPropertyState(this);
222
318
  return this;
223
319
  }
224
320
  shouldUseImplicitConversion(useImplicitConversion = true) {
225
321
  this.propertyOptions.useImplicitConversion = useImplicitConversion;
322
+ this.currentPropertyState = new UnresolvedPropertyState(this);
226
323
  return this;
227
324
  }
228
- configurePropertyExtensionMetadata(propertyExtensionMetadataCtor, propertyExtensionOptions) {
229
- const propertyExtensionMetadataCtorSet = this.extractCustomOption(propertyExtensionMetadataCtorSetKey);
230
- if (!propertyExtensionMetadataCtorSet.has(propertyExtensionMetadataCtor)) {
231
- propertyExtensionMetadataCtorSet.add(propertyExtensionMetadataCtor);
232
- }
233
- const initialPropertyExtensionOptions = propertyExtensionOptions !== null && propertyExtensionOptions !== void 0 ? propertyExtensionOptions : {};
234
- const propertyExtensionMetadata = new propertyExtensionMetadataCtor(this, initialPropertyExtensionOptions);
235
- return propertyExtensionMetadata;
236
- }
237
- extractPropertyExtensionMetadata(propertyExtensionMetadataCtor) {
238
- const propertyExtensionMetadataCtorSet = this.extractCustomOption(propertyExtensionMetadataCtorSetKey);
239
- if (!propertyExtensionMetadataCtorSet.has(propertyExtensionMetadataCtor)) {
240
- return undefined;
241
- }
242
- const initialPropertyExtensionOptions = {};
243
- const propertyExtensionMetadata = new propertyExtensionMetadataCtor(this, initialPropertyExtensionOptions);
244
- return propertyExtensionMetadata;
245
- }
246
325
  configure(propertyOptions) {
247
- if (!isUndefined(propertyOptions.alias)) {
326
+ if (propertyOptions.alias !== undefined) {
248
327
  this.hasAlias(propertyOptions.alias);
249
328
  }
250
- if (!isUndefined(propertyOptions.customOptions)) {
251
- this.hasCustomOptions(propertyOptions.customOptions);
329
+ if (propertyOptions.customValueMap !== undefined) {
330
+ this.hasCustomValueMap(propertyOptions.customValueMap);
252
331
  }
253
- if (!isUndefined(propertyOptions.defaultValue)) {
332
+ if (propertyOptions.defaultValue !== undefined) {
254
333
  this.hasDefaultValue(propertyOptions.defaultValue);
255
334
  }
256
- if (!isUndefined(propertyOptions.serializedDefaultValue)) {
335
+ if (propertyOptions.serializedDefaultValue !== undefined) {
257
336
  this.hasSerializedDefaultValue(propertyOptions.serializedDefaultValue);
258
337
  }
259
- if (!isUndefined(propertyOptions.deserializedDefaultValue)) {
338
+ if (propertyOptions.deserializedDefaultValue !== undefined) {
260
339
  this.hasDeserializedDefaultValue(propertyOptions.deserializedDefaultValue);
261
340
  }
262
- if (!isUndefined(propertyOptions.deserializable)) {
341
+ if (propertyOptions.deserializable !== undefined) {
263
342
  this.isDeserializable(propertyOptions.deserializable);
264
343
  }
265
- if (!isUndefined(propertyOptions.genericArguments)) {
344
+ if (propertyOptions.genericArguments !== undefined) {
266
345
  this.hasGenericArguments(propertyOptions.genericArguments);
267
346
  }
268
- if (!isUndefined(propertyOptions.namingConvention)) {
347
+ if (propertyOptions.namingConvention !== undefined) {
269
348
  this.hasNamingConvention(propertyOptions.namingConvention);
270
349
  }
271
- if (!isUndefined(propertyOptions.referenceHandler)) {
350
+ if (propertyOptions.referenceHandler !== undefined) {
272
351
  this.hasReferenceHandler(propertyOptions.referenceHandler);
273
352
  }
274
- if (!isUndefined(propertyOptions.serializable)) {
353
+ if (propertyOptions.serializable !== undefined) {
275
354
  this.isSerializable(propertyOptions.serializable);
276
355
  }
277
- if (!isUndefined(propertyOptions.serializer)) {
356
+ if (propertyOptions.serializer !== undefined) {
278
357
  this.hasSerializer(propertyOptions.serializer);
279
358
  }
280
- if (!isUndefined(propertyOptions.typeArgument)) {
359
+ if (propertyOptions.typeArgument !== undefined) {
281
360
  this.hasTypeArgument(propertyOptions.typeArgument);
282
361
  }
283
- if (!isUndefined(propertyOptions.preserveNull)) {
362
+ if (propertyOptions.preserveNull !== undefined) {
284
363
  this.shouldPreserveNull(propertyOptions.preserveNull);
285
364
  }
286
- if (!isUndefined(propertyOptions.useDefaultValue)) {
365
+ if (propertyOptions.useDefaultValue !== undefined) {
287
366
  this.shouldUseDefaultValue(propertyOptions.useDefaultValue);
288
367
  }
289
- if (!isUndefined(propertyOptions.useImplicitConversion)) {
368
+ if (propertyOptions.useImplicitConversion !== undefined) {
290
369
  this.shouldUseImplicitConversion(propertyOptions.useImplicitConversion);
291
370
  }
292
371
  return this;
@@ -1 +1 @@
1
- {"version":3,"file":"property-metadata.js","sourceRoot":"","sources":["../../src/property-metadata.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"property-metadata.js","sourceRoot":"","sources":["../../src/property-metadata.ts"],"names":[],"mappings":"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"}
@@ -1,14 +1,6 @@
1
1
  export class AscPropertySorter {
2
2
  sort(x, y) {
3
- const a = x.propertyName.toLowerCase();
4
- const b = y.propertyName.toLowerCase();
5
- if (a < b) {
6
- return -1;
7
- }
8
- if (a > b) {
9
- return 1;
10
- }
11
- return 0;
3
+ return x.normalizedPropertyName.localeCompare(y.normalizedPropertyName);
12
4
  }
13
5
  }
14
6
  //# sourceMappingURL=asc-property-sorter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"asc-property-sorter.js","sourceRoot":"","sources":["../../../src/property-sorters/asc-property-sorter.ts"],"names":[],"mappings":"AASA,MAAM,OAAO,iBAAiB;IAWnB,IAAI,CAAQ,CAA+B,EAAE,CAA+B;QAE/E,MAAM,CAAC,GAAG,CAAC,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC;QACvC,MAAM,CAAC,GAAG,CAAC,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC;QAEvC,IAAI,CAAC,GAAG,CAAC,EACT;YACI,OAAO,CAAC,CAAC,CAAC;SACb;QAED,IAAI,CAAC,GAAG,CAAC,EACT;YACI,OAAO,CAAC,CAAC;SACZ;QAED,OAAO,CAAC,CAAC;IACb,CAAC;CACJ"}
1
+ {"version":3,"file":"asc-property-sorter.js","sourceRoot":"","sources":["../../../src/property-sorters/asc-property-sorter.ts"],"names":[],"mappings":"AASA,MAAM,OAAO,iBAAiB;IAWnB,IAAI,CAAU,CAAiC,EAAE,CAAiC;QAErF,OAAO,CAAC,CAAC,sBAAsB,CAAC,aAAa,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC;IAC5E,CAAC;CACJ"}
@@ -1,14 +1,6 @@
1
1
  export class DescPropertySorter {
2
2
  sort(x, y) {
3
- const a = x.propertyName.toLowerCase();
4
- const b = y.propertyName.toLowerCase();
5
- if (a < b) {
6
- return 1;
7
- }
8
- if (a > b) {
9
- return -1;
10
- }
11
- return 0;
3
+ return y.normalizedPropertyName.localeCompare(x.normalizedPropertyName);
12
4
  }
13
5
  }
14
6
  //# sourceMappingURL=desc-property-sorter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"desc-property-sorter.js","sourceRoot":"","sources":["../../../src/property-sorters/desc-property-sorter.ts"],"names":[],"mappings":"AASA,MAAM,OAAO,kBAAkB;IAWpB,IAAI,CAAQ,CAA+B,EAAE,CAA+B;QAE/E,MAAM,CAAC,GAAG,CAAC,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC;QACvC,MAAM,CAAC,GAAG,CAAC,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC;QAEvC,IAAI,CAAC,GAAG,CAAC,EACT;YACI,OAAO,CAAC,CAAC;SACZ;QAED,IAAI,CAAC,GAAG,CAAC,EACT;YACI,OAAO,CAAC,CAAC,CAAC;SACb;QAED,OAAO,CAAC,CAAC;IACb,CAAC;CACJ"}
1
+ {"version":3,"file":"desc-property-sorter.js","sourceRoot":"","sources":["../../../src/property-sorters/desc-property-sorter.ts"],"names":[],"mappings":"AASA,MAAM,OAAO,kBAAkB;IAWpB,IAAI,CAAU,CAAiC,EAAE,CAAiC;QAErF,OAAO,CAAC,CAAC,sBAAsB,CAAC,aAAa,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC;IAC5E,CAAC;CACJ"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=property-state.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"property-state.js","sourceRoot":"","sources":["../../src/property-state.ts"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ export * from './resolved-property-state';
2
+ export * from './unresolved-property-state';
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/property-states/index.ts"],"names":[],"mappings":"AAAA,cAAc,2BAA2B,CAAC;AAC1C,cAAc,6BAA6B,CAAC"}