@tsed/json-mapper 8.11.0 → 8.11.2-rc.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (140) hide show
  1. package/lib/esm/components/DateMapper.js +0 -1
  2. package/lib/esm/components/PrimitiveMapper.js +0 -1
  3. package/lib/esm/components/SymbolMapper.js +0 -1
  4. package/lib/esm/decorators/afterDeserialize.js +0 -1
  5. package/lib/esm/decorators/beforeDeserialize.js +0 -1
  6. package/lib/esm/decorators/jsonMapper.js +0 -1
  7. package/lib/esm/decorators/onDeserialize.js +0 -1
  8. package/lib/esm/decorators/onSerialize.js +0 -1
  9. package/lib/esm/domain/JsonDeserializer.js +0 -1
  10. package/lib/esm/domain/JsonDeserializerOptions.js +0 -1
  11. package/lib/esm/domain/JsonMapperCompiler.js +0 -1
  12. package/lib/esm/domain/JsonMapperGlobalOptions.js +0 -1
  13. package/lib/esm/domain/JsonMapperSettings.js +0 -1
  14. package/lib/esm/domain/JsonMapperTypesContainer.js +0 -1
  15. package/lib/esm/domain/JsonSerializer.js +0 -1
  16. package/lib/esm/domain/JsonSerializerOptions.js +0 -1
  17. package/lib/esm/domain/Writer.js +0 -1
  18. package/lib/esm/hooks/alterAfterDeserialize.js +0 -1
  19. package/lib/esm/hooks/alterBeforeDeserialize.js +0 -1
  20. package/lib/esm/hooks/alterOnDeserialize.js +0 -1
  21. package/lib/esm/hooks/alterOnSerialize.js +0 -1
  22. package/lib/esm/index.js +0 -1
  23. package/lib/esm/interfaces/JsonMapperMethods.js +0 -1
  24. package/lib/esm/utils/deserialize.js +0 -1
  25. package/lib/esm/utils/getObjectProperties.js +0 -1
  26. package/lib/esm/utils/serialize.js +0 -1
  27. package/package.json +12 -11
  28. package/lib/browser/components/DateMapper.js +0 -22
  29. package/lib/browser/components/DateMapper.js.map +0 -1
  30. package/lib/browser/components/PrimitiveMapper.js +0 -52
  31. package/lib/browser/components/PrimitiveMapper.js.map +0 -1
  32. package/lib/browser/components/SymbolMapper.js +0 -21
  33. package/lib/browser/components/SymbolMapper.js.map +0 -1
  34. package/lib/browser/decorators/afterDeserialize.js +0 -10
  35. package/lib/browser/decorators/afterDeserialize.js.map +0 -1
  36. package/lib/browser/decorators/beforeDeserialize.js +0 -10
  37. package/lib/browser/decorators/beforeDeserialize.js.map +0 -1
  38. package/lib/browser/decorators/jsonMapper.js +0 -12
  39. package/lib/browser/decorators/jsonMapper.js.map +0 -1
  40. package/lib/browser/decorators/onDeserialize.js +0 -10
  41. package/lib/browser/decorators/onDeserialize.js.map +0 -1
  42. package/lib/browser/decorators/onSerialize.js +0 -10
  43. package/lib/browser/decorators/onSerialize.js.map +0 -1
  44. package/lib/browser/domain/JsonDeserializer.js +0 -179
  45. package/lib/browser/domain/JsonDeserializer.js.map +0 -1
  46. package/lib/browser/domain/JsonDeserializerOptions.js +0 -2
  47. package/lib/browser/domain/JsonDeserializerOptions.js.map +0 -1
  48. package/lib/browser/domain/JsonMapperCompiler.js +0 -110
  49. package/lib/browser/domain/JsonMapperCompiler.js.map +0 -1
  50. package/lib/browser/domain/JsonMapperGlobalOptions.js +0 -2
  51. package/lib/browser/domain/JsonMapperGlobalOptions.js.map +0 -1
  52. package/lib/browser/domain/JsonMapperSettings.js +0 -9
  53. package/lib/browser/domain/JsonMapperSettings.js.map +0 -1
  54. package/lib/browser/domain/JsonMapperTypesContainer.js +0 -12
  55. package/lib/browser/domain/JsonMapperTypesContainer.js.map +0 -1
  56. package/lib/browser/domain/JsonSerializer.js +0 -164
  57. package/lib/browser/domain/JsonSerializer.js.map +0 -1
  58. package/lib/browser/domain/JsonSerializerOptions.js +0 -2
  59. package/lib/browser/domain/JsonSerializerOptions.js.map +0 -1
  60. package/lib/browser/domain/Writer.js +0 -124
  61. package/lib/browser/domain/Writer.js.map +0 -1
  62. package/lib/browser/hooks/alterAfterDeserialize.js +0 -8
  63. package/lib/browser/hooks/alterAfterDeserialize.js.map +0 -1
  64. package/lib/browser/hooks/alterBeforeDeserialize.js +0 -8
  65. package/lib/browser/hooks/alterBeforeDeserialize.js.map +0 -1
  66. package/lib/browser/hooks/alterOnDeserialize.js +0 -7
  67. package/lib/browser/hooks/alterOnDeserialize.js.map +0 -1
  68. package/lib/browser/hooks/alterOnSerialize.js +0 -7
  69. package/lib/browser/hooks/alterOnSerialize.js.map +0 -1
  70. package/lib/browser/index.js +0 -47
  71. package/lib/browser/index.js.map +0 -1
  72. package/lib/browser/utils/deserialize.js +0 -12
  73. package/lib/browser/utils/deserialize.js.map +0 -1
  74. package/lib/browser/utils/getObjectProperties.js +0 -8
  75. package/lib/browser/utils/getObjectProperties.js.map +0 -1
  76. package/lib/browser/utils/serialize.js +0 -12
  77. package/lib/browser/utils/serialize.js.map +0 -1
  78. package/lib/esm/components/DateMapper.js.map +0 -1
  79. package/lib/esm/components/PrimitiveMapper.js.map +0 -1
  80. package/lib/esm/components/SymbolMapper.js.map +0 -1
  81. package/lib/esm/decorators/afterDeserialize.js.map +0 -1
  82. package/lib/esm/decorators/beforeDeserialize.js.map +0 -1
  83. package/lib/esm/decorators/jsonMapper.js.map +0 -1
  84. package/lib/esm/decorators/onDeserialize.js.map +0 -1
  85. package/lib/esm/decorators/onSerialize.js.map +0 -1
  86. package/lib/esm/domain/JsonDeserializer.js.map +0 -1
  87. package/lib/esm/domain/JsonDeserializerOptions.js.map +0 -1
  88. package/lib/esm/domain/JsonMapperCompiler.js.map +0 -1
  89. package/lib/esm/domain/JsonMapperGlobalOptions.js.map +0 -1
  90. package/lib/esm/domain/JsonMapperSettings.js.map +0 -1
  91. package/lib/esm/domain/JsonMapperTypesContainer.js.map +0 -1
  92. package/lib/esm/domain/JsonSerializer.js.map +0 -1
  93. package/lib/esm/domain/JsonSerializerOptions.js.map +0 -1
  94. package/lib/esm/domain/Writer.js.map +0 -1
  95. package/lib/esm/hooks/alterAfterDeserialize.js.map +0 -1
  96. package/lib/esm/hooks/alterBeforeDeserialize.js.map +0 -1
  97. package/lib/esm/hooks/alterOnDeserialize.js.map +0 -1
  98. package/lib/esm/hooks/alterOnSerialize.js.map +0 -1
  99. package/lib/esm/index.js.map +0 -1
  100. package/lib/esm/interfaces/JsonMapperMethods.js.map +0 -1
  101. package/lib/esm/utils/deserialize.js.map +0 -1
  102. package/lib/esm/utils/getObjectProperties.js.map +0 -1
  103. package/lib/esm/utils/serialize.js.map +0 -1
  104. package/src/components/DateMapper.spec.ts +0 -43
  105. package/src/components/DateMapper.ts +0 -29
  106. package/src/components/PrimitiveMapper.spec.ts +0 -179
  107. package/src/components/PrimitiveMapper.ts +0 -64
  108. package/src/components/SymbolMapper.spec.ts +0 -23
  109. package/src/components/SymbolMapper.ts +0 -19
  110. package/src/decorators/afterDeserialize.ts +0 -39
  111. package/src/decorators/beforeDeserialize.ts +0 -39
  112. package/src/decorators/jsonMapper.ts +0 -16
  113. package/src/decorators/onDeserialize.ts +0 -29
  114. package/src/decorators/onSerialize.ts +0 -29
  115. package/src/domain/JsonDeserializer.spec.ts +0 -1437
  116. package/src/domain/JsonDeserializer.ts +0 -402
  117. package/src/domain/JsonDeserializerOptions.ts +0 -31
  118. package/src/domain/JsonMapperCompiler.ts +0 -247
  119. package/src/domain/JsonMapperGlobalOptions.ts +0 -14
  120. package/src/domain/JsonMapperSettings.ts +0 -7
  121. package/src/domain/JsonMapperTypesContainer.ts +0 -20
  122. package/src/domain/JsonSerializer.spec.ts +0 -1506
  123. package/src/domain/JsonSerializer.ts +0 -371
  124. package/src/domain/JsonSerializerOptions.ts +0 -17
  125. package/src/domain/Writer.spec.ts +0 -11
  126. package/src/domain/Writer.ts +0 -181
  127. package/src/domain/__snapshots__/Writer.spec.ts.snap +0 -10
  128. package/src/hooks/alterAfterDeserialize.ts +0 -5
  129. package/src/hooks/alterBeforeDeserialize.ts +0 -5
  130. package/src/hooks/alterOnDeserialize.ts +0 -5
  131. package/src/hooks/alterOnSerialize.ts +0 -5
  132. package/src/index.ts +0 -28
  133. package/src/interfaces/JsonMapperMethods.ts +0 -32
  134. package/src/utils/deserialize.spec.ts +0 -33
  135. package/src/utils/deserialize.ts +0 -12
  136. package/src/utils/getObjectProperties.ts +0 -5
  137. package/src/utils/serialize.spec.ts +0 -37
  138. package/src/utils/serialize.ts +0 -12
  139. package/vite.config.mts +0 -45
  140. package/vitest.config.mts +0 -21
