@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,130 @@
1
+ export { c, categories } from './tokens.categories.js';
2
+ export declare const tokens: (import("./tokens.lib.js").TokenType<"Identifier"> | import("./tokens.lib.js").TokenType<"WhiteSpace"> | import("./tokens.lib.js").TokenType<"Hex"> | import("./tokens.lib.js").TokenType<"Binary"> | import("./tokens.lib.js").TokenType<"Real"> | import("./tokens.lib.js").TokenType<"HexColor"> | import("./tokens.lib.js").TokenType<"JsdocGmlLine"> | import("./tokens.lib.js").TokenType<"JsdocJs"> | import("./tokens.lib.js").TokenType<"SingleLineComment"> | import("./tokens.lib.js").TokenType<"MultiLineComment"> | import("./tokens.lib.js").TokenType<"MultiLineCommentNotTerminated"> | import("./tokens.lib.js").TokenType<"StringStart"> | import("./tokens.lib.js").TokenType<"TemplateStart"> | import("./tokens.lib.js").TokenType<"MultilineDoubleStringStart"> | import("./tokens.lib.js").TokenType<"MultilineSingleStringStart"> | import("./tokens.lib.js").TokenType<"NullPointer"> | import("./tokens.lib.js").TokenType<"InvalidPointer"> | import("./tokens.lib.js").TokenType<"Undefined"> | import("./tokens.lib.js").TokenType<"Infinity"> | import("./tokens.lib.js").TokenType<"Pi"> | import("./tokens.lib.js").TokenType<"NaN"> | import("./tokens.lib.js").TokenType<"True"> | import("./tokens.lib.js").TokenType<"False"> | import("./tokens.lib.js").TokenType<"Begin"> | import("./tokens.lib.js").TokenType<"End"> | import("./tokens.lib.js").TokenType<"If"> | import("./tokens.lib.js").TokenType<"Then"> | import("./tokens.lib.js").TokenType<"Else"> | import("./tokens.lib.js").TokenType<"While"> | import("./tokens.lib.js").TokenType<"Do"> | import("./tokens.lib.js").TokenType<"For"> | import("./tokens.lib.js").TokenType<"Break"> | import("./tokens.lib.js").TokenType<"Continue"> | import("./tokens.lib.js").TokenType<"With"> | import("./tokens.lib.js").TokenType<"Until"> | import("./tokens.lib.js").TokenType<"Repeat"> | import("./tokens.lib.js").TokenType<"Exit"> | import("./tokens.lib.js").TokenType<"And"> | import("./tokens.lib.js").TokenType<"Or"> | import("./tokens.lib.js").TokenType<"Xor"> | import("./tokens.lib.js").TokenType<"Not"> | import("./tokens.lib.js").TokenType<"Return"> | import("./tokens.lib.js").TokenType<"Modulo"> | import("./tokens.lib.js").TokenType<"Div"> | import("./tokens.lib.js").TokenType<"Switch"> | import("./tokens.lib.js").TokenType<"Case"> | import("./tokens.lib.js").TokenType<"Default"> | import("./tokens.lib.js").TokenType<"Var"> | import("./tokens.lib.js").TokenType<"Global"> | import("./tokens.lib.js").TokenType<"GlobalVar"> | import("./tokens.lib.js").TokenType<"Enum"> | import("./tokens.lib.js").TokenType<"Function"> | import("./tokens.lib.js").TokenType<"Try"> | import("./tokens.lib.js").TokenType<"Catch"> | import("./tokens.lib.js").TokenType<"Finally"> | import("./tokens.lib.js").TokenType<"Static"> | import("./tokens.lib.js").TokenType<"New"> | import("./tokens.lib.js").TokenType<"Delete"> | import("./tokens.lib.js").TokenType<"Constructor"> | import("./tokens.lib.js").TokenType<"Macro"> | import("./tokens.lib.js").TokenType<"Region"> | import("./tokens.lib.js").TokenType<"EndRegion"> | import("./tokens.lib.js").TokenType<"Self"> | import("./tokens.lib.js").TokenType<"Other"> | import("./tokens.lib.js").TokenType<"Noone"> | import("./tokens.lib.js").TokenType<"All"> | import("./tokens.lib.js").TokenType<"NullishAssign"> | import("./tokens.lib.js").TokenType<"PlusAssign"> | import("./tokens.lib.js").TokenType<"MinusAssign"> | import("./tokens.lib.js").TokenType<"MultiplyAssign"> | import("./tokens.lib.js").TokenType<"DivideAssign"> | import("./tokens.lib.js").TokenType<"ModuloAssign"> | import("./tokens.lib.js").TokenType<"BitwiseAndAssign"> | import("./tokens.lib.js").TokenType<"BitwiseOrAssign"> | import("./tokens.lib.js").TokenType<"BitwiseXorAssign"> | import("./tokens.lib.js").TokenType<"Nullish"> | import("./tokens.lib.js").TokenType<"Equals"> | import("./tokens.lib.js").TokenType<"NotEqual"> | import("./tokens.lib.js").TokenType<"Increment"> | import("./tokens.lib.js").TokenType<"Decrement"> | import("./tokens.lib.js").TokenType<"LessThanOrEqual"> | import("./tokens.lib.js").TokenType<"GreaterThanOrEqual"> | import("./tokens.lib.js").TokenType<"ShiftLeft"> | import("./tokens.lib.js").TokenType<"ShiftRight"> | import("./tokens.lib.js").TokenType<"StructAccessorStart"> | import("./tokens.lib.js").TokenType<"DsMapAccessorStart"> | import("./tokens.lib.js").TokenType<"DsListAccessorStart"> | import("./tokens.lib.js").TokenType<"DsGridAccessorStart"> | import("./tokens.lib.js").TokenType<"ArrayMutateAccessorStart"> | import("./tokens.lib.js").TokenType<"Plus"> | import("./tokens.lib.js").TokenType<"Minus"> | import("./tokens.lib.js").TokenType<"Multiply"> | import("./tokens.lib.js").TokenType<"Divide"> | import("./tokens.lib.js").TokenType<"Assign"> | import("./tokens.lib.js").TokenType<"LessThan"> | import("./tokens.lib.js").TokenType<"GreaterThan"> | import("./tokens.lib.js").TokenType<"BitwiseAnd"> | import("./tokens.lib.js").TokenType<"BitwiseOr"> | import("./tokens.lib.js").TokenType<"BitwiseXor"> | import("./tokens.lib.js").TokenType<"BitwiseNot"> | import("./tokens.lib.js").TokenType<"Comma"> | import("./tokens.lib.js").TokenType<"Semicolon"> | import("./tokens.lib.js").TokenType<"Colon"> | import("./tokens.lib.js").TokenType<"QuestionMark"> | import("./tokens.lib.js").TokenType<"StartParen"> | import("./tokens.lib.js").TokenType<"EndParen"> | import("./tokens.lib.js").TokenType<"StartBracket"> | import("./tokens.lib.js").TokenType<"EndBracket"> | import("./tokens.lib.js").TokenType<"StartBrace"> | import("./tokens.lib.js").TokenType<"EndBrace"> | import("./tokens.lib.js").TokenType<"Escape"> | import("./tokens.lib.js").TokenType<"Dot"> | import("./tokens.lib.js").TokenType<"UnicodeCharacter"> | import("./tokens.lib.js").TokenType<"HexCharacter"> | import("./tokens.lib.js").TokenType<"OctalCharacter"> | import("./tokens.lib.js").TokenType<"EscapedCharacter"> | import("./tokens.lib.js").TokenType<"Character"> | import("./tokens.lib.js").TokenType<"StringEnd"> | import("./tokens.lib.js").TokenType<"MultilineDoubleStringCharacter"> | import("./tokens.lib.js").TokenType<"MultilineDoubleStringEnd"> | import("./tokens.lib.js").TokenType<"MultilineSingleStringCharacter"> | import("./tokens.lib.js").TokenType<"MultilineSingleStringEnd"> | import("./tokens.lib.js").TokenType<"TemplateInterpStart"> | import("./tokens.lib.js").TokenType<"TemplateStringCharacter"> | import("./tokens.lib.js").TokenType<"TemplateStringEnd">)[];
3
+ export declare const t: {
4
+ Identifier: import("./tokens.lib.js").TokenType<"Identifier">;
5
+ WhiteSpace: import("./tokens.lib.js").TokenType<"WhiteSpace">;
6
+ Hex: import("./tokens.lib.js").TokenType<"Hex">;
7
+ Binary: import("./tokens.lib.js").TokenType<"Binary">;
8
+ Real: import("./tokens.lib.js").TokenType<"Real">;
9
+ HexColor: import("./tokens.lib.js").TokenType<"HexColor">;
10
+ JsdocGmlLine: import("./tokens.lib.js").TokenType<"JsdocGmlLine">;
11
+ JsdocJs: import("./tokens.lib.js").TokenType<"JsdocJs">;
12
+ SingleLineComment: import("./tokens.lib.js").TokenType<"SingleLineComment">;
13
+ MultiLineComment: import("./tokens.lib.js").TokenType<"MultiLineComment">;
14
+ MultiLineCommentNotTerminated: import("./tokens.lib.js").TokenType<"MultiLineCommentNotTerminated">;
15
+ StringStart: import("./tokens.lib.js").TokenType<"StringStart">;
16
+ TemplateStart: import("./tokens.lib.js").TokenType<"TemplateStart">;
17
+ MultilineDoubleStringStart: import("./tokens.lib.js").TokenType<"MultilineDoubleStringStart">;
18
+ MultilineSingleStringStart: import("./tokens.lib.js").TokenType<"MultilineSingleStringStart">;
19
+ NullPointer: import("./tokens.lib.js").TokenType<"NullPointer">;
20
+ InvalidPointer: import("./tokens.lib.js").TokenType<"InvalidPointer">;
21
+ Undefined: import("./tokens.lib.js").TokenType<"Undefined">;
22
+ Infinity: import("./tokens.lib.js").TokenType<"Infinity">;
23
+ Pi: import("./tokens.lib.js").TokenType<"Pi">;
24
+ NaN: import("./tokens.lib.js").TokenType<"NaN">;
25
+ True: import("./tokens.lib.js").TokenType<"True">;
26
+ False: import("./tokens.lib.js").TokenType<"False">;
27
+ Begin: import("./tokens.lib.js").TokenType<"Begin">;
28
+ End: import("./tokens.lib.js").TokenType<"End">;
29
+ If: import("./tokens.lib.js").TokenType<"If">;
30
+ Then: import("./tokens.lib.js").TokenType<"Then">;
31
+ Else: import("./tokens.lib.js").TokenType<"Else">;
32
+ While: import("./tokens.lib.js").TokenType<"While">;
33
+ Do: import("./tokens.lib.js").TokenType<"Do">;
34
+ For: import("./tokens.lib.js").TokenType<"For">;
35
+ Break: import("./tokens.lib.js").TokenType<"Break">;
36
+ Continue: import("./tokens.lib.js").TokenType<"Continue">;
37
+ With: import("./tokens.lib.js").TokenType<"With">;
38
+ Until: import("./tokens.lib.js").TokenType<"Until">;
39
+ Repeat: import("./tokens.lib.js").TokenType<"Repeat">;
40
+ Exit: import("./tokens.lib.js").TokenType<"Exit">;
41
+ And: import("./tokens.lib.js").TokenType<"And">;
42
+ Or: import("./tokens.lib.js").TokenType<"Or">;
43
+ Xor: import("./tokens.lib.js").TokenType<"Xor">;
44
+ Not: import("./tokens.lib.js").TokenType<"Not">;
45
+ Return: import("./tokens.lib.js").TokenType<"Return">;
46
+ Modulo: import("./tokens.lib.js").TokenType<"Modulo">;
47
+ Div: import("./tokens.lib.js").TokenType<"Div">;
48
+ Switch: import("./tokens.lib.js").TokenType<"Switch">;
49
+ Case: import("./tokens.lib.js").TokenType<"Case">;
50
+ Default: import("./tokens.lib.js").TokenType<"Default">;
51
+ Var: import("./tokens.lib.js").TokenType<"Var">;
52
+ Global: import("./tokens.lib.js").TokenType<"Global">;
53
+ GlobalVar: import("./tokens.lib.js").TokenType<"GlobalVar">;
54
+ Enum: import("./tokens.lib.js").TokenType<"Enum">;
55
+ Function: import("./tokens.lib.js").TokenType<"Function">;
56
+ Try: import("./tokens.lib.js").TokenType<"Try">;
57
+ Catch: import("./tokens.lib.js").TokenType<"Catch">;
58
+ Finally: import("./tokens.lib.js").TokenType<"Finally">;
59
+ Static: import("./tokens.lib.js").TokenType<"Static">;
60
+ New: import("./tokens.lib.js").TokenType<"New">;
61
+ Delete: import("./tokens.lib.js").TokenType<"Delete">;
62
+ Constructor: import("./tokens.lib.js").TokenType<"Constructor">;
63
+ Macro: import("./tokens.lib.js").TokenType<"Macro">;
64
+ Region: import("./tokens.lib.js").TokenType<"Region">;
65
+ EndRegion: import("./tokens.lib.js").TokenType<"EndRegion">;
66
+ Self: import("./tokens.lib.js").TokenType<"Self">;
67
+ Other: import("./tokens.lib.js").TokenType<"Other">;
68
+ Noone: import("./tokens.lib.js").TokenType<"Noone">;
69
+ All: import("./tokens.lib.js").TokenType<"All">;
70
+ NullishAssign: import("./tokens.lib.js").TokenType<"NullishAssign">;
71
+ PlusAssign: import("./tokens.lib.js").TokenType<"PlusAssign">;
72
+ MinusAssign: import("./tokens.lib.js").TokenType<"MinusAssign">;
73
+ MultiplyAssign: import("./tokens.lib.js").TokenType<"MultiplyAssign">;
74
+ DivideAssign: import("./tokens.lib.js").TokenType<"DivideAssign">;
75
+ ModuloAssign: import("./tokens.lib.js").TokenType<"ModuloAssign">;
76
+ BitwiseAndAssign: import("./tokens.lib.js").TokenType<"BitwiseAndAssign">;
77
+ BitwiseOrAssign: import("./tokens.lib.js").TokenType<"BitwiseOrAssign">;
78
+ BitwiseXorAssign: import("./tokens.lib.js").TokenType<"BitwiseXorAssign">;
79
+ Nullish: import("./tokens.lib.js").TokenType<"Nullish">;
80
+ Equals: import("./tokens.lib.js").TokenType<"Equals">;
81
+ NotEqual: import("./tokens.lib.js").TokenType<"NotEqual">;
82
+ Increment: import("./tokens.lib.js").TokenType<"Increment">;
83
+ Decrement: import("./tokens.lib.js").TokenType<"Decrement">;
84
+ LessThanOrEqual: import("./tokens.lib.js").TokenType<"LessThanOrEqual">;
85
+ GreaterThanOrEqual: import("./tokens.lib.js").TokenType<"GreaterThanOrEqual">;
86
+ ShiftLeft: import("./tokens.lib.js").TokenType<"ShiftLeft">;
87
+ ShiftRight: import("./tokens.lib.js").TokenType<"ShiftRight">;
88
+ StructAccessorStart: import("./tokens.lib.js").TokenType<"StructAccessorStart">;
89
+ DsMapAccessorStart: import("./tokens.lib.js").TokenType<"DsMapAccessorStart">;
90
+ DsListAccessorStart: import("./tokens.lib.js").TokenType<"DsListAccessorStart">;
91
+ DsGridAccessorStart: import("./tokens.lib.js").TokenType<"DsGridAccessorStart">;
92
+ ArrayMutateAccessorStart: import("./tokens.lib.js").TokenType<"ArrayMutateAccessorStart">;
93
+ Plus: import("./tokens.lib.js").TokenType<"Plus">;
94
+ Minus: import("./tokens.lib.js").TokenType<"Minus">;
95
+ Multiply: import("./tokens.lib.js").TokenType<"Multiply">;
96
+ Divide: import("./tokens.lib.js").TokenType<"Divide">;
97
+ Assign: import("./tokens.lib.js").TokenType<"Assign">;
98
+ LessThan: import("./tokens.lib.js").TokenType<"LessThan">;
99
+ GreaterThan: import("./tokens.lib.js").TokenType<"GreaterThan">;
100
+ BitwiseAnd: import("./tokens.lib.js").TokenType<"BitwiseAnd">;
101
+ BitwiseOr: import("./tokens.lib.js").TokenType<"BitwiseOr">;
102
+ BitwiseXor: import("./tokens.lib.js").TokenType<"BitwiseXor">;
103
+ BitwiseNot: import("./tokens.lib.js").TokenType<"BitwiseNot">;
104
+ Comma: import("./tokens.lib.js").TokenType<"Comma">;
105
+ Semicolon: import("./tokens.lib.js").TokenType<"Semicolon">;
106
+ Colon: import("./tokens.lib.js").TokenType<"Colon">;
107
+ QuestionMark: import("./tokens.lib.js").TokenType<"QuestionMark">;
108
+ StartParen: import("./tokens.lib.js").TokenType<"StartParen">;
109
+ EndParen: import("./tokens.lib.js").TokenType<"EndParen">;
110
+ StartBracket: import("./tokens.lib.js").TokenType<"StartBracket">;
111
+ EndBracket: import("./tokens.lib.js").TokenType<"EndBracket">;
112
+ StartBrace: import("./tokens.lib.js").TokenType<"StartBrace">;
113
+ EndBrace: import("./tokens.lib.js").TokenType<"EndBrace">;
114
+ Escape: import("./tokens.lib.js").TokenType<"Escape">;
115
+ Dot: import("./tokens.lib.js").TokenType<"Dot">;
116
+ UnicodeCharacter: import("./tokens.lib.js").TokenType<"UnicodeCharacter">;
117
+ HexCharacter: import("./tokens.lib.js").TokenType<"HexCharacter">;
118
+ OctalCharacter: import("./tokens.lib.js").TokenType<"OctalCharacter">;
119
+ EscapedCharacter: import("./tokens.lib.js").TokenType<"EscapedCharacter">;
120
+ Character: import("./tokens.lib.js").TokenType<"Character">;
121
+ StringEnd: import("./tokens.lib.js").TokenType<"StringEnd">;
122
+ MultilineDoubleStringCharacter: import("./tokens.lib.js").TokenType<"MultilineDoubleStringCharacter">;
123
+ MultilineDoubleStringEnd: import("./tokens.lib.js").TokenType<"MultilineDoubleStringEnd">;
124
+ MultilineSingleStringCharacter: import("./tokens.lib.js").TokenType<"MultilineSingleStringCharacter">;
125
+ MultilineSingleStringEnd: import("./tokens.lib.js").TokenType<"MultilineSingleStringEnd">;
126
+ TemplateInterpStart: import("./tokens.lib.js").TokenType<"TemplateInterpStart">;
127
+ TemplateStringCharacter: import("./tokens.lib.js").TokenType<"TemplateStringCharacter">;
128
+ TemplateStringEnd: import("./tokens.lib.js").TokenType<"TemplateStringEnd">;
129
+ };
130
+ //# sourceMappingURL=tokens.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tokens.d.ts","sourceRoot":"","sources":["../src/tokens.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,CAAC,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEvD,eAAO,MAAM,MAAM,uzMAMlB,CAAC;AAEF,eAAO,MAAM,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAA4B,CAAC"}
package/dist/tokens.js ADDED
@@ -0,0 +1,13 @@
1
+ import { codeTokens } from './tokens.code.js';
2
+ import { tokenListToObject } from './tokens.lib.js';
3
+ import { multilineDoubleStringTokens, multilineSingleStringTokens, stringTokens, templateTokens, } from './tokens.strings.js';
4
+ export { c, categories } from './tokens.categories.js';
5
+ export const tokens = [
6
+ ...codeTokens,
7
+ ...stringTokens,
8
+ ...multilineDoubleStringTokens,
9
+ ...multilineSingleStringTokens,
10
+ ...templateTokens,
11
+ ];
12
+ export const t = tokenListToObject(tokens);
13
+ //# sourceMappingURL=tokens.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tokens.js","sourceRoot":"","sources":["../src/tokens.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EACL,2BAA2B,EAC3B,2BAA2B,EAC3B,YAAY,EACZ,cAAc,GACf,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,CAAC,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEvD,MAAM,CAAC,MAAM,MAAM,GAAG;IACpB,GAAG,UAAU;IACb,GAAG,YAAY;IACf,GAAG,2BAA2B;IAC9B,GAAG,2BAA2B;IAC9B,GAAG,cAAc;CAClB,CAAC;AAEF,MAAM,CAAC,MAAM,CAAC,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC"}
@@ -0,0 +1,15 @@
1
+ import { ITokenConfig as ITokenConfigBase, TokenType as TokenTypeBase } from 'chevrotain';
2
+ export { Lexer } from 'chevrotain';
3
+ export type GmlLexerMode = 'code' | 'string' | 'multilineDoubleString' | 'multilineSingleString' | 'template';
4
+ export interface TokenType<Name extends string = string> extends TokenTypeBase {
5
+ name: Name;
6
+ }
7
+ export interface ITokenConfig<Name extends string = string> extends ITokenConfigBase {
8
+ name: Name;
9
+ push_mode?: GmlLexerMode;
10
+ }
11
+ export declare function createToken<Name extends string = string>(config: ITokenConfig<Name>): TokenType<Name>;
12
+ export declare function tokenListToObject<T extends TokenType[]>(tokens: T): {
13
+ [Name in T[number]['name']]: TokenType<Name>;
14
+ };
15
+ //# sourceMappingURL=tokens.lib.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tokens.lib.d.ts","sourceRoot":"","sources":["../src/tokens.lib.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,YAAY,IAAI,gBAAgB,EAChC,SAAS,IAAI,aAAa,EAC3B,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAEnC,MAAM,MAAM,YAAY,GACpB,MAAM,GACN,QAAQ,GACR,uBAAuB,GACvB,uBAAuB,GACvB,UAAU,CAAC;AAEf,MAAM,WAAW,SAAS,CAAC,IAAI,SAAS,MAAM,GAAG,MAAM,CAAE,SAAQ,aAAa;IAC5E,IAAI,EAAE,IAAI,CAAC;CACZ;AAED,MAAM,WAAW,YAAY,CAAC,IAAI,SAAS,MAAM,GAAG,MAAM,CACxD,SAAQ,gBAAgB;IACxB,IAAI,EAAE,IAAI,CAAC;IACX,SAAS,CAAC,EAAE,YAAY,CAAC;CAC1B;AAED,wBAAgB,WAAW,CAAC,IAAI,SAAS,MAAM,GAAG,MAAM,EACtD,MAAM,EAAE,YAAY,CAAC,IAAI,CAAC,GACzB,SAAS,CAAC,IAAI,CAAC,CAEjB;AAED,wBAAgB,iBAAiB,CAAC,CAAC,SAAS,SAAS,EAAE,EACrD,MAAM,EAAE,CAAC,GACR;KAAG,IAAI,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,GAAG,SAAS,CAAC,IAAI,CAAC;CAAE,CAKlD"}
@@ -0,0 +1,12 @@
1
+ import { createToken as createTokenBase, } from 'chevrotain';
2
+ export { Lexer } from 'chevrotain';
3
+ export function createToken(config) {
4
+ return createTokenBase(config);
5
+ }
6
+ export function tokenListToObject(tokens) {
7
+ return tokens.reduce((acc, token) => {
8
+ acc[token.name] = token;
9
+ return acc;
10
+ }, {});
11
+ }
12
+ //# sourceMappingURL=tokens.lib.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tokens.lib.js","sourceRoot":"","sources":["../src/tokens.lib.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,IAAI,eAAe,GAG/B,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAmBnC,MAAM,UAAU,WAAW,CACzB,MAA0B;IAE1B,OAAO,eAAe,CAAC,MAAM,CAAQ,CAAC;AACxC,CAAC;AAED,MAAM,UAAU,iBAAiB,CAC/B,MAAS;IAET,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;QAClC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;QACxB,OAAO,GAAG,CAAC;IACb,CAAC,EAAE,EAAS,CAAC,CAAC;AAChB,CAAC"}
@@ -0,0 +1,4 @@
1
+ export declare const identifier: import("./tokens.lib.js").TokenType<"Identifier">;
2
+ export declare const horizontalWhitespace: import("./tokens.lib.js").TokenType<"WhiteSpace">;
3
+ export declare const numericLiterals: (import("./tokens.lib.js").TokenType<"Hex"> | import("./tokens.lib.js").TokenType<"Binary"> | import("./tokens.lib.js").TokenType<"Real"> | import("./tokens.lib.js").TokenType<"HexColor">)[];
4
+ //# sourceMappingURL=tokens.shared.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tokens.shared.d.ts","sourceRoot":"","sources":["../src/tokens.shared.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,UAAU,mDAGrB,CAAC;AAEH,eAAO,MAAM,oBAAoB,mDAK/B,CAAC;AAEH,eAAO,MAAM,eAAe,gMAqB3B,CAAC"}
@@ -0,0 +1,35 @@
1
+ import { c } from './tokens.categories.js';
2
+ import { Lexer, createToken } from './tokens.lib.js';
3
+ export const identifier = createToken({
4
+ name: 'Identifier',
5
+ pattern: /\b[a-zA-Z_][a-zA-Z0-9_]*\b/,
6
+ });
7
+ export const horizontalWhitespace = createToken({
8
+ name: 'WhiteSpace',
9
+ pattern: /[ \t]+/,
10
+ line_breaks: true,
11
+ group: Lexer.SKIPPED,
12
+ });
13
+ export const numericLiterals = [
14
+ createToken({
15
+ name: 'Hex',
16
+ pattern: /(0x|\$)[\da-fA-F_]+/,
17
+ categories: [c.NumericLiteral],
18
+ }),
19
+ createToken({
20
+ name: 'Binary',
21
+ pattern: /0b[01_]+/,
22
+ categories: [c.NumericLiteral],
23
+ }),
24
+ createToken({
25
+ name: 'Real',
26
+ pattern: /(\d[\d_]*(\.\d[\d_]*)?)|\.\d[\d_]*/,
27
+ categories: [c.NumericLiteral],
28
+ }),
29
+ createToken({
30
+ name: 'HexColor',
31
+ pattern: /#[\da-fA-F]{6}\b/,
32
+ categories: [c.NumericLiteral],
33
+ }),
34
+ ];
35
+ //# sourceMappingURL=tokens.shared.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tokens.shared.js","sourceRoot":"","sources":["../src/tokens.shared.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,wBAAwB,CAAC;AAC3C,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAErD,MAAM,CAAC,MAAM,UAAU,GAAG,WAAW,CAAC;IACpC,IAAI,EAAE,YAAY;IAClB,OAAO,EAAE,4BAA4B;CACtC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,oBAAoB,GAAG,WAAW,CAAC;IAC9C,IAAI,EAAE,YAAY;IAClB,OAAO,EAAE,QAAQ;IACjB,WAAW,EAAE,IAAI;IACjB,KAAK,EAAE,KAAK,CAAC,OAAO;CACrB,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,WAAW,CAAC;QACV,IAAI,EAAE,KAAK;QACX,OAAO,EAAE,qBAAqB;QAC9B,UAAU,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC;KAC/B,CAAC;IACF,WAAW,CAAC;QACV,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,UAAU;QACnB,UAAU,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC;KAC/B,CAAC;IACF,WAAW,CAAC;QACV,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE,oCAAoC;QAC7C,UAAU,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC;KAC/B,CAAC;IACF,WAAW,CAAC;QACV,IAAI,EAAE,UAAU;QAChB,OAAO,EAAE,kBAAkB;QAC3B,UAAU,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC;KAC/B,CAAC;CACH,CAAC"}
@@ -0,0 +1,5 @@
1
+ export declare const stringTokens: (import("./tokens.lib.js").TokenType<"UnicodeCharacter"> | import("./tokens.lib.js").TokenType<"HexCharacter"> | import("./tokens.lib.js").TokenType<"OctalCharacter"> | import("./tokens.lib.js").TokenType<"EscapedCharacter"> | import("./tokens.lib.js").TokenType<"Character"> | import("./tokens.lib.js").TokenType<"StringEnd">)[];
2
+ export declare const multilineDoubleStringTokens: (import("./tokens.lib.js").TokenType<"MultilineDoubleStringCharacter"> | import("./tokens.lib.js").TokenType<"MultilineDoubleStringEnd">)[];
3
+ export declare const multilineSingleStringTokens: (import("./tokens.lib.js").TokenType<"MultilineSingleStringCharacter"> | import("./tokens.lib.js").TokenType<"MultilineSingleStringEnd">)[];
4
+ export declare const templateTokens: (import("./tokens.lib.js").TokenType<"UnicodeCharacter"> | import("./tokens.lib.js").TokenType<"HexCharacter"> | import("./tokens.lib.js").TokenType<"OctalCharacter"> | import("./tokens.lib.js").TokenType<"EscapedCharacter"> | import("./tokens.lib.js").TokenType<"TemplateInterpStart"> | import("./tokens.lib.js").TokenType<"TemplateStringCharacter"> | import("./tokens.lib.js").TokenType<"TemplateStringEnd">)[];
5
+ //# sourceMappingURL=tokens.strings.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tokens.strings.d.ts","sourceRoot":"","sources":["../src/tokens.strings.ts"],"names":[],"mappings":"AA8BA,eAAO,MAAM,YAAY,2UAaxB,CAAC;AAEF,eAAO,MAAM,2BAA2B,6IAuBvC,CAAC;AAEF,eAAO,MAAM,2BAA2B,6IAuBvC,CAAC;AAEF,eAAO,MAAM,cAAc,8ZAmB1B,CAAC"}
@@ -0,0 +1,111 @@
1
+ import { c } from './tokens.categories.js';
2
+ import { createToken } from './tokens.lib.js';
3
+ const escapedCharacterTokens = [
4
+ createToken({
5
+ name: 'UnicodeCharacter',
6
+ pattern: /\\u[0-9a-fA-F]{2,}/,
7
+ start_chars_hint: ['\\'],
8
+ categories: [c.StringLiteral, c.Substring],
9
+ }),
10
+ createToken({
11
+ name: 'HexCharacter',
12
+ pattern: /\\x[0-9a-fA-F]+/,
13
+ start_chars_hint: ['\\'],
14
+ categories: [c.StringLiteral, c.Substring],
15
+ }),
16
+ createToken({
17
+ name: 'OctalCharacter',
18
+ pattern: /\\[0-7]+/,
19
+ start_chars_hint: ['\\'],
20
+ categories: [c.StringLiteral, c.Substring],
21
+ }),
22
+ createToken({
23
+ name: 'EscapedCharacter',
24
+ pattern: /\\./,
25
+ start_chars_hint: ['\\'],
26
+ categories: [c.StringLiteral, c.Substring],
27
+ }),
28
+ ];
29
+ export const stringTokens = [
30
+ ...escapedCharacterTokens,
31
+ createToken({
32
+ name: 'Character',
33
+ pattern: /[^\n\r"]/,
34
+ categories: [c.StringLiteral, c.Substring],
35
+ }),
36
+ createToken({
37
+ name: 'StringEnd',
38
+ pattern: /"/,
39
+ categories: [c.Separators, c.StringLiteral],
40
+ pop_mode: true,
41
+ }),
42
+ ];
43
+ export const multilineDoubleStringTokens = [
44
+ createToken({
45
+ name: 'MultilineDoubleStringCharacter',
46
+ pattern: /[^"]/,
47
+ line_breaks: true,
48
+ categories: [
49
+ c.StringLiteral,
50
+ c.Substring,
51
+ c.MultilineStringLiteral,
52
+ c.DoubleQuoted,
53
+ ],
54
+ }),
55
+ createToken({
56
+ name: 'MultilineDoubleStringEnd',
57
+ pattern: /"/,
58
+ categories: [
59
+ c.Separators,
60
+ c.StringLiteral,
61
+ c.MultilineStringLiteral,
62
+ c.DoubleQuoted,
63
+ ],
64
+ pop_mode: true,
65
+ }),
66
+ ];
67
+ export const multilineSingleStringTokens = [
68
+ createToken({
69
+ name: 'MultilineSingleStringCharacter',
70
+ pattern: /[^']/,
71
+ line_breaks: true,
72
+ categories: [
73
+ c.StringLiteral,
74
+ c.Substring,
75
+ c.MultilineStringLiteral,
76
+ c.SingleQuoted,
77
+ ],
78
+ }),
79
+ createToken({
80
+ name: 'MultilineSingleStringEnd',
81
+ pattern: /'/,
82
+ categories: [
83
+ c.Separators,
84
+ c.StringLiteral,
85
+ c.MultilineStringLiteral,
86
+ c.SingleQuoted,
87
+ ],
88
+ pop_mode: true,
89
+ }),
90
+ ];
91
+ export const templateTokens = [
92
+ ...escapedCharacterTokens,
93
+ createToken({
94
+ name: 'TemplateInterpStart',
95
+ pattern: /\{/,
96
+ categories: [c.Separators, c.TemplateLiteral],
97
+ push_mode: 'code',
98
+ }),
99
+ createToken({
100
+ name: 'TemplateStringCharacter',
101
+ pattern: /[^"\r\n]/,
102
+ categories: [c.Substring, c.TemplateLiteral],
103
+ }),
104
+ createToken({
105
+ name: 'TemplateStringEnd',
106
+ pattern: /"/,
107
+ categories: [c.Separators, c.TemplateLiteral],
108
+ pop_mode: true,
109
+ }),
110
+ ];
111
+ //# sourceMappingURL=tokens.strings.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tokens.strings.js","sourceRoot":"","sources":["../src/tokens.strings.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,50 @@
1
+ import type { Signifier } from './signifiers.js';
2
+ import { KnownTypesMap } from './types.feather.js';
3
+ import { Type, TypeStore } from './types.js';
4
+ import { PrimitiveName } from './types.primitives.js';
5
+ export declare function isTypeOfKind<T extends PrimitiveName>(item: any, kind: T): item is Type<T>;
6
+ export declare function isTypeStoreOfKind<T extends PrimitiveName>(item: any, kind: T): item is TypeStore<T>;
7
+ export declare function isTypeOrStoreOfKind<T extends PrimitiveName>(item: any, kind: T): item is Type<T> | TypeStore<T>;
8
+ /**
9
+ * Given some kind of type collection, find the first one matching
10
+ * a given kind.
11
+ */
12
+ export declare function getTypeOfKind<T extends PrimitiveName>(from: undefined | Signifier | Type | TypeStore | (Type | TypeStore)[], kind: T | ReadonlyArray<T>): {
13
+ [Kind in T]: Type<Kind>;
14
+ }[T] | undefined;
15
+ export declare function getTypesOfKind<T extends PrimitiveName>(from: undefined | Signifier | Type | TypeStore | (Type | TypeStore)[], kind: T | ReadonlyArray<T>): {
16
+ [Kind in T]: Type<Kind>;
17
+ }[T][];
18
+ /** Get the typestore of item, if present. Else get the type on item. */
19
+ export declare function getTypeStoreOrType(item: Signifier | Type | TypeStore | Type[]): TypeStore | Type[];
20
+ /** Things that can be converted into an array of types */
21
+ export type Typeable = Signifier | Type | TypeStore | (Type | TypeStore)[];
22
+ export declare function getTypes(items: Typeable | undefined): Type[];
23
+ export declare function isTypeInstance(item: any): item is Type;
24
+ export declare function isTypeStore(item: any): item is TypeStore;
25
+ /**
26
+ * Returns `true` if `narrowed` is a subtype of `type`,
27
+ * meaning that it is a subset/narrowed/compatible/same type
28
+ * compared to otherType.
29
+ *
30
+ * Identical types also return `true`.
31
+ */
32
+ export declare function narrows(narrowType: Type | TypeStore | Type[], broadType: Type | TypeStore | Type[]): boolean;
33
+ /**
34
+ * For types inferred from expressions, normalize away utility
35
+ * types like `InstanceType` and `ObjectType`, and perform any
36
+ * other type-normalization tasks. Returns a new TypeStore, so
37
+ * if maintaining reference links is essential this function should
38
+ * not be used.
39
+ */
40
+ export declare function normalizeType(inferred: Typeable, knownTypes: KnownTypesMap): TypeStore;
41
+ /**
42
+ * Given an expected type that might include generics, and an inferred
43
+ * type that should map onto it, update a generics map linking generics
44
+ * to inferred types by name.
45
+ */
46
+ export declare function updateGenericsMap(expected: Typeable, inferred: Typeable, knownTypes: KnownTypesMap,
47
+ /** Map of generics by name to their *inferred type* */
48
+ generics?: Map<string, TypeStore>): Map<string, TypeStore<"Array" | "Bool" | "Enum" | "Function" | "Pointer" | "Real" | "String" | "Struct" | "Undefined" | "ArgumentIdentity" | "Any" | "Asset.GMAnimCurve" | "Asset.GMAudioGroup" | "Asset.GMFont" | "Asset.GMObject" | "Asset.GMParticleSystem" | "Asset.GMPath" | "Asset.GMRoom" | "Asset.GMScript" | "Asset.GMSequence" | "Asset.GMShader" | "Asset.GMSound" | "Asset.GMSprite" | "Asset.GMTileSet" | "Asset.GMTimeline" | "Asset.Script" | "Id.AudioEmitter" | "Id.AudioListener" | "Id.AudioSyncGroup" | "Id.BackgroundElement" | "Id.BinaryFile" | "Id.Buffer" | "Id.Camera" | "Id.DsGrid" | "Id.DsList" | "Id.DsMap" | "Id.DsPriority" | "Id.DsQueue" | "Id.DsStack" | "Id.ExternalCall" | "Id.Gif" | "Id.Instance" | "Id.Layer" | "Id.MpGrid" | "Id.ParticleEmitter" | "Id.ParticleSystem" | "Id.ParticleType" | "Id.PhysicsIndex" | "Id.PhysicsParticleGroup" | "Id.Sampler" | "Id.SequenceElement" | "Id.Socket" | "Id.Sound" | "Id.SpriteElement" | "Id.Surface" | "Id.TextFile" | "Id.Texture" | "Id.TileElementId" | "Id.TileMapElement" | "Id.TimeSource" | "Id.Uniform" | "Id.VertexBuffer" | "Id.VertexFormat" | "Mixed" | "EnumMember" | "Unknown" | "Never" | "InstanceType" | "ObjectType" | "StaticType">>;
49
+ export declare function replaceGenerics(startingType: Typeable, knownTypes: KnownTypesMap, generics: Map<string, TypeStore>): TypeStore;
50
+ //# sourceMappingURL=types.checks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.checks.d.ts","sourceRoot":"","sources":["../src/types.checks.ts"],"names":[],"mappings":"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"}