grammar-well 1.1.2 → 1.1.4

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 (63) hide show
  1. package/build/compiler/compiler.d.ts +49 -49
  2. package/build/compiler/compiler.js +227 -227
  3. package/build/compiler/generator.d.ts +23 -23
  4. package/build/compiler/generator.js +213 -212
  5. package/build/compiler/generator.js.map +1 -1
  6. package/build/compiler/import-resolver.d.ts +15 -15
  7. package/build/compiler/import-resolver.js +36 -36
  8. package/build/compiler/outputs/javascript.d.ts +3 -3
  9. package/build/compiler/outputs/javascript.js +14 -14
  10. package/build/compiler/outputs/json.d.ts +2 -2
  11. package/build/compiler/outputs/json.js +7 -7
  12. package/build/compiler/outputs/typescript.d.ts +2 -2
  13. package/build/compiler/outputs/typescript.js +9 -8
  14. package/build/compiler/outputs/typescript.js.map +1 -1
  15. package/build/grammars/gwell.d.ts +1023 -997
  16. package/build/grammars/gwell.js +540 -536
  17. package/build/grammars/gwell.js.map +1 -1
  18. package/build/grammars/json.d.ts +151 -151
  19. package/build/grammars/json.js +111 -111
  20. package/build/grammars/number.d.ts +239 -239
  21. package/build/grammars/number.js +114 -114
  22. package/build/grammars/number.json +1 -1
  23. package/build/grammars/string.d.ts +116 -116
  24. package/build/grammars/string.js +49 -49
  25. package/build/grammars/string.json +1 -1
  26. package/build/grammars/whitespace.d.ts +51 -51
  27. package/build/grammars/whitespace.js +29 -29
  28. package/build/grammars/whitespace.json +1 -1
  29. package/build/index.d.ts +4 -4
  30. package/build/index.js +20 -20
  31. package/build/lexers/character-lexer.d.ts +27 -27
  32. package/build/lexers/character-lexer.js +70 -70
  33. package/build/lexers/stateful-lexer.d.ts +48 -48
  34. package/build/lexers/stateful-lexer.js +308 -308
  35. package/build/lexers/token-buffer.d.ts +32 -32
  36. package/build/lexers/token-buffer.js +91 -91
  37. package/build/parser/algorithms/cyk.d.ts +16 -16
  38. package/build/parser/algorithms/cyk.js +57 -57
  39. package/build/parser/algorithms/earley.d.ts +48 -48
  40. package/build/parser/algorithms/earley.js +157 -157
  41. package/build/parser/algorithms/lr.d.ts +10 -10
  42. package/build/parser/algorithms/lr.js +33 -33
  43. package/build/parser/parser.d.ts +26 -26
  44. package/build/parser/parser.js +73 -73
  45. package/build/typings.d.ts +199 -198
  46. package/build/typings.js +2 -2
  47. package/build/utility/general.d.ts +55 -55
  48. package/build/utility/general.js +175 -165
  49. package/build/utility/general.js.map +1 -1
  50. package/build/utility/lint.d.ts +2 -2
  51. package/build/utility/lint.js +27 -27
  52. package/build/utility/lr.d.ts +52 -52
  53. package/build/utility/lr.js +129 -129
  54. package/build/utility/text-format.d.ts +11 -11
  55. package/build/utility/text-format.js +83 -83
  56. package/package.json +1 -1
  57. package/src/compiler/generator.ts +1 -0
  58. package/src/compiler/outputs/typescript.ts +2 -1
  59. package/src/grammars/gwell.gwell +15 -13
  60. package/src/grammars/gwell.js +17 -13
  61. package/src/grammars/gwell.json +1 -1
  62. package/src/typings.ts +1 -0
  63. package/src/utility/general.ts +31 -19
