@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,62 +1,62 @@
1
- import { isArray, isNull, isSet, isUndefined } from 'lodash';
2
- export class SetSerializer {
3
- serialize(x, serializerContext) {
4
- if (isUndefined(x)) {
5
- return serializerContext.serializedDefaultValue;
6
- }
7
- if (isNull(x)) {
8
- return serializerContext.serializedNullValue;
9
- }
10
- if (isSet(x)) {
11
- return serializerContext.defineReference(x, () => {
12
- const set = x;
13
- const array = new Array();
14
- const genericSerializerContext = serializerContext.defineGenericSerializerContext(0);
15
- const valueSerializerContext = genericSerializerContext.defineChildSerializerContext({
16
- jsonPathKey: genericSerializerContext.jsonPathKey
17
- });
18
- let i = -1;
19
- for (const v of set) {
20
- i++;
21
- valueSerializerContext.hasJsonPathKey(i);
22
- valueSerializerContext.hasReferenceValueSetter(v => array[i] = v);
23
- array[i] = valueSerializerContext.serialize(v);
24
- }
25
- return array;
26
- });
27
- }
28
- if (serializerContext.log.errorEnabled) {
29
- serializerContext.log.error(`${serializerContext.jsonPath}: cannot serialize value as set.`, x);
30
- }
31
- return undefined;
32
- }
33
- deserialize(x, serializerContext) {
34
- if (isUndefined(x)) {
35
- return serializerContext.deserializedDefaultValue;
36
- }
37
- if (isNull(x)) {
38
- return serializerContext.deserializedNullValue;
39
- }
40
- if (isArray(x)) {
41
- return serializerContext.restoreReference(x, () => {
42
- const array = x;
43
- const set = new Set();
44
- const genericSerializerContext = serializerContext.defineGenericSerializerContext(0);
45
- const valueSerializerContext = genericSerializerContext.defineChildSerializerContext({
46
- jsonPathKey: genericSerializerContext.jsonPathKey
47
- });
48
- for (let i = 0; i < array.length; i++) {
49
- valueSerializerContext.hasJsonPathKey(i);
50
- valueSerializerContext.hasReferenceValueSetter(v => set.add(v));
51
- set.add(valueSerializerContext.deserialize(array[i]));
52
- }
53
- return set;
54
- });
55
- }
56
- if (serializerContext.log.errorEnabled) {
57
- serializerContext.log.error(`${serializerContext.jsonPath}: cannot deserialize value as set.`, x);
58
- }
59
- return undefined;
60
- }
61
- }
1
+ import { isArray, isNull, isSet, isUndefined } from 'lodash';
2
+ export class SetSerializer {
3
+ serialize(x, serializerContext) {
4
+ if (isUndefined(x)) {
5
+ return serializerContext.serializedDefaultValue;
6
+ }
7
+ if (isNull(x)) {
8
+ return serializerContext.serializedNullValue;
9
+ }
10
+ if (isSet(x)) {
11
+ return serializerContext.defineReference(x, () => {
12
+ const set = x;
13
+ const array = new Array();
14
+ const genericSerializerContext = serializerContext.defineGenericSerializerContext(0);
15
+ const valueSerializerContext = genericSerializerContext.defineChildSerializerContext({
16
+ jsonPathKey: genericSerializerContext.jsonPathKey
17
+ });
18
+ let i = -1;
19
+ for (const v of set) {
20
+ i++;
21
+ valueSerializerContext.hasJsonPathKey(i);
22
+ valueSerializerContext.hasReferenceValueSetter(v => array[i] = v);
23
+ array[i] = valueSerializerContext.serialize(v);
24
+ }
25
+ return array;
26
+ });
27
+ }
28
+ if (serializerContext.log.errorEnabled) {
29
+ serializerContext.log.error(`${serializerContext.jsonPath}: cannot serialize value as set.`, x);
30
+ }
31
+ return undefined;
32
+ }
33
+ deserialize(x, serializerContext) {
34
+ if (isUndefined(x)) {
35
+ return serializerContext.deserializedDefaultValue;
36
+ }
37
+ if (isNull(x)) {
38
+ return serializerContext.deserializedNullValue;
39
+ }
40
+ if (isArray(x)) {
41
+ return serializerContext.restoreReference(x, () => {
42
+ const array = x;
43
+ const set = new Set();
44
+ const genericSerializerContext = serializerContext.defineGenericSerializerContext(0);
45
+ const valueSerializerContext = genericSerializerContext.defineChildSerializerContext({
46
+ jsonPathKey: genericSerializerContext.jsonPathKey
47
+ });
48
+ for (let i = 0; i < array.length; i++) {
49
+ valueSerializerContext.hasJsonPathKey(i);
50
+ valueSerializerContext.hasReferenceValueSetter(v => set.add(v));
51
+ set.add(valueSerializerContext.deserialize(array[i]));
52
+ }
53
+ return set;
54
+ });
55
+ }
56
+ if (serializerContext.log.errorEnabled) {
57
+ serializerContext.log.error(`${serializerContext.jsonPath}: cannot deserialize value as set.`, x);
58
+ }
59
+ return undefined;
60
+ }
61
+ }
62
62
  //# sourceMappingURL=set-serializer.js.map
