typia 13.0.0-dev.20260619.1 → 13.0.0-dev.20260626.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 (55) hide show
  1. package/lib/executable/typia.js +11 -11
  2. package/lib/executable/typia2.mjs +11 -11
  3. package/lib/executable/typia2.mjs.map +1 -1
  4. package/lib/internal/_ProtobufReader.js +1 -1
  5. package/lib/internal/_ProtobufReader.js.map +1 -1
  6. package/lib/internal/_ProtobufReader2.mjs +1 -1
  7. package/lib/internal/_ProtobufReader2.mjs.map +1 -1
  8. package/native/cmd/ttsc-typia/build.go +2 -13
  9. package/native/cmd/ttsc-typia/diagnostics.go +51 -0
  10. package/native/cmd/ttsc-typia/intersection_all_never_union_transform_test.go +168 -0
  11. package/native/cmd/ttsc-typia/intersection_brand_transform_test.go +267 -0
  12. package/native/cmd/ttsc-typia/intersection_nonsensible_backstop_transform_test.go +132 -0
  13. package/native/cmd/ttsc-typia/protobuf_object_generic_union_encode_transform_test.go +248 -0
  14. package/native/cmd/ttsc-typia/shallow_depth_argument_error_transform_test.go +2 -3
  15. package/native/cmd/ttsc-typia/template_interpolation_type_tags_transform_test.go +322 -0
  16. package/native/cmd/ttsc-typia/transform.go +2 -2
  17. package/native/cmd/ttsc-typia/transform_diagnostics_preserve_details_test.go +203 -0
  18. package/native/core/context/ITypiaContext.go +9 -1
  19. package/native/core/factories/internal/metadata/iterate_metadata_intersection.go +94 -31
  20. package/native/core/factories/internal/metadata/iterate_metadata_intersection_brand_coverage_test.go +114 -0
  21. package/native/core/factories/internal/metadata/iterate_metadata_union.go +17 -1
  22. package/native/core/programmers/internal/FeatureProgrammer.go +11 -2
  23. package/native/core/programmers/internal/feature_programmer_visit_guard_test.go +70 -0
  24. package/native/core/programmers/iterate/check_template.go +206 -10
  25. package/native/core/programmers/iterate/template_interpolation_tags_test.go +495 -0
  26. package/native/core/programmers/iterate/template_runtime_pattern.go +262 -0
  27. package/native/core/programmers/protobuf/ProtobufEncodeProgrammer.go +8 -5
  28. package/native/transform/FileTransformer.go +29 -5
  29. package/native/transform/TypiaGenerator.go +6 -3
  30. package/native/transform/file_transformer_coverage_test.go +69 -65
  31. package/native/transform/transform.go +3 -1
  32. package/package.json +4 -4
  33. package/src/TypeGuardError.ts +146 -146
  34. package/src/compare.ts +159 -159
  35. package/src/executable/TypiaGenerateWizard.ts +856 -856
  36. package/src/executable/generate/ttsc.ts +71 -71
  37. package/src/executable/typia.ts +76 -76
  38. package/src/index.ts +4 -4
  39. package/src/internal/_ProtobufReader.ts +187 -187
  40. package/src/internal/_isFormatUrl.ts +4 -4
  41. package/src/internal/_isTypeInt16.ts +5 -5
  42. package/src/internal/_isTypeInt8.ts +5 -5
  43. package/src/internal/_isTypeUint16.ts +5 -5
  44. package/src/internal/_isTypeUint8.ts +5 -5
  45. package/src/internal/_jsonStringifyNumber.ts +2 -2
  46. package/src/internal/_llmApplicationFinalize.ts +20 -20
  47. package/src/internal/_notationSnake.ts +43 -43
  48. package/src/internal/_plainCloneAny.ts +46 -46
  49. package/src/llm.ts +480 -480
  50. package/src/module.ts +913 -913
  51. package/src/notations.ts +828 -828
  52. package/src/plain.ts +593 -593
  53. package/src/re-exports.ts +37 -37
  54. package/src/reflect.ts +98 -98
  55. package/src/transform.ts +19 -19
@@ -10,17 +10,17 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
10
10
  });
11
11
  };
12
12
  Object.defineProperty(exports, "__esModule", { value: true });
