@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
@@ -17,103 +17,174 @@ export declare enum SoundCompression {
17
17
  export type SoundChannelAsString = keyof typeof SoundChannel;
18
18
  export type SoundCompressionAsString = keyof typeof SoundCompression;
19
19
  export type SoundSampleRate = z.infer<typeof soundSampleRateSchema>;
20
- declare const soundSampleRateSchema: z.ZodUnion<[z.ZodLiteral<5512>, z.ZodLiteral<11025>, z.ZodLiteral<22050>, z.ZodLiteral<32000>, z.ZodLiteral<44100>, z.ZodLiteral<48000>]>;
21
- export type YySound = z.infer<typeof yySoundSchema>;
22
- export declare const yySoundSchema: z.ZodObject<z.objectUtil.extendShape<{
20
+ declare const soundSampleRateSchema: z.ZodUnion<readonly [z.ZodLiteral<5512>, z.ZodLiteral<11025>, z.ZodLiteral<22050>, z.ZodLiteral<32000>, z.ZodLiteral<44100>, z.ZodLiteral<48000>]>;
21
+ export type YySoundLegacy = z.infer<typeof yySoundSchemaLegacy>;
22
+ export declare const yySoundSchemaLegacy: z.ZodObject<{
23
23
  "%Name": z.ZodOptional<z.ZodString>;
24
24
  ConfigValues: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>>>;
25
25
  name: z.ZodString;
26
- resourceType: z.ZodString;
27
- tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
26
+ tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
28
27
  parent: z.ZodDefault<z.ZodObject<{
29
28
  name: z.ZodString;
30
29
  path: z.ZodString;
31
- }, "strip", z.ZodTypeAny, {
32
- path: string;
33
- name: string;
34
- }, {
35
- path: string;
36
- name: string;
37
- }>>;
38
- resourceVersion: z.ZodDefault<z.ZodString>;
39
- }, {
40
- compression: z.ZodDefault<z.ZodNativeEnum<typeof SoundCompression>>;
30
+ }, z.core.$strip>>;
31
+ compression: z.ZodDefault<z.ZodEnum<typeof SoundCompression>>;
41
32
  conversionMode: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
42
- volume: z.ZodDefault<z.ZodEffects<z.ZodEffects<z.ZodNumber, number, number | import("./utility.js").FixedNumber>, import("./utility.js").FixedNumber, number | import("./utility.js").FixedNumber>>;
33
+ volume: z.ZodDefault<z.ZodPipe<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodNumber>, z.ZodTransform<import("./utility.js").FixedNumber, number>>>;
43
34
  preload: z.ZodDefault<z.ZodBoolean>;
44
35
  bitRate: z.ZodDefault<z.ZodNumber>;
45
- sampleRate: z.ZodDefault<z.ZodUnion<[z.ZodLiteral<5512>, z.ZodLiteral<11025>, z.ZodLiteral<22050>, z.ZodLiteral<32000>, z.ZodLiteral<44100>, z.ZodLiteral<48000>]>>;
46
- type: z.ZodDefault<z.ZodNativeEnum<typeof SoundChannel>>;
47
- bitDepth: z.ZodDefault<z.ZodNativeEnum<typeof SoundBitDepth>>;
36
+ sampleRate: z.ZodDefault<z.ZodUnion<readonly [z.ZodLiteral<5512>, z.ZodLiteral<11025>, z.ZodLiteral<22050>, z.ZodLiteral<32000>, z.ZodLiteral<44100>, z.ZodLiteral<48000>]>>;
37
+ type: z.ZodDefault<z.ZodEnum<typeof SoundChannel>>;
38
+ bitDepth: z.ZodDefault<z.ZodEnum<typeof SoundBitDepth>>;
48
39
  audioGroupId: z.ZodDefault<z.ZodObject<{
49
40
  name: z.ZodString;
50
41
  path: z.ZodString;
51
- }, "strip", z.ZodTypeAny, {
52
- path: string;
53
- name: string;
54
- }, {
55
- path: string;
56
- name: string;
57
- }>>;
58
- /** `${name}.${ext} (e.g. mySound) */
42
+ }, z.core.$strip>>;
59
43
  soundFile: z.ZodString;
44
+ duration: z.ZodOptional<z.ZodPipe<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodNumber>, z.ZodTransform<import("./utility.js").FixedNumber, number>>>;
45
+ resourceType: z.ZodDefault<z.ZodLiteral<"GMSound">>;
46
+ resourceVersion: z.ZodDefault<z.ZodLiteral<"1.0">>;
47
+ }, z.core.$strip>;
48
+ export type YySoundV1 = z.infer<typeof yySoundSchemaV1>;
49
+ export declare const yySoundSchemaV1: z.ZodObject<{
50
+ $GMSound: z.ZodLiteral<"">;
51
+ '%Name': z.ZodString;
52
+ audioGroupId: z.ZodDefault<z.ZodObject<{
53
+ name: z.ZodString;
54
+ path: z.ZodString;
55
+ }, z.core.$strip>>;
56
+ bitDepth: z.ZodDefault<z.ZodEnum<typeof SoundBitDepth>>;
57
+ bitRate: z.ZodDefault<z.ZodNumber>;
58
+ compression: z.ZodDefault<z.ZodEnum<typeof SoundCompression>>;
59
+ conversionMode: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
60
60
  /**
61
61
  * Duration of the sound. Automatically
62
62
  * computed by GameMaker, so Stitch can generally
63
63
  * ignore it.
64
64
  */
65
- duration: z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodNumber, number, number | import("./utility.js").FixedNumber>, import("./utility.js").FixedNumber, number | import("./utility.js").FixedNumber>>;
65
+ duration: z.ZodDefault<z.ZodPipe<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodNumber>, z.ZodTransform<import("./utility.js").FixedNumber, number>>>;
66
+ name: z.ZodString;
67
+ parent: z.ZodDefault<z.ZodObject<{
68
+ name: z.ZodString;
69
+ path: z.ZodString;
70
+ }, z.core.$strip>>;
71
+ preload: z.ZodDefault<z.ZodBoolean>;
72
+ resourceType: z.ZodDefault<z.ZodLiteral<"GMSound">>;
73
+ resourceVersion: z.ZodDefault<z.ZodLiteral<"2.0">>;
74
+ sampleRate: z.ZodDefault<z.ZodUnion<readonly [z.ZodLiteral<5512>, z.ZodLiteral<11025>, z.ZodLiteral<22050>, z.ZodLiteral<32000>, z.ZodLiteral<44100>, z.ZodLiteral<48000>]>>;
75
+ soundFile: z.ZodString;
76
+ type: z.ZodDefault<z.ZodEnum<typeof SoundChannel>>;
77
+ volume: z.ZodDefault<z.ZodPipe<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodNumber>, z.ZodTransform<import("./utility.js").FixedNumber, number>>>;
78
+ }, z.core.$strip>;
79
+ export type YySoundV2 = z.infer<typeof yySoundSchemaV2>;
80
+ export declare const yySoundSchemaV2: z.ZodObject<{
81
+ $GMSound: z.ZodLiteral<"v2">;
82
+ '%Name': z.ZodString;
83
+ audioGroupId: z.ZodDefault<z.ZodObject<{
84
+ name: z.ZodString;
85
+ path: z.ZodString;
86
+ }, z.core.$strip>>;
87
+ bitDepth: z.ZodDefault<z.ZodEnum<typeof SoundBitDepth>>;
88
+ channelFormat: z.ZodDefault<z.ZodEnum<typeof SoundChannel>>;
89
+ compression: z.ZodDefault<z.ZodEnum<typeof SoundCompression>>;
90
+ compressionQuality: z.ZodDefault<z.ZodNumber>;
91
+ ConfigValues: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>>>;
92
+ conversionMode: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
93
+ duration: z.ZodDefault<z.ZodPipe<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodNumber>, z.ZodTransform<import("./utility.js").FixedNumber, number>>>;
94
+ exportDir: z.ZodDefault<z.ZodString>;
95
+ name: z.ZodString;
96
+ parent: z.ZodDefault<z.ZodObject<{
97
+ name: z.ZodString;
98
+ path: z.ZodString;
99
+ }, z.core.$strip>>;
100
+ preload: z.ZodDefault<z.ZodBoolean>;
66
101
  resourceType: z.ZodDefault<z.ZodLiteral<"GMSound">>;
67
- }>, z.UnknownKeysParam, z.ZodTypeAny, {
68
- type: SoundChannel;
69
- name: string;
70
- resourceType: "GMSound";
71
- parent: {
72
- path: string;
73
- name: string;
74
- };
75
- resourceVersion: string;
76
- volume: import("./utility.js").FixedNumber;
77
- compression: SoundCompression;
78
- conversionMode: number;
79
- preload: boolean;
80
- bitRate: number;
81
- sampleRate: 5512 | 11025 | 22050 | 32000 | 44100 | 48000;
82
- bitDepth: SoundBitDepth;
83
- audioGroupId: {
84
- path: string;
85
- name: string;
86
- };
87
- soundFile: string;
88
- "%Name"?: string | undefined;
89
- ConfigValues?: Record<string, Record<string, string>> | undefined;
90
- tags?: string[] | undefined;
91
- duration?: import("./utility.js").FixedNumber | undefined;
92
- }, {
93
- name: string;
94
- soundFile: string;
95
- type?: SoundChannel | undefined;
96
- "%Name"?: string | undefined;
97
- ConfigValues?: Record<string, Record<string, string>> | undefined;
98
- resourceType?: "GMSound" | undefined;
99
- tags?: string[] | undefined;
100
- parent?: {
101
- path: string;
102
- name: string;
103
- } | undefined;
104
- resourceVersion?: string | undefined;
105
- volume?: number | import("./utility.js").FixedNumber | undefined;
106
- compression?: SoundCompression | undefined;
107
- conversionMode?: number | undefined;
108
- preload?: boolean | undefined;
109
- bitRate?: number | undefined;
110
- sampleRate?: 5512 | 11025 | 22050 | 32000 | 44100 | 48000 | undefined;
111
- bitDepth?: SoundBitDepth | undefined;
112
- audioGroupId?: {
113
- path: string;
114
- name: string;
115
- } | undefined;
116
- duration?: number | import("./utility.js").FixedNumber | undefined;
117
- }>;
102
+ resourceVersion: z.ZodDefault<z.ZodLiteral<"2.0">>;
103
+ sampleRate: z.ZodDefault<z.ZodUnion<readonly [z.ZodLiteral<5512>, z.ZodLiteral<11025>, z.ZodLiteral<22050>, z.ZodLiteral<32000>, z.ZodLiteral<44100>, z.ZodLiteral<48000>]>>;
104
+ soundFile: z.ZodString;
105
+ volume: z.ZodDefault<z.ZodPipe<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodNumber>, z.ZodTransform<import("./utility.js").FixedNumber, number>>>;
106
+ }, z.core.$loose>;
107
+ export type YySound = YySoundLegacy | YySoundV1 | YySoundV2;
108
+ export declare const yySoundSchema: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodDiscriminatedUnion<[z.ZodObject<{
109
+ "%Name": z.ZodOptional<z.ZodString>;
110
+ ConfigValues: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>>>;
111
+ name: z.ZodString;
112
+ tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
113
+ parent: z.ZodDefault<z.ZodObject<{
114
+ name: z.ZodString;
115
+ path: z.ZodString;
116
+ }, z.core.$strip>>;
117
+ compression: z.ZodDefault<z.ZodEnum<typeof SoundCompression>>;
118
+ conversionMode: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
119
+ volume: z.ZodDefault<z.ZodPipe<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodNumber>, z.ZodTransform<import("./utility.js").FixedNumber, number>>>;
120
+ preload: z.ZodDefault<z.ZodBoolean>;
121
+ bitRate: z.ZodDefault<z.ZodNumber>;
122
+ sampleRate: z.ZodDefault<z.ZodUnion<readonly [z.ZodLiteral<5512>, z.ZodLiteral<11025>, z.ZodLiteral<22050>, z.ZodLiteral<32000>, z.ZodLiteral<44100>, z.ZodLiteral<48000>]>>;
123
+ type: z.ZodDefault<z.ZodEnum<typeof SoundChannel>>;
124
+ bitDepth: z.ZodDefault<z.ZodEnum<typeof SoundBitDepth>>;
125
+ audioGroupId: z.ZodDefault<z.ZodObject<{
126
+ name: z.ZodString;
127
+ path: z.ZodString;
128
+ }, z.core.$strip>>;
129
+ soundFile: z.ZodString;
130
+ duration: z.ZodOptional<z.ZodPipe<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodNumber>, z.ZodTransform<import("./utility.js").FixedNumber, number>>>;
131
+ resourceType: z.ZodDefault<z.ZodLiteral<"GMSound">>;
132
+ resourceVersion: z.ZodDefault<z.ZodLiteral<"1.0">>;
133
+ }, z.core.$strip>, z.ZodDiscriminatedUnion<[z.ZodObject<{
134
+ $GMSound: z.ZodLiteral<"">;
135
+ '%Name': z.ZodString;
136
+ audioGroupId: z.ZodDefault<z.ZodObject<{
137
+ name: z.ZodString;
138
+ path: z.ZodString;
139
+ }, z.core.$strip>>;
140
+ bitDepth: z.ZodDefault<z.ZodEnum<typeof SoundBitDepth>>;
141
+ bitRate: z.ZodDefault<z.ZodNumber>;
142
+ compression: z.ZodDefault<z.ZodEnum<typeof SoundCompression>>;
143
+ conversionMode: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
144
+ /**
145
+ * Duration of the sound. Automatically
146
+ * computed by GameMaker, so Stitch can generally
147
+ * ignore it.
148
+ */
149
+ duration: z.ZodDefault<z.ZodPipe<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodNumber>, z.ZodTransform<import("./utility.js").FixedNumber, number>>>;
150
+ name: z.ZodString;
151
+ parent: z.ZodDefault<z.ZodObject<{
152
+ name: z.ZodString;
153
+ path: z.ZodString;
154
+ }, z.core.$strip>>;
155
+ preload: z.ZodDefault<z.ZodBoolean>;
156
+ resourceType: z.ZodDefault<z.ZodLiteral<"GMSound">>;
157
+ resourceVersion: z.ZodDefault<z.ZodLiteral<"2.0">>;
158
+ sampleRate: z.ZodDefault<z.ZodUnion<readonly [z.ZodLiteral<5512>, z.ZodLiteral<11025>, z.ZodLiteral<22050>, z.ZodLiteral<32000>, z.ZodLiteral<44100>, z.ZodLiteral<48000>]>>;
159
+ soundFile: z.ZodString;
160
+ type: z.ZodDefault<z.ZodEnum<typeof SoundChannel>>;
161
+ volume: z.ZodDefault<z.ZodPipe<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodNumber>, z.ZodTransform<import("./utility.js").FixedNumber, number>>>;
162
+ }, z.core.$strip>, z.ZodObject<{
163
+ $GMSound: z.ZodLiteral<"v2">;
164
+ '%Name': z.ZodString;
165
+ audioGroupId: z.ZodDefault<z.ZodObject<{
166
+ name: z.ZodString;
167
+ path: z.ZodString;
168
+ }, z.core.$strip>>;
169
+ bitDepth: z.ZodDefault<z.ZodEnum<typeof SoundBitDepth>>;
170
+ channelFormat: z.ZodDefault<z.ZodEnum<typeof SoundChannel>>;
171
+ compression: z.ZodDefault<z.ZodEnum<typeof SoundCompression>>;
172
+ compressionQuality: z.ZodDefault<z.ZodNumber>;
173
+ ConfigValues: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>>>;
174
+ conversionMode: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
175
+ duration: z.ZodDefault<z.ZodPipe<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodNumber>, z.ZodTransform<import("./utility.js").FixedNumber, number>>>;
176
+ exportDir: z.ZodDefault<z.ZodString>;
177
+ name: z.ZodString;
178
+ parent: z.ZodDefault<z.ZodObject<{
179
+ name: z.ZodString;
180
+ path: z.ZodString;
181
+ }, z.core.$strip>>;
182
+ preload: z.ZodDefault<z.ZodBoolean>;
183
+ resourceType: z.ZodDefault<z.ZodLiteral<"GMSound">>;
184
+ resourceVersion: z.ZodDefault<z.ZodLiteral<"2.0">>;
185
+ sampleRate: z.ZodDefault<z.ZodUnion<readonly [z.ZodLiteral<5512>, z.ZodLiteral<11025>, z.ZodLiteral<22050>, z.ZodLiteral<32000>, z.ZodLiteral<44100>, z.ZodLiteral<48000>]>>;
186
+ soundFile: z.ZodString;
187
+ volume: z.ZodDefault<z.ZodPipe<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodNumber>, z.ZodTransform<import("./utility.js").FixedNumber, number>>>;
188
+ }, z.core.$loose>]>]>>;
118
189
  export {};