@@ -1,55 +1,55 @@
1
- import { isBoolean, isDate, isNull, isNumber, isObject, isString, isUndefined } from 'lodash';
2
- export class StringSerializer {
3
- serialize(x, serializerContext) {
4
- if (isUndefined(x)) {
5
- return serializerContext.serializedDefaultValue;
6
- }
7
- if (isNull(x)) {
8
- return serializerContext.serializedNullValue;
9
- }
10
- if (isString(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 string.`, 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 (isString(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 string.`, x);
36
- }
37
- return undefined;
38
- }
39
- convert(x, serializerContext) {
40
- if (isNumber(x) || isBoolean(x)) {
41
- return String(x);
42
- }
43
- if (isDate(x)) {
44
- return x.toISOString();
45
- }
46
- if (isObject(x)) {
47
- return JSON.stringify(x);
48
- }
49
- if (serializerContext.log.errorEnabled) {
50
- serializerContext.log.error(`${serializerContext.jsonPath}: cannot convert value to string.`, x);
51
- }
52
- return undefined;
53
- }
54
- }
1
+ import { isBoolean, isDate, isNull, isNumber, isObject, isString, isUndefined } from 'lodash';
2
+ export class StringSerializer {
3
+ serialize(x, serializerContext) {
4
+ if (isUndefined(x)) {
5
+ return serializerContext.serializedDefaultValue;
6
+ }
7
+ if (isNull(x)) {
8
+ return serializerContext.serializedNullValue;
9
+ }
10
+ if (isString(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 string.`, 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 (isString(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 string.`, x);
36
+ }
37
+ return undefined;
38
+ }
39
+ convert(x, serializerContext) {
40
+ if (isNumber(x) || isBoolean(x)) {
41
+ return String(x);
42
+ }
43
+ if (isDate(x)) {
44
+ return x.toISOString();
45
+ }
46
+ if (isObject(x)) {
47
+ return JSON.stringify(x);
48
+ }
49
+ if (serializerContext.log.errorEnabled) {
50
+ serializerContext.log.error(`${serializerContext.jsonPath}: cannot convert value to string.`, x);
51
+ }
52
+ return undefined;
53
+ }
54
+ }
55
55
  //# sourceMappingURL=string-serializer.js.map
