@dipscope/type-manager 6.0.0 → 7.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 (446) hide show
  1. package/CHANGELOG.md +262 -247
  2. package/CONTRIBUTING.md +58 -58
  3. package/LICENSE.md +201 -201
  4. package/README.md +1901 -1887
  5. package/dist/es2015/alias.js +1 -1
  6. package/dist/es2015/any.js +2 -2
  7. package/dist/es2015/custom-context.js +58 -0
  8. package/dist/es2015/custom-context.js.map +1 -0
  9. package/dist/es2015/custom-key.js +8 -0
  10. package/dist/es2015/custom-key.js.map +1 -0
  11. package/dist/es2015/custom-option.js +2 -0
  12. package/dist/es2015/custom-option.js.map +1 -0
  13. package/dist/es2015/custom-value-resolver.js +2 -0
  14. package/dist/es2015/custom-value-resolver.js.map +1 -0
  15. package/dist/es2015/custom-value.js +2 -0
  16. package/dist/es2015/custom-value.js.map +1 -0
  17. package/dist/es2015/default-value-resolver.js +1 -1
  18. package/dist/es2015/default-value.js +1 -1
  19. package/dist/es2015/discriminant.js +1 -1
  20. package/dist/es2015/discriminator.js +1 -1
  21. package/dist/es2015/factories/index.js +1 -1
  22. package/dist/es2015/factories/type-factory.js +33 -33
  23. package/dist/es2015/factory.js +1 -1
  24. package/dist/es2015/functions/get-own-reflect-metadata.js +7 -7
  25. package/dist/es2015/functions/get-reflect-metadata.js +7 -7
  26. package/dist/es2015/functions/get-words.js +4 -4
  27. package/dist/es2015/functions/index.js +18 -18
  28. package/dist/es2015/functions/is-arrow-function.js +4 -4
  29. package/dist/es2015/functions/is-ctor-function.js +4 -4
  30. package/dist/es2015/functions/is-data-view.js +3 -3
  31. package/dist/es2015/functions/is-float-32-array.js +3 -3
  32. package/dist/es2015/functions/is-float-64-array.js +3 -3
  33. package/dist/es2015/functions/is-int-16-array.js +3 -3
  34. package/dist/es2015/functions/is-int-32-array.js +3 -3
  35. package/dist/es2015/functions/is-int-8-array.js +3 -3
  36. package/dist/es2015/functions/is-uint-16-array.js +3 -3
  37. package/dist/es2015/functions/is-uint-32-array.js +3 -3
  38. package/dist/es2015/functions/is-uint-8-array.js +3 -3
  39. package/dist/es2015/functions/is-uint-8-clamped-array.js +3 -3
  40. package/dist/es2015/functions/json-parse.js +3 -3
  41. package/dist/es2015/functions/json-stringify.js +66 -66
  42. package/dist/es2015/functions/name-of.js +7 -7
  43. package/dist/es2015/generic-argument.js +1 -1
  44. package/dist/es2015/generic-metadata-resolver.js +1 -1
  45. package/dist/es2015/generic-metadata.js +1 -1
  46. package/dist/es2015/generic-structure.js +1 -1
  47. package/dist/es2015/index.js +70 -66
  48. package/dist/es2015/index.js.map +1 -1
  49. package/dist/es2015/inject-index.js +1 -1
  50. package/dist/es2015/inject-internals.js +1 -1
  51. package/dist/es2015/inject-metadata.js +62 -62
  52. package/dist/es2015/inject-metadata.js.map +1 -1
  53. package/dist/es2015/inject-options.js +1 -1
  54. package/dist/es2015/inject-sorter.js +1 -1
  55. package/dist/es2015/inject-sorters/asc-inject-sorter.js +13 -13
  56. package/dist/es2015/inject-sorters/desc-inject-sorter.js +13 -13
  57. package/dist/es2015/inject-sorters/index.js +2 -2
  58. package/dist/es2015/inject.js +23 -23
  59. package/dist/es2015/injector.js +1 -1
  60. package/dist/es2015/injectors/index.js +1 -1
  61. package/dist/es2015/injectors/singleton-injector.js +30 -30
  62. package/dist/es2015/log-level.js +7 -7
  63. package/dist/es2015/log.js +49 -49
  64. package/dist/es2015/metadata.js +80 -80
  65. package/dist/es2015/metadata.js.map +1 -1
  66. package/dist/es2015/naming-convention.js +1 -1
  67. package/dist/es2015/naming-conventions/camel-case-naming-convention.js +16 -16
  68. package/dist/es2015/naming-conventions/flat-case-naming-convention.js +12 -12
  69. package/dist/es2015/naming-conventions/flat-upper-case-naming-convention.js +12 -12
  70. package/dist/es2015/naming-conventions/index.js +8 -8
  71. package/dist/es2015/naming-conventions/kebab-case-naming-convention.js +16 -16
  72. package/dist/es2015/naming-conventions/kebab-upper-case-naming-convention.js +16 -16
  73. package/dist/es2015/naming-conventions/pascal-case-naming-convention.js +17 -17
  74. package/dist/es2015/naming-conventions/snake-case-naming-convention.js +16 -16
  75. package/dist/es2015/naming-conventions/snake-upper-case-naming-convention.js +16 -16
  76. package/dist/es2015/property-internals.js +1 -1
  77. package/dist/es2015/property-metadata.js +268 -258
  78. package/dist/es2015/property-metadata.js.map +1 -1
  79. package/dist/es2015/property-name.js +1 -1
  80. package/dist/es2015/property-options.js +1 -1
  81. package/dist/es2015/property-sorter.js +1 -1
  82. package/dist/es2015/property-sorters/asc-property-sorter.js +13 -13
  83. package/dist/es2015/property-sorters/desc-property-sorter.js +13 -13
  84. package/dist/es2015/property-sorters/index.js +2 -2
  85. package/dist/es2015/property.js +38 -38
  86. package/dist/es2015/reference-callback.js +1 -1
  87. package/dist/es2015/reference-handler.js +1 -1
  88. package/dist/es2015/reference-handlers/circular-reference-handler.js +35 -35
  89. package/dist/es2015/reference-handlers/index.js +3 -3
  90. package/dist/es2015/reference-handlers/json-path-reference-handler.js +68 -68
  91. package/dist/es2015/reference-handlers/plain-reference-handler.js +31 -31
  92. package/dist/es2015/reference-key.js +1 -1
  93. package/dist/es2015/reference-value-getter.js +1 -1
  94. package/dist/es2015/reference-value-setter.js +1 -1
  95. package/dist/es2015/reference-value.js +1 -1
  96. package/dist/es2015/serializer-context-options.js +1 -1
  97. package/dist/es2015/serializer-context.js +281 -294
  98. package/dist/es2015/serializer-context.js.map +1 -1
  99. package/dist/es2015/serializer.js +1 -1
  100. package/dist/es2015/serializers/any-serializer.js +21 -21
  101. package/dist/es2015/serializers/array-buffer-serializer.js +40 -40
  102. package/dist/es2015/serializers/array-serializer.js +59 -59
  103. package/dist/es2015/serializers/boolean-serializer.js +54 -54
  104. package/dist/es2015/serializers/data-view-serializer.js +41 -41
  105. package/dist/es2015/serializers/date-serializer.js +33 -33
  106. package/dist/es2015/serializers/float-32-array-serializer.js +34 -34
  107. package/dist/es2015/serializers/float-64-array-serializer.js +34 -34
  108. package/dist/es2015/serializers/index.js +21 -21
  109. package/dist/es2015/serializers/int-16-array-serializer.js +34 -34
  110. package/dist/es2015/serializers/int-32-array-serializer.js +34 -34
  111. package/dist/es2015/serializers/int-8-array-serializer.js +34 -34
  112. package/dist/es2015/serializers/map-serializer.js +95 -95
  113. package/dist/es2015/serializers/number-serializer.js +48 -48
  114. package/dist/es2015/serializers/set-serializer.js +61 -61
  115. package/dist/es2015/serializers/string-serializer.js +54 -54
  116. package/dist/es2015/serializers/type-serializer.js +120 -120
  117. package/dist/es2015/serializers/uint-16-array-serializer.js +34 -34
  118. package/dist/es2015/serializers/uint-32-array-serializer.js +34 -34
  119. package/dist/es2015/serializers/uint-8-array-serializer.js +34 -34
  120. package/dist/es2015/serializers/uint-8-clamped-array-serializer.js +34 -34
  121. package/dist/es2015/serializers/unknown-serializer.js +21 -21
  122. package/dist/es2015/type-abstraction.js +1 -1
  123. package/dist/es2015/type-argument.js +1 -1
  124. package/dist/es2015/type-configuration.js +1 -1
  125. package/dist/es2015/type-context-entry.js +8 -8
  126. package/dist/es2015/type-context.js +30 -24
  127. package/dist/es2015/type-context.js.map +1 -1
  128. package/dist/es2015/type-ctor.js +1 -1
  129. package/dist/es2015/type-fn.js +1 -1
  130. package/dist/es2015/type-internals.js +2 -0
  131. package/dist/es2015/type-internals.js.map +1 -0
  132. package/dist/es2015/type-like.js +1 -1
  133. package/dist/es2015/type-manager-options.js +1 -1
  134. package/dist/es2015/type-manager.js +319 -313
  135. package/dist/es2015/type-manager.js.map +1 -1
  136. package/dist/es2015/type-metadata-resolver.js +1 -1
  137. package/dist/es2015/type-metadata-symbol.js +1 -1
  138. package/dist/es2015/type-metadata.js +413 -398
  139. package/dist/es2015/type-metadata.js.map +1 -1
  140. package/dist/es2015/type-name.js +1 -1
  141. package/dist/es2015/type-options-base.js +1 -1
  142. package/dist/es2015/type-options.js +1 -1
  143. package/dist/es2015/type-resolver.js +1 -1
  144. package/dist/es2015/type.js +7 -7
  145. package/dist/es2015/unknown.js +2 -2
  146. package/dist/es5/alias.js +1 -1
  147. package/dist/es5/any.js +6 -6
  148. package/dist/es5/custom-context.js +94 -0
  149. package/dist/es5/custom-context.js.map +1 -0
  150. package/dist/es5/custom-key.js +10 -0
  151. package/dist/es5/custom-key.js.map +1 -0
  152. package/dist/es5/custom-option.js +2 -0
  153. package/dist/es5/custom-option.js.map +1 -0
  154. package/dist/es5/custom-value-resolver.js +2 -0
  155. package/dist/es5/custom-value-resolver.js.map +1 -0
  156. package/dist/es5/custom-value.js +2 -0
  157. package/dist/es5/custom-value.js.map +1 -0
  158. package/dist/es5/default-value-resolver.js +1 -1
  159. package/dist/es5/default-value.js +1 -1
  160. package/dist/es5/discriminant.js +1 -1
  161. package/dist/es5/discriminator.js +1 -1
  162. package/dist/es5/factories/index.js +1 -1
  163. package/dist/es5/factories/type-factory.js +59 -59
  164. package/dist/es5/factory.js +1 -1
  165. package/dist/es5/functions/get-own-reflect-metadata.js +7 -7
  166. package/dist/es5/functions/get-reflect-metadata.js +7 -7
  167. package/dist/es5/functions/get-words.js +4 -4
  168. package/dist/es5/functions/index.js +18 -18
  169. package/dist/es5/functions/is-arrow-function.js +4 -4
  170. package/dist/es5/functions/is-ctor-function.js +4 -4
  171. package/dist/es5/functions/is-data-view.js +3 -3
  172. package/dist/es5/functions/is-float-32-array.js +3 -3
  173. package/dist/es5/functions/is-float-64-array.js +3 -3
  174. package/dist/es5/functions/is-int-16-array.js +3 -3
  175. package/dist/es5/functions/is-int-32-array.js +3 -3
  176. package/dist/es5/functions/is-int-8-array.js +3 -3
  177. package/dist/es5/functions/is-uint-16-array.js +3 -3
  178. package/dist/es5/functions/is-uint-32-array.js +3 -3
  179. package/dist/es5/functions/is-uint-8-array.js +3 -3
  180. package/dist/es5/functions/is-uint-8-clamped-array.js +3 -3
  181. package/dist/es5/functions/json-parse.js +3 -3
  182. package/dist/es5/functions/json-stringify.js +66 -66
  183. package/dist/es5/functions/name-of.js +7 -7
  184. package/dist/es5/generic-argument.js +1 -1
  185. package/dist/es5/generic-metadata-resolver.js +1 -1
  186. package/dist/es5/generic-metadata.js +1 -1
  187. package/dist/es5/generic-structure.js +1 -1
  188. package/dist/es5/index.js +70 -66
  189. package/dist/es5/index.js.map +1 -1
  190. package/dist/es5/inject-index.js +1 -1
  191. package/dist/es5/inject-internals.js +1 -1
  192. package/dist/es5/inject-metadata.js +83 -83
  193. package/dist/es5/inject-metadata.js.map +1 -1
  194. package/dist/es5/inject-options.js +1 -1
  195. package/dist/es5/inject-sorter.js +1 -1
  196. package/dist/es5/inject-sorters/asc-inject-sorter.js +17 -17
  197. package/dist/es5/inject-sorters/desc-inject-sorter.js +17 -17
  198. package/dist/es5/inject-sorters/index.js +2 -2
  199. package/dist/es5/inject.js +23 -23
  200. package/dist/es5/injector.js +1 -1
  201. package/dist/es5/injectors/index.js +1 -1
  202. package/dist/es5/injectors/singleton-injector.js +44 -44
  203. package/dist/es5/log-level.js +7 -7
  204. package/dist/es5/log.js +64 -64
  205. package/dist/es5/metadata.js +105 -105
  206. package/dist/es5/metadata.js.map +1 -1
  207. package/dist/es5/naming-convention.js +1 -1
  208. package/dist/es5/naming-conventions/camel-case-naming-convention.js +20 -20
  209. package/dist/es5/naming-conventions/flat-case-naming-convention.js +16 -16
  210. package/dist/es5/naming-conventions/flat-upper-case-naming-convention.js +16 -16
  211. package/dist/es5/naming-conventions/index.js +8 -8
  212. package/dist/es5/naming-conventions/kebab-case-naming-convention.js +20 -20
  213. package/dist/es5/naming-conventions/kebab-upper-case-naming-convention.js +20 -20
  214. package/dist/es5/naming-conventions/pascal-case-naming-convention.js +21 -21
  215. package/dist/es5/naming-conventions/snake-case-naming-convention.js +20 -20
  216. package/dist/es5/naming-conventions/snake-upper-case-naming-convention.js +20 -20
  217. package/dist/es5/property-internals.js +1 -1
  218. package/dist/es5/property-metadata.js +377 -363
  219. package/dist/es5/property-metadata.js.map +1 -1
  220. package/dist/es5/property-name.js +1 -1
  221. package/dist/es5/property-options.js +1 -1
  222. package/dist/es5/property-sorter.js +1 -1
  223. package/dist/es5/property-sorters/asc-property-sorter.js +17 -17
  224. package/dist/es5/property-sorters/desc-property-sorter.js +17 -17
  225. package/dist/es5/property-sorters/index.js +2 -2
  226. package/dist/es5/property.js +38 -38
  227. package/dist/es5/reference-callback.js +1 -1
  228. package/dist/es5/reference-handler.js +1 -1
  229. package/dist/es5/reference-handlers/circular-reference-handler.js +39 -39
  230. package/dist/es5/reference-handlers/index.js +3 -3
  231. package/dist/es5/reference-handlers/json-path-reference-handler.js +92 -92
  232. package/dist/es5/reference-handlers/plain-reference-handler.js +35 -35
  233. package/dist/es5/reference-key.js +1 -1
  234. package/dist/es5/reference-value-getter.js +1 -1
  235. package/dist/es5/reference-value-setter.js +1 -1
  236. package/dist/es5/reference-value.js +1 -1
  237. package/dist/es5/serializer-context-options.js +1 -1
  238. package/dist/es5/serializer-context.js +416 -433
  239. package/dist/es5/serializer-context.js.map +1 -1
  240. package/dist/es5/serializer.js +1 -1
  241. package/dist/es5/serializers/any-serializer.js +25 -25
  242. package/dist/es5/serializers/array-buffer-serializer.js +44 -44
  243. package/dist/es5/serializers/array-serializer.js +69 -69
  244. package/dist/es5/serializers/boolean-serializer.js +58 -58
  245. package/dist/es5/serializers/data-view-serializer.js +45 -45
  246. package/dist/es5/serializers/date-serializer.js +37 -37
  247. package/dist/es5/serializers/float-32-array-serializer.js +38 -38
  248. package/dist/es5/serializers/float-64-array-serializer.js +38 -38
  249. package/dist/es5/serializers/index.js +21 -21
  250. package/dist/es5/serializers/int-16-array-serializer.js +38 -38
  251. package/dist/es5/serializers/int-32-array-serializer.js +38 -38
  252. package/dist/es5/serializers/int-8-array-serializer.js +38 -38
  253. package/dist/es5/serializers/map-serializer.js +114 -114
  254. package/dist/es5/serializers/number-serializer.js +52 -52
  255. package/dist/es5/serializers/set-serializer.js +77 -77
  256. package/dist/es5/serializers/string-serializer.js +58 -58
  257. package/dist/es5/serializers/type-serializer.js +153 -153
  258. package/dist/es5/serializers/uint-16-array-serializer.js +38 -38
  259. package/dist/es5/serializers/uint-32-array-serializer.js +38 -38
  260. package/dist/es5/serializers/uint-8-array-serializer.js +38 -38
  261. package/dist/es5/serializers/uint-8-clamped-array-serializer.js +38 -38
  262. package/dist/es5/serializers/unknown-serializer.js +25 -25
  263. package/dist/es5/type-abstraction.js +1 -1
  264. package/dist/es5/type-argument.js +1 -1
  265. package/dist/es5/type-configuration.js +1 -1
  266. package/dist/es5/type-context-entry.js +10 -10
  267. package/dist/es5/type-context.js +32 -26
  268. package/dist/es5/type-context.js.map +1 -1
  269. package/dist/es5/type-ctor.js +1 -1
  270. package/dist/es5/type-fn.js +1 -1
  271. package/dist/es5/type-internals.js +2 -0
  272. package/dist/es5/type-internals.js.map +1 -0
  273. package/dist/es5/type-like.js +1 -1
  274. package/dist/es5/type-manager-options.js +1 -1
  275. package/dist/es5/type-manager.js +412 -406
  276. package/dist/es5/type-manager.js.map +1 -1
  277. package/dist/es5/type-metadata-resolver.js +1 -1
  278. package/dist/es5/type-metadata-symbol.js +1 -1
  279. package/dist/es5/type-metadata.js +563 -544
  280. package/dist/es5/type-metadata.js.map +1 -1
  281. package/dist/es5/type-name.js +1 -1
  282. package/dist/es5/type-options-base.js +1 -1
  283. package/dist/es5/type-options.js +1 -1
  284. package/dist/es5/type-resolver.js +1 -1
  285. package/dist/es5/type.js +7 -7
  286. package/dist/es5/unknown.js +6 -6
  287. package/dist/types/alias.d.ts +6 -6
  288. package/dist/types/any.d.ts +9 -9
  289. package/dist/types/custom-context.d.ts +89 -0
  290. package/dist/types/custom-context.d.ts.map +1 -0
  291. package/dist/types/custom-key.d.ts +29 -0
  292. package/dist/types/custom-key.d.ts.map +1 -0
  293. package/dist/types/custom-option.d.ts +11 -0
  294. package/dist/types/custom-option.d.ts.map +1 -0
  295. package/dist/types/custom-value-resolver.d.ts +7 -0
  296. package/dist/types/custom-value-resolver.d.ts.map +1 -0
  297. package/dist/types/custom-value.d.ts +7 -0
  298. package/dist/types/custom-value.d.ts.map +1 -0
  299. package/dist/types/default-value-resolver.d.ts +7 -7
  300. package/dist/types/default-value.d.ts +7 -7
  301. package/dist/types/discriminant.d.ts +8 -8
  302. package/dist/types/discriminator.d.ts +6 -6
  303. package/dist/types/factories/index.d.ts +1 -1
  304. package/dist/types/factories/type-factory.d.ts +19 -19
  305. package/dist/types/factory.d.ts +18 -18
  306. package/dist/types/functions/get-own-reflect-metadata.d.ts +9 -9
  307. package/dist/types/functions/get-reflect-metadata.d.ts +10 -10
  308. package/dist/types/functions/get-words.d.ts +8 -8
  309. package/dist/types/functions/index.d.ts +18 -18
  310. package/dist/types/functions/is-arrow-function.d.ts +8 -8
  311. package/dist/types/functions/is-ctor-function.d.ts +8 -8
  312. package/dist/types/functions/is-data-view.d.ts +8 -8
  313. package/dist/types/functions/is-float-32-array.d.ts +8 -8
  314. package/dist/types/functions/is-float-64-array.d.ts +8 -8
  315. package/dist/types/functions/is-int-16-array.d.ts +8 -8
  316. package/dist/types/functions/is-int-32-array.d.ts +8 -8
  317. package/dist/types/functions/is-int-8-array.d.ts +8 -8
  318. package/dist/types/functions/is-uint-16-array.d.ts +8 -8
  319. package/dist/types/functions/is-uint-32-array.d.ts +8 -8
  320. package/dist/types/functions/is-uint-8-array.d.ts +8 -8
  321. package/dist/types/functions/is-uint-8-clamped-array.d.ts +8 -8
  322. package/dist/types/functions/json-parse.d.ts +9 -9
  323. package/dist/types/functions/json-stringify.d.ts +10 -10
  324. package/dist/types/functions/name-of.d.ts +8 -8
  325. package/dist/types/generic-argument.d.ts +7 -7
  326. package/dist/types/generic-metadata-resolver.d.ts +7 -7
  327. package/dist/types/generic-metadata.d.ts +7 -7
  328. package/dist/types/generic-structure.d.ts +7 -7
  329. package/dist/types/index.d.ts +70 -66
  330. package/dist/types/index.d.ts.map +1 -1
  331. package/dist/types/inject-index.d.ts +6 -6
  332. package/dist/types/inject-internals.d.ts +14 -14
  333. package/dist/types/inject-internals.d.ts.map +1 -1
  334. package/dist/types/inject-metadata.d.ts +117 -117
  335. package/dist/types/inject-metadata.d.ts.map +1 -1
  336. package/dist/types/inject-options.d.ts +22 -22
  337. package/dist/types/inject-sorter.d.ts +19 -19
  338. package/dist/types/inject-sorters/asc-inject-sorter.d.ts +20 -20
  339. package/dist/types/inject-sorters/desc-inject-sorter.d.ts +20 -20
  340. package/dist/types/inject-sorters/index.d.ts +2 -2
  341. package/dist/types/inject.d.ts +10 -10
  342. package/dist/types/injector.d.ts +16 -16
  343. package/dist/types/injectors/index.d.ts +1 -1
  344. package/dist/types/injectors/singleton-injector.d.ts +31 -31
  345. package/dist/types/log-level.d.ts +11 -11
  346. package/dist/types/log.d.ts +95 -95
  347. package/dist/types/metadata.d.ts +99 -100
  348. package/dist/types/metadata.d.ts.map +1 -1
  349. package/dist/types/naming-convention.d.ts +15 -15
  350. package/dist/types/naming-conventions/camel-case-naming-convention.d.ts +26 -26
  351. package/dist/types/naming-conventions/flat-case-naming-convention.d.ts +25 -25
  352. package/dist/types/naming-conventions/flat-upper-case-naming-convention.d.ts +25 -25
  353. package/dist/types/naming-conventions/index.d.ts +8 -8
  354. package/dist/types/naming-conventions/kebab-case-naming-convention.d.ts +26 -26
  355. package/dist/types/naming-conventions/kebab-upper-case-naming-convention.d.ts +26 -26
  356. package/dist/types/naming-conventions/pascal-case-naming-convention.d.ts +26 -26
  357. package/dist/types/naming-conventions/snake-case-naming-convention.d.ts +26 -26
  358. package/dist/types/naming-conventions/snake-upper-case-naming-convention.d.ts +26 -26
  359. package/dist/types/property-internals.d.ts +35 -28
  360. package/dist/types/property-internals.d.ts.map +1 -1
  361. package/dist/types/property-metadata.d.ts +359 -352
  362. package/dist/types/property-metadata.d.ts.map +1 -1
  363. package/dist/types/property-name.d.ts +6 -6
  364. package/dist/types/property-options.d.ts +116 -116
  365. package/dist/types/property-options.d.ts.map +1 -1
  366. package/dist/types/property-sorter.d.ts +19 -19
  367. package/dist/types/property-sorters/asc-property-sorter.d.ts +20 -20
  368. package/dist/types/property-sorters/desc-property-sorter.d.ts +20 -20
  369. package/dist/types/property-sorters/index.d.ts +2 -2
  370. package/dist/types/property.d.ts +13 -13
  371. package/dist/types/reference-callback.d.ts +7 -7
  372. package/dist/types/reference-handler.d.ts +31 -31
  373. package/dist/types/reference-handlers/circular-reference-handler.d.ts +32 -32
  374. package/dist/types/reference-handlers/index.d.ts +3 -3
  375. package/dist/types/reference-handlers/json-path-reference-handler.d.ts +55 -55
  376. package/dist/types/reference-handlers/plain-reference-handler.d.ts +33 -33
  377. package/dist/types/reference-key.d.ts +6 -6
  378. package/dist/types/reference-value-getter.d.ts +7 -7
  379. package/dist/types/reference-value-setter.d.ts +7 -7
  380. package/dist/types/reference-value.d.ts +6 -6
  381. package/dist/types/serializer-context-options.d.ts +50 -50
  382. package/dist/types/serializer-context.d.ts +418 -425
  383. package/dist/types/serializer-context.d.ts.map +1 -1
  384. package/dist/types/serializer.d.ts +27 -27
  385. package/dist/types/serializers/any-serializer.d.ts +28 -28
  386. package/dist/types/serializers/array-buffer-serializer.d.ts +28 -28
  387. package/dist/types/serializers/array-serializer.d.ts +28 -28
  388. package/dist/types/serializers/boolean-serializer.d.ts +37 -37
  389. package/dist/types/serializers/data-view-serializer.d.ts +28 -28
  390. package/dist/types/serializers/date-serializer.d.ts +28 -28
  391. package/dist/types/serializers/float-32-array-serializer.d.ts +28 -28
  392. package/dist/types/serializers/float-64-array-serializer.d.ts +28 -28
  393. package/dist/types/serializers/index.d.ts +21 -21
  394. package/dist/types/serializers/int-16-array-serializer.d.ts +28 -28
  395. package/dist/types/serializers/int-32-array-serializer.d.ts +28 -28
  396. package/dist/types/serializers/int-8-array-serializer.d.ts +28 -28
  397. package/dist/types/serializers/map-serializer.d.ts +28 -28
  398. package/dist/types/serializers/number-serializer.d.ts +37 -37
  399. package/dist/types/serializers/set-serializer.d.ts +28 -28
  400. package/dist/types/serializers/string-serializer.d.ts +37 -37
  401. package/dist/types/serializers/type-serializer.d.ts +28 -28
  402. package/dist/types/serializers/uint-16-array-serializer.d.ts +28 -28
  403. package/dist/types/serializers/uint-32-array-serializer.d.ts +28 -28
  404. package/dist/types/serializers/uint-8-array-serializer.d.ts +28 -28
  405. package/dist/types/serializers/uint-8-clamped-array-serializer.d.ts +28 -28
  406. package/dist/types/serializers/unknown-serializer.d.ts +28 -28
  407. package/dist/types/type-abstraction.d.ts +6 -6
  408. package/dist/types/type-argument.d.ts +9 -9
  409. package/dist/types/type-configuration.d.ts +16 -16
  410. package/dist/types/type-context-entry.d.ts +36 -36
  411. package/dist/types/type-context.d.ts +70 -58
  412. package/dist/types/type-context.d.ts.map +1 -1
  413. package/dist/types/type-ctor.d.ts +6 -6
  414. package/dist/types/type-fn.d.ts +8 -8
  415. package/dist/types/type-internals.d.ts +15 -0
  416. package/dist/types/type-internals.d.ts.map +1 -0
  417. package/dist/types/type-like.d.ts +7 -7
  418. package/dist/types/type-manager-options.d.ts +33 -33
  419. package/dist/types/type-manager.d.ts +413 -397
  420. package/dist/types/type-manager.d.ts.map +1 -1
  421. package/dist/types/type-metadata-resolver.d.ts +8 -8
  422. package/dist/types/type-metadata-symbol.d.ts +6 -6
  423. package/dist/types/type-metadata.d.ts +513 -495
  424. package/dist/types/type-metadata.d.ts.map +1 -1
  425. package/dist/types/type-name.d.ts +6 -6
  426. package/dist/types/type-options-base.d.ts +106 -106
  427. package/dist/types/type-options-base.d.ts.map +1 -1
  428. package/dist/types/type-options.d.ts +72 -72
  429. package/dist/types/type-resolver.d.ts +7 -7
  430. package/dist/types/type.d.ts +9 -9
  431. package/dist/types/unknown.d.ts +9 -9
  432. package/dist/umd/index.js +1 -1
  433. package/dist/umd/index.js.map +1 -1
  434. package/package.json +63 -63
  435. package/dist/es2015/custom-data.js +0 -2
  436. package/dist/es2015/custom-data.js.map +0 -1
  437. package/dist/es2015/type-metadata-extractor.js +0 -2
  438. package/dist/es2015/type-metadata-extractor.js.map +0 -1
  439. package/dist/es5/custom-data.js +0 -2
  440. package/dist/es5/custom-data.js.map +0 -1
  441. package/dist/es5/type-metadata-extractor.js +0 -2
  442. package/dist/es5/type-metadata-extractor.js.map +0 -1
  443. package/dist/types/custom-data.d.ts +0 -7
  444. package/dist/types/custom-data.d.ts.map +0 -1
  445. package/dist/types/type-metadata-extractor.d.ts +0 -9
  446. package/dist/types/type-metadata-extractor.d.ts.map +0 -1
