@mojir/lits 1.3.0 → 2.0.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 (97) hide show
  1. package/README.md +2 -1
  2. package/dist/cli/cli.js +2661 -1980
  3. package/dist/cli/reference/api.d.ts +2 -2
  4. package/dist/cli/src/Lits/Lits.d.ts +5 -1
  5. package/dist/cli/src/analyze/index.d.ts +1 -1
  6. package/dist/cli/src/builtin/index.d.ts +1 -1
  7. package/dist/cli/src/builtin/interface.d.ts +4 -3
  8. package/dist/cli/src/builtin/specialExpressions/functions.d.ts +2 -2
  9. package/dist/cli/src/builtin/specialExpressions/if-let.d.ts +1 -4
  10. package/dist/cli/src/builtin/specialExpressions/let.d.ts +1 -4
  11. package/dist/cli/src/builtin/specialExpressions/try.d.ts +2 -2
  12. package/dist/cli/src/constants/constants.d.ts +2 -17
  13. package/dist/cli/src/errors.d.ts +1 -1
  14. package/dist/cli/src/evaluator/ContextStack.d.ts +3 -3
  15. package/dist/cli/src/identifier.d.ts +4 -0
  16. package/dist/cli/src/index.d.ts +12 -6
  17. package/dist/cli/src/parser/AlgebraicParser.d.ts +17 -0
  18. package/dist/cli/src/parser/PolishTokenParsers.d.ts +3 -0
  19. package/dist/cli/src/parser/commonTokenParsers.d.ts +6 -0
  20. package/dist/cli/src/parser/index.d.ts +2 -1
  21. package/dist/cli/src/parser/interface.d.ts +26 -20
  22. package/dist/cli/src/removeCommentNodes/index.d.ts +1 -1
  23. package/dist/cli/src/tokenizer/algebraic/algebraicReservedNames.d.ts +8 -0
  24. package/dist/cli/src/tokenizer/algebraic/algebraicTokenizers.d.ts +10 -0
  25. package/dist/cli/src/tokenizer/algebraic/algebraicTokens.d.ts +47 -0
  26. package/dist/cli/src/tokenizer/common/commonTokenizers.d.ts +8 -0
  27. package/dist/cli/src/tokenizer/common/commonTokens.d.ts +51 -0
  28. package/dist/cli/src/tokenizer/index.d.ts +1 -8
  29. package/dist/cli/src/tokenizer/interface.d.ts +5 -18
  30. package/dist/cli/src/tokenizer/polish/polishReservedNames.d.ts +7 -0
  31. package/dist/cli/src/tokenizer/polish/polishTokenizers.d.ts +13 -0
  32. package/dist/cli/src/tokenizer/polish/polishTokens.d.ts +59 -0
  33. package/dist/cli/src/tokenizer/tokens.d.ts +20 -0
  34. package/dist/cli/src/tokenizer/utils.d.ts +9 -0
  35. package/dist/cli/src/transformer/index.d.ts +2 -0
  36. package/dist/cli/src/typeGuards/astNode.d.ts +4 -4
  37. package/dist/cli/src/typeGuards/index.d.ts +0 -1
  38. package/dist/cli/src/untokenizer/index.d.ts +2 -0
  39. package/dist/cli/src/utils/debug/debugTools.d.ts +0 -2
  40. package/dist/cli/src/utils/debug/getCodeMarker.d.ts +2 -0
  41. package/dist/index.esm.js +9078 -1569
  42. package/dist/index.esm.js.map +1 -1
  43. package/dist/index.js +9089 -1569
  44. package/dist/index.js.map +1 -1
  45. package/dist/lits.iife.js +9089 -1569
  46. package/dist/lits.iife.js.map +1 -1
  47. package/dist/reference/api.d.ts +2 -2
  48. package/dist/src/Lits/Lits.d.ts +5 -1
  49. package/dist/src/analyze/index.d.ts +1 -1
  50. package/dist/src/builtin/index.d.ts +1 -1
  51. package/dist/src/builtin/interface.d.ts +4 -3
  52. package/dist/src/builtin/specialExpressions/functions.d.ts +2 -2
  53. package/dist/src/builtin/specialExpressions/if-let.d.ts +1 -4
  54. package/dist/src/builtin/specialExpressions/let.d.ts +1 -4
  55. package/dist/src/builtin/specialExpressions/try.d.ts +2 -2
  56. package/dist/src/constants/constants.d.ts +2 -17
  57. package/dist/src/errors.d.ts +1 -1
  58. package/dist/src/evaluator/ContextStack.d.ts +3 -3
  59. package/dist/src/identifier.d.ts +4 -0
  60. package/dist/src/index.d.ts +12 -6
  61. package/dist/src/parser/AlgebraicParser.d.ts +17 -0
  62. package/dist/src/parser/PolishTokenParsers.d.ts +3 -0
  63. package/dist/src/parser/commonTokenParsers.d.ts +6 -0
  64. package/dist/src/parser/index.d.ts +2 -1
  65. package/dist/src/parser/interface.d.ts +26 -20
  66. package/dist/src/removeCommentNodes/index.d.ts +1 -1
  67. package/dist/src/tokenizer/algebraic/algebraicReservedNames.d.ts +8 -0
  68. package/dist/src/tokenizer/algebraic/algebraicTokenizers.d.ts +10 -0
  69. package/dist/src/tokenizer/algebraic/algebraicTokens.d.ts +47 -0
  70. package/dist/src/tokenizer/common/commonTokenizers.d.ts +8 -0
  71. package/dist/src/tokenizer/common/commonTokens.d.ts +51 -0
  72. package/dist/src/tokenizer/index.d.ts +1 -8
  73. package/dist/src/tokenizer/interface.d.ts +5 -18
  74. package/dist/src/tokenizer/polish/polishReservedNames.d.ts +7 -0
  75. package/dist/src/tokenizer/polish/polishTokenizers.d.ts +13 -0
  76. package/dist/src/tokenizer/polish/polishTokens.d.ts +59 -0
  77. package/dist/src/tokenizer/tokens.d.ts +20 -0
  78. package/dist/src/tokenizer/utils.d.ts +9 -0
  79. package/dist/src/transformer/index.d.ts +2 -0
  80. package/dist/src/typeGuards/astNode.d.ts +4 -4
  81. package/dist/src/typeGuards/index.d.ts +0 -1
  82. package/dist/src/untokenizer/index.d.ts +2 -0
  83. package/dist/src/utils/debug/debugTools.d.ts +0 -2
  84. package/dist/src/utils/debug/getCodeMarker.d.ts +2 -0
  85. package/dist/testFramework.esm.js +2196 -1539
  86. package/dist/testFramework.esm.js.map +1 -1
  87. package/dist/testFramework.js +2196 -1539
  88. package/dist/testFramework.js.map +1 -1
  89. package/package.json +6 -5
  90. package/dist/cli/src/parser/parsers.d.ts +0 -4
  91. package/dist/cli/src/reservedNames.d.ts +0 -7
  92. package/dist/cli/src/tokenizer/tokenizers.d.ts +0 -20
  93. package/dist/cli/src/typeGuards/token.d.ts +0 -13
  94. package/dist/src/parser/parsers.d.ts +0 -4
  95. package/dist/src/reservedNames.d.ts +0 -7
  96. package/dist/src/tokenizer/tokenizers.d.ts +0 -20
  97. package/dist/src/typeGuards/token.d.ts +0 -13
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mojir/lits",
3
- "version": "1.3.0",
3
+ "version": "2.0.2",
4
4
  "description": "Lits is a Lisp dialect implemented in TypeScript",
