@aster-cloud/aster-lang-ts 0.0.32 → 0.1.1

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 (262) hide show
  1. package/CHANGELOG.md +46 -0
  2. package/README.md +4 -4
  3. package/dist/peg/headers-parser.js +233 -468
  4. package/dist/scripts/aster.js +5 -5
  5. package/dist/scripts/aster.js.map +1 -1
  6. package/dist/scripts/cleanup-examples.js +1 -1
  7. package/dist/scripts/cleanup-examples.js.map +1 -1
  8. package/dist/scripts/emit-classfiles.js +1 -50
  9. package/dist/scripts/emit-classfiles.js.map +1 -1
  10. package/dist/scripts/emit-core.js +1 -1
  11. package/dist/scripts/emit-core.js.map +1 -1
  12. package/dist/scripts/golden.js +5 -8
  13. package/dist/scripts/golden.js.map +1 -1
  14. package/dist/scripts/lsp-build-index.js +1 -1
  15. package/dist/scripts/lsp-build-index.js.map +1 -1
  16. package/dist/scripts/lsp-capmanifest-codeaction-smoke.js +2 -2
  17. package/dist/scripts/lsp-capmanifest-codeaction-smoke.js.map +1 -1
  18. package/dist/scripts/lsp-codeaction-smoke.js +2 -2
  19. package/dist/scripts/lsp-codeaction-smoke.js.map +1 -1
  20. package/dist/scripts/lsp-health-smoke.js +1 -1
  21. package/dist/scripts/lsp-health-smoke.js.map +1 -1
  22. package/dist/scripts/lsp-missing-header-codeaction-smoke.js +1 -1
  23. package/dist/scripts/lsp-missing-header-codeaction-smoke.js.map +1 -1
  24. package/dist/scripts/lsp-multi-rename.test.js +1 -1
  25. package/dist/scripts/lsp-multi-rename.test.js.map +1 -1
  26. package/dist/scripts/lsp-punct-codeaction-smoke.js +1 -1
  27. package/dist/scripts/lsp-punct-codeaction-smoke.js.map +1 -1
  28. package/dist/scripts/lsp-streaming-progress-smoke.js +2 -2
  29. package/dist/scripts/lsp-streaming-progress-smoke.js.map +1 -1
  30. package/dist/scripts/perf-benchmark.js +1 -1
  31. package/dist/scripts/perf-benchmark.js.map +1 -1
  32. package/dist/scripts/perf-diagnostics.js +1 -1
  33. package/dist/scripts/perf-diagnostics.js.map +1 -1
  34. package/dist/scripts/profile-medium-project.js +1 -1
  35. package/dist/scripts/profile-medium-project.js.map +1 -1
  36. package/dist/scripts/repl.js +1 -1
  37. package/dist/scripts/repl.js.map +1 -1
  38. package/dist/scripts/typecheck-cli.js +1 -1
  39. package/dist/scripts/typecheck-cli.js.map +1 -1
  40. package/dist/scripts/update-eff-violation-expected.js +1 -1
  41. package/dist/scripts/update-eff-violation-expected.js.map +1 -1
  42. package/dist/scripts/verify-capabilities.js +1 -1
  43. package/dist/scripts/verify-capabilities.js.map +1 -1
  44. package/dist/src/ai/validator.d.ts.map +1 -1
  45. package/dist/src/ai/validator.js +13 -1
  46. package/dist/src/ai/validator.js.map +1 -1
  47. package/dist/src/ast/ast.js +1 -1
  48. package/dist/src/ast/ast.js.map +1 -1
  49. package/dist/src/browser.d.ts +10 -18
  50. package/dist/src/browser.d.ts.map +1 -1
  51. package/dist/src/browser.js +36 -33
  52. package/dist/src/browser.js.map +1 -1
  53. package/dist/src/cli/policy-converter.js +1 -1
  54. package/dist/src/cli/policy-converter.js.map +1 -1
  55. package/dist/src/config/lexicons/diagnostic-messages.d.ts +23 -0
  56. package/dist/src/config/lexicons/diagnostic-messages.d.ts.map +1 -0
  57. package/dist/src/config/lexicons/diagnostic-messages.js +130 -0
  58. package/dist/src/config/lexicons/diagnostic-messages.js.map +1 -0
  59. package/dist/src/config/lexicons/input-generation-rules.d.ts +22 -0
  60. package/dist/src/config/lexicons/input-generation-rules.d.ts.map +1 -0
  61. package/dist/src/config/lexicons/input-generation-rules.js +142 -0
  62. package/dist/src/config/lexicons/input-generation-rules.js.map +1 -0
  63. package/dist/src/config/lexicons/lsp-ui-texts.d.ts +42 -0
  64. package/dist/src/config/lexicons/lsp-ui-texts.d.ts.map +1 -0
  65. package/dist/src/config/lexicons/lsp-ui-texts.js +75 -0
  66. package/dist/src/config/lexicons/lsp-ui-texts.js.map +1 -0
  67. package/dist/src/config/lexicons/overlay-loader.d.ts +55 -0
  68. package/dist/src/config/lexicons/overlay-loader.d.ts.map +1 -0
  69. package/dist/src/config/lexicons/overlay-loader.js +30 -0
  70. package/dist/src/config/lexicons/overlay-loader.js.map +1 -0
  71. package/dist/src/config/lexicons/type-inference-rules.d.ts +19 -0
  72. package/dist/src/config/lexicons/type-inference-rules.d.ts.map +1 -0
  73. package/dist/src/config/lexicons/type-inference-rules.js +56 -0
  74. package/dist/src/config/lexicons/type-inference-rules.js.map +1 -0
  75. package/dist/src/config/lexicons/types.d.ts +10 -0
  76. package/dist/src/config/lexicons/types.d.ts.map +1 -1
  77. package/dist/src/config/lexicons/types.js.map +1 -1
  78. package/dist/src/config/semantic.d.ts +0 -8
  79. package/dist/src/config/semantic.d.ts.map +1 -1
  80. package/dist/src/config/semantic.js +0 -16
  81. package/dist/src/config/semantic.js.map +1 -1
  82. package/dist/src/core/index.d.ts +2 -0
  83. package/dist/src/core/index.d.ts.map +1 -1
  84. package/dist/src/core/index.js +1 -0
  85. package/dist/src/core/index.js.map +1 -1
  86. package/dist/src/core/interpreter.d.ts +37 -0
  87. package/dist/src/core/interpreter.d.ts.map +1 -0
  88. package/dist/src/core/interpreter.js +454 -0
  89. package/dist/src/core/interpreter.js.map +1 -0
  90. package/dist/src/diagnostics/diagnostics.d.ts +6 -7
  91. package/dist/src/diagnostics/diagnostics.d.ts.map +1 -1
  92. package/dist/src/diagnostics/diagnostics.js +15 -9
  93. package/dist/src/diagnostics/diagnostics.js.map +1 -1
  94. package/dist/src/diagnostics/error_codes.d.ts +2 -1
  95. package/dist/src/diagnostics/error_codes.d.ts.map +1 -1
  96. package/dist/src/diagnostics/error_codes.js +85 -480
  97. package/dist/src/diagnostics/error_codes.js.map +1 -1
  98. package/dist/src/formatter.js +9 -24
  99. package/dist/src/formatter.js.map +1 -1
  100. package/dist/src/frontend/lexer.d.ts +1 -1
  101. package/dist/src/frontend/lexer.js +1 -1
  102. package/dist/src/index.d.ts +4 -3
  103. package/dist/src/index.d.ts.map +1 -1
  104. package/dist/src/index.js +3 -3
  105. package/dist/src/index.js.map +1 -1
  106. package/dist/src/jvm/emitter.js +3 -3
  107. package/dist/src/jvm/emitter.js.map +1 -1
  108. package/dist/src/lower_to_core.d.ts +3 -3
  109. package/dist/src/lower_to_core.js +3 -3
  110. package/dist/src/lsp/codeaction.d.ts +2 -1
  111. package/dist/src/lsp/codeaction.d.ts.map +1 -1
  112. package/dist/src/lsp/codeaction.js +17 -14
  113. package/dist/src/lsp/codeaction.js.map +1 -1
  114. package/dist/src/lsp/completion.d.ts +4 -51
  115. package/dist/src/lsp/completion.d.ts.map +1 -1
  116. package/dist/src/lsp/completion.js +16 -84
  117. package/dist/src/lsp/completion.js.map +1 -1
  118. package/dist/src/lsp/diagnostics.d.ts +3 -2
  119. package/dist/src/lsp/diagnostics.d.ts.map +1 -1
  120. package/dist/src/lsp/diagnostics.js +14 -7
  121. package/dist/src/lsp/diagnostics.js.map +1 -1
  122. package/dist/src/lsp/navigation/definition.js +1 -1
  123. package/dist/src/lsp/navigation/definition.js.map +1 -1
  124. package/dist/src/lsp/navigation/document-symbol.js +1 -1
  125. package/dist/src/lsp/navigation/document-symbol.js.map +1 -1
  126. package/dist/src/lsp/navigation/hover.d.ts +2 -1
  127. package/dist/src/lsp/navigation/hover.d.ts.map +1 -1
  128. package/dist/src/lsp/navigation/hover.js +23 -36
  129. package/dist/src/lsp/navigation/hover.js.map +1 -1
  130. package/dist/src/lsp/navigation.d.ts +1 -1
  131. package/dist/src/lsp/navigation.d.ts.map +1 -1
  132. package/dist/src/lsp/navigation.js +2 -2
  133. package/dist/src/lsp/navigation.js.map +1 -1
  134. package/dist/src/lsp/pii_diagnostics.js +3 -13
  135. package/dist/src/lsp/pii_diagnostics.js.map +1 -1
  136. package/dist/src/lsp/server.js +35 -8
  137. package/dist/src/lsp/server.js.map +1 -1
  138. package/dist/src/lsp/tokens.js +2 -2
  139. package/dist/src/lsp/tokens.js.map +1 -1
  140. package/dist/src/lsp/workspace/document-indexer.js +2 -2
  141. package/dist/src/lsp/workspace/document-indexer.js.map +1 -1
  142. package/dist/src/package/resolver.js +6 -6
  143. package/dist/src/package/resolver.js.map +1 -1
  144. package/dist/src/parser/constraint-parser.d.ts +1 -10
  145. package/dist/src/parser/constraint-parser.d.ts.map +1 -1
  146. package/dist/src/parser/constraint-parser.js +0 -30
  147. package/dist/src/parser/constraint-parser.js.map +1 -1
  148. package/dist/src/parser/context.d.ts +3 -1
  149. package/dist/src/parser/context.d.ts.map +1 -1
  150. package/dist/src/parser/context.js +2 -1
  151. package/dist/src/parser/context.js.map +1 -1
  152. package/dist/src/parser/decl-parser.d.ts +6 -10
  153. package/dist/src/parser/decl-parser.d.ts.map +1 -1
  154. package/dist/src/parser/decl-parser.js +86 -58
  155. package/dist/src/parser/decl-parser.js.map +1 -1
  156. package/dist/src/parser/expr-stmt-parser.js +3 -3
  157. package/dist/src/parser/expr-stmt-parser.js.map +1 -1
  158. package/dist/src/parser/field-variant-parser.js +1 -1
  159. package/dist/src/parser/field-variant-parser.js.map +1 -1
  160. package/dist/src/parser/import-parser.d.ts +1 -1
  161. package/dist/src/parser/import-parser.js +2 -2
  162. package/dist/src/parser/import-parser.js.map +1 -1
  163. package/dist/src/parser/input-generator.d.ts +20 -6
  164. package/dist/src/parser/input-generator.d.ts.map +1 -1
  165. package/dist/src/parser/input-generator.js +20 -403
  166. package/dist/src/parser/input-generator.js.map +1 -1
  167. package/dist/src/parser/type-inference.d.ts +10 -16
  168. package/dist/src/parser/type-inference.d.ts.map +1 -1
  169. package/dist/src/parser/type-inference.js +36 -127
  170. package/dist/src/parser/type-inference.js.map +1 -1
  171. package/dist/src/parser.d.ts +18 -5
  172. package/dist/src/parser.d.ts.map +1 -1
  173. package/dist/src/parser.js +11 -8
  174. package/dist/src/parser.js.map +1 -1
  175. package/dist/src/typecheck/context.d.ts +2 -0
  176. package/dist/src/typecheck/context.d.ts.map +1 -1
  177. package/dist/src/typecheck/context.js.map +1 -1
  178. package/dist/src/typecheck/diagnostics.d.ts +6 -0
  179. package/dist/src/typecheck/diagnostics.d.ts.map +1 -1
  180. package/dist/src/typecheck/diagnostics.js +11 -3
  181. package/dist/src/typecheck/diagnostics.js.map +1 -1
  182. package/dist/src/typecheck/module.d.ts.map +1 -1
  183. package/dist/src/typecheck/module.js +8 -2
  184. package/dist/src/typecheck/module.js.map +1 -1
  185. package/dist/src/typecheck/workflow.js +10 -10
  186. package/dist/src/typecheck/workflow.js.map +1 -1
  187. package/dist/src/types/type-inference.d.ts +20 -0
  188. package/dist/src/types/type-inference.d.ts.map +1 -0
  189. package/dist/src/types/type-inference.js +8 -0
  190. package/dist/src/types/type-inference.js.map +1 -0
  191. package/dist/src/types.d.ts +0 -21
  192. package/dist/src/types.d.ts.map +1 -1
  193. package/dist/src/types.js.map +1 -1
  194. package/dist/test/benchmark.js +8 -8
  195. package/dist/test/benchmark.js.map +1 -1
  196. package/dist/test/compiler/depends-on.test.js +1 -1
  197. package/dist/test/compiler/depends-on.test.js.map +1 -1
  198. package/dist/test/compiler/workflow-emitter-helpers.js +1 -1
  199. package/dist/test/compiler/workflow-emitter-helpers.js.map +1 -1
  200. package/dist/test/e2e/runner/golden-runner.js +3 -3
  201. package/dist/test/e2e/runner/golden-runner.js.map +1 -1
  202. package/dist/test/fuzz/formatter-fuzz.test.js +5 -1
  203. package/dist/test/fuzz/formatter-fuzz.test.js.map +1 -1
  204. package/dist/test/integration/compliance/compliance-smoke.test.js +4 -1
  205. package/dist/test/integration/compliance/compliance-smoke.test.js.map +1 -1
  206. package/dist/test/integration/lsp/lsp-completion.test.js +1 -1
  207. package/dist/test/integration/lsp/lsp-completion.test.js.map +1 -1
  208. package/dist/test/integration/lsp/lsp-diagnostics.test.js +1 -1
  209. package/dist/test/integration/lsp/lsp-diagnostics.test.js.map +1 -1
  210. package/dist/test/integration/lsp/lsp-modules.test.js +1 -1
  211. package/dist/test/integration/lsp/lsp-modules.test.js.map +1 -1
  212. package/dist/test/integration/lsp/lsp-navigation.test.js +1 -1
  213. package/dist/test/integration/lsp/lsp-navigation.test.js.map +1 -1
  214. package/dist/test/integration/pipeline/pipeline.test.js +4 -4
  215. package/dist/test/integration/pipeline/pipeline.test.js.map +1 -1
  216. package/dist/test/property/lsp-props.test.js +2 -2
  217. package/dist/test/property/lsp-props.test.js.map +1 -1
  218. package/dist/test/property/property.test.js +15 -15
  219. package/dist/test/property/property.test.js.map +1 -1
  220. package/dist/test/regression/type-checker-golden.test.js +1 -1
  221. package/dist/test/regression/type-checker-golden.test.js.map +1 -1
  222. package/dist/test/type-checker/cross-module-packages.test.js +1 -1
  223. package/dist/test/type-checker/cross-module-packages.test.js.map +1 -1
  224. package/dist/test/type-checker/pii-propagation.test.js +1 -2
  225. package/dist/test/type-checker/pii-propagation.test.js.map +1 -1
  226. package/dist/test/unit/async/async-discipline.test.js +1 -1
  227. package/dist/test/unit/async/async-discipline.test.js.map +1 -1
  228. package/dist/test/unit/async/async-schedule.test.js +1 -1
  229. package/dist/test/unit/async/async-schedule.test.js.map +1 -1
  230. package/dist/test/unit/browser/extract-schema.test.d.ts +2 -0
  231. package/dist/test/unit/browser/extract-schema.test.d.ts.map +1 -0
  232. package/dist/test/unit/browser/extract-schema.test.js +117 -0
  233. package/dist/test/unit/browser/extract-schema.test.js.map +1 -0
  234. package/dist/test/unit/emitter/emitter.test.js +30 -35
  235. package/dist/test/unit/emitter/emitter.test.js.map +1 -1
  236. package/dist/test/unit/interpreter/interpreter.test.d.ts +2 -0
  237. package/dist/test/unit/interpreter/interpreter.test.d.ts.map +1 -0
  238. package/dist/test/unit/interpreter/interpreter.test.js +507 -0
  239. package/dist/test/unit/interpreter/interpreter.test.js.map +1 -0
  240. package/dist/test/unit/keyword-translator.test.js +4 -4
  241. package/dist/test/unit/keyword-translator.test.js.map +1 -1
  242. package/dist/test/unit/lowering/lowering.test.js +2 -2
  243. package/dist/test/unit/lowering/lowering.test.js.map +1 -1
  244. package/dist/test/unit/lsp/pii-diagnostics.test.js +5 -5
  245. package/dist/test/unit/lsp/pii-diagnostics.test.js.map +1 -1
  246. package/dist/test/unit/parser/parser.test.js +39 -37
  247. package/dist/test/unit/parser/parser.test.js.map +1 -1
  248. package/dist/test/unit/parser/type-inference.test.js +50 -32
  249. package/dist/test/unit/parser/type-inference.test.js.map +1 -1
  250. package/dist/test/unit/typecheck/async-discipline-extended.test.js +1 -1
  251. package/dist/test/unit/typecheck/async-discipline-extended.test.js.map +1 -1
  252. package/dist/test/unit/typecheck/effects-and-capabilities.test.js +4 -4
  253. package/dist/test/unit/typecheck/effects-and-capabilities.test.js.map +1 -1
  254. package/dist/test/unit/typecheck/regression-fixes.test.js +12 -12
  255. package/dist/test/unit/typecheck/regression-fixes.test.js.map +1 -1
  256. package/dist/test/unit/typecheck/type-inference.test.js +1 -1
  257. package/dist/test/unit/typecheck/type-inference.test.js.map +1 -1
  258. package/dist/test/unit/typecheck/type-system.test.js +2 -2
  259. package/dist/test/unit/typecheck/type-system.test.js.map +1 -1
  260. package/dist/test/unit/typecheck/typecheck-advanced.test.js +3 -3
  261. package/dist/test/unit/typecheck/typecheck-advanced.test.js.map +1 -1
  262. package/package.json +6 -3