@@ -1,121 +1,121 @@
1
- import { isNil, isNull, isObject, isUndefined } from 'lodash';
2
- import { TypeContext } from '../type-context';
3
- import { TypeContextEntry } from '../type-context-entry';
4
- export class TypeSerializer {
5
- serialize(x, serializerContext) {
6
- if (isUndefined(x)) {
7
- return serializerContext.serializedDefaultValue;
8
- }
9
- if (isNull(x)) {
10
- return serializerContext.serializedNullValue;
11
- }
12
- if (isObject(x)) {
13
- return serializerContext.defineReference(x, () => {
14
- const type = x;
15
- const typeSerializerContext = serializerContext.polymorphic
16
- ? serializerContext.definePolymorphicSerializerContext(x.constructor)
17
- : serializerContext;
18
- const propertySerializerContext = typeSerializerContext.defineChildSerializerContext({
19
- jsonPathKey: typeSerializerContext.jsonPathKey
20
- });
21
- const typeMetadata = typeSerializerContext.typeMetadata;
22
- const object = {};
23
- for (const propertyMetadata of typeMetadata.sortedPropertyMetadatas) {
24
- if (propertyMetadata.serializationConfigured && !propertyMetadata.serializable) {
25
- continue;
26
- }
27
- const serializedPropertyName = propertyMetadata.serializedPropertyName;
28
- const deserializedPropertyName = propertyMetadata.deserializedPropertyName;
29
- const propertyValue = type[deserializedPropertyName];
30
- propertySerializerContext.hasJsonPathKey(serializedPropertyName);
31
- propertySerializerContext.hasPropertyMetadata(propertyMetadata);
32
- propertySerializerContext.hasTypeMetadata(propertyMetadata.typeMetadata);
33
- propertySerializerContext.hasGenericStructures(propertyMetadata.genericStructures);
34
- propertySerializerContext.hasGenericMetadataResolvers(propertyMetadata.genericMetadataResolvers);
35
- propertySerializerContext.hasReferenceValueSetter(v => {
36
- const declaringObject = propertySerializerContext.referenceMap.get(type);
37
- if (!isNil(declaringObject)) {
38
- declaringObject[serializedPropertyName] = v;
39
- }
40
- });
41
- const value = propertySerializerContext.serialize(propertyValue);
42
- object[serializedPropertyName] = value;
43
- }
44
- if (typeSerializerContext.preserveDiscriminator) {
45
- object[typeSerializerContext.discriminator] = typeSerializerContext.discriminant;
46
- }
47
- else if (object.hasOwnProperty(typeSerializerContext.discriminator)) {
48
- delete object[typeSerializerContext.discriminator];
49
- }
50
- return object;
51
- });
52
- }
53
- if (serializerContext.log.errorEnabled) {
54
- serializerContext.log.error(`${serializerContext.jsonPath}: cannot serialize value as type.`, x);
55
- }
56
- return undefined;
57
- }
58
- deserialize(x, serializerContext) {
59
- if (isUndefined(x)) {
60
- return serializerContext.deserializedDefaultValue;
61
- }
62
- if (isNull(x)) {
63
- return serializerContext.deserializedNullValue;
64
- }
65
- if (isObject(x)) {
66
- return serializerContext.restoreReference(x, () => {
67
- const object = x;
68
- const typeSerializerContext = serializerContext.polymorphic
69
- ? serializerContext.definePolymorphicSerializerContext(x)
70
- : serializerContext;
71
- const propertySerializerContext = typeSerializerContext.defineChildSerializerContext({
72
- jsonPathKey: typeSerializerContext.jsonPath
73
- });
74
- const typeMetadata = typeSerializerContext.typeMetadata;
75
- const typeContext = new TypeContext(typeMetadata);
76
- for (const propertyMetadata of typeMetadata.sortedPropertyMetadatas) {
77
- if (propertyMetadata.serializationConfigured && !propertyMetadata.deserializable) {
78
- continue;
79
- }
80
- const serializedPropertyName = propertyMetadata.serializedPropertyName;
81
- const deserializedPropertyName = propertyMetadata.deserializedPropertyName;
82
- const propertyValue = object[serializedPropertyName];
83
- propertySerializerContext.hasJsonPathKey(deserializedPropertyName);
84
- propertySerializerContext.hasPropertyMetadata(propertyMetadata);
85
- propertySerializerContext.hasTypeMetadata(propertyMetadata.typeMetadata);
86
- propertySerializerContext.hasGenericStructures(propertyMetadata.genericStructures);
87
- propertySerializerContext.hasGenericMetadataResolvers(propertyMetadata.genericMetadataResolvers);
88
- propertySerializerContext.hasReferenceValueSetter(v => {
89
- const declaringType = propertySerializerContext.referenceMap.get(object);
90
- if (!isNil(declaringType)) {
91
- declaringType[deserializedPropertyName] = v;
92
- }
93
- });
94
- const value = propertySerializerContext.deserialize(propertyValue);
95
- typeContext.set(deserializedPropertyName, new TypeContextEntry(deserializedPropertyName, value, propertyMetadata));
96
- typeContext.set(serializedPropertyName, new TypeContextEntry(serializedPropertyName, value, propertyMetadata));
97
- }
98
- for (const propertyName in object) {
99
- if (object.hasOwnProperty(propertyName)) {
100
- typeContext.set(propertyName, new TypeContextEntry(propertyName, object[propertyName]));
101
- }
102
- }
103
- const factory = typeSerializerContext.factory;
104
- const injector = typeSerializerContext.injector;
105
- const type = factory.build(typeContext, injector);
106
- if (typeSerializerContext.preserveDiscriminator) {
107
- type[typeSerializerContext.discriminator] = typeSerializerContext.discriminant;
108
- }
109
- else if (type.hasOwnProperty(typeSerializerContext.discriminator)) {
110
- delete type[typeSerializerContext.discriminator];
111
- }
112
- return type;
113
- });
114
- }
115
- if (serializerContext.log.errorEnabled) {
116
- serializerContext.log.error(`${serializerContext.jsonPath}: cannot deserialize value as type.`, x);
117
- }
118
- return undefined;
119
- }
120
- }
1
+ import { isNil, isNull, isObject, isUndefined } from 'lodash';
2
+ import { TypeContext } from '../type-context';
3
+ import { TypeContextEntry } from '../type-context-entry';
4
+ export class TypeSerializer {
5
+ serialize(x, serializerContext) {
6
+ if (isUndefined(x)) {
7
+ return serializerContext.serializedDefaultValue;
8
+ }
9
+ if (isNull(x)) {
10
+ return serializerContext.serializedNullValue;
11
+ }
12
+ if (isObject(x)) {
13
+ return serializerContext.defineReference(x, () => {
14
+ const type = x;
15
+ const typeSerializerContext = serializerContext.polymorphic
16
+ ? serializerContext.definePolymorphicSerializerContext(x.constructor)
17
+ : serializerContext;
18
+ const propertySerializerContext = typeSerializerContext.defineChildSerializerContext({
19
+ jsonPathKey: typeSerializerContext.jsonPathKey
20
+ });
21
+ const typeMetadata = typeSerializerContext.typeMetadata;
22
+ const object = {};
23
+ for (const propertyMetadata of typeMetadata.sortedPropertyMetadatas) {
24
+ if (propertyMetadata.serializationConfigured && !propertyMetadata.serializable) {
25
+ continue;
26
+ }
27
+ const serializedPropertyName = propertyMetadata.serializedPropertyName;
28
+ const deserializedPropertyName = propertyMetadata.deserializedPropertyName;
29
+ const propertyValue = type[deserializedPropertyName];
30
+ propertySerializerContext.hasJsonPathKey(serializedPropertyName);
31
+ propertySerializerContext.hasPropertyMetadata(propertyMetadata);
32
+ propertySerializerContext.hasTypeMetadata(propertyMetadata.typeMetadata);
33
+ propertySerializerContext.hasGenericStructures(propertyMetadata.genericStructures);
34
+ propertySerializerContext.hasGenericMetadataResolvers(propertyMetadata.genericMetadataResolvers);
35
+ propertySerializerContext.hasReferenceValueSetter(v => {
36
+ const declaringObject = propertySerializerContext.referenceMap.get(type);
37
+ if (!isNil(declaringObject)) {
38
+ declaringObject[serializedPropertyName] = v;
39
+ }
40
+ });
41
+ const value = propertySerializerContext.serialize(propertyValue);
42
+ object[serializedPropertyName] = value;
43
+ }
44
+ if (typeSerializerContext.preserveDiscriminator) {
45
+ object[typeSerializerContext.discriminator] = typeSerializerContext.discriminant;
46
+ }
47
+ else if (object.hasOwnProperty(typeSerializerContext.discriminator)) {
48
+ delete object[typeSerializerContext.discriminator];
49
+ }
50
+ return object;
51
+ });
52
+ }
53
+ if (serializerContext.log.errorEnabled) {
54
+ serializerContext.log.error(`${serializerContext.jsonPath}: cannot serialize value as type.`, x);
55
+ }
56
+ return undefined;
57
+ }
58
+ deserialize(x, serializerContext) {
59
+ if (isUndefined(x)) {
60
+ return serializerContext.deserializedDefaultValue;
61
+ }
62
+ if (isNull(x)) {
63
+ return serializerContext.deserializedNullValue;
64
+ }
65
+ if (isObject(x)) {
66
+ return serializerContext.restoreReference(x, () => {
67
+ const object = x;
68
+ const typeSerializerContext = serializerContext.polymorphic
69
+ ? serializerContext.definePolymorphicSerializerContext(x)
70
+ : serializerContext;
71
+ const propertySerializerContext = typeSerializerContext.defineChildSerializerContext({
72
+ jsonPathKey: typeSerializerContext.jsonPath
73
+ });
74
+ const typeMetadata = typeSerializerContext.typeMetadata;
75
+ const typeContext = new TypeContext(typeMetadata);
76
+ for (const propertyMetadata of typeMetadata.sortedPropertyMetadatas) {
77
+ if (propertyMetadata.serializationConfigured && !propertyMetadata.deserializable) {
78
+ continue;
79
+ }
80
+ const serializedPropertyName = propertyMetadata.serializedPropertyName;
81
+ const deserializedPropertyName = propertyMetadata.deserializedPropertyName;
82
+ const propertyValue = object[serializedPropertyName];
83
+ propertySerializerContext.hasJsonPathKey(deserializedPropertyName);
84
+ propertySerializerContext.hasPropertyMetadata(propertyMetadata);
85
+ propertySerializerContext.hasTypeMetadata(propertyMetadata.typeMetadata);
86
+ propertySerializerContext.hasGenericStructures(propertyMetadata.genericStructures);
87
+ propertySerializerContext.hasGenericMetadataResolvers(propertyMetadata.genericMetadataResolvers);
88
+ propertySerializerContext.hasReferenceValueSetter(v => {
89
+ const declaringType = propertySerializerContext.referenceMap.get(object);
90
+ if (!isNil(declaringType)) {
91
+ declaringType[deserializedPropertyName] = v;
92
+ }
93
+ });
94
+ const value = propertySerializerContext.deserialize(propertyValue);
95
+ typeContext.set(deserializedPropertyName, new TypeContextEntry(deserializedPropertyName, value, propertyMetadata));
96
+ typeContext.set(serializedPropertyName, new TypeContextEntry(serializedPropertyName, value, propertyMetadata));
97
+ }
98
+ for (const propertyName in object) {
99
+ if (object.hasOwnProperty(propertyName)) {
100
+ typeContext.set(propertyName, new TypeContextEntry(propertyName, object[propertyName]));
101
+ }
102
+ }
103
+ const factory = typeSerializerContext.factory;
104
+ const injector = typeSerializerContext.injector;
105
+ const type = factory.build(typeContext, injector);
106
+ if (typeSerializerContext.preserveDiscriminator) {
107
+ type[typeSerializerContext.discriminator] = typeSerializerContext.discriminant;
108
+ }
109
+ else if (type.hasOwnProperty(typeSerializerContext.discriminator)) {
110
+ delete type[typeSerializerContext.discriminator];
111
+ }
112
+ return type;
113
+ });
114
+ }
115
+ if (serializerContext.log.errorEnabled) {
116
+ serializerContext.log.error(`${serializerContext.jsonPath}: cannot deserialize value as type.`, x);
117
+ }
118
+ return undefined;
119
+ }
120
+ }
121
121
  //# sourceMappingURL=type-serializer.js.map
