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.
@@ -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 === "uint64" ||
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))) {
@@ -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": TypescriptGen.GENERATOR,
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 "uint64":
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 "uint64":
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 === "uint64") &&
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 "uint64":
777
+ case "hash64":
778
778
  case "float32":
779
779
  case "float64":
780
780
  case "timestamp":
package/src/parser.ts CHANGED
@@ -507,7 +507,7 @@ const PRIMITIVE_TYPES: ReadonlySet<string> = new Set<Primitive>([
507
507
  "bool",
508
508
  "int32",
509
509
  "int64",
510
- "uint64",
510
+ "hash64",
511
511
  "float32",
512
512
  "float64",
513
513
  "timestamp",