@sharpee/transcript-tester 0.9.62-beta → 0.9.66-beta

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 (157) hide show
  1. package/cli.d.ts.map +1 -0
  2. package/cli.js.map +1 -0
  3. package/condition-evaluator.d.ts.map +1 -0
  4. package/condition-evaluator.js.map +1 -0
  5. package/{dist-esm/fast-cli.d.ts → fast-cli.d.ts} +1 -1
  6. package/fast-cli.d.ts.map +1 -0
  7. package/{dist/fast-cli.js → fast-cli.js} +1 -1
  8. package/fast-cli.js.map +1 -0
  9. package/index.d.ts.map +1 -0
  10. package/index.js.map +1 -0
  11. package/navigator.d.ts.map +1 -0
  12. package/navigator.js.map +1 -0
  13. package/package.json +17 -27
  14. package/parser.d.ts.map +1 -0
  15. package/parser.js.map +1 -0
  16. package/reporter.d.ts.map +1 -0
  17. package/reporter.js.map +1 -0
  18. package/runner.d.ts.map +1 -0
  19. package/runner.js.map +1 -0
  20. package/{dist/story-loader.d.ts → story-loader.d.ts} +2 -2
  21. package/story-loader.d.ts.map +1 -0
  22. package/{dist-npm/story-loader.js → story-loader.js} +5 -5
  23. package/story-loader.js.map +1 -0
  24. package/types.d.ts.map +1 -0
  25. package/types.js.map +1 -0
  26. package/.turbo/turbo-build.log +0 -4
  27. package/LICENSE +0 -21
  28. package/dist/cli.d.ts +0 -11
  29. package/dist/cli.d.ts.map +0 -1
  30. package/dist/cli.js +0 -367
  31. package/dist/cli.js.map +0 -1
  32. package/dist/condition-evaluator.d.ts +0 -30
  33. package/dist/condition-evaluator.d.ts.map +0 -1
  34. package/dist/condition-evaluator.js +0 -314
  35. package/dist/condition-evaluator.js.map +0 -1
  36. package/dist/fast-cli.d.ts +0 -13
  37. package/dist/fast-cli.d.ts.map +0 -1
  38. package/dist/fast-cli.js.map +0 -1
  39. package/dist/index.d.ts +0 -17
  40. package/dist/index.d.ts.map +0 -1
  41. package/dist/index.js +0 -48
  42. package/dist/index.js.map +0 -1
  43. package/dist/navigator.d.ts +0 -27
  44. package/dist/navigator.d.ts.map +0 -1
  45. package/dist/navigator.js +0 -303
  46. package/dist/navigator.js.map +0 -1
  47. package/dist/parser.d.ts +0 -19
  48. package/dist/parser.d.ts.map +0 -1
  49. package/dist/parser.js +0 -453
  50. package/dist/parser.js.map +0 -1
  51. package/dist/reporter.d.ts +0 -41
  52. package/dist/reporter.d.ts.map +0 -1
  53. package/dist/reporter.js +0 -386
  54. package/dist/reporter.js.map +0 -1
  55. package/dist/runner.d.ts +0 -44
  56. package/dist/runner.d.ts.map +0 -1
  57. package/dist/runner.js +0 -977
  58. package/dist/runner.js.map +0 -1
  59. package/dist/story-loader.d.ts.map +0 -1
  60. package/dist/story-loader.js +0 -169
  61. package/dist/story-loader.js.map +0 -1
  62. package/dist/types.d.ts +0 -204
  63. package/dist/types.d.ts.map +0 -1
  64. package/dist/types.js +0 -8
  65. package/dist/types.js.map +0 -1
  66. package/dist-esm/cli.d.ts.map +0 -1
  67. package/dist-esm/cli.js +0 -332
  68. package/dist-esm/cli.js.map +0 -1
  69. package/dist-esm/condition-evaluator.d.ts.map +0 -1
  70. package/dist-esm/condition-evaluator.js +0 -311
  71. package/dist-esm/condition-evaluator.js.map +0 -1
  72. package/dist-esm/fast-cli.d.ts.map +0 -1
  73. package/dist-esm/fast-cli.js +0 -328
  74. package/dist-esm/fast-cli.js.map +0 -1
  75. package/dist-esm/index.d.ts.map +0 -1
  76. package/dist-esm/index.js +0 -21
  77. package/dist-esm/index.js.map +0 -1
  78. package/dist-esm/navigator.d.ts.map +0 -1
  79. package/dist-esm/navigator.js +0 -300
  80. package/dist-esm/navigator.js.map +0 -1
  81. package/dist-esm/parser.d.ts.map +0 -1
  82. package/dist-esm/parser.js +0 -415
  83. package/dist-esm/parser.js.map +0 -1
  84. package/dist-esm/reporter.d.ts.map +0 -1
  85. package/dist-esm/reporter.js +0 -342
  86. package/dist-esm/reporter.js.map +0 -1
  87. package/dist-esm/runner.d.ts.map +0 -1
  88. package/dist-esm/runner.js +0 -941
  89. package/dist-esm/runner.js.map +0 -1
  90. package/dist-esm/story-loader.d.ts +0 -31
  91. package/dist-esm/story-loader.d.ts.map +0 -1
  92. package/dist-esm/story-loader.js +0 -131
  93. package/dist-esm/story-loader.js.map +0 -1
  94. package/dist-esm/types.d.ts.map +0 -1
  95. package/dist-esm/types.js +0 -7
  96. package/dist-esm/types.js.map +0 -1
  97. package/dist-npm/cli.d.ts +0 -11
  98. package/dist-npm/cli.d.ts.map +0 -1
  99. package/dist-npm/cli.js.map +0 -1
  100. package/dist-npm/condition-evaluator.d.ts +0 -30
  101. package/dist-npm/condition-evaluator.d.ts.map +0 -1
  102. package/dist-npm/condition-evaluator.js.map +0 -1
  103. package/dist-npm/fast-cli.d.ts +0 -13
  104. package/dist-npm/fast-cli.d.ts.map +0 -1
  105. package/dist-npm/fast-cli.js +0 -363
  106. package/dist-npm/fast-cli.js.map +0 -1
  107. package/dist-npm/index.d.ts +0 -17
  108. package/dist-npm/index.d.ts.map +0 -1
  109. package/dist-npm/index.js.map +0 -1
  110. package/dist-npm/navigator.d.ts +0 -27
  111. package/dist-npm/navigator.d.ts.map +0 -1
  112. package/dist-npm/navigator.js.map +0 -1
  113. package/dist-npm/parser.d.ts +0 -19
  114. package/dist-npm/parser.d.ts.map +0 -1
  115. package/dist-npm/parser.js.map +0 -1
  116. package/dist-npm/reporter.d.ts +0 -41
  117. package/dist-npm/reporter.d.ts.map +0 -1
  118. package/dist-npm/reporter.js.map +0 -1
  119. package/dist-npm/runner.d.ts +0 -44
  120. package/dist-npm/runner.d.ts.map +0 -1
  121. package/dist-npm/runner.js.map +0 -1
  122. package/dist-npm/story-loader.d.ts +0 -31
  123. package/dist-npm/story-loader.d.ts.map +0 -1
  124. package/dist-npm/story-loader.js.map +0 -1
  125. package/dist-npm/types.d.ts +0 -204
  126. package/dist-npm/types.d.ts.map +0 -1
  127. package/dist-npm/types.js.map +0 -1
  128. package/src/cli.ts +0 -385
  129. package/src/condition-evaluator.ts +0 -382
  130. package/src/fast-cli.ts +0 -403
  131. package/src/index.ts +0 -26
  132. package/src/navigator.ts +0 -365
  133. package/src/parser.ts +0 -488
  134. package/src/reporter.ts +0 -409
  135. package/src/runner.ts +0 -1152
  136. package/src/story-loader.ts +0 -168
  137. package/src/types.ts +0 -244
  138. package/tsconfig.esm.json +0 -11
  139. package/tsconfig.esm.tsbuildinfo +0 -1
  140. package/tsconfig.json +0 -22
  141. package/tsconfig.tsbuildinfo +0 -1
  142. /package/{dist-esm/cli.d.ts → cli.d.ts} +0 -0
  143. /package/{dist-npm/cli.js → cli.js} +0 -0
  144. /package/{dist-esm/condition-evaluator.d.ts → condition-evaluator.d.ts} +0 -0
  145. /package/{dist-npm/condition-evaluator.js → condition-evaluator.js} +0 -0
  146. /package/{dist-esm/index.d.ts → index.d.ts} +0 -0
  147. /package/{dist-npm/index.js → index.js} +0 -0
  148. /package/{dist-esm/navigator.d.ts → navigator.d.ts} +0 -0
  149. /package/{dist-npm/navigator.js → navigator.js} +0 -0
  150. /package/{dist-esm/parser.d.ts → parser.d.ts} +0 -0
  151. /package/{dist-npm/parser.js → parser.js} +0 -0
  152. /package/{dist-esm/reporter.d.ts → reporter.d.ts} +0 -0
  153. /package/{dist-npm/reporter.js → reporter.js} +0 -0
  154. /package/{dist-esm/runner.d.ts → runner.d.ts} +0 -0
  155. /package/{dist-npm/runner.js → runner.js} +0 -0
  156. /package/{dist-esm/types.d.ts → types.d.ts} +0 -0
  157. /package/{dist-npm/types.js → types.js} +0 -0