@@ -1,35 +1,35 @@
1
- import { isArray, isNull, isUndefined } from 'lodash';
2
- import { isFloat64Array } from '../functions/is-float-64-array';
3
- export class Float64ArraySerializer {
4
- serialize(x, serializerContext) {
5
- if (isUndefined(x)) {
6
- return serializerContext.serializedDefaultValue;
7
- }
8
- if (isNull(x)) {
9
- return serializerContext.serializedNullValue;
10
- }
11
- if (isFloat64Array(x)) {
12
- return Array.from(x);
13
- }
14
- if (serializerContext.log.errorEnabled) {
15
- serializerContext.log.error(`${serializerContext.jsonPath}: cannot serialize value as float 64 array.`, x);
16
- }
17
- return undefined;
18
- }
19
- deserialize(x, serializerContext) {
20
- if (isUndefined(x)) {
21
- return serializerContext.deserializedDefaultValue;
22
- }
23
- if (isNull(x)) {
24
- return serializerContext.deserializedNullValue;
25
- }
26
- if (isArray(x)) {
27
- return Float64Array.from(x);
28
- }
29
- if (serializerContext.log.errorEnabled) {
30
- serializerContext.log.error(`${serializerContext.jsonPath}: cannot deserialize value to a float 64 array.`, x);
31
- }
32
- return undefined;
33
- }
34
- }
1
+ import { isArray, isNull, isUndefined } from 'lodash';
2
+ import { isFloat64Array } from '../functions/is-float-64-array';
3
+ export class Float64ArraySerializer {
4
+ serialize(x, serializerContext) {
5
+ if (isUndefined(x)) {
6
+ return serializerContext.serializedDefaultValue;
7
+ }
8
+ if (isNull(x)) {
9
+ return serializerContext.serializedNullValue;
10
+ }
11
+ if (isFloat64Array(x)) {
12
+ return Array.from(x);
13
+ }
14
+ if (serializerContext.log.errorEnabled) {
15
+ serializerContext.log.error(`${serializerContext.jsonPath}: cannot serialize value as float 64 array.`, x);
16
+ }
17
+ return undefined;
18
+ }
19
+ deserialize(x, serializerContext) {
20
+ if (isUndefined(x)) {
21
+ return serializerContext.deserializedDefaultValue;
22
+ }
23
+ if (isNull(x)) {
24
+ return serializerContext.deserializedNullValue;
25
+ }
26
+ if (isArray(x)) {
27
+ return Float64Array.from(x);
28
+ }
29
+ if (serializerContext.log.errorEnabled) {
30
+ serializerContext.log.error(`${serializerContext.jsonPath}: cannot deserialize value to a float 64 array.`, x);
31
+ }
32
+ return undefined;
33
+ }
34
+ }
35
35
  //# sourceMappingURL=float-64-array-serializer.js.map
