@irrelon/battlescript 3.1.7 → 3.2.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 (182) hide show
  1. package/bin/functionality.ts +15 -27
  2. package/bin/index.js +5538 -5256
  3. package/bin/index.js.map +1 -1
  4. package/bin/index.ts +16 -28
  5. package/dist/bin/functionality.d.ts +1 -1
  6. package/dist/bin/functionality.d.ts.map +1 -1
  7. package/dist/exports/typescript/enums/EnumNodeKind.d.ts +7 -1
  8. package/dist/exports/typescript/enums/EnumNodeKind.d.ts.map +1 -1
  9. package/dist/exports/typescript/enums/EnumNodeProp.d.ts +3 -1
  10. package/dist/exports/typescript/enums/EnumNodeProp.d.ts.map +1 -1
  11. package/dist/exports/typescript/helpers/miniAstLayout.d.ts +4 -0
  12. package/dist/exports/typescript/helpers/miniAstLayout.d.ts.map +1 -0
  13. package/dist/index.cjs +39982 -0
  14. package/dist/index.cjs.map +1 -0
  15. package/dist/{index.js → index.mjs} +5677 -5499
  16. package/dist/index.mjs.map +1 -0
  17. package/dist/scripts/createAstNode.d.ts +2 -0
  18. package/dist/scripts/createAstNode.d.ts.map +1 -0
  19. package/dist/scripts/exportGen/helpers/generateHelpers.d.ts.map +1 -1
  20. package/dist/services/fullAst/BattleScriptFromAST.d.ts +9 -2
  21. package/dist/services/fullAst/BattleScriptFromAST.d.ts.map +1 -1
  22. package/dist/services/fullAst/BattleScriptToAST.d.ts +10 -2
  23. package/dist/services/fullAst/BattleScriptToAST.d.ts.map +1 -1
  24. package/dist/services/grammar/ts/language/BattleScriptLexer.d.ts +88 -78
  25. package/dist/services/grammar/ts/language/BattleScriptLexer.d.ts.map +1 -1
  26. package/dist/services/grammar/ts/language/BattleScriptListener.d.ts +121 -0
  27. package/dist/services/grammar/ts/language/BattleScriptListener.d.ts.map +1 -1
  28. package/dist/services/grammar/ts/language/BattleScriptParser.d.ts +258 -95
  29. package/dist/services/grammar/ts/language/BattleScriptParser.d.ts.map +1 -1
  30. package/dist/services/grammar/ts/language/BattleScriptVisitor.d.ts +77 -0
  31. package/dist/services/grammar/ts/language/BattleScriptVisitor.d.ts.map +1 -1
  32. package/dist/services/index.d.ts +0 -1
  33. package/dist/services/index.d.ts.map +1 -1
  34. package/dist/services/miniAst/BattleScriptToMiniAST.d.ts.map +1 -1
  35. package/dist/services/miniAst/MiniAstToFullAst.d.ts +28 -0
  36. package/dist/services/miniAst/MiniAstToFullAst.d.ts.map +1 -0
  37. package/dist/services/miniAst/index.d.ts +1 -0
  38. package/dist/services/miniAst/index.d.ts.map +1 -1
  39. package/dist/services/miniAst/miniAstLayout.d.ts.map +1 -1
  40. package/dist/services/parser.d.ts +1 -3
  41. package/dist/services/parser.d.ts.map +1 -1
  42. package/dist/types/ast/nodes/AfterDeclarationNode.d.ts +3 -0
  43. package/dist/types/ast/nodes/AfterDeclarationNode.d.ts.map +1 -1
  44. package/dist/types/ast/nodes/AfterExpressionNode.d.ts +3 -0
  45. package/dist/types/ast/nodes/AfterExpressionNode.d.ts.map +1 -1
  46. package/dist/types/ast/nodes/ArrayExpressionNode.d.ts +3 -0
  47. package/dist/types/ast/nodes/ArrayExpressionNode.d.ts.map +1 -1
  48. package/dist/types/ast/nodes/AssignmentExpressionNode.d.ts +3 -0
  49. package/dist/types/ast/nodes/AssignmentExpressionNode.d.ts.map +1 -1
  50. package/dist/types/ast/nodes/AssignmentPatternNode.d.ts +3 -0
  51. package/dist/types/ast/nodes/AssignmentPatternNode.d.ts.map +1 -1
  52. package/dist/types/ast/nodes/AstNode.d.ts +2 -2
  53. package/dist/types/ast/nodes/AstNode.d.ts.map +1 -1
  54. package/dist/types/ast/nodes/BinaryExpressionNode.d.ts +3 -0
  55. package/dist/types/ast/nodes/BinaryExpressionNode.d.ts.map +1 -1
  56. package/dist/types/ast/nodes/BlockStatementNode.d.ts +3 -0
  57. package/dist/types/ast/nodes/BlockStatementNode.d.ts.map +1 -1
  58. package/dist/types/ast/nodes/BreakStatementNode.d.ts +3 -0
  59. package/dist/types/ast/nodes/BreakStatementNode.d.ts.map +1 -1
  60. package/dist/types/ast/nodes/CallExpressionNode.d.ts +3 -0
  61. package/dist/types/ast/nodes/CallExpressionNode.d.ts.map +1 -1
  62. package/dist/types/ast/nodes/CancelStatementNode.d.ts +3 -0
  63. package/dist/types/ast/nodes/CancelStatementNode.d.ts.map +1 -1
  64. package/dist/types/ast/nodes/CatchStatementNode.d.ts +3 -0
  65. package/dist/types/ast/nodes/CatchStatementNode.d.ts.map +1 -1
  66. package/dist/types/ast/nodes/CommentNode.d.ts +3 -0
  67. package/dist/types/ast/nodes/CommentNode.d.ts.map +1 -1
  68. package/dist/types/ast/nodes/ConstantDeclarationNode.d.ts +3 -0
  69. package/dist/types/ast/nodes/ConstantDeclarationNode.d.ts.map +1 -1
  70. package/dist/types/ast/nodes/ConstantDeclaratorNode.d.ts +3 -0
  71. package/dist/types/ast/nodes/ConstantDeclaratorNode.d.ts.map +1 -1
  72. package/dist/types/ast/nodes/ContinueStatementNode.d.ts +3 -0
  73. package/dist/types/ast/nodes/ContinueStatementNode.d.ts.map +1 -1
  74. package/dist/types/ast/nodes/CustomTypeNode.d.ts +3 -0
  75. package/dist/types/ast/nodes/CustomTypeNode.d.ts.map +1 -1
  76. package/dist/types/ast/nodes/DataTypeNode.d.ts +3 -0
  77. package/dist/types/ast/nodes/DataTypeNode.d.ts.map +1 -1
  78. package/dist/types/ast/nodes/DefineStatementNode.d.ts +14 -0
  79. package/dist/types/ast/nodes/DefineStatementNode.d.ts.map +1 -0
  80. package/dist/types/ast/nodes/EnumDeclarationNode.d.ts +14 -0
  81. package/dist/types/ast/nodes/EnumDeclarationNode.d.ts.map +1 -0
  82. package/dist/types/ast/nodes/EvaluateCaseNode.d.ts +3 -0
  83. package/dist/types/ast/nodes/EvaluateCaseNode.d.ts.map +1 -1
  84. package/dist/types/ast/nodes/EvaluateFallbackNode.d.ts +3 -0
  85. package/dist/types/ast/nodes/EvaluateFallbackNode.d.ts.map +1 -1
  86. package/dist/types/ast/nodes/EvaluateStatementNode.d.ts +3 -0
  87. package/dist/types/ast/nodes/EvaluateStatementNode.d.ts.map +1 -1
  88. package/dist/types/ast/nodes/EventDeclarationNode.d.ts +3 -0
  89. package/dist/types/ast/nodes/EventDeclarationNode.d.ts.map +1 -1
  90. package/dist/types/ast/nodes/EveryDeclarationNode.d.ts +3 -0
  91. package/dist/types/ast/nodes/EveryDeclarationNode.d.ts.map +1 -1
  92. package/dist/types/ast/nodes/EveryExpressionNode.d.ts +3 -0
  93. package/dist/types/ast/nodes/EveryExpressionNode.d.ts.map +1 -1
  94. package/dist/types/ast/nodes/ExpressionStatementNode.d.ts +3 -0
  95. package/dist/types/ast/nodes/ExpressionStatementNode.d.ts.map +1 -1
  96. package/dist/types/ast/nodes/ForStatementNode.d.ts +3 -0
  97. package/dist/types/ast/nodes/ForStatementNode.d.ts.map +1 -1
  98. package/dist/types/ast/nodes/FunctionDeclarationNode.d.ts +3 -0
  99. package/dist/types/ast/nodes/FunctionDeclarationNode.d.ts.map +1 -1
  100. package/dist/types/ast/nodes/FunctionDefinitionNode.d.ts +3 -0
  101. package/dist/types/ast/nodes/FunctionDefinitionNode.d.ts.map +1 -1
  102. package/dist/types/ast/nodes/IdentifierNode.d.ts +3 -0
  103. package/dist/types/ast/nodes/IdentifierNode.d.ts.map +1 -1
  104. package/dist/types/ast/nodes/IfStatementNode.d.ts +3 -0
  105. package/dist/types/ast/nodes/IfStatementNode.d.ts.map +1 -1
  106. package/dist/types/ast/nodes/ImportDeclarationNode.d.ts +3 -0
  107. package/dist/types/ast/nodes/ImportDeclarationNode.d.ts.map +1 -1
  108. package/dist/types/ast/nodes/InterfaceNode.d.ts +3 -0
  109. package/dist/types/ast/nodes/InterfaceNode.d.ts.map +1 -1
  110. package/dist/types/ast/nodes/InterfacePropertyDeclarationNode.d.ts +3 -0
  111. package/dist/types/ast/nodes/InterfacePropertyDeclarationNode.d.ts.map +1 -1
  112. package/dist/types/ast/nodes/LiteralBooleanNode.d.ts +2 -1
  113. package/dist/types/ast/nodes/LiteralBooleanNode.d.ts.map +1 -1
  114. package/dist/types/ast/nodes/LiteralDoubleNode.d.ts +2 -0
  115. package/dist/types/ast/nodes/LiteralDoubleNode.d.ts.map +1 -1
  116. package/dist/types/ast/nodes/LiteralFloatNode.d.ts +2 -0
  117. package/dist/types/ast/nodes/LiteralFloatNode.d.ts.map +1 -1
  118. package/dist/types/ast/nodes/LiteralIntNode.d.ts +2 -1
  119. package/dist/types/ast/nodes/LiteralIntNode.d.ts.map +1 -1
  120. package/dist/types/ast/nodes/LiteralNullNode.d.ts +2 -1
  121. package/dist/types/ast/nodes/LiteralNullNode.d.ts.map +1 -1
  122. package/dist/types/ast/nodes/LiteralStringNode.d.ts +2 -1
  123. package/dist/types/ast/nodes/LiteralStringNode.d.ts.map +1 -1
  124. package/dist/types/ast/nodes/LiteralUndefinedNode.d.ts +2 -1
  125. package/dist/types/ast/nodes/LiteralUndefinedNode.d.ts.map +1 -1
  126. package/dist/types/ast/nodes/MemberExpressionNode.d.ts +3 -0
  127. package/dist/types/ast/nodes/MemberExpressionNode.d.ts.map +1 -1
  128. package/dist/types/ast/nodes/ObjectExpressionNode.d.ts +3 -0
  129. package/dist/types/ast/nodes/ObjectExpressionNode.d.ts.map +1 -1
  130. package/dist/types/ast/nodes/ObjectPropertyNode.d.ts +3 -0
  131. package/dist/types/ast/nodes/ObjectPropertyNode.d.ts.map +1 -1
  132. package/dist/types/ast/nodes/OptimisedAssignmentExpressionNode.d.ts +3 -0
  133. package/dist/types/ast/nodes/OptimisedAssignmentExpressionNode.d.ts.map +1 -1
  134. package/dist/types/ast/nodes/OptimisedBinaryExpressionNode.d.ts +3 -0
  135. package/dist/types/ast/nodes/OptimisedBinaryExpressionNode.d.ts.map +1 -1
  136. package/dist/types/ast/nodes/OptimisedMemberExpressionNode.d.ts +3 -0
  137. package/dist/types/ast/nodes/OptimisedMemberExpressionNode.d.ts.map +1 -1
  138. package/dist/types/ast/nodes/OptimisedUpdateExpressionNode.d.ts +3 -0
  139. package/dist/types/ast/nodes/OptimisedUpdateExpressionNode.d.ts.map +1 -1
  140. package/dist/types/ast/nodes/ProgramDeclarationNode.d.ts +3 -0
  141. package/dist/types/ast/nodes/ProgramDeclarationNode.d.ts.map +1 -1
  142. package/dist/types/ast/nodes/ProgramPropertyDeclarationNode.d.ts +3 -0
  143. package/dist/types/ast/nodes/ProgramPropertyDeclarationNode.d.ts.map +1 -1
  144. package/dist/types/ast/nodes/ProtocolDeclarationNode.d.ts +16 -0
  145. package/dist/types/ast/nodes/ProtocolDeclarationNode.d.ts.map +1 -0
  146. package/dist/types/ast/nodes/ProtocolTypeNode.d.ts +13 -0
  147. package/dist/types/ast/nodes/ProtocolTypeNode.d.ts.map +1 -0
  148. package/dist/types/ast/nodes/RequireStatementNode.d.ts +15 -0
  149. package/dist/types/ast/nodes/RequireStatementNode.d.ts.map +1 -0
  150. package/dist/types/ast/nodes/RestElementNode.d.ts +3 -0
  151. package/dist/types/ast/nodes/RestElementNode.d.ts.map +1 -1
  152. package/dist/types/ast/nodes/ReturnStatementNode.d.ts +3 -0
  153. package/dist/types/ast/nodes/ReturnStatementNode.d.ts.map +1 -1
  154. package/dist/types/ast/nodes/RootNode.d.ts +3 -0
  155. package/dist/types/ast/nodes/RootNode.d.ts.map +1 -1
  156. package/dist/types/ast/nodes/StateDeclarationNode.d.ts +3 -0
  157. package/dist/types/ast/nodes/StateDeclarationNode.d.ts.map +1 -1
  158. package/dist/types/ast/nodes/StepDeclarationNode.d.ts +14 -0
  159. package/dist/types/ast/nodes/StepDeclarationNode.d.ts.map +1 -0
  160. package/dist/types/ast/nodes/TransportStatementNode.d.ts +13 -0
  161. package/dist/types/ast/nodes/TransportStatementNode.d.ts.map +1 -0
  162. package/dist/types/ast/nodes/UnaryExpressionNode.d.ts +3 -0
  163. package/dist/types/ast/nodes/UnaryExpressionNode.d.ts.map +1 -1
  164. package/dist/types/ast/nodes/UpdateExpressionNode.d.ts +3 -0
  165. package/dist/types/ast/nodes/UpdateExpressionNode.d.ts.map +1 -1
  166. package/dist/types/ast/nodes/VariableDeclarationNode.d.ts +3 -0
  167. package/dist/types/ast/nodes/VariableDeclarationNode.d.ts.map +1 -1
  168. package/dist/types/ast/nodes/VariableDeclaratorNode.d.ts +3 -0
  169. package/dist/types/ast/nodes/VariableDeclaratorNode.d.ts.map +1 -1
  170. package/dist/types/ast/nodes/WildcardNode.d.ts +3 -0
  171. package/dist/types/ast/nodes/WildcardNode.d.ts.map +1 -1
  172. package/dist/types/ast/nodes/index.d.ts +6 -0
  173. package/dist/types/ast/nodes/index.d.ts.map +1 -1
  174. package/dist/types/ast/unions/ProtocolBodyUnion.d.ts +3 -0
  175. package/dist/types/ast/unions/ProtocolBodyUnion.d.ts.map +1 -0
  176. package/dist/types/ast/unions/StepBodyUnion.d.ts +3 -0
  177. package/dist/types/ast/unions/StepBodyUnion.d.ts.map +1 -0
  178. package/dist/types/ast/unions/TypeUnion.d.ts +2 -2
  179. package/dist/types/ast/unions/TypeUnion.d.ts.map +1 -1
  180. package/package.json +21 -14
  181. package/dist/index.js.map +0 -1
  182. package/dist/tsconfig.types.tsbuildinfo +0 -1