13
- const USAGE = `Wrong command has been detected. Use like below:
14
-
15
- npx typia generate [options] [files...]
16
-
17
- npx typia generate
18
- --input src/templates \\
19
- --output src/generated
20
-
21
- npx typia generate
22
- --output src/generated \\
23
- "src/**/*.typia.ts"
13
+ const USAGE = `Wrong command has been detected. Use like below:
14
+
15
+ npx typia generate [options] [files...]
16
+
17
+ npx typia generate
18
+ --input src/templates \\
19
+ --output src/generated
20
+
21
+ npx typia generate
22
+ --output src/generated \\
23
+ "src/**/*.typia.ts"
24
24
  `;
25
25
  const halt = (desc) => {
26
26
  console.error(desc);
@@ -18,17 +18,17 @@ var __awaiter = (typia && typia.__awaiter) || function (thisArg, _arguments, P,
18
18
  });
19
19
  };
20
20
  Object.defineProperty(typia, "__esModule", { value: true });
21
- const USAGE = `Wrong command has been detected. Use like below:
22
-
23
- npx typia generate [options] [files...]
24
-
25
- npx typia generate
26
- --input src/templates \\
27
- --output src/generated
28
-
29
- npx typia generate
30
- --output src/generated \\
31
- "src/**/*.typia.ts"
21
+ const USAGE = `Wrong command has been detected. Use like below:
22
+
23
+ npx typia generate [options] [files...]
24
+
25
+ npx typia generate
26
+ --input src/templates \\
27
+ --output src/generated
28
+
29
+ npx typia generate
30
+ --output src/generated \\
31
+ "src/**/*.typia.ts"
32
32
  `;
