@bscotch/gml-parser 1.14.2

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 (208) hide show
  1. package/LICENSE.md +29 -0
  2. package/README.md +151 -0
  3. package/assets/GmlSpec.xml +11419 -0
  4. package/dist/index.d.ts +16 -0
  5. package/dist/index.d.ts.map +1 -0
  6. package/dist/index.js +13 -0
  7. package/dist/index.js.map +1 -0
  8. package/dist/jsdoc.d.ts +79 -0
  9. package/dist/jsdoc.d.ts.map +1 -0
  10. package/dist/jsdoc.feather.d.ts +23 -0
  11. package/dist/jsdoc.feather.d.ts.map +1 -0
  12. package/dist/jsdoc.feather.js +143 -0
  13. package/dist/jsdoc.feather.js.map +1 -0
  14. package/dist/jsdoc.js +468 -0
  15. package/dist/jsdoc.js.map +1 -0
  16. package/dist/jsdoc.test.d.ts +2 -0
  17. package/dist/jsdoc.test.d.ts.map +1 -0
  18. package/dist/jsdoc.test.js +185 -0
  19. package/dist/jsdoc.test.js.map +1 -0
  20. package/dist/lexer.d.ts +3 -0
  21. package/dist/lexer.d.ts.map +1 -0
  22. package/dist/lexer.js +14 -0
  23. package/dist/lexer.js.map +1 -0
  24. package/dist/lexer.test.d.ts +2 -0
  25. package/dist/lexer.test.d.ts.map +1 -0
  26. package/dist/lexer.test.js +78 -0
  27. package/dist/lexer.test.js.map +1 -0
  28. package/dist/lib.objects.d.ts +190 -0
  29. package/dist/lib.objects.d.ts.map +1 -0
  30. package/dist/lib.objects.js +242 -0
  31. package/dist/lib.objects.js.map +1 -0
  32. package/dist/logger.d.ts +13 -0
  33. package/dist/logger.d.ts.map +1 -0
  34. package/dist/logger.js +14 -0
  35. package/dist/logger.js.map +1 -0
  36. package/dist/modules.d.ts +19 -0
  37. package/dist/modules.d.ts.map +1 -0
  38. package/dist/modules.js +320 -0
  39. package/dist/modules.js.map +1 -0
  40. package/dist/modules.test.d.ts +2 -0
  41. package/dist/modules.test.d.ts.map +1 -0
  42. package/dist/modules.test.js +57 -0
  43. package/dist/modules.test.js.map +1 -0
  44. package/dist/modules.types.d.ts +78 -0
  45. package/dist/modules.types.d.ts.map +1 -0
  46. package/dist/modules.types.js +2 -0
  47. package/dist/modules.types.js.map +1 -0
  48. package/dist/modules.util.d.ts +5 -0
  49. package/dist/modules.util.d.ts.map +1 -0
  50. package/dist/modules.util.js +13 -0
  51. package/dist/modules.util.js.map +1 -0
  52. package/dist/parser.d.ts +121 -0
  53. package/dist/parser.d.ts.map +1 -0
  54. package/dist/parser.js +571 -0
  55. package/dist/parser.js.map +1 -0
  56. package/dist/parser.test.d.ts +2 -0
  57. package/dist/parser.test.d.ts.map +1 -0
  58. package/dist/parser.test.js +143 -0
  59. package/dist/parser.test.js.map +1 -0
  60. package/dist/parser.utility.d.ts +29 -0
  61. package/dist/parser.utility.d.ts.map +1 -0
  62. package/dist/parser.utility.js +125 -0
  63. package/dist/parser.utility.js.map +1 -0
  64. package/dist/project.asset.d.ts +115 -0
  65. package/dist/project.asset.d.ts.map +1 -0
  66. package/dist/project.asset.js +802 -0
  67. package/dist/project.asset.js.map +1 -0
  68. package/dist/project.code.d.ts +130 -0
  69. package/dist/project.code.d.ts.map +1 -0
  70. package/dist/project.code.js +570 -0
  71. package/dist/project.code.js.map +1 -0
  72. package/dist/project.d.ts +533 -0
  73. package/dist/project.d.ts.map +1 -0
  74. package/dist/project.diagnostics.d.ts +32 -0
  75. package/dist/project.diagnostics.d.ts.map +1 -0
  76. package/dist/project.diagnostics.js +23 -0
  77. package/dist/project.diagnostics.js.map +1 -0
  78. package/dist/project.js +1216 -0
  79. package/dist/project.js.map +1 -0
  80. package/dist/project.location.d.ts +133 -0
  81. package/dist/project.location.d.ts.map +1 -0
  82. package/dist/project.location.js +219 -0
  83. package/dist/project.location.js.map +1 -0
  84. package/dist/project.native.d.ts +26 -0
  85. package/dist/project.native.d.ts.map +1 -0
  86. package/dist/project.native.js +321 -0
  87. package/dist/project.native.js.map +1 -0
  88. package/dist/project.spec.d.ts +1298 -0
  89. package/dist/project.spec.d.ts.map +1 -0
  90. package/dist/project.spec.js +263 -0
  91. package/dist/project.spec.js.map +1 -0
  92. package/dist/project.test.d.ts +2 -0
  93. package/dist/project.test.d.ts.map +1 -0
  94. package/dist/project.test.js +633 -0
  95. package/dist/project.test.js.map +1 -0
  96. package/dist/shaderDefaults.d.ts +3 -0
  97. package/dist/shaderDefaults.d.ts.map +1 -0
  98. package/dist/shaderDefaults.js +32 -0
  99. package/dist/shaderDefaults.js.map +1 -0
  100. package/dist/signifiers.d.ts +54 -0
  101. package/dist/signifiers.d.ts.map +1 -0
  102. package/dist/signifiers.flags.d.ts +38 -0
  103. package/dist/signifiers.flags.d.ts.map +1 -0
  104. package/dist/signifiers.flags.js +131 -0
  105. package/dist/signifiers.flags.js.map +1 -0
  106. package/dist/signifiers.js +117 -0
  107. package/dist/signifiers.js.map +1 -0
  108. package/dist/spine.d.ts +28 -0
  109. package/dist/spine.d.ts.map +1 -0
  110. package/dist/spine.js +64 -0
  111. package/dist/spine.js.map +1 -0
  112. package/dist/spine.test.d.ts +2 -0
  113. package/dist/spine.test.d.ts.map +1 -0
  114. package/dist/spine.test.js +420 -0
  115. package/dist/spine.test.js.map +1 -0
  116. package/dist/spine.types.d.ts +89 -0
  117. package/dist/spine.types.d.ts.map +1 -0
  118. package/dist/spine.types.js +2 -0
  119. package/dist/spine.types.js.map +1 -0
  120. package/dist/test.lib.d.ts +3 -0
  121. package/dist/test.lib.d.ts.map +1 -0
  122. package/dist/test.lib.js +16 -0
  123. package/dist/test.lib.js.map +1 -0
  124. package/dist/tokens.categories.d.ts +22 -0
  125. package/dist/tokens.categories.d.ts.map +1 -0
  126. package/dist/tokens.categories.js +78 -0
  127. package/dist/tokens.categories.js.map +1 -0
  128. package/dist/tokens.code.d.ts +2 -0
  129. package/dist/tokens.code.d.ts.map +1 -0
  130. package/dist/tokens.code.js +523 -0
  131. package/dist/tokens.code.js.map +1 -0
  132. package/dist/tokens.d.ts +130 -0
  133. package/dist/tokens.d.ts.map +1 -0
  134. package/dist/tokens.js +13 -0
  135. package/dist/tokens.js.map +1 -0
  136. package/dist/tokens.lib.d.ts +15 -0
  137. package/dist/tokens.lib.d.ts.map +1 -0
  138. package/dist/tokens.lib.js +12 -0
  139. package/dist/tokens.lib.js.map +1 -0
  140. package/dist/tokens.shared.d.ts +4 -0
  141. package/dist/tokens.shared.d.ts.map +1 -0
  142. package/dist/tokens.shared.js +35 -0
  143. package/dist/tokens.shared.js.map +1 -0
  144. package/dist/tokens.strings.d.ts +5 -0
  145. package/dist/tokens.strings.d.ts.map +1 -0
  146. package/dist/tokens.strings.js +111 -0
  147. package/dist/tokens.strings.js.map +1 -0
  148. package/dist/types.checks.d.ts +50 -0
  149. package/dist/types.checks.d.ts.map +1 -0
  150. package/dist/types.checks.js +246 -0
  151. package/dist/types.checks.js.map +1 -0
  152. package/dist/types.d.ts +152 -0
  153. package/dist/types.d.ts.map +1 -0
  154. package/dist/types.feather.d.ts +21 -0
  155. package/dist/types.feather.d.ts.map +1 -0
  156. package/dist/types.feather.js +156 -0
  157. package/dist/types.feather.js.map +1 -0
  158. package/dist/types.hover.d.ts +4 -0
  159. package/dist/types.hover.d.ts.map +1 -0
  160. package/dist/types.hover.js +99 -0
  161. package/dist/types.hover.js.map +1 -0
  162. package/dist/types.js +457 -0
  163. package/dist/types.js.map +1 -0
  164. package/dist/types.primitives.d.ts +10 -0
  165. package/dist/types.primitives.d.ts.map +1 -0
  166. package/dist/types.primitives.js +88 -0
  167. package/dist/types.primitives.js.map +1 -0
  168. package/dist/types.sprites.d.ts +8 -0
  169. package/dist/types.sprites.d.ts.map +1 -0
  170. package/dist/types.sprites.js +417 -0
  171. package/dist/types.sprites.js.map +1 -0
  172. package/dist/types.test.d.ts +2 -0
  173. package/dist/types.test.d.ts.map +1 -0
  174. package/dist/types.test.js +62 -0
  175. package/dist/types.test.js.map +1 -0
  176. package/dist/util.d.ts +50 -0
  177. package/dist/util.d.ts.map +1 -0
  178. package/dist/util.js +168 -0
  179. package/dist/util.js.map +1 -0
  180. package/dist/util.test.d.ts +3 -0
  181. package/dist/util.test.d.ts.map +1 -0
  182. package/dist/util.test.js +63 -0
  183. package/dist/util.test.js.map +1 -0
  184. package/dist/visitor.assign.d.ts +24 -0
  185. package/dist/visitor.assign.d.ts.map +1 -0
  186. package/dist/visitor.assign.js +112 -0
  187. package/dist/visitor.assign.js.map +1 -0
  188. package/dist/visitor.d.ts +89 -0
  189. package/dist/visitor.d.ts.map +1 -0
  190. package/dist/visitor.functionExpression.d.ts +7 -0
  191. package/dist/visitor.functionExpression.d.ts.map +1 -0
  192. package/dist/visitor.functionExpression.js +216 -0
  193. package/dist/visitor.functionExpression.js.map +1 -0
  194. package/dist/visitor.globals.d.ts +59 -0
  195. package/dist/visitor.globals.d.ts.map +1 -0
  196. package/dist/visitor.globals.js +271 -0
  197. package/dist/visitor.globals.js.map +1 -0
  198. package/dist/visitor.identifierAccessor.d.ts +6 -0
  199. package/dist/visitor.identifierAccessor.d.ts.map +1 -0
  200. package/dist/visitor.identifierAccessor.js +381 -0
  201. package/dist/visitor.identifierAccessor.js.map +1 -0
  202. package/dist/visitor.js +605 -0
  203. package/dist/visitor.js.map +1 -0
  204. package/dist/visitor.processor.d.ts +66 -0
  205. package/dist/visitor.processor.d.ts.map +1 -0
  206. package/dist/visitor.processor.js +147 -0
  207. package/dist/visitor.processor.js.map +1 -0
  208. package/package.json +63 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"project.test.js","sourceRoot":"","sources":["../src/project.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export declare const vshDefault = "//\n// Simple passthrough vertex shader\n//\nattribute vec3 in_Position; // (x,y,z)\n//attribute vec3 in_Normal; // (x,y,z) unused in this shader.\nattribute vec4 in_Colour; // (r,g,b,a)\nattribute vec2 in_TextureCoord; // (u,v)\n\nvarying vec2 v_vTexcoord;\nvarying vec4 v_vColour;\n\nvoid main()\n{\n vec4 object_space_pos = vec4( in_Position.x, in_Position.y, in_Position.z, 1.0);\n gl_Position = gm_Matrices[MATRIX_WORLD_VIEW_PROJECTION] * object_space_pos;\n \n v_vColour = in_Colour;\n v_vTexcoord = in_TextureCoord;\n}\n";
2
+ export declare const fshDefault = "//\n// Simple passthrough fragment shader\n//\nvarying vec2 v_vTexcoord;\nvarying vec4 v_vColour;\n\nvoid main()\n{\n gl_FragColor = v_vColour * texture2D( gm_BaseTexture, v_vTexcoord );\n}\n";
3
+ //# sourceMappingURL=shaderDefaults.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shaderDefaults.d.ts","sourceRoot":"","sources":["../src/shaderDefaults.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,UAAU,ymBAmBtB,CAAC;AAEF,eAAO,MAAM,UAAU,uMAUtB,CAAC"}
@@ -0,0 +1,32 @@
1
+ export const vshDefault = `//
2
+ // Simple passthrough vertex shader
3
+ //
4
+ attribute vec3 in_Position; // (x,y,z)
5
+ //attribute vec3 in_Normal; // (x,y,z) unused in this shader.
6
+ attribute vec4 in_Colour; // (r,g,b,a)
7
+ attribute vec2 in_TextureCoord; // (u,v)
8
+
9
+ varying vec2 v_vTexcoord;
10
+ varying vec4 v_vColour;
11
+
12
+ void main()
13
+ {
14
+ vec4 object_space_pos = vec4( in_Position.x, in_Position.y, in_Position.z, 1.0);
15
+ gl_Position = gm_Matrices[MATRIX_WORLD_VIEW_PROJECTION] * object_space_pos;
16
+
17
+ v_vColour = in_Colour;
18
+ v_vTexcoord = in_TextureCoord;
19
+ }
20
+ `;
21
+ export const fshDefault = `//
22
+ // Simple passthrough fragment shader
23
+ //
24
+ varying vec2 v_vTexcoord;
25
+ varying vec4 v_vColour;
26
+
27
+ void main()
28
+ {
29
+ gl_FragColor = v_vColour * texture2D( gm_BaseTexture, v_vTexcoord );
30
+ }
31
+ `;
32
+ //# sourceMappingURL=shaderDefaults.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shaderDefaults.js","sourceRoot":"","sources":["../src/shaderDefaults.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,UAAU,GAAG;;;;;;;;;;;;;;;;;;;CAmBzB,CAAC;AAEF,MAAM,CAAC,MAAM,UAAU,GAAG;;;;;;;;;;CAUzB,CAAC"}
@@ -0,0 +1,54 @@
1
+ import { Range, Reference } from './project.location.js';
2
+ import { Flags } from './signifiers.flags.js';
3
+ import { Type, TypeStore } from './types.js';
4
+ import { PrimitiveName } from './types.primitives.js';
5
+ export declare class Signifier extends Flags {
6
+ readonly name: string;
7
+ readonly $tag = "Sym";
8
+ description: string | undefined;
9
+ type: TypeStore;
10
+ /** For function params, the index of this param */
11
+ idx: number | undefined;
12
+ /** The Type containing this member */
13
+ readonly parent: Type;
14
+ /**
15
+ * If this is a native entity (built into GameMaker),
16
+ * this is set to the name of the module it came from.
17
+ */
18
+ protected _native?: string;
19
+ /**
20
+ * If `true`, then this definitely exists but may not have a place where it
21
+ * is declared. E.g. the `global` variable. In that case this would be set to
22
+ * `true`. Otherwise `undefined` is interpreted to mean that this thing
23
+ * does not have a definite declaration.
24
+ */
25
+ protected _def: Range | {
26
+ file?: undefined;
27
+ } | undefined;
28
+ refs: Set<Reference>;
29
+ constructor(parent: Type, name: string, type?: Type | Type[]);
30
+ get isRenameable(): boolean;
31
+ /**
32
+ * Create a new Signifier instance with the same properties as this one,
33
+ * except for its refs. Note that it is a shallow copy!
34
+ */
35
+ copy(): this;
36
+ addRef(location: Range, isDef?: boolean): Reference;
37
+ unsetDef(): void;
38
+ get def(): Range | {
39
+ file?: undefined;
40
+ } | undefined;
41
+ set def(location: Range | {
42
+ file?: undefined;
43
+ });
44
+ definedAt(location: Range): this;
45
+ get native(): string | undefined;
46
+ set native(nativeModule: string | undefined);
47
+ describe(description: string | undefined): this;
48
+ setType(newType: Type | TypeStore | (TypeStore | Type)[]): this;
49
+ /** @deprecated Types should be set in one go instead of added piecemeal */
50
+ addType(newType: Type | Type[]): this;
51
+ get isTyped(): boolean;
52
+ getTypeByKind<T extends PrimitiveName>(kind: T): Type<T> | undefined;
53
+ }
54
+ //# sourceMappingURL=signifiers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"signifiers.d.ts","sourceRoot":"","sources":["../src/signifiers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAE9C,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAGtD,qBAAa,SAAU,SAAQ,KAAK;IAwBhC,QAAQ,CAAC,IAAI,EAAE,MAAM;IAvBvB,QAAQ,CAAC,IAAI,SAAS;IACtB,WAAW,EAAE,MAAM,GAAG,SAAS,CAAa;IAC5C,IAAI,EAAE,SAAS,CAAmB;IAClC,mDAAmD;IACnD,GAAG,EAAE,MAAM,GAAG,SAAS,CAAa;IACpC,sCAAsC;IACtC,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC;IACtB;;;OAGG;IACH,SAAS,CAAC,OAAO,CAAC,EAAE,MAAM,CAAa;IACvC;;;;;OAKG;IACH,SAAS,CAAC,IAAI,EAAE,KAAK,GAAG;QAAE,IAAI,CAAC,EAAE,SAAS,CAAA;KAAE,GAAG,SAAS,CAAa;IACrE,IAAI,iBAAwB;gBAG1B,MAAM,EAAE,IAAI,EACH,IAAI,EAAE,MAAM,EACrB,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,EAAE;IAStB,IAAI,YAAY,IAAI,OAAO,CAM1B;IAED;;;OAGG;IACH,IAAI,IAAI,IAAI;IAWZ,MAAM,CAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,UAAQ,GAAG,SAAS;IAQjD,QAAQ;IAKR,IAAI,GAAG,IAAI,KAAK,GAAG;QAAE,IAAI,CAAC,EAAE,SAAS,CAAA;KAAE,GAAG,SAAS,CAElD;IACD,IAAI,GAAG,CAAC,QAAQ,EAAE,KAAK,GAAG;QAAE,IAAI,CAAC,EAAE,SAAS,CAAA;KAAE,EAQ7C;IAED,SAAS,CAAC,QAAQ,EAAE,KAAK,GAAG,IAAI;IAKhC,IAAI,MAAM,IAGe,MAAM,GAAG,SAAS,CAD1C;IACD,IAAI,MAAM,CAAC,YAAY,EAAE,MAAM,GAAG,SAAS,EAK1C;IAED,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI;IAK/C,OAAO,CAAC,OAAO,EAAE,IAAI,GAAG,SAAS,GAAG,CAAC,SAAS,GAAG,IAAI,CAAC,EAAE,GAAG,IAAI;IAQ/D,2EAA2E;IAC3E,OAAO,CAAC,OAAO,EAAE,IAAI,GAAG,IAAI,EAAE,GAAG,IAAI;IAQrC,IAAI,OAAO,IAAI,OAAO,CAErB;IAED,aAAa,CAAC,CAAC,SAAS,aAAa,EAAE,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,SAAS;CAGrE"}
@@ -0,0 +1,38 @@
1
+ export declare class Flags {
2
+ protected flags: number;
3
+ protected setFlag(flag: number, value: boolean): void;
4
+ protected getFlag(flag: number): boolean;
5
+ get override(): boolean;
6
+ set override(override: boolean);
7
+ get definitive(): boolean;
8
+ set definitive(definitive: boolean);
9
+ get asset(): boolean;
10
+ set asset(asset: boolean);
11
+ get macro(): boolean;
12
+ set macro(macro: boolean);
13
+ get optional(): boolean;
14
+ set optional(optional: boolean);
15
+ get instance(): boolean;
16
+ set instance(instance: boolean);
17
+ get static(): boolean;
18
+ set static(static_: boolean);
19
+ get local(): boolean;
20
+ set local(local: boolean);
21
+ get global(): boolean;
22
+ set global(global: boolean);
23
+ get parameter(): boolean;
24
+ set parameter(parameter: boolean);
25
+ get writable(): boolean;
26
+ set writable(writable: boolean);
27
+ get readable(): boolean;
28
+ get deprecated(): boolean;
29
+ set deprecated(deprecated: boolean);
30
+ get mixin(): boolean;
31
+ set mixin(mixin: boolean);
32
+ get enum(): boolean;
33
+ set enum(isEnum: boolean);
34
+ get enumMember(): boolean;
35
+ set enumMember(enumMember: boolean);
36
+ deprecate(deprecated?: boolean): this;
37
+ }
38
+ //# sourceMappingURL=signifiers.flags.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"signifiers.flags.d.ts","sourceRoot":"","sources":["../src/signifiers.flags.ts"],"names":[],"mappings":"AAoBA,qBAAa,KAAK;IAChB,SAAS,CAAC,KAAK,SAA4B;IAE3C,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO;IAO9C,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM;IAI9B,IAAI,QAAQ,IAGW,OAAO,CAD7B;IACD,IAAI,QAAQ,CAAC,QAAQ,EAAE,OAAO,EAE7B;IAED,IAAI,UAAU,IAGa,OAAO,CADjC;IACD,IAAI,UAAU,CAAC,UAAU,EAAE,OAAO,EAEjC;IAED,IAAI,KAAK,IAGQ,OAAO,CADvB;IACD,IAAI,KAAK,CAAC,KAAK,EAAE,OAAO,EAEvB;IAED,IAAI,KAAK,IAGQ,OAAO,CADvB;IACD,IAAI,KAAK,CAAC,KAAK,EAAE,OAAO,EAEvB;IAED,IAAI,QAAQ,IAGW,OAAO,CAD7B;IACD,IAAI,QAAQ,CAAC,QAAQ,EAAE,OAAO,EAE7B;IAED,IAAI,QAAQ,IAGW,OAAO,CAD7B;IACD,IAAI,QAAQ,CAAC,QAAQ,EAAE,OAAO,EAE7B;IAED,IAAI,MAAM,IAGU,OAAO,CAD1B;IACD,IAAI,MAAM,CAAC,OAAO,EAAE,OAAO,EAE1B;IAED,IAAI,KAAK,IAGQ,OAAO,CADvB;IACD,IAAI,KAAK,CAAC,KAAK,EAAE,OAAO,EAEvB;IAED,IAAI,MAAM,IAGS,OAAO,CADzB;IACD,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,EAEzB;IAED,IAAI,SAAS,IAGY,OAAO,CAD/B;IACD,IAAI,SAAS,CAAC,SAAS,EAAE,OAAO,EAE/B;IAED,IAAI,QAAQ,IAGW,OAAO,CAD7B;IACD,IAAI,QAAQ,CAAC,QAAQ,EAAE,OAAO,EAE7B;IAED,IAAI,QAAQ,YAEX;IAED,IAAI,UAAU,IAGa,OAAO,CADjC;IACD,IAAI,UAAU,CAAC,UAAU,EAAE,OAAO,EAEjC;IAED,IAAI,KAAK,IAGQ,OAAO,CADvB;IACD,IAAI,KAAK,CAAC,KAAK,EAAE,OAAO,EAEvB;IAED,IAAI,IAAI,IAGS,OAAO,CADvB;IACD,IAAI,IAAI,CAAC,MAAM,EAAE,OAAO,EAEvB;IAED,IAAI,UAAU,IAGa,OAAO,CADjC;IACD,IAAI,UAAU,CAAC,UAAU,EAAE,OAAO,EAEjC;IAED,SAAS,CAAC,UAAU,UAAO,GAAG,IAAI;CAInC"}
@@ -0,0 +1,131 @@
1
+ const signifierFlags = {
2
+ Readable: 1 << 0,
3
+ Writable: 1 << 1,
4
+ ReadWrite: (1 << 0) | (1 << 1),
5
+ Instance: 1 << 2,
6
+ Deprecated: 1 << 3,
7
+ Static: 1 << 4,
8
+ Local: 1 << 5,
9
+ Global: 1 << 6,
10
+ Parameter: 1 << 7,
11
+ Optional: 1 << 8,
12
+ Macro: 1 << 9, // Is a macro
13
+ Asset: 1 << 10, // Is an asset
14
+ Mixin: 1 << 11, // Is a mixin
15
+ Override: 1 << 12, // Is an override for a parent variable
16
+ Definitive: 1 << 13, // Is a definitive variable (defined in a definitiveSelf, such as a constructor or Create event)
17
+ Enum: 1 << 14, // Is an enum
18
+ EnumMember: 1 << 15, // Is an enum member
19
+ };
20
+ export class Flags {
21
+ flags = signifierFlags.ReadWrite;
22
+ setFlag(flag, value) {
23
+ if (value) {
24
+ this.flags |= flag;
25
+ }
26
+ else {
27
+ this.flags &= ~flag;
28
+ }
29
+ }
30
+ getFlag(flag) {
31
+ return !!(this.flags & flag);
32
+ }
33
+ get override() {
34
+ return this.getFlag(signifierFlags.Override);
35
+ }
36
+ set override(override) {
37
+ this.setFlag(signifierFlags.Override, override);
38
+ }
39
+ get definitive() {
40
+ return this.getFlag(signifierFlags.Definitive);
41
+ }
42
+ set definitive(definitive) {
43
+ this.setFlag(signifierFlags.Definitive, definitive);
44
+ }
45
+ get asset() {
46
+ return this.getFlag(signifierFlags.Asset);
47
+ }
48
+ set asset(asset) {
49
+ this.setFlag(signifierFlags.Asset, asset);
50
+ }
51
+ get macro() {
52
+ return this.getFlag(signifierFlags.Macro);
53
+ }
54
+ set macro(macro) {
55
+ this.setFlag(signifierFlags.Macro, macro);
56
+ }
57
+ get optional() {
58
+ return this.getFlag(signifierFlags.Optional);
59
+ }
60
+ set optional(optional) {
61
+ this.setFlag(signifierFlags.Optional, optional);
62
+ }
63
+ get instance() {
64
+ return this.getFlag(signifierFlags.Instance);
65
+ }
66
+ set instance(instance) {
67
+ this.setFlag(signifierFlags.Instance, instance);
68
+ }
69
+ get static() {
70
+ return this.getFlag(signifierFlags.Static);
71
+ }
72
+ set static(static_) {
73
+ this.setFlag(signifierFlags.Static, static_);
74
+ }
75
+ get local() {
76
+ return this.getFlag(signifierFlags.Local);
77
+ }
78
+ set local(local) {
79
+ this.setFlag(signifierFlags.Local, local);
80
+ }
81
+ get global() {
82
+ return this.getFlag(signifierFlags.Global);
83
+ }
84
+ set global(global) {
85
+ this.setFlag(signifierFlags.Global, global);
86
+ }
87
+ get parameter() {
88
+ return this.getFlag(signifierFlags.Parameter);
89
+ }
90
+ set parameter(parameter) {
91
+ this.setFlag(signifierFlags.Parameter, parameter);
92
+ }
93
+ get writable() {
94
+ return this.getFlag(signifierFlags.Writable);
95
+ }
96
+ set writable(writable) {
97
+ this.setFlag(signifierFlags.Writable, writable);
98
+ }
99
+ get readable() {
100
+ return this.getFlag(signifierFlags.Readable);
101
+ }
102
+ get deprecated() {
103
+ return this.getFlag(signifierFlags.Deprecated);
104
+ }
105
+ set deprecated(deprecated) {
106
+ this.setFlag(signifierFlags.Deprecated, deprecated);
107
+ }
108
+ get mixin() {
109
+ return this.getFlag(signifierFlags.Mixin);
110
+ }
111
+ set mixin(mixin) {
112
+ this.setFlag(signifierFlags.Mixin, mixin);
113
+ }
114
+ get enum() {
115
+ return this.getFlag(signifierFlags.Enum);
116
+ }
117
+ set enum(isEnum) {
118
+ this.setFlag(signifierFlags.Enum, isEnum);
119
+ }
120
+ get enumMember() {
121
+ return this.getFlag(signifierFlags.EnumMember);
122
+ }
123
+ set enumMember(enumMember) {
124
+ this.setFlag(signifierFlags.EnumMember, enumMember);
125
+ }
126
+ deprecate(deprecated = true) {
127
+ this.deprecated = deprecated;
128
+ return this;
129
+ }
130
+ }
131
+ //# sourceMappingURL=signifiers.flags.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"signifiers.flags.js","sourceRoot":"","sources":["../src/signifiers.flags.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,117 @@
1
+ import { Reference } from './project.location.js';
2
+ import { Flags } from './signifiers.flags.js';
3
+ import { getTypes } from './types.checks.js';
4
+ import { TypeStore } from './types.js';
5
+ import { assert } from './util.js';
6
+ export class Signifier extends Flags {
7
+ name;
8
+ $tag = 'Sym';
9
+ description = undefined;
10
+ type = new TypeStore();
11
+ /** For function params, the index of this param */
12
+ idx = undefined;
13
+ /** The Type containing this member */
14
+ parent;
15
+ /**
16
+ * If this is a native entity (built into GameMaker),
17
+ * this is set to the name of the module it came from.
18
+ */
19
+ _native = undefined;
20
+ /**
21
+ * If `true`, then this definitely exists but may not have a place where it
22
+ * is declared. E.g. the `global` variable. In that case this would be set to
23
+ * `true`. Otherwise `undefined` is interpreted to mean that this thing
24
+ * does not have a definite declaration.
25
+ */
26
+ _def = undefined;
27
+ refs = new Set();
28
+ constructor(parent, name, type) {
29
+ super();
30
+ this.name = name;
31
+ if (type) {
32
+ this.setType(type);
33
+ }
34
+ this.parent = parent;
35
+ }
36
+ get isRenameable() {
37
+ return (!!this.name &&
38
+ !this.native &&
39
+ !['other', 'self', 'global'].includes(this.name));
40
+ }
41
+ /**
42
+ * Create a new Signifier instance with the same properties as this one,
43
+ * except for its refs. Note that it is a shallow copy!
44
+ */
45
+ copy() {
46
+ const copy = new Signifier(this.parent, this.name);
47
+ copy.description = this.description;
48
+ copy.type = this.type;
49
+ copy.idx = this.idx;
50
+ copy._native = this._native;
51
+ copy._def = this._def;
52
+ copy.flags = this.flags;
53
+ return copy;
54
+ }
55
+ addRef(location, isDef = false) {
56
+ const ref = Reference.fromRange(location, this);
57
+ ref.isDef = isDef;
58
+ this.refs.add(ref);
59
+ location.file.addRef(ref);
60
+ return ref;
61
+ }
62
+ unsetDef() {
63
+ assert(!this.native, 'Cannot unset def on a native entity');
64
+ this._def = undefined;
65
+ }
66
+ get def() {
67
+ return this._def;
68
+ }
69
+ set def(location) {
70
+ assert(location, 'Cannot set def to undefined');
71
+ if (this._def || this.native) {
72
+ // Then we have already set a declaration location, so we should
73
+ // not be setting it again.
74
+ return;
75
+ }
76
+ this._def = location;
77
+ }
78
+ definedAt(location) {
79
+ this.def = location;
80
+ return this;
81
+ }
82
+ get native() {
83
+ return this._native;
84
+ }
85
+ set native(nativeModule) {
86
+ this._native = nativeModule;
87
+ if (nativeModule) {
88
+ this._def = {};
89
+ }
90
+ }
91
+ describe(description) {
92
+ this.description = description;
93
+ return this;
94
+ }
95
+ setType(newType) {
96
+ this.type.type = getTypes(newType);
97
+ // if (newType instanceof Type) {
98
+ // newType.signifier = this;
99
+ // }
100
+ return this;
101
+ }
102
+ /** @deprecated Types should be set in one go instead of added piecemeal */
103
+ addType(newType) {
104
+ // We may have duplicate types, but that information is
105
+ // still useful since the same type information may have
106
+ // come from multiple assignment statements.
107
+ this.type.addType(newType);
108
+ return this;
109
+ }
110
+ get isTyped() {
111
+ return this.type.type.length > 0;
112
+ }
113
+ getTypeByKind(kind) {
114
+ return this.type.type.find((t) => t.kind === kind);
115
+ }
116
+ }
117
+ //# sourceMappingURL=signifiers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"signifiers.js","sourceRoot":"","sources":["../src/signifiers.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,28 @@
1
+ import { type Pathy } from '@bscotch/pathy';
2
+ import { SpineJson } from './spine.types.js';
3
+ export interface SpineSummary<AnimationName extends string = string, EventName extends string = string> {
4
+ skinNames: string[];
5
+ eventNames: EventName[];
6
+ slotNames: string[];
7
+ animations: {
8
+ name: AnimationName;
9
+ duration: number;
10
+ events: {
11
+ time: number;
12
+ name: EventName;
13
+ }[];
14
+ }[];
15
+ }
16
+ export declare class Spine<AnimationName extends string = string, SlotName extends string = string, BoneName extends string = string, EventName extends string = string, AttachmentName extends string = string> {
17
+ path: Pathy;
18
+ protected _content?: SpineJson<AnimationName, SlotName, BoneName, EventName, AttachmentName>;
19
+ constructor(path: string | Pathy);
20
+ /**
21
+ * Compute a simplified summary of the Spine content
22
+ * for use in the Sprite Editor UI.
23
+ */
24
+ summarize(): Promise<SpineSummary<AnimationName, EventName>>;
25
+ getContent(): Promise<SpineJson<AnimationName, SlotName, BoneName, EventName, AttachmentName>>;
26
+ reload(): Promise<void>;
27
+ }
28
+ //# sourceMappingURL=spine.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"spine.d.ts","sourceRoot":"","sources":["../src/spine.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,KAAK,KAAK,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAkB,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAG7D,MAAM,WAAW,YAAY,CAC3B,aAAa,SAAS,MAAM,GAAG,MAAM,EACrC,SAAS,SAAS,MAAM,GAAG,MAAM;IAEjC,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,UAAU,EAAE,SAAS,EAAE,CAAC;IACxB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,UAAU,EAAE;QACV,IAAI,EAAE,aAAa,CAAC;QACpB,QAAQ,EAAE,MAAM,CAAC;QACjB,MAAM,EAAE;YACN,IAAI,EAAE,MAAM,CAAC;YACb,IAAI,EAAE,SAAS,CAAC;SACjB,EAAE,CAAC;KACL,EAAE,CAAC;CACL;AAED,qBAAa,KAAK,CAChB,aAAa,SAAS,MAAM,GAAG,MAAM,EACrC,QAAQ,SAAS,MAAM,GAAG,MAAM,EAChC,QAAQ,SAAS,MAAM,GAAG,MAAM,EAChC,SAAS,SAAS,MAAM,GAAG,MAAM,EACjC,cAAc,SAAS,MAAM,GAAG,MAAM;IAEtC,IAAI,EAAE,KAAK,CAAC;IACZ,SAAS,CAAC,QAAQ,CAAC,EAAE,SAAS,CAC5B,aAAa,EACb,QAAQ,EACR,QAAQ,EACR,SAAS,EACT,cAAc,CACf,CAAC;gBAEU,IAAI,EAAE,MAAM,GAAG,KAAK;IAQhC;;;OAGG;IACG,SAAS,IAAI,OAAO,CAAC,YAAY,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC;IA0B5D,UAAU,IAAI,OAAO,CACzB,SAAS,CAAC,aAAa,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,cAAc,CAAC,CACxE;IAOK,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;CAmC9B"}
package/dist/spine.js ADDED
@@ -0,0 +1,64 @@
1
+ import { pathy } from '@bscotch/pathy';
2
+ import { assert } from './util.js';
3
+ export class Spine {
4
+ path;
5
+ _content;
6
+ constructor(path) {
7
+ this.path = pathy(path);
8
+ assert(this.path.hasExtension('json'), `Spine file must be a JSON file: ${this.path}`);
9
+ }
10
+ /**
11
+ * Compute a simplified summary of the Spine content
12
+ * for use in the Sprite Editor UI.
13
+ */
14
+ async summarize() {
15
+ const content = await this.getContent();
16
+ return {
17
+ skinNames: content.skins?.map((skin) => skin.name) || [],
18
+ eventNames: Object.keys(content.events || {}),
19
+ slotNames: content.slots?.map((slot) => slot.name) || [],
20
+ animations: Object.keys(content.animations || {}).map((animationName) => {
21
+ const animation = content.animations[animationName];
22
+ const summary = {
23
+ name: animationName,
24
+ duration: recursivelyFindMaxTime(animation),
25
+ events: animation.events || [],
26
+ };
27
+ return summary;
28
+ }),
29
+ };
30
+ }
31
+ async getContent() {
32
+ if (!this._content) {
33
+ await this.reload();
34
+ }
35
+ return this._content;
36
+ }
37
+ async reload() {
38
+ assert(await this.path.exists(), `Spine file does not exist: ${this.path}`);
39
+ const content = await this.path.read();
40
+ assert(content && content.skeleton && content.skeleton.spine, `Spine file does not have a valid 'skeleton/spine' path: ${this.path}`);
41
+ assert(!content.bones || Array.isArray(content.bones), `Spine file has invalid 'bones' data: ${this.path}`);
42
+ assert(!content.slots || Array.isArray(content.slots), `Spine file has invalid 'slots' data: ${this.path}`);
43
+ assert(!content.skins || Array.isArray(content.skins), `Spine file has invalid 'skins' data: ${this.path}`);
44
+ assert(!content.events ||
45
+ (typeof content.events === 'object' && !Array.isArray(content.events)), `Spine file has invalid 'events' data: ${this.path}`);
46
+ assert(!content.animations ||
47
+ (typeof content.animations === 'object' &&
48
+ !Array.isArray(content.animations)), `Spine file has invalid 'animations' data: ${this.path}`);
49
+ this._content = content;
50
+ }
51
+ }
52
+ function recursivelyFindMaxTime(data, current_max = 0) {
53
+ if (typeof data !== 'object' || data === null) {
54
+ return current_max;
55
+ }
56
+ if (Array.isArray(data)) {
57
+ return Math.max(...data.map((d) => recursivelyFindMaxTime(d, current_max)), current_max);
58
+ }
59
+ if ('time' in data && typeof data.time === 'number') {
60
+ return Math.max(data.time, current_max);
61
+ }
62
+ return Math.max(...Object.values(data).map((d) => recursivelyFindMaxTime(d, current_max)), current_max);
63
+ }
64
+ //# sourceMappingURL=spine.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"spine.js","sourceRoot":"","sources":["../src/spine.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=spine.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"spine.test.d.ts","sourceRoot":"","sources":["../src/spine.test.ts"],"names":[],"mappings":""}