typia 13.2.0 → 14.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.
- package/lib/http.d.ts +3 -3
- package/lib/http.js.map +1 -1
- package/lib/http.mjs.map +1 -1
- package/lib/internal/_assertGuard.js +13 -3
- package/lib/internal/_assertGuard.js.map +1 -1
- package/lib/internal/_assertGuard.mjs +4 -2
- package/lib/internal/_assertGuard.mjs.map +1 -1
- package/lib/internal/_isFormatIdnHostname.js +5 -1
- package/lib/internal/_isFormatIdnHostname.js.map +1 -1
- package/lib/internal/_isFormatIdnHostname.mjs +1 -1
- package/lib/internal/_isFormatIdnHostname.mjs.map +1 -1
- package/lib/internal/_isFormatTime.js +19 -2
- package/lib/internal/_isFormatTime.js.map +1 -1
- package/lib/internal/_isFormatTime.mjs +9 -2
- package/lib/internal/_isFormatTime.mjs.map +1 -1
- package/lib/internal/_randomArray.js +37 -4
- package/lib/internal/_randomArray.js.map +1 -1
- package/lib/internal/_randomArray.mjs +16 -3
- package/lib/internal/_randomArray.mjs.map +1 -1
- package/lib/internal/_randomFormatByte.js +15 -12
- package/lib/internal/_randomFormatByte.js.map +1 -1
- package/lib/internal/_randomFormatByte.mjs +11 -10
- package/lib/internal/_randomFormatByte.mjs.map +1 -1
- package/lib/internal/_randomFormatDatetime.mjs +1 -1
- package/lib/internal/_randomFormatHostname.d.ts +2 -2
- package/lib/internal/_randomFormatHostname.js +2 -2
- package/lib/internal/_randomFormatHostname.mjs +2 -2
- package/lib/internal/_randomFormatHostname.mjs.map +1 -1
- package/lib/internal/_randomFormatIdnHostname.js +9 -10
- package/lib/internal/_randomFormatIdnHostname.js.map +1 -1
- package/lib/internal/_randomFormatIdnHostname.mjs +3 -4
- package/lib/internal/_randomFormatIdnHostname.mjs.map +1 -1
- package/lib/internal/_randomFormatRegex.js +4 -4
- package/lib/internal/_randomFormatRegex.js.map +1 -1
- package/lib/internal/_randomFormatRegex.mjs +1 -2
- package/lib/internal/_randomFormatRegex.mjs.map +1 -1
- package/lib/internal/_randomFormatTime.js +15 -10
- package/lib/internal/_randomFormatTime.js.map +1 -1
- package/lib/internal/_randomFormatTime.mjs +6 -3
- package/lib/internal/_randomFormatTime.mjs.map +1 -1
- package/lib/internal/_randomPattern.js +20 -3
- package/lib/internal/_randomPattern.js.map +1 -1
- package/lib/internal/_randomPattern.mjs +5 -1
- package/lib/internal/_randomPattern.mjs.map +1 -1
- package/lib/internal/_randomStringLength.js +9 -2
- package/lib/internal/_randomStringLength.js.map +1 -1
- package/lib/internal/_randomStringLength.mjs +3 -1
- package/lib/internal/_randomStringLength.mjs.map +1 -1
- package/lib/internal/private/__randomComposition.d.ts +8 -0
- package/lib/internal/private/__randomComposition.js +21 -1
- package/lib/internal/private/__randomComposition.js.map +1 -1
- package/lib/internal/private/__randomComposition.mjs +18 -1
- package/lib/internal/private/__randomComposition.mjs.map +1 -1
- package/lib/json.d.ts +2 -2
- package/lib/json.js.map +1 -1
- package/lib/json.mjs.map +1 -1
- package/lib/module.d.ts +28 -13
- package/lib/module.js.map +1 -1
- package/lib/module.mjs.map +1 -1
- package/lib/notations.d.ts +4 -4
- package/lib/notations.js.map +1 -1
- package/lib/notations.mjs.map +1 -1
- package/lib/plain.d.ts +3 -3
- package/lib/plain.js.map +1 -1
- package/lib/plain.mjs.map +1 -1
- package/lib/protobuf.d.ts +2 -2
- package/lib/protobuf.js.map +1 -1
- package/lib/protobuf.mjs.map +1 -1
- package/lib/transform.mjs +1 -1
- package/native/cmd/ttsc-typia/assert_guard_factory_contract_test.go +17 -4
- package/native/cmd/ttsc-typia/create_assert_error_factory_arity_test.go +309 -0
- package/native/cmd/ttsc-typia/dynamic_key_tags_transform_test.go +206 -0
- package/native/cmd/ttsc-typia/local_function_named_like_typia_operation_transform_test.go +185 -0
- package/native/cmd/ttsc-typia/notation_kebab_case_transform_test.go +2 -2
- package/native/cmd/ttsc-typia/project_catalog_transform_coverage_test.go +84 -85
- package/native/cmd/ttsc-typia/recursive_conditional_alias_name_transform_test.go +307 -0
- package/native/cmd/ttsc-typia/shadowed_typia_module_declaration_diagnostic_test.go +152 -0
- package/native/cmd/ttsc-typia/transform.go +2 -2
- package/native/cmd/ttsc-typia/transform_helpers_test.go +96 -18
- package/native/core/factories/FormatCheatSheet.go +2 -2
- package/native/core/factories/MetadataCommentTagFactory.go +91 -7
- package/native/core/factories/factory_utility_coverage_test.go +896 -907
- package/native/core/factories/internal/metadata/MetadataHelper.go +5 -28
- package/native/core/factories/metadata_comment_tag_factory_rejects_out_of_range_integer_test.go +124 -0
- package/native/core/programmers/AssertProgrammer.go +20 -6
- package/native/core/programmers/RandomProgrammer.go +78 -3
- package/native/core/programmers/ValidateProgrammer.go +21 -6
- package/native/core/programmers/helpers/RandomJoiner.go +8 -1
- package/native/core/programmers/iterate/check_dynamic_properties.go +177 -3
- package/native/core/programmers/iterate/check_object.go +12 -1
- package/native/core/schemas/metadata/MetadataCollection.go +47 -5
- package/native/transform/CallExpressionTransformer.go +167 -0
- package/package.json +3 -12
- package/src/http.ts +18 -4
- package/src/internal/_assertGuard.ts +13 -2
- package/src/internal/_isFormatIdnHostname.ts +5 -1
- package/src/internal/_isFormatTime.ts +19 -2
- package/src/internal/_randomArray.ts +42 -6
- package/src/internal/_randomFormatByte.ts +17 -12
- package/src/internal/_randomFormatHostname.ts +2 -2
- package/src/internal/_randomFormatIdnHostname.ts +8 -9
- package/src/internal/_randomFormatRegex.ts +4 -6
- package/src/internal/_randomFormatTime.ts +15 -10
- package/src/internal/_randomPattern.ts +18 -3
- package/src/internal/_randomStringLength.ts +9 -2
- package/src/internal/private/__randomComposition.ts +24 -0
- package/src/json.ts +16 -4
- package/src/module.ts +56 -22
- package/src/notations.ts +16 -4
- package/src/plain.ts +12 -3
- package/src/protobuf.ts +16 -4
- package/lib/executable/FileSystemIdentity.d.ts +0 -44
- package/lib/executable/FileSystemIdentity.js +0 -213
- package/lib/executable/FileSystemIdentity.js.map +0 -1
- package/lib/executable/FileSystemIdentity.mjs +0 -133
- package/lib/executable/FileSystemIdentity.mjs.map +0 -1
- package/lib/executable/TypiaGenerateWizard.d.ts +0 -9
- package/lib/executable/TypiaGenerateWizard.js +0 -852
- package/lib/executable/TypiaGenerateWizard.js.map +0 -1
- package/lib/executable/TypiaGenerateWizard.mjs +0 -618
- package/lib/executable/TypiaGenerateWizard.mjs.map +0 -1
- package/lib/executable/generate/ttsc.d.ts +0 -1
- package/lib/executable/generate/ttsc.js +0 -53
- package/lib/executable/generate/ttsc.js.map +0 -1
- package/lib/executable/generate/ttsc.mjs +0 -37
- package/lib/executable/generate/ttsc.mjs.map +0 -1
- package/lib/executable/typia.d.ts +0 -2
- package/lib/executable/typia.js +0 -84
- package/lib/executable/typia.js.map +0 -1
- package/lib/executable/typia.mjs +0 -60
- package/lib/executable/typia.mjs.map +0 -1
- package/src/executable/FileSystemIdentity.ts +0 -222
- package/src/executable/TypiaGenerateWizard.ts +0 -1133
- package/src/executable/generate/ttsc.ts +0 -70
- package/src/executable/typia.ts +0 -80
|
@@ -1,70 +0,0 @@
|
|
|
1
|
-
import { spawnSync } from "node:child_process";
|
|
2
|
-
import fs from "node:fs";
|
|
3
|
-
import path from "node:path";
|
|
4
|
-
|
|
5
|
-
const packageRoot = path.resolve(
|
|
6
|
-
path.dirname(path.resolve(process.argv[1] ?? "")),
|
|
7
|
-
"..",
|
|
8
|
-
"..",
|
|
9
|
-
"..",
|
|
10
|
-
);
|
|
11
|
-
const nativeProject = path.resolve(packageRoot, "native");
|
|
12
|
-
const nativeEntrypoint = path.resolve(
|
|
13
|
-
nativeProject,
|
|
14
|
-
"cmd",
|
|
15
|
-
"ttsc-typia",
|
|
16
|
-
"main.go",
|
|
17
|
-
);
|
|
18
|
-
const command = process.platform === "win32" ? "go.exe" : "go";
|
|
19
|
-
const invocationCwd = process.cwd();
|
|
20
|
-
const argv = [...process.argv.slice(2)];
|
|
21
|
-
|
|
22
|
-
if (
|
|
23
|
-
process.env.TYPIA_TTSC_TRANSFORM_OUTPUT === "ts" &&
|
|
24
|
-
argv[0] === "transform" &&
|
|
25
|
-
!argv.some((value) => value === "--output" || value.startsWith("--output="))
|
|
26
|
-
) {
|
|
27
|
-
argv.push("--output=ts");
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
if (
|
|
31
|
-
argv.length > 0 &&
|
|
32
|
-
needsCwd(argv[0]!) &&
|
|
33
|
-
!argv.some((value) => value === "--cwd" || value.startsWith("--cwd="))
|
|
34
|
-
) {
|
|
35
|
-
argv.push(`--cwd=${invocationCwd}`);
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
const hasSourceEntrypoint = fs.existsSync(nativeEntrypoint);
|
|
39
|
-
|
|
40
|
-
if (!hasSourceEntrypoint) {
|
|
41
|
-
process.stderr.write(
|
|
42
|
-
"ttsc-typia: backend source is missing. Expected native/cmd/ttsc-typia/main.go inside the typia package.\n",
|
|
43
|
-
);
|
|
44
|
-
process.exitCode = 1;
|
|
45
|
-
} else {
|
|
46
|
-
const result = spawnSync(command, ["run", "./cmd/ttsc-typia", ...argv], {
|
|
47
|
-
cwd: nativeProject,
|
|
48
|
-
env: process.env,
|
|
49
|
-
stdio: "inherit",
|
|
50
|
-
windowsHide: true,
|
|
51
|
-
});
|
|
52
|
-
if (result.error) {
|
|
53
|
-
process.stderr.write(
|
|
54
|
-
`ttsc-typia: failed to launch source backend via ${command}: ${result.error.message}\n`,
|
|
55
|
-
);
|
|
56
|
-
process.exitCode = 1;
|
|
57
|
-
} else {
|
|
58
|
-
process.exitCode = result.status ?? 1;
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
function needsCwd(commandName: string): boolean {
|
|
63
|
-
return (
|
|
64
|
-
commandName === "build" ||
|
|
65
|
-
commandName === "check" ||
|
|
66
|
-
commandName === "transform" ||
|
|
67
|
-
commandName === "-p" ||
|
|
68
|
-
commandName === "--project"
|
|
69
|
-
);
|
|
70
|
-
}
|
package/src/executable/typia.ts
DELETED
|
@@ -1,80 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
import { createRequire } from "node:module";
|
|
3
|
-
import path from "node:path";
|
|
4
|
-
|
|
5
|
-
const USAGE = `Wrong command has been detected. Use like below:
|
|
6
|
-
|
|
7
|
-
npx typia generate [options] [files...]
|
|
8
|
-
|
|
9
|
-
npx typia generate
|
|
10
|
-
--input src/templates \\
|
|
11
|
-
--output src/generated
|
|
12
|
-
|
|
13
|
-
npx typia generate
|
|
14
|
-
--output src/generated \\
|
|
15
|
-
"src/**/*.typia.ts"
|
|
16
|
-
`;
|
|
17
|
-
|
|
18
|
-
const halt = (desc: string): never => {
|
|
19
|
-
console.error(desc);
|
|
20
|
-
process.exit(-1);
|
|
21
|
-
};
|
|
22
|
-
|
|
23
|
-
const loadTypeScript = (): void => {
|
|
24
|
-
loadPackage(
|
|
25
|
-
"typescript/package.json",
|
|
26
|
-
`typescript has not been installed. Run "npm i -D ttsc typescript" before.`,
|
|
27
|
-
);
|
|
28
|
-
};
|
|
29
|
-
|
|
30
|
-
const loadTtsc = (): void => {
|
|
31
|
-
loadPackage(
|
|
32
|
-
"ttsc/package.json",
|
|
33
|
-
`ttsc has not been installed. Run "npm i -D ttsc typescript" before.`,
|
|
34
|
-
);
|
|
35
|
-
};
|
|
36
|
-
|
|
37
|
-
const loadPackage = (request: string, desc: string): void => {
|
|
38
|
-
// The ambient CJS `require` does not exist in the transcoded `.mjs`;
|
|
39
|
-
// anchor explicit resolvers on the consuming project (cwd) first, then on
|
|
40
|
-
// this executable's own location, mirroring the original lookup order.
|
|
41
|
-
const resolvers: Array<() => string> = [
|
|
42
|
-
() =>
|
|
43
|
-
createRequire(path.join(process.cwd(), "package.json")).resolve(request),
|
|
44
|
-
() => createRequire(path.resolve(process.argv[1] ?? "")).resolve(request),
|
|
45
|
-
];
|
|
46
|
-
for (const resolve of resolvers) {
|
|
47
|
-
try {
|
|
48
|
-
resolve();
|
|
49
|
-
return;
|
|
50
|
-
} catch {}
|
|
51
|
-
}
|
|
52
|
-
halt(desc);
|
|
53
|
-
};
|
|
54
|
-
|
|
55
|
-
const isHelp = (args: string[]): boolean => {
|
|
56
|
-
return args.some((arg) => arg === "--help" || arg === "-h");
|
|
57
|
-
};
|
|
58
|
-
|
|
59
|
-
const main = async (): Promise<void> => {
|
|
60
|
-
try {
|
|
61
|
-
await import("inquirer");
|
|
62
|
-
await import("commander");
|
|
63
|
-
} catch {
|
|
64
|
-
halt(`typia has not been installed. Run "npm i typia" before.`);
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
const type: string | undefined = process.argv[2];
|
|
68
|
-
if (type === "generate") {
|
|
69
|
-
if (isHelp(process.argv.slice(3)) === false) {
|
|
70
|
-
loadTtsc();
|
|
71
|
-
loadTypeScript();
|
|
72
|
-
}
|
|
73
|
-
const { TypiaGenerateWizard } = await import("./TypiaGenerateWizard.js");
|
|
74
|
-
await TypiaGenerateWizard.generate();
|
|
75
|
-
} else halt(USAGE);
|
|
76
|
-
};
|
|
77
|
-
main().catch((exp) => {
|
|
78
|
-
console.error(exp instanceof URIError ? exp.message : exp);
|
|
79
|
-
process.exit(-1);
|
|
80
|
-
});
|