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