@rtif-sdk/core 1.4.0 → 1.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/apply.js +148 -72
- package/dist/apply.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/normalize.d.ts +14 -0
- package/dist/normalize.d.ts.map +1 -1
- package/dist/normalize.js +42 -9
- package/dist/normalize.js.map +1 -1
- package/package.json +1 -1
package/dist/apply.js
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* See docs/spec/operations.md for specification.
|
|
4
4
|
*/
|
|
5
5
|
import { RtifError } from './error.js';
|
|
6
|
-
import { normalizeSpans } from './normalize.js';
|
|
6
|
+
import { hasOwnKeys, normalizeSpans } from './normalize.js';
|
|
7
7
|
import { blockTextLength, resolve } from './resolve.js';
|
|
8
8
|
/**
|
|
9
9
|
* Apply an operation to a document, returning the new document and its inverse.
|
|
@@ -42,6 +42,106 @@ export function apply(doc, op) {
|
|
|
42
42
|
return applySetMeta(doc, op);
|
|
43
43
|
}
|
|
44
44
|
}
|
|
45
|
+
// ---------------------------------------------------------------------------
|
|
46
|
+
// Phase 2a: Zero-allocation shallow merge (replaces spread + delete operator)
|
|
47
|
+
// ---------------------------------------------------------------------------
|
|
48
|
+
/**
|
|
49
|
+
* Shallow-merge `updates` onto `existing` without using the `delete` operator.
|
|
50
|
+
* Keys in `updates` set to `null` remove that key from the result.
|
|
51
|
+
* Returns `undefined` when the result has no keys.
|
|
52
|
+
*/
|
|
53
|
+
function mergeShallow(existing, updates) {
|
|
54
|
+
const result = {};
|
|
55
|
+
let count = 0;
|
|
56
|
+
// Copy existing keys that aren't being removed
|
|
57
|
+
if (existing) {
|
|
58
|
+
for (const k in existing) {
|
|
59
|
+
if (!(k in updates)) {
|
|
60
|
+
result[k] = existing[k];
|
|
61
|
+
count++;
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
// Add non-null updates
|
|
66
|
+
for (const k in updates) {
|
|
67
|
+
if (updates[k] !== null) {
|
|
68
|
+
result[k] = updates[k];
|
|
69
|
+
count++;
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
return count > 0 ? result : undefined;
|
|
73
|
+
}
|
|
74
|
+
// ---------------------------------------------------------------------------
|
|
75
|
+
// Phase 3a: Zero-closure block index lookup
|
|
76
|
+
// ---------------------------------------------------------------------------
|
|
77
|
+
/** Find block index by ID using a plain for-loop (no closure allocation). */
|
|
78
|
+
function findBlockIndex(blocks, blockId) {
|
|
79
|
+
for (let i = 0; i < blocks.length; i++) {
|
|
80
|
+
if (blocks[i].id === blockId)
|
|
81
|
+
return i;
|
|
82
|
+
}
|
|
83
|
+
return -1;
|
|
84
|
+
}
|
|
85
|
+
// ---------------------------------------------------------------------------
|
|
86
|
+
// Phase 3b: slice + index-assign helper for single-block replacement
|
|
87
|
+
// ---------------------------------------------------------------------------
|
|
88
|
+
/** Replace a single block in the array using slice (V8 memcpy intrinsic). */
|
|
89
|
+
function replaceBlock(blocks, index, block) {
|
|
90
|
+
const result = blocks.slice();
|
|
91
|
+
result[index] = block;
|
|
92
|
+
return result;
|
|
93
|
+
}
|
|
94
|
+
// ---------------------------------------------------------------------------
|
|
95
|
+
// Phase 3c: Extract deleted text directly from spans (no full join)
|
|
96
|
+
// ---------------------------------------------------------------------------
|
|
97
|
+
/**
|
|
98
|
+
* Walk spans to extract exactly `count` characters starting at `localOffset`.
|
|
99
|
+
* Avoids joining all span text into a single string (the 90% single-char
|
|
100
|
+
* delete reads only 1 span).
|
|
101
|
+
*/
|
|
102
|
+
function extractTextFromSpans(spans, localOffset, count) {
|
|
103
|
+
let remaining = localOffset;
|
|
104
|
+
let charsNeeded = count;
|
|
105
|
+
let result = '';
|
|
106
|
+
for (const span of spans) {
|
|
107
|
+
const len = span.text.length;
|
|
108
|
+
if (remaining >= len) {
|
|
109
|
+
remaining -= len;
|
|
110
|
+
continue;
|
|
111
|
+
}
|
|
112
|
+
const start = remaining;
|
|
113
|
+
const available = len - start;
|
|
114
|
+
const take = Math.min(available, charsNeeded);
|
|
115
|
+
result += span.text.substring(start, start + take);
|
|
116
|
+
charsNeeded -= take;
|
|
117
|
+
if (charsNeeded <= 0)
|
|
118
|
+
break;
|
|
119
|
+
remaining = 0;
|
|
120
|
+
}
|
|
121
|
+
return result;
|
|
122
|
+
}
|
|
123
|
+
// ---------------------------------------------------------------------------
|
|
124
|
+
// Span helpers (Phase 1c: hasOwnKeys replaces Object.keys().length)
|
|
125
|
+
// ---------------------------------------------------------------------------
|
|
126
|
+
/** Create a span with text and optional marks (copies marks). */
|
|
127
|
+
function makeSpan(text, marks) {
|
|
128
|
+
return {
|
|
129
|
+
text,
|
|
130
|
+
...(marks && hasOwnKeys(marks) ? { marks: { ...marks } } : {}),
|
|
131
|
+
};
|
|
132
|
+
}
|
|
133
|
+
/** Create a shallow copy of a span. */
|
|
134
|
+
function copySpan(span) {
|
|
135
|
+
return {
|
|
136
|
+
text: span.text,
|
|
137
|
+
...(span.marks && hasOwnKeys(span.marks)
|
|
138
|
+
? { marks: { ...span.marks } }
|
|
139
|
+
: {}),
|
|
140
|
+
};
|
|
141
|
+
}
|
|
142
|
+
// ---------------------------------------------------------------------------
|
|
143
|
+
// insert_text
|
|
144
|
+
// ---------------------------------------------------------------------------
|
|
45
145
|
/**
|
|
46
146
|
* Insert text into a block's spans at the given local offset.
|
|
47
147
|
* Returns new spans array (not yet normalized).
|
|
@@ -51,7 +151,7 @@ function insertTextIntoSpans(spans, localOffset, text) {
|
|
|
51
151
|
if (spans.length === 1 && spans[0].text === '' && localOffset === 0) {
|
|
52
152
|
return [{
|
|
53
153
|
text,
|
|
54
|
-
...(spans[0].marks &&
|
|
154
|
+
...(spans[0].marks && hasOwnKeys(spans[0].marks)
|
|
55
155
|
? { marks: { ...spans[0].marks } }
|
|
56
156
|
: {}),
|
|
57
157
|
}];
|
|
@@ -71,7 +171,7 @@ function insertTextIntoSpans(spans, localOffset, text) {
|
|
|
71
171
|
const after = span.text.slice(remaining);
|
|
72
172
|
result.push({
|
|
73
173
|
text: before + text + after,
|
|
74
|
-
...(span.marks &&
|
|
174
|
+
...(span.marks && hasOwnKeys(span.marks)
|
|
75
175
|
? { marks: { ...span.marks } }
|
|
76
176
|
: {}),
|
|
77
177
|
});
|
|
@@ -97,7 +197,7 @@ function applyInsertText(doc, op) {
|
|
|
97
197
|
spans: newSpans,
|
|
98
198
|
...(block.attrs ? { attrs: { ...block.attrs } } : {}),
|
|
99
199
|
};
|
|
100
|
-
const newBlocks = doc.blocks
|
|
200
|
+
const newBlocks = replaceBlock(doc.blocks, blockIndex, newBlock);
|
|
101
201
|
const inverse = {
|
|
102
202
|
type: 'delete_text',
|
|
103
203
|
offset: op.offset,
|
|
@@ -108,6 +208,9 @@ function applyInsertText(doc, op) {
|
|
|
108
208
|
inverse,
|
|
109
209
|
};
|
|
110
210
|
}
|
|
211
|
+
// ---------------------------------------------------------------------------
|
|
212
|
+
// delete_text
|
|
213
|
+
// ---------------------------------------------------------------------------
|
|
111
214
|
/**
|
|
112
215
|
* Apply delete_text: delete `count` characters starting at the given absolute offset.
|
|
113
216
|
* Currently only supports single-block deletion (does not cross block boundaries).
|
|
@@ -122,9 +225,8 @@ function applyDeleteText(doc, op) {
|
|
|
122
225
|
if (localOffset + op.count > bLen) {
|
|
123
226
|
throw new RtifError('INVALID_COUNT', `delete_text range [${op.offset}, ${op.offset + op.count}) exceeds block text length`);
|
|
124
227
|
}
|
|
125
|
-
// Collect the deleted text for the inverse
|
|
126
|
-
const
|
|
127
|
-
const deletedText = fullText.slice(localOffset, localOffset + op.count);
|
|
228
|
+
// Collect the deleted text for the inverse — walk spans directly
|
|
229
|
+
const deletedText = extractTextFromSpans(block.spans, localOffset, op.count);
|
|
128
230
|
// Delete range from spans
|
|
129
231
|
const newSpans = normalizeSpans(deleteFromSpans(block.spans, localOffset, op.count));
|
|
130
232
|
const newBlock = {
|
|
@@ -133,7 +235,7 @@ function applyDeleteText(doc, op) {
|
|
|
133
235
|
spans: newSpans,
|
|
134
236
|
...(block.attrs ? { attrs: { ...block.attrs } } : {}),
|
|
135
237
|
};
|
|
136
|
-
const newBlocks = doc.blocks
|
|
238
|
+
const newBlocks = replaceBlock(doc.blocks, blockIndex, newBlock);
|
|
137
239
|
const inverse = {
|
|
138
240
|
type: 'insert_text',
|
|
139
241
|
offset: op.offset,
|
|
@@ -173,7 +275,7 @@ function deleteFromSpans(spans, localOffset, count) {
|
|
|
173
275
|
if (newText.length > 0) {
|
|
174
276
|
result.push({
|
|
175
277
|
text: newText,
|
|
176
|
-
...(span.marks &&
|
|
278
|
+
...(span.marks && hasOwnKeys(span.marks)
|
|
177
279
|
? { marks: { ...span.marks } }
|
|
178
280
|
: {}),
|
|
179
281
|
});
|
|
@@ -184,6 +286,9 @@ function deleteFromSpans(spans, localOffset, count) {
|
|
|
184
286
|
}
|
|
185
287
|
return result;
|
|
186
288
|
}
|
|
289
|
+
// ---------------------------------------------------------------------------
|
|
290
|
+
// split_block
|
|
291
|
+
// ---------------------------------------------------------------------------
|
|
187
292
|
/**
|
|
188
293
|
* Split a span array at a local offset into two halves.
|
|
189
294
|
* Returns [leftSpans, rightSpans], each normalized.
|
|
@@ -203,13 +308,13 @@ function splitSpansAt(spans, localOffset) {
|
|
|
203
308
|
// Split this span
|
|
204
309
|
left.push({
|
|
205
310
|
text: span.text.slice(0, remaining),
|
|
206
|
-
...(span.marks &&
|
|
311
|
+
...(span.marks && hasOwnKeys(span.marks)
|
|
207
312
|
? { marks: { ...span.marks } }
|
|
208
313
|
: {}),
|
|
209
314
|
});
|
|
210
315
|
right.push({
|
|
211
316
|
text: span.text.slice(remaining),
|
|
212
|
-
...(span.marks &&
|
|
317
|
+
...(span.marks && hasOwnKeys(span.marks)
|
|
213
318
|
? { marks: { ...span.marks } }
|
|
214
319
|
: {}),
|
|
215
320
|
});
|
|
@@ -269,13 +374,16 @@ function applySplitBlock(doc, op) {
|
|
|
269
374
|
inverse,
|
|
270
375
|
};
|
|
271
376
|
}
|
|
377
|
+
// ---------------------------------------------------------------------------
|
|
378
|
+
// merge_block
|
|
379
|
+
// ---------------------------------------------------------------------------
|
|
272
380
|
/**
|
|
273
381
|
* Apply merge_block: merge a block with the previous block.
|
|
274
382
|
* The merged block's spans are appended to the previous block's spans.
|
|
275
383
|
* The merged block is removed.
|
|
276
384
|
*/
|
|
277
385
|
function applyMergeBlock(doc, op) {
|
|
278
|
-
const blockIndex = doc.blocks
|
|
386
|
+
const blockIndex = findBlockIndex(doc.blocks, op.blockId);
|
|
279
387
|
if (blockIndex === -1) {
|
|
280
388
|
throw new RtifError('BLOCK_NOT_FOUND', `Block '${op.blockId}' not found`);
|
|
281
389
|
}
|
|
@@ -319,6 +427,9 @@ function applyMergeBlock(doc, op) {
|
|
|
319
427
|
inverse,
|
|
320
428
|
};
|
|
321
429
|
}
|
|
430
|
+
// ---------------------------------------------------------------------------
|
|
431
|
+
// set_span_marks
|
|
432
|
+
// ---------------------------------------------------------------------------
|
|
322
433
|
/**
|
|
323
434
|
* Apply set_span_marks: apply/remove marks on a range of text [offset, offset + count).
|
|
324
435
|
* Splits spans at the range boundaries, merges marks per span, and normalizes.
|
|
@@ -402,10 +513,10 @@ function applySetSpanMarks(doc, op) {
|
|
|
402
513
|
spans: normalized,
|
|
403
514
|
...(block.attrs ? { attrs: { ...block.attrs } } : {}),
|
|
404
515
|
};
|
|
405
|
-
const newBlocks = doc.blocks
|
|
516
|
+
const newBlocks = replaceBlock(doc.blocks, blockIndex, newBlock);
|
|
406
517
|
// Build inverse marks
|
|
407
518
|
const inverseMarks = {};
|
|
408
|
-
for (const key
|
|
519
|
+
for (const key in op.marks) {
|
|
409
520
|
if (op.marks[key] === null) {
|
|
410
521
|
// We removed this mark — inverse restores the previous value (if it existed)
|
|
411
522
|
if (key in prevMarks) {
|
|
@@ -438,81 +549,50 @@ function applySetSpanMarks(doc, op) {
|
|
|
438
549
|
* Only records each key once (from the first affected span).
|
|
439
550
|
*/
|
|
440
551
|
function collectPrevMarks(span, opMarks, prevMarks) {
|
|
441
|
-
for (const key
|
|
552
|
+
for (const key in opMarks) {
|
|
442
553
|
if (!(key in prevMarks) && span.marks && key in span.marks) {
|
|
443
554
|
prevMarks[key] = span.marks[key];
|
|
444
555
|
}
|
|
445
556
|
}
|
|
446
557
|
}
|
|
447
558
|
/**
|
|
448
|
-
* Apply marks to a span via shallow merge
|
|
559
|
+
* Apply marks to a span via shallow merge using mergeShallow (no delete operator).
|
|
449
560
|
*/
|
|
450
561
|
function mergeMarksOnSpan(span, marks) {
|
|
451
|
-
const newMarks =
|
|
452
|
-
for (const [key, value] of Object.entries(marks)) {
|
|
453
|
-
if (value === null) {
|
|
454
|
-
delete newMarks[key];
|
|
455
|
-
}
|
|
456
|
-
else {
|
|
457
|
-
newMarks[key] = value;
|
|
458
|
-
}
|
|
459
|
-
}
|
|
460
|
-
return {
|
|
461
|
-
text: span.text,
|
|
462
|
-
...(Object.keys(newMarks).length > 0 ? { marks: newMarks } : {}),
|
|
463
|
-
};
|
|
464
|
-
}
|
|
465
|
-
/** Create a span with text and optional marks (copies marks). */
|
|
466
|
-
function makeSpan(text, marks) {
|
|
467
|
-
return {
|
|
468
|
-
text,
|
|
469
|
-
...(marks && Object.keys(marks).length > 0 ? { marks: { ...marks } } : {}),
|
|
470
|
-
};
|
|
471
|
-
}
|
|
472
|
-
/** Create a shallow copy of a span. */
|
|
473
|
-
function copySpan(span) {
|
|
562
|
+
const newMarks = mergeShallow(span.marks, marks);
|
|
474
563
|
return {
|
|
475
564
|
text: span.text,
|
|
476
|
-
...(
|
|
477
|
-
? { marks: { ...span.marks } }
|
|
478
|
-
: {}),
|
|
565
|
+
...(newMarks ? { marks: newMarks } : {}),
|
|
479
566
|
};
|
|
480
567
|
}
|
|
568
|
+
// ---------------------------------------------------------------------------
|
|
569
|
+
// set_block_attrs
|
|
570
|
+
// ---------------------------------------------------------------------------
|
|
481
571
|
/**
|
|
482
572
|
* Apply set_block_attrs: shallow-merge attrs onto a block.
|
|
483
573
|
* Keys set to `null` are removed. If all attrs are removed, the block's
|
|
484
574
|
* `attrs` property becomes `undefined`.
|
|
485
575
|
*/
|
|
486
576
|
function applySetBlockAttrs(doc, op) {
|
|
487
|
-
const blockIndex = doc.blocks
|
|
577
|
+
const blockIndex = findBlockIndex(doc.blocks, op.blockId);
|
|
488
578
|
if (blockIndex === -1) {
|
|
489
579
|
throw new RtifError('BLOCK_NOT_FOUND', `Block '${op.blockId}' not found`);
|
|
490
580
|
}
|
|
491
581
|
const block = doc.blocks[blockIndex];
|
|
492
582
|
const prevAttrs = block.attrs;
|
|
493
|
-
// Shallow merge
|
|
494
|
-
const
|
|
495
|
-
for (const [key, value] of Object.entries(op.attrs)) {
|
|
496
|
-
if (value === null) {
|
|
497
|
-
delete merged[key];
|
|
498
|
-
}
|
|
499
|
-
else {
|
|
500
|
-
merged[key] = value;
|
|
501
|
-
}
|
|
502
|
-
}
|
|
503
|
-
// If no attrs remain, omit the property entirely
|
|
504
|
-
const newAttrs = Object.keys(merged).length > 0 ? merged : undefined;
|
|
583
|
+
// Shallow merge using mergeShallow (no delete operator)
|
|
584
|
+
const newAttrs = mergeShallow(prevAttrs, op.attrs);
|
|
505
585
|
const newBlock = {
|
|
506
586
|
id: block.id,
|
|
507
587
|
type: block.type,
|
|
508
588
|
spans: block.spans,
|
|
509
589
|
...(newAttrs ? { attrs: newAttrs } : {}),
|
|
510
590
|
};
|
|
511
|
-
const newBlocks = doc.blocks
|
|
591
|
+
const newBlocks = replaceBlock(doc.blocks, blockIndex, newBlock);
|
|
512
592
|
// Build inverse: for each key in op.attrs, record the previous value
|
|
513
593
|
// (or null if the key didn't exist, meaning the inverse should remove it)
|
|
514
594
|
const inverseAttrs = {};
|
|
515
|
-
for (const key
|
|
595
|
+
for (const key in op.attrs) {
|
|
516
596
|
if (prevAttrs && key in prevAttrs) {
|
|
517
597
|
inverseAttrs[key] = prevAttrs[key];
|
|
518
598
|
}
|
|
@@ -530,6 +610,9 @@ function applySetBlockAttrs(doc, op) {
|
|
|
530
610
|
inverse,
|
|
531
611
|
};
|
|
532
612
|
}
|
|
613
|
+
// ---------------------------------------------------------------------------
|
|
614
|
+
// set_block_type
|
|
615
|
+
// ---------------------------------------------------------------------------
|
|
533
616
|
/**
|
|
534
617
|
* Apply set_block_type: change a block's type string.
|
|
535
618
|
* The block retains its id, spans, and attrs — only `type` changes.
|
|
@@ -538,7 +621,7 @@ function applySetBlockType(doc, op) {
|
|
|
538
621
|
if (!op.blockType) {
|
|
539
622
|
throw new RtifError('INVALID_DOCUMENT', `set_block_type blockType must be a non-empty string`);
|
|
540
623
|
}
|
|
541
|
-
const blockIndex = doc.blocks
|
|
624
|
+
const blockIndex = findBlockIndex(doc.blocks, op.blockId);
|
|
542
625
|
if (blockIndex === -1) {
|
|
543
626
|
throw new RtifError('BLOCK_NOT_FOUND', `Block '${op.blockId}' not found`);
|
|
544
627
|
}
|
|
@@ -550,7 +633,7 @@ function applySetBlockType(doc, op) {
|
|
|
550
633
|
spans: block.spans,
|
|
551
634
|
...(block.attrs ? { attrs: { ...block.attrs } } : {}),
|
|
552
635
|
};
|
|
553
|
-
const newBlocks = doc.blocks
|
|
636
|
+
const newBlocks = replaceBlock(doc.blocks, blockIndex, newBlock);
|
|
554
637
|
const inverse = {
|
|
555
638
|
type: 'set_block_type',
|
|
556
639
|
blockId: op.blockId,
|
|
@@ -561,6 +644,9 @@ function applySetBlockType(doc, op) {
|
|
|
561
644
|
inverse,
|
|
562
645
|
};
|
|
563
646
|
}
|
|
647
|
+
// ---------------------------------------------------------------------------
|
|
648
|
+
// set_meta
|
|
649
|
+
// ---------------------------------------------------------------------------
|
|
564
650
|
/**
|
|
565
651
|
* Apply set_meta: shallow-merge meta onto the document.
|
|
566
652
|
* Keys set to `null` are removed. If all meta keys are removed,
|
|
@@ -568,21 +654,11 @@ function applySetBlockType(doc, op) {
|
|
|
568
654
|
*/
|
|
569
655
|
function applySetMeta(doc, op) {
|
|
570
656
|
const prevMeta = doc.meta;
|
|
571
|
-
// Shallow merge
|
|
572
|
-
const
|
|
573
|
-
for (const [key, value] of Object.entries(op.meta)) {
|
|
574
|
-
if (value === null) {
|
|
575
|
-
delete merged[key];
|
|
576
|
-
}
|
|
577
|
-
else {
|
|
578
|
-
merged[key] = value;
|
|
579
|
-
}
|
|
580
|
-
}
|
|
581
|
-
// If no meta keys remain, omit the property entirely
|
|
582
|
-
const newMeta = Object.keys(merged).length > 0 ? merged : undefined;
|
|
657
|
+
// Shallow merge using mergeShallow (no delete operator)
|
|
658
|
+
const newMeta = mergeShallow(prevMeta, op.meta);
|
|
583
659
|
// Build inverse: for each key in op.meta, record the previous value
|
|
584
660
|
const inverseMeta = {};
|
|
585
|
-
for (const key
|
|
661
|
+
for (const key in op.meta) {
|
|
586
662
|
if (prevMeta && key in prevMeta) {
|
|
587
663
|
inverseMeta[key] = prevMeta[key];
|
|
588
664
|
}
|
package/dist/apply.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"apply.js","sourceRoot":"","sources":["../src/apply.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"apply.js","sourceRoot":"","sources":["../src/apply.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -4,7 +4,7 @@ export type { RtifErrorCode } from './error.js';
|
|
|
4
4
|
export type { Operation, InsertText, DeleteText, SplitBlock, MergeBlock, SetBlockAttrs, SetBlockType, SetSpanMarks, SetMeta, } from './operations.js';
|
|
5
5
|
export { apply } from './apply.js';
|
|
6
6
|
export type { ApplyResult } from './apply.js';
|
|
7
|
-
export { normalizeSpans, marksEqual } from './normalize.js';
|
|
7
|
+
export { normalizeSpans, marksEqual, hasOwnKeys } from './normalize.js';
|
|
8
8
|
export { resolve, blockTextLength, docLength } from './resolve.js';
|
|
9
9
|
export type { ResolvedPosition } from './resolve.js';
|
|
10
10
|
export { createResolveIndex } from './resolve-cache.js';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,YAAY,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAG7E,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACvC,YAAY,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAGhD,YAAY,EACV,SAAS,EACT,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,OAAO,GACR,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,YAAY,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE9C,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,YAAY,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAG7E,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACvC,YAAY,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAGhD,YAAY,EACV,SAAS,EACT,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,OAAO,GACR,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,YAAY,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE9C,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAExE,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACnE,YAAY,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAErD,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,YAAY,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEvD,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,YAAY,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAEvE,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AACnF,YAAY,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAGrD,OAAO,EAAE,4BAA4B,EAAE,MAAM,oBAAoB,CAAC;AAClE,YAAY,EACV,cAAc,EACd,sBAAsB,EACtB,mBAAmB,GACpB,MAAM,oBAAoB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
export { RtifError } from './error.js';
|
|
3
3
|
// Core functions
|
|
4
4
|
export { apply } from './apply.js';
|
|
5
|
-
export { normalizeSpans, marksEqual } from './normalize.js';
|
|
5
|
+
export { normalizeSpans, marksEqual, hasOwnKeys } from './normalize.js';
|
|
6
6
|
export { resolve, blockTextLength, docLength } from './resolve.js';
|
|
7
7
|
export { createResolveIndex } from './resolve-cache.js';
|
|
8
8
|
export { validate } from './validate.js';
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,cAAc;AACd,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAgBvC,iBAAiB;AACjB,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAGnC,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,cAAc;AACd,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAgBvC,iBAAiB;AACjB,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAGnC,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAExE,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAGnE,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAGxD,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAGzC,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAGnF,0BAA0B;AAC1B,OAAO,EAAE,4BAA4B,EAAE,MAAM,oBAAoB,CAAC"}
|
package/dist/normalize.d.ts
CHANGED
|
@@ -3,6 +3,20 @@
|
|
|
3
3
|
* See SPEC.md §3.3 for specification.
|
|
4
4
|
*/
|
|
5
5
|
import type { Span } from './model.js';
|
|
6
|
+
/**
|
|
7
|
+
* Check whether an object has at least one own enumerable key.
|
|
8
|
+
* Zero-allocation replacement for `Object.keys(obj).length > 0`.
|
|
9
|
+
*
|
|
10
|
+
* @param obj - The object to test
|
|
11
|
+
* @returns true if the object has at least one own enumerable key
|
|
12
|
+
*
|
|
13
|
+
* @example
|
|
14
|
+
* ```ts
|
|
15
|
+
* hasOwnKeys({ bold: true }); // => true
|
|
16
|
+
* hasOwnKeys({}); // => false
|
|
17
|
+
* ```
|
|
18
|
+
*/
|
|
19
|
+
export declare function hasOwnKeys(obj: Record<string, unknown>): boolean;
|
|
6
20
|
/**
|
|
7
21
|
* Check if two mark objects are deeply equal.
|
|
8
22
|
* Treats `undefined` and `{}` as equivalent (both mean "no marks").
|
package/dist/normalize.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"normalize.d.ts","sourceRoot":"","sources":["../src/normalize.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"normalize.d.ts","sourceRoot":"","sources":["../src/normalize.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAKvC;;;;;;;;;;;;GAYG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAGhE;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,UAAU,CACxB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,EACtC,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,GACrC,OAAO,CAqBT;AAoBD;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,aAAa,CAAC,IAAI,CAAC,GAAG,IAAI,EAAE,CAoCjE"}
|
package/dist/normalize.js
CHANGED
|
@@ -2,6 +2,26 @@
|
|
|
2
2
|
* Span normalization — ensures documents are always in canonical form.
|
|
3
3
|
* See SPEC.md §3.3 for specification.
|
|
4
4
|
*/
|
|
5
|
+
/** Frozen empty object singleton — avoids allocating `{}` on every marksEqual call. */
|
|
6
|
+
const EMPTY_OBJ = Object.freeze({});
|
|
7
|
+
/**
|
|
8
|
+
* Check whether an object has at least one own enumerable key.
|
|
9
|
+
* Zero-allocation replacement for `Object.keys(obj).length > 0`.
|
|
10
|
+
*
|
|
11
|
+
* @param obj - The object to test
|
|
12
|
+
* @returns true if the object has at least one own enumerable key
|
|
13
|
+
*
|
|
14
|
+
* @example
|
|
15
|
+
* ```ts
|
|
16
|
+
* hasOwnKeys({ bold: true }); // => true
|
|
17
|
+
* hasOwnKeys({}); // => false
|
|
18
|
+
* ```
|
|
19
|
+
*/
|
|
20
|
+
export function hasOwnKeys(obj) {
|
|
21
|
+
for (const _ in obj)
|
|
22
|
+
return true;
|
|
23
|
+
return false;
|
|
24
|
+
}
|
|
5
25
|
/**
|
|
6
26
|
* Check if two mark objects are deeply equal.
|
|
7
27
|
* Treats `undefined` and `{}` as equivalent (both mean "no marks").
|
|
@@ -18,11 +38,24 @@
|
|
|
18
38
|
* ```
|
|
19
39
|
*/
|
|
20
40
|
export function marksEqual(a, b) {
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
41
|
+
// Reference equality fast-path (covers both-undefined and same-object)
|
|
42
|
+
if (a === b)
|
|
43
|
+
return true;
|
|
44
|
+
const aObj = a ?? EMPTY_OBJ;
|
|
45
|
+
const bObj = b ?? EMPTY_OBJ;
|
|
46
|
+
// Count keys in a and verify each exists with same value in b
|
|
47
|
+
let aCount = 0;
|
|
48
|
+
for (const key in aObj) {
|
|
49
|
+
aCount++;
|
|
50
|
+
if (aObj[key] !== bObj[key])
|
|
51
|
+
return false;
|
|
52
|
+
}
|
|
53
|
+
// Verify b has no extra keys
|
|
54
|
+
let bCount = 0;
|
|
55
|
+
for (const _ in bObj) {
|
|
56
|
+
bCount++;
|
|
57
|
+
}
|
|
58
|
+
return aCount === bCount;
|
|
26
59
|
}
|
|
27
60
|
/**
|
|
28
61
|
* Check if a spans array is already in normalized form:
|
|
@@ -73,11 +106,11 @@ export function normalizeSpans(spans) {
|
|
|
73
106
|
continue;
|
|
74
107
|
const prev = result[result.length - 1];
|
|
75
108
|
if (prev && marksEqual(prev.marks, span.marks)) {
|
|
76
|
-
// Merge into previous span
|
|
109
|
+
// Merge into previous span — reuse marks reference (equality just verified)
|
|
77
110
|
result[result.length - 1] = {
|
|
78
111
|
text: prev.text + span.text,
|
|
79
|
-
...(prev.marks &&
|
|
80
|
-
? { marks:
|
|
112
|
+
...(prev.marks && hasOwnKeys(prev.marks)
|
|
113
|
+
? { marks: prev.marks }
|
|
81
114
|
: {}),
|
|
82
115
|
};
|
|
83
116
|
}
|
|
@@ -85,7 +118,7 @@ export function normalizeSpans(spans) {
|
|
|
85
118
|
// Copy span to avoid mutation
|
|
86
119
|
result.push({
|
|
87
120
|
text: span.text,
|
|
88
|
-
...(span.marks &&
|
|
121
|
+
...(span.marks && hasOwnKeys(span.marks)
|
|
89
122
|
? { marks: { ...span.marks } }
|
|
90
123
|
: {}),
|
|
91
124
|
});
|
package/dist/normalize.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"normalize.js","sourceRoot":"","sources":["../src/normalize.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,UAAU,CACxB,CAAsC,EACtC,CAAsC;IAEtC,
|
|
1
|
+
{"version":3,"file":"normalize.js","sourceRoot":"","sources":["../src/normalize.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,uFAAuF;AACvF,MAAM,SAAS,GAA4B,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;AAE7D;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,UAAU,CAAC,GAA4B;IACrD,KAAK,MAAM,CAAC,IAAI,GAAG;QAAE,OAAO,IAAI,CAAC;IACjC,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,UAAU,CACxB,CAAsC,EACtC,CAAsC;IAEtC,uEAAuE;IACvE,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAEzB,MAAM,IAAI,GAAG,CAAC,IAAI,SAAS,CAAC;IAC5B,MAAM,IAAI,GAAG,CAAC,IAAI,SAAS,CAAC;IAE5B,8DAA8D;IAC9D,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,MAAM,EAAE,CAAC;QACT,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,GAAG,CAAC;YAAE,OAAO,KAAK,CAAC;IAC5C,CAAC;IAED,6BAA6B;IAC7B,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;QACrB,MAAM,EAAE,CAAC;IACX,CAAC;IAED,OAAO,MAAM,KAAK,MAAM,CAAC;AAC3B,CAAC;AAED;;;;GAIG;AACH,SAAS,YAAY,CAAC,KAA0B;IAC9C,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAErC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAE,CAAC;QACvB,2DAA2D;QAC3D,IAAI,IAAI,CAAC,IAAI,KAAK,EAAE,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;YAAE,OAAO,KAAK,CAAC;QACvD,8CAA8C;QAC9C,IAAI,CAAC,GAAG,CAAC,IAAI,UAAU,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAE,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC;YAAE,OAAO,KAAK,CAAC;IACzE,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,UAAU,cAAc,CAAC,KAA0B;IACvD,wEAAwE;IACxE,IAAI,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;QACxB,OAAO,KAAe,CAAC;IACzB,CAAC;IAED,MAAM,MAAM,GAAW,EAAE,CAAC;IAE1B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,IAAI,CAAC,IAAI,KAAK,EAAE;YAAE,SAAS;QAE/B,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACvC,IAAI,IAAI,IAAI,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YAC/C,4EAA4E;YAC5E,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG;gBAC1B,IAAI,EAAE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI;gBAC3B,GAAG,CAAC,IAAI,CAAC,KAAK,IAAI,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC;oBACtC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE;oBACvB,CAAC,CAAC,EAAE,CAAC;aACR,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,8BAA8B;YAC9B,MAAM,CAAC,IAAI,CAAC;gBACV,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,GAAG,CAAC,IAAI,CAAC,KAAK,IAAI,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC;oBACtC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,EAAE;oBAC9B,CAAC,CAAC,EAAE,CAAC;aACR,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,OAAO,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;IACxB,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC"}
|