@@ -1,213 +1,214 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Generator = void 0;
4
- const PostProcessors = {
5
- "join": "({data}) => data.join('')",
6
- "concat": "({data}) => data[0].concat([data[1]])",
7
- "null": "() => null",
8
- "first": "({data}) => data[0]"
9
- };
10
- class Generator {
11
- state = {
12
- grammar: {
13
- start: '',
14
- rules: {},
15
- uuids: {}
16
- },
17
- lexer: null,
18
- head: [],
19
- body: [],
20
- config: {},
21
- version: 'unknown',
22
- };
23
- serializeHead() {
24
- if (this.state.config.noscript)
25
- return '';
26
- return this.state.head.join('\n');
27
- }
28
- serializeBody() {
29
- if (this.state.config.noscript)
30
- return '';
31
- return this.state.body.join('\n');
32
- }
33
- serializeLanguage(depth = 0) {
34
- return this.pretty({
35
- grammar: this.serializeGrammar(depth + 1),
36
- lexer: this.serializeLexerConfig(depth + 1)
37
- }, depth);
38
- }
39
- merge(state) {
40
- Object.assign(this.state.grammar.rules, state.grammar.rules);
41
- this.state.grammar.start = state.grammar.start || this.state.grammar.start;
42
- if (state.lexer) {
43
- if (this.state.lexer) {
44
- Object.assign(this.state.lexer.states, state.lexer.states);
45
- }
46
- else {
47
- this.state.lexer = state.lexer;
48
- }
49
- this.state.lexer.start = state.lexer.start || this.state.lexer.start;
50
- }
51
- this.state.head.push(...state.head);
52
- this.state.body.push(...state.body);
53
- Object.assign(this.state.config, state.config);
54
- }
55
- grammarUUID(name) {
56
- this.state.grammar.uuids[name] = (this.state.grammar.uuids[name] || 0) + 1;
57
- return name + 'x' + this.state.grammar.uuids[name];
58
- }
59
- addGrammarRule(rule) {
60
- this.state.grammar.rules[rule.name] = this.state.grammar.rules[rule.name] || [];
61
- this.state.grammar.rules[rule.name].push(rule);
62
- }
63
- addLexerState(state) {
64
- this.state.lexer.states[state.name] = this.state.lexer.states[state.name] || { name: state.name, rules: [] };
65
- const target = this.state.lexer.states[state.name];
66
- target.default = typeof state.default == 'string' ? state.default : target.default;
67
- target.unmatched = typeof state.unmatched == 'string' ? state.unmatched : target.unmatched;
68
- target.rules.push(...state.rules);
69
- }
70
- serializeGrammar(depth = 0) {
71
- if (!this.state.grammar) {
72
- return null;
73
- }
74
- return this.pretty({
75
- start: JSON.stringify(this.state.grammar.start),
76
- rules: this.serializeGrammarRules(depth + 1)
77
- }, depth);
78
- }
79
- serializeGrammarRules(depth = 0) {
80
- const map = {};
81
- for (const rule in this.state.grammar.rules) {
82
- map[rule] = this.state.grammar.rules[rule].map(v => this.serializeGrammarRule(v));
83
- }
84
- return this.pretty(map, depth);
85
- }
86
- serializeSymbol(s) {
87
- if (typeof s === 'string') {
88
- return JSON.stringify(s);
89
- }
90
- else if ('rule' in s) {
91
- return JSON.stringify(s.rule);
92
- }
93
- else if ('regex' in s) {
94
- return `/${s.regex}/${s.flags || ''}`;
95
- }
96
- else if ('token' in s) {
97
- return `{ token: ${JSON.stringify(s.token)} }`;
98
- }
99
- else if ('literal' in s) {
100
- return `{ literal: ${JSON.stringify(s.literal)} }`;
101
- }
102
- else if ('js' in s) {
103
- return s.js;
104
- }
105
- else {
106
- return JSON.stringify(s);
107
- }
108
- }
109
- serializeGrammarRule(rule) {
110
- const symbols = [];
111
- const alias = {};
112
- for (let i = 0; i < rule.symbols.length; i++) {
113
- symbols.push(this.serializeSymbol(rule.symbols[i]));
114
- if (rule.symbols[i].alias) {
115
- alias[rule.symbols[i].alias] = i;
116
- }
117
- }
118
- return this.pretty({
119
- name: JSON.stringify(rule.name),
120
- symbols: this.pretty(symbols, -1),
121
- postprocess: this.serializePostProcess(rule.postprocess, alias)
122
- }, -1);
123
- }
124
- serializePostProcess(postprocess, alias) {
125
- if (!postprocess)
126
- return null;
127
- if ('builtin' in postprocess)
128
- return PostProcessors[postprocess.builtin];
129
- if (this.state.config.noscript)
130
- return;
131
- if (typeof postprocess == 'string')
132
- return postprocess;
133
- if ('js' in postprocess)
134
- return postprocess.js;
135
- if ('template' in postprocess)
136
- return this.templatePostProcess(postprocess.template, alias);
137
- }
138
- templatePostProcess(templateBody, alias) {
139
- for (const key in alias) {
140
- templateBody = templateBody.replace(new RegExp('(?:\\$)' + key + '(?![a-zA-Z\\d\\$_])'), `data[${alias[key]}]`);
141
- }
142
- return "({data}) => { return " + templateBody.replace(/\$(\d+)/g, "data[$1]") + "; }";
143
- }
144
- serializeLexerConfig(depth = 0) {
145
- if (!this.state.lexer)
146
- return null;
147
- if (typeof this.state.lexer === 'string')
148
- return this.state.lexer;
149
- return this.pretty({
150
- start: JSON.stringify(this.state.lexer.start),
151
- states: this.serializeLexerConfigStates(depth + 1)
152
- }, depth);
153
- }
154
- serializeLexerConfigStates(depth) {
155
- const map = {};
156
- for (const key in this.state.lexer.states) {
157
- const state = this.state.lexer.states[key];
158
- map[state.name] = this.pretty({
159
- name: JSON.stringify(state.name),
160
- default: state.default ? JSON.stringify(state.default) : null,
161
- unmatched: state.unmatched ? JSON.stringify(state.unmatched) : null,
162
- rules: this.serializeLexerConfigStateRules(state.rules, depth + 2)
163
- }, depth + 1);
164
- }
165
- return this.pretty(map, depth);
166
- }
167
- serializeLexerConfigStateRules(rules, depth) {
168
- const ary = rules.map(rule => {
169
- if ('import' in rule)
170
- return this.pretty({ import: JSON.stringify(rule.import) }, -1);
171
- return this.pretty({
172
- when: this.serializeSymbol(rule.when),
173
- type: JSON.stringify(rule.type),
174
- tag: JSON.stringify(rule.tag),
175
- pop: JSON.stringify(rule.pop),
176
- set: JSON.stringify(rule.set),
177
- inset: JSON.stringify(rule.inset),
178
- goto: JSON.stringify(rule.goto),
179
- }, -1);
180
- });
181
- return this.pretty(ary, depth);
182
- }
183
- newLine(depth) {
184
- return '\n' + ' '.repeat(depth * 4);
185
- }
186
- pretty(obj, depth = 0) {
187
- if (Array.isArray(obj)) {
188
- let r = `[`;
189
- for (let i = 0; i < obj.length; i++) {
190
- const value = obj[i];
191
- r += `${depth >= 0 ? this.newLine(depth + 1) : ' '}${value}${(this.isVal(obj[i + 1]) ? ',' : '')}`;
192
- }
193
- r += `${depth >= 0 ? this.newLine(depth) : ' '}]`;
194
- return r;
195
- }
196
- let r = `{`;
197
- const keys = Object.keys(obj).filter(v => this.isVal(obj[v]));
198
- const prefix = depth >= 0 ? this.newLine(depth + 1) : ' ';
199
- for (let i = 0; i < keys.length; i++) {
200
- const key = /[a-z_][a-z\d_$]*/i.test(keys[i]) ? keys[i] : keys[i];
201
- const value = Array.isArray(obj[keys[i]]) ? this.pretty(obj[keys[i]], depth >= 0 ? depth + 1 : -1) : obj[keys[i]];
202
- const suffix = (this.isVal(obj[keys[i + 1]]) ? ',' : '');
203
- r += `${prefix}${key}: ${value}${suffix}`;
204
- }
205
- r += `${depth >= 0 ? this.newLine(depth) : ' '}}`;
206
- return r;
207
- }
208
- isVal(value) {
209
- return typeof value !== 'undefined' && value !== null;
210
- }
211
- }
212
- exports.Generator = Generator;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Generator = void 0;
4
+ const PostProcessors = {
5
+ "join": "({data}) => data.join('')",
6
+ "concat": "({data}) => data[0].concat([data[1]])",
7
+ "null": "() => null",
8
+ "first": "({data}) => data[0]"
9
+ };
10
+ class Generator {
11
+ state = {
12
+ grammar: {
13
+ start: '',
14
+ rules: {},
15
+ uuids: {}
16
+ },
17
+ lexer: null,
18
+ head: [],
19
+ body: [],
20
+ config: {},
21
+ version: 'unknown',
22
+ };
23
+ serializeHead() {
24
+ if (this.state.config.noscript)
25
+ return '';
26
+ return this.state.head.join('\n');
27
+ }
28
+ serializeBody() {
29
+ if (this.state.config.noscript)
30
+ return '';
31
+ return this.state.body.join('\n');
32
+ }
33
+ serializeLanguage(depth = 0) {
34
+ return this.pretty({
35
+ grammar: this.serializeGrammar(depth + 1),
36
+ lexer: this.serializeLexerConfig(depth + 1)
37
+ }, depth);
38
+ }
39
+ merge(state) {
40
+ Object.assign(this.state.grammar.rules, state.grammar.rules);
41
+ this.state.grammar.start = state.grammar.start || this.state.grammar.start;
42
+ if (state.lexer) {
43
+ if (this.state.lexer) {
44
+ Object.assign(this.state.lexer.states, state.lexer.states);
45
+ }
46
+ else {
47
+ this.state.lexer = state.lexer;
48
+ }
49
+ this.state.lexer.start = state.lexer.start || this.state.lexer.start;
50
+ }
51
+ this.state.head.push(...state.head);
52
+ this.state.body.push(...state.body);
53
+ Object.assign(this.state.config, state.config);
54
+ }
55
+ grammarUUID(name) {
56
+ this.state.grammar.uuids[name] = (this.state.grammar.uuids[name] || 0) + 1;
57
+ return name + 'x' + this.state.grammar.uuids[name];
58
+ }
59
+ addGrammarRule(rule) {
60
+ this.state.grammar.rules[rule.name] = this.state.grammar.rules[rule.name] || [];
61
+ this.state.grammar.rules[rule.name].push(rule);
62
+ }
63
+ addLexerState(state) {
64
+ this.state.lexer.states[state.name] = this.state.lexer.states[state.name] || { name: state.name, rules: [] };
65
+ const target = this.state.lexer.states[state.name];
66
+ target.default = typeof state.default == 'string' ? state.default : target.default;
67
+ target.unmatched = typeof state.unmatched == 'string' ? state.unmatched : target.unmatched;
68
+ target.rules.push(...state.rules);
69
+ }
70
+ serializeGrammar(depth = 0) {
71
+ if (!this.state.grammar) {
72
+ return null;
73
+ }
74
+ return this.pretty({
75
+ start: JSON.stringify(this.state.grammar.start),
76
+ rules: this.serializeGrammarRules(depth + 1)
77
+ }, depth);
78
+ }
79
+ serializeGrammarRules(depth = 0) {
80
+ const map = {};
81
+ for (const rule in this.state.grammar.rules) {
82
+ map[rule] = this.state.grammar.rules[rule].map(v => this.serializeGrammarRule(v));
83
+ }
84
+ return this.pretty(map, depth);
85
+ }
86
+ serializeSymbol(s) {
87
+ if (typeof s === 'string') {
88
+ return JSON.stringify(s);
89
+ }
90
+ else if ('rule' in s) {
91
+ return JSON.stringify(s.rule);
92
+ }
93
+ else if ('regex' in s) {
94
+ return `/${s.regex}/${s.flags || ''}`;
95
+ }
96
+ else if ('token' in s) {
97
+ return `{ token: ${JSON.stringify(s.token)} }`;
98
+ }
99
+ else if ('literal' in s) {
100
+ return `{ literal: ${JSON.stringify(s.literal)} }`;
101
+ }
102
+ else if ('js' in s) {
103
+ return s.js;
104
+ }
105
+ else {
106
+ return JSON.stringify(s);
107
+ }
108
+ }
109
+ serializeGrammarRule(rule) {
110
+ const symbols = [];
111
+ const alias = {};
112
+ for (let i = 0; i < rule.symbols.length; i++) {
113
+ symbols.push(this.serializeSymbol(rule.symbols[i]));
114
+ if (rule.symbols[i].alias) {
115
+ alias[rule.symbols[i].alias] = i;
116
+ }
117
+ }
118
+ return this.pretty({
119
+ name: JSON.stringify(rule.name),
120
+ symbols: this.pretty(symbols, -1),
121
+ postprocess: this.serializePostProcess(rule.postprocess, alias)
122
+ }, -1);
123
+ }
124
+ serializePostProcess(postprocess, alias) {
125
+ if (!postprocess)
126
+ return null;
127
+ if ('builtin' in postprocess)
128
+ return PostProcessors[postprocess.builtin];
129
+ if (this.state.config.noscript)
130
+ return;
131
+ if (typeof postprocess == 'string')
132
+ return postprocess;
133
+ if ('js' in postprocess)
134
+ return postprocess.js;
135
+ if ('template' in postprocess)
136
+ return this.templatePostProcess(postprocess.template, alias);
137
+ }
138
+ templatePostProcess(templateBody, alias) {
139
+ for (const key in alias) {
140
+ templateBody = templateBody.replace(new RegExp('(?:\\$)' + key + '(?![a-zA-Z\\d\\$_])'), `data[${alias[key]}]`);
141
+ }
142
+ return "({data}) => { return " + templateBody.replace(/\$(\d+)/g, "data[$1]") + "; }";
143
+ }
144
+ serializeLexerConfig(depth = 0) {
145
+ if (!this.state.lexer)
146
+ return null;
147
+ if (typeof this.state.lexer === 'string')
148
+ return this.state.lexer;
149
+ return this.pretty({
150
+ start: JSON.stringify(this.state.lexer.start),
151
+ states: this.serializeLexerConfigStates(depth + 1)
152
+ }, depth);
153
+ }
154
+ serializeLexerConfigStates(depth) {
155
+ const map = {};
156
+ for (const key in this.state.lexer.states) {
157
+ const state = this.state.lexer.states[key];
158
+ map[state.name] = this.pretty({
159
+ name: JSON.stringify(state.name),
160
+ default: state.default ? JSON.stringify(state.default) : null,
161
+ unmatched: state.unmatched ? JSON.stringify(state.unmatched) : null,
162
+ rules: this.serializeLexerConfigStateRules(state.rules, depth + 2)
163
+ }, depth + 1);
164
+ }
165
+ return this.pretty(map, depth);
166
+ }
167
+ serializeLexerConfigStateRules(rules, depth) {
168
+ const ary = rules.map(rule => {
169
+ if ('import' in rule)
170
+ return this.pretty({ import: JSON.stringify(rule.import) }, -1);
171
+ return this.pretty({
172
+ when: this.serializeSymbol(rule.when),
173
+ type: JSON.stringify(rule.type),
174
+ tag: JSON.stringify(rule.tag),
175
+ pop: JSON.stringify(rule.pop),
176
+ highlight: JSON.stringify(rule.highlight),
177
+ set: JSON.stringify(rule.set),
178
+ inset: JSON.stringify(rule.inset),
179
+ goto: JSON.stringify(rule.goto),
180
+ }, -1);
181
+ });
182
+ return this.pretty(ary, depth);
183
+ }
184
+ newLine(depth) {
185
+ return '\n' + ' '.repeat(depth * 4);
186
+ }
187
+ pretty(obj, depth = 0) {
188
+ if (Array.isArray(obj)) {
189
+ let r = `[`;
190
+ for (let i = 0; i < obj.length; i++) {
191
+ const value = obj[i];
192
+ r += `${depth >= 0 ? this.newLine(depth + 1) : ' '}${value}${(this.isVal(obj[i + 1]) ? ',' : '')}`;
193
+ }
194
+ r += `${depth >= 0 ? this.newLine(depth) : ' '}]`;
195
+ return r;
196
+ }
197
+ let r = `{`;
198
+ const keys = Object.keys(obj).filter(v => this.isVal(obj[v]));
199
+ const prefix = depth >= 0 ? this.newLine(depth + 1) : ' ';
200
+ for (let i = 0; i < keys.length; i++) {
201
+ const key = /[a-z_][a-z\d_$]*/i.test(keys[i]) ? keys[i] : keys[i];
202
+ const value = Array.isArray(obj[keys[i]]) ? this.pretty(obj[keys[i]], depth >= 0 ? depth + 1 : -1) : obj[keys[i]];
203
+ const suffix = (this.isVal(obj[keys[i + 1]]) ? ',' : '');
204
+ r += `${prefix}${key}: ${value}${suffix}`;
205
+ }
206
+ r += `${depth >= 0 ? this.newLine(depth) : ' '}}`;
207
+ return r;
208
+ }
209
+ isVal(value) {
210
+ return typeof value !== 'undefined' && value !== null;
211
+ }
212
+ }
213
+ exports.Generator = Generator;
213
214
  //# sourceMappingURL=generator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"generator.js","sourceRoot":"","sources":["../../src/compiler/generator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generator.js","sourceRoot":"","sources":["../../src/compiler/generator.ts"],"names":[],"mappings":"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"}