@@ -1,415 +0,0 @@
1
- /**
2
- * Transcript Parser
3
- *
4
- * Parses .transcript files into a structured format for testing.
5
- */
6
- import * as fs from 'fs';
7
- /**
8
- * Parse a transcript file from disk
9
- */
10
- export function parseTranscriptFile(filePath) {
11
- const content = fs.readFileSync(filePath, 'utf-8');
12
- return parseTranscript(content, filePath);
13
- }
14
- /**
15
- * Parse transcript content string
16
- */
17
- export function parseTranscript(content, filePath = '<inline>') {
18
- const lines = content.split('\n');
19
- const transcript = {
20
- filePath,
21
- header: {},
22
- commands: [],
23
- items: [],
24
- goals: [],
25
- comments: []
26
- };
27
- let inHeader = true;
28
- let currentCommand = null;
29
- let lineNumber = 0;
30
- for (const line of lines) {
31
- lineNumber++;
32
- const trimmed = line.trim();
33
- // Empty lines
34
- if (trimmed === '') {
35
- if (currentCommand && currentCommand.expectedOutput.length > 0) {
36
- // Empty line in output - preserve it
37
- currentCommand.expectedOutput.push('');
38
- }
39
- continue;
40
- }
41
- // Header separator
42
- if (trimmed === '---') {
43
- inHeader = false;
44
- continue;
45
- }
46
- // Comments - add to both comments array (legacy) and items array (for annotation context)
47
- if (trimmed.startsWith('#') && !trimmed.startsWith('#[')) {
48
- const commentText = trimmed.slice(1).trim();
49
- transcript.comments.push(commentText);
50
- // Also add as item for annotation processing
51
- transcript.items.push({
52
- type: 'comment',
53
- comment: { lineNumber, text: commentText },
54
- });
55
- continue;
56
- }
57
- // $ directives ($save, $restore) - these are standalone directives
58
- if (trimmed.startsWith('$')) {
59
- // Save any pending command first
60
- if (currentCommand) {
61
- finalizeCommand(currentCommand);
62
- transcript.commands.push(currentCommand);
63
- transcript.items.push({ type: 'command', command: currentCommand });
64
- currentCommand = null;
65
- }
66
- const directive = parseDollarDirective(trimmed, lineNumber);
67
- if (directive) {
68
- transcript.items.push({ type: 'directive', directive });
69
- }
70
- continue;
71
- }
72
- // Header lines (key: value)
73
- if (inHeader && trimmed.includes(':') && !trimmed.startsWith('>')) {
74
- const colonIndex = trimmed.indexOf(':');
75
- const key = trimmed.slice(0, colonIndex).trim().toLowerCase();
76
- const value = trimmed.slice(colonIndex + 1).trim();
77
- transcript.header[key] = value;
78
- continue;
79
- }
80
- // Command input
81
- if (trimmed.startsWith('>')) {
82
- // Save previous command
83
- if (currentCommand) {
84
- finalizeCommand(currentCommand);
85
- transcript.commands.push(currentCommand);
86
- transcript.items.push({ type: 'command', command: currentCommand });
87
- }
88
- currentCommand = {
89
- lineNumber,
90
- input: trimmed.slice(1).trim(),
91
- expectedOutput: [],
92
- assertions: []
93
- };
94
- continue;
95
- }
96
- // Directive or assertion tags (both use [ ])
97
- if (trimmed.startsWith('[') && trimmed.endsWith(']')) {
98
- // Try to parse as directive first
99
- const directive = parseDirective(trimmed, lineNumber);
100
- if (directive) {
101
- // Save any pending command first
102
- if (currentCommand) {
103
- finalizeCommand(currentCommand);
104
- transcript.commands.push(currentCommand);
105
- transcript.items.push({ type: 'command', command: currentCommand });
106
- currentCommand = null;
107
- }
108
- transcript.items.push({ type: 'directive', directive });
109
- continue;
110
- }
111
- // Not a directive - try as assertion (must be attached to a command)
112
- if (currentCommand) {
113
- const assertion = parseAssertion(trimmed);
114
- if (assertion) {
115
- currentCommand.assertions.push(assertion);
116
- }
117
- }
118
- continue;
119
- }
120
- // Expected output lines
121
- if (currentCommand) {
122
- currentCommand.expectedOutput.push(line); // Preserve original indentation
123
- }
124
- }
125
- // Don't forget the last command
126
- if (currentCommand) {
127
- finalizeCommand(currentCommand);
128
- transcript.commands.push(currentCommand);
129
- transcript.items.push({ type: 'command', command: currentCommand });
130
- }
131
- // Parse goal segments from items
132
- transcript.goals = parseGoals(transcript.items);
133
- return transcript;
134
- }
135
- /**
136
- * Parse a directive tag like [GOAL: name], [IF: condition], [NAVIGATE TO: "Room"]
137
- */
138
- function parseDirective(tag, lineNumber) {
139
- const inner = tag.slice(1, -1).trim(); // Remove [ ]
140
- // [GOAL: name]
141
- const goalMatch = inner.match(/^GOAL:\s*(.+)$/i);
142
- if (goalMatch) {
143
- return { type: 'goal', lineNumber, goalName: goalMatch[1].trim() };
144
- }
145
- // [END GOAL]
146
- if (inner.toUpperCase() === 'END GOAL') {
147
- return { type: 'end_goal', lineNumber };
148
- }
149
- // [REQUIRES: condition]
150
- const requiresMatch = inner.match(/^REQUIRES:\s*(.+)$/i);
151
- if (requiresMatch) {
152
- return { type: 'requires', lineNumber, condition: requiresMatch[1].trim() };
153
- }
154
- // [ENSURES: condition]
155
- const ensuresMatch = inner.match(/^ENSURES:\s*(.+)$/i);
156
- if (ensuresMatch) {
157
- return { type: 'ensures', lineNumber, condition: ensuresMatch[1].trim() };
158
- }
159
- // [IF: condition]
160
- const ifMatch = inner.match(/^IF:\s*(.+)$/i);
161
- if (ifMatch) {
162
- return { type: 'if', lineNumber, condition: ifMatch[1].trim() };
163
- }
164
- // [END IF]
165
- if (inner.toUpperCase() === 'END IF') {
166
- return { type: 'end_if', lineNumber };
167
- }
168
- // [WHILE: condition]
169
- const whileMatch = inner.match(/^WHILE:\s*(.+)$/i);
170
- if (whileMatch) {
171
- return { type: 'while', lineNumber, condition: whileMatch[1].trim() };
172
- }
173
- // [END WHILE]
174
- if (inner.toUpperCase() === 'END WHILE') {
175
- return { type: 'end_while', lineNumber };
176
- }
177
- // [NAVIGATE TO: "Room Name"]
178
- const navigateMatch = inner.match(/^NAVIGATE\s+TO:\s*"([^"]+)"$/i);
179
- if (navigateMatch) {
180
- return { type: 'navigate', lineNumber, target: navigateMatch[1] };
181
- }
182
- // Not a directive
183
- return null;
184
- }
185
- /**
186
- * Parse a $ directive like $save <name>, $restore <name>, or ext-testing commands
187
- */
188
- function parseDollarDirective(line, lineNumber) {
189
- const trimmed = line.trim();
190
- // $save <name>
191
- const saveMatch = trimmed.match(/^\$save\s+(.+)$/i);
192
- if (saveMatch) {
193
- return { type: 'save', lineNumber, saveName: saveMatch[1].trim() };
194
- }
195
- // $restore <name>
196
- const restoreMatch = trimmed.match(/^\$restore\s+(.+)$/i);
197
- if (restoreMatch) {
198
- return { type: 'restore', lineNumber, saveName: restoreMatch[1].trim() };
199
- }
200
- // Any other $ directive is a test command (ext-testing)
201
- // Valid test commands: $teleport, $take, $move, $kill, $immortal, $mortal, $state, $describe, etc.
202
- const testCommandMatch = trimmed.match(/^\$(\w+)(.*)$/);
203
- if (testCommandMatch) {
204
- return { type: 'test-command', lineNumber, testCommand: trimmed };
205
- }
206
- return null;
207
- }
208
- /**
209
- * Parse goal segments from items array
210
- */
211
- function parseGoals(items) {
212
- const goals = [];
213
- let currentGoal = null;
214
- let goalStartIndex = -1;
215
- for (let i = 0; i < items.length; i++) {
216
- const item = items[i];
217
- if (item.type !== 'directive')
218
- continue;
219
- const directive = item.directive;
220
- switch (directive.type) {
221
- case 'goal':
222
- if (currentGoal) {
223
- console.warn(`Line ${directive.lineNumber}: Nested goals not allowed. Closing previous goal.`);
224
- goals.push({
225
- ...currentGoal,
226
- endIndex: i - 1
227
- });
228
- }
229
- currentGoal = {
230
- name: directive.goalName,
231
- lineNumber: directive.lineNumber,
232
- requires: [],
233
- ensures: [],
234
- startIndex: i + 1
235
- };
236
- goalStartIndex = i;
237
- break;
238
- case 'requires':
239
- if (currentGoal && directive.condition) {
240
- currentGoal.requires.push(directive.condition);
241
- }
242
- break;
243
- case 'ensures':
244
- if (currentGoal && directive.condition) {
245
- currentGoal.ensures.push(directive.condition);
246
- }
247
- break;
248
- case 'end_goal':
249
- if (currentGoal) {
250
- goals.push({
251
- ...currentGoal,
252
- endIndex: i
253
- });
254
- currentGoal = null;
255
- }
256
- break;
257
- }
258
- }
259
- // Handle unclosed goal
260
- if (currentGoal) {
261
- console.warn(`Unclosed goal: ${currentGoal.name}`);
262
- goals.push({
263
- ...currentGoal,
264
- endIndex: items.length - 1
265
- });
266
- }
267
- return goals;
268
- }
269
- /**
270
- * Parse an assertion tag like [OK], [OK: contains "foo"], [FAIL: reason]
271
- */
272
- function parseAssertion(tag) {
273
- const inner = tag.slice(1, -1).trim(); // Remove [ ]
274
- // [OK] - exact match
275
- if (inner === 'OK') {
276
- return { type: 'ok' };
277
- }
278
- // [SKIP]
279
- if (inner === 'SKIP') {
280
- return { type: 'skip' };
281
- }
282
- // [OK: contains "text"]
283
- const containsMatch = inner.match(/^OK:\s*contains\s+"([^"]+)"$/i);
284
- if (containsMatch) {
285
- return { type: 'ok-contains', value: containsMatch[1] };
286
- }
287
- // [OK: not contains "text"]
288
- const notContainsMatch = inner.match(/^OK:\s*not\s+contains\s+"([^"]+)"$/i);
289
- if (notContainsMatch) {
290
- return { type: 'ok-not-contains', value: notContainsMatch[1] };
291
- }
292
- // [OK: matches /regex/flags]
293
- const matchesMatch = inner.match(/^OK:\s*matches\s+\/(.+)\/([gimsuy]*)$/i);
294
- if (matchesMatch) {
295
- try {
296
- return {
297
- type: 'ok-matches',
298
- pattern: new RegExp(matchesMatch[1], matchesMatch[2])
299
- };
300
- }
301
- catch (e) {
302
- console.error(`Invalid regex in assertion: ${tag}`);
303
- return null;
304
- }
305
- }
306
- // [FAIL: reason]
307
- const failMatch = inner.match(/^FAIL(?::\s*(.+))?$/i);
308
- if (failMatch) {
309
- return { type: 'fail', reason: failMatch[1] || 'Expected failure' };
310
- }
311
- // [TODO: note]
312
- const todoMatch = inner.match(/^TODO(?::\s*(.+))?$/i);
313
- if (todoMatch) {
314
- return { type: 'todo', reason: todoMatch[1] || 'Not implemented' };
315
- }
316
- // [EVENTS: N] - exact event count
317
- const eventsMatch = inner.match(/^EVENTS:\s*(\d+)$/i);
318
- if (eventsMatch) {
319
- return { type: 'event-count', eventCount: parseInt(eventsMatch[1], 10) };
320
- }
321
- // [EVENT: true|false, N?, type="..." key="value"]
322
- // Format: [EVENT: true, 1, type="if.event.pushed" target="y09"]
323
- // [EVENT: false, type="if.event.destroyed"]
324
- const eventAssertMatch = inner.match(/^EVENT:\s*(true|false)\s*,\s*(.+)$/i);
325
- if (eventAssertMatch) {
326
- const assertTrue = eventAssertMatch[1].toLowerCase() === 'true';
327
- const rest = eventAssertMatch[2];
328
- // Check if there's a position number before the type
329
- const positionMatch = rest.match(/^(\d+)\s*,\s*(.+)$/);
330
- let eventPosition;
331
- let propsStr;
332
- if (positionMatch) {
333
- eventPosition = parseInt(positionMatch[1], 10);
334
- propsStr = positionMatch[2];
335
- }
336
- else {
337
- propsStr = rest;
338
- }
339
- // Parse key="value" pairs
340
- const eventData = {};
341
- let eventType;
342
- const propRegex = /(\w+)="([^"]+)"/g;
343
- let match;
344
- while ((match = propRegex.exec(propsStr)) !== null) {
345
- const [, key, value] = match;
346
- if (key === 'type') {
347
- eventType = value;
348
- }
349
- else {
350
- eventData[key] = value;
351
- }
352
- }
353
- if (eventType) {
354
- return {
355
- type: 'event-assert',
356
- assertTrue,
357
- eventPosition,
358
- eventType,
359
- eventData: Object.keys(eventData).length > 0 ? eventData : undefined
360
- };
361
- }
362
- }
363
- // [STATE: true|false, expression]
364
- // Format: [STATE: true, egg.location = thief]
365
- // [STATE: false, player.canSee(egg)]
366
- const stateAssertMatch = inner.match(/^STATE:\s*(true|false)\s*,\s*(.+)$/i);
367
- if (stateAssertMatch) {
368
- const assertTrue = stateAssertMatch[1].toLowerCase() === 'true';
369
- const expression = stateAssertMatch[2].trim();
370
- return {
371
- type: 'state-assert',
372
- assertTrue,
373
- stateExpression: expression
374
- };
375
- }
376
- console.warn(`Unknown assertion format: ${tag}`);
377
- return null;
378
- }
379
- /**
380
- * Clean up a command before adding to transcript
381
- */
382
- function finalizeCommand(command) {
383
- // Trim trailing empty lines from expected output
384
- while (command.expectedOutput.length > 0 &&
385
- command.expectedOutput[command.expectedOutput.length - 1].trim() === '') {
386
- command.expectedOutput.pop();
387
- }
388
- // If no explicit assertion and we have expected output, default to [OK]
389
- if (command.assertions.length === 0 && command.expectedOutput.length > 0) {
390
- command.assertions.push({ type: 'ok' });
391
- }
392
- // If no assertion at all, default to [SKIP]
393
- if (command.assertions.length === 0) {
394
- command.assertions.push({ type: 'skip' });
395
- }
396
- }
397
- /**
398
- * Validate a transcript for common issues
399
- */
400
- export function validateTranscript(transcript) {
401
- const errors = [];
402
- if (transcript.commands.length === 0) {
403
- errors.push('Transcript has no commands');
404
- }
405
- if (!transcript.header.story && !transcript.header.title) {
406
- errors.push('Transcript should have a title or story in header');
407
- }
408
- for (const cmd of transcript.commands) {
409
- if (!cmd.input) {
410
- errors.push(`Line ${cmd.lineNumber}: Empty command`);
411
- }
412
- }
413
- return errors;
414
- }
415
- //# sourceMappingURL=parser.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"parser.js","sourceRoot":"","sources":["../src/parser.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"reporter.d.ts","sourceRoot":"","sources":["../src/reporter.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,EACL,gBAAgB,EAChB,aAAa,EAGd,MAAM,SAAS,CAAC;AAKjB;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,gBAAgB,EACxB,OAAO,GAAE,eAAoB,GAC5B,IAAI,CAmBN;AAiJD;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,aAAa,EAAE,OAAO,GAAE,eAAoB,GAAG,IAAI,CAmCxF;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,aAAa,GAAG,MAAM,CAKzD;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,CAS1C;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,aAAa,EACrB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,GAChB,MAAM,CAmBR;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,aAAa,EACrB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,GAChB,MAAM,CA0ER"}