@@ -1,22 +1,22 @@
1
- export * from './any-serializer';
2
- export * from './array-buffer-serializer';
3
- export * from './array-serializer';
4
- export * from './boolean-serializer';
5
- export * from './data-view-serializer';
6
- export * from './date-serializer';
7
- export * from './float-32-array-serializer';
8
- export * from './float-64-array-serializer';
9
- export * from './int-8-array-serializer';
10
- export * from './int-16-array-serializer';
11
- export * from './int-32-array-serializer';
12
- export * from './map-serializer';
13
- export * from './number-serializer';
14
- export * from './set-serializer';
15
- export * from './string-serializer';
16
- export * from './type-serializer';
17
- export * from './uint-8-array-serializer';
18
- export * from './uint-8-clamped-array-serializer';
19
- export * from './uint-16-array-serializer';
20
- export * from './uint-32-array-serializer';
21
- export * from './unknown-serializer';
1
+ export * from './any-serializer';
2
+ export * from './array-buffer-serializer';
3
+ export * from './array-serializer';
4
+ export * from './boolean-serializer';
5
+ export * from './data-view-serializer';
6
+ export * from './date-serializer';
7
+ export * from './float-32-array-serializer';
8
+ export * from './float-64-array-serializer';
9
+ export * from './int-8-array-serializer';
10
+ export * from './int-16-array-serializer';
11
+ export * from './int-32-array-serializer';
12
+ export * from './map-serializer';
13
+ export * from './number-serializer';
14
+ export * from './set-serializer';
15
+ export * from './string-serializer';
16
+ export * from './type-serializer';
17
+ export * from './uint-8-array-serializer';
18
+ export * from './uint-8-clamped-array-serializer';
19
+ export * from './uint-16-array-serializer';
20
+ export * from './uint-32-array-serializer';
21
+ export * from './unknown-serializer';
22
22
  //# sourceMappingURL=index.js.map