@@ -1 +1 @@
1
- {"version":3,"file":"pii-propagation.test.js","sourceRoot":"","sources":["../../../test/type-checker/pii-propagation.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pii-propagation.test.js","sourceRoot":"","sources":["../../../test/type-checker/pii-propagation.test.ts"],"names":[],"mappings":"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"}
@@ -26,7 +26,7 @@ function compileAndGetDiagnostics(source) {
26
26
  try {
27
27
  const canonical = canonicalize(source);
28
28
  const tokens = lex(canonical);
29
- const ast = parse(tokens);
29
+ const ast = parse(tokens).ast;
30
30
  const core = lowerModule(ast);
31
31
  return typecheckModule(core);
32
32
  }
@@ -1 +1 @@
1
- {"version":3,"file":"async-discipline.test.js","sourceRoot":"","sources":["../../../../test/unit/async/async-discipline.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"async-discipline.test.js","sourceRoot":"","sources":["../../../../test/unit/async/async-discipline.test.ts"],"names":[],"mappings":"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"}
@@ -14,7 +14,7 @@ function compileAndGetDiagnostics(source) {
14
14
  try {
15
15
  const canonical = canonicalize(source);
16
16
  const tokens = lex(canonical);
17
- const ast = parse(tokens);
17
+ const ast = parse(tokens).ast;
18
18
  const core = lowerModule(ast);
19
19
  return typecheckModule(core);
20
20
  }
@@ -1 +1 @@
1
- {"version":3,"file":"async-schedule.test.js","sourceRoot":"","sources":["../../../../test/unit/async/async-schedule.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"async-schedule.test.js","sourceRoot":"","sources":["../../../../test/unit/async/async-schedule.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=extract-schema.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extract-schema.test.d.ts","sourceRoot":"","sources":["../../../../test/unit/browser/extract-schema.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,117 @@
1
+ import { describe, it } from 'node:test';
2
+ import assert from 'node:assert/strict';
3
+ import { extractSchema } from '../../../src/browser.js';
4
+ describe('extractSchema', () => {
5
+ it('应提取基本类型参数', () => {
6
+ const source = `
7
+ Module test.schema.basic.
8
+
9
+ Rule greet given name as Text, age as Int, produce Text:
10
+ Return name.
11
+ `;
12
+ const result = extractSchema(source);
13
+ assert.ok(result.success);
14
+ assert.equal(result.parameters.length, 2);
15
+ assert.equal(result.parameters[0].name, 'name');
16
+ assert.equal(result.parameters[0].type, 'Text');
17
+ assert.equal(result.parameters[0].typeKind, 'primitive');
18
+ assert.equal(result.parameters[1].name, 'age');
19
+ assert.equal(result.parameters[1].type, 'Int');
20
+ assert.equal(result.parameters[1].typeKind, 'primitive');
21
+ });
22
+ it('应提取结构体参数及字段', () => {
23
+ const source = `
24
+ Module test.schema.struct.
25
+
26
+ Define User has name as Text, age as Int.
27
+
28
+ Rule process given user as User, produce Text:
29
+ Return user.name.
30
+ `;
31
+ const result = extractSchema(source);
32
+ assert.ok(result.success);
33
+ assert.equal(result.parameters.length, 1);
34
+ const param = result.parameters[0];
35
+ assert.equal(param.name, 'user');
36
+ assert.equal(param.type, 'User');
37
+ assert.equal(param.typeKind, 'struct');
38
+ assert.ok(param.fields);
39
+ assert.equal(param.fields.length, 2);
40
+ assert.equal(param.fields[0].name, 'name');
41
+ assert.equal(param.fields[0].type, 'Text');
42
+ assert.equal(param.fields[1].name, 'age');
43
+ assert.equal(param.fields[1].type, 'Int');
44
+ });
45
+ it('应提取枚举类型信息', () => {
46
+ const source = `
47
+ Module test.schema.enum.
48
+
49
+ Define Status as one of Pending, Approved, Rejected.
50
+
51
+ Rule check given status as Status, produce Bool:
52
+ Return true.
53
+ `;
54
+ const result = extractSchema(source);
55
+ assert.ok(result.success);
56
+ assert.equal(result.parameters.length, 1);
57
+ // 枚举在 extractSchema 中被识别为非基本类型
58
+ const param = result.parameters[0];
59
+ assert.equal(param.name, 'status');
60
+ assert.equal(param.type, 'Status');
61
+ });
62
+ it('应在多函数模块中选取第一个函数', () => {
63
+ const source = `
64
+ Module test.schema.multi.
65
+
66
+ Rule first given a as Int, produce Int:
67
+ Return a.
68
+
69
+ Rule second given b as Text, produce Text:
70
+ Return b.
71
+ `;
72
+ const result = extractSchema(source);
73
+ assert.ok(result.success);
74
+ assert.equal(result.functionName, 'first');
75
+ assert.equal(result.parameters.length, 1);
76
+ assert.equal(result.parameters[0].name, 'a');
77
+ });
78
+ it('应通过 functionName 选项指定目标函数', () => {
79
+ const source = `
80
+ Module test.schema.target.
81
+
82
+ Rule first given a as Int, produce Int:
83
+ Return a.
84
+
85
+ Rule second given b as Text, produce Text:
86
+ Return b.
87
+ `;
88
+ const result = extractSchema(source, { functionName: 'second' });
89
+ assert.ok(result.success);
90
+ assert.equal(result.functionName, 'second');
91
+ assert.equal(result.parameters.length, 1);
92
+ assert.equal(result.parameters[0].name, 'b');
93
+ assert.equal(result.parameters[0].type, 'Text');
94
+ });
95
+ it('应在无函数时返回错误', () => {
96
+ const source = `
97
+ Module test.schema.nofunc.
98
+
99
+ Define User has name as Text.
100
+ `;
101
+ const result = extractSchema(source);
102
+ assert.equal(result.success, false);
103
+ assert.ok(result.error);
104
+ });
105
+ it('应返回模块名', () => {
106
+ const source = `
107
+ Module my.app.
108
+
109
+ Rule main, produce Int:
110
+ Return 42.
111
+ `;
112
+ const result = extractSchema(source);
113
+ assert.ok(result.success);
114
+ assert.equal(result.moduleName, 'my.app');
115
+ });
116
+ });
117
+ //# sourceMappingURL=extract-schema.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extract-schema.test.js","sourceRoot":"","sources":["../../../../test/unit/browser/extract-schema.test.ts"],"names":[],"mappings":"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"}
@@ -40,8 +40,8 @@ describe('JVM 代码生成器', () => {
40
40
  it('应生成数据类型对应的 Java 类', async () => {
41
41
  const module = Core.Module('test.emitter.data', [
42
42
  Core.Data('User', [
43
- { name: 'id', type: Core.TypeName('Text'), annotations: [] },
44
- { name: 'age', type: Core.TypeName('Int'), annotations: [] },
43
+ { name: 'id', type: Core.TypeName('Text') },
44
+ { name: 'age', type: Core.TypeName('Int') },
45
45
  ]),
46
46
  ]);
47
47
  const { outDir, cleanup } = await emitToTemp(module);
@@ -73,7 +73,7 @@ describe('JVM 代码生成器', () => {
73
73
  });
74
74
  it('应生成函数包装类并渲染主体', async () => {
75
75
  const funcBody = Core.Block([Core.Return(Core.String('pong'))]);
76
- const funcDecl = Core.Func('ping', [], [{ name: 'input', type: Core.TypeName('Text'), annotations: [] }], Core.TypeName('Text'), [], funcBody);
76
+ const funcDecl = Core.Func('ping', [], [{ name: 'input', type: Core.TypeName('Text') }], Core.TypeName('Text'), [], funcBody);
77
77
  const module = Core.Module('test.emitter.func', [funcDecl]);
78
78
  const { outDir, cleanup } = await emitToTemp(module);
79
79
  try {
@@ -89,7 +89,7 @@ describe('JVM 代码生成器', () => {
89
89
  });
90
90
  it('应为枚举匹配生成 switch 结构', async () => {
91
91
  const enumDecl = Core.Enum('Status', ['Ok', 'Err']);
92
- const matcher = Core.Func('classify', [], [{ name: 'status', type: Core.TypeName('Status'), annotations: [] }], Core.TypeName('int'), [], Core.Block([
92
+ const matcher = Core.Func('classify', [], [{ name: 'status', type: Core.TypeName('Status') }], Core.TypeName('int'), [], Core.Block([
93
93
  Core.Match(Core.Name('status'), [
94
94
  Core.Case(Core.PatName('Ok'), Core.Return(Core.Int(1))),
95
95
  Core.Case(Core.PatName('Err'), Core.Return(Core.Int(0))),
@@ -111,10 +111,10 @@ describe('JVM 代码生成器', () => {
111
111
  });
112
112
  it('嵌套数据匹配应生成 instanceof 守卫与解构', async () => {
113
113
  const pairData = Core.Data('Pair', [
114
- { name: 'left', type: Core.TypeName('Object'), annotations: [] },
115
- { name: 'right', type: Core.TypeName('Object'), annotations: [] },
114
+ { name: 'left', type: Core.TypeName('Object') },
115
+ { name: 'right', type: Core.TypeName('Object') },
116
116
  ]);
117
- const matcher = Core.Func('unwrap', [], [{ name: 'value', type: Core.TypeName('Pair'), annotations: [] }], Core.TypeName('Object'), [], Core.Block([
117
+ const matcher = Core.Func('unwrap', [], [{ name: 'value', type: Core.TypeName('Pair') }], Core.TypeName('Object'), [], Core.Block([
118
118
  Core.Match(Core.Name('value'), [
119
119
  Core.Case(Core.PatCtor('Pair', [], [
120
120
  Core.PatName('a'),
@@ -139,11 +139,10 @@ describe('JVM 代码生成器', () => {
139
139
  it('数据类应对 List 与 Map 字段生成泛型类型', async () => {
140
140
  const module = Core.Module('test.emitter.collections', [
141
141
  Core.Data('Catalog', [
142
- { name: 'items', type: Core.List(Core.TypeName('Int')), annotations: [] },
142
+ { name: 'items', type: Core.List(Core.TypeName('Int')) },
143
143
  {
144
144
  name: 'metadata',
145
145
  type: Core.Map(Core.TypeName('Text'), Core.TypeName('Text')),
146
- annotations: [],
147
146
  },
148
147
  ]),
149
148
  ]);
@@ -167,7 +166,7 @@ describe('JVM 代码生成器', () => {
167
166
  ]),
168
167
  Core.Return(Core.Name('result')),
169
168
  ]);
170
- const funcDecl = Core.Func('withScope', [], [{ name: 'result', type: Core.TypeName('int'), annotations: [] }], Core.TypeName('int'), [], scopedBody);
169
+ const funcDecl = Core.Func('withScope', [], [{ name: 'result', type: Core.TypeName('int') }], Core.TypeName('int'), [], scopedBody);
171
170
  const module = Core.Module('test.emitter.scope', [funcDecl]);
172
171
  const { outDir, cleanup } = await emitToTemp(module);
173
172
  try {
@@ -215,7 +214,7 @@ describe('JVM 代码生成器', () => {
215
214
  it('javaType 应将 Maybe<Text> 映射为可空字符串', async () => {
216
215
  const module = Core.Module('test.emitter.java_type_maybe_text', [
217
216
  Core.Data('MaybeSample', [
218
- { name: 'value', type: Core.Maybe(Core.TypeName('Text')), annotations: [] },
217
+ { name: 'value', type: Core.Maybe(Core.TypeName('Text')) },
219
218
  ]),
220
219
  ]);
221
220
  const content = await emitJavaClassContent(module, [
@@ -229,10 +228,10 @@ describe('JVM 代码生成器', () => {
229
228
  it('javaType 应将 Maybe 自定义类型保持引用类型', async () => {
230
229
  const module = Core.Module('test.emitter.java_type_maybe_custom', [
231
230
  Core.Data('Profile', [
232
- { name: 'name', type: Core.TypeName('Text'), annotations: [] },
231
+ { name: 'name', type: Core.TypeName('Text') },
233
232
  ]),
234
233
  Core.Data('Wrapper', [
235
- { name: 'payload', type: Core.Maybe(Core.TypeName('Profile')), annotations: [] },
234
+ { name: 'payload', type: Core.Maybe(Core.TypeName('Profile')) },
236
235
  ]),
237
236
  ]);
238
237
  const content = await emitJavaClassContent(module, [
@@ -246,7 +245,7 @@ describe('JVM 代码生成器', () => {
246
245
  it('javaType 应将 Option<Bool> 映射为布尔类型', async () => {
247
246
  const module = Core.Module('test.emitter.java_type_option_bool', [
248
247
  Core.Data('FlagHolder', [
249
- { name: 'active', type: Core.Option(Core.TypeName('Bool')), annotations: [] },
248
+ { name: 'active', type: Core.Option(Core.TypeName('Bool')) },
250
249
  ]),
251
250
  ]);
252
251
  const content = await emitJavaClassContent(module, [
@@ -263,7 +262,6 @@ describe('JVM 代码生成器', () => {
263
262
  {
264
263
  name: 'state',
265
264
  type: Core.Result(Core.TypeName('Text'), Core.TypeName('Int')),
266
- annotations: [],
267
265
  },
268
266
  ]),
269
267
  ]);
@@ -287,7 +285,7 @@ describe('JVM 代码生成器', () => {
287
285
  assert.equal(content.includes('var counter = 0;'), true);
288
286
  });
289
287
  it('Set 语句应输出赋值语句', async () => {
290
- const func = Core.Func('assignValue', [], [{ name: 'value', type: Core.TypeName('int'), annotations: [] }], Core.TypeName('int'), [], Core.Block([Core.Set('value', Core.Int(10)), Core.Return(Core.Name('value'))]));
288
+ const func = Core.Func('assignValue', [], [{ name: 'value', type: Core.TypeName('int') }], Core.TypeName('int'), [], Core.Block([Core.Set('value', Core.Int(10)), Core.Return(Core.Name('value'))]));
291
289
  const module = Core.Module('test.emitter.set_statement', [func]);
292
290
  const content = await emitJavaClassContent(module, [
293
291
  'test',
@@ -313,7 +311,7 @@ describe('JVM 代码生成器', () => {
313
311
  assert.equal(content.includes('value = increment(value);'), true);
314
312
  });
315
313
  it('If 语句应输出 else 分支结构', async () => {
316
- const func = Core.Func('chooseValue', [], [{ name: 'flag', type: Core.TypeName('boolean'), annotations: [] }], Core.TypeName('int'), [], Core.Block([
314
+ const func = Core.Func('chooseValue', [], [{ name: 'flag', type: Core.TypeName('boolean') }], Core.TypeName('int'), [], Core.Block([
317
315
  Core.If(Core.Name('flag'), Core.Block([Core.Return(Core.Int(1))]), Core.Block([Core.Return(Core.Int(0))])),
318
316
  ]));
319
317
  const module = Core.Module('test.emitter.if_else', [func]);
@@ -345,7 +343,7 @@ describe('JVM 代码生成器', () => {
345
343
  });
346
344
  it('枚举匹配无返回体时应生成 break 语句', async () => {
347
345
  const enumDecl = Core.Enum('Status', ['Idle', 'Busy']);
348
- const func = Core.Func('score', [], [{ name: 'status', type: Core.TypeName('Status'), annotations: [] }], Core.TypeName('int'), [], Core.Block([
346
+ const func = Core.Func('score', [], [{ name: 'status', type: Core.TypeName('Status') }], Core.TypeName('int'), [], Core.Block([
349
347
  Core.Let('result', Core.Int(0)),
350
348
  Core.Match(Core.Name('status'), [
351
349
  Core.Case(Core.PatName('Idle'), Core.Block([Core.Set('result', Core.Int(1))])),
@@ -364,7 +362,7 @@ describe('JVM 代码生成器', () => {
364
362
  assert.equal(content.includes('break;'), true);
365
363
  });
366
364
  it('整数模式匹配应转换为 switch 结构', async () => {
367
- const func = Core.Func('mapCode', [], [{ name: 'code', type: Core.TypeName('int'), annotations: [] }], Core.TypeName('int'), [], Core.Block([
365
+ const func = Core.Func('mapCode', [], [{ name: 'code', type: Core.TypeName('int') }], Core.TypeName('int'), [], Core.Block([
368
366
  Core.Let('result', Core.Int(0)),
369
367
  Core.Match(Core.Name('code'), [
370
368
  Core.Case(Core.PatInt(1), Core.Block([Core.Set('result', Core.Int(10))])),
@@ -383,7 +381,7 @@ describe('JVM 代码生成器', () => {
383
381
  assert.equal(content.includes('default: break;'), true);
384
382
  });
385
383
  it('PatNull 与 PatName fallback 应添加空检查', async () => {
386
- const func = Core.Func('describe', [], [{ name: 'input', type: Core.TypeName('Object'), annotations: [] }], Core.TypeName('String'), [], Core.Block([
384
+ const func = Core.Func('describe', [], [{ name: 'input', type: Core.TypeName('Object') }], Core.TypeName('String'), [], Core.Block([
387
385
  Core.Match(Core.Name('input'), [
388
386
  Core.Case(Core.PatNull(), Core.Return(Core.String('missing'))),
389
387
  Core.Case(Core.PatName('value'), Core.Return(Core.String('present'))),
@@ -515,7 +513,7 @@ describe('JVM 代码生成器', () => {
515
513
  assert.equal(content.includes('return Text.trim(" value ");'), true);
516
514
  });
517
515
  it('javaType 应将 TypeVar 映射为 Object', async () => {
518
- const func = Core.Func('identity', ['T'], [{ name: 'value', type: Core.TypeVar('T'), annotations: [] }], Core.TypeVar('T'), [], Core.Block([Core.Return(Core.Name('value'))]));
516
+ const func = Core.Func('identity', ['T'], [{ name: 'value', type: Core.TypeVar('T') }], Core.TypeVar('T'), [], Core.Block([Core.Return(Core.Name('value'))]));
519
517
  const module = Core.Module('test.emitter.java_type_var', [func]);
520
518
  const content = await emitJavaClassContent(module, [
521
519
  'test',
@@ -530,7 +528,6 @@ describe('JVM 代码生成器', () => {
530
528
  {
531
529
  name: 'future',
532
530
  type: Core.TypeApp('Future', [Core.TypeName('Text')]),
533
- annotations: [],
534
531
  },
535
532
  ], Core.TypeName('void'), [], Core.Block([Core.Return(Core.Null())]));
536
533
  const module = Core.Module('test.emitter.java_type_app', [func]);
@@ -548,7 +545,7 @@ describe('JVM 代码生成器', () => {
548
545
  params: [Core.TypeName('Text'), Core.TypeName('Int')],
549
546
  ret: Core.TypeName('Bool'),
550
547
  };
551
- const func = Core.Func('apply', [], [{ name: 'fn', type: fnType, annotations: [] }], Core.TypeName('boolean'), [], Core.Block([Core.Return(Core.Bool(true))]));
548
+ const func = Core.Func('apply', [], [{ name: 'fn', type: fnType }], Core.TypeName('boolean'), [], Core.Block([Core.Return(Core.Bool(true))]));
552
549
  const module = Core.Module('test.emitter.java_type_func', [func]);
553
550
  const content = await emitJavaClassContent(module, [
554
551
  'test',
@@ -559,7 +556,7 @@ describe('JVM 代码生成器', () => {
559
556
  assert.equal(content.includes('aster.runtime.Fn2 fn'), true);
560
557
  });
561
558
  it('List.length 应映射为 size 调用', async () => {
562
- const func = Core.Func('size', [], [{ name: 'items', type: Core.List(Core.TypeName('Object')), annotations: [] }], Core.TypeName('int'), [], Core.Block([
559
+ const func = Core.Func('size', [], [{ name: 'items', type: Core.List(Core.TypeName('Object')) }], Core.TypeName('int'), [], Core.Block([
563
560
  Core.Return(Core.Call(Core.Name('List.length'), [Core.Name('items')])),
564
561
  ]));
565
562
  const module = Core.Module('test.emitter.list_length', [func]);
@@ -572,7 +569,7 @@ describe('JVM 代码生成器', () => {
572
569
  assert.equal(content.includes('return items.size();'), true);
573
570
  });
574
571
  it('List.get 应映射为 get 调用', async () => {
575
- const func = Core.Func('getItem', [], [{ name: 'items', type: Core.List(Core.TypeName('Object')), annotations: [] }], Core.TypeName('Object'), [], Core.Block([
572
+ const func = Core.Func('getItem', [], [{ name: 'items', type: Core.List(Core.TypeName('Object')) }], Core.TypeName('Object'), [], Core.Block([
576
573
  Core.Return(Core.Call(Core.Name('List.get'), [Core.Name('items'), Core.Int(1)])),
577
574
  ]));
578
575
  const module = Core.Module('test.emitter.list_get', [func]);
@@ -585,7 +582,7 @@ describe('JVM 代码生成器', () => {
585
582
  assert.equal(content.includes('return items.get(1);'), true);
586
583
  });
587
584
  it('List.head 应生成空检查逻辑', async () => {
588
- const func = Core.Func('head', [], [{ name: 'items', type: Core.List(Core.TypeName('Object')), annotations: [] }], Core.TypeName('Object'), [], Core.Block([
585
+ const func = Core.Func('head', [], [{ name: 'items', type: Core.List(Core.TypeName('Object')) }], Core.TypeName('Object'), [], Core.Block([
589
586
  Core.Return(Core.Call(Core.Name('List.head'), [Core.Name('items')])),
590
587
  ]));
591
588
  const module = Core.Module('test.emitter.list_head', [func]);
@@ -602,7 +599,6 @@ describe('JVM 代码生成器', () => {
602
599
  {
603
600
  name: 'mapping',
604
601
  type: Core.Map(Core.TypeName('String'), Core.TypeName('String')),
605
- annotations: [],
606
602
  },
607
603
  ], Core.TypeName('String'), [], Core.Block([
608
604
  Core.Return(Core.Call(Core.Name('Map.get'), [Core.Name('mapping'), Core.String('key')])),
@@ -652,8 +648,8 @@ describe('JVM 代码生成器', () => {
652
648
  it('Construct 表达式应生成类型实例化', async () => {
653
649
  const module = Core.Module('test.emitter.construct', [
654
650
  Core.Data('User', [
655
- { name: 'name', type: Core.TypeName('String'), annotations: [] },
656
- { name: 'age', type: Core.TypeName('int'), annotations: [] },
651
+ { name: 'name', type: Core.TypeName('String') },
652
+ { name: 'age', type: Core.TypeName('int') },
657
653
  ]),
658
654
  Core.Func('build', [], [], Core.TypeName('User'), [], Core.Block([
659
655
  Core.Return(Core.Construct('User', [
@@ -672,10 +668,10 @@ describe('JVM 代码生成器', () => {
672
668
  });
673
669
  it('Match 多分支应解构数据字段', async () => {
674
670
  const pair = Core.Data('Pair', [
675
- { name: 'left', type: Core.TypeName('Object'), annotations: [] },
676
- { name: 'right', type: Core.TypeName('Object'), annotations: [] },
671
+ { name: 'left', type: Core.TypeName('Object') },
672
+ { name: 'right', type: Core.TypeName('Object') },
677
673
  ]);
678
- const func = Core.Func('describePair', [], [{ name: 'value', type: Core.TypeName('Pair'), annotations: [] }], Core.TypeName('Object'), [], Core.Block([
674
+ const func = Core.Func('describePair', [], [{ name: 'value', type: Core.TypeName('Pair') }], Core.TypeName('Object'), [], Core.Block([
679
675
  Core.Match(Core.Name('value'), [
680
676
  Core.Case(Core.PatCtor('Pair', [], [Core.PatName('left'), Core.PatName('right')]), Core.Return(Core.Name('left'))),
681
677
  Core.Case(Core.PatName('other'), Core.Return(Core.Name('other'))),
@@ -695,9 +691,9 @@ describe('JVM 代码生成器', () => {
695
691
  });
696
692
  it('Match 混合 Null 与构造体应按序生成守卫', async () => {
697
693
  const wrapper = Core.Data('Wrapper', [
698
- { name: 'payload', type: Core.TypeName('Object'), annotations: [] },
694
+ { name: 'payload', type: Core.TypeName('Object') },
699
695
  ]);
700
- const func = Core.Func('analyze', [], [{ name: 'input', type: Core.TypeName('Wrapper'), annotations: [] }], Core.TypeName('String'), [], Core.Block([
696
+ const func = Core.Func('analyze', [], [{ name: 'input', type: Core.TypeName('Wrapper') }], Core.TypeName('String'), [], Core.Block([
701
697
  Core.Match(Core.Name('input'), [
702
698
  Core.Case(Core.PatNull(), Core.Return(Core.String('null'))),
703
699
  Core.Case(Core.PatCtor('Wrapper', [], [Core.PatName('payload')]), Core.Return(Core.String('payload'))),
@@ -797,7 +793,6 @@ describe('JVM 代码生成器', () => {
797
793
  {
798
794
  name: 'items',
799
795
  type: Core.List(Core.TypeName('String')),
800
- annotations: [],
801
796
  },
802
797
  ], Core.Map(Core.TypeName('String'), Core.TypeName('String')), [], Core.Block([Core.Return(Core.Null())]));
803
798
  const module = Core.Module('test.emitter.type_annotations', [func]);