@bscotch/yy 2.4.0 → 2.6.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.
Files changed (77) hide show
  1. package/README.md +41 -4
  2. package/dist/Yy.d.ts +2268 -9447
  3. package/dist/Yy.d.ts.map +1 -1
  4. package/dist/Yy.js +2 -4
  5. package/dist/Yy.js.map +1 -1
  6. package/dist/Yy.parse.d.ts +2 -2
  7. package/dist/Yy.parse.d.ts.map +1 -1
  8. package/dist/Yy.parse.js.map +1 -1
  9. package/dist/Yy.stringify.js +14 -0
  10. package/dist/Yy.stringify.js.map +1 -1
  11. package/dist/cli.d.mts +3 -0
  12. package/dist/cli.d.mts.map +1 -0
  13. package/dist/cli.mjs +39 -0
  14. package/dist/cli.mjs.map +1 -0
  15. package/dist/groups.d.ts +8 -0
  16. package/dist/groups.d.ts.map +1 -0
  17. package/dist/groups.js +26 -0
  18. package/dist/groups.js.map +1 -0
  19. package/dist/index.d.ts +6 -2
  20. package/dist/index.d.ts.map +1 -1
  21. package/dist/index.js +6 -2
  22. package/dist/index.js.map +1 -1
  23. package/dist/scripts.d.ts +17 -0
  24. package/dist/scripts.d.ts.map +1 -0
  25. package/dist/scripts.js +88 -0
  26. package/dist/scripts.js.map +1 -0
  27. package/dist/types/GameMakerVersionString.js.map +1 -1
  28. package/dist/types/YyBase.d.ts +5 -38
  29. package/dist/types/YyBase.d.ts.map +1 -1
  30. package/dist/types/YyBase.js +4 -1
  31. package/dist/types/YyBase.js.map +1 -1
  32. package/dist/types/YyExtension.d.ts +17 -753
  33. package/dist/types/YyExtension.d.ts.map +1 -1
  34. package/dist/types/YyExtension.js +4 -8
  35. package/dist/types/YyExtension.js.map +1 -1
  36. package/dist/types/YyObject.d.ts +25 -321
  37. package/dist/types/YyObject.d.ts.map +1 -1
  38. package/dist/types/YyRoom.d.ts +184 -2867
  39. package/dist/types/YyRoom.d.ts.map +1 -1
  40. package/dist/types/YyRoom.js +45 -43
  41. package/dist/types/YyRoom.js.map +1 -1
  42. package/dist/types/YyRoomUI.d.ts +4 -50
  43. package/dist/types/YyRoomUI.d.ts.map +1 -1
  44. package/dist/types/YyRoomUI.js +2 -4
  45. package/dist/types/YyRoomUI.js.map +1 -1
  46. package/dist/types/YyScript.d.ts +4 -38
  47. package/dist/types/YyScript.d.ts.map +1 -1
  48. package/dist/types/YyShader.d.ts +4 -52
  49. package/dist/types/YyShader.d.ts.map +1 -1
  50. package/dist/types/YySound.d.ts +150 -79
  51. package/dist/types/YySound.d.ts.map +1 -1
  52. package/dist/types/YySound.js +83 -16
  53. package/dist/types/YySound.js.map +1 -1
  54. package/dist/types/YySprite.d.ts +1385 -2633
  55. package/dist/types/YySprite.d.ts.map +1 -1
  56. package/dist/types/YySprite.js +40 -24
  57. package/dist/types/YySprite.js.map +1 -1
  58. package/dist/types/YySprite.lib.d.ts +564 -123
  59. package/dist/types/YySprite.lib.d.ts.map +1 -1
  60. package/dist/types/YySprite.lib.js.map +1 -1
  61. package/dist/types/Yyp.d.ts +50 -1100
  62. package/dist/types/Yyp.d.ts.map +1 -1
  63. package/dist/types/Yyp.js +15 -13
  64. package/dist/types/Yyp.js.map +1 -1
  65. package/dist/types/utility.d.ts +21 -28
  66. package/dist/types/utility.d.ts.map +1 -1
  67. package/dist/types/utility.js +42 -14
  68. package/dist/types/utility.js.map +1 -1
  69. package/dist/versioning.d.ts +12 -0
  70. package/dist/versioning.d.ts.map +1 -0
  71. package/dist/versioning.js +82 -0
  72. package/dist/versioning.js.map +1 -0
  73. package/package.json +13 -13
  74. package/dist/cli.d.ts +0 -2
  75. package/dist/cli.d.ts.map +0 -1
  76. package/dist/cli.js +0 -17
  77. package/dist/cli.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"Yyp.d.ts","sourceRoot":"","sources":["../../src/types/Yyp.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Yyp.d.ts","sourceRoot":"","sources":["../../src/types/Yyp.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB;;;;;;GAMG;AACH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAChE,eAAO,MAAM,mBAAmB;;;iBAG9B,CAAC;AAEH,2EAA2E;AAC3E,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAC5D,QAAA,MAAM,iBAAiB;;;;;;iBAGrB,CAAC;AAEH,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AACxD,QAAA,MAAM,eAAe;;;;iBAMnB,CAAC;AAEH,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,SAAS,EAAE,CAAC;CACvB;AAQD,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AACtE,QAAA,MAAM,sBAAsB;;;;;iBAgB1B,CAAC;AAEH,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AACxD,eAAO,MAAM,eAAe;;;;;;;kBAkB3B,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAChE,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AACrE,eAAO,MAAM,mBAAmB;;;;;;iBAQ9B,CAAC;AAEH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AACpE,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;iBAuBhC,CAAC;AAEH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AACpE,QAAA,MAAM,qBAAqB;;;;;;;;;iBAgBzB,CAAC;AAEH,qEAAqE;AACrE,MAAM,MAAM,GAAG,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,SAAS,CAAC,CAAC;AAC5C,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAyCrB,CAAC"}
package/dist/types/Yyp.js CHANGED
@@ -10,7 +10,9 @@ const yypResourceSchema = z.object({
10
10
  order: z.number().optional(),
11
11
  });
12
12
  const yypOptionSchema = z.object({
13
- ConfigValues: z.record(z.record(z.string())).optional(),
13
+ ConfigValues: z
14
+ .record(z.string(), z.record(z.string(), z.string()))
15
+ .optional(),
14
16
  name: z.string(),
15
17
  path: z.string(),
16
18
  });
@@ -49,15 +51,18 @@ export const yypFolderSchema = z.preprocess((input) => {
49
51
  resourceVersion: z.string().default('1.0'),
50
52
  }));