@@ -1,35 +1,35 @@
1
- import { isArray, isNull, isUndefined } from 'lodash';
2
- import { isInt16Array } from '../functions/is-int-16-array';
3
- export class Int16ArraySerializer {
4
- serialize(x, serializerContext) {
5
- if (isUndefined(x)) {
6
- return serializerContext.serializedDefaultValue;
7
- }
8
- if (isNull(x)) {
9
- return serializerContext.serializedNullValue;
10
- }
11
- if (isInt16Array(x)) {
12
- return Array.from(x);
13
- }
14
- if (serializerContext.log.errorEnabled) {
15
- serializerContext.log.error(`${serializerContext.jsonPath}: cannot serialize value as int 16 array.`, x);
16
- }
17
- return undefined;
18
- }
19
- deserialize(x, serializerContext) {
20
- if (isUndefined(x)) {
21
- return serializerContext.deserializedDefaultValue;
22
- }
23
- if (isNull(x)) {
24
- return serializerContext.deserializedNullValue;
25
- }
26
- if (isArray(x)) {
27
- return Int16Array.from(x);
28
- }
29
- if (serializerContext.log.errorEnabled) {
30
- serializerContext.log.error(`${serializerContext.jsonPath}: cannot deserialize value as int 16 array.`, x);
31
- }
32
- return undefined;
33
- }
34
- }
1
+ import { isArray, isNull, isUndefined } from 'lodash';
2
+ import { isInt16Array } from '../functions/is-int-16-array';
3
+ export class Int16ArraySerializer {
4
+ serialize(x, serializerContext) {
5
+ if (isUndefined(x)) {
6
+ return serializerContext.serializedDefaultValue;
7
+ }
8
+ if (isNull(x)) {
9
+ return serializerContext.serializedNullValue;
10
+ }
11
+ if (isInt16Array(x)) {
12
+ return Array.from(x);
13
+ }
14
+ if (serializerContext.log.errorEnabled) {
15
+ serializerContext.log.error(`${serializerContext.jsonPath}: cannot serialize value as int 16 array.`, x);
16
+ }
17
+ return undefined;
18
+ }
19
+ deserialize(x, serializerContext) {
20
+ if (isUndefined(x)) {
21
+ return serializerContext.deserializedDefaultValue;
22
+ }
23
+ if (isNull(x)) {
24
+ return serializerContext.deserializedNullValue;
25
+ }
26
+ if (isArray(x)) {
27
+ return Int16Array.from(x);
28
+ }
29
+ if (serializerContext.log.errorEnabled) {
30
+ serializerContext.log.error(`${serializerContext.jsonPath}: cannot deserialize value as int 16 array.`, x);
31
+ }
32
+ return undefined;
33
+ }
34
+ }
35
35
  //# sourceMappingURL=int-16-array-serializer.js.map