119
190
  //# sourceMappingURL=YySound.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"YySound.d.ts","sourceRoot":"","sources":["../../src/types/YySound.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,oBAAY,aAAa;IACvB,IAAI,IAAA;IACJ,KAAK,IAAA;CACN;AACD,oBAAY,YAAY;IACtB,IAAI,IAAA;IACJ,MAAM,IAAA;IACN,MAAM,IAAA;CACP;AAED,oBAAY,gBAAgB;IAC1B,YAAY,IAAA;IACZ,UAAU,IAAA;IACV,kBAAkB,IAAA;IAClB,kBAAkB,IAAA;CACnB;AAQD,MAAM,MAAM,oBAAoB,GAAG,MAAM,OAAO,YAAY,CAAC;AAC7D,MAAM,MAAM,wBAAwB,GAAG,MAAM,OAAO,gBAAgB,CAAC;AAErE,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AACpE,QAAA,MAAM,qBAAqB,2IAOzB,CAAC;AAEH,MAAM,MAAM,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAC;AACpD,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAkBxB,qCAAqC;;IAErC;;;;OAIG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAGH,CAAC"}
1
+ {"version":3,"file":"YySound.d.ts","sourceRoot":"","sources":["../../src/types/YySound.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,oBAAY,aAAa;IACvB,IAAI,IAAA;IACJ,KAAK,IAAA;CACN;AACD,oBAAY,YAAY;IACtB,IAAI,IAAA;IACJ,MAAM,IAAA;IACN,MAAM,IAAA;CACP;AAED,oBAAY,gBAAgB;IAC1B,YAAY,IAAA;IACZ,UAAU,IAAA;IACV,kBAAkB,IAAA;IAClB,kBAAkB,IAAA;CACnB;AAQD,MAAM,MAAM,oBAAoB,GAAG,MAAM,OAAO,YAAY,CAAC;AAC7D,MAAM,MAAM,wBAAwB,GAAG,MAAM,OAAO,gBAAgB,CAAC;AAErE,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AACpE,QAAA,MAAM,qBAAqB,oJAOzB,CAAC;AAYH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAChE,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;iBAoB9B,CAAC;AAEH,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AACxD,eAAO,MAAM,eAAe;;;;;;;;;;;IAQ1B;;;;OAIG;;;;;;;;;;;;;;iBAWH,CAAC;AAEH,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AACxD,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;iBAsB1B,CAAC;AAEH,MAAM,MAAM,OAAO,GAAG,aAAa,GAAG,SAAS,GAAG,SAAS,CAAC;AAC5D,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IA3CxB;;;;OAIG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBA2DJ,CAAC"}
@@ -1,7 +1,7 @@
1
1
  // Generated by ts-to-zod
2
2
  import { z } from 'zod';
3
- import { yyBaseSchema } from './YyBase.js';
4
- import { fixedNumber } from './utility.js';
3
+ import { configValuesSchema, yyBaseSchema, yyParentSchema } from './YyBase.js';
4
+ import { fixed0, fixed1, fixedNumber, unstable } from './utility.js';
5
5
  export var SoundBitDepth;
6
6
  (function (SoundBitDepth) {
7
7
  SoundBitDepth[SoundBitDepth["Bit8"] = 0] = "Bit8";
@@ -20,9 +20,9 @@ export var SoundCompression;
20
20
  SoundCompression[SoundCompression["UncompressedOnLoad"] = 2] = "UncompressedOnLoad";
21
21
  SoundCompression[SoundCompression["CompressedStreamed"] = 3] = "CompressedStreamed";
22
22
  })(SoundCompression || (SoundCompression = {}));
23
- const soundChannelSchema = z.nativeEnum(SoundChannel);
24
- const soundCompressionSchema = z.nativeEnum(SoundCompression);
25
- const soundBitDepthSchema = z.nativeEnum(SoundBitDepth);
23
+ const soundChannelSchema = z.enum(SoundChannel);
24
+ const soundCompressionSchema = z.enum(SoundCompression);
25
+ const soundBitDepthSchema = z.enum(SoundBitDepth);
26
26
  const soundSampleRateSchema = z.union([
27
27
  z.literal(5512),
28
28
  z.literal(11025),
@@ -31,24 +31,25 @@ const soundSampleRateSchema = z.union([
31
31
  z.literal(44100),
32
32
  z.literal(48000),
33
33
  ]);
34
- export const yySoundSchema = yyBaseSchema.extend({
34
+ const audioGroupIdSchema = z
35
+ .object({
36
+ name: z.string(),
37
+ path: z.string(),
38
+ })
39
+ .default({
40
+ name: 'audiogroup_default',
41
+ path: 'audiogroups/audiogroup_default',
42
+ });
43
+ export const yySoundSchemaLegacy = yyBaseSchema.extend({
35
44
  compression: soundCompressionSchema.default(0),
36
45
  conversionMode: z.number().optional().default(0),
37
- volume: fixedNumber(z.number().min(0).max(1)).default(1),
46
+ volume: fixedNumber(z.number().min(0).max(1)).default(fixed1),
38
47
  preload: z.boolean().default(false),
39
48
  bitRate: z.number().default(128),
40
49
  sampleRate: soundSampleRateSchema.default(44100),
41
50
  type: soundChannelSchema.default(1),
42
51
  bitDepth: soundBitDepthSchema.default(1),
43
- audioGroupId: z
44
- .object({
45
- name: z.string(),
46
- path: z.string(),
47
- })
48
- .default({
49
- name: 'audiogroup_default',
50
- path: 'audiogroups/audiogroup_default',
51
- }),
52
+ audioGroupId: audioGroupIdSchema,
52
53
  /** `${name}.${ext} (e.g. mySound) */
53
54
  soundFile: z.string(),
54
55
  /**
@@ -58,5 +59,71 @@ export const yySoundSchema = yyBaseSchema.extend({
58
59
  */
59
60
  duration: fixedNumber(z.number(), 2).optional(),
60
61
  resourceType: z.literal('GMSound').default('GMSound'),
62
+ resourceVersion: z.literal('1.0').default('1.0'),
63
+ });
64
+ export const yySoundSchemaV1 = unstable({
65
+ $GMSound: z.literal(''),
66
+ '%Name': z.string(),
67
+ audioGroupId: audioGroupIdSchema,
68
+ bitDepth: soundBitDepthSchema.default(1),
69
+ bitRate: z.number().default(128),
70
+ compression: soundCompressionSchema.default(0),
71
+ conversionMode: z.number().optional().default(0),
72
+ /**
73
+ * Duration of the sound. Automatically
74
+ * computed by GameMaker, so Stitch can generally
75
+ * ignore it.
76
+ */
77
+ duration: fixedNumber(z.number(), 2).default(fixed0),
78
+ name: z.string(),
79
+ parent: yyParentSchema,
80
+ preload: z.boolean().default(false),
81
+ resourceType: z.literal('GMSound').default('GMSound'),
82
+ resourceVersion: z.literal('2.0').default('2.0'),
83
+ sampleRate: soundSampleRateSchema.default(44100),
84
+ soundFile: z.string(),
85
+ type: soundChannelSchema.default(1),
86
+ volume: fixedNumber(z.number().min(0).max(1)).default(fixed1),
87
+ });
88
+ export const yySoundSchemaV2 = z.looseObject({
89
+ $GMSound: z.literal('v2'),
90
+ '%Name': z.string(),
91
+ audioGroupId: audioGroupIdSchema,
92
+ bitDepth: soundBitDepthSchema.default(1),
93
+ channelFormat: soundChannelSchema
94
+ .default(1)
95
+ .describe("Previously called 'type'"),
96
+ compression: soundCompressionSchema.default(0),
97
+ compressionQuality: z.number().default(4),
98
+ ConfigValues: configValuesSchema,
99
+ conversionMode: z.number().optional().default(0),
100
+ duration: fixedNumber(z.number(), 2).default(fixed0),
101
+ exportDir: z.string().default(''),
102
+ name: z.string(),
103
+ parent: yyParentSchema,
104
+ preload: z.boolean().default(false),
105
+ resourceType: z.literal('GMSound').default('GMSound'),
106
+ resourceVersion: z.literal('2.0').default('2.0'),
107
+ sampleRate: soundSampleRateSchema.default(44100),
108
+ soundFile: z.string(),
109
+ volume: fixedNumber(z.number().min(0).max(1)).default(fixed1),
61
110
  });
111
+ export const yySoundSchema = z.preprocess((arg) => {
112
+ if (!arg || typeof arg !== 'object')
113
+ return arg;
114
+ if ('resourceVersion' in arg && arg.resourceVersion === '2.0') {
115
+ // @ts-expect-error type is unknown here
116
+ arg['$GMSound'] ||= '';
117
+ }
118
+ if ('$GMSound' in arg) {
119
+ let v2 = arg;
120
+ v2['resourceVersion'] = '2.0';
121
+ v2.name ||= v2['%Name'];
122
+ v2['%Name'] ||= v2.name;
123
+ }
124
+ return arg;
125
+ }, z.discriminatedUnion('resourceVersion', [
126
+ yySoundSchemaLegacy,
127
+ z.discriminatedUnion('$GMSound', [yySoundSchemaV1, yySoundSchemaV2]),
128
+ ]));
62
129
  //# sourceMappingURL=YySound.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"YySound.js","sourceRoot":"","sources":["../../src/types/YySound.ts"],"names":[],"mappings":"AAAA,yBAAyB;AACzB,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAE3C,MAAM,CAAN,IAAY,aAGX;AAHD,WAAY,aAAa;IACvB,iDAAI,CAAA;IACJ,mDAAK,CAAA;AACP,CAAC,EAHW,aAAa,KAAb,aAAa,QAGxB;AACD,MAAM,CAAN,IAAY,YAIX;AAJD,WAAY,YAAY;IACtB,+CAAI,CAAA;IACJ,mDAAM,CAAA;IACN,mDAAM,CAAA;AACR,CAAC,EAJW,YAAY,KAAZ,YAAY,QAIvB;AAED,MAAM,CAAN,IAAY,gBAKX;AALD,WAAY,gBAAgB;IAC1B,uEAAY,CAAA;IACZ,mEAAU,CAAA;IACV,mFAAkB,CAAA;IAClB,mFAAkB,CAAA;AACpB,CAAC,EALW,gBAAgB,KAAhB,gBAAgB,QAK3B;AAED,MAAM,kBAAkB,GAAG,CAAC,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;AAEtD,MAAM,sBAAsB,GAAG,CAAC,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC;AAE9D,MAAM,mBAAmB,GAAG,CAAC,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;AAMxD,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC;IACpC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC;IACf,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC;IAChB,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC;IAChB,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC;IAChB,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC;IAChB,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC;CACjB,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,aAAa,GAAG,YAAY,CAAC,MAAM,CAAC;IAC/C,WAAW,EAAE,sBAAsB,CAAC,OAAO,CAAC,CAAC,CAAC;IAC9C,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IAChD,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IACxD,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;IACnC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC;IAChC,UAAU,EAAE,qBAAqB,CAAC,OAAO,CAAC,KAAK,CAAC;IAChD,IAAI,EAAE,kBAAkB,CAAC,OAAO,CAAC,CAAC,CAAC;IACnC,QAAQ,EAAE,mBAAmB,CAAC,OAAO,CAAC,CAAC,CAAC;IACxC,YAAY,EAAE,CAAC;SACZ,MAAM,CAAC;QACN,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;QAChB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;KACjB,CAAC;SACD,OAAO,CAAC;QACP,IAAI,EAAE,oBAAoB;QAC1B,IAAI,EAAE,gCAAgC;KACvC,CAAC;IACJ,qCAAqC;IACrC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;IACrB;;;;OAIG;IACH,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE;IAC/C,YAAY,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC;CACtD,CAAC,CAAC"}
1
+ {"version":3,"file":"YySound.js","sourceRoot":"","sources":["../../src/types/YySound.ts"],"names":[],"mappings":"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"}