@@ -1,16 +1,15 @@
1
1
  import {readFile, writeFile} from "fs/promises";
2
2
  import {basename, dirname, extname, join} from "path";
3
3
  import {
4
- disassembleBytecode,
5
4
  fromFullAstToSourceCode,
6
5
  fromMiniAstToBinary,
6
+ fromMiniAstToSourceCode,
7
7
  fromSourceCodeToBinary,
8
8
  fromSourceCodeToFullAst,
9
9
  fromSourceCodeToMiniAst,
10
10
  miniAstFromBinaryBuffer
11
11
  } from "@/services";
12
12
  import type {SourceResolverAsync, SourceResolverSync} from "@/types";
13
- import type {ByteCodeJson} from "@/types/byteCode/ByteCodeJson";
14
13
  import {version} from "../package.json";
15
14
  import {readFileSync} from "fs";
16
15
  import {writeFileSync} from "node:fs";
@@ -99,6 +98,20 @@ export async function toMiniAst(inputPath: string, outputPath: string) {
99
98
  }
100
99
  }
101
100
 
101
+ export async function fromMiniAst(inputPath: string, outputPath: string) {
102
+ console.log(`[BattleScript ${version}] fromMiniAst: ${inputPath}`);
103
+ try {
104
+ const miniAstString = await sourceResolverAsync(inputPath);
105
+ const miniAst = JSON.parse(miniAstString);
106
+ const sourceCode = fromMiniAstToSourceCode(miniAst);
107
+ await writeFile(outputPath, sourceCode);
108
+ console.log(`[BattleScript ${version}] Decompiled to ${outputPath}`);
109
+ } catch (error) {
110
+ console.error(`[BattleScript ${version}] Error:`, (error as Error).stack);
111
+ process.exit(1);
112
+ }
113
+ }
114
+
102
115
  export async function toBinary(inputPath: string, outputPath: string) {
103
116
  console.log(`[BattleScript ${version}] toBinary: ${inputPath}`);
104
117
  try {
@@ -153,31 +166,6 @@ export async function fromBinary(inputPath: string, outputPath: string) {
153
166
  }
154
167
  }
155
168
 
156
- // async function toByteCode(inputPath: string, outputPath: string) {
157
- // try {
158
- // const sourceCode = await sourceResolverAsync(inputPath);
159
- // const bcodeJson = fromSourceCodeToByteCode(sourceCode, {includeMetaData: true, flatten: true});
160
- // await writeFile(outputPath, JSON.stringify(bcodeJson).replace(/\[\[/g, "[\n[").replace(/]]/g, "]\n]").replace(/],/g, "],\n"));
161
- // console.log(`Compiled to ${outputPath}`);
162
- // } catch (error) {
163
- // console.error("Error:", (error as Error).stack);
164
- // process.exit(1);
165
- // }
166
- // }
167
-
168
- export async function fromByteCode(inputPath: string, outputPath: string) {
169
- try {
170
- const byteCodeJsonString = await sourceResolverAsync(inputPath);
171
- const byteCodeJson: ByteCodeJson = JSON.parse(byteCodeJsonString);
172
- const code = disassembleBytecode(byteCodeJson);
173
- await writeFile(outputPath, code.join("\n"));
174
- console.log(`[BattleScript ${version}] Disassembled to ${outputPath}`);
175
- } catch (error) {
176
- console.error(`[BattleScript ${version}] Error:`, (error as Error).stack);
177
- process.exit(1);
178
- }
179
- }
180
-
181
169
  export function changeExtension(filePath: string, newExt: string): string {
182
170
  const dir = dirname(filePath);
183
171
  const base = basename(filePath, extname(filePath));