@@ -1,35 +1,35 @@
1
- import { isArray, isNull, isUndefined } from 'lodash';
2
- import { isInt32Array } from '../functions/is-int-32-array';
3
- export class Int32ArraySerializer {
4
- serialize(x, serializerContext) {
5
- if (isUndefined(x)) {
6
- return serializerContext.serializedDefaultValue;
7
- }
8
- if (isNull(x)) {
9
- return serializerContext.serializedNullValue;
10
- }
11
- if (isInt32Array(x)) {
12
- return Array.from(x);
13
- }
14
- if (serializerContext.log.errorEnabled) {
15
- serializerContext.log.error(`${serializerContext.jsonPath}: cannot serialize value as int 32 array.`, x);
16
- }
17
- return undefined;
18
- }
19
- deserialize(x, serializerContext) {
20
- if (isUndefined(x)) {
21
- return serializerContext.deserializedDefaultValue;
22
- }
23
- if (isNull(x)) {
24
- return serializerContext.deserializedNullValue;
25
- }
26
- if (isArray(x)) {
27
- return Int32Array.from(x);
28
- }
29
- if (serializerContext.log.errorEnabled) {
30
- serializerContext.log.error(`${serializerContext.jsonPath}: cannot deserialize value as int 32 array.`, x);
31
- }
32
- return undefined;
33
- }
34
- }
1
+ import { isArray, isNull, isUndefined } from 'lodash';
2
+ import { isInt32Array } from '../functions/is-int-32-array';
3
+ export class Int32ArraySerializer {
4
+ serialize(x, serializerContext) {
5
+ if (isUndefined(x)) {
6
+ return serializerContext.serializedDefaultValue;
7
+ }
8
+ if (isNull(x)) {
9
+ return serializerContext.serializedNullValue;
10
+ }
11
+ if (isInt32Array(x)) {
12
+ return Array.from(x);
13
+ }
14
+ if (serializerContext.log.errorEnabled) {
15
+ serializerContext.log.error(`${serializerContext.jsonPath}: cannot serialize value as int 32 array.`, x);
16
+ }
17
+ return undefined;
18
+ }
19
+ deserialize(x, serializerContext) {
20
+ if (isUndefined(x)) {
21
+ return serializerContext.deserializedDefaultValue;
22
+ }
23
+ if (isNull(x)) {
24
+ return serializerContext.deserializedNullValue;
25
+ }
26
+ if (isArray(x)) {
27
+ return Int32Array.from(x);
28
+ }
29
+ if (serializerContext.log.errorEnabled) {
30
+ serializerContext.log.error(`${serializerContext.jsonPath}: cannot deserialize value as int 32 array.`, x);
31
+ }
32
+ return undefined;
33
+ }
34
+ }
35
35
  //# sourceMappingURL=int-32-array-serializer.js.map
