@mojir/lits 2.0.14 → 2.0.16

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 (112) hide show
  1. package/dist/cli/cli.js +1131 -1858
  2. package/dist/cli/reference/api.d.ts +8 -8
  3. package/dist/cli/src/analyze/index.d.ts +0 -2
  4. package/dist/cli/src/builtin/index.d.ts +6 -11
  5. package/dist/cli/src/builtin/specialExpressions/and.d.ts +1 -1
  6. package/dist/cli/src/builtin/specialExpressions/declared.d.ts +1 -1
  7. package/dist/cli/src/builtin/specialExpressions/or.d.ts +1 -1
  8. package/dist/cli/src/builtin/specialExpressions/{when.d.ts → switch.d.ts} +2 -2
  9. package/dist/cli/src/builtin/specialExpressions/try.d.ts +1 -1
  10. package/dist/cli/src/builtin/specialExpressions/{if-not.d.ts → unless.d.ts} +2 -2
  11. package/dist/cli/src/evaluator/ContextStack.d.ts +2 -0
  12. package/dist/cli/src/identifier.d.ts +2 -2
  13. package/dist/cli/src/parser/AlgebraicParser.d.ts +12 -2
  14. package/dist/cli/src/tokenizer/algebraic/algebraicReservedNames.d.ts +94 -7
  15. package/dist/cli/src/tokenizer/algebraic/algebraicTokenizers.d.ts +1 -1
  16. package/dist/cli/src/tokenizer/algebraic/algebraicTokens.d.ts +8 -7
  17. package/dist/cli/src/tokenizer/polish/polishTokenizers.d.ts +1 -1
  18. package/dist/cli/src/tokenizer/polish/polishTokens.d.ts +1 -1
  19. package/dist/cli/src/tokenizer/utils.d.ts +1 -1
  20. package/dist/cli/src/typeGuards/index.d.ts +1 -0
  21. package/dist/index.esm.js +1132 -1861
  22. package/dist/index.esm.js.map +1 -1
  23. package/dist/index.js +1132 -1861
  24. package/dist/index.js.map +1 -1
  25. package/dist/lits.iife.js +1132 -1861
  26. package/dist/lits.iife.js.map +1 -1
  27. package/dist/reference/api.d.ts +8 -8
  28. package/dist/src/analyze/index.d.ts +0 -2
  29. package/dist/src/builtin/index.d.ts +6 -11
  30. package/dist/src/builtin/specialExpressions/and.d.ts +1 -1
  31. package/dist/src/builtin/specialExpressions/declared.d.ts +1 -1
  32. package/dist/src/builtin/specialExpressions/or.d.ts +1 -1
  33. package/dist/{cli/src/builtin/specialExpressions/time.d.ts → src/builtin/specialExpressions/switch.d.ts} +2 -2
  34. package/dist/src/builtin/specialExpressions/try.d.ts +1 -1
  35. package/dist/src/builtin/specialExpressions/{if-not.d.ts → unless.d.ts} +2 -2
  36. package/dist/src/evaluator/ContextStack.d.ts +2 -0
  37. package/dist/src/identifier.d.ts +2 -2
  38. package/dist/src/parser/AlgebraicParser.d.ts +12 -2
  39. package/dist/src/tokenizer/algebraic/algebraicReservedNames.d.ts +94 -7
  40. package/dist/src/tokenizer/algebraic/algebraicTokenizers.d.ts +1 -1
  41. package/dist/src/tokenizer/algebraic/algebraicTokens.d.ts +8 -7
  42. package/dist/src/tokenizer/polish/polishTokenizers.d.ts +1 -1
  43. package/dist/src/tokenizer/polish/polishTokens.d.ts +1 -1
  44. package/dist/src/tokenizer/utils.d.ts +1 -1
  45. package/dist/src/typeGuards/index.d.ts +1 -0
  46. package/dist/testFramework.esm.js +772 -1325
  47. package/dist/testFramework.esm.js.map +1 -1
  48. package/dist/testFramework.js +772 -1325
  49. package/dist/testFramework.js.map +1 -1
  50. package/package.json +1 -1
  51. package/dist/cli/src/analyze/calculateOutcomes/calculateAndOutcomes.d.ts +0 -3
  52. package/dist/cli/src/analyze/calculateOutcomes/calculateCommentOutcomes.d.ts +0 -3
  53. package/dist/cli/src/analyze/calculateOutcomes/calculateCondOutcomes.d.ts +0 -3
  54. package/dist/cli/src/analyze/calculateOutcomes/calculateDeclaredOutcomes.d.ts +0 -3
  55. package/dist/cli/src/analyze/calculateOutcomes/calculateDefOutcomes.d.ts +0 -3
  56. package/dist/cli/src/analyze/calculateOutcomes/calculateDefsOutcomes.d.ts +0 -3
  57. package/dist/cli/src/analyze/calculateOutcomes/calculateDoOutcomes.d.ts +0 -3
  58. package/dist/cli/src/analyze/calculateOutcomes/calculateFunctionOutcomes.d.ts +0 -5
  59. package/dist/cli/src/analyze/calculateOutcomes/calculateIfLetOutcomes.d.ts +0 -3
  60. package/dist/cli/src/analyze/calculateOutcomes/calculateIfNotOutcomes.d.ts +0 -3
  61. package/dist/cli/src/analyze/calculateOutcomes/calculateIfOutcomes.d.ts +0 -3
  62. package/dist/cli/src/analyze/calculateOutcomes/calculateLetOutcomes.d.ts +0 -3
  63. package/dist/cli/src/analyze/calculateOutcomes/calculateLoopOutcomes.d.ts +0 -3
  64. package/dist/cli/src/analyze/calculateOutcomes/calculateLoopsOutcomes.d.ts +0 -4
  65. package/dist/cli/src/analyze/calculateOutcomes/calculateOrOutcomes.d.ts +0 -3
  66. package/dist/cli/src/analyze/calculateOutcomes/calculateQqOutcomes.d.ts +0 -3
  67. package/dist/cli/src/analyze/calculateOutcomes/calculateRecurOutcomes.d.ts +0 -3
  68. package/dist/cli/src/analyze/calculateOutcomes/calculateThrowOutcomes.d.ts +0 -3
  69. package/dist/cli/src/analyze/calculateOutcomes/calculateTimeOutcomes.d.ts +0 -3
  70. package/dist/cli/src/analyze/calculateOutcomes/calculateTryOutcomes.d.ts +0 -3
  71. package/dist/cli/src/analyze/calculateOutcomes/calculateWhenFirstOutcomes.d.ts +0 -3
  72. package/dist/cli/src/analyze/calculateOutcomes/calculateWhenLetOutcomes.d.ts +0 -3
  73. package/dist/cli/src/analyze/calculateOutcomes/calculateWhenNotOutcomes.d.ts +0 -3
  74. package/dist/cli/src/analyze/calculateOutcomes/calculateWhenOutcomes.d.ts +0 -3
  75. package/dist/cli/src/analyze/calculateOutcomes/index.d.ts +0 -18
  76. package/dist/cli/src/analyze/calculateOutcomes/specialExpressionCalculators.d.ts +0 -55
  77. package/dist/cli/src/builtin/specialExpressions/if-let.d.ts +0 -7
  78. package/dist/cli/src/builtin/specialExpressions/when-first.d.ts +0 -7
  79. package/dist/cli/src/builtin/specialExpressions/when-let.d.ts +0 -7
  80. package/dist/cli/src/builtin/specialExpressions/when-not.d.ts +0 -6
  81. package/dist/src/analyze/calculateOutcomes/calculateAndOutcomes.d.ts +0 -3
  82. package/dist/src/analyze/calculateOutcomes/calculateCommentOutcomes.d.ts +0 -3
  83. package/dist/src/analyze/calculateOutcomes/calculateCondOutcomes.d.ts +0 -3
  84. package/dist/src/analyze/calculateOutcomes/calculateDeclaredOutcomes.d.ts +0 -3
  85. package/dist/src/analyze/calculateOutcomes/calculateDefOutcomes.d.ts +0 -3
  86. package/dist/src/analyze/calculateOutcomes/calculateDefsOutcomes.d.ts +0 -3
  87. package/dist/src/analyze/calculateOutcomes/calculateDoOutcomes.d.ts +0 -3
  88. package/dist/src/analyze/calculateOutcomes/calculateFunctionOutcomes.d.ts +0 -5
  89. package/dist/src/analyze/calculateOutcomes/calculateIfLetOutcomes.d.ts +0 -3
  90. package/dist/src/analyze/calculateOutcomes/calculateIfNotOutcomes.d.ts +0 -3
  91. package/dist/src/analyze/calculateOutcomes/calculateIfOutcomes.d.ts +0 -3
  92. package/dist/src/analyze/calculateOutcomes/calculateLetOutcomes.d.ts +0 -3
  93. package/dist/src/analyze/calculateOutcomes/calculateLoopOutcomes.d.ts +0 -3
  94. package/dist/src/analyze/calculateOutcomes/calculateLoopsOutcomes.d.ts +0 -4
  95. package/dist/src/analyze/calculateOutcomes/calculateOrOutcomes.d.ts +0 -3
  96. package/dist/src/analyze/calculateOutcomes/calculateQqOutcomes.d.ts +0 -3
  97. package/dist/src/analyze/calculateOutcomes/calculateRecurOutcomes.d.ts +0 -3
  98. package/dist/src/analyze/calculateOutcomes/calculateThrowOutcomes.d.ts +0 -3
  99. package/dist/src/analyze/calculateOutcomes/calculateTimeOutcomes.d.ts +0 -3
  100. package/dist/src/analyze/calculateOutcomes/calculateTryOutcomes.d.ts +0 -3
  101. package/dist/src/analyze/calculateOutcomes/calculateWhenFirstOutcomes.d.ts +0 -3
  102. package/dist/src/analyze/calculateOutcomes/calculateWhenLetOutcomes.d.ts +0 -3
  103. package/dist/src/analyze/calculateOutcomes/calculateWhenNotOutcomes.d.ts +0 -3
  104. package/dist/src/analyze/calculateOutcomes/calculateWhenOutcomes.d.ts +0 -3
  105. package/dist/src/analyze/calculateOutcomes/index.d.ts +0 -18
  106. package/dist/src/analyze/calculateOutcomes/specialExpressionCalculators.d.ts +0 -55
  107. package/dist/src/builtin/specialExpressions/if-let.d.ts +0 -7
  108. package/dist/src/builtin/specialExpressions/time.d.ts +0 -6
  109. package/dist/src/builtin/specialExpressions/when-first.d.ts +0 -7
  110. package/dist/src/builtin/specialExpressions/when-let.d.ts +0 -7
  111. package/dist/src/builtin/specialExpressions/when-not.d.ts +0 -6
  112. package/dist/src/builtin/specialExpressions/when.d.ts +0 -6
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mojir/lits",
3
- "version": "2.0.14",
3
+ "version": "2.0.16",
4
4
  "description": "Lits is a Lisp dialect implemented in TypeScript",