5
5
  "author": "Albert Mojir",
6
6
  "license": "MIT",
@@ -33,10 +33,11 @@
33
33
  "scripts": {
34
34
  "test": "vitest run --coverage",
35
35
  "vitest": "vitest",
36
- "lint": "eslint .",
37
- "lint:fix": "eslint . --fix",
38
- "tsc": "tsc -p ./tsconfig.compile.json --noEmit",
39
- "check": "npm run lint && npm run tsc",
36
+ "lint": "eslint . --fix",
37
+ "lint:no-fix": "eslint .",
38
+ "typecheck": "tsc -p ./tsconfig.compile.json --noEmit",
39
+ "check": "npm run lint && npm run typecheck && npm run test",
40
+ "check:no-fix": "npm run lint:no-fix && npm run typecheck && npm run test",
40
41
  "clean": "npm run clean-lits && npm run clean-playground",
41
42
  "clean-lits": "rm -rf dist build",
42
43
  "clean-playground": "rm -rf playground-builder/build playground-www/build",
@@ -1,4 +0,0 @@
1
- import type { TokenStream } from '../tokenizer/interface';
2
- import type { AstNode, NumberNode } from './interface';
3
- export declare function parseNumber(tokenStream: TokenStream, position: number): [number, NumberNode];
4
- export declare function parseToken(tokenStream: TokenStream, position: number): [number, AstNode];
@@ -1,7 +0,0 @@
1
- import type { Any } from './interface';
2
- export type ReservedName = 'true' | 'false' | 'nil' | 'null' | 'undefined' | '===' | '!==' | '&&' | '||';
3
- export declare const reservedNamesRecord: Record<ReservedName, {
4
- value: Any;
5
- forbidden?: true;
6
- }>;
7
- export declare const reservedNames: ReservedName[];
@@ -1,20 +0,0 @@
1
- import type { Tokenizer } from './interface';
2
- export declare const nameCharacters = "[\\w@%^?=!$<>+*/-]";
3
- export declare const tokenizeNewLine: Tokenizer;
4
- export declare const tokenizeComment: Tokenizer;
5
- export declare const skipWhiteSpace: Tokenizer;
6
- export declare const tokenizeLeftParen: Tokenizer;
7
- export declare const tokenizeRightParen: Tokenizer;
8
- export declare const tokenizeLeftBracket: Tokenizer;
9
- export declare const tokenizeRightBracket: Tokenizer;
10
- export declare const tokenizeLeftCurly: Tokenizer;
11
- export declare const tokenizeRightCurly: Tokenizer;
12
- export declare const tokenizeString: Tokenizer;
13
- export declare const tokenizeCollectionAccessor: Tokenizer;
14
- export declare const tokenizeSymbolString: Tokenizer;
15
- export declare const tokenizeRegexpShorthand: Tokenizer;
16
- export declare const tokenizeFnShorthand: Tokenizer;
17
- export declare const tokenizeNumber: Tokenizer;
18
- export declare const tokenizeReservedName: Tokenizer;
19
- export declare const tokenizeName: Tokenizer;
20
- export declare const tokenizeModifier: Tokenizer;
@@ -1,13 +0,0 @@
1
- import { TokenType } from '../constants/constants';
2
- import type { Token } from '../tokenizer/interface';
3
- type TokenAssertionOptions = {
4
- type: TokenType;
5
- value?: string;
6
- } | {
7
- type?: never;
8
- value?: never;
9
- };
10
- export declare function isToken(value: unknown, options?: TokenAssertionOptions): value is Token;
11
- export declare function assertToken(value: unknown, filePath: string | undefined, options?: TokenAssertionOptions): asserts value is Token;
12
- export declare function asToken(value: unknown, filePath: string | undefined, options?: TokenAssertionOptions): Token;
13
- export {};
@@ -1,4 +0,0 @@
1
- import type { TokenStream } from '../tokenizer/interface';
2
- import type { AstNode, NumberNode } from './interface';
3
- export declare function parseNumber(tokenStream: TokenStream, position: number): [number, NumberNode];
4
- export declare function parseToken(tokenStream: TokenStream, position: number): [number, AstNode];
@@ -1,7 +0,0 @@
1
- import type { Any } from './interface';
2
- export type ReservedName = 'true' | 'false' | 'nil' | 'null' | 'undefined' | '===' | '!==' | '&&' | '||';
3
- export declare const reservedNamesRecord: Record<ReservedName, {
4
- value: Any;
5
- forbidden?: true;
6
- }>;
7
- export declare const reservedNames: ReservedName[];
@@ -1,20 +0,0 @@
1
- import type { Tokenizer } from './interface';
2
- export declare const nameCharacters = "[\\w@%^?=!$<>+*/-]";
3
- export declare const tokenizeNewLine: Tokenizer;
4
- export declare const tokenizeComment: Tokenizer;
5
- export declare const skipWhiteSpace: Tokenizer;
6
- export declare const tokenizeLeftParen: Tokenizer;
7
- export declare const tokenizeRightParen: Tokenizer;
8
- export declare const tokenizeLeftBracket: Tokenizer;
9
- export declare const tokenizeRightBracket: Tokenizer;
10
- export declare const tokenizeLeftCurly: Tokenizer;
11
- export declare const tokenizeRightCurly: Tokenizer;
12
- export declare const tokenizeString: Tokenizer;
13
- export declare const tokenizeCollectionAccessor: Tokenizer;
14
- export declare const tokenizeSymbolString: Tokenizer;
15
- export declare const tokenizeRegexpShorthand: Tokenizer;
16
- export declare const tokenizeFnShorthand: Tokenizer;
17
- export declare const tokenizeNumber: Tokenizer;
18
- export declare const tokenizeReservedName: Tokenizer;
19
- export declare const tokenizeName: Tokenizer;
20
- export declare const tokenizeModifier: Tokenizer;
@@ -1,13 +0,0 @@
1
- import { TokenType } from '../constants/constants';
2
- import type { Token } from '../tokenizer/interface';
3
- type TokenAssertionOptions = {
4
- type: TokenType;
5
- value?: string;
6
- } | {
7
- type?: never;
8
- value?: never;
9
- };
10
- export declare function isToken(value: unknown, options?: TokenAssertionOptions): value is Token;
11
- export declare function assertToken(value: unknown, filePath: string | undefined, options?: TokenAssertionOptions): asserts value is Token;
12
- export declare function asToken(value: unknown, filePath: string | undefined, options?: TokenAssertionOptions): Token;
13
- export {};