@@ -1,35 +1,35 @@
1
- import { isArray, isNull, isUndefined } from 'lodash';
2
- import { isInt8Array } from '../functions/is-int-8-array';
3
- export class Int8ArraySerializer {
4
- serialize(x, serializerContext) {
5
- if (isUndefined(x)) {
6
- return serializerContext.serializedDefaultValue;
7
- }
8
- if (isNull(x)) {
9
- return serializerContext.serializedNullValue;
10
- }
11
- if (isInt8Array(x)) {
12
- return Array.from(x);
13
- }
14
- if (serializerContext.log.errorEnabled) {
15
- serializerContext.log.error(`${serializerContext.jsonPath}: cannot serialize value as int 8 array.`, x);
16
- }
17
- return undefined;
18
- }
19
- deserialize(x, serializerContext) {
20
- if (isUndefined(x)) {
21
- return serializerContext.deserializedDefaultValue;
22
- }
23
- if (isNull(x)) {
24
- return serializerContext.deserializedNullValue;
25
- }
26
- if (isArray(x)) {
27
- return Int8Array.from(x);
28
- }
29
- if (serializerContext.log.errorEnabled) {
30
- serializerContext.log.error(`${serializerContext.jsonPath}: cannot deserialize value as int 8 array.`, x);
31
- }
32
- return undefined;
33
- }
34
- }
1
+ import { isArray, isNull, isUndefined } from 'lodash';
2
+ import { isInt8Array } from '../functions/is-int-8-array';
3
+ export class Int8ArraySerializer {
4
+ serialize(x, serializerContext) {
5
+ if (isUndefined(x)) {
6
+ return serializerContext.serializedDefaultValue;
7
+ }
8
+ if (isNull(x)) {
9
+ return serializerContext.serializedNullValue;
10
+ }
11
+ if (isInt8Array(x)) {
12
+ return Array.from(x);
13
+ }
14
+ if (serializerContext.log.errorEnabled) {
15
+ serializerContext.log.error(`${serializerContext.jsonPath}: cannot serialize value as int 8 array.`, x);
16
+ }
17
+ return undefined;
18
+ }
19
+ deserialize(x, serializerContext) {
20
+ if (isUndefined(x)) {
21
+ return serializerContext.deserializedDefaultValue;
22
+ }
23
+ if (isNull(x)) {
24
+ return serializerContext.deserializedNullValue;
25
+ }
26
+ if (isArray(x)) {
27
+ return Int8Array.from(x);
28
+ }
29
+ if (serializerContext.log.errorEnabled) {
30
+ serializerContext.log.error(`${serializerContext.jsonPath}: cannot deserialize value as int 8 array.`, x);
31
+ }
32
+ return undefined;
33
+ }
34
+ }
35
35
  //# sourceMappingURL=int-8-array-serializer.js.map