@@ -1,35 +1,35 @@
1
- import { isArray, isNull, isUndefined } from 'lodash';
2
- import { isUint16Array } from '../functions/is-uint-16-array';
3
- export class Uint16ArraySerializer {
4
- serialize(x, serializerContext) {
5
- if (isUndefined(x)) {
6
- return serializerContext.serializedDefaultValue;
7
- }
8
- if (isNull(x)) {
9
- return serializerContext.serializedNullValue;
10
- }
11
- if (isUint16Array(x)) {
12
- return Array.from(x);
13
- }
14
- if (serializerContext.log.errorEnabled) {
15
- serializerContext.log.error(`${serializerContext.jsonPath}: cannot serialize value as uint 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 Uint16Array.from(x);
28
- }
29
- if (serializerContext.log.errorEnabled) {
30
- serializerContext.log.error(`${serializerContext.jsonPath}: cannot deserialize value as uint 16 array.`, x);
31
- }
32
- return undefined;
33
- }
34
- }
1
+ import { isArray, isNull, isUndefined } from 'lodash';
2
+ import { isUint16Array } from '../functions/is-uint-16-array';
3
+ export class Uint16ArraySerializer {
4
+ serialize(x, serializerContext) {
5
+ if (isUndefined(x)) {
6
+ return serializerContext.serializedDefaultValue;
7
+ }
8
+ if (isNull(x)) {
9
+ return serializerContext.serializedNullValue;
10
+ }
11
+ if (isUint16Array(x)) {
12
+ return Array.from(x);
13
+ }
14
+ if (serializerContext.log.errorEnabled) {
15
+ serializerContext.log.error(`${serializerContext.jsonPath}: cannot serialize value as uint 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 Uint16Array.from(x);
28
+ }
29
+ if (serializerContext.log.errorEnabled) {
30
+ serializerContext.log.error(`${serializerContext.jsonPath}: cannot deserialize value as uint 16 array.`, x);
31
+ }
32
+ return undefined;
33
+ }
34
+ }
35
35
  //# sourceMappingURL=uint-16-array-serializer.js.map
@@ -1,35 +1,35 @@
1
- import { isArray, isNull, isUndefined } from 'lodash';
2
- import { isUint32Array } from '../functions/is-uint-32-array';
3
- export class Uint32ArraySerializer {
4
- serialize(x, serializerContext) {
5
- if (isUndefined(x)) {
6
- return serializerContext.serializedDefaultValue;
7
- }
8
- if (isNull(x)) {
9
- return serializerContext.serializedNullValue;
10
- }
11
- if (isUint32Array(x)) {
12
- return Array.from(x);
13
- }
14
- if (serializerContext.log.errorEnabled) {
15
- serializerContext.log.error(`${serializerContext.jsonPath}: cannot serialize value as uint 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 Uint32Array.from(x);
28
- }
29
- if (serializerContext.log.errorEnabled) {
30
- serializerContext.log.error(`${serializerContext.jsonPath}: cannot deserialize value as uint 32 array.`, x);
31
- }
32
- return undefined;
33
- }
34
- }
1
+ import { isArray, isNull, isUndefined } from 'lodash';
2
+ import { isUint32Array } from '../functions/is-uint-32-array';
3
+ export class Uint32ArraySerializer {
4
+ serialize(x, serializerContext) {
5
+ if (isUndefined(x)) {
6
+ return serializerContext.serializedDefaultValue;
7
+ }
8
+ if (isNull(x)) {
9
+ return serializerContext.serializedNullValue;
10
+ }
11
+ if (isUint32Array(x)) {
12
+ return Array.from(x);
13
+ }
14
+ if (serializerContext.log.errorEnabled) {
15
+ serializerContext.log.error(`${serializerContext.jsonPath}: cannot serialize value as uint 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 Uint32Array.from(x);
28
+ }
29
+ if (serializerContext.log.errorEnabled) {
30
+ serializerContext.log.error(`${serializerContext.jsonPath}: cannot deserialize value as uint 32 array.`, x);
31
+ }
32
+ return undefined;
33
+ }
34
+ }
35
35
  //# sourceMappingURL=uint-32-array-serializer.js.map