@the_dissidents/libemmm 0.0.3 → 0.0.5

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 (125) hide show
  1. package/README.md +6 -3
  2. package/dist/index.d.mts +23 -2
  3. package/dist/index.d.ts +23 -2
  4. package/dist/index.js +157 -33
  5. package/dist/index.js.map +1 -1
  6. package/dist/index.mjs +157 -33
  7. package/dist/index.mjs.map +1 -1
  8. package/dist/src/builtin/builtin.d.ts +2 -0
  9. package/dist/src/builtin/builtin.js +18 -0
  10. package/dist/src/builtin/builtin.js.map +1 -0
  11. package/dist/src/builtin/define-modifier.d.ts +12 -0
  12. package/dist/src/builtin/define-modifier.js +129 -0
  13. package/dist/src/builtin/define-modifier.js.map +1 -0
  14. package/dist/src/builtin/define-shorthand.d.ts +14 -0
  15. package/dist/src/builtin/define-shorthand.js +178 -0
  16. package/dist/src/builtin/define-shorthand.js.map +1 -0
  17. package/dist/src/builtin/internal.d.ts +41 -0
  18. package/dist/src/builtin/internal.js +106 -0
  19. package/dist/src/builtin/internal.js.map +1 -0
  20. package/dist/src/builtin/module.d.ts +16 -0
  21. package/dist/src/builtin/module.js +156 -0
  22. package/dist/src/builtin/module.js.map +1 -0
  23. package/dist/src/builtin/slot.d.ts +7 -0
  24. package/dist/src/builtin/slot.js +136 -0
  25. package/dist/src/builtin/slot.js.map +1 -0
  26. package/dist/src/builtin/var.d.ts +12 -0
  27. package/dist/src/builtin/var.js +103 -0
  28. package/dist/src/builtin/var.js.map +1 -0
  29. package/dist/src/debug-print.d.ts +14 -0
  30. package/dist/src/debug-print.js +113 -0
  31. package/dist/src/debug-print.js.map +1 -0
  32. package/dist/src/debug.d.ts +15 -0
  33. package/dist/src/debug.js +47 -0
  34. package/dist/src/debug.js.map +1 -0
  35. package/dist/src/default/bullets.d.ts +4 -0
  36. package/dist/src/default/bullets.js +39 -0
  37. package/dist/src/default/bullets.js.map +1 -0
  38. package/dist/src/default/code.d.ts +6 -0
  39. package/dist/src/default/code.js +13 -0
  40. package/dist/src/default/code.js.map +1 -0
  41. package/dist/src/default/default.d.ts +2 -0
  42. package/dist/src/default/default.js +20 -0
  43. package/dist/src/default/default.js.map +1 -0
  44. package/dist/src/default/headings.d.ts +20 -0
  45. package/dist/src/default/headings.js +125 -0
  46. package/dist/src/default/headings.js.map +1 -0
  47. package/dist/src/default/html-renderer.d.ts +26 -0
  48. package/dist/src/default/html-renderer.js +108 -0
  49. package/dist/src/default/html-renderer.js.map +1 -0
  50. package/dist/src/default/inline-styles.d.ts +4 -0
  51. package/dist/src/default/inline-styles.js +24 -0
  52. package/dist/src/default/inline-styles.js.map +1 -0
  53. package/dist/src/default/misc.d.ts +6 -0
  54. package/dist/src/default/misc.js +112 -0
  55. package/dist/src/default/misc.js.map +1 -0
  56. package/dist/src/default/notes.d.ts +28 -0
  57. package/dist/src/default/notes.js +109 -0
  58. package/dist/src/default/notes.js.map +1 -0
  59. package/dist/src/default/quotes.d.ts +4 -0
  60. package/dist/src/default/quotes.js +36 -0
  61. package/dist/src/default/quotes.js.map +1 -0
  62. package/dist/src/default/vars.d.ts +2 -0
  63. package/dist/src/default/vars.js +39 -0
  64. package/dist/src/default/vars.js.map +1 -0
  65. package/dist/src/index.d.ts +13 -0
  66. package/dist/src/index.js +58 -0
  67. package/dist/src/index.js.map +1 -0
  68. package/dist/src/interface.d.ts +174 -0
  69. package/dist/src/interface.js +93 -0
  70. package/dist/src/interface.js.map +1 -0
  71. package/dist/src/messages.d.ts +165 -0
  72. package/dist/src/messages.js +279 -0
  73. package/dist/src/messages.js.map +1 -0
  74. package/dist/src/modifier-helper.d.ts +6 -0
  75. package/dist/src/modifier-helper.js +113 -0
  76. package/dist/src/modifier-helper.js.map +1 -0
  77. package/dist/src/parser-config.d.ts +44 -0
  78. package/dist/src/parser-config.js +67 -0
  79. package/dist/src/parser-config.js.map +1 -0
  80. package/dist/src/parser.d.ts +3 -0
  81. package/dist/src/parser.js +652 -0
  82. package/dist/src/parser.js.map +1 -0
  83. package/dist/src/renderer.d.ts +49 -0
  84. package/dist/src/renderer.js +81 -0
  85. package/dist/src/renderer.js.map +1 -0
  86. package/dist/src/scanner.d.ts +22 -0
  87. package/dist/src/scanner.js +50 -0
  88. package/dist/src/scanner.js.map +1 -0
  89. package/dist/src/temp.d.ts +1 -0
  90. package/dist/src/temp.js +108 -0
  91. package/dist/src/temp.js.map +1 -0
  92. package/dist/src/typing-helper.d.ts +7 -0
  93. package/dist/src/typing-helper.js +3 -0
  94. package/dist/src/typing-helper.js.map +1 -0
  95. package/dist/src/util.d.ts +29 -0
  96. package/dist/src/util.js +177 -0
  97. package/dist/src/util.js.map +1 -0
  98. package/dist/tests/advanced_syntax.test.d.ts +1 -0
  99. package/dist/tests/advanced_syntax.test.js +180 -0
  100. package/dist/tests/advanced_syntax.test.js.map +1 -0
  101. package/dist/tests/basic_syntax.test.d.ts +1 -0
  102. package/dist/tests/basic_syntax.test.js +431 -0
  103. package/dist/tests/basic_syntax.test.js.map +1 -0
  104. package/dist/tests/default/headings.test.d.ts +1 -0
  105. package/dist/tests/default/headings.test.js +90 -0
  106. package/dist/tests/default/headings.test.js.map +1 -0
  107. package/dist/tests/define_block.test.d.ts +1 -0
  108. package/dist/tests/define_block.test.js +209 -0
  109. package/dist/tests/define_block.test.js.map +1 -0
  110. package/dist/tests/define_inline.test.d.ts +1 -0
  111. package/dist/tests/define_inline.test.js +289 -0
  112. package/dist/tests/define_inline.test.js.map +1 -0
  113. package/dist/tests/modules.test.d.ts +1 -0
  114. package/dist/tests/modules.test.js +137 -0
  115. package/dist/tests/modules.test.js.map +1 -0
  116. package/dist/tests/shorthands.test.d.ts +1 -0
  117. package/dist/tests/shorthands.test.js +79 -0
  118. package/dist/tests/shorthands.test.js.map +1 -0
  119. package/dist/tsup.config.d.ts +2 -0
  120. package/dist/tsup.config.js +12 -0
  121. package/dist/tsup.config.js.map +1 -0
  122. package/dist/vitest.config.d.ts +2 -0
  123. package/dist/vitest.config.js +17 -0
  124. package/dist/vitest.config.js.map +1 -0
  125. package/package.json +1 -1