@@ -1,96 +1,96 @@
1
- import { isArray, isMap, isNull, isUndefined } from 'lodash';
2
- export class MapSerializer {
3
- serialize(x, serializerContext) {
4
- if (isUndefined(x)) {
5
- return serializerContext.serializedDefaultValue;
6
- }
7
- if (isNull(x)) {
8
- return serializerContext.serializedNullValue;
9
- }
10
- if (isMap(x)) {
11
- return serializerContext.defineReference(x, () => {
12
- const map = x;
13
- const array = new Array(x.keys.length);
14
- const genericKeySerializerContext = serializerContext.defineGenericSerializerContext(0);
15
- const genericValueSerializerContext = serializerContext.defineGenericSerializerContext(1);
16
- const keyArraySerializerContext = genericKeySerializerContext.defineChildSerializerContext({
17
- jsonPathKey: genericKeySerializerContext.jsonPathKey
18
- });
19
- const valueArraySerializerContext = genericValueSerializerContext.defineChildSerializerContext({
20
- jsonPathKey: genericValueSerializerContext.jsonPathKey
21
- });
22
- const keySerializerContext = keyArraySerializerContext.defineChildSerializerContext({
23
- jsonPathKey: 'key',
24
- typeMetadata: genericKeySerializerContext.typeMetadata
25
- });
26
- const valueSerializerContext = valueArraySerializerContext.defineChildSerializerContext({
27
- jsonPathKey: 'value',
28
- typeMetadata: genericValueSerializerContext.typeMetadata
29
- });
30
- let i = -1;
31
- for (const [mk, mv] of map.entries()) {
32
- i++;
33
- keyArraySerializerContext.hasJsonPathKey(i);
34
- valueArraySerializerContext.hasJsonPathKey(i);
35
- keySerializerContext.hasReferenceValueSetter(v => array[i][keySerializerContext.jsonPathKey] = v);
36
- valueSerializerContext.hasReferenceValueSetter(v => array[i][valueSerializerContext.jsonPathKey] = v);
37
- array[i] = {};
38
- array[i][keySerializerContext.jsonPathKey] = keySerializerContext.serialize(mk);
39
- array[i][valueSerializerContext.jsonPathKey] = valueSerializerContext.serialize(mv);
40
- }
41
- return array;
42
- });
43
- }
44
- if (serializerContext.log.errorEnabled) {
45
- serializerContext.log.error(`${serializerContext.jsonPath}: cannot serialize value as map.`, x);
46
- }
47
- return undefined;
48
- }
49
- deserialize(x, serializerContext) {
50
- if (isUndefined(x)) {
51
- return serializerContext.deserializedDefaultValue;
52
- }
53
- if (isNull(x)) {
54
- return serializerContext.deserializedNullValue;
55
- }
56
- if (isArray(x)) {
57
- return serializerContext.restoreReference(x, () => {
58
- const array = x;
59
- const map = new Map();
60
- const genericKeySerializerContext = serializerContext.defineGenericSerializerContext(0);
61
- const genericValueSerializerContext = serializerContext.defineGenericSerializerContext(1);
62
- const keyArraySerializerContext = genericKeySerializerContext.defineChildSerializerContext({
63
- jsonPathKey: genericKeySerializerContext.jsonPathKey
64
- });
65
- const valueArraySerializerContext = genericValueSerializerContext.defineChildSerializerContext({
66
- jsonPathKey: genericValueSerializerContext.jsonPathKey
67
- });
68
- const keySerializerContext = keyArraySerializerContext.defineChildSerializerContext({
69
- jsonPathKey: 'key',
70
- typeMetadata: genericKeySerializerContext.typeMetadata
71
- });
72
- const valueSerializerContext = valueArraySerializerContext.defineChildSerializerContext({
73
- jsonPathKey: 'value',
74
- typeMetadata: genericValueSerializerContext.typeMetadata
75
- });
76
- for (let i = 0; i < array.length; i++) {
77
- const mk = array[i][keySerializerContext.jsonPathKey];
78
- const mv = array[i][valueSerializerContext.jsonPathKey];
79
- keyArraySerializerContext.hasJsonPathKey(i);
80
- valueArraySerializerContext.hasJsonPathKey(i);
81
- keySerializerContext.hasReferenceValueSetter(v => map.set(v, undefined));
82
- const key = keySerializerContext.deserialize(mk);
83
- valueSerializerContext.hasReferenceValueSetter(v => map.set(key, v));
84
- const value = valueSerializerContext.deserialize(mv);
85
- map.set(key, value);
86
- }
87
- return map;
88
- });
89
- }
90
- if (serializerContext.log.errorEnabled) {
91
- serializerContext.log.error(`${serializerContext.jsonPath}: Cannot deserialize value as map!`, x);
92
- }
93
- return undefined;
94
- }
95
- }
1
+ import { isArray, isMap, isNull, isUndefined } from 'lodash';
2
+ export class MapSerializer {
3
+ serialize(x, serializerContext) {
4
+ if (isUndefined(x)) {
5
+ return serializerContext.serializedDefaultValue;
6
+ }
7
+ if (isNull(x)) {
8
+ return serializerContext.serializedNullValue;
9
+ }
10
+ if (isMap(x)) {
11
+ return serializerContext.defineReference(x, () => {
12
+ const map = x;
13
+ const array = new Array(x.keys.length);
14
+ const genericKeySerializerContext = serializerContext.defineGenericSerializerContext(0);
15
+ const genericValueSerializerContext = serializerContext.defineGenericSerializerContext(1);
16
+ const keyArraySerializerContext = genericKeySerializerContext.defineChildSerializerContext({
17
+ jsonPathKey: genericKeySerializerContext.jsonPathKey
18
+ });
19
+ const valueArraySerializerContext = genericValueSerializerContext.defineChildSerializerContext({
20
+ jsonPathKey: genericValueSerializerContext.jsonPathKey
21
+ });
22
+ const keySerializerContext = keyArraySerializerContext.defineChildSerializerContext({
23
+ jsonPathKey: 'key',
24
+ typeMetadata: genericKeySerializerContext.typeMetadata
25
+ });
26
+ const valueSerializerContext = valueArraySerializerContext.defineChildSerializerContext({
27
+ jsonPathKey: 'value',
28
+ typeMetadata: genericValueSerializerContext.typeMetadata
29
+ });
30
+ let i = -1;
31
+ for (const [mk, mv] of map.entries()) {
32
+ i++;
33
+ keyArraySerializerContext.hasJsonPathKey(i);
34
+ valueArraySerializerContext.hasJsonPathKey(i);
35
+ keySerializerContext.hasReferenceValueSetter(v => array[i][keySerializerContext.jsonPathKey] = v);
36
+ valueSerializerContext.hasReferenceValueSetter(v => array[i][valueSerializerContext.jsonPathKey] = v);
37
+ array[i] = {};
38
+ array[i][keySerializerContext.jsonPathKey] = keySerializerContext.serialize(mk);
39
+ array[i][valueSerializerContext.jsonPathKey] = valueSerializerContext.serialize(mv);
40
+ }
41
+ return array;
42
+ });
43
+ }
44
+ if (serializerContext.log.errorEnabled) {
45
+ serializerContext.log.error(`${serializerContext.jsonPath}: cannot serialize value as map.`, x);
46
+ }
47
+ return undefined;
48
+ }
49
+ deserialize(x, serializerContext) {
50
+ if (isUndefined(x)) {
51
+ return serializerContext.deserializedDefaultValue;
52
+ }
53
+ if (isNull(x)) {
54
+ return serializerContext.deserializedNullValue;
55
+ }
56
+ if (isArray(x)) {
57
+ return serializerContext.restoreReference(x, () => {
58
+ const array = x;
59
+ const map = new Map();
60
+ const genericKeySerializerContext = serializerContext.defineGenericSerializerContext(0);
61
+ const genericValueSerializerContext = serializerContext.defineGenericSerializerContext(1);
62
+ const keyArraySerializerContext = genericKeySerializerContext.defineChildSerializerContext({
63
+ jsonPathKey: genericKeySerializerContext.jsonPathKey
64
+ });
65
+ const valueArraySerializerContext = genericValueSerializerContext.defineChildSerializerContext({
66
+ jsonPathKey: genericValueSerializerContext.jsonPathKey
67
+ });
68
+ const keySerializerContext = keyArraySerializerContext.defineChildSerializerContext({
69
+ jsonPathKey: 'key',
70
+ typeMetadata: genericKeySerializerContext.typeMetadata
71
+ });
72
+ const valueSerializerContext = valueArraySerializerContext.defineChildSerializerContext({
73
+ jsonPathKey: 'value',
74
+ typeMetadata: genericValueSerializerContext.typeMetadata
75
+ });
76
+ for (let i = 0; i < array.length; i++) {
77
+ const mk = array[i][keySerializerContext.jsonPathKey];
78
+ const mv = array[i][valueSerializerContext.jsonPathKey];
79
+ keyArraySerializerContext.hasJsonPathKey(i);
80
+ valueArraySerializerContext.hasJsonPathKey(i);
81
+ keySerializerContext.hasReferenceValueSetter(v => map.set(v, undefined));
82
+ const key = keySerializerContext.deserialize(mk);
83
+ valueSerializerContext.hasReferenceValueSetter(v => map.set(key, v));
84
+ const value = valueSerializerContext.deserialize(mv);
85
+ map.set(key, value);
86
+ }
87
+ return map;
88
+ });
89
+ }
90
+ if (serializerContext.log.errorEnabled) {
91
+ serializerContext.log.error(`${serializerContext.jsonPath}: Cannot deserialize value as map!`, x);
92
+ }
93
+ return undefined;
94
+ }
95
+ }
96
96
  //# sourceMappingURL=map-serializer.js.map
