@tsed/json-mapper 7.35.0-beta.3 → 7.35.0-beta.4

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 (75) hide show
  1. package/jest.config.js +3 -3
  2. package/lib/browser/json-mapper.umd.min.js +1 -1
  3. package/lib/browser/json-mapper.umd.min.js.map +1 -1
  4. package/lib/cjs/components/DateMapper.js.map +1 -1
  5. package/lib/cjs/components/PrimitiveMapper.js +30 -26
  6. package/lib/cjs/components/PrimitiveMapper.js.map +1 -1
  7. package/lib/cjs/components/SymbolMapper.js.map +1 -1
  8. package/lib/cjs/domain/JsonDeserializer.js +275 -0
  9. package/lib/cjs/domain/JsonDeserializer.js.map +1 -0
  10. package/lib/cjs/domain/JsonDeserializerOptions.js +3 -0
  11. package/lib/cjs/domain/JsonDeserializerOptions.js.map +1 -0
  12. package/lib/cjs/domain/JsonMapperCompiler.js +11 -2
  13. package/lib/cjs/domain/JsonMapperCompiler.js.map +1 -1
  14. package/lib/cjs/domain/JsonSerializer.js +15 -14
  15. package/lib/cjs/domain/JsonSerializer.js.map +1 -1
  16. package/lib/cjs/domain/Writer.js +30 -0
  17. package/lib/cjs/domain/Writer.js.map +1 -1
  18. package/lib/cjs/hooks/alterOnDeserialize.js +8 -0
  19. package/lib/cjs/hooks/alterOnDeserialize.js.map +1 -0
  20. package/lib/cjs/index.js +3 -4
  21. package/lib/cjs/index.js.map +1 -1
  22. package/lib/cjs/utils/deserialize.js +5 -202
  23. package/lib/cjs/utils/deserialize.js.map +1 -1
  24. package/lib/esm/components/DateMapper.js.map +1 -1
  25. package/lib/esm/components/PrimitiveMapper.js +30 -26
  26. package/lib/esm/components/PrimitiveMapper.js.map +1 -1
  27. package/lib/esm/components/SymbolMapper.js.map +1 -1
  28. package/lib/esm/domain/JsonDeserializer.js +271 -0
  29. package/lib/esm/domain/JsonDeserializer.js.map +1 -0
  30. package/lib/esm/domain/JsonDeserializerOptions.js +2 -0
  31. package/lib/esm/domain/JsonDeserializerOptions.js.map +1 -0
  32. package/lib/esm/domain/JsonMapperCompiler.js +11 -2
  33. package/lib/esm/domain/JsonMapperCompiler.js.map +1 -1
  34. package/lib/esm/domain/JsonSerializer.js +15 -14
  35. package/lib/esm/domain/JsonSerializer.js.map +1 -1
  36. package/lib/esm/domain/Writer.js +31 -2
  37. package/lib/esm/domain/Writer.js.map +1 -1
  38. package/lib/esm/hooks/alterOnDeserialize.js +4 -0
  39. package/lib/esm/hooks/alterOnDeserialize.js.map +1 -0
  40. package/lib/esm/index.js +3 -4
  41. package/lib/esm/index.js.map +1 -1
  42. package/lib/esm/utils/deserialize.js +4 -200
  43. package/lib/esm/utils/deserialize.js.map +1 -1
  44. package/lib/tsconfig.esm.tsbuildinfo +1 -1
  45. package/lib/tsconfig.tsbuildinfo +1 -1
  46. package/lib/types/components/PrimitiveMapper.d.ts +4 -0
  47. package/lib/types/domain/JsonDeserializer.d.ts +33 -0
  48. package/lib/types/domain/JsonDeserializerOptions.d.ts +31 -0
  49. package/lib/types/domain/JsonMapperCompiler.d.ts +7 -1
  50. package/lib/types/domain/JsonSerializer.d.ts +1 -0
  51. package/lib/types/domain/Writer.d.ts +9 -0
  52. package/lib/types/hooks/alterOnDeserialize.d.ts +2 -0
  53. package/lib/types/index.d.ts +3 -4
  54. package/lib/types/utils/deserialize.d.ts +2 -47
  55. package/package.json +7 -7
  56. package/lib/cjs/components/ArrayMapper.js +0 -23
  57. package/lib/cjs/components/ArrayMapper.js.map +0 -1
  58. package/lib/cjs/components/MapMapper.js +0 -30
  59. package/lib/cjs/components/MapMapper.js.map +0 -1
  60. package/lib/cjs/components/SetMapper.js +0 -30
  61. package/lib/cjs/components/SetMapper.js.map +0 -1
  62. package/lib/cjs/domain/JsonMapperContext.js +0 -27
  63. package/lib/cjs/domain/JsonMapperContext.js.map +0 -1
  64. package/lib/esm/components/ArrayMapper.js +0 -20
  65. package/lib/esm/components/ArrayMapper.js.map +0 -1
  66. package/lib/esm/components/MapMapper.js +0 -27
  67. package/lib/esm/components/MapMapper.js.map +0 -1
  68. package/lib/esm/components/SetMapper.js +0 -27
  69. package/lib/esm/components/SetMapper.js.map +0 -1
  70. package/lib/esm/domain/JsonMapperContext.js +0 -23
  71. package/lib/esm/domain/JsonMapperContext.js.map +0 -1
  72. package/lib/types/components/ArrayMapper.d.ts +0 -10
  73. package/lib/types/components/MapMapper.d.ts +0 -12
  74. package/lib/types/components/SetMapper.d.ts +0 -10
  75. package/lib/types/domain/JsonMapperContext.d.ts +0 -20
