@poe-platform/safe-bash 0.1.480 → 0.1.482

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 (33) hide show
  1. package/dist/safe-bash/browser.js +65 -21893
  2. package/dist/safe-bash/browser.js.map +4 -4
  3. package/dist/safe-bash/chunks/chunk-7N5XPEGV.js +22529 -0
  4. package/dist/safe-bash/chunks/chunk-7N5XPEGV.js.map +7 -0
  5. package/dist/safe-bash/commands/expr/bre-engine.d.ts +6 -0
  6. package/dist/safe-bash/commands/expr/bre-engine.d.ts.map +1 -0
  7. package/dist/safe-bash/commands/expr/bre-engine.js +515 -0
  8. package/dist/safe-bash/commands/expr/bre-engine.js.map +1 -0
  9. package/dist/safe-bash/commands/expr/bre-worker.d.ts +1 -1
  10. package/dist/safe-bash/commands/expr/bre-worker.d.ts.map +1 -1
  11. package/dist/safe-bash/commands/expr/bre-worker.js +6 -439
  12. package/dist/safe-bash/commands/expr/bre-worker.js.map +1 -1
  13. package/dist/safe-bash/commands/expr/command.js +1 -1
  14. package/dist/safe-bash/commands/expr/command.js.map +1 -1
  15. package/dist/safe-bash/commands/regex-execution/bounded-provider.d.ts +1 -1
  16. package/dist/safe-bash/commands/regex-execution/bounded-provider.d.ts.map +1 -1
  17. package/dist/safe-bash/commands/regex-execution/bounded-provider.js +79 -6
  18. package/dist/safe-bash/commands/regex-execution/bounded-provider.js.map +1 -1
  19. package/dist/safe-bash/commands/regex-execution/client.d.ts +2 -0
  20. package/dist/safe-bash/commands/regex-execution/client.d.ts.map +1 -1
  21. package/dist/safe-bash/commands/regex-execution/client.js +13 -10
  22. package/dist/safe-bash/commands/regex-execution/client.js.map +1 -1
  23. package/dist/safe-bash/node.d.ts +3 -0
  24. package/dist/safe-bash/node.d.ts.map +1 -0
  25. package/dist/safe-bash/node.js +3 -0
  26. package/dist/safe-bash/node.js.map +1 -0
  27. package/dist/safe-bash/plugins/portable.d.ts +2 -2
  28. package/dist/safe-bash/plugins/portable.d.ts.map +1 -1
  29. package/dist/safe-bash/plugins/portable.js +5 -3
  30. package/dist/safe-bash/plugins/portable.js.map +1 -1
  31. package/dist/safe-bash/portable.js +2103 -23876
  32. package/dist/safe-bash/portable.js.map +4 -4
  33. package/package.json +7 -2