@@ -1,49 +1,49 @@
1
- import { isBoolean, isNull, isNumber, isString, isUndefined } from 'lodash';
2
- export class NumberSerializer {
3
- serialize(x, serializerContext) {
4
- if (isUndefined(x)) {
5
- return serializerContext.serializedDefaultValue;
6
- }
7
- if (isNull(x)) {
8
- return serializerContext.serializedNullValue;
9
- }
10
- if (isNumber(x)) {
11
- return x;
12
- }
13
- if (serializerContext.useImplicitConversion) {
14
- return this.convert(x, serializerContext);
15
- }
16
- if (serializerContext.log.errorEnabled) {
17
- serializerContext.log.error(`${serializerContext.jsonPath}: cannot serialize value as number.`, x);
18
- }
19
- return undefined;
20
- }
21
- deserialize(x, serializerContext) {
22
- if (isUndefined(x)) {
23
- return serializerContext.deserializedDefaultValue;
24
- }
25
- if (isNull(x)) {
26
- return serializerContext.deserializedNullValue;
27
- }
28
- if (isNumber(x)) {
29
- return x;
30
- }
31
- if (serializerContext.useImplicitConversion) {
32
- return this.convert(x, serializerContext);
33
- }
34
- if (serializerContext.log.errorEnabled) {
35
- serializerContext.log.error(`${serializerContext.jsonPath}: cannot deserialize value as number.`, x);
36
- }
37
- return undefined;
38
- }
39
- convert(x, serializerContext) {
40
- if (isString(x) || isBoolean(x)) {
41
- return Number(x);
42
- }
43
- if (serializerContext.log.errorEnabled) {
44
- serializerContext.log.error(`${serializerContext.jsonPath}: cannot convert value to a number.`, x);
45
- }
46
- return undefined;
47
- }
48
- }
1
+ import { isBoolean, isNull, isNumber, isString, isUndefined } from 'lodash';
2
+ export class NumberSerializer {
3
+ serialize(x, serializerContext) {
4
+ if (isUndefined(x)) {
5
+ return serializerContext.serializedDefaultValue;
6
+ }
7
+ if (isNull(x)) {
8
+ return serializerContext.serializedNullValue;
9
+ }
10
+ if (isNumber(x)) {
11
+ return x;
12
+ }
13
+ if (serializerContext.useImplicitConversion) {
14
+ return this.convert(x, serializerContext);
15
+ }
16
+ if (serializerContext.log.errorEnabled) {
17
+ serializerContext.log.error(`${serializerContext.jsonPath}: cannot serialize value as number.`, x);
18
+ }
19
+ return undefined;
20
+ }
21
+ deserialize(x, serializerContext) {
22
+ if (isUndefined(x)) {
23
+ return serializerContext.deserializedDefaultValue;
24
+ }
25
+ if (isNull(x)) {
26
+ return serializerContext.deserializedNullValue;
27
+ }
28
+ if (isNumber(x)) {
29
+ return x;
30
+ }
31
+ if (serializerContext.useImplicitConversion) {
32
+ return this.convert(x, serializerContext);
33
+ }
34
+ if (serializerContext.log.errorEnabled) {
35
+ serializerContext.log.error(`${serializerContext.jsonPath}: cannot deserialize value as number.`, x);
36
+ }
37
+ return undefined;
38
+ }
39
+ convert(x, serializerContext) {
40
+ if (isString(x) || isBoolean(x)) {
41
+ return Number(x);
42
+ }
43
+ if (serializerContext.log.errorEnabled) {
44
+ serializerContext.log.error(`${serializerContext.jsonPath}: cannot convert value to a number.`, x);
45
+ }
46
+ return undefined;
47
+ }
48
+ }
49
49
  //# sourceMappingURL=number-serializer.js.map