5
5
  "author": "Albert Mojir",
6
6
  "license": "MIT",
@@ -1,3 +0,0 @@
1
- import type { AndNode } from '../../builtin/specialExpressions/and';
2
- import type { CalculatePossibleAstNodesHelper } from '.';
3
- export declare const calculateAndOutcomes: CalculatePossibleAstNodesHelper<AndNode>;
@@ -1,3 +0,0 @@
1
- import type { CommentExpressionNode } from '../../builtin/specialExpressions/comment';
2
- import type { CalculatePossibleAstNodesHelper } from '.';
3
- export declare const calculateCommentOutcomes: CalculatePossibleAstNodesHelper<CommentExpressionNode>;
@@ -1,3 +0,0 @@
1
- import type { CondNode } from '../../builtin/specialExpressions/cond';
2
- import type { CalculatePossibleAstNodesHelper } from '.';
3
- export declare const calculateCondOutcomes: CalculatePossibleAstNodesHelper<CondNode>;
@@ -1,3 +0,0 @@
1
- import type { DeclaredNode } from '../../builtin/specialExpressions/declared';
2
- import type { CalculatePossibleAstNodesHelper } from '.';
3
- export declare const calculateDeclaredOutcomes: CalculatePossibleAstNodesHelper<DeclaredNode>;
@@ -1,3 +0,0 @@
1
- import type { DefNode } from '../../builtin/specialExpressions/def';
2
- import type { CalculatePossibleAstNodesHelper } from '.';
3
- export declare const calculateDefOutcomes: CalculatePossibleAstNodesHelper<DefNode>;
@@ -1,3 +0,0 @@
1
- import type { DefsNode } from '../../builtin/specialExpressions/defs';
2
- import type { CalculatePossibleAstNodesHelper } from '.';
3
- export declare const calculateDefsOutcomes: CalculatePossibleAstNodesHelper<DefsNode>;
@@ -1,3 +0,0 @@
1
- import type { DoNode } from '../../builtin/specialExpressions/do';
2
- import type { CalculatePossibleAstNodesHelper } from '.';
3
- export declare const calculateDoOutcomes: CalculatePossibleAstNodesHelper<DoNode>;
@@ -1,5 +0,0 @@
1
- import type { DefnNode, DefnsNode, FnNode } from '../../builtin/specialExpressions/functions';
2
- import type { CalculatePossibleAstNodesHelper } from '.';
3
- export declare const calculateDefnOutcomes: CalculatePossibleAstNodesHelper<DefnNode>;
4
- export declare const calculateDefnsOutcomes: CalculatePossibleAstNodesHelper<DefnsNode>;
5
- export declare const calculateFnOutcomes: CalculatePossibleAstNodesHelper<FnNode>;
@@ -1,3 +0,0 @@
1
- import type { IfLetNode } from '../../builtin/specialExpressions/if-let';
2
- import type { CalculatePossibleAstNodesHelper } from '.';
3
- export declare const calculateIfLetOutcomes: CalculatePossibleAstNodesHelper<IfLetNode>;
@@ -1,3 +0,0 @@
1
- import type { IfNotNode } from '../../builtin/specialExpressions/if-not';
2
- import type { CalculatePossibleAstNodesHelper } from '.';
3
- export declare const calculateIfNotOutcomes: CalculatePossibleAstNodesHelper<IfNotNode>;
@@ -1,3 +0,0 @@
1
- import type { IfNode } from '../../builtin/specialExpressions/if';
2
- import type { CalculatePossibleAstNodesHelper } from '.';
3
- export declare const calculateIfOutcomes: CalculatePossibleAstNodesHelper<IfNode>;
@@ -1,3 +0,0 @@
1
- import type { LetNode } from '../../builtin/specialExpressions/let';
2
- import type { CalculatePossibleAstNodesHelper } from '.';
3
- export declare const calculateLetOutcomes: CalculatePossibleAstNodesHelper<LetNode>;
@@ -1,3 +0,0 @@
1
- import type { LoopNode } from '../../builtin/specialExpressions/loop';
2
- import type { CalculatePossibleAstNodesHelper } from '.';
3
- export declare const calculateLoopOutcomes: CalculatePossibleAstNodesHelper<LoopNode>;
@@ -1,4 +0,0 @@
1
- import type { DoSeqNode, ForNode } from '../../builtin/specialExpressions/loops';
2
- import type { CalculatePossibleAstNodesHelper } from '.';
3
- export declare const calculateForOutcomes: CalculatePossibleAstNodesHelper<ForNode>;
4
- export declare const calculateDoSeqOutcomes: CalculatePossibleAstNodesHelper<DoSeqNode>;
@@ -1,3 +0,0 @@
1
- import type { OrNode } from '../../builtin/specialExpressions/or';
2
- import type { CalculatePossibleAstNodesHelper } from '.';
3
- export declare const calculateOrOutcomes: CalculatePossibleAstNodesHelper<OrNode>;
@@ -1,3 +0,0 @@
1
- import type { QqNode } from '../../builtin/specialExpressions/qq';
2
- import type { CalculatePossibleAstNodesHelper } from '.';
3
- export declare const calculateQqOutcomes: CalculatePossibleAstNodesHelper<QqNode>;
@@ -1,3 +0,0 @@
1
- import type { RecurNode } from '../../builtin/specialExpressions/recur';
2
- import type { CalculatePossibleAstNodesHelper } from '.';
3
- export declare const calculateRecurOutcomes: CalculatePossibleAstNodesHelper<RecurNode>;
@@ -1,3 +0,0 @@
1
- import type { ThrowNode } from '../../builtin/specialExpressions/throw';
2
- import type { CalculatePossibleAstNodesHelper } from '.';
3
- export declare const calculateThrowOutcomes: CalculatePossibleAstNodesHelper<ThrowNode>;
@@ -1,3 +0,0 @@
1
- import type { TimeNode } from '../../builtin/specialExpressions/time';
2
- import type { CalculatePossibleAstNodesHelper } from '.';
3
- export declare const calculateTimeOutcomes: CalculatePossibleAstNodesHelper<TimeNode>;
@@ -1,3 +0,0 @@
1
- import type { TryNode } from '../../builtin/specialExpressions/try';
2
- import type { CalculatePossibleAstNodesHelper } from '.';
3
- export declare const calculateTryOutcomes: CalculatePossibleAstNodesHelper<TryNode>;
@@ -1,3 +0,0 @@
1
- import type { WhenFirstNode } from '../../builtin/specialExpressions/when-first';
2
- import type { CalculatePossibleAstNodesHelper } from '.';
3
- export declare const calculateWhenFirstOutcomes: CalculatePossibleAstNodesHelper<WhenFirstNode>;
@@ -1,3 +0,0 @@
1
- import type { WhenLetNode } from '../../builtin/specialExpressions/when-let';
2
- import type { CalculatePossibleAstNodesHelper } from '.';
3
- export declare const calculateWhenLetOutcomes: CalculatePossibleAstNodesHelper<WhenLetNode>;
@@ -1,3 +0,0 @@
1
- import type { WhenNotNode } from '../../builtin/specialExpressions/when-not';
2
- import type { CalculatePossibleAstNodesHelper } from '.';
3
- export declare const calculateWhenNotOutcomes: CalculatePossibleAstNodesHelper<WhenNotNode>;
@@ -1,3 +0,0 @@
1
- import type { WhenNode } from '../../builtin/specialExpressions/when';
2
- import type { CalculatePossibleAstNodesHelper } from '.';
3
- export declare const calculateWhenOutcomes: CalculatePossibleAstNodesHelper<WhenNode>;
@@ -1,18 +0,0 @@
1
- import type { Outcomes } from '..';
2
- import type { ContextStack } from '../../evaluator/ContextStack';
3
- import type { AstNode } from '../../parser/interface';
4
- export type CalculatePossibleAstNodes = (astNode: AstNode, indentifiers?: string[]) => AstNode[];
5
- export type CombinateAstNodes = (astNodes: AstNode[], indentifiers?: string[]) => AstNode[][];
6
- export type IsAstComputable = (node: AstNode | AstNode[] | AstNode[][]) => boolean;
7
- export type AddGlobaleIdentifier = (name: string) => void;
8
- export interface CalculatePossibleAstNodesHelperOptions<T extends AstNode> {
9
- astNode: T;
10
- nilNode: AstNode;
11
- calculatePossibleAstNodes: CalculatePossibleAstNodes;
12
- combinateAstNodes: CombinateAstNodes;
13
- isAstComputable: IsAstComputable;
14
- addGlobalIdentifier: AddGlobaleIdentifier;
15
- }
16
- export type CalculatePossibleAstNodesHelper<T extends AstNode> = (options: CalculatePossibleAstNodesHelperOptions<T>) => AstNode[];
17
- export declare function calculateOutcomes(contextStack: ContextStack, astNodes: AstNode[]): Outcomes | null;
18
- export declare function calculateOutcomesInner(contextStack: ContextStack, astNodes: AstNode[]): Outcomes | null;
@@ -1,55 +0,0 @@
1
- import type { AndNode } from '../../builtin/specialExpressions/and';
2
- import type { CommentExpressionNode } from '../../builtin/specialExpressions/comment';
3
- import type { CondNode } from '../../builtin/specialExpressions/cond';
4
- import type { DeclaredNode } from '../../builtin/specialExpressions/declared';
5
- import type { DefNode } from '../../builtin/specialExpressions/def';
6
- import type { DefsNode } from '../../builtin/specialExpressions/defs';
7
- import type { DoNode } from '../../builtin/specialExpressions/do';
8
- import type { DefnNode, DefnsNode, FnNode } from '../../builtin/specialExpressions/functions';
9
- import type { IfNode } from '../../builtin/specialExpressions/if';
10
- import type { IfLetNode } from '../../builtin/specialExpressions/if-let';
11
- import type { IfNotNode } from '../../builtin/specialExpressions/if-not';
12
- import type { LetNode } from '../../builtin/specialExpressions/let';
13
- import type { LoopNode } from '../../builtin/specialExpressions/loop';
14
- import type { DoSeqNode, ForNode } from '../../builtin/specialExpressions/loops';
15
- import type { OrNode } from '../../builtin/specialExpressions/or';
16
- import type { QqNode } from '../../builtin/specialExpressions/qq';
17
- import type { RecurNode } from '../../builtin/specialExpressions/recur';
18
- import type { ThrowNode } from '../../builtin/specialExpressions/throw';
19
- import type { TimeNode } from '../../builtin/specialExpressions/time';
20
- import type { TryNode } from '../../builtin/specialExpressions/try';
21
- import type { WhenNode } from '../../builtin/specialExpressions/when';
22
- import type { WhenFirstNode } from '../../builtin/specialExpressions/when-first';
23
- import type { WhenLetNode } from '../../builtin/specialExpressions/when-let';
24
- import type { WhenNotNode } from '../../builtin/specialExpressions/when-not';
25
- import type { AstNode } from '../../parser/interface';
26
- import type { CalculatePossibleAstNodesHelperOptions } from '.';
27
- export declare const specialExpressionCalculator: {
28
- and: (astNode: AndNode, helperOptions: Omit<CalculatePossibleAstNodesHelperOptions<AstNode>, "astNode">) => AstNode[];
29
- comment: (astNode: CommentExpressionNode, helperOptions: Omit<CalculatePossibleAstNodesHelperOptions<AstNode>, "astNode">) => AstNode[];
30
- cond: (astNode: CondNode, helperOptions: Omit<CalculatePossibleAstNodesHelperOptions<AstNode>, "astNode">) => AstNode[];
31
- 'declared?': (astNode: DeclaredNode, helperOptions: Omit<CalculatePossibleAstNodesHelperOptions<AstNode>, "astNode">) => AstNode[];
32
- defn: (astNode: DefnNode, helperOptions: Omit<CalculatePossibleAstNodesHelperOptions<AstNode>, "astNode">) => AstNode[];
33
- def: (astNode: DefNode, helperOptions: Omit<CalculatePossibleAstNodesHelperOptions<AstNode>, "astNode">) => AstNode[];
34
- defns: (astNode: DefnsNode, helperOptions: Omit<CalculatePossibleAstNodesHelperOptions<AstNode>, "astNode">) => AstNode[];
35
- defs: (astNode: DefsNode, helperOptions: Omit<CalculatePossibleAstNodesHelperOptions<AstNode>, "astNode">) => AstNode[];
36
- do: (astNode: DoNode, helperOptions: Omit<CalculatePossibleAstNodesHelperOptions<AstNode>, "astNode">) => AstNode[];
37
- doseq: (astNode: DoSeqNode, helperOptions: Omit<CalculatePossibleAstNodesHelperOptions<AstNode>, "astNode">) => AstNode[];
38
- fn: (astNode: FnNode, helperOptions: Omit<CalculatePossibleAstNodesHelperOptions<AstNode>, "astNode">) => AstNode[];
39
- for: (astNode: ForNode, helperOptions: Omit<CalculatePossibleAstNodesHelperOptions<AstNode>, "astNode">) => AstNode[];
40
- 'if-let': (astNode: IfLetNode, helperOptions: Omit<CalculatePossibleAstNodesHelperOptions<AstNode>, "astNode">) => AstNode[];
41
- if: (astNode: IfNode, helperOptions: Omit<CalculatePossibleAstNodesHelperOptions<AstNode>, "astNode">) => AstNode[];
42
- 'if-not': (astNode: IfNotNode, helperOptions: Omit<CalculatePossibleAstNodesHelperOptions<AstNode>, "astNode">) => AstNode[];
43
- let: (astNode: LetNode, helperOptions: Omit<CalculatePossibleAstNodesHelperOptions<AstNode>, "astNode">) => AstNode[];
44
- loop: (astNode: LoopNode, helperOptions: Omit<CalculatePossibleAstNodesHelperOptions<AstNode>, "astNode">) => AstNode[];
45
- or: (astNode: OrNode, helperOptions: Omit<CalculatePossibleAstNodesHelperOptions<AstNode>, "astNode">) => AstNode[];
46
- '??': (astNode: QqNode, helperOptions: Omit<CalculatePossibleAstNodesHelperOptions<AstNode>, "astNode">) => AstNode[];
47
- recur: (astNode: RecurNode, helperOptions: Omit<CalculatePossibleAstNodesHelperOptions<AstNode>, "astNode">) => AstNode[];
48
- 'time!': (astNode: TimeNode, helperOptions: Omit<CalculatePossibleAstNodesHelperOptions<AstNode>, "astNode">) => AstNode[];
49
- throw: (astNode: ThrowNode, helperOptions: Omit<CalculatePossibleAstNodesHelperOptions<AstNode>, "astNode">) => AstNode[];
50
- try: (astNode: TryNode, helperOptions: Omit<CalculatePossibleAstNodesHelperOptions<AstNode>, "astNode">) => AstNode[];
51
- 'when-first': (astNode: WhenFirstNode, helperOptions: Omit<CalculatePossibleAstNodesHelperOptions<AstNode>, "astNode">) => AstNode[];
52
- 'when-let': (astNode: WhenLetNode, helperOptions: Omit<CalculatePossibleAstNodesHelperOptions<AstNode>, "astNode">) => AstNode[];
53
- when: (astNode: WhenNode, helperOptions: Omit<CalculatePossibleAstNodesHelperOptions<AstNode>, "astNode">) => AstNode[];
54
- 'when-not': (astNode: WhenNotNode, helperOptions: Omit<CalculatePossibleAstNodesHelperOptions<AstNode>, "astNode">) => AstNode[];
55
- };
@@ -1,7 +0,0 @@
1
- import type { Any } from '../../interface';
2
- import type { BindingNode, CommonSpecialExpressionNode } from '../../parser/interface';
3
- import type { BuiltinSpecialExpression } from '../interface';
4
- export interface IfLetNode extends CommonSpecialExpressionNode<'if-let'> {
5
- b: BindingNode;
6
- }
7
- export declare const ifLetSpecialExpression: BuiltinSpecialExpression<Any, IfLetNode>;
@@ -1,7 +0,0 @@
1
- import type { Any } from '../../interface';
2
- import type { BindingNode, CommonSpecialExpressionNode } from '../../parser/interface';
3
- import type { BuiltinSpecialExpression } from '../interface';
4
- export interface WhenFirstNode extends CommonSpecialExpressionNode<'when-first'> {
5
- b: BindingNode;
6
- }
7
- export declare const whenFirstSpecialExpression: BuiltinSpecialExpression<Any, WhenFirstNode>;
@@ -1,7 +0,0 @@
1
- import type { Any } from '../../interface';
2
- import type { BindingNode, CommonSpecialExpressionNode } from '../../parser/interface';
3
- import type { BuiltinSpecialExpression } from '../interface';
4
- export interface WhenLetNode extends CommonSpecialExpressionNode<'when-let'> {
5
- b: BindingNode;
6
- }
7
- export declare const whenLetSpecialExpression: BuiltinSpecialExpression<Any, WhenLetNode>;
@@ -1,6 +0,0 @@
1
- import type { Any } from '../../interface';
2
- import type { CommonSpecialExpressionNode } from '../../parser/interface';
3
- import type { BuiltinSpecialExpression } from '../interface';
4
- export interface WhenNotNode extends CommonSpecialExpressionNode<'when-not'> {
5
- }
6
- export declare const whenNotSpecialExpression: BuiltinSpecialExpression<Any, WhenNotNode>;
@@ -1,3 +0,0 @@
1
- import type { AndNode } from '../../builtin/specialExpressions/and';
2
- import type { CalculatePossibleAstNodesHelper } from '.';
3
- export declare const calculateAndOutcomes: CalculatePossibleAstNodesHelper<AndNode>;
@@ -1,3 +0,0 @@
1
- import type { CommentExpressionNode } from '../../builtin/specialExpressions/comment';
2
- import type { CalculatePossibleAstNodesHelper } from '.';
3
- export declare const calculateCommentOutcomes: CalculatePossibleAstNodesHelper<CommentExpressionNode>;
@@ -1,3 +0,0 @@
1
- import type { CondNode } from '../../builtin/specialExpressions/cond';
2
- import type { CalculatePossibleAstNodesHelper } from '.';
3
- export declare const calculateCondOutcomes: CalculatePossibleAstNodesHelper<CondNode>;
@@ -1,3 +0,0 @@
1
- import type { DeclaredNode } from '../../builtin/specialExpressions/declared';
2
- import type { CalculatePossibleAstNodesHelper } from '.';
3
- export declare const calculateDeclaredOutcomes: CalculatePossibleAstNodesHelper<DeclaredNode>;
@@ -1,3 +0,0 @@
1
- import type { DefNode } from '../../builtin/specialExpressions/def';
2
- import type { CalculatePossibleAstNodesHelper } from '.';
3
- export declare const calculateDefOutcomes: CalculatePossibleAstNodesHelper<DefNode>;
@@ -1,3 +0,0 @@
1
- import type { DefsNode } from '../../builtin/specialExpressions/defs';
2
- import type { CalculatePossibleAstNodesHelper } from '.';
3
- export declare const calculateDefsOutcomes: CalculatePossibleAstNodesHelper<DefsNode>;
@@ -1,3 +0,0 @@
1
- import type { DoNode } from '../../builtin/specialExpressions/do';
2
- import type { CalculatePossibleAstNodesHelper } from '.';
3
- export declare const calculateDoOutcomes: CalculatePossibleAstNodesHelper<DoNode>;
@@ -1,5 +0,0 @@
1
- import type { DefnNode, DefnsNode, FnNode } from '../../builtin/specialExpressions/functions';
2
- import type { CalculatePossibleAstNodesHelper } from '.';
3
- export declare const calculateDefnOutcomes: CalculatePossibleAstNodesHelper<DefnNode>;
4
- export declare const calculateDefnsOutcomes: CalculatePossibleAstNodesHelper<DefnsNode>;
5
- export declare const calculateFnOutcomes: CalculatePossibleAstNodesHelper<FnNode>;
@@ -1,3 +0,0 @@
1
- import type { IfLetNode } from '../../builtin/specialExpressions/if-let';
2
- import type { CalculatePossibleAstNodesHelper } from '.';
3
- export declare const calculateIfLetOutcomes: CalculatePossibleAstNodesHelper<IfLetNode>;
@@ -1,3 +0,0 @@
1
- import type { IfNotNode } from '../../builtin/specialExpressions/if-not';
2
- import type { CalculatePossibleAstNodesHelper } from '.';
3
- export declare const calculateIfNotOutcomes: CalculatePossibleAstNodesHelper<IfNotNode>;
@@ -1,3 +0,0 @@
1
- import type { IfNode } from '../../builtin/specialExpressions/if';
2
- import type { CalculatePossibleAstNodesHelper } from '.';
3
- export declare const calculateIfOutcomes: CalculatePossibleAstNodesHelper<IfNode>;
@@ -1,3 +0,0 @@
1
- import type { LetNode } from '../../builtin/specialExpressions/let';
2
- import type { CalculatePossibleAstNodesHelper } from '.';
3
- export declare const calculateLetOutcomes: CalculatePossibleAstNodesHelper<LetNode>;
@@ -1,3 +0,0 @@
1
- import type { LoopNode } from '../../builtin/specialExpressions/loop';
2
- import type { CalculatePossibleAstNodesHelper } from '.';
3
- export declare const calculateLoopOutcomes: CalculatePossibleAstNodesHelper<LoopNode>;
@@ -1,4 +0,0 @@
1
- import type { DoSeqNode, ForNode } from '../../builtin/specialExpressions/loops';
2
- import type { CalculatePossibleAstNodesHelper } from '.';
3
- export declare const calculateForOutcomes: CalculatePossibleAstNodesHelper<ForNode>;
4
- export declare const calculateDoSeqOutcomes: CalculatePossibleAstNodesHelper<DoSeqNode>;
@@ -1,3 +0,0 @@
1
- import type { OrNode } from '../../builtin/specialExpressions/or';
2
- import type { CalculatePossibleAstNodesHelper } from '.';
3
- export declare const calculateOrOutcomes: CalculatePossibleAstNodesHelper<OrNode>;
@@ -1,3 +0,0 @@
1
- import type { QqNode } from '../../builtin/specialExpressions/qq';
2
- import type { CalculatePossibleAstNodesHelper } from '.';
3
- export declare const calculateQqOutcomes: CalculatePossibleAstNodesHelper<QqNode>;
@@ -1,3 +0,0 @@
1
- import type { RecurNode } from '../../builtin/specialExpressions/recur';
2
- import type { CalculatePossibleAstNodesHelper } from '.';
3
- export declare const calculateRecurOutcomes: CalculatePossibleAstNodesHelper<RecurNode>;
@@ -1,3 +0,0 @@
1
- import type { ThrowNode } from '../../builtin/specialExpressions/throw';
2
- import type { CalculatePossibleAstNodesHelper } from '.';
3
- export declare const calculateThrowOutcomes: CalculatePossibleAstNodesHelper<ThrowNode>;
@@ -1,3 +0,0 @@
1
- import type { TimeNode } from '../../builtin/specialExpressions/time';
2
- import type { CalculatePossibleAstNodesHelper } from '.';
3
- export declare const calculateTimeOutcomes: CalculatePossibleAstNodesHelper<TimeNode>;
@@ -1,3 +0,0 @@
1
- import type { TryNode } from '../../builtin/specialExpressions/try';
2
- import type { CalculatePossibleAstNodesHelper } from '.';
3
- export declare const calculateTryOutcomes: CalculatePossibleAstNodesHelper<TryNode>;
@@ -1,3 +0,0 @@
1
- import type { WhenFirstNode } from '../../builtin/specialExpressions/when-first';
2
- import type { CalculatePossibleAstNodesHelper } from '.';
3
- export declare const calculateWhenFirstOutcomes: CalculatePossibleAstNodesHelper<WhenFirstNode>;
@@ -1,3 +0,0 @@
1
- import type { WhenLetNode } from '../../builtin/specialExpressions/when-let';
2
- import type { CalculatePossibleAstNodesHelper } from '.';
3
- export declare const calculateWhenLetOutcomes: CalculatePossibleAstNodesHelper<WhenLetNode>;
@@ -1,3 +0,0 @@
1
- import type { WhenNotNode } from '../../builtin/specialExpressions/when-not';
2
- import type { CalculatePossibleAstNodesHelper } from '.';
3
- export declare const calculateWhenNotOutcomes: CalculatePossibleAstNodesHelper<WhenNotNode>;
@@ -1,3 +0,0 @@
1
- import type { WhenNode } from '../../builtin/specialExpressions/when';
2
- import type { CalculatePossibleAstNodesHelper } from '.';
3
- export declare const calculateWhenOutcomes: CalculatePossibleAstNodesHelper<WhenNode>;
@@ -1,18 +0,0 @@
1
- import type { Outcomes } from '..';
2
- import type { ContextStack } from '../../evaluator/ContextStack';
3
- import type { AstNode } from '../../parser/interface';
4
- export type CalculatePossibleAstNodes = (astNode: AstNode, indentifiers?: string[]) => AstNode[];
5
- export type CombinateAstNodes = (astNodes: AstNode[], indentifiers?: string[]) => AstNode[][];
6
- export type IsAstComputable = (node: AstNode | AstNode[] | AstNode[][]) => boolean;
7
- export type AddGlobaleIdentifier = (name: string) => void;
8
- export interface CalculatePossibleAstNodesHelperOptions<T extends AstNode> {
9
- astNode: T;
10
- nilNode: AstNode;
11
- calculatePossibleAstNodes: CalculatePossibleAstNodes;
12
- combinateAstNodes: CombinateAstNodes;
13
- isAstComputable: IsAstComputable;
14
- addGlobalIdentifier: AddGlobaleIdentifier;
15
- }
16
- export type CalculatePossibleAstNodesHelper<T extends AstNode> = (options: CalculatePossibleAstNodesHelperOptions<T>) => AstNode[];
17
- export declare function calculateOutcomes(contextStack: ContextStack, astNodes: AstNode[]): Outcomes | null;
18
- export declare function calculateOutcomesInner(contextStack: ContextStack, astNodes: AstNode[]): Outcomes | null;
@@ -1,55 +0,0 @@
1
- import type { AndNode } from '../../builtin/specialExpressions/and';
2
- import type { CommentExpressionNode } from '../../builtin/specialExpressions/comment';
3
- import type { CondNode } from '../../builtin/specialExpressions/cond';
4
- import type { DeclaredNode } from '../../builtin/specialExpressions/declared';
5
- import type { DefNode } from '../../builtin/specialExpressions/def';
6
- import type { DefsNode } from '../../builtin/specialExpressions/defs';
7
- import type { DoNode } from '../../builtin/specialExpressions/do';
8
- import type { DefnNode, DefnsNode, FnNode } from '../../builtin/specialExpressions/functions';
9
- import type { IfNode } from '../../builtin/specialExpressions/if';
10
- import type { IfLetNode } from '../../builtin/specialExpressions/if-let';
11
- import type { IfNotNode } from '../../builtin/specialExpressions/if-not';
12
- import type { LetNode } from '../../builtin/specialExpressions/let';
13
- import type { LoopNode } from '../../builtin/specialExpressions/loop';
14
- import type { DoSeqNode, ForNode } from '../../builtin/specialExpressions/loops';
15
- import type { OrNode } from '../../builtin/specialExpressions/or';
16
- import type { QqNode } from '../../builtin/specialExpressions/qq';
17
- import type { RecurNode } from '../../builtin/specialExpressions/recur';
18
- import type { ThrowNode } from '../../builtin/specialExpressions/throw';
19
- import type { TimeNode } from '../../builtin/specialExpressions/time';
20
- import type { TryNode } from '../../builtin/specialExpressions/try';
21
- import type { WhenNode } from '../../builtin/specialExpressions/when';
22
- import type { WhenFirstNode } from '../../builtin/specialExpressions/when-first';
23
- import type { WhenLetNode } from '../../builtin/specialExpressions/when-let';
24
- import type { WhenNotNode } from '../../builtin/specialExpressions/when-not';
25
- import type { AstNode } from '../../parser/interface';
26
- import type { CalculatePossibleAstNodesHelperOptions } from '.';
27
- export declare const specialExpressionCalculator: {
28
- and: (astNode: AndNode, helperOptions: Omit<CalculatePossibleAstNodesHelperOptions<AstNode>, "astNode">) => AstNode[];
29
- comment: (astNode: CommentExpressionNode, helperOptions: Omit<CalculatePossibleAstNodesHelperOptions<AstNode>, "astNode">) => AstNode[];
30
- cond: (astNode: CondNode, helperOptions: Omit<CalculatePossibleAstNodesHelperOptions<AstNode>, "astNode">) => AstNode[];
31
- 'declared?': (astNode: DeclaredNode, helperOptions: Omit<CalculatePossibleAstNodesHelperOptions<AstNode>, "astNode">) => AstNode[];
32
- defn: (astNode: DefnNode, helperOptions: Omit<CalculatePossibleAstNodesHelperOptions<AstNode>, "astNode">) => AstNode[];
33
- def: (astNode: DefNode, helperOptions: Omit<CalculatePossibleAstNodesHelperOptions<AstNode>, "astNode">) => AstNode[];
34
- defns: (astNode: DefnsNode, helperOptions: Omit<CalculatePossibleAstNodesHelperOptions<AstNode>, "astNode">) => AstNode[];
35
- defs: (astNode: DefsNode, helperOptions: Omit<CalculatePossibleAstNodesHelperOptions<AstNode>, "astNode">) => AstNode[];
36
- do: (astNode: DoNode, helperOptions: Omit<CalculatePossibleAstNodesHelperOptions<AstNode>, "astNode">) => AstNode[];
37
- doseq: (astNode: DoSeqNode, helperOptions: Omit<CalculatePossibleAstNodesHelperOptions<AstNode>, "astNode">) => AstNode[];
38
- fn: (astNode: FnNode, helperOptions: Omit<CalculatePossibleAstNodesHelperOptions<AstNode>, "astNode">) => AstNode[];
39
- for: (astNode: ForNode, helperOptions: Omit<CalculatePossibleAstNodesHelperOptions<AstNode>, "astNode">) => AstNode[];
40
- 'if-let': (astNode: IfLetNode, helperOptions: Omit<CalculatePossibleAstNodesHelperOptions<AstNode>, "astNode">) => AstNode[];
41
- if: (astNode: IfNode, helperOptions: Omit<CalculatePossibleAstNodesHelperOptions<AstNode>, "astNode">) => AstNode[];
42
- 'if-not': (astNode: IfNotNode, helperOptions: Omit<CalculatePossibleAstNodesHelperOptions<AstNode>, "astNode">) => AstNode[];
43
- let: (astNode: LetNode, helperOptions: Omit<CalculatePossibleAstNodesHelperOptions<AstNode>, "astNode">) => AstNode[];
44
- loop: (astNode: LoopNode, helperOptions: Omit<CalculatePossibleAstNodesHelperOptions<AstNode>, "astNode">) => AstNode[];
45
- or: (astNode: OrNode, helperOptions: Omit<CalculatePossibleAstNodesHelperOptions<AstNode>, "astNode">) => AstNode[];
46
- '??': (astNode: QqNode, helperOptions: Omit<CalculatePossibleAstNodesHelperOptions<AstNode>, "astNode">) => AstNode[];
47
- recur: (astNode: RecurNode, helperOptions: Omit<CalculatePossibleAstNodesHelperOptions<AstNode>, "astNode">) => AstNode[];
48
- 'time!': (astNode: TimeNode, helperOptions: Omit<CalculatePossibleAstNodesHelperOptions<AstNode>, "astNode">) => AstNode[];
49
- throw: (astNode: ThrowNode, helperOptions: Omit<CalculatePossibleAstNodesHelperOptions<AstNode>, "astNode">) => AstNode[];
50
- try: (astNode: TryNode, helperOptions: Omit<CalculatePossibleAstNodesHelperOptions<AstNode>, "astNode">) => AstNode[];
51
- 'when-first': (astNode: WhenFirstNode, helperOptions: Omit<CalculatePossibleAstNodesHelperOptions<AstNode>, "astNode">) => AstNode[];
52
- 'when-let': (astNode: WhenLetNode, helperOptions: Omit<CalculatePossibleAstNodesHelperOptions<AstNode>, "astNode">) => AstNode[];
53
- when: (astNode: WhenNode, helperOptions: Omit<CalculatePossibleAstNodesHelperOptions<AstNode>, "astNode">) => AstNode[];
54
- 'when-not': (astNode: WhenNotNode, helperOptions: Omit<CalculatePossibleAstNodesHelperOptions<AstNode>, "astNode">) => AstNode[];
55
- };
@@ -1,7 +0,0 @@
1
- import type { Any } from '../../interface';
2
- import type { BindingNode, CommonSpecialExpressionNode } from '../../parser/interface';
3
- import type { BuiltinSpecialExpression } from '../interface';
4
- export interface IfLetNode extends CommonSpecialExpressionNode<'if-let'> {
5
- b: BindingNode;
6
- }
7
- export declare const ifLetSpecialExpression: BuiltinSpecialExpression<Any, IfLetNode>;
@@ -1,6 +0,0 @@
1
- import type { Any } from '../../interface';
2
- import type { CommonSpecialExpressionNode } from '../../parser/interface';
3
- import type { BuiltinSpecialExpression } from '../interface';
4
- export interface TimeNode extends CommonSpecialExpressionNode<'time!'> {
5
- }
6
- export declare const timeSpecialExpression: BuiltinSpecialExpression<Any, TimeNode>;
@@ -1,7 +0,0 @@
1
- import type { Any } from '../../interface';
2
- import type { BindingNode, CommonSpecialExpressionNode } from '../../parser/interface';
3
- import type { BuiltinSpecialExpression } from '../interface';
4
- export interface WhenFirstNode extends CommonSpecialExpressionNode<'when-first'> {
5
- b: BindingNode;
6
- }
7
- export declare const whenFirstSpecialExpression: BuiltinSpecialExpression<Any, WhenFirstNode>;
@@ -1,7 +0,0 @@
1
- import type { Any } from '../../interface';
2
- import type { BindingNode, CommonSpecialExpressionNode } from '../../parser/interface';
3
- import type { BuiltinSpecialExpression } from '../interface';
4
- export interface WhenLetNode extends CommonSpecialExpressionNode<'when-let'> {
5
- b: BindingNode;
6
- }
7
- export declare const whenLetSpecialExpression: BuiltinSpecialExpression<Any, WhenLetNode>;
@@ -1,6 +0,0 @@
1
- import type { Any } from '../../interface';
2
- import type { CommonSpecialExpressionNode } from '../../parser/interface';
3
- import type { BuiltinSpecialExpression } from '../interface';
4
- export interface WhenNotNode extends CommonSpecialExpressionNode<'when-not'> {
5
- }
6
- export declare const whenNotSpecialExpression: BuiltinSpecialExpression<Any, WhenNotNode>;
@@ -1,6 +0,0 @@
1
- import type { Any } from '../../interface';
2
- import type { CommonSpecialExpressionNode } from '../../parser/interface';
3
- import type { BuiltinSpecialExpression } from '../interface';
4
- export interface WhenNode extends CommonSpecialExpressionNode<'when'> {
5
- }
6
- export declare const whenSpecialExpression: BuiltinSpecialExpression<Any, WhenNode>;