@@ -1,33 +0,0 @@
1
- import {deserialize} from "./deserialize.js";
2
-
3
- describe("deserialize()", () => {
4
- describe("Primitive", () => {
5
- it("should convert value", () => {
6
- expect(deserialize(null)).toEqual(null);
7
- expect(deserialize(null, {type: String})).toEqual(null);
8
- expect(deserialize(undefined)).toBeUndefined();
9
- expect(deserialize(false)).toEqual(false);
10
- expect(deserialize(true)).toEqual(true);
11
- expect(deserialize(0)).toEqual(0);
12
- expect(deserialize(1)).toEqual(1);
13
- expect(deserialize("")).toEqual("");
14
- expect(deserialize("1")).toEqual("1");
15
-
16
- expect(deserialize(null, {type: Boolean})).toEqual(null);
17
- expect(deserialize(undefined, {type: Boolean})).toBeUndefined();
18
- expect(deserialize(null, {type: Boolean})).toEqual(null);
19
- expect(deserialize(undefined, {type: Boolean})).toBeUndefined();
20
- expect(deserialize(false, {type: Boolean})).toEqual(false);
21
- expect(deserialize(true, {type: Boolean})).toEqual(true);
22
- expect(deserialize(0, {type: Number})).toEqual(0);
23
- expect(deserialize(1, {type: Number})).toEqual(1);
24
- expect(deserialize("", {type: Number})).toEqual(0);
25
- expect(deserialize("0", {type: Number})).toEqual(0);
26
- expect(deserialize("1", {type: Number})).toEqual(1);
27
- expect(deserialize("", {type: String})).toEqual("");
28
- expect(deserialize("0", {type: String})).toEqual("0");
29
- expect(deserialize("1", {type: String})).toEqual("1");
30
- expect(deserialize(["1"], {type: String})).toEqual(["1"]);
31
- });
32
- });
33
- });
@@ -1,12 +0,0 @@
1
- import "../components/DateMapper.js";
2
- import "../components/PrimitiveMapper.js";
3
- import "../components/SymbolMapper.js";
4
-
5
- import {JsonDeserializer} from "../domain/JsonDeserializer.js";
6
- import {JsonDeserializerOptions} from "../domain/JsonDeserializerOptions.js";
7
-
8
- const deserializer = new JsonDeserializer();
9
-
10
- export function deserialize<Model = any>(input: any, options?: JsonDeserializerOptions): Model {
11
- return deserializer.map<Model>(input, options);
12
- }
@@ -1,5 +0,0 @@
1
- import {isFunction} from "@tsed/core";
2
-
3
- export function getObjectProperties(obj: any): [string, any][] {
4
- return Object.entries(obj).filter(([, value]) => !isFunction(value));
5
- }
@@ -1,37 +0,0 @@
1
- import "../components/PrimitiveMapper.js";
2
-
3
- import {Property} from "@tsed/schema";
4
-
5
- import {serialize} from "./serialize.js";
6
-
7
- describe("serialize()", () => {
8
- it("should serialize values", () => {
9
- expect(serialize(undefined)).toBeUndefined();
10
- expect(serialize(null)).toEqual(null);
11
- expect(serialize("null")).toEqual("null");
12
- expect(serialize(Symbol.for("TEST"))).toEqual("TEST");
13
- expect(serialize(false)).toEqual(false);
14
- expect(serialize(true)).toEqual(true);
15
- expect(serialize("")).toEqual("");
16
- expect(serialize("1")).toEqual("1");
17
- expect(serialize(0)).toEqual(0);
18
- expect(serialize(1)).toEqual(1);
19
- expect(serialize(BigInt(1n))).toEqual(BigInt(1));
20
-
21
- class Entity {
22
- @Property()
23
- num: number;
24
- }
25
-
26
- expect(
27
- serialize(
28
- {
29
- num: "1"
30
- },
31
- {type: Entity}
32
- )
33
- ).toEqual({
34
- num: 1
35
- });
36
- });
37
- });
@@ -1,12 +0,0 @@
1
- import "../components/DateMapper.js";
2
- import "../components/PrimitiveMapper.js";
3
- import "../components/SymbolMapper.js";
4
-
5
- import {JsonSerializer} from "../domain/JsonSerializer.js";
6
- import {JsonSerializerOptions} from "../domain/JsonSerializerOptions.js";
7
-
8
- const serializer = new JsonSerializer();
9
-
10
- export function serialize(input: any, options?: JsonSerializerOptions) {
11
- return serializer.map(input, options);
12
- }
package/vite.config.mts DELETED
@@ -1,45 +0,0 @@
1
- import {defineConfig} from "vite";
2
- import {join} from "node:path";
3
- import {extname, relative} from "path";
4
- import {fileURLToPath} from "node:url";
5
- import {globbySync} from "globby";
6
-
7
- // https://vitejs.dev/config/
8
- export default defineConfig({
9
- plugins: [],
10
- build: {
11
- assetsInlineLimit: 0,
12
- sourcemap: true,
13
- outDir: "lib/browser",
14
- lib: {
15
- entry: join(import.meta.dirname, "src/index.ts"),
16
- formats: ["es"]
17
- },
18
- rollupOptions: {
19
- external: [/node_modules\/(.*)/, /^@tsed\//],
20
- input: Object.fromEntries(
21
- globbySync("src/**/*.ts", {
22
- ignore: [
23
- "**/*.spec.{ts,tsx}",
24
- "**/*.stories.{ts,tsx}",
25
- "**/__mocks__/**",
26
- "**/__mock__/**",
27
- "**/interfaces/**"
28
- ]
29
- }).map((file) => [
30
- // The name of the entry point
31
- // lib/nested/foo.ts becomes nested/foo
32
- relative("src", file.slice(0, file.length - extname(file).length)),
33
- // The absolute path to the entry file
34
- // lib/nested/foo.ts becomes /project/lib/nested/foo.ts
35
- fileURLToPath(new URL(file, import.meta.url))
36
- ])
37
- ),
38
- output: {
39
- assetFileNames: "assets/[name][extname]",
40
- chunkFileNames: "chunks/[name].js",
41
- entryFileNames: "[name].js"
42
- }
43
- }
44
- }
45
- });
package/vitest.config.mts DELETED
@@ -1,21 +0,0 @@
1
- // @ts-ignore
2
- import {presets} from "@tsed/vitest/presets";
3
- import {defineConfig} from "vitest/config";
4
-
5
- export default defineConfig(
6
- {
7
- ...presets,
8
- test: {
9
- ...presets.test,
10
- coverage: {
11
- ...presets.test.coverage,
12
- thresholds: {
13
- statements: 0,
14
- branches: 0,
15
- functions: 0,
16
- lines: 0
17
- }
18
- }
19
- }
20
- }
21
- );