@@ -15,6 +15,11 @@ export class JsonMapperCompiler {
15
15
  * @protected
16
16
  */
17
17
  schemes = {};
18
+ /**
19
+ * Cached classes by his id
20
+ * @protected
21
+ */
22
+ constructors = {};
18
23
  /**
19
24
  * Global variables available in the mapper
20
25
  * @protected
@@ -36,6 +41,7 @@ export class JsonMapperCompiler {
36
41
  this.addGlobal("alterIgnore", this.alterIgnore.bind(this));
37
42
  this.addGlobal("alterValue", this.alterValue.bind(this));
38
43
  this.addGlobal("execMapper", this.execMapper.bind(this));
44
+ this.addGlobal("compileAndMap", this.map.bind(this));
39
45
  }
40
46
  addTypeMapper(model, fn) {
41
47
  const id = nameOf(model);
@@ -60,7 +66,7 @@ export class JsonMapperCompiler {
60
66
  }
61
67
  eval(mapper, { id, groupsId, model }) {
62
68
  this.addGlobal("cache", this.cache);
63
- const { globals } = this;
69
+ const { globals, schemes } = this;
64
70
  const injectGlobals = Object.keys(globals)
65
71
  .map((name) => {
66
72
  return `const ${name} = globals.${name};`;
@@ -74,7 +80,7 @@ export class JsonMapperCompiler {
74
80
  return store;
75
81
  }
76
82
  createContext(options) {
77
- const { mappers, globals, cache } = this;
83
+ const { cache } = this;
78
84
  return {
79
85
  ...options,
80
86
  cache
@@ -150,5 +156,8 @@ export class JsonMapperCompiler {
150
156
  getId(model, groupsId) {
151
157
  return `${nameOf(model)}:${getRandomId()}:${groupsId}`;
152
158
  }
159
+ getSchemaId(id, propertyKey) {
160
+ return `${id}:${propertyKey}`;
161
+ }
153
162
  }
154
163
  //# sourceMappingURL=JsonMapperCompiler.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"JsonMapperCompiler.js","sourceRoot":"","sources":["../../../src/domain/JsonMapperCompiler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"JsonMapperCompiler.js","sourceRoot":"","sources":["../../../src/domain/JsonMapperCompiler.ts"],"names":[],"mappings":"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"}
@@ -80,7 +80,7 @@ export class JsonSerializer extends JsonMapperCompiler {
80
80
  mapProperty(propertyStore, id, groups) {
81
81
  const key = String(propertyStore.propertyKey);
82
82
  const aliasKey = String(propertyStore.parent.schema.getAliasOf(key) || key);
83
- const schemaId = `${id}:${key}`;
83
+ const schemaId = this.getSchemaId(id, key);
84
84
  let writer = new Writer().add(`// Map ${key} ${id} ${groups || ""}`);
85
85
  // ignore hook (deprecated)
86
86
  if (propertyStore.schema?.$hooks?.has("ignore")) {
@@ -97,21 +97,12 @@ export class JsonSerializer extends JsonMapperCompiler {
97
97
  const opts = Writer.options(formatOpts);
98
98
  writer.set(key, `alterValue('${schemaId}', ${key}, ${opts})`);
99
99
  }
100
- if (propertyStore.isCollection) {
101
- const type = propertyStore.getBestType();
102
- const nestedMapper = this.compile(type, groups);
103
- writer.callMapper(nameOf(propertyStore.collectionType), key, `id: '${nestedMapper.id}'`, formatOpts);
100
+ const fill = this.getPropertyFiller(propertyStore, key, groups, formatOpts);
101
+ if (hasSerializer) {
102
+ fill(writer.if(`${key} === input.${key}`));
104
103
  }
105
104
  else {
106
- const type = propertyStore.getBestType();
107
- const nestedMapper = this.compile(type, groups);
108
- const fill = (writer) => writer.callMapper(nestedMapper.id, key, formatOpts);
109
- if (hasSerializer) {
110
- fill(writer.if(`${key} === input.${key}`));
111
- }
112
- else {
113
- fill(writer);
114
- }
105
+ fill(writer);
115
106
  }
116
107
  if (aliasKey !== key) {
117
108
  writer.set(`obj[options.useAlias ? '${aliasKey}' : '${key}']`, key);
@@ -121,6 +112,16 @@ export class JsonSerializer extends JsonMapperCompiler {
121
112
  }
122
113
  return writer.root();
123
114
  }
115
+ getPropertyFiller(propertyStore, key, groups, formatOpts) {
116
+ if (propertyStore.isCollection) {
117
+ const type = propertyStore.getBestType();
118
+ const nestedMapper = this.compile(type, groups);
119
+ return (writer) => writer.callMapper(nameOf(propertyStore.collectionType), key, `id: '${nestedMapper.id}'`, formatOpts);
120
+ }
121
+ const type = propertyStore.getBestType();
122
+ const nestedMapper = this.compile(type, groups);
123
+ return (writer) => writer.callMapper(nestedMapper.id, key, formatOpts);
124
+ }
124
125
  mapPrecondition(id) {
125
126
  const writer = new Writer();
126
127
  writer.if("input && isCollection(input)").return(Writer.mapperFrom("input", `{...options, id: '${id}'}`));
@@ -1 +1 @@
1
- {"version":3,"file":"JsonSerializer.js","sourceRoot":"","sources":["../../../src/domain/JsonSerializer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"JsonSerializer.js","sourceRoot":"","sources":["../../../src/domain/JsonSerializer.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- class Writer {
1
+ export class Writer {
2
2
  static object = {
3
3
  assign(...args) {
4
4
  return `{ ${args.filter(Boolean).join(", ")} }`;
@@ -43,6 +43,9 @@ class Writer {
43
43
  callMapper(id, key, ...options) {
44
44
  return this.set(key, Writer.mapper(id, key, Writer.options(...options)));
45
45
  }
46
+ returnCallMapper(id, key, ...options) {
47
+ return this.return(Writer.mapper(id, key, Writer.options(...options)));
48
+ }
46
49
  const(name, line) {
47
50
  this.add(`const ${name} = ${line};`);
48
51
  return this;
@@ -57,6 +60,11 @@ class Writer {
57
60
  this.add(writer);
58
61
  return writer;
59
62
  }
63
+ switch(input) {
64
+ const sw = new SwitchWriter(input);
65
+ this.add(sw);
66
+ return sw;
67
+ }
60
68
  indent(indent) {
61
69
  this._indent = indent;
62
70
  return this;
@@ -82,7 +90,6 @@ class Writer {
82
90
  return this.build().join("\n");
83
91
  }
84
92
  }
85
- export { Writer };
86
93
  class IfWriter extends Writer {
87
94
  condition;
88
95
  elseWriter;
@@ -105,4 +112,26 @@ class IfWriter extends Writer {
105
112
  ].flat();
106
113
  }
107
114
  }
115
+ class SwitchWriter extends Writer {
116
+ input;
117
+ #map = new Map();
118
+ constructor(input) {
119
+ super();
120
+ this.input = input;
121
+ }
122
+ case(condition) {
123
+ const writer = new Writer();
124
+ this.#map.set(condition, writer);
125
+ return writer;
126
+ }
127
+ build() {
128
+ return [
129
+ `switch (${this.input}) {`,
130
+ ...Writer.indent(Array.from(this.#map.entries()).flatMap(([condition, writer]) => {
131
+ return [condition === "default" ? `${condition}:` : `case ${condition}:`, ...Writer.indent(writer.build())];
132
+ })),
133
+ "}"
134
+ ].flat();
135
+ }
136
+ }
108
137
  //# sourceMappingURL=Writer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Writer.js","sourceRoot":"","sources":["../../../src/domain/Writer.ts"],"names":[],"mappings":"AAAA,MAAa,MAAM;IACjB,MAAM,CAAC,MAAM,GAAG;QACd,MAAM,CAAC,GAAG,IAAc;YACtB,OAAO,KAAK,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;QAClD,CAAC;KACF,CAAC;IAEQ,KAAK,CAAU;IACf,IAAI,GAAwB,EAAE,CAAC;IACjC,OAAO,CAAU;IAEzB,YAAY,IAAa;QACvB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;IACpB,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,KAAe;QAC3B,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACpC,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,QAAgB,EAAE,GAAW,EAAE,OAAe;QAC1D,OAAO,eAAe,QAAQ,MAAM,GAAG,KAAK,OAAO,GAAG,CAAC;IACzD,CAAC;IAED,MAAM,CAAC,UAAU,CAAC,GAAW,EAAE,OAAe;QAC5C,OAAO,6BAA6B,GAAG,OAAO,GAAG,KAAK,OAAO,GAAG,CAAC;IACnE,CAAC;IAED,MAAM,CAAC,OAAO,CAAC,GAAG,IAAc;QAC9B,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC5B,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,GAAG,IAAI,CAAC,CAAC;IAChF,CAAC;IAED,GAAG,CAAC,GAAG,KAAsC;QAC3C,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC;QAEnD,KAAK,CAAC,MAAM,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAI,KAA2B,CAAC,CAAC;QAEhE,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,GAAG,IAAc;QACrB,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,QAAQ,CAAC,CAAC;QAE3B,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAE1B,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAEd,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,KAAK;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YACxC,OAAO,IAAI,YAAY,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;QACtD,CAAC,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IACnE,CAAC;IAED,UAAU,CAAC,EAAU,EAAE,GAAW,EAAE,GAAG,OAAiB;QACtD,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,GAAG,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IAC3E,CAAC;IAED,KAAK,CAAC,IAAY,EAAE,IAAY;QAC9B,IAAI,CAAC,GAAG,CAAC,SAAS,IAAI,MAAM,IAAI,GAAG,CAAC,CAAC;QACrC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,CAAC,QAAgB,EAAE,OAAiB,EAAE;QACxC,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,GAAG,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAC,GAAG,EAAE,CAAC;QAEpF,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAEhB,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,EAAE,CAAC,SAAiB;QAClB,MAAM,MAAM,GAAG,IAAI,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QAE7C,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAEjB,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,MAAe;QACpB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,GAAG,CAAC,MAAM,GAAG,IAAI;QACf,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QACvC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACtB,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAEjB,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,IAAY;QACjB,IAAI,CAAC,GAAG,CAAC,UAAU,IAAI,GAAG,CAAC,CAAC;QAC5B,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC;IACrB,CAAC;IAED,IAAI;QACF,OAAO,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC;IAC5B,CAAC;IAED,GAAG,CAAC,IAAY,EAAE,KAAa;QAC7B,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,MAAM,KAAK,GAAG,CAAC,CAAC;QAChC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,QAAQ;QACN,OAAO,IAAI,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;;SAhHU,MAAM;AAmHnB,MAAM,QAAS,SAAQ,MAAM;IAGL;IAFZ,UAAU,CAAU;IAE9B,YAAsB,SAAiB,EAAE,IAAY;QACnD,KAAK,EAAE,CAAC;QADY,cAAS,GAAT,SAAS,CAAQ;QAErC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;IACpB,CAAC;IAED,IAAI;QACF,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAEtC,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC;QAEzB,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,KAAK;QACH,OAAO;YACL,OAAO,IAAI,CAAC,SAAS,KAAK;YAC1B,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;YAC/B,GAAG;YACH,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE;SAClF,CAAC,IAAI,EAAE,CAAC;IACX,CAAC;CACF"}
1
+ {"version":3,"file":"Writer.js","sourceRoot":"","sources":["../../../src/domain/Writer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ export function alterOnDeserialize(schema, value, options) {
2
+ return schema.$hooks.alter("onDeserialize", value, [options]);
3
+ }
4
+ //# sourceMappingURL=alterOnDeserialize.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"alterOnDeserialize.js","sourceRoot":"","sources":["../../../src/hooks/alterOnDeserialize.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,kBAAkB,CAAC,MAAkB,EAAE,KAAU,EAAE,OAAwB;IACzF,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,eAAe,EAAE,KAAK,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;AAChE,CAAC"}
package/lib/esm/index.js CHANGED
@@ -1,19 +1,17 @@
1
1
  /**
2
2
  * @file Automatically generated by barrelsby.
3
3
  */
4
- export * from "./components/ArrayMapper.js";
5
4
  export * from "./components/DateMapper.js";
6
- export * from "./components/MapMapper.js";
7
5
  export * from "./components/PrimitiveMapper.js";
8
- export * from "./components/SetMapper.js";
9
6
  export * from "./components/SymbolMapper.js";
10
7
  export * from "./decorators/afterDeserialize.js";
11
8
  export * from "./decorators/beforeDeserialize.js";
12
9
  export * from "./decorators/jsonMapper.js";
13
10
  export * from "./decorators/onDeserialize.js";
14
11
  export * from "./decorators/onSerialize.js";
12
+ export * from "./domain/JsonDeserializer.js";
13
+ export * from "./domain/JsonDeserializerOptions.js";
15
14
  export * from "./domain/JsonMapperCompiler.js";
16
- export * from "./domain/JsonMapperContext.js";
17
15
  export * from "./domain/JsonMapperSettings.js";
18
16
  export * from "./domain/JsonMapperTypesContainer.js";
19
17
  export * from "./domain/JsonSerializer.js";
@@ -21,6 +19,7 @@ export * from "./domain/JsonSerializerOptions.js";
21
19
  export * from "./domain/Writer.js";
22
20
  export * from "./hooks/alterAfterDeserialize.js";
23
21
  export * from "./hooks/alterBeforeDeserialize.js";
22
+ export * from "./hooks/alterOnDeserialize.js";
24
23
  export * from "./hooks/alterOnSerialize.js";
25
24
  export * from "./interfaces/JsonMapperMethods.js";
26
25
  export * from "./utils/deserialize.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,0BAA0B,CAAC;AACzC,cAAc,yBAAyB,CAAC;AACxC,cAAc,wBAAwB,CAAC;AACvC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,wBAAwB,CAAC;AACvC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,yBAAyB,CAAC;AACxC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,0BAA0B,CAAC;AACzC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,mCAAmC,CAAC;AAClD,cAAc,yBAAyB,CAAC;AACxC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,iBAAiB,CAAC;AAChC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,0BAA0B,CAAC;AACzC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,qBAAqB,CAAC;AACpC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,yBAAyB,CAAC;AACxC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,yBAAyB,CAAC;AACxC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,0BAA0B,CAAC;AACzC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,kCAAkC,CAAC;AACjD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,mCAAmC,CAAC;AAClD,cAAc,yBAAyB,CAAC;AACxC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,iBAAiB,CAAC;AAChC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,0BAA0B,CAAC;AACzC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,qBAAqB,CAAC;AACpC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,mBAAmB,CAAC"}