@@ -0,0 +1,6 @@
1
+ import { type ExprMatchDescriptor, type ExprMatchResult } from "../regex-execution/protocol.js";
2
+ export declare function matchExprSteps(descriptor: ExprMatchDescriptor, subject: Uint8Array, options?: {
3
+ readonly asciiOnly?: boolean;
4
+ readonly ownedUnits?: number;
5
+ }): Generator<void, ExprMatchResult>;
6
+ //# sourceMappingURL=bre-engine.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bre-engine.d.ts","sourceRoot":"","sources":["../../../src/commands/expr/bre-engine.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,KAAK,mBAAmB,EAAwB,KAAK,eAAe,EAAE,MAAM,gCAAgC,CAAC;AAuStI,wBAAiB,cAAc,CAAC,UAAU,EAAE,mBAAmB,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,GAAE;IAAE,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAAO,GAAG,SAAS,CAAC,IAAI,EAAE,eAAe,CAAC,CAqFpM"}
@@ -0,0 +1,515 @@
1
+ import { ExprMatchError } from "../regex-execution/protocol.js";
2
+ class Work {
3
+ limits;
4
+ steps = 0;
5
+ nodes = 0;
6
+ allocated = 0;
7
+ states = 0;
8
+ checkpointSteps = 0;
9
+ constructor(limits) {
10
+ this.limits = limits;
11
+ }
12
+ charge(amount = 1) {
13
+ if (amount > this.limits.maxSteps - this.steps)
14
+ throw new ExprMatchError("limit", "regex work limit exceeded");
15
+ this.steps += amount;
16
+ }
17
+ allocate(amount) {
18
+ this.charge(amount);
19
+ if (amount > this.limits.maxAllocatedUnits - this.allocated)
20
+ throw new ExprMatchError("limit", "regex allocation limit exceeded");
21
+ this.allocated += amount;
22
+ }
23
+ node() {
24
+ this.allocate(8);
25
+ if (++this.nodes > this.limits.maxNodes)
26
+ throw new ExprMatchError("limit", "regex nodes limit exceeded");
27
+ }
28
+ state() {
29
+ this.charge();
30
+ if (++this.states > this.limits.maxStates)
31
+ throw new ExprMatchError("limit", "regex states limit exceeded");
32
+ }
33
+ checkpoint() {
34
+ if (this.steps - this.checkpointSteps >= 256) {
35
+ this.checkpointSteps = this.steps;
36
+ return true;
37
+ }
38
+ return false;
39
+ }
40
+ }
41
+ function syntax(message) { throw new ExprMatchError("syntax", message); }
42
+ function unsupported(message) { throw new ExprMatchError("unsupported", `unsupported BRE: ${message}`); }
43
+ const classes = ["alnum", "alpha", "blank", "cntrl", "digit", "graph", "lower", "print", "punct", "space", "upper", "xdigit"];
44
+ class Parser {
45
+ tokens;
46
+ work;
47
+ position = 0;
48
+ groups = 0;
49
+ closed = new Set();
50
+ constructor(tokens, work) {
51
+ this.tokens = tokens;
52
+ this.work = work;
53
+ }
54
+ at(value) { return this.tokens[this.position] === value; }
55
+ escaped(value) { return this.at("\\") && this.tokens[this.position + 1] === value; }
56
+ tree(node) { this.work.node(); return node; }
57
+ *parse(depth = 0) {
58
+ if (depth > this.work.limits.maxDepth)
59
+ throw new ExprMatchError("limit", "regex depth limit exceeded");
60
+ const branches = [];
61
+ do {
62
+ if (branches.length)
63
+ this.position += 2;
64
+ const children = [];
65
+ while (this.position < this.tokens.length && !this.escaped("|") && !this.escaped(")")) {
66
+ this.work.charge();
67
+ if (this.work.checkpoint())
68
+ yield;
69
+ let child = yield* this.atom(depth, children.length === 0);
70
+ if (this.at("*") || this.escaped("+") || this.escaped("?") || this.escaped("{")) {
71
+ const repetition = this.repetition();
72
+ if (child.kind === "start" || child.kind === "end")
73
+ unsupported("repeated anchor");
74
+ child = this.tree({ kind: "repeat", child, ...repetition });
75
+ if (this.at("*") || this.escaped("+") || this.escaped("?") || this.escaped("{"))
76
+ unsupported("stacked repetition operators");
77
+ }
78
+ children.push(child);
79
+ }
80
+ branches.push(this.tree({ kind: "sequence", children }));
81
+ } while (this.escaped("|"));
82
+ if (depth === 0 && this.position !== this.tokens.length)
83
+ syntax("Unmatched ) or \\)");
84
+ return branches.length === 1 ? branches[0] : this.tree({ kind: "alternative", children: branches });
85
+ }
86
+ *atom(depth, initial) {
87
+ const token = this.tokens[this.position++];
88
+ if (token === "[")
89
+ return this.tree({ kind: "set", set: yield* this.bracket() });
90
+ if (token === ".")
91
+ return this.tree({ kind: "dot" });
92
+ if (token === "^" && initial)
93
+ return this.tree({ kind: "start" });
94
+ if (token === "$" && (this.position === this.tokens.length || this.escaped("|") || this.escaped(")")))
95
+ return this.tree({ kind: "end" });
96
+ if (token !== "\\")
97
+ return this.tree({ kind: "literal", value: token.codePointAt(0) });
98
+ const escaped = this.tokens[this.position++];
99
+ if (escaped === undefined)
100
+ syntax("Trailing backslash");
101
+ if (escaped === "(") {
102
+ const group = ++this.groups;
103
+ if (group > 32)
104
+ throw new ExprMatchError("limit", "regex capture groups limit exceeded");
105
+ const child = yield* this.parse(depth + 1);
106
+ if (!this.escaped(")"))
107
+ syntax("Unmatched ( or \\(");
108
+ this.position += 2;
109
+ this.closed.add(group);
110
+ return this.tree({ kind: "group", group, child });
111
+ }
112
+ if (escaped >= "1" && escaped <= "9") {
113
+ const group = Number(escaped);
114
+ if (!this.closed.has(group))
115
+ syntax("Invalid back reference");
116
+ return this.tree({ kind: "backref", group });
117
+ }
118
+ if (escaped === "{" || escaped === "+" || escaped === "?")
119
+ unsupported("leading escaped repetition operator");
120
+ if (escaped === "`" || escaped === "'" || escaped === "<" || escaped === ">"
121
+ || escaped >= "a" && escaped <= "z" || escaped >= "A" && escaped <= "Z" || escaped === "0")
122
+ unsupported("alphabetic, word or buffer escape");
123
+ return this.tree({ kind: "literal", value: escaped.codePointAt(0) });
124
+ }
125
+ repetition() {
126
+ if (this.at("*")) {
127
+ this.position++;
128
+ return { minimum: 0, maximum: Infinity };
129
+ }
130
+ if (this.escaped("+")) {
131
+ this.position += 2;
132
+ return { minimum: 1, maximum: Infinity };
133
+ }
134
+ if (this.escaped("?")) {
135
+ this.position += 2;
136
+ return { minimum: 0, maximum: 1 };
137
+ }
138
+ this.position += 2;
139
+ const number = () => {
140
+ let value = 0, count = 0;
141
+ while (this.tokens[this.position] >= "0" && this.tokens[this.position] <= "9") {
142
+ this.work.charge();
143
+ value = value * 10 + Number(this.tokens[this.position++]);
144
+ if (++count > 5 || value > 32767)
145
+ syntax("Regular expression too big");
146
+ }
147
+ return count ? value : undefined;
148
+ };
149
+ const minimum = number();
150
+ if (minimum === undefined)
151
+ syntax("Invalid content of \\{\\}");
152
+ let maximum = minimum;
153
+ if (this.at(",")) {
154
+ this.position++;
155
+ maximum = number() ?? Infinity;
156
+ }
157
+ if (!this.escaped("}"))
158
+ syntax("Unmatched \\{");
159
+ this.position += 2;
160
+ if (maximum < minimum)
161
+ syntax("Invalid content of \\{\\}");
162
+ return { minimum, maximum };
163
+ }
164
+ *bracket() {
165
+ if (this.position === this.tokens.length)
166
+ syntax("Invalid regular expression");
167
+ const set = { negate: this.at("^"), ranges: [], classes: [] };
168
+ if (set.negate)
169
+ this.position++;
170
+ let first = true;
171
+ while (this.position < this.tokens.length) {
172
+ this.work.allocate(4);
173
+ if (this.work.checkpoint())
174
+ yield;
175
+ if (this.at("]") && !first) {
176
+ this.position++;
177
+ return set;
178
+ }
179
+ first = false;
180
+ if (this.at("[") && [":", ".", "="].includes(this.tokens[this.position + 1])) {
181
+ const marker = this.tokens[this.position + 1];
182
+ if (marker !== ":")
183
+ unsupported("collating symbols and equivalence classes");
184
+ this.position += 2;
185
+ let name = "";
186
+ while (this.position < this.tokens.length && !this.at(":")) {
187
+ this.work.charge();
188
+ if (name.length >= 16)
189
+ syntax("Invalid character class name");
190
+ name += this.tokens[this.position++];
191
+ }
192
+ if (!this.at(":") || this.tokens[this.position + 1] !== "]" || !classes.includes(name))
193
+ syntax("Invalid character class name");
194
+ this.position += 2;
195
+ set.classes.push(name);
196
+ if (this.at("-") && this.tokens[this.position + 1] !== "]")
197
+ unsupported("character class range endpoint");
198
+ continue;
199
+ }
200
+ const start = this.tokens[this.position++].codePointAt(0);
201
+ if (this.at("-") && this.tokens[this.position + 1] !== "]" && this.position + 1 < this.tokens.length) {
202
+ this.position++;
203
+ if (this.at("[") && [":", ".", "="].includes(this.tokens[this.position + 1]))
204
+ unsupported("character class range endpoint");
205
+ const end = this.tokens[this.position++].codePointAt(0);
206
+ if (start > 127 || end > 127)
207
+ unsupported("non-ASCII range endpoints");
208
+ set.ranges.push([start, end]);
209
+ }
210
+ else
211
+ set.ranges.push([start, start]);
212
+ }
213
+ syntax("Unmatched [, [^, [:, [., or [=");
214
+ }
215
+ }
216
+ function* validateCaptureRepetition(tree, work) {
217
+ const references = new Set(), ambiguous = new Set();
218
+ const cached = new Map();
219
+ function* nullable(node) {
220
+ work.charge();
221
+ if (work.checkpoint())
222
+ yield;
223
+ const prior = cached.get(node);
224
+ if (prior !== undefined)
225
+ return prior;
226
+ let result = node.kind === "start" || node.kind === "end" || node.kind === "backref";
227
+ if (node.kind === "group")
228
+ result = yield* nullable(node.child);
229
+ else if (node.kind === "repeat")
230
+ result = node.minimum === 0 || (yield* nullable(node.child));
231
+ else if (node.kind === "sequence" || node.kind === "alternative") {
232
+ result = node.kind === "sequence";
233
+ for (const child of node.children) {
234
+ const childNullable = yield* nullable(child);
235
+ if (childNullable !== result) {
236
+ result = childNullable;
237
+ break;
238
+ }
239
+ }
240
+ }
241
+ work.allocate(2);
242
+ cached.set(node, result);
243
+ return result;
244
+ }
245
+ function* visit(node, repeatedNullable) {
246
+ work.charge();
247
+ if (work.checkpoint())
248
+ yield;
249
+ if (node.kind === "backref") {
250
+ work.allocate(1);
251
+ references.add(node.group);
252
+ }
253
+ else if (node.kind === "group") {
254
+ if (repeatedNullable) {
255
+ work.allocate(1);
256
+ ambiguous.add(node.group);
257
+ }
258
+ yield* visit(node.child, repeatedNullable);
259
+ }
260
+ else if (node.kind === "repeat")
261
+ yield* visit(node.child, repeatedNullable || node.maximum > 1 && (yield* nullable(node.child)));
262
+ else if (node.kind === "sequence" || node.kind === "alternative")
263
+ for (const child of node.children)
264
+ yield* visit(child, repeatedNullable);
265
+ }
266
+ yield* visit(tree, false);
267
+ for (const group of references)
268
+ if (ambiguous.has(group))
269
+ unsupported("backreference to a capture in nullable repetition");
270
+ }
271
+ function* compile(tree, work) {
272
+ yield* validateCaptureRepetition(tree, work);
273
+ const instructions = [];
274
+ const emit = (instruction) => { work.node(); instructions.push(instruction); return instructions.length - 1; };
275
+ function* build(node) {
276
+ work.charge();
277
+ if (work.checkpoint())
278
+ yield;
279
+ if (node.kind === "sequence") {
280
+ for (const child of node.children)
281
+ yield* build(child);
282
+ }
283
+ else if (node.kind === "alternative") {
284
+ const ends = [];
285
+ for (let index = 0; index < node.children.length - 1; index++) {
286
+ const branch = { kind: "split", first: instructions.length + 1, second: 0 };
287
+ emit(branch);
288
+ yield* build(node.children[index]);
289
+ const end = { kind: "jump", target: 0 };
290
+ emit(end);
291
+ ends.push(end);
292
+ branch.second = instructions.length;
293
+ }
294
+ yield* build(node.children.at(-1));
295
+ for (const end of ends)
296
+ end.target = instructions.length;
297
+ }
298
+ else if (node.kind === "group") {
299
+ emit({ kind: "save", slot: (node.group - 1) * 2 });
300
+ yield* build(node.child);
301
+ emit({ kind: "save", slot: (node.group - 1) * 2 + 1 });
302
+ }
303
+ else if (node.kind === "repeat") {
304
+ for (let count = 0; count < node.minimum; count++)
305
+ yield* build(node.child);
306
+ if (node.maximum === Infinity) {
307
+ const start = instructions.length;
308
+ const branch = { kind: "split", first: start + 1, second: 0 };
309
+ emit(branch);
310
+ yield* build(node.child);
311
+ emit({ kind: "jump", target: start });
312
+ branch.second = instructions.length;
313
+ }
314
+ else {
315
+ for (let count = node.minimum; count < node.maximum; count++) {
316
+ const branch = { kind: "split", first: instructions.length + 1, second: 0 };
317
+ emit(branch);
318
+ yield* build(node.child);
319
+ branch.second = instructions.length;
320
+ }
321
+ }
322
+ }
323
+ else
324
+ emit(node);
325
+ }
326
+ yield* build(tree);
327
+ emit({ kind: "accept" });
328
+ return instructions;
329
+ }
330
+ function member(value, name) {
331
+ const lower = value >= 97 && value <= 122, upper = value >= 65 && value <= 90;
332
+ const digit = value >= 48 && value <= 57, alpha = lower || upper;
333
+ const graph = value >= 33 && value <= 126;
334
+ switch (name) {
335
+ case "alnum": return alpha || digit;
336
+ case "alpha": return alpha;
337
+ case "blank": return value === 32 || value === 9;
338
+ case "cntrl": return value < 32 || value === 127;
339
+ case "digit": return digit;
340
+ case "graph": return graph;
341
+ case "lower": return lower;
342
+ case "print": return value >= 32 && value <= 126;
343
+ case "punct": return graph && !alpha && !digit;
344
+ case "space": return value === 32 || value >= 9 && value <= 13;
345
+ case "upper": return upper;
346
+ case "xdigit": return digit || value >= 65 && value <= 70 || value >= 97 && value <= 102;
347
+ default: return false;
348
+ }
349
+ }
350
+ function* symbols(bytes, unicode, work, asciiOnly) {
351
+ work.allocate(bytes.length * 3 + 1);
352
+ if (work.checkpoint())
353
+ yield;
354
+ const values = [], boundaries = [0];
355
+ if (!unicode || asciiOnly) {
356
+ for (let offset = 0; offset < bytes.length; offset++) {
357
+ const value = bytes[offset];
358
+ if (asciiOnly && (value === 0 || value > 127))
359
+ unsupported("portable expr requires non-NUL ASCII patterns and subjects");
360
+ values.push(value);
361
+ boundaries.push(offset + 1);
362
+ if ((offset + 1) % 256 === 0)
363
+ yield;
364
+ }
365
+ }
366
+ else {
367
+ let text;
368
+ try {
369
+ text = new TextDecoder("utf-8", { fatal: true, ignoreBOM: true }).decode(bytes);
370
+ }
371
+ catch {
372
+ unsupported("invalid UTF-8 in scalar profile");
373
+ }
374
+ let offset = 0;
375
+ for (const character of text) {
376
+ const value = character.codePointAt(0);
377
+ values.push(value);
378
+ offset += value < 0x80 ? 1 : value < 0x800 ? 2 : value < 0x10000 ? 3 : 4;
379
+ boundaries.push(offset);
380
+ if (values.length % 256 === 0)
381
+ yield;
382
+ }
383
+ }
384
+ return { values, boundaries };
385
+ }
386
+ export function* matchExprSteps(descriptor, subject, options = {}) {
387
+ const work = new Work(descriptor.limits);
388
+ if (options.ownedUnits)
389
+ work.allocate(options.ownedUnits);
390
+ const pattern = yield* symbols(descriptor.pattern, descriptor.profile === "utf8-scalar", work, options.asciiOnly ?? false);
391
+ work.allocate(pattern.values.length * 2);
392
+ if (work.checkpoint())
393
+ yield;
394
+ const tokens = [];
395
+ for (let index = 0; index < pattern.values.length; index++) {
396
+ tokens.push(String.fromCodePoint(pattern.values[index]));
397
+ if ((index + 1) % 256 === 0)
398
+ yield;
399
+ }
400
+ const parser = new Parser(tokens, work);
401
+ const instructions = yield* compile(yield* parser.parse(), work);
402
+ const input = yield* symbols(subject, descriptor.profile === "utf8-scalar", work, options.asciiOnly ?? false);
403
+ if (!options.asciiOnly && descriptor.profile === "utf8-scalar" && input.values.some(value => value > 127)
404
+ && instructions.some(instruction => instruction.kind === "set" && instruction.set.classes.length))
405
+ unsupported("non-ASCII subject with locale character classes");
406
+ work.allocate(parser.groups * 2 + 4);
407
+ const stack = [{ program: 0, position: 0, captures: new Array(parser.groups * 2).fill(-1), visited: [] }];
408
+ work.state();
409
+ let best;
410
+ while (stack.length) {
411
+ const state = stack.pop();
412
+ while (true) {
413
+ work.charge(state.visited.length + 1);
414
+ if (work.checkpoint())
415
+ yield;
416
+ if (state.visited.includes(state.program))
417
+ break;
418
+ work.allocate(1);
419
+ state.visited.push(state.program);
420
+ const instruction = instructions[state.program];
421
+ state.program++;
422
+ if (instruction.kind === "accept") {
423
+ if (!best || state.position > best.position)
424
+ best = state;
425
+ break;
426
+ }
427
+ if (instruction.kind === "split") {
428
+ work.state();
429
+ work.allocate(state.captures.length + state.visited.length + 4);
430
+ stack.push({ program: instruction.second, position: state.position, captures: [...state.captures], visited: [...state.visited] });
431
+ state.program = instruction.first;
432
+ }
433
+ else if (instruction.kind === "jump")
434
+ state.program = instruction.target;
435
+ else if (instruction.kind === "save")
436
+ state.captures[instruction.slot] = state.position;
437
+ else if (instruction.kind === "start") {
438
+ if (state.position !== 0)
439
+ break;
440
+ }
441
+ else if (instruction.kind === "end") {
442
+ if (state.position !== input.values.length)
443
+ break;
444
+ }
445
+ else if (instruction.kind === "backref") {
446
+ const start = state.captures[(instruction.group - 1) * 2], end = state.captures[(instruction.group - 1) * 2 + 1];
447
+ if (start < 0 || end < start || end - start > input.values.length - state.position)
448
+ break;
449
+ work.charge(end - start);
450
+ if (work.checkpoint())
451
+ yield;
452
+ let equal = true;
453
+ for (let offset = 0; offset < end - start; offset++) {
454
+ if (input.values[start + offset] !== input.values[state.position + offset]) {
455
+ equal = false;
456
+ break;
457
+ }
458
+ if ((offset + 1) % 256 === 0)
459
+ yield;
460
+ }
461
+ if (!equal)
462
+ break;
463
+ state.position += end - start;
464
+ if (end > start) {
465
+ work.allocate(1);
466
+ state.visited = [];
467
+ }
468
+ }
469
+ else {
470
+ const value = input.values[state.position];
471
+ if (value === undefined)
472
+ break;
473
+ if (instruction.kind === "literal" && value !== instruction.value)
474
+ break;
475
+ if (instruction.kind === "set") {
476
+ work.charge(instruction.set.ranges.length + instruction.set.classes.length);
477
+ if (work.checkpoint())
478
+ yield;
479
+ let included = false;
480
+ for (let index = 0; index < instruction.set.ranges.length; index++) {
481
+ const [start, end] = instruction.set.ranges[index];
482
+ if (value >= start && value <= end) {
483
+ included = true;
484
+ break;
485
+ }
486
+ if ((index + 1) % 256 === 0)
487
+ yield;
488
+ }
489
+ if (!included)
490
+ for (let index = 0; index < instruction.set.classes.length; index++) {
491
+ if (member(value, instruction.set.classes[index])) {
492
+ included = true;
493
+ break;
494
+ }
495
+ if ((index + 1) % 256 === 0)
496
+ yield;
497
+ }
498
+ if (included === instruction.set.negate)
499
+ break;
500
+ }
501
+ work.allocate(1);
502
+ state.position++;
503
+ state.visited = [];
504
+ }
505
+ }
506
+ }
507
+ const captureStart = best?.captures[0] ?? -1, captureEnd = best?.captures[1] ?? -1;
508
+ return {
509
+ offsetUnit: "byte", matched: best !== undefined, hasCapture: parser.groups > 0,
510
+ overall: best ? { start: 0, end: input.boundaries[best.position] } : null,
511
+ capture: captureStart < 0 || captureEnd < captureStart ? null : { start: input.boundaries[captureStart], end: input.boundaries[captureEnd] },
512
+ steps: work.steps,
513
+ };
514
+ }
515
+ //# sourceMappingURL=bre-engine.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bre-engine.js","sourceRoot":"","sources":["../../../src/commands/expr/bre-engine.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,3 @@
1
- import { type ExprMatchDescriptor, type ExprMatchResult } from "../regex-execution/protocol.js";
1
+ import type { ExprMatchDescriptor, ExprMatchResult } from "../regex-execution/protocol.js";
2
2
  export declare function matchExpr(descriptor: ExprMatchDescriptor, subject: Uint8Array): ExprMatchResult;
3
3
  //# sourceMappingURL=bre-worker.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"bre-worker.d.ts","sourceRoot":"","sources":["../../../src/commands/expr/bre-worker.ts"],"names":[],"mappings":"AACA,OAAO,EAAkB,KAAK,mBAAmB,EAAwB,KAAK,eAAe,EAAE,MAAM,gCAAgC,CAAC;AA8QtI,wBAAgB,SAAS,CAAC,UAAU,EAAE,mBAAmB,EAAE,OAAO,EAAE,UAAU,GAAG,eAAe,CAiE/F"}
1
+ {"version":3,"file":"bre-worker.d.ts","sourceRoot":"","sources":["../../../src/commands/expr/bre-worker.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AAE3F,wBAAgB,SAAS,CAAC,UAAU,EAAE,mBAAmB,EAAE,OAAO,EAAE,UAAU,GAAG,eAAe,CAM/F"}