33
33
  const halt = (desc) => {
34
34
  console.error(desc);
@@ -1 +1 @@
1
- {"version":3,"file":"typia2.mjs","sources":["typia.js"],"sourcesContent":["#!/usr/bin/env node\n\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst USAGE = `Wrong command has been detected. Use like below:\r\n\r\n npx typia generate [options] [files...]\r\n\r\n npx typia generate\r\n --input src/templates \\\\\r\n --output src/generated\r\n\r\n npx typia generate\r\n --output src/generated \\\\\r\n \"src/**/*.typia.ts\"\r\n`;\nconst halt = (desc) => {\n console.error(desc);\n process.exit(-1);\n};\nconst loadTypeScript = () => {\n loadPackage(\"typescript/package.json\", `typescript has not been installed. Run \"npm i -D ttsc typescript\" before.`);\n};\nconst loadTtsc = () => {\n loadPackage(\"ttsc/package.json\", `ttsc has not been installed. Run \"npm i -D ttsc typescript\" before.`);\n};\nconst loadPackage = (request, desc) => {\n const resolvers = [\n () => require.resolve(request, {\n paths: [process.cwd()],\n }),\n () => require.resolve(request),\n ];\n for (const resolve of resolvers) {\n try {\n resolve();\n return;\n }\n catch (_a) { }\n }\n halt(desc);\n};\nconst isHelp = (args) => {\n return args.some((arg) => arg === \"--help\" || arg === \"-h\");\n};\nconst main = () => __awaiter(void 0, void 0, void 0, function* () {\n try {\n yield import(\"inquirer\");\n yield import(\"commander\");\n }\n catch (_a) {\n halt(`typia has not been installed. Run \"npm i typia\" before.`);\n }\n const type = process.argv[2];\n if (type === \"generate\") {\n if (isHelp(process.argv.slice(3)) === false) {\n loadTtsc();\n loadTypeScript();\n }\n const { TypiaGenerateWizard } = yield import(\"./TypiaGenerateWizard.js\");\n yield TypiaGenerateWizard.generate();\n }\n else\n halt(USAGE);\n});\nmain().catch((exp) => {\n console.error(exp instanceof URIError ? exp.message : exp);\n process.exit(-1);\n});\n//# sourceMappingURL=typia.js.map"],"names":[],"mappings":";;;;;;;;;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;"}
1
+ {"version":3,"file":"typia2.mjs","sources":["typia.js"],"sourcesContent":["#!/usr/bin/env node\n\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst USAGE = `Wrong command has been detected. Use like below:\n\n npx typia generate [options] [files...]\n\n npx typia generate\n --input src/templates \\\\\n --output src/generated\n\n npx typia generate\n --output src/generated \\\\\n \"src/**/*.typia.ts\"\n`;\nconst halt = (desc) => {\n console.error(desc);\n process.exit(-1);\n};\nconst loadTypeScript = () => {\n loadPackage(\"typescript/package.json\", `typescript has not been installed. Run \"npm i -D ttsc typescript\" before.`);\n};\nconst loadTtsc = () => {\n loadPackage(\"ttsc/package.json\", `ttsc has not been installed. Run \"npm i -D ttsc typescript\" before.`);\n};\nconst loadPackage = (request, desc) => {\n const resolvers = [\n () => require.resolve(request, {\n paths: [process.cwd()],\n }),\n () => require.resolve(request),\n ];\n for (const resolve of resolvers) {\n try {\n resolve();\n return;\n }\n catch (_a) { }\n }\n halt(desc);\n};\nconst isHelp = (args) => {\n return args.some((arg) => arg === \"--help\" || arg === \"-h\");\n};\nconst main = () => __awaiter(void 0, void 0, void 0, function* () {\n try {\n yield import(\"inquirer\");\n yield import(\"commander\");\n }\n catch (_a) {\n halt(`typia has not been installed. Run \"npm i typia\" before.`);\n }\n const type = process.argv[2];\n if (type === \"generate\") {\n if (isHelp(process.argv.slice(3)) === false) {\n loadTtsc();\n loadTypeScript();\n }\n const { TypiaGenerateWizard } = yield import(\"./TypiaGenerateWizard.js\");\n yield TypiaGenerateWizard.generate();\n }\n else\n halt(USAGE);\n});\nmain().catch((exp) => {\n console.error(exp instanceof URIError ? exp.message : exp);\n process.exit(-1);\n});\n//# sourceMappingURL=typia.js.map"],"names":[],"mappings":";;;;;;;;;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;"}
@@ -16,7 +16,7 @@ class _ProtobufReader {
16
16
  return this.buf.length;
17
17
  }
18
18
  uint32() {
19
- return this.varint32();
19
+ return this.varint32() >>> 0;
20
20
  }
21
21
  int32() {
22
22
  return this.varint32();
@@ -1 +1 @@
1
- {"version":3,"file":"_ProtobufReader.js","sourceRoot":"","sources":["../../src/internal/_ProtobufReader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"_ProtobufReader.js","sourceRoot":"","sources":["../../src/internal/_ProtobufReader.ts"],"names":[],"mappings":"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"}
@@ -18,7 +18,7 @@ class _ProtobufReader {
18
18
  return this.buf.length;
19
19
  }
20
20
  uint32() {
21
- return this.varint32();
21
+ return this.varint32() >>> 0;
22
22
  }
23
23
  int32() {
24
24
  return this.varint32();
@@ -1 +1 @@
1
- {"version":3,"file":"_ProtobufReader2.mjs","sources":["_ProtobufReader.js"],"sourcesContent":["\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports._ProtobufReader = void 0;\nconst utils_1 = require(\"@typia/utils\");\n/// @reference https://github.com/piotr-oles/as-proto/blob/main/packages/as-proto/assembly/internal/FixedReader.ts\nclass _ProtobufReader {\n constructor(buf) {\n this.buf = buf;\n this.ptr = 0;\n this.view = new DataView(buf.buffer, buf.byteOffset, buf.byteLength);\n }\n index() {\n return this.ptr;\n }\n size() {\n return this.buf.length;\n }\n uint32() {\n return this.varint32();\n }\n int32() {\n return this.varint32();\n }\n sint32() {\n const value = this.varint32();\n return (value >>> 1) ^ -(value & 1);\n }\n uint64() {\n return this.varint64();\n }\n int64() {\n return this.varint64();\n }\n sint64() {\n const value = this.varint64();\n return (value >> BigInt(0x01)) ^ -(value & BigInt(0x01));\n }\n bool() {\n return this.varint32() !== 0;\n }\n float() {\n const value = this.view.getFloat32(this.ptr, true);\n this.ptr += 4;\n return value;\n }\n double() {\n const value = this.view.getFloat64(this.ptr, true);\n this.ptr += 8;\n return value;\n }\n bytes() {\n const length = this.uint32();\n const from = this.ptr;\n this.ptr += length;\n return this.buf.subarray(from, from + length);\n }\n string() {\n return utf8.get().decode(this.bytes());\n }\n skip(length) {\n if (length === 0)\n while (this.u8() & 0x80)\n ;\n else {\n if (this.index() + length > this.size())\n throw new Error(\"Error on typia.protobuf.decode(): buffer overflow.\");\n this.ptr += length;\n }\n }\n skipType(wireType) {\n switch (wireType) {\n case 0 /* ProtobufWire.VARIANT */:\n this.skip(0);\n break;\n case 1 /* ProtobufWire.I64 */:\n this.skip(8);\n break;\n case 2 /* ProtobufWire.LEN */:\n this.skip(this.uint32());\n break;\n case 3 /* ProtobufWire.START_GROUP */:\n while ((wireType = this.uint32() & 0x07) !== 4 /* ProtobufWire.END_GROUP */)\n this.skipType(wireType);\n break;\n case 5 /* ProtobufWire.I32 */:\n this.skip(4);\n break;\n default:\n throw new Error(`Invalid wire type ${wireType} at offset ${this.ptr}.`);\n }\n }\n varint32() {\n let loaded;\n let value;\n value = (loaded = this.u8()) & 0x7f;\n if (loaded < 0x80)\n return value;\n value |= ((loaded = this.u8()) & 0x7f) << 7;\n if (loaded < 0x80)\n return value;\n value |= ((loaded = this.u8()) & 0x7f) << 14;\n if (loaded < 0x80)\n return value;\n value |= ((loaded = this.u8()) & 0x7f) << 21;\n if (loaded < 0x80)\n return value;\n value |= ((loaded = this.u8()) & 0xf) << 28;\n if (loaded < 0x80)\n return value;\n // increment position until there is no continuation bit or until we read 10 bytes\n if (this.u8() < 0x80)\n return value;\n if (this.u8() < 0x80)\n return value;\n if (this.u8() < 0x80)\n return value;\n if (this.u8() < 0x80)\n return value;\n if (this.u8() < 0x80)\n return value;\n return value;\n }\n varint64() {\n let loaded;\n let value;\n value = (loaded = this.u8n()) & BigInt(0x7f);\n if (loaded < BigInt(0x80))\n return value;\n value |= ((loaded = this.u8n()) & BigInt(0x7f)) << BigInt(7);\n if (loaded < BigInt(0x80))\n return value;\n value |= ((loaded = this.u8n()) & BigInt(0x7f)) << BigInt(14);\n if (loaded < BigInt(0x80))\n return value;\n value |= ((loaded = this.u8n()) & BigInt(0x7f)) << BigInt(21);\n if (loaded < BigInt(0x80))\n return value;\n value |= ((loaded = this.u8n()) & BigInt(0x7f)) << BigInt(28);\n if (loaded < BigInt(0x80))\n return value;\n value |= ((loaded = this.u8n()) & BigInt(0x7f)) << BigInt(35);\n if (loaded < BigInt(0x80))\n return value;\n value |= ((loaded = this.u8n()) & BigInt(0x7f)) << BigInt(42);\n if (loaded < BigInt(0x80))\n return value;\n value |= ((loaded = this.u8n()) & BigInt(0x7f)) << BigInt(49);\n if (loaded < BigInt(0x80))\n return value;\n value |= ((loaded = this.u8n()) & BigInt(0x7f)) << BigInt(56);\n if (loaded < BigInt(0x80))\n return value;\n value |= (this.u8n() & BigInt(0x01)) << BigInt(63);\n return BigInt.asIntN(64, value);\n }\n u8() {\n return this.view.getUint8(this.ptr++);\n }\n u8n() {\n return BigInt(this.u8());\n }\n}\nexports._ProtobufReader = _ProtobufReader;\nconst utf8 = new utils_1.Singleton(() => new TextDecoder(\"utf-8\"));\n//# sourceMappingURL=_ProtobufReader.js.map"],"names":["_ProtobufReader_1"],"mappings":"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"}
1
+ {"version":3,"file":"_ProtobufReader2.mjs","sources":["_ProtobufReader.js"],"sourcesContent":["\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports._ProtobufReader = void 0;\nconst utils_1 = require(\"@typia/utils\");\n/// @reference https://github.com/piotr-oles/as-proto/blob/main/packages/as-proto/assembly/internal/FixedReader.ts\nclass _ProtobufReader {\n constructor(buf) {\n this.buf = buf;\n this.ptr = 0;\n this.view = new DataView(buf.buffer, buf.byteOffset, buf.byteLength);\n }\n index() {\n return this.ptr;\n }\n size() {\n return this.buf.length;\n }\n uint32() {\n return this.varint32() >>> 0;\n }\n int32() {\n return this.varint32();\n }\n sint32() {\n const value = this.varint32();\n return (value >>> 1) ^ -(value & 1);\n }\n uint64() {\n return this.varint64();\n }\n int64() {\n return this.varint64();\n }\n sint64() {\n const value = this.varint64();\n return (value >> BigInt(0x01)) ^ -(value & BigInt(0x01));\n }\n bool() {\n return this.varint32() !== 0;\n }\n float() {\n const value = this.view.getFloat32(this.ptr, true);\n this.ptr += 4;\n return value;\n }\n double() {\n const value = this.view.getFloat64(this.ptr, true);\n this.ptr += 8;\n return value;\n }\n bytes() {\n const length = this.uint32();\n const from = this.ptr;\n this.ptr += length;\n return this.buf.subarray(from, from + length);\n }\n string() {\n return utf8.get().decode(this.bytes());\n }\n skip(length) {\n if (length === 0)\n while (this.u8() & 0x80)\n ;\n else {\n if (this.index() + length > this.size())\n throw new Error(\"Error on typia.protobuf.decode(): buffer overflow.\");\n this.ptr += length;\n }\n }\n skipType(wireType) {\n switch (wireType) {\n case 0 /* ProtobufWire.VARIANT */:\n this.skip(0);\n break;\n case 1 /* ProtobufWire.I64 */:\n this.skip(8);\n break;\n case 2 /* ProtobufWire.LEN */:\n this.skip(this.uint32());\n break;\n case 3 /* ProtobufWire.START_GROUP */:\n while ((wireType = this.uint32() & 0x07) !== 4 /* ProtobufWire.END_GROUP */)\n this.skipType(wireType);\n break;\n case 5 /* ProtobufWire.I32 */:\n this.skip(4);\n break;\n default:\n throw new Error(`Invalid wire type ${wireType} at offset ${this.ptr}.`);\n }\n }\n varint32() {\n let loaded;\n let value;\n value = (loaded = this.u8()) & 0x7f;\n if (loaded < 0x80)\n return value;\n value |= ((loaded = this.u8()) & 0x7f) << 7;\n if (loaded < 0x80)\n return value;\n value |= ((loaded = this.u8()) & 0x7f) << 14;\n if (loaded < 0x80)\n return value;\n value |= ((loaded = this.u8()) & 0x7f) << 21;\n if (loaded < 0x80)\n return value;\n value |= ((loaded = this.u8()) & 0xf) << 28;\n if (loaded < 0x80)\n return value;\n // increment position until there is no continuation bit or until we read 10 bytes\n if (this.u8() < 0x80)\n return value;\n if (this.u8() < 0x80)\n return value;\n if (this.u8() < 0x80)\n return value;\n if (this.u8() < 0x80)\n return value;\n if (this.u8() < 0x80)\n return value;\n return value;\n }\n varint64() {\n let loaded;\n let value;\n value = (loaded = this.u8n()) & BigInt(0x7f);\n if (loaded < BigInt(0x80))\n return value;\n value |= ((loaded = this.u8n()) & BigInt(0x7f)) << BigInt(7);\n if (loaded < BigInt(0x80))\n return value;\n value |= ((loaded = this.u8n()) & BigInt(0x7f)) << BigInt(14);\n if (loaded < BigInt(0x80))\n return value;\n value |= ((loaded = this.u8n()) & BigInt(0x7f)) << BigInt(21);\n if (loaded < BigInt(0x80))\n return value;\n value |= ((loaded = this.u8n()) & BigInt(0x7f)) << BigInt(28);\n if (loaded < BigInt(0x80))\n return value;\n value |= ((loaded = this.u8n()) & BigInt(0x7f)) << BigInt(35);\n if (loaded < BigInt(0x80))\n return value;\n value |= ((loaded = this.u8n()) & BigInt(0x7f)) << BigInt(42);\n if (loaded < BigInt(0x80))\n return value;\n value |= ((loaded = this.u8n()) & BigInt(0x7f)) << BigInt(49);\n if (loaded < BigInt(0x80))\n return value;\n value |= ((loaded = this.u8n()) & BigInt(0x7f)) << BigInt(56);\n if (loaded < BigInt(0x80))\n return value;\n value |= (this.u8n() & BigInt(0x01)) << BigInt(63);\n return BigInt.asIntN(64, value);\n }\n u8() {\n return this.view.getUint8(this.ptr++);\n }\n u8n() {\n return BigInt(this.u8());\n }\n}\nexports._ProtobufReader = _ProtobufReader;\nconst utf8 = new utils_1.Singleton(() => new TextDecoder(\"utf-8\"));\n//# sourceMappingURL=_ProtobufReader.js.map"],"names":["_ProtobufReader_1"],"mappings":"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"}
@@ -79,8 +79,8 @@ func runBuild(args []string) int {
79
79
  pluginOptions := readTypiaPluginOptions(cwd, *tsconfigPath)
80
80
  transformOptions := pluginOptions.TransformOptions()
81
81
  extras := nativecontext.ITypiaContext_Extras{
82
- AddDiagnostic: func(diag *shimast.Diagnostic) int {
83
- transformDiags = append(transformDiags, typiaTransformDiagnostic{Message: "typia transform error"})
82
+ AddDiagnostic: func(diag *nativecontext.ITypiaDiagnostic) int {
83
+ transformDiags = append(transformDiags, typiaTransformDiagnosticFrom(diag))
84
84
  return len(transformDiags)
85
85
  },
86
86
  }
@@ -151,17 +151,6 @@ type typiaTransformDiagnostic struct {
151
151
  Message string
152
152
  }
153
153
 
154
- func (d typiaTransformDiagnostic) String(cwd string) string {
155
- file := d.File
156
- if rel, err := filepath.Rel(cwd, file); err == nil {
157
- file = rel
158
- }
159
- if d.Line > 0 {
160
- return fmt.Sprintf("%s:%d:%d - error TS(%s): %s", file, d.Line, d.Column, d.Code, d.Message)
161
- }
162
- return fmt.Sprintf("%s - error TS(%s): %s", file, d.Code, d.Message)
163
- }
164
-
165
154
  func writeTypiaTransformDiagnostics(out io.Writer, diagnostics []typiaTransformDiagnostic, cwd string) {
166
155
  for _, diag := range diagnostics {
167
156
  fmt.Fprintln(out, diag.String(cwd))
@@ -0,0 +1,51 @@
1
+ package main
2
+
3
+ import (
4
+ "fmt"
5
+ "path/filepath"
6
+
7
+ shimscanner "github.com/microsoft/typescript-go/shim/scanner"
8
+ nativecontext "github.com/samchon/typia/packages/typia/native/core/context"
9
+ )
10
+
11
+ const typiaTransformDiagnosticFallbackMessage = "typia transform error"
12
+
13
+ func typiaTransformDiagnosticFrom(diag *nativecontext.ITypiaDiagnostic) typiaTransformDiagnostic {
14
+ out := typiaTransformDiagnostic{Message: typiaTransformDiagnosticFallbackMessage}
15
+ if diag == nil {
16
+ return out
17
+ }
18
+ if diag.Code != "" {
19
+ out.Code = diag.Code
20
+ }
21
+ if diag.Message != "" {
22
+ out.Message = diag.Message
23
+ }
24
+ if diag.File != nil {
25
+ out.File = diag.File.FileName()
26
+ if diag.Start != nil && *diag.Start >= 0 {
27
+ line, column := shimscanner.GetECMALineAndByteOffsetOfPosition(diag.File, *diag.Start)
28
+ out.Line = line + 1
29
+ out.Column = column + 1
30
+ }
31
+ }
32
+ return out
33
+ }
34
+
35
+ func (d typiaTransformDiagnostic) String(cwd string) string {
36
+ code := d.Code
37
+ if code == "" {
38
+ code = "typia"
39
+ }
40
+ if d.File == "" {
41
+ return fmt.Sprintf("error TS(%s): %s", code, d.Message)
42
+ }
43
+ file := d.File
44
+ if rel, err := filepath.Rel(cwd, file); err == nil {
45
+ file = rel
46
+ }
47
+ if d.Line > 0 {
48
+ return fmt.Sprintf("%s:%d:%d - error TS(%s): %s", file, d.Line, d.Column, code, d.Message)
49
+ }
50
+ return fmt.Sprintf("%s - error TS(%s): %s", file, code, d.Message)
51
+ }
@@ -0,0 +1,168 @@
1
+ package main
2
+
3
+ import (
4
+ "os"
5
+ "os/exec"
6
+ "path/filepath"
7
+ "testing"
8
+ )
9
+
10
+ // TestIntersectionAllNeverUnionTransform pins the union-pruning soundness fix of
11
+ // issue #1967.
12
+ //
13
+ // TypeScript distributes `(a | b) & X` into `(a & X) | (b & X)`. When X is a
14
+ // real-data object and the bases are non-objects, every distributed member is an
15
+ // uninhabited intersection that `is_never` prunes away. The union then contributes
16
+ // no type bucket; left as an empty schema it would validate as accept-everything —
17
+ // the most dangerous possible outcome (a validator that passes any input).
18
+ //
19
+ // The fix marks such an all-pruned union not-required so it renders as `never`,
20
+ // rejecting every concrete value, exactly like a standalone `never` or the
21
+ // TypeScript-collapsed `string & number`. Crucially, a union where SOME member
22
+ // survives (narrowing a union down to its object member) is untouched: the
23
+ // surviving member contributes a bucket, so the pruning guard does not fire.
24
+ //
25
+ // 1. All-pruned unions reject every concrete value (never, not accept-everything).
26
+ // 2. A union narrowed to its surviving object member still validates that object.
27
+ func TestIntersectionAllNeverUnionTransform(t *testing.T) {
28
+ node, err := exec.LookPath("node")
29
+ if err != nil {
30
+ t.Skip("node executable not found")
31
+ }
32
+ root := ttscTypiaTestRepoRoot(t)
33
+ base := filepath.Join(root, "packages", "typia", "native", ".tmp-ttsc-typia-tests")
34
+ if err := os.MkdirAll(base, 0o755); err != nil {
35
+ t.Fatalf("mkdir temp base: %v", err)
36
+ }
37
+ dir, err := os.MkdirTemp(base, "all-never-union-")
38
+ if err != nil {
39
+ t.Fatalf("create temp fixture: %v", err)
40
+ }
41
+ t.Cleanup(func() { _ = os.RemoveAll(dir) })
42
+ src := filepath.Join(dir, "src")
43
+ if err := os.MkdirAll(src, 0o755); err != nil {
44
+ t.Fatalf("mkdir fixture src: %v", err)
45
+ }
46
+ if err := os.WriteFile(filepath.Join(dir, "tsconfig.json"), []byte(atomicIntersectionSchemaTSConfig), 0o644); err != nil {
47
+ t.Fatalf("write tsconfig: %v", err)
48
+ }
49
+ if err := os.WriteFile(filepath.Join(src, "main.ts"), []byte(intersectionAllNeverUnionSource), 0o644); err != nil {
50
+ t.Fatalf("write source: %v", err)
51
+ }
52
+
53
+ out, errText, code := ttscTypiaTestCapture(func() int {
54
+ return runTransform([]string{
55
+ "--cwd", dir,
56
+ "--tsconfig", "tsconfig.json",
57
+ "--file", "src/main.ts",
58
+ "--output", "js",
59
+ })
60
+ })
61
+ if code != 0 {
62
+ t.Fatalf("all-never union transform failed: code=%d stderr=\n%s", code, errText)
63
+ }
64
+
65
+ runtimeDir := filepath.Join(dir, "runtime")
66
+ if err := os.MkdirAll(runtimeDir, 0o755); err != nil {
67
+ t.Fatalf("mkdir runtime dir: %v", err)
68
+ }
69
+ ttscTypiaTestWriteCommonRuntimeStubs(t, runtimeDir)
70
+ runtimeJS := ttscTypiaTestRewriteCommonJS(t, out)
71
+ if err := os.WriteFile(filepath.Join(runtimeDir, "main.cjs"), []byte(runtimeJS), 0o644); err != nil {
72
+ t.Fatalf("write runtime module: %v", err)
73
+ }
74
+ runner := filepath.Join(runtimeDir, "run.cjs")
75
+ if err := os.WriteFile(runner, []byte(intersectionAllNeverUnionRunner), 0o644); err != nil {
76
+ t.Fatalf("write runtime runner: %v", err)
77
+ }
78
+ cmd := exec.Command(node, runner)
79
+ cmd.Dir = runtimeDir
80
+ output, err := cmd.CombinedOutput()
81
+ if err != nil {
82
+ t.Fatalf("all-never union runtime cases failed: %v\n%s", err, output)
83
+ }
84
+ }
85
+
86
+ const intersectionAllNeverUnionSource = `import typia from "typia";
87
+
88
+ enum MyEnum { A = "a", B = "b" }
89
+ interface Foo { a: number }
90
+ interface Bar { b: number }
91
+
92
+ // Every distributed member is a non-object base & a real-data object — all pruned
93
+ // to never. The union must validate as never, never as accept-everything.
94
+ export const isEnumData = typia.createIs<MyEnum & { data: number }>();
95
+ export const isUnionData = typia.createIs<(string | number) & { data: number }>();
96
+ export const isUnionNested = typia.createIs<(string | number) & { nested: { a: string } }>();
97
+ export const isUnionMulti = typia.createIs<(string | number) & { a: string; b: number }>();
98
+
99
+ // A "decisive" reduce_union reduction that matches no member is also uninhabited.
100
+ // The constraint is decisive (a named/shareable object, or a primitive/native/
101
+ // array), unlike an inline object — that is the path with no member-write, which
102
+ // must render as never, not the default-required accept-everything.
103
+ export const isPrimNamed = typia.createIs<(string | number) & Foo>();
104
+ export const isObjPrim = typia.createIs<({ a: number } | { b: number }) & string>();
105
+ export const isNamedObjPrim = typia.createIs<(Foo | Bar) & string>();
106
+ export const isNamedObjArray = typia.createIs<(Foo | Bar) & number[]>();
107
+
108
+ // A union narrowed to its surviving object member keeps validating that object —
109
+ // the never-pruning guard must not fire when a member contributes a bucket.
110
+ export const isNarrowPrimitive = typia.createIs<(string | { a: number }) & { a: number }>();
111
+ export const isNarrowNumber = typia.createIs<(number | { a: number }) & { a: number }>();
112
+
113
+ // A nullary member (null / undefined) sets a flag without a bucket, so the union
114
+ // still reaches the all-pruned guard with empty size. The guard must NOT swallow
115
+ // it: 'null | never' is 'null' (accepts only null, rejects undefined); 'undefined
116
+ // | never' is 'undefined'; their combination accepts both — never accept-everything.
117
+ export const isNullNever = typia.createIs<null | (string & { data: number })>();
118
+ export const isUndefinedNever = typia.createIs<undefined | (string & { data: number })>();
119
+ export const isNullUndefinedNever = typia.createIs<null | undefined | (string & { data: number })>();
120
+ `
121
+
122
+ const intersectionAllNeverUnionRunner = `const mod = require("./main.cjs");
123
+
124
+ const check = (label, actual, expected) => {
125
+ if (actual !== expected) {
126
+ throw new Error(label + ": expected " + JSON.stringify(expected) + ", got " + JSON.stringify(actual));
127
+ }
128
+ };
129
+
130
+ // All-pruned unions reject every concrete value (never-render, not accept-everything).
131
+ const neverValidators = {
132
+ isEnumData: mod.isEnumData, isUnionData: mod.isUnionData,
133
+ isUnionNested: mod.isUnionNested, isUnionMulti: mod.isUnionMulti,
134
+ isPrimNamed: mod.isPrimNamed, isObjPrim: mod.isObjPrim,
135
+ isNamedObjPrim: mod.isNamedObjPrim, isNamedObjArray: mod.isNamedObjArray,
136
+ };
137
+ const samples = ["a", "b", 1, 0, true, false, null, {}, [], { data: 1 }, { a: "s", b: 1 }, "x"];
138
+ for (const [name, fn] of Object.entries(neverValidators)) {
139
+ for (const value of samples) {
140
+ check(name + "(" + JSON.stringify(value) + ")", fn(value), false);
141
+ }
142
+ }
143
+
144
+ // Narrowing a union to its object member still validates that object.
145
+ check("isNarrowPrimitive {a:1}", mod.isNarrowPrimitive({ a: 1 }), true);
146
+ check("isNarrowPrimitive 'x'", mod.isNarrowPrimitive("x"), false);
147
+ check("isNarrowPrimitive {a:'s'}", mod.isNarrowPrimitive({ a: "s" }), false);
148
+ check("isNarrowPrimitive {}", mod.isNarrowPrimitive({}), false);
149
+ check("isNarrowNumber {a:1}", mod.isNarrowNumber({ a: 1 }), true);
150
+ check("isNarrowNumber 5", mod.isNarrowNumber(5), false);
151
+ check("isNarrowNumber {a:'s'}", mod.isNarrowNumber({ a: "s" }), false);
152
+
153
+ // A nullary member must survive the all-pruned guard: null accepts only null,
154
+ // undefined only undefined — and neither accepts a concrete value or each other.
155
+ check("isNullNever null", mod.isNullNever(null), true);
156
+ check("isNullNever undefined", mod.isNullNever(undefined), false);
157
+ check("isNullNever 'x'", mod.isNullNever("x"), false);
158
+ check("isNullNever {data:1}", mod.isNullNever({ data: 1 }), false);
159
+ check("isUndefinedNever undefined", mod.isUndefinedNever(undefined), true);
160
+ check("isUndefinedNever null", mod.isUndefinedNever(null), false);
161
+ check("isUndefinedNever 'x'", mod.isUndefinedNever("x"), false);
162
+ check("isNullUndefinedNever null", mod.isNullUndefinedNever(null), true);
163
+ check("isNullUndefinedNever undefined", mod.isNullUndefinedNever(undefined), true);
164
+ check("isNullUndefinedNever 'x'", mod.isNullUndefinedNever("x"), false);
165
+ check("isNullUndefinedNever {data:1}", mod.isNullUndefinedNever({ data: 1 }), false);
166
+
167
+ console.log("ok");
168
+ `