@@ -1,205 +1,9 @@
1
- import { getValue, isArray, isBoolean, isClass, isEmpty, isNil, nameOf, objectKeys } from "@tsed/core";
2
- import { alterIgnore, Discriminator, getProperties, JsonEntityStore, JsonParameterStore, JsonPropertyStore, JsonSchema } from "@tsed/schema";
3
- import "../components/ArrayMapper.js";
4
1
  import "../components/DateMapper.js";
5
- import "../components/MapMapper.js";
6
2
  import "../components/PrimitiveMapper.js";
7
- import "../components/SetMapper.js";
8
3
  import "../components/SymbolMapper.js";
9
- import { JsonMapperContext } from "../domain/JsonMapperContext.js";
10
- import { JsonMapperSettings } from "../domain/JsonMapperSettings.js";
11
- import { getJsonMapperTypes } from "../domain/JsonMapperTypesContainer.js";
12
- import { alterAfterDeserialize } from "../hooks/alterAfterDeserialize.js";
13
- import { alterBeforeDeserialize } from "../hooks/alterBeforeDeserialize.js";
14
- function isDeserializable(obj, options) {
15
- if ((!!options.collectionType && isNil(obj)) || obj === undefined) {
16
- return false;
17
- }
18
- return !(isEmpty(options.type) || (options.type === Object && !options.collectionType));
19
- }
20
- function alterValue(schema, value, options) {
21
- return schema.$hooks.alter("onDeserialize", value, [options]);
22
- }
23
- function transformCollection(src, options) {
24
- const { types, type = Object, collectionType } = options;
25
- const context = new JsonMapperContext({
26
- type,
27
- collectionType,
28
- options,
29
- next: (data, { collectionType, ...options }) => deserialize(data, options)
30
- });
31
- return types?.get(options.collectionType)?.deserialize(src, context);
32
- }
33
- function transformType(src, options) {
34
- const { types, type = Object } = options;
35
- const context = new JsonMapperContext({
36
- type,
37
- options,
38
- next: (data, { type, ...options }) => deserialize(data, options)
39
- });
40
- return types?.get(type)?.deserialize(src, context);
41
- }
42
- function getAdditionalProperties(nbProps, store, options) {
43
- const additionalProperties = store.schema.get("additionalProperties");
44
- if (isBoolean(additionalProperties) || isClass(additionalProperties)) {
45
- return additionalProperties;
46
- }
47
- return nbProps === 0 || !!options.additionalProperties;
48
- }
49
- /**
50
- * Transform given plain object to class.
51
- * @param src
52
- * @param options
53
- */
54
- export function plainObjectToClass(src, options) {
55
- if (isEmpty(src)) {
56
- return src;
57
- }
58
- const { type, store = JsonEntityStore.from(type) } = options;
59
- const propertiesMap = getProperties(store, { ...options, withIgnoredProps: true });
60
- let keys = new Set(objectKeys(src));
61
- const additionalProperties = getAdditionalProperties(propertiesMap.size, store, options);
62
- src = alterBeforeDeserialize(src, store.schema, options);
63
- const out = new type(options.disableUnsecureConstructor ? {} : src);
64
- propertiesMap.forEach((propStore) => {
65
- const key = options.useAlias
66
- ? propStore.parent.schema.getAliasOf(propStore.propertyName) || propStore.propertyName
67
- : propStore.propertyName;
68
- keys.delete(key);
69
- if (alterIgnore(propStore.schema, options)) {
70
- return;
71
- }
72
- let value = alterValue(propStore.schema, src[key], { ...options, self: src });
73
- value =
74
- value === src[key]
75
- ? deserialize(value, {
76
- ...options,
77
- store: propStore,
78
- format: propStore.itemSchema.get("format"),
79
- self: src,
80
- collectionType: propStore.collectionType
81
- })
82
- : value;
83
- if (!propStore.isGetterOnly()) {
84
- if (value !== undefined) {
85
- out[propStore.propertyName] = value;
86
- }
87
- else if (options.partial) {
88
- delete out[propStore.propertyName];
89
- }
90
- }
91
- });
92
- if (additionalProperties) {
93
- if (isBoolean(additionalProperties)) {
94
- keys.forEach((key) => {
95
- out[key] = src[key];
96
- });
97
- }
98
- else {
99
- const type = additionalProperties.getComputedType();
100
- keys.forEach((key) => {
101
- out[key] = deserialize(src[key], {
102
- ...options,
103
- type
104
- });
105
- });
106
- }
107
- }
108
- return alterAfterDeserialize(out, store.schema, options);
109
- }
110
- function mapPropStoreOptions(store, options) {
111
- const itemOpts = {
112
- ...options,
113
- store: undefined,
114
- type: store.computedType
115
- };
116
- if (store.itemSchema.isDiscriminator) {
117
- itemOpts.type = store.itemSchema.discriminator();
118
- }
119
- if (store.schema.hasGenerics) {
120
- itemOpts.nestedGenerics = store.schema.nestedGenerics;
121
- }
122
- else if (store.schema.isGeneric && options.nestedGenerics) {
123
- const [genericTypes = [], ...nestedGenerics] = options.nestedGenerics;
124
- const genericLabels = store.parent.schema.genericLabels || [];
125
- itemOpts.type = genericTypes[genericLabels.indexOf(store.schema.genericType)] || Object;
126
- if (itemOpts.type instanceof JsonSchema) {
127
- itemOpts.type = itemOpts.type.getTarget();
128
- }
129
- itemOpts.nestedGenerics = nestedGenerics;
130
- }
131
- return itemOpts;
132
- }
133
- function mapParamStoreOptions(store, options) {
134
- return {
135
- ...options,
136
- store: undefined,
137
- type: store.getBestType(),
138
- collectionType: store.collectionType,
139
- groups: store.parameter.groups,
140
- genericTypes: store.nestedGenerics[0],
141
- nestedGenerics: store.nestedGenerics
142
- };
143
- }
144
- function buildOptions(options) {
145
- if (options.store instanceof JsonPropertyStore) {
146
- return buildOptions(mapPropStoreOptions(options.store, options));
147
- }
148
- if (options.store instanceof JsonParameterStore) {
149
- return buildOptions(mapParamStoreOptions(options.store, options));
150
- }
151
- if (options.store instanceof JsonEntityStore) {
152
- options.type = options.store.computedType;
153
- options.collectionType = options.store.collectionType;
154
- options.store = undefined;
155
- }
156
- else if (isClass(options.type)) {
157
- const store = JsonEntityStore.from(options.type);
158
- if (store.schema.isDiscriminator) {
159
- options.type = JsonEntityStore.from(options.type).schema.discriminator();
160
- }
161
- }
162
- return {
163
- groups: false,
164
- useAlias: true,
165
- ...options,
166
- additionalProperties: getValue(options, "additionalProperties", JsonMapperSettings.additionalProperties),
167
- disableUnsecureConstructor: getValue(options, "disableUnsecureConstructor", JsonMapperSettings.disableUnsecureConstructor),
168
- partial: options.groups ? options.groups.includes("partial") : false,
169
- type: options.type ? options.type : undefined,
170
- types: options.types ? options.types : getJsonMapperTypes()
171
- };
172
- }
173
- /**
174
- * Transform given source to class base on the given `options.type`.
175
- *
176
- * @param src
177
- * @param options
178
- */
179
- export function deserialize(src, options = {}) {
180
- options = buildOptions(options);
181
- if (!isDeserializable(src, options)) {
182
- return src;
183
- }
184
- if (!options.collectionType && isArray(src)) {
185
- options.collectionType = Array;
186
- }
187
- if (options.collectionType) {
188
- if (!options.types?.has(options.collectionType)) {
189
- throw new Error(`${nameOf(options.collectionType)} is not supported by JsonMapper.`);
190
- }
191
- return transformCollection(src, options);
192
- }
193
- if (options.types?.has(options.type)) {
194
- return transformType(src, options);
195
- }
196
- if (options.type instanceof Discriminator) {
197
- const discriminator = options.type;
198
- const discriminatorValue = src[discriminator.propertyName];
199
- const type = discriminator.getType(discriminatorValue);
200
- return plainObjectToClass(src, { ...options, type });
201
- }
202
- // class converter
203
- return plainObjectToClass(src, options);
4
+ import { JsonDeserializer } from "../domain/JsonDeserializer.js";
5
+ const deserializer = new JsonDeserializer();
6
+ export function deserialize(input, options) {
7
+ return deserializer.map(input, options);
204
8
  }
205
9
  //# sourceMappingURL=deserialize.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"deserialize.js","sourceRoot":"","sources":["../../../src/utils/deserialize.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"deserialize.js","sourceRoot":"","sources":["../../../src/utils/deserialize.ts"],"names":[],"mappings":"AAAA,OAAO,0BAA0B,CAAC;AAClC,OAAO,+BAA+B,CAAC;AACvC,OAAO,4BAA4B,CAAC;AAEpC,OAAO,EAAC,gBAAgB,EAAC,MAAM,4BAA4B,CAAC;AAG5D,MAAM,YAAY,GAAG,IAAI,gBAAgB,EAAE,CAAC;AAE5C,MAAM,UAAU,WAAW,CAAc,KAAU,EAAE,OAAiC;IACpF,OAAO,YAAY,CAAC,GAAG,CAAQ,KAAK,EAAE,OAAO,CAAC,CAAC;AACjD,CAAC"}