@@ -0,0 +1,289 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ const vitest_1 = require("vitest");
37
+ const builtin_1 = require("../src/builtin/builtin");
38
+ const scanner_1 = require("../src/scanner");
39
+ const Parser = __importStar(require("../src/parser"));
40
+ const interface_1 = require("../src/interface");
41
+ const debug_1 = require("../src/debug");
42
+ const parser_config_1 = require("../src/parser-config");
43
+ const TestConfig = parser_config_1.Configuration.from(builtin_1.BuiltinConfiguration);
44
+ TestConfig.blockModifiers.add(new interface_1.BlockModifierDefinition('normal', interface_1.ModifierSlotType.Normal));
45
+ TestConfig.inlineModifiers.add(new interface_1.InlineModifierDefinition('test', interface_1.ModifierSlotType.Normal), new interface_1.InlineModifierDefinition('pre', interface_1.ModifierSlotType.Preformatted));
46
+ function parse(src) {
47
+ const config = parser_config_1.Configuration.from(TestConfig);
48
+ let doc = Parser.parse(new scanner_1.SimpleScanner(src), new parser_config_1.ParseContext(config)).toStripped();
49
+ return doc;
50
+ }
51
+ debug_1.debug.level = debug_1.DebugLevel.Warning;
52
+ (0, vitest_1.describe)('[-define-inline]', () => {
53
+ (0, vitest_1.test)('literal and empty', () => {
54
+ let doc = parse(`[-define-inline p]abc\n\n[/p;]`);
55
+ vitest_1.expect.soft(doc.messages).toMatchObject([]);
56
+ vitest_1.expect.soft(doc.root.content).toMatchObject([
57
+ { type: interface_1.NodeType.Paragraph, content: [{ type: interface_1.NodeType.Text, content: 'abc' }] }
58
+ ]);
59
+ doc = parse(`[-define-inline p;]\n\n[/p;]`);
60
+ vitest_1.expect.soft(doc.messages).toMatchObject([]);
61
+ vitest_1.expect.soft(doc.root.content).toMatchObject([
62
+ { type: interface_1.NodeType.Paragraph, content: [] }
63
+ ]);
64
+ });
65
+ (0, vitest_1.test)('slots: normal', () => {
66
+ let doc = parse(`[-define-inline p][/slot]\n\n[/p]abc[;][/p][/test]def[;][;]`);
67
+ vitest_1.expect.soft(doc.messages).toMatchObject([]);
68
+ vitest_1.expect.soft(doc.root.content).toMatchObject([
69
+ { type: interface_1.NodeType.Paragraph, content: [
70
+ { type: interface_1.NodeType.Text, content: 'abc' },
71
+ { type: interface_1.NodeType.InlineModifier, content: [
72
+ { type: interface_1.NodeType.Text, content: 'def' }
73
+ ] }
74
+ ] },
75
+ ]);
76
+ });
77
+ (0, vitest_1.test)('slots: preformatted', () => {
78
+ let doc = parse(`[-define-inline p][/pre-slot]\n\n[/p]abc[;][/p][/test]def[;][;]`);
79
+ vitest_1.expect.soft(doc.messages).toMatchObject([]);
80
+ vitest_1.expect.soft(doc.root.content).toMatchObject([
81
+ { type: interface_1.NodeType.Paragraph, content: [
82
+ { type: interface_1.NodeType.Text, content: 'abc' },
83
+ { type: interface_1.NodeType.Text, content: '[/test]def' },
84
+ { type: interface_1.NodeType.Text, content: '[;]' },
85
+ ] },
86
+ ]);
87
+ });
88
+ (0, vitest_1.test)('slots: injection', () => {
89
+ let doc = parse(`[-define-inline p][/inject-pre-slot pre]\n\n[/p][/test]def[;][;]`);
90
+ vitest_1.expect.soft(doc.messages).toMatchObject([]);
91
+ vitest_1.expect.soft(doc.root.content).toMatchObject([
92
+ { type: interface_1.NodeType.Paragraph, content: [
93
+ { type: interface_1.NodeType.InlineModifier, content: [
94
+ { type: interface_1.NodeType.Text, content: '[/test]def' }
95
+ ] },
96
+ { type: interface_1.NodeType.Text, content: '[;]' },
97
+ ] },
98
+ ]);
99
+ });
100
+ (0, vitest_1.test)('slots: multiple instantiations', () => {
101
+ let doc = parse(`[-define-inline p]\n:--\n[-var x:0][/slot][-var x:1][/slot]\n--:\n[/p][/$x][;]`);
102
+ vitest_1.expect.soft(doc.messages).toMatchObject([]);
103
+ vitest_1.expect.soft(doc.root.content).toMatchObject([
104
+ { type: interface_1.NodeType.Paragraph, content: [
105
+ { type: interface_1.NodeType.Text, content: '0' },
106
+ { type: interface_1.NodeType.Text, content: '1' }
107
+ ] },
108
+ ]);
109
+ });
110
+ (0, vitest_1.test)('slots: reference in separate scopes', () => {
111
+ let doc = parse(`[-define-inline p]a[/slot]\n\n[-define-inline q][/p]b[/slot][;]\n\n[/q]c[;]`);
112
+ vitest_1.expect.soft(doc.messages).toMatchObject([]);
113
+ vitest_1.expect.soft(doc.root.content).toMatchObject([
114
+ { type: interface_1.NodeType.Paragraph, content: [
115
+ { type: interface_1.NodeType.Text, content: 'a' },
116
+ { type: interface_1.NodeType.Text, content: 'b' },
117
+ { type: interface_1.NodeType.Text, content: 'c' }
118
+ ] },
119
+ ]);
120
+ });
121
+ (0, vitest_1.test)('slots: unnamed reference in nested scopes', () => {
122
+ let doc = parse(`[-define-inline p]\n:--\n[/slot][-define-inline q][/slot]\n--:\n[/p]abc[;][/q]def[;]`);
123
+ vitest_1.expect.soft(doc.messages).toMatchObject([]);
124
+ vitest_1.expect.soft(doc.root.content).toMatchObject([
125
+ { type: interface_1.NodeType.Paragraph, content: [
126
+ { type: interface_1.NodeType.Text, content: 'abc' },
127
+ { type: interface_1.NodeType.Text, content: 'def' }
128
+ ] },
129
+ ]);
130
+ });
131
+ (0, vitest_1.test)('slots: named reference in nested scopes', () => {
132
+ let doc = parse(`[-define-inline p:(0)]\n[-define-inline q:(1)]\n:--\n[/slot 0][/slot 1]\n--:\n[/p]abc[;][/q]def[;]`);
133
+ vitest_1.expect.soft(doc.messages).toMatchObject([]);
134
+ vitest_1.expect.soft(doc.root.content).toMatchObject([
135
+ { type: interface_1.NodeType.Paragraph, content: [
136
+ { type: interface_1.NodeType.Text, content: 'abc' },
137
+ { type: interface_1.NodeType.Text, content: 'def' }
138
+ ] },
139
+ ]);
140
+ });
141
+ (0, vitest_1.test)('arguments: simple', () => {
142
+ let doc = parse(`[-define-inline p:arg1:arg2][/$arg1][/$arg2]\n\n[/p:abc:def;]`);
143
+ vitest_1.expect.soft(doc.messages).toMatchObject([]);
144
+ vitest_1.expect.soft(doc.root.content).toMatchObject([
145
+ { type: interface_1.NodeType.Paragraph, content: [
146
+ { type: interface_1.NodeType.Text, content: 'abc' },
147
+ { type: interface_1.NodeType.Text, content: 'def' }
148
+ ] }
149
+ ]);
150
+ });
151
+ (0, vitest_1.test)('arguments: shadows variable', () => {
152
+ let doc = parse(`[-define-inline p:x][/$x]\n\n[-var x:0][/p:1;]`);
153
+ vitest_1.expect.soft(doc.messages).toMatchObject([]);
154
+ vitest_1.expect.soft(doc.root.content).toMatchObject([
155
+ { type: interface_1.NodeType.Paragraph, content: [
156
+ { type: interface_1.NodeType.Text, content: '1' }
157
+ ] }
158
+ ]);
159
+ doc = parse(`[-define-inline p:x]\n:--\n[/slot][/$x]\n--:\n[-var x:0][/p:1][/$x][;]`);
160
+ vitest_1.expect.soft(doc.messages).toMatchObject([]);
161
+ vitest_1.expect.soft(doc.root.content).toMatchObject([
162
+ { type: interface_1.NodeType.Paragraph, content: [
163
+ { type: interface_1.NodeType.Text, content: '0' },
164
+ { type: interface_1.NodeType.Text, content: '1' }
165
+ ] }
166
+ ]);
167
+ });
168
+ (0, vitest_1.test)('arguments: no reference in user scope (modifier)', () => {
169
+ let doc = parse(`[-define-inline p:x]\n:--\n[/slot][/$x]\n--:\n[/p:1][/$x][;]`);
170
+ vitest_1.expect.soft(doc.messages).toMatchObject([
171
+ { code: 5, severity: interface_1.MessageSeverity.Warning }
172
+ ]);
173
+ vitest_1.expect.soft(doc.root.content).toMatchObject([
174
+ { type: interface_1.NodeType.Paragraph, content: [
175
+ { type: interface_1.NodeType.Text, content: '1' }
176
+ ] }
177
+ ]);
178
+ });
179
+ (0, vitest_1.test)('arguments: no reference in user scope (interp)', () => {
180
+ let doc = parse(`[-define-inline p:x]\n:--\n[/slot][/print $(x)]\n--:\n[/p:1][/print $(x)][;]`);
181
+ vitest_1.expect.soft(doc.messages).toMatchObject([
182
+ { code: 5, severity: interface_1.MessageSeverity.Error }
183
+ ]);
184
+ vitest_1.expect.soft(doc.root.content).toMatchObject([
185
+ { type: interface_1.NodeType.Paragraph, content: [
186
+ { type: interface_1.NodeType.Text, content: '1' }
187
+ ] }
188
+ ]);
189
+ });
190
+ (0, vitest_1.test)('arguments: reference in separate scopes (modifier)', () => {
191
+ let doc = parse(`[-define-inline p:x][/$x]\n\n[-define-inline q:x][/p 0;][/$x]\n\n[/q:1;]`);
192
+ vitest_1.expect.soft(doc.messages).toMatchObject([]);
193
+ vitest_1.expect.soft(doc.root.content).toMatchObject([
194
+ { type: interface_1.NodeType.Paragraph, content: [
195
+ { type: interface_1.NodeType.Text, content: '0' },
196
+ { type: interface_1.NodeType.Text, content: '1' }
197
+ ] }
198
+ ]);
199
+ });
200
+ (0, vitest_1.test)('arguments: reference in separate scopes (interp)', () => {
201
+ let doc = parse(`[-define-inline p:x][/print $(x)]\n\n[-define-inline q:x][/p 0;][/print $(x)]\n\n[/q:1;]`);
202
+ vitest_1.expect.soft(doc.messages).toMatchObject([]);
203
+ vitest_1.expect.soft(doc.root.content).toMatchObject([
204
+ { type: interface_1.NodeType.Paragraph, content: [
205
+ { type: interface_1.NodeType.Text, content: '0' },
206
+ { type: interface_1.NodeType.Text, content: '1' }
207
+ ] }
208
+ ]);
209
+ });
210
+ (0, vitest_1.test)('arguments: reference in nested scopes (modifier)', () => {
211
+ let doc = parse(`[-define-inline p:x][-define-inline q:x][/$x]\n\n[/p:0;][/q:1;]`);
212
+ vitest_1.expect.soft(doc.messages).toMatchObject([]);
213
+ vitest_1.expect.soft(doc.root.content).toMatchObject([
214
+ { type: interface_1.NodeType.Paragraph, content: [{ type: interface_1.NodeType.Text, content: '1' }] }
215
+ ]);
216
+ });
217
+ (0, vitest_1.test)('arguments: reference in nested scopes (interp)', () => {
218
+ let doc = parse(`[-define-inline p:x][-define-inline q:x][/print $(x)]\n\n[/p:0;][/q:1;]`);
219
+ vitest_1.expect.soft(doc.messages).toMatchObject([]);
220
+ vitest_1.expect.soft(doc.root.content).toMatchObject([
221
+ { type: interface_1.NodeType.Paragraph, content: [{ type: interface_1.NodeType.Text, content: '1' }] }
222
+ ]);
223
+ });
224
+ (0, vitest_1.test)('error - invalid slot names', () => {
225
+ let doc = parse(`[-define-inline p][/slot 0]\n\n[/p]abc[;]`);
226
+ vitest_1.expect.soft(doc.messages).toMatchObject([
227
+ { severity: interface_1.MessageSeverity.Error, code: 6 }
228
+ ]);
229
+ vitest_1.expect.soft(doc.root.content).toMatchObject([
230
+ { type: interface_1.NodeType.Paragraph, content: [] }
231
+ ]);
232
+ });
233
+ (0, vitest_1.test)('error - slot outside definition', () => {
234
+ let doc = parse(`[.normal][/slot]`);
235
+ vitest_1.expect.soft(doc.messages).toMatchObject([
236
+ { severity: interface_1.MessageSeverity.Error, code: 9 }
237
+ ]);
238
+ vitest_1.expect.soft(doc.root.content).toMatchObject([{
239
+ type: interface_1.NodeType.BlockModifier, mod: { name: 'normal' },
240
+ content: [{ type: interface_1.NodeType.Paragraph, content: [] }]
241
+ }]);
242
+ doc = parse(`[-define-inline p][/slot]\n\n[/p][/slot][;]`);
243
+ vitest_1.expect.soft(doc.messages).toMatchObject([
244
+ { severity: interface_1.MessageSeverity.Error, code: 9 }
245
+ ]);
246
+ vitest_1.expect.soft(doc.root.content).toMatchObject([
247
+ { type: interface_1.NodeType.Paragraph, content: [] }
248
+ ]);
249
+ });
250
+ (0, vitest_1.test)('error - mixing up pre and normal slots', () => {
251
+ let doc = parse(`[-define-inline p][/inject-pre-slot pre][/slot]`);
252
+ vitest_1.expect.soft(doc.messages).toMatchObject([
253
+ { severity: interface_1.MessageSeverity.Error, code: 12 }
254
+ ]);
255
+ doc = parse(`[-define-inline p][/slot][/inject-pre-slot pre]`);
256
+ vitest_1.expect.soft(doc.messages).toMatchObject([
257
+ { severity: interface_1.MessageSeverity.Error, code: 12 }
258
+ ]);
259
+ doc = parse(`[-define-inline p][/pre-slot][/slot]`);
260
+ vitest_1.expect.soft(doc.messages).toMatchObject([
261
+ { severity: interface_1.MessageSeverity.Error, code: 12 }
262
+ ]);
263
+ doc = parse(`[-define-inline p][/slot][/pre-slot]`);
264
+ vitest_1.expect.soft(doc.messages).toMatchObject([
265
+ { severity: interface_1.MessageSeverity.Error, code: 12 }
266
+ ]);
267
+ });
268
+ (0, vitest_1.test)('warning - redefiniton', () => {
269
+ let doc = parse(`[-define-inline p]abc\n\n[-define-inline p]def\n\n[/p;]`);
270
+ vitest_1.expect.soft(doc.messages).toMatchObject([
271
+ { severity: interface_1.MessageSeverity.Warning, code: 4 }
272
+ ]);
273
+ vitest_1.expect.soft(doc.root.content).toMatchObject([
274
+ { type: interface_1.NodeType.Paragraph, content: [{ type: interface_1.NodeType.Text, content: 'def' }] }
275
+ ]);
276
+ });
277
+ });
278
+ (0, vitest_1.describe)('mixed block and inline definitions', () => {
279
+ (0, vitest_1.test)('argument reference', () => {
280
+ let doc = parse(`[-define-block p:x]\n:--\n[/$x]\n[.slot]\n[/$x]\n--:\n[-define-inline q:x][/$x]\n\n[.p:0][/q:1;]`);
281
+ vitest_1.expect.soft(doc.messages).toMatchObject([]);
282
+ vitest_1.expect.soft(doc.root.content).toMatchObject([
283
+ { type: interface_1.NodeType.Paragraph, content: [{ type: interface_1.NodeType.Text, content: '0' }] },
284
+ { type: interface_1.NodeType.Paragraph, content: [{ type: interface_1.NodeType.Text, content: '1' }] },
285
+ { type: interface_1.NodeType.Paragraph, content: [{ type: interface_1.NodeType.Text, content: '0' }] },
286
+ ]);
287
+ });
288
+ });
289
+ //# sourceMappingURL=define_inline.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"define_inline.test.js","sourceRoot":"","sources":["../../tests/define_inline.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,137 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ const vitest_1 = require("vitest");
37
+ const builtin_1 = require("../src/builtin/builtin");
38
+ const scanner_1 = require("../src/scanner");
39
+ const Parser = __importStar(require("../src/parser"));
40
+ const interface_1 = require("../src/interface");
41
+ const debug_1 = require("../src/debug");
42
+ const parser_config_1 = require("../src/parser-config");
43
+ const TestConfig = parser_config_1.Configuration.from(builtin_1.BuiltinConfiguration);
44
+ TestConfig.blockModifiers.add(new interface_1.BlockModifierDefinition('normal', interface_1.ModifierSlotType.Normal));
45
+ function parse(src) {
46
+ const config = parser_config_1.Configuration.from(TestConfig);
47
+ let doc = Parser.parse(new scanner_1.SimpleScanner(src), new parser_config_1.ParseContext(config)).toStripped();
48
+ return doc;
49
+ }
50
+ debug_1.debug.level = debug_1.DebugLevel.Warning;
51
+ (0, vitest_1.describe)('modules', () => {
52
+ (0, vitest_1.test)('content scoping: shorthands', () => {
53
+ let doc = parse(`[.module test][-inline-shorthand p] 123\n\np\n[.use test] p\n\np`);
54
+ vitest_1.expect.soft(doc.messages).toMatchObject([]);
55
+ vitest_1.expect.soft(doc.root.content).toMatchObject([
56
+ { type: interface_1.NodeType.Paragraph, content: [{ type: interface_1.NodeType.Text, content: 'p' }] },
57
+ { type: interface_1.NodeType.Paragraph, content: [{ type: interface_1.NodeType.Text, content: '123' }] },
58
+ { type: interface_1.NodeType.Paragraph, content: [{ type: interface_1.NodeType.Text, content: 'p' }] }
59
+ ]);
60
+ });
61
+ (0, vitest_1.test)('content scoping: modifiers', () => {
62
+ let doc = parse(`[.module test]:--\n[-define-inline p]123\n[-define-block q]456\n--:\n[/p;]\n[.q;]\n[.use test]:--\n[/p;]\n[.q;]\n--:\n[/p;]\n[.q;]`);
63
+ vitest_1.expect.soft(doc.messages).toMatchObject([
64
+ { code: 2, what: 'p' },
65
+ { code: 2, what: 'q' },
66
+ { code: 2, what: 'p' },
67
+ { code: 2, what: 'q' },
68
+ ]);
69
+ vitest_1.expect.soft(doc.root.content).toMatchObject([
70
+ { type: interface_1.NodeType.Paragraph, content: [{ type: interface_1.NodeType.InlineModifier }] },
71
+ { type: interface_1.NodeType.BlockModifier },
72
+ { type: interface_1.NodeType.Paragraph, content: [{ type: interface_1.NodeType.Text, content: '123' }] },
73
+ { type: interface_1.NodeType.Paragraph, content: [{ type: interface_1.NodeType.Text, content: '456' }] },
74
+ { type: interface_1.NodeType.Paragraph, content: [{ type: interface_1.NodeType.InlineModifier }] },
75
+ { type: interface_1.NodeType.BlockModifier },
76
+ ]);
77
+ });
78
+ (0, vitest_1.test)('preserves outer definitions', () => {
79
+ let doc = parse(`[-define-inline p]123\n[-define-block q]456\n[-inline-shorthand r]789\n[.module test][-inline-shorthand s] abc\n\n[/p;]\n[.q;]\nrs\n[.use test]:--\n[/p;]\n[.q;]\nrs\n--:\n[/p;]\n[.q;]\nrs`);
80
+ vitest_1.expect.soft(doc.messages).toMatchObject([]);
81
+ vitest_1.expect.soft(doc.root.content).toMatchObject([
82
+ { type: interface_1.NodeType.Paragraph, content: [{ type: interface_1.NodeType.Text, content: '123' }] },
83
+ { type: interface_1.NodeType.Paragraph, content: [{ type: interface_1.NodeType.Text, content: '456' }] },
84
+ { type: interface_1.NodeType.Paragraph, content: [
85
+ { type: interface_1.NodeType.Text, content: '789' },
86
+ { type: interface_1.NodeType.Text, content: 's' }
87
+ ] },
88
+ { type: interface_1.NodeType.Paragraph, content: [{ type: interface_1.NodeType.Text, content: '123' }] },
89
+ { type: interface_1.NodeType.Paragraph, content: [{ type: interface_1.NodeType.Text, content: '456' }] },
90
+ { type: interface_1.NodeType.Paragraph, content: [
91
+ { type: interface_1.NodeType.Text, content: '789' },
92
+ { type: interface_1.NodeType.Text, content: 'abc' }
93
+ ] },
94
+ { type: interface_1.NodeType.Paragraph, content: [{ type: interface_1.NodeType.Text, content: '123' }] },
95
+ { type: interface_1.NodeType.Paragraph, content: [{ type: interface_1.NodeType.Text, content: '456' }] },
96
+ { type: interface_1.NodeType.Paragraph, content: [
97
+ { type: interface_1.NodeType.Text, content: '789' },
98
+ { type: interface_1.NodeType.Text, content: 's' }
99
+ ] },
100
+ ]);
101
+ });
102
+ (0, vitest_1.test)('definition merging', () => {
103
+ let doc = parse(`[.module a][-define-inline p]123\n[.use a][/p;]\n[.module a][-inline-shorthand q]456\n[.use a]q[/p;]`);
104
+ vitest_1.expect.soft(doc.messages).toMatchObject([]);
105
+ vitest_1.expect.soft(doc.root.content).toMatchObject([
106
+ { type: interface_1.NodeType.Paragraph, content: [{ type: interface_1.NodeType.Text, content: '123' }] },
107
+ { type: interface_1.NodeType.Paragraph, content: [
108
+ { type: interface_1.NodeType.Text, content: '456' },
109
+ { type: interface_1.NodeType.Text, content: '123' }
110
+ ] },
111
+ ]);
112
+ });
113
+ (0, vitest_1.test)('error: nested modules', () => {
114
+ let doc = parse(`[.module a][.module b;]`);
115
+ vitest_1.expect.soft(doc.messages).toMatchObject([
116
+ { code: 10, severity: interface_1.MessageSeverity.Error }
117
+ ]);
118
+ vitest_1.expect.soft(doc.root.content).toMatchObject([]);
119
+ });
120
+ (0, vitest_1.test)('error: use self', () => {
121
+ let doc = parse(`[.module a]123\n[.module a][.use a]456`);
122
+ vitest_1.expect.soft(doc.messages).toMatchObject([
123
+ { code: 11, severity: interface_1.MessageSeverity.Error }
124
+ ]);
125
+ vitest_1.expect.soft(doc.root.content).toMatchObject([]);
126
+ });
127
+ (0, vitest_1.test)('warning: overwrite definitions', () => {
128
+ let doc = parse(`[.module a][-inline-shorthand p]123\n[-inline-shorthand p]456\n[.use a]p`);
129
+ vitest_1.expect.soft(doc.messages).toMatchObject([
130
+ { code: 6, severity: interface_1.MessageSeverity.Warning }
131
+ ]);
132
+ vitest_1.expect.soft(doc.root.content).toMatchObject([
133
+ { type: interface_1.NodeType.Paragraph, content: [{ type: interface_1.NodeType.Text, content: '123' }] }
134
+ ]);
135
+ });
136
+ });
137
+ //# sourceMappingURL=modules.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"modules.test.js","sourceRoot":"","sources":["../../tests/modules.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,79 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ const vitest_1 = require("vitest");
37
+ const builtin_1 = require("../src/builtin/builtin");
38
+ const scanner_1 = require("../src/scanner");
39
+ const Parser = __importStar(require("../src/parser"));
40
+ const interface_1 = require("../src/interface");
41
+ const debug_1 = require("../src/debug");
42
+ const parser_config_1 = require("../src/parser-config");
43
+ const TestConfig = parser_config_1.Configuration.from(builtin_1.BuiltinConfiguration);
44
+ TestConfig.blockModifiers.add(new interface_1.BlockModifierDefinition('normal', interface_1.ModifierSlotType.Normal));
45
+ function parse(src) {
46
+ const config = parser_config_1.Configuration.from(TestConfig);
47
+ let doc = Parser.parse(new scanner_1.SimpleScanner(src), new parser_config_1.ParseContext(config)).toStripped();
48
+ return doc;
49
+ }
50
+ debug_1.debug.level = debug_1.DebugLevel.Warning;
51
+ (0, vitest_1.describe)('inline shorthands', () => {
52
+ (0, vitest_1.test)('literal and empty', () => {
53
+ let doc = parse(`[-inline-shorthand p] 123\n\np`);
54
+ vitest_1.expect.soft(doc.messages).toMatchObject([]);
55
+ vitest_1.expect.soft(doc.root.content).toMatchObject([
56
+ { type: interface_1.NodeType.Paragraph, content: [{ type: interface_1.NodeType.Text, content: '123' }] }
57
+ ]);
58
+ doc = parse(`[-inline-shorthand p;]\n\np`);
59
+ vitest_1.expect.soft(doc.messages).toMatchObject([]);
60
+ vitest_1.expect.soft(doc.root.content).toMatchObject([
61
+ { type: interface_1.NodeType.Paragraph, content: [] }
62
+ ]);
63
+ });
64
+ (0, vitest_1.test)('arguments: reference (interp)', () => {
65
+ let doc = parse(`[-inline-shorthand p:x:p][/print $(x)]\n\np1p`);
66
+ vitest_1.expect.soft(doc.messages).toMatchObject([]);
67
+ vitest_1.expect.soft(doc.root.content).toMatchObject([
68
+ { type: interface_1.NodeType.Paragraph, content: [{ type: interface_1.NodeType.Text, content: '1' }] }
69
+ ]);
70
+ });
71
+ (0, vitest_1.test)('arguments: reference (modifier)', () => {
72
+ let doc = parse(`[-inline-shorthand p:x:p][/$x]\n\np1p`);
73
+ vitest_1.expect.soft(doc.messages).toMatchObject([]);
74
+ vitest_1.expect.soft(doc.root.content).toMatchObject([
75
+ { type: interface_1.NodeType.Paragraph, content: [{ type: interface_1.NodeType.Text, content: '1' }] }
76
+ ]);
77
+ });
78
+ });
79
+ //# sourceMappingURL=shorthands.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shorthands.test.js","sourceRoot":"","sources":["../../tests/shorthands.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ declare const _default: import("tsup").Options | import("tsup").Options[] | ((overrideOptions: import("tsup").Options) => import("tsup").Options | import("tsup").Options[] | Promise<import("tsup").Options | import("tsup").Options[]>);
2
+ export default _default;
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tsup_1 = require("tsup");
4
+ exports.default = (0, tsup_1.defineConfig)({
5
+ entry: ["src/index.ts"],
6
+ format: ["cjs", "esm"], // Build for commonJS and ESmodules
7
+ dts: true, // Generate declaration file (.d.ts)
8
+ splitting: false,
9
+ sourcemap: true,
10
+ clean: true,
11
+ });
12
+ //# sourceMappingURL=tsup.config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tsup.config.js","sourceRoot":"","sources":["../tsup.config.ts"],"names":[],"mappings":";;AAAA,+BAAoC;AAEpC,kBAAe,IAAA,mBAAY,EAAC;IAC1B,KAAK,EAAE,CAAC,cAAc,CAAC;IACvB,MAAM,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,mCAAmC;IAC3D,GAAG,EAAE,IAAI,EAAE,oCAAoC;IAC/C,SAAS,EAAE,KAAK;IAChB,SAAS,EAAE,IAAI;IACf,KAAK,EAAE,IAAI;CACZ,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ declare const _default: import("vite").UserConfig;
2
+ export default _default;
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const config_1 = require("vitest/config");
4
+ exports.default = (0, config_1.defineConfig)({
5
+ test: {
6
+ coverage: {
7
+ provider: 'istanbul',
8
+ exclude: [
9
+ 'src/debug.ts',
10
+ 'src/temp.ts',
11
+ 'src/typing-helper.ts',
12
+ ...config_1.coverageConfigDefaults.exclude
13
+ ]
14
+ }
15
+ }
16
+ });
17
+ //# sourceMappingURL=vitest.config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vitest.config.js","sourceRoot":"","sources":["../vitest.config.ts"],"names":[],"mappings":";;AAAA,0CAAoE;AAEpE,kBAAe,IAAA,qBAAY,EAAC;IAC1B,IAAI,EAAE;QACJ,QAAQ,EAAE;YACN,QAAQ,EAAE,UAAU;YACpB,OAAO,EAAE;gBACL,cAAc;gBACd,aAAa;gBACb,sBAAsB;gBACtB,GAAG,+BAAsB,CAAC,OAAO;aACpC;SACJ;KACF;CACF,CAAC,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@the_dissidents/libemmm",
3
- "version": "0.0.3",
3
+ "version": "0.0.5",
4
4
  "description": "parser and language server for the emmm markup language",
5
5
  "main": "./dist/index.js",
6
6
  "module": "./dist/index.mjs",