septima-lang 0.0.9 → 0.0.11
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.
- package/dist/src/septima.d.ts +5 -0
- package/dist/src/septima.js +6 -1
- package/package.json +2 -3
- package/dist/tests/parser.spec.d.ts +0 -1
- package/dist/tests/parser.spec.js +0 -35
- package/dist/tests/septima-compute-module.spec.d.ts +0 -1
- package/dist/tests/septima-compute-module.spec.js +0 -36
- package/dist/tests/septima.spec.d.ts +0 -1
- package/dist/tests/septima.spec.js +0 -857
- package/dist/tests/value.spec.d.ts +0 -1
- package/dist/tests/value.spec.js +0 -355
- package/dist/tsconfig.tsbuildinfo +0 -1
- package/src/a.js +0 -66
- package/src/ast-node.ts +0 -269
- package/src/extract-message.ts +0 -5
- package/src/fail-me.ts +0 -7
- package/src/find-array-method.ts +0 -115
- package/src/find-string-method.ts +0 -84
- package/src/index.ts +0 -1
- package/src/location.ts +0 -13
- package/src/parser.ts +0 -563
- package/src/result.ts +0 -45
- package/src/runtime.ts +0 -370
- package/src/scanner.ts +0 -106
- package/src/septima.ts +0 -121
- package/src/should-never-happen.ts +0 -4
- package/src/source-code.ts +0 -101
- package/src/stack.ts +0 -18
- package/src/switch-on.ts +0 -4
- package/src/symbol-table.ts +0 -7
- package/src/value.ts +0 -742
- package/tests/parser.spec.ts +0 -36
- package/tests/septima-compute-module.spec.ts +0 -41
- package/tests/septima.spec.ts +0 -933
- package/tests/value.spec.ts +0 -387
package/dist/src/septima.d.ts
CHANGED
|
@@ -28,5 +28,10 @@ export declare class Septima {
|
|
|
28
28
|
compute(input: string, preimports: Record<string, string> | undefined, verbosity: Verbosity | undefined, args: Record<string, unknown>): Result;
|
|
29
29
|
private computeImpl;
|
|
30
30
|
}
|
|
31
|
+
/**
|
|
32
|
+
* Parses the given input and returns an AST.
|
|
33
|
+
* @param arg the source code to parse (string) or a Parser object (configured with the source code to parse).
|
|
34
|
+
* @returns
|
|
35
|
+
*/
|
|
31
36
|
export declare function parse(arg: string | Parser): Unit;
|
|
32
37
|
export {};
|
package/dist/src/septima.js
CHANGED
|
@@ -82,10 +82,15 @@ class Septima {
|
|
|
82
82
|
}
|
|
83
83
|
}
|
|
84
84
|
exports.Septima = Septima;
|
|
85
|
+
/**
|
|
86
|
+
* Parses the given input and returns an AST.
|
|
87
|
+
* @param arg the source code to parse (string) or a Parser object (configured with the source code to parse).
|
|
88
|
+
* @returns
|
|
89
|
+
*/
|
|
85
90
|
function parse(arg) {
|
|
86
91
|
const parser = typeof arg === 'string' ? new parser_1.Parser(new scanner_1.Scanner(new source_code_1.SourceCode(arg))) : arg;
|
|
87
92
|
const ast = parser.parse();
|
|
88
93
|
return ast;
|
|
89
94
|
}
|
|
90
95
|
exports.parse = parse;
|
|
91
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
96
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VwdGltYS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zZXB0aW1hLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUNBLHFDQUFpQztBQUNqQyxxQ0FBNkQ7QUFDN0QsdUNBQThDO0FBQzlDLHVDQUFtQztBQUNuQywrREFBeUQ7QUFDekQsK0NBQTBDO0FBWTFDLE1BQWEsT0FBTztJQUNsQjs7Ozs7Ozs7OztPQVVHO0lBQ0gsTUFBTSxDQUFDLEdBQUcsQ0FBQyxLQUFhLEVBQUUsT0FBaUIsRUFBRSxPQUFnQyxFQUFFO1FBQzdFLE1BQU0sTUFBTSxHQUNWLE9BQU8sRUFBRSxNQUFNO1lBQ2YsQ0FBQyxDQUFDLENBQWEsRUFBRSxFQUFFO2dCQUNqQixNQUFNLElBQUksS0FBSyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQTtZQUM1QixDQUFDLENBQUMsQ0FBQTtRQUNKLE1BQU0sR0FBRyxHQUFHLElBQUksT0FBTyxFQUFFLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxFQUFFLEVBQUUsT0FBTyxFQUFFLElBQUksQ0FBQyxDQUFBO1FBQzNELElBQUksR0FBRyxDQUFDLEdBQUcsS0FBSyxJQUFJLEVBQUU7WUFDcEIsT0FBTyxHQUFHLENBQUMsS0FBSyxDQUFBO1NBQ2pCO1FBRUQsSUFBSSxHQUFHLENBQUMsR0FBRyxLQUFLLE1BQU0sRUFBRTtZQUN0QixPQUFPLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQTtTQUNuQjtRQUVELElBQUEsdUNBQWlCLEVBQUMsR0FBRyxDQUFDLENBQUE7SUFDeEIsQ0FBQztJQUVELGdCQUFlLENBQUM7SUFFaEIsYUFBYSxDQUFDLFVBQWtCLEVBQUUsWUFBbUMsRUFBRSxJQUE2QjtRQUNsRyxNQUFNLEtBQUssR0FBRyxZQUFZLENBQUMsVUFBVSxDQUFDLENBQUE7UUFDdEMsTUFBTSxVQUFVLEdBQUcsSUFBSSx3QkFBVSxDQUFDLEtBQUssQ0FBQyxDQUFBO1FBQ3hDLE1BQU0sS0FBSyxHQUFH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
|
package/package.json
CHANGED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const ast_node_1 = require("../src/ast-node");
|
|
4
|
-
const septima_1 = require("../src/septima");
|
|
5
|
-
describe('parser', () => {
|
|
6
|
-
test('show()', () => {
|
|
7
|
-
expect((0, ast_node_1.show)((0, septima_1.parse)(`5`))).toEqual('5');
|
|
8
|
-
expect((0, ast_node_1.show)((0, septima_1.parse)(`fun (x) x*9`))).toEqual('fun (x) (x * 9)');
|
|
9
|
-
});
|
|
10
|
-
test('syntax errors', () => {
|
|
11
|
-
expect(() => (0, septima_1.parse)(`a + #$%x`)).toThrowError('Unparsable input at (1:5..8) #$%x');
|
|
12
|
-
expect(() => (0, septima_1.parse)(`{#$%x: 8}`)).toThrowError('Expected an identifier at (1:2..9) #$%x: 8}');
|
|
13
|
-
expect(() => (0, septima_1.parse)(`"foo" "goo"`)).toThrowError('Loitering input at (1:7..11) "goo"');
|
|
14
|
-
});
|
|
15
|
-
describe('unit', () => {
|
|
16
|
-
test('show', () => {
|
|
17
|
-
expect((0, ast_node_1.show)((0, septima_1.parse)(`import * as foo from './bar';'a'`))).toEqual(`import * as foo from './bar';\n'a'`);
|
|
18
|
-
expect((0, ast_node_1.show)((0, septima_1.parse)(`let f = x => x*x; f(2)`))).toEqual(`let f = fun (x) (x * x); f(2)`);
|
|
19
|
-
expect((0, ast_node_1.show)((0, septima_1.parse)(`let f = x => x*x; let g = n => n+1`))).toEqual(`let f = fun (x) (x * x); let g = fun (n) (n + 1);`);
|
|
20
|
-
});
|
|
21
|
-
});
|
|
22
|
-
describe('expression', () => {
|
|
23
|
-
test('show', () => {
|
|
24
|
-
expect((0, ast_node_1.show)((0, septima_1.parse)(`'sunday'`))).toEqual(`'sunday'`);
|
|
25
|
-
expect((0, ast_node_1.show)((0, septima_1.parse)(`true`))).toEqual(`true`);
|
|
26
|
-
expect((0, ast_node_1.show)((0, septima_1.parse)(`500`))).toEqual(`500`);
|
|
27
|
-
expect((0, ast_node_1.show)((0, septima_1.parse)(`sink`))).toEqual(`sink`);
|
|
28
|
-
expect((0, ast_node_1.show)((0, septima_1.parse)(`sink!`))).toEqual(`sink!`);
|
|
29
|
-
expect((0, ast_node_1.show)((0, septima_1.parse)(`sink!!`))).toEqual(`sink!!`);
|
|
30
|
-
expect((0, ast_node_1.show)((0, septima_1.parse)(`if (3+4 > 8) "above" else "below"`))).toEqual(`if (((3 + 4) > 8)) 'above' else 'below'`);
|
|
31
|
-
expect((0, ast_node_1.show)((0, septima_1.parse)(`(3+4 > 8) ? "above" : "below"`))).toEqual(`((3 + 4) > 8) ? 'above' : 'below'`);
|
|
32
|
-
});
|
|
33
|
-
});
|
|
34
|
-
});
|
|
35
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyc2VyLnNwZWMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi90ZXN0cy9wYXJzZXIuc3BlYy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLDhDQUFzQztBQUN0Qyw0Q0FBc0M7QUFFdEMsUUFBUSxDQUFDLFFBQVEsRUFBRSxHQUFHLEVBQUU7SUFDdEIsSUFBSSxDQUFDLFFBQVEsRUFBRSxHQUFHLEVBQUU7UUFDbEIsTUFBTSxDQUFDLElBQUEsZUFBSSxFQUFDLElBQUEsZUFBSyxFQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUE7UUFDckMsTUFBTSxDQUFDLElBQUEsZUFBSSxFQUFDLElBQUEsZUFBSyxFQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsaUJBQWlCLENBQUMsQ0FBQTtJQUMvRCxDQUFDLENBQUMsQ0FBQTtJQUNGLElBQUksQ0FBQyxlQUFlLEVBQUUsR0FBRyxFQUFFO1FBQ3pCLE1BQU0sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFBLGVBQUssRUFBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxtQ0FBbUMsQ0FBQyxDQUFBO1FBQ2pGLE1BQU0sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFBLGVBQUssRUFBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyw2Q0FBNkMsQ0FBQyxDQUFBO1FBQzVGLE1BQU0sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFBLGVBQUssRUFBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxvQ0FBb0MsQ0FBQyxDQUFBO0lBQ3ZGLENBQUMsQ0FBQyxDQUFBO0lBRUYsUUFBUSxDQUFDLE1BQU0sRUFBRSxHQUFHLEVBQUU7UUFDcEIsSUFBSSxDQUFDLE1BQU0sRUFBRSxHQUFHLEVBQUU7WUFDaEIsTUFBTSxDQUFDLElBQUEsZUFBSSxFQUFDLElBQUEsZUFBSyxFQUFDLGtDQUFrQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxvQ0FBb0MsQ0FBQyxDQUFBO1lBQ3JHLE1BQU0sQ0FBQyxJQUFBLGVBQUksRUFBQyxJQUFBLGVBQUssRUFBQyx3QkFBd0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsK0JBQStCLENBQUMsQ0FBQTtZQUN0RixNQUFNLENBQUMsSUFBQSxlQUFJLEVBQUMsSUFBQSxlQUFLLEVBQUMsb0NBQW9DLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUMvRCxtREFBbUQsQ0FDcEQsQ0FBQTtRQUNILENBQUMsQ0FBQyxDQUFBO0lBQ0osQ0FBQyxDQUFDLENBQUE7SUFDRixRQUFRLENBQUMsWUFBWSxFQUFFLEdBQUcsRUFBRTtRQUMxQixJQUFJLENBQUMsTUFBTSxFQUFFLEdBQUcsRUFBRTtZQUNoQixNQUFNLENBQUMsSUFBQSxlQUFJLEVBQUMsSUFBQSxlQUFLLEVBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQTtZQUNuRCxNQUFNLENBQUMsSUFBQSxlQUFJLEVBQUMsSUFBQSxlQUFLLEVBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQTtZQUMzQyxNQUFNLENBQUMsSUFBQSxlQUFJLEVBQUMsSUFBQSxlQUFLLEVBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQTtZQUN6QyxNQUFNLENBQUMsSUFBQSxlQUFJLEVBQUMsSUFBQSxlQUFLLEVBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQTtZQUMzQyxNQUFNLENBQUMsSUFBQSxlQUFJLEVBQUMsSUFBQSxlQUFLLEVBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQTtZQUM3QyxNQUFNLENBQUMsSUFBQSxlQUFJLEVBQUMsSUFBQSxlQUFLLEVBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQTtZQUMvQyxNQUFNLENBQUMsSUFBQSxlQUFJLEVBQUMsSUFBQSxlQUFLLEVBQUMsbUNBQW1DLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLHlDQUF5QyxDQUFDLENBQUE7WUFDM0csTUFBTSxDQUFDLElBQUEsZUFBSSxFQUFDLElBQUEsZUFBSyxFQUFDLCtCQUErQixDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxtQ0FBbUMsQ0FBQyxDQUFBO1FBQ25HLENBQUMsQ0FBQyxDQUFBO0lBQ0osQ0FBQyxDQUFDLENBQUE7QUFDSixDQUFDLENBQUMsQ0FBQSJ9
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const septima_1 = require("../src/septima");
|
|
4
|
-
const should_never_happen_1 = require("../src/should-never-happen");
|
|
5
|
-
/**
|
|
6
|
-
* Runs a Septima program for testing purposes. Throws an error If the program evaluated to `sink`.
|
|
7
|
-
*/
|
|
8
|
-
async function run(mainModule, inputs, args = {}) {
|
|
9
|
-
const septima = new septima_1.Septima();
|
|
10
|
-
const res = septima.computeModule(mainModule, (m) => inputs[m], args);
|
|
11
|
-
if (res.tag === 'ok') {
|
|
12
|
-
return res.value;
|
|
13
|
-
}
|
|
14
|
-
if (res.tag === 'sink') {
|
|
15
|
-
throw new Error(res.message);
|
|
16
|
-
}
|
|
17
|
-
(0, should_never_happen_1.shouldNeverHappen)(res);
|
|
18
|
-
}
|
|
19
|
-
describe('septima-compute-module', () => {
|
|
20
|
-
test('fetches the content of the module to compute from the given callback function', async () => {
|
|
21
|
-
expect(await run('a', { a: `3+8` })).toEqual(11);
|
|
22
|
-
});
|
|
23
|
-
test('can use exported definitions from another module', async () => {
|
|
24
|
-
expect(await run('a', { a: `import * as b from 'b'; 3+b.eight`, b: `let eight = 8; {}` })).toEqual(11);
|
|
25
|
-
});
|
|
26
|
-
test('errors if the path to input from is not a string literal', async () => {
|
|
27
|
-
await expect(run('a', { a: `import * as foo from 500` })).rejects.toThrowError('Expected a string literal at (1:22..24) 500');
|
|
28
|
-
});
|
|
29
|
-
test('support the passing of args into the runtime', async () => {
|
|
30
|
-
expect(await run('a', { a: `args.x * args.y` }, { x: 5, y: 9 })).toEqual(45);
|
|
31
|
-
});
|
|
32
|
-
test('the args object is available only at the main module', async () => {
|
|
33
|
-
await expect(run('a', { a: `import * as b from 'b'; args.x + '_' + b.foo`, b: `let foo = args.x ?? 'N/A'; {}` }, { x: 'Red' })).rejects.toThrowError(/Symbol args was not found when evaluating/);
|
|
34
|
-
});
|
|
35
|
-
});
|
|
36
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VwdGltYS1jb21wdXRlLW1vZHVsZS5zcGVjLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vdGVzdHMvc2VwdGltYS1jb21wdXRlLW1vZHVsZS5zcGVjLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsNENBQXdDO0FBQ3hDLG9FQUE4RDtBQUU5RDs7R0FFRztBQUNILEtBQUssVUFBVSxHQUFHLENBQUMsVUFBa0IsRUFBRSxNQUE4QixFQUFFLE9BQWdDLEVBQUU7SUFDdkcsTUFBTSxPQUFPLEdBQUcsSUFBSSxpQkFBTyxFQUFFLENBQUE7SUFDN0IsTUFBTSxHQUFHLEdBQUcsT0FBTyxDQUFDLGFBQWEsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFTLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQTtJQUM3RSxJQUFJLEdBQUcsQ0FBQyxHQUFHLEtBQUssSUFBSSxFQUFFO1FBQ3BCLE9BQU8sR0FBRyxDQUFDLEtBQUssQ0FBQTtLQUNqQjtJQUVELElBQUksR0FBRyxDQUFDLEdBQUcsS0FBSyxNQUFNLEVBQUU7UUFDdEIsTUFBTSxJQUFJLEtBQUssQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUE7S0FDN0I7SUFFRCxJQUFBLHVDQUFpQixFQUFDLEdBQUcsQ0FBQyxDQUFBO0FBQ3hCLENBQUM7QUFFRCxRQUFRLENBQUMsd0JBQXdCLEVBQUUsR0FBRyxFQUFFO0lBQ3RDLElBQUksQ0FBQywrRUFBK0UsRUFBRSxLQUFLLElBQUksRUFBRTtRQUMvRixNQUFNLENBQUMsTUFBTSxHQUFHLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUE7SUFDbEQsQ0FBQyxDQUFDLENBQUE7SUFDRixJQUFJLENBQUMsa0RBQWtELEVBQUUsS0FBSyxJQUFJLEVBQUU7UUFDbEUsTUFBTSxDQUFDLE1BQU0sR0FBRyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsRUFBRSxtQ0FBbUMsRUFBRSxDQUFDLEVBQUUsbUJBQW1CLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFBO0lBQ3hHLENBQUMsQ0FBQyxDQUFBO0lBQ0YsSUFBSSxDQUFDLDBEQUEwRCxFQUFFLEtBQUssSUFBSSxFQUFFO1FBQzFFLE1BQU0sTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLEVBQUUsMEJBQTBCLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FDNUUsNkNBQTZDLENBQzlDLENBQUE7SUFDSCxDQUFDLENBQUMsQ0FBQTtJQUNGLElBQUksQ0FBQyw4Q0FBOEMsRUFBRSxLQUFLLElBQUksRUFBRTtRQUM5RCxNQUFNLENBQUMsTUFBTSxHQUFHLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxFQUFFLGlCQUFpQixFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFBO0lBQzlFLENBQUMsQ0FBQyxDQUFBO0lBQ0YsSUFBSSxDQUFDLHNEQUFzRCxFQUFFLEtBQUssSUFBSSxFQUFFO1FBQ3RFLE1BQU0sTUFBTSxDQUNWLEdBQUcsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLEVBQUUsOENBQThDLEVBQUUsQ0FBQyxFQUFFLCtCQUErQixFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FDbEgsQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLDJDQUEyQyxDQUFDLENBQUE7SUFDckUsQ0FBQyxDQUFDLENBQUE7QUFDSixDQUFDLENBQUMsQ0FBQSJ9
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|