51
53
  export const yypAudioGroupSchema = z.object({
52
- ConfigValues: z.record(z.record(z.string())).optional(),
54
+ ConfigValues: z
55
+ .record(z.string(), z.record(z.string(), z.string()))
56
+ .optional(),
53
57
  name: z.string(),
54
58
  targets: bigNumber().default(-1n),
55
59
  resourceType: z.literal('GMAudioGroup').default('GMAudioGroup'),
56
60
  resourceVersion: z.string().default('1.3'),
57
61
  });
58
- export const yypTextureGroupSchema = z
59
- .object({
60
- ConfigValues: z.record(z.record(z.string())).optional(),
62
+ export const yypTextureGroupSchema = z.looseObject({
63
+ ConfigValues: z
64
+ .record(z.string(), z.record(z.string(), z.string()))
65
+ .optional(),
61
66
  name: z.string(),
62
67
  groupParent: z
63
68
  .object({
@@ -77,17 +82,16 @@ export const yypTextureGroupSchema = z
77
82
  directory: z.string().default(''),
78
83
  resourceType: z.literal('GMTextureGroup').default('GMTextureGroup'),
79
84
  resourceVersion: z.string().default('1.3'),
80
- })
81
- .passthrough();
85
+ });
82
86
  const yypIncludedFileSchema = z.object({
83
87
  ConfigValues: z
84
- .record(z.object({
88
+ .record(z.string(), z.object({
85
89
  CopyToMask: z.string(),
86
90
  }))
87
91
  .optional(),
88
92
  /** The name of the file, including extension, without the path */
89
93
  name: z.string(),
90
- CopyToMask: bigNumber().default(-1),
94
+ CopyToMask: bigNumber().default(-1n),
91
95
  /** `datafiles/${subdir}` */
92
96
  filePath: z.string(),
93
97
  resourceType: z.literal('GMIncludedFile').default('GMIncludedFile'),
@@ -104,8 +108,7 @@ export const yypSchema = z.preprocess((input) => {
104
108
  delete input.Options;
105
109
  }
106
110
  return input;
107
- }, z
108
- .object({
111
+ }, z.looseObject({
109
112
  [nameField]: z.string().optional(),
110
113
  name: z.string(),
111
114
  resourceType: z.literal('GMProject').default('GMProject'),
@@ -130,6 +133,5 @@ export const yypSchema = z.preprocess((input) => {
130
133
  LibraryEmitters: z.array(z.any()).optional(),
131
134
  resourceVersion: z.string(),
132
135
  tags: z.array(z.string()).optional(),
133
- })
134
- .passthrough());
136
+ }));
135
137
  //# sourceMappingURL=Yyp.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Yyp.js","sourceRoot":"","sources":["../../src/types/Yyp.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Yyp.js","sourceRoot":"","sources":["../../src/types/Yyp.ts"],"names":[],"mappings":"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"}
@@ -18,23 +18,20 @@ export declare class FixedNumber extends Number {
18
18
  * `z.input<>` inferred type will show this field,
19
19
  * but that don't normally exist in the source data.
20
20
  */
21
- export declare function hint<T extends z.ZodTypeAny>(schema: T): z.ZodEffects<z.ZodOptional<T>, undefined, T["_input"] | undefined>;
22
- export declare function fixedNumber(schema?: z.ZodNumber, digits?: number): z.ZodEffects<z.ZodEffects<z.ZodNumber, number, number | FixedNumber>, FixedNumber, number | FixedNumber>;
21
+ export declare function hint<T extends z.ZodTypeAny>(schema: T): z.ZodPipe<z.ZodOptional<T>, z.ZodTransform<undefined, z.core.output<T> | undefined>>;
22
+ export declare const fixed0: FixedNumber;
23
+ export declare const fixed1: FixedNumber;
24
+ export declare function fixedNumber(schema?: z.ZodNumber, digits?: number): z.ZodPipe<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodNumber>, z.ZodTransform<FixedNumber, number>>;
23
25
  /**
24
26
  * Schema for a number or bigint cast to a bigint
25
27
  */
26
- export declare function bigNumber(): z.ZodEffects<z.ZodUnion<[z.ZodNumber, z.ZodBigInt]>, bigint, number | bigint>;
27
- /**
28
- * Ensure that an object is initialized to an empty
29
- * object, allowing for default fields to be populated.
30
- */
31
- export declare function ensureObject<T extends z.ZodTypeAny>(obj: T): z.ZodEffects<T, T["_output"], unknown>;
28
+ export declare function bigNumber(): z.ZodPipe<z.ZodUnion<readonly [z.ZodNumber, z.ZodBigInt]>, z.ZodTransform<bigint, number | bigint>>;
32
29
  /**
33
30
  * Ensure that an array is initialized to an array with
34
31
  * at least one element, allowing for defaults to be
35
32
  * populated in each element.
36
33
  */
37
- export declare function ensureObjects<T extends z.AnyZodObject | z.ZodEffects<any, any>>(obj: T, minItems?: number): z.ZodEffects<z.ZodArray<z.ZodTypeAny, "many">, any[], unknown>;
34
+ export declare function ensureObjects<T extends z.ZodObject>(obj: T, minItems?: number): z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodArray<T>>;
38
35
  /**
39
36
  * Shorthand for a `ZodObject` instance that doesn't strip
40
37
  * out any unknown keys, and that logs unexpected keys to
@@ -42,31 +39,27 @@ export declare function ensureObjects<T extends z.AnyZodObject | z.ZodEffects<an
42
39
  */
43
40
  export declare function unstable<T extends z.ZodRawShape>(shape: T): z.ZodObject<T>;
44
41
  export declare function getYyResourceId(yyType: YyResourceType, name: string): YypResourceId;
45
- export declare function yyResourceIdSchemaGenerator(yyType: YyResourceType): z.ZodEffects<z.ZodEffects<z.ZodObject<{
46
- /** Object name */
42
+ export declare function yyResourceIdSchemaGenerator(yyType: YyResourceType): z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodObject<{
47
43
  name: z.ZodString;
48
- /** Object resource path, e.g. "objects/{name}/{name}.yy" */
49
44
  path: z.ZodString;
50
- }, "strip", z.ZodTypeAny, {
51
- path: string;
52
- name: string;
53
- }, {
54
- path: string;
55
- name: string;
56
- }>, {
57
- path: string;
58
- name: string;
59
- }, {
60
- path: string;
61
- name: string;
62
- }>, {
63
- path: string;
64
- name: string;
65
- }, unknown>;
45
+ }, z.core.$strip>>;
66
46
  export declare function yyIsNewFormat<T>(yyData: T): yyData is T & {
67
47
  '%Name': string;
68
48
  };
69
49
  export declare function isObjectWithField<F extends string>(obj: unknown, field: F): obj is Record<string, unknown> & {
70
50
  [K in F]: unknown;
71
51
  };
52
+ export declare function assert(claim: any, message: string): asserts claim;
53
+ export declare function toPosixPath(path: string): string;
54
+ export declare function parsePath(path: string): {
55
+ filename: string;
56
+ fullpath: string;
57
+ parent: string;
58
+ ext: `.${string}`;
59
+ };
60
+ /**
61
+ * Join path parts, ensuring exactly one POSIX separator is between
62
+ * each part. Maintains initial and final seps.
63
+ */
64
+ export declare function joinPaths(...parts: string[]): string;
72
65
  //# sourceMappingURL=utility.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"utility.d.ts","sourceRoot":"","sources":["../../src/types/utility.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAE9C,eAAO,MAAM,SAAS,UAAU,CAAC;AAEjC,wBAAgB,YAAY,CAAC,MAAM,SAAK,UAQvC;AAED,qBAAa,WAAY,SAAQ,MAAM;IAGnC,QAAQ,CAAC,MAAM;gBADf,KAAK,EAAE,MAAM,GAAG,WAAW,EAClB,MAAM,SAAI;IAKrB,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,IAAI,EAAE,QAAQ,GAAG,SAAS,GAAG,MAAM;IACxD,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,IAAI,EAAE,QAAQ,GAAG,MAAM;IAKnC,QAAQ,IAAI,MAAM;IAI3B,MAAM,IAAI,MAAM;CAGjB;AAED;;;;;;GAMG;AACH,wBAAgB,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC,UAAU,EAAE,MAAM,EAAE,CAAC,sEAErD;AAED,wBAAgB,WAAW,CAAC,MAAM,cAAa,EAAE,MAAM,SAAI,4GAO1D;AAED;;GAEG;AACH,wBAAgB,SAAS,kFAIxB;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,CAAC,SAAS,CAAC,CAAC,UAAU,EAAE,GAAG,EAAE,CAAC,0CAE1D;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAC3B,CAAC,SAAS,CAAC,CAAC,YAAY,GAAG,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,EACjD,GAAG,EAAE,CAAC,EAAE,QAAQ,SAAI,kEAWrB;AAED;;;;GAIG;AACH,wBAAgB,QAAQ,CAAC,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAU1E;AAED,wBAAgB,eAAe,CAC7B,MAAM,EAAE,cAAc,EACtB,IAAI,EAAE,MAAM,GACX,aAAa,CAKf;AAED,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,cAAc;IAgB1D,kBAAkB;;IAElB,4DAA4D;;;;;;;;;;;;;;;;;YAKnE;AAED,wBAAgB,aAAa,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,GAAG,MAAM,IAAI,CAAC,GAAG;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,CAK7E;AAED,wBAAgB,iBAAiB,CAAC,CAAC,SAAS,MAAM,EAChD,GAAG,EAAE,OAAO,EACZ,KAAK,EAAE,CAAC,GACP,GAAG,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG;KAAG,CAAC,IAAI,CAAC,GAAG,OAAO;CAAE,CAQxD"}
1
+ {"version":3,"file":"utility.d.ts","sourceRoot":"","sources":["../../src/types/utility.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAE9C,eAAO,MAAM,SAAS,UAAU,CAAC;AAEjC,wBAAgB,YAAY,CAAC,MAAM,SAAK,UAQvC;AAED,qBAAa,WAAY,SAAQ,MAAM;IAGnC,QAAQ,CAAC,MAAM;gBADf,KAAK,EAAE,MAAM,GAAG,WAAW,EAClB,MAAM,SAAI;IAKrB,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,IAAI,EAAE,QAAQ,GAAG,SAAS,GAAG,MAAM;IACxD,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,IAAI,EAAE,QAAQ,GAAG,MAAM;IAKnC,QAAQ,IAAI,MAAM;IAI3B,MAAM,IAAI,MAAM;CAGjB;AAED;;;;;;GAMG;AACH,wBAAgB,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC,UAAU,EAAE,MAAM,EAAE,CAAC,wFAErD;AAED,eAAO,MAAM,MAAM,aAAqB,CAAC;AACzC,eAAO,MAAM,MAAM,aAAqB,CAAC;AAEzC,wBAAgB,WAAW,CAAC,MAAM,cAAa,EAAE,MAAM,SAAI,4GAO1D;AAED;;GAEG;AACH,wBAAgB,SAAS,wGAIxB;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,EAAE,QAAQ,SAAI,8DAWxE;AAED;;;;GAIG;AACH,wBAAgB,QAAQ,CAAC,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAa1E;AAED,wBAAgB,eAAe,CAC7B,MAAM,EAAE,cAAc,EACtB,IAAI,EAAE,MAAM,GACX,aAAa,CAKf;AAED,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,cAAc;;;mBAuBjE;AAED,wBAAgB,aAAa,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,GAAG,MAAM,IAAI,CAAC,GAAG;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,CAK7E;AAED,wBAAgB,iBAAiB,CAAC,CAAC,SAAS,MAAM,EAChD,GAAG,EAAE,OAAO,EACZ,KAAK,EAAE,CAAC,GACP,GAAG,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG;KAAG,CAAC,IAAI,CAAC,GAAG,OAAO;CAAE,CAQxD;AAED,wBAAgB,MAAM,CAAC,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAEjE;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEhD;AAED,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG;IACvC,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,IAAI,MAAM,EAAE,CAAC;CACnB,CAOA;AAED;;;GAGG;AACH,wBAAgB,SAAS,CAAC,GAAG,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,CAQpD"}
@@ -33,6 +33,8 @@ export class FixedNumber extends Number {
33
33
  export function hint(schema) {
34
34
  return schema.optional().transform(() => undefined);
35
35
  }
36
+ export const fixed0 = new FixedNumber(0);
37
+ export const fixed1 = new FixedNumber(1);
36
38
  export function fixedNumber(schema = z.number(), digits = 1) {
37
39
  const coercedToNumber = z.preprocess((arg) => arg instanceof FixedNumber || typeof arg === 'number' ? +arg : arg, schema);
38
40
  return coercedToNumber.transform((value) => new FixedNumber(value, digits));
@@ -45,13 +47,6 @@ export function bigNumber() {
45
47
  .union([z.number(), z.bigint()])
46
48
  .transform((value) => (typeof value === 'bigint' ? value : BigInt(value)));
47
49
  }
48
- /**
49
- * Ensure that an object is initialized to an empty
50
- * object, allowing for default fields to be populated.
51
- */
52
- export function ensureObject(obj) {
53
- return z.preprocess((arg) => arg || {}, obj);
54
- }
55
50
  /**
56
51
  * Ensure that an array is initialized to an array with
57
52
  * at least one element, allowing for defaults to be
@@ -73,13 +68,18 @@ export function ensureObjects(obj, minItems = 1) {
73
68
  * the console.
74
69
  */
75
70
  export function unstable(shape) {
76
- return z.object(shape).catchall(z.unknown().superRefine((_arg, ctx) => {
77
- // The new format for name/resourcetype keys should be ignore, since those are handled in other ways.
78
- const isNewKey = `${ctx.path.at(-1)}`.match(/^[$%]/);
79
- if (!isNewKey) {
80
- console.log(`WARNING: Unexpected Key "${ctx.path.join('/')}"`);
81
- }
82
- }));
71
+ return z.looseObject(shape);
72
+ // return z.object(shape).catchall(
73
+ // z.unknown().superRefine((_arg, ctx) => {
74
+ // // The new format for name/resourcetype keys should be ignore, since those are handled in other ways.
75
+ // ctx.issues.every((iss) => {
76
+ // const isNewKey = `${String(iss.path?.at(-1))}`.match(/^[$%]/);
77
+ // if (!isNewKey) {
78
+ // console.log(`WARNING: Unexpected Key "${iss.path?.join('/')}"`);
79
+ // }
80
+ // });
81
+ // }),
82
+ // );
83
83
  }
84
84
  export function getYyResourceId(yyType, name) {
85
85
  return {
@@ -123,4 +123,32 @@ export function isObjectWithField(obj, field) {
123
123
  // @ts-expect-error
124
124
  obj[field] !== undefined);
125
125
  }
126
+ export function assert(claim, message) {
127
+ if (!claim)
128
+ throw new Error(message);
129
+ }
130
+ export function toPosixPath(path) {
131
+ return path.replace(/\\/g, '/');
132
+ }
133
+ export function parsePath(path) {
134
+ path = toPosixPath(path);
135
+ const parts = path.match(/^(?<parent>.*\/)?(?<filename>[^/]+?(?<ext>\.[^.]*)?)$/);
136
+ assert(parts, `Could not identify path parts of "${path}"`);
137
+ return { ...parts.groups, fullpath: path };
138
+ }
139
+ /**
140
+ * Join path parts, ensuring exactly one POSIX separator is between
141
+ * each part. Maintains initial and final seps.
142
+ */
143
+ export function joinPaths(...parts) {
144
+ return parts
145
+ .map((part, i) => {
146
+ if (i === 0)
147
+ return part.replace(/\/+$/, ''); // First part: trim end only
148
+ if (i === parts.length - 1)
149
+ return part.replace(/^\/+/, ''); // Last part: trim start only
150
+ return part.replace(/^\/+|\/+$/g, ''); // Middle parts: trim both ends
151
+ })
152
+ .join('/');
153
+ }
126
154
  //# sourceMappingURL=utility.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utility.js","sourceRoot":"","sources":["../../src/types/utility.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utility.js","sourceRoot":"","sources":["../../src/types/utility.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Set the project version in all options files.
3
+ * (Note that the Switch options files do not include the version
4
+ * -- that must be set outside of GameMaker in the *.nmeta file).
5
+ * Can use one of:
6
+ * + "0.0.0.0" syntax (exactly as GameMaker stores versions)
7
+ * + "0.0.0" syntax (semver without prereleases -- the 4th value will always be 0)
8
+ * + "0.0.0-rc.0" syntax (the 4th number will be the RC number)
9
+ * The four numbers will appear in all cases as the string "major.minor.patch.candidate"
10
+ */
11
+ export declare function setProjectVersion(yypPath: string, versionString: string): Promise<void>;
12
+ //# sourceMappingURL=versioning.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"versioning.d.ts","sourceRoot":"","sources":["../src/versioning.ts"],"names":[],"mappings":"AAoBA;;;;;;;;;GASG;AACH,wBAAsB,iBAAiB,CACrC,OAAO,EAAE,MAAM,EACf,aAAa,EAAE,MAAM,iBAoDtB"}
@@ -0,0 +1,82 @@
1
+ import fsp from 'node:fs/promises';
2
+ import { assert, joinPaths, parsePath } from './types/utility.js';
3
+ const platformNames = [
4
+ 'amazonfire',
5
+ 'android',
6
+ 'html5',
7
+ 'ios',
8
+ 'linux',
9
+ 'mac',
10
+ 'operagx',
11
+ 'ps4',
12
+ 'switch',
13
+ 'tvos',
14
+ 'windows',
15
+ 'windowsuap',
16
+ 'xbone',
17
+ 'xboxseriesxs',
18
+ ];
19
+ /**
20
+ * Set the project version in all options files.
21
+ * (Note that the Switch options files do not include the version
22
+ * -- that must be set outside of GameMaker in the *.nmeta file).
23
+ * Can use one of:
24
+ * + "0.0.0.0" syntax (exactly as GameMaker stores versions)
25
+ * + "0.0.0" syntax (semver without prereleases -- the 4th value will always be 0)
26
+ * + "0.0.0-rc.0" syntax (the 4th number will be the RC number)
27
+ * The four numbers will appear in all cases as the string "major.minor.patch.candidate"
28
+ */
29
+ export async function setProjectVersion(yypPath, versionString) {
30
+ assert(yypPath.endsWith('.yyp'), 'First argument must be a path to a .yyp file');
31
+ const projectFolder = parsePath(yypPath).parent;
32
+ const parts = versionString.match(/^(?<major>\d+)\.(?<minor>\d+)\.(?<patch>\d+)((\.(?<revision>\d+))|(-rc.(?<candidate>\d+)))?$/);
33
+ if (!parts) {
34
+ throw new Error(`Version string ${versionString} is not a valid format.`);
35
+ }
36
+ const { major, minor, patch, revision, candidate } = parts.groups;
37
+ const normalizedVersionString = [
38
+ major,
39
+ minor,
40
+ patch,
41
+ candidate || revision || '0',
42
+ ].join('.');
43
+ const optionsDir = joinPaths(projectFolder, 'options');
44
+ const optionsFiles = await listFiles(optionsDir, ['.yy', '.nmeta']);
45
+ for (const file of optionsFiles) {
46
+ // Load it, change the version, and save
47
+ const parsedPath = parsePath(file);
48
+ if (parsedPath.ext == '.yy') {
49
+ // Read the file and replace anything that looks like a version line with the provided version. A version line looks like "option_..._version":"x.y.z.w"
50
+ const content = await fsp.readFile(file, 'utf8');
51
+ const newContent = content.replace(new RegExp(`("option[^"]*(?:${platformNames.join('|')})_version":\\s*")[\\d.]+"`), `$1${normalizedVersionString}"`);
52
+ await fsp.writeFile(file, newContent);
53
+ }
54
+ // Switch *.nmeta file needs special treatment
55
+ else if (parsedPath.ext == '.nmeta') {
56
+ // Uses an XML-ish format
57
+ const switchSearchRegex = new RegExp(`(?<pre><DisplayVersion>)(?<versionString>.*)(?<post></DisplayVersion>)`);
58
+ const content = await fsp.readFile(file, 'utf8');
59
+ const newContent = content.replace(switchSearchRegex, `$1${normalizedVersionString}$3`);
60
+ await fsp.writeFile(file, newContent);
61
+ }
62
+ }
63
+ }
64
+ /**
65
+ * Get the files found in `dir`, recursively, as full paths. Only include
66
+ * specified extensions.
67
+ */
68
+ async function listFiles(dir, allowedExtensions) {
69
+ let results = [];
70
+ const list = await fsp.readdir(dir, { withFileTypes: true });
71
+ for (const dirent of list) {
72
+ const fullPath = joinPaths(dir, dirent.name);
73
+ if (dirent.isDirectory()) {
74
+ results = results.concat(await listFiles(fullPath, allowedExtensions));
75
+ }
76
+ else if (allowedExtensions.includes(parsePath(dirent.name).ext)) {
77
+ results.push(fullPath);
78
+ }
79
+ }
80
+ return results;
81
+ }
82
+ //# sourceMappingURL=versioning.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"versioning.js","sourceRoot":"","sources":["../src/versioning.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bscotch/yy",
3
- "version": "2.4.0",
3
+ "version": "2.6.0",
4
4
  "description": "Stringify, parse, read, and write GameMaker yy and yyp files.",
5
5
  "keywords": [
6
6
  "yy",
@@ -31,23 +31,23 @@
31
31
  "main": "dist/index.js",
32
32
  "types": "dist/index.d.ts",
33
33
  "bin": {
34
- "yy": "./dist/cli.js"
34
+ "yy": "./dist/cli.mjs"
35
35
  },
36
36
  "dependencies": {
37
37
  "@bscotch/utility": "^7.2.0",
38
- "tslib": "^2.6.2",
39
- "type-fest": "^4.7.1",
40
- "uuid": "^9.0.1",
41
- "zod": "^3.22.4"
38
+ "tslib": "^2.8.1",
39
+ "type-fest": "^4.41.0",
40
+ "uuid": "^11.1.0",
41
+ "zod": "^4.0.15"
42
42
  },
43
43
  "devDependencies": {
44
- "@types/chai": "^4.3.10",
45
- "@types/mocha": "^10.0.4",
46
- "@types/uuid": "^9.0.7",
47
- "chai": "^4.3.10",
48
- "mocha": "^10.2.0",
49
- "rimraf": "^5.0.5",
50
- "typescript": "5.2.2"
44
+ "@types/chai": "^5.2.2",
45
+ "@types/mocha": "^10.0.10",
46
+ "@types/uuid": "^10.0.0",
47
+ "chai": "^5.2.1",
48
+ "mocha": "^11.7.1",
49
+ "rimraf": "^6.0.1",
50
+ "typescript": "5.9.2"
51
51
  },
52
52
  "publishConfig": {
53
53
  "access": "public"
package/dist/cli.d.ts DELETED
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=cli.d.ts.map
package/dist/cli.d.ts.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":""}
package/dist/cli.js DELETED
@@ -1,17 +0,0 @@
1
- import { ok } from 'assert';
2
- import { Yy } from './Yy.js';
3
- const [command, ...args] = process.argv.slice(2);
4
- if (command === 'diff') {
5
- const [firstYyFile, secondYyFile] = args;
6
- ok(firstYyFile, 'First Yy file must be specified');
7
- ok(secondYyFile, 'Second Yy file must be specified');
8
- const firstYy = Yy.readSync(firstYyFile);
9
- const secondYy = Yy.readSync(secondYyFile);
10
- const diff = Yy.diff(firstYy, secondYy);
11
- console.log(JSON.stringify(diff, null, 2));
12
- }
13
- else {
14
- console.error(`Unknown command: ${command}`);
15
- process.exit(1);
16
- }
17
- //# sourceMappingURL=cli.js.map
package/dist/cli.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,EAAE,EAAE,MAAM,SAAS,CAAC;AAE7B,MAAM,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAEjD,IAAI,OAAO,KAAK,MAAM,EAAE;IACtB,MAAM,CAAC,WAAW,EAAE,YAAY,CAAC,GAAG,IAAI,CAAC;IACzC,EAAE,CAAC,WAAW,EAAE,iCAAiC,CAAC,CAAC;IACnD,EAAE,CAAC,YAAY,EAAE,kCAAkC,CAAC,CAAC;IACrD,MAAM,OAAO,GAAG,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;IACzC,MAAM,QAAQ,GAAG,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;IAC3C,MAAM,IAAI,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IACxC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;CAC5C;KAAM;IACL,OAAO,CAAC,KAAK,CAAC,oBAAoB,OAAO,EAAE,CAAC,CAAC;IAC7C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;CACjB"}