skir 1.0.1 → 1.0.3
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/README.md +29 -409
- package/dist/command_line_parser.d.ts +3 -0
- package/dist/command_line_parser.d.ts.map +1 -1
- package/dist/command_line_parser.js +3 -0
- package/dist/command_line_parser.js.map +1 -1
- package/dist/compatibility_checker.js +4 -16
- package/dist/compatibility_checker.js.map +1 -1
- package/dist/compatibility_checker.test.js +66 -6
- package/dist/compatibility_checker.test.js.map +1 -1
- package/dist/compiler.js +6 -0
- package/dist/compiler.js.map +1 -1
- package/dist/config_parser.js +1 -0
- package/dist/config_parser.js.map +1 -1
- package/dist/literals.js +2 -2
- package/dist/literals.test.js +9 -9
- package/dist/module_set.js +2 -2
- package/dist/module_set.test.js +1 -1
- package/dist/module_set.test.js.map +1 -1
- package/dist/parser.js +1 -1
- package/dist/parser.test.js +3 -3
- package/package.json +2 -2
- package/src/command_line_parser.ts +8 -0
- package/src/compatibility_checker.ts +4 -22
- package/src/compiler.ts +9 -0
- package/src/config_parser.ts +8 -6
- package/src/literals.ts +2 -2
- package/src/module_set.ts +2 -2
- package/src/parser.ts +1 -1
|
@@ -439,36 +439,18 @@ function primitiveTypesAreCompatible(type: BeforeAfter<Primitive>): boolean {
|
|
|
439
439
|
type.after === "bool" ||
|
|
440
440
|
type.after === "int32" ||
|
|
441
441
|
type.after === "int64" ||
|
|
442
|
-
type.after === "
|
|
443
|
-
type.after === "float32" ||
|
|
444
|
-
type.after === "float64"
|
|
442
|
+
type.after === "hash64"
|
|
445
443
|
);
|
|
446
444
|
case "int32":
|
|
447
|
-
return
|
|
448
|
-
type.after === "int32" ||
|
|
449
|
-
type.after === "int64" ||
|
|
450
|
-
type.after === "uint64" ||
|
|
451
|
-
type.after === "float32" ||
|
|
452
|
-
type.after === "float64"
|
|
453
|
-
);
|
|
454
|
-
case "int64":
|
|
455
|
-
return (
|
|
456
|
-
type.after === "int64" ||
|
|
457
|
-
type.after === "float32" ||
|
|
458
|
-
type.after === "float64"
|
|
459
|
-
);
|
|
460
|
-
case "uint64":
|
|
461
|
-
return (
|
|
462
|
-
type.after === "uint64" ||
|
|
463
|
-
type.after === "float32" ||
|
|
464
|
-
type.after === "float64"
|
|
465
|
-
);
|
|
445
|
+
return type.after === "int32" || type.after === "int64";
|
|
466
446
|
case "float32":
|
|
467
447
|
case "float64":
|
|
468
448
|
return type.after === "float32" || type.after === "float64";
|
|
469
449
|
case "timestamp":
|
|
470
450
|
case "string":
|
|
471
451
|
case "bytes":
|
|
452
|
+
case "int64":
|
|
453
|
+
case "hash64":
|
|
472
454
|
return type.after === type.before;
|
|
473
455
|
}
|
|
474
456
|
}
|
package/src/compiler.ts
CHANGED
|
@@ -335,6 +335,15 @@ async function format(root: string, mode: "fix" | "check"): Promise<void> {
|
|
|
335
335
|
async function main(): Promise<void> {
|
|
336
336
|
const args = parseCommandLine(process.argv.slice(2));
|
|
337
337
|
|
|
338
|
+
if (args.kind === "version") {
|
|
339
|
+
const packageJsonPath = new URL("../package.json", import.meta.url);
|
|
340
|
+
const packageJson = JSON.parse(
|
|
341
|
+
await FileSystem.readFile(packageJsonPath, "utf-8"),
|
|
342
|
+
);
|
|
343
|
+
console.log(`v${packageJson.version}`);
|
|
344
|
+
return;
|
|
345
|
+
}
|
|
346
|
+
|
|
338
347
|
const root = args.root || ".";
|
|
339
348
|
|
|
340
349
|
if (!(await isDirectory(root))) {
|
package/src/config_parser.ts
CHANGED
|
@@ -277,11 +277,13 @@ async function parseSkirConfigInternalAsync(
|
|
|
277
277
|
return { skirConfig: zodResult.data!, errors: [] };
|
|
278
278
|
}
|
|
279
279
|
|
|
280
|
+
// TODO: remove the casts
|
|
280
281
|
const STATIC_GENERATORS: Record<string, CodeGenerator<unknown>> = {
|
|
281
|
-
"skir-cc-gen": CcGen.GENERATOR
|
|
282
|
-
"skir-dart-gen": DartGen.GENERATOR
|
|
283
|
-
"skir-java-gen": JavaGen.GENERATOR
|
|
284
|
-
"skir-kotlin-gen": KotlinGen.GENERATOR
|
|
285
|
-
"skir-python-gen": PythonGen.GENERATOR
|
|
286
|
-
"skir-typescript-gen":
|
|
282
|
+
"skir-cc-gen": CcGen.GENERATOR as any as CodeGenerator<unknown>,
|
|
283
|
+
"skir-dart-gen": DartGen.GENERATOR as any as CodeGenerator<unknown>,
|
|
284
|
+
"skir-java-gen": JavaGen.GENERATOR as any as CodeGenerator<unknown>,
|
|
285
|
+
"skir-kotlin-gen": KotlinGen.GENERATOR as any as CodeGenerator<unknown>,
|
|
286
|
+
"skir-python-gen": PythonGen.GENERATOR as any as CodeGenerator<unknown>,
|
|
287
|
+
"skir-typescript-gen":
|
|
288
|
+
TypescriptGen.GENERATOR as any as CodeGenerator<unknown>,
|
|
287
289
|
};
|
package/src/literals.ts
CHANGED
|
@@ -38,7 +38,7 @@ export function valueHasPrimitiveType(
|
|
|
38
38
|
BigInt("-9223372036854775808"),
|
|
39
39
|
BigInt("9223372036854775807"),
|
|
40
40
|
);
|
|
41
|
-
case "
|
|
41
|
+
case "hash64":
|
|
42
42
|
return isIntLiteral(token, BigInt(0), BigInt("18446744073709551615"));
|
|
43
43
|
case "float32":
|
|
44
44
|
case "float64": {
|
|
@@ -92,7 +92,7 @@ export function literalValueToDenseJson(
|
|
|
92
92
|
return isStringLiteral(token) ? unquoteAndUnescape(token) : Number(token);
|
|
93
93
|
}
|
|
94
94
|
case "int64":
|
|
95
|
-
case "
|
|
95
|
+
case "hash64":
|
|
96
96
|
return String(BigInt(token));
|
|
97
97
|
case "string":
|
|
98
98
|
return unquoteAndUnescape(token);
|
package/src/module_set.ts
CHANGED
|
@@ -642,7 +642,7 @@ export class ModuleSet {
|
|
|
642
642
|
: !valueJson ||
|
|
643
643
|
(Array.isArray(valueJson) && !valueJson.length) ||
|
|
644
644
|
(type.kind === "primitive" &&
|
|
645
|
-
(type.primitive === "int64" || type.primitive === "
|
|
645
|
+
(type.primitive === "int64" || type.primitive === "hash64") &&
|
|
646
646
|
valueJson === "0");
|
|
647
647
|
if (!hasDefaultValue) {
|
|
648
648
|
arrayLen = Math.max(arrayLen, field.number + 1);
|
|
@@ -774,7 +774,7 @@ export class ModuleSet {
|
|
|
774
774
|
case "bool":
|
|
775
775
|
case "int32":
|
|
776
776
|
case "int64":
|
|
777
|
-
case "
|
|
777
|
+
case "hash64":
|
|
778
778
|
case "float32":
|
|
779
779
|
case "float64":
|
|
780
780
|
case "timestamp":
|