@@ -1,15 +1,15 @@
1
- import { ImportResolver } from "../typings";
2
- export declare class FileSystemResolver implements ImportResolver {
3
- private baseDir;
4
- private readFile;
5
- private resolve;
6
- constructor(baseDir: string);
7
- path(path: string): string;
8
- body(path: string): Promise<string>;
9
- }
10
- export declare class BrowserImportResolver implements ImportResolver {
11
- private baseURL;
12
- constructor(baseURL: string);
13
- path(path: string): string;
14
- body(path: string): Promise<string>;
15
- }
1
+ import { ImportResolver } from "../typings";
2
+ export declare class FileSystemResolver implements ImportResolver {
3
+ private baseDir;
4
+ private readFile;
5
+ private resolve;
6
+ constructor(baseDir: string);
7
+ path(path: string): string;
8
+ body(path: string): Promise<string>;
9
+ }
10
+ export declare class BrowserImportResolver implements ImportResolver {
11
+ private baseURL;
12
+ constructor(baseURL: string);
13
+ path(path: string): string;
14
+ body(path: string): Promise<string>;
15
+ }
@@ -1,37 +1,37 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.BrowserImportResolver = exports.FileSystemResolver = void 0;
4
- class FileSystemResolver {
5
- baseDir;
6
- readFile;
7
- resolve;
8
- constructor(baseDir) {
9
- const { readFile } = require('fs');
10
- const { resolve, dirname } = require('path');
11
- const { promisify } = require('util');
12
- this.readFile = promisify(readFile);
13
- this.resolve = resolve;
14
- this.baseDir = baseDir ? dirname(baseDir) : process?.cwd();
15
- }
16
- path(path) {
17
- return this.resolve(this.baseDir, path);
18
- }
19
- body(path) {
20
- return this.readFile(path, 'utf-8');
21
- }
22
- }
23
- exports.FileSystemResolver = FileSystemResolver;
24
- class BrowserImportResolver {
25
- baseURL;
26
- constructor(baseURL) {
27
- this.baseURL = baseURL;
28
- }
29
- path(path) {
30
- return (new URL(path, this.baseURL)).href;
31
- }
32
- async body(path) {
33
- return (await fetch(path)).text();
34
- }
35
- }
36
- exports.BrowserImportResolver = BrowserImportResolver;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BrowserImportResolver = exports.FileSystemResolver = void 0;
4
+ class FileSystemResolver {
5
+ baseDir;
6
+ readFile;
7
+ resolve;
8
+ constructor(baseDir) {
9
+ const { readFile } = require('fs');
10
+ const { resolve, dirname } = require('path');
11
+ const { promisify } = require('util');
12
+ this.readFile = promisify(readFile);
13
+ this.resolve = resolve;
14
+ this.baseDir = baseDir ? dirname(baseDir) : process?.cwd();
15
+ }
16
+ path(path) {
17
+ return this.resolve(this.baseDir, path);
18
+ }
19
+ body(path) {
20
+ return this.readFile(path, 'utf-8');
21
+ }
22
+ }
23
+ exports.FileSystemResolver = FileSystemResolver;
24
+ class BrowserImportResolver {
25
+ baseURL;
26
+ constructor(baseURL) {
27
+ this.baseURL = baseURL;
28
+ }
29
+ path(path) {
30
+ return (new URL(path, this.baseURL)).href;
31
+ }
32
+ async body(path) {
33
+ return (await fetch(path)).text();
34
+ }
35
+ }
36
+ exports.BrowserImportResolver = BrowserImportResolver;
37
37
  //# sourceMappingURL=import-resolver.js.map
@@ -1,3 +1,3 @@
1
- import { Generator } from "../generator";
2
- export declare function JavascriptOutput(generator: Generator, exportName: string): string;
3
- export declare function ESMOutput(generator: Generator, exportName: string): string;
1
+ import { Generator } from "../generator";
2
+ export declare function JavascriptOutput(generator: Generator, exportName: string): string;
3
+ export declare function ESMOutput(generator: Generator, exportName: string): string;
@@ -1,29 +1,29 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ESMOutput = exports.JavascriptOutput = void 0;
4
- function JavascriptOutput(generator, exportName) {
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ESMOutput = exports.JavascriptOutput = void 0;
4
+ function JavascriptOutput(generator, exportName) {
5
5
  return `${Generate(generator, exportName)}
6
6
 
7
7
  if (typeof module !== 'undefined' && typeof module.exports !== 'undefined') {
8
8
  module.exports = ${exportName};
9
9
  } else {
10
10
  window.${exportName} = ${exportName};
11
- }`;
12
- }
13
- exports.JavascriptOutput = JavascriptOutput;
14
- function ESMOutput(generator, exportName) {
11
+ }`;
12
+ }
13
+ exports.JavascriptOutput = JavascriptOutput;
14
+ function ESMOutput(generator, exportName) {
15
15
  return `${Generate(generator, exportName)}
16
16
 
17
- export default ${exportName};`;
18
- }
19
- exports.ESMOutput = ESMOutput;
20
- function Generate(generator, exportName) {
17
+ export default ${exportName};`;
18
+ }
19
+ exports.ESMOutput = ESMOutput;
20
+ function Generate(generator, exportName) {
21
21
  return `// Generated automatically by Grammar-Well, version ${generator.state.version}
22
22
  // https://github.com/0x6563/grammar-well
23
23
  ${generator.serializeHead()}
24
24
  function ${exportName}(){
25
25
  ${generator.serializeBody()}
26
26
  return ${generator.serializeLanguage(1)}
27
- }`;
28
- }
27
+ }`;
28
+ }
29
29
  //# sourceMappingURL=javascript.js.map
@@ -1,2 +1,2 @@
1
- import { Generator } from "../generator";
2
- export declare function JSONFormatter(generator: Generator, exportName: any): string;
1
+ import { Generator } from "../generator";
2
+ export declare function JSONFormatter(generator: Generator, exportName: any): string;