@rtif-sdk/core 1.0.0 → 1.1.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 +3 -3
- package/dist/apply.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/normalize.d.ts +3 -1
- package/dist/normalize.d.ts.map +1 -1
- package/dist/normalize.js +26 -1
- package/dist/normalize.js.map +1 -1
- package/dist/resolve-cache.d.ts +71 -0
- package/dist/resolve-cache.d.ts.map +1 -0
- package/dist/resolve-cache.js +83 -0
- package/dist/resolve-cache.js.map +1 -0
- package/package.json +15 -4
package/dist/apply.js
CHANGED
|
@@ -505,7 +505,7 @@ function applySetBlockAttrs(doc, op) {
|
|
|
505
505
|
const newBlock = {
|
|
506
506
|
id: block.id,
|
|
507
507
|
type: block.type,
|
|
508
|
-
spans: block.spans
|
|
508
|
+
spans: block.spans,
|
|
509
509
|
...(newAttrs ? { attrs: newAttrs } : {}),
|
|
510
510
|
};
|
|
511
511
|
const newBlocks = doc.blocks.map((b, i) => (i === blockIndex ? newBlock : b));
|
|
@@ -547,7 +547,7 @@ function applySetBlockType(doc, op) {
|
|
|
547
547
|
const newBlock = {
|
|
548
548
|
id: block.id,
|
|
549
549
|
type: op.blockType,
|
|
550
|
-
spans: block.spans
|
|
550
|
+
spans: block.spans,
|
|
551
551
|
...(block.attrs ? { attrs: { ...block.attrs } } : {}),
|
|
552
552
|
};
|
|
553
553
|
const newBlocks = doc.blocks.map((b, i) => (i === blockIndex ? newBlock : b));
|
|
@@ -596,7 +596,7 @@ function applySetMeta(doc, op) {
|
|
|
596
596
|
};
|
|
597
597
|
const newDoc = {
|
|
598
598
|
version: doc.version,
|
|
599
|
-
blocks:
|
|
599
|
+
blocks: doc.blocks,
|
|
600
600
|
...(newMeta ? { meta: newMeta } : {}),
|
|
601
601
|
};
|
|
602
602
|
return { doc: newDoc, inverse };
|
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":"AAAA;;;GAGG;AAIH,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AASxD;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,KAAK,CAAC,GAAa,EAAE,EAAa;IAChD,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC;QAChB,KAAK,aAAa;YAChB,OAAO,eAAe,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QAClC,KAAK,aAAa;YAChB,OAAO,eAAe,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QAClC,KAAK,aAAa;YAChB,OAAO,eAAe,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QAClC,KAAK,aAAa;YAChB,OAAO,eAAe,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QAClC,KAAK,gBAAgB;YACnB,OAAO,iBAAiB,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QACpC,KAAK,iBAAiB;YACpB,OAAO,kBAAkB,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QACrC,KAAK,gBAAgB;YACnB,OAAO,iBAAiB,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QACpC,KAAK,UAAU;YACb,OAAO,YAAY,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IACjC,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,SAAS,mBAAmB,CAC1B,KAA0B,EAC1B,WAAmB,EACnB,IAAY;IAEZ,gDAAgD;IAChD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,CAAC,CAAE,CAAC,IAAI,KAAK,EAAE,IAAI,WAAW,KAAK,CAAC,EAAE,CAAC;QACrE,OAAO,CAAC;gBACN,IAAI;gBACJ,GAAG,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,KAAK,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC;oBAC5D,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,GAAG,KAAK,CAAC,CAAC,CAAE,CAAC,KAAK,EAAE,EAAE;oBACnC,CAAC,CAAC,EAAE,CAAC;aACR,CAAC,CAAC;IACL,CAAC;IAED,IAAI,SAAS,GAAG,WAAW,CAAC;IAC5B,MAAM,MAAM,GAAW,EAAE,CAAC;IAE1B,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;QAEvB,IAAI,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACjC,sCAAsC;YACtC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;YAC5B,SAAS,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;QAChC,CAAC;aAAM,CAAC;YACN,6CAA6C;YAC7C,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;YAC7C,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;YACzC,MAAM,CAAC,IAAI,CAAC;gBACV,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,KAAK;gBAC3B,GAAG,CAAC,IAAI,CAAC,KAAK,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC;oBAClD,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,EAAE;oBAC9B,CAAC,CAAC,EAAE,CAAC;aACR,CAAC,CAAC;YAEH,uBAAuB;YACvB,KAAK,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC1C,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC;YACnC,CAAC;YACD,MAAM;QACR,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;GAEG;AACH,SAAS,eAAe,CAAC,GAAa,EAAE,EAAc;IACpD,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC;IAC5D,MAAM,KAAK,GAAG,GAAG,CAAC,MAAM,CAAC,UAAU,CAAE,CAAC;IAEtC,MAAM,QAAQ,GAAG,cAAc,CAC7B,mBAAmB,CAAC,KAAK,CAAC,KAAK,EAAE,WAAW,EAAE,EAAE,CAAC,IAAI,CAAC,CACvD,CAAC;IAEF,MAAM,QAAQ,GAAU;QACtB,EAAE,EAAE,KAAK,CAAC,EAAE;QACZ,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,KAAK,EAAE,QAAQ;QACf,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,GAAG,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACtD,CAAC;IAEF,MAAM,SAAS,GAAG,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAE9E,MAAM,OAAO,GAAe;QAC1B,IAAI,EAAE,aAAa;QACnB,MAAM,EAAE,EAAE,CAAC,MAAM;QACjB,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM;KACtB,CAAC;IAEF,OAAO;QACL,GAAG,EAAE,EAAE,GAAG,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE;QAClC,OAAO;KACR,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,SAAS,eAAe,CAAC,GAAa,EAAE,EAAc;IACpD,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC;IAC5D,MAAM,KAAK,GAAG,GAAG,CAAC,MAAM,CAAC,UAAU,CAAE,CAAC;IACtC,MAAM,IAAI,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;IAEpC,IAAI,EAAE,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC;QACjB,MAAM,IAAI,SAAS,CAAC,eAAe,EAAE,+CAA+C,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC;IAClG,CAAC;IAED,IAAI,WAAW,GAAG,EAAE,CAAC,KAAK,GAAG,IAAI,EAAE,CAAC;QAClC,MAAM,IAAI,SAAS,CACjB,eAAe,EACf,sBAAsB,EAAE,CAAC,MAAM,KAAK,EAAE,CAAC,MAAM,GAAG,EAAE,CAAC,KAAK,6BAA6B,CACtF,CAAC;IACJ,CAAC;IAED,2CAA2C;IAC3C,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACzD,MAAM,WAAW,GAAG,QAAQ,CAAC,KAAK,CAAC,WAAW,EAAE,WAAW,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC;IAExE,0BAA0B;IAC1B,MAAM,QAAQ,GAAG,cAAc,CAC7B,eAAe,CAAC,KAAK,CAAC,KAAK,EAAE,WAAW,EAAE,EAAE,CAAC,KAAK,CAAC,CACpD,CAAC;IAEF,MAAM,QAAQ,GAAU;QACtB,EAAE,EAAE,KAAK,CAAC,EAAE;QACZ,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,KAAK,EAAE,QAAQ;QACf,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,GAAG,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACtD,CAAC;IAEF,MAAM,SAAS,GAAG,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAE9E,MAAM,OAAO,GAAe;QAC1B,IAAI,EAAE,aAAa;QACnB,MAAM,EAAE,EAAE,CAAC,MAAM;QACjB,IAAI,EAAE,WAAW;KAClB,CAAC;IAEF,OAAO;QACL,GAAG,EAAE,EAAE,GAAG,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE;QAClC,OAAO;KACR,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,SAAS,eAAe,CACtB,KAA0B,EAC1B,WAAmB,EACnB,KAAa;IAEb,MAAM,MAAM,GAAW,EAAE,CAAC;IAC1B,IAAI,SAAS,GAAG,WAAW,CAAC;IAC5B,IAAI,QAAQ,GAAG,KAAK,CAAC;IAErB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,QAAQ,KAAK,CAAC,EAAE,CAAC;YACnB,wCAAwC;YACxC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;QAC9B,CAAC;aAAM,IAAI,SAAS,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACzC,sEAAsE;YACtE,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;YAC5B,SAAS,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;QAChC,CAAC;aAAM,CAAC;YACN,8BAA8B;YAC9B,MAAM,WAAW,GAAG,SAAS,CAAC;YAC9B,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,WAAW,GAAG,QAAQ,CAAC,CAAC;YACrE,MAAM,OAAO,GAAG,SAAS,GAAG,WAAW,CAAC;YAExC,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC;YAC/C,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;YACzC,MAAM,OAAO,GAAG,MAAM,GAAG,KAAK,CAAC;YAE/B,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACvB,MAAM,CAAC,IAAI,CAAC;oBACV,IAAI,EAAE,OAAO;oBACb,GAAG,CAAC,IAAI,CAAC,KAAK,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC;wBAClD,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,EAAE;wBAC9B,CAAC,CAAC,EAAE,CAAC;iBACR,CAAC,CAAC;YACL,CAAC;YAED,QAAQ,IAAI,OAAO,CAAC;YACpB,SAAS,GAAG,CAAC,CAAC;QAChB,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;GAGG;AACH,SAAS,YAAY,CACnB,KAA0B,EAC1B,WAAmB;IAEnB,MAAM,IAAI,GAAW,EAAE,CAAC;IACxB,MAAM,KAAK,GAAW,EAAE,CAAC;IACzB,IAAI,SAAS,GAAG,WAAW,CAAC;IAE5B,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;QAEvB,IAAI,SAAS,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YAClC,oCAAoC;YACpC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;YAC1B,SAAS,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;QAChC,CAAC;aAAM,IAAI,SAAS,GAAG,CAAC,EAAE,CAAC;YACzB,kBAAkB;YAClB,IAAI,CAAC,IAAI,CAAC;gBACR,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC;gBACnC,GAAG,CAAC,IAAI,CAAC,KAAK,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC;oBAClD,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,EAAE;oBAC9B,CAAC,CAAC,EAAE,CAAC;aACR,CAAC,CAAC;YACH,KAAK,CAAC,IAAI,CAAC;gBACT,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC;gBAChC,GAAG,CAAC,IAAI,CAAC,KAAK,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC;oBAClD,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,EAAE;oBAC9B,CAAC,CAAC,EAAE,CAAC;aACR,CAAC,CAAC;YACH,SAAS,GAAG,CAAC,CAAC;YAEd,qBAAqB;YACrB,KAAK,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC1C,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC;YAClC,CAAC;YACD,MAAM;QACR,CAAC;aAAM,CAAC;YACN,0DAA0D;YAC1D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACtC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC;YAClC,CAAC;YACD,MAAM;QACR,CAAC;IACH,CAAC;IAED,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC;AACvD,CAAC;AAED;;;;GAIG;AACH,SAAS,eAAe,CAAC,GAAa,EAAE,EAAc;IACpD,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC;IAC5D,MAAM,KAAK,GAAG,GAAG,CAAC,MAAM,CAAC,UAAU,CAAE,CAAC;IAEtC,MAAM,CAAC,SAAS,EAAE,UAAU,CAAC,GAAG,YAAY,CAAC,KAAK,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;IAEvE,MAAM,UAAU,GAAG,EAAE,CAAC,UAAU,IAAI,GAAG,KAAK,CAAC,EAAE,QAAQ,CAAC;IAExD,MAAM,SAAS,GAAU;QACvB,EAAE,EAAE,KAAK,CAAC,EAAE;QACZ,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,KAAK,EAAE,SAAS;QAChB,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,GAAG,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACtD,CAAC;IAEF,MAAM,UAAU,GAAU;QACxB,EAAE,EAAE,UAAU;QACd,IAAI,EAAE,EAAE,CAAC,gBAAgB,IAAI,KAAK,CAAC,IAAI;QACvC,KAAK,EAAE,UAAU;QACjB,GAAG,CAAC,EAAE,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACxE,CAAC;IAEF,MAAM,SAAS,GAAG;QAChB,GAAG,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,UAAU,CAAC;QAClC,SAAS;QACT,UAAU;QACV,GAAG,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,GAAG,CAAC,CAAC;KACpC,CAAC;IAEF,0EAA0E;IAC1E,0CAA0C;IAC1C,MAAM,OAAO,GAAe;QAC1B,IAAI,EAAE,aAAa;QACnB,OAAO,EAAE,UAAU;KACpB,CAAC;IAEF,OAAO;QACL,GAAG,EAAE,EAAE,GAAG,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE;QAClC,OAAO;KACR,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,SAAS,eAAe,CAAC,GAAa,EAAE,EAAc;IACpD,MAAM,UAAU,GAAG,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,OAAO,CAAC,CAAC;IAEpE,IAAI,UAAU,KAAK,CAAC,CAAC,EAAE,CAAC;QACtB,MAAM,IAAI,SAAS,CACjB,iBAAiB,EACjB,UAAU,EAAE,CAAC,OAAO,aAAa,CAClC,CAAC;IACJ,CAAC;IAED,IAAI,UAAU,KAAK,CAAC,EAAE,CAAC;QACrB,MAAM,IAAI,SAAS,CACjB,kBAAkB,EAClB,iCAAiC,EAAE,CAAC,OAAO,8BAA8B,CAC1E,CAAC;IACJ,CAAC;IAED,MAAM,SAAS,GAAG,GAAG,CAAC,MAAM,CAAC,UAAU,GAAG,CAAC,CAAE,CAAC;IAC9C,MAAM,WAAW,GAAG,GAAG,CAAC,MAAM,CAAC,UAAU,CAAE,CAAC;IAE5C,oEAAoE;IACpE,wCAAwC;IACxC,IAAI,WAAW,GAAG,CAAC,CAAC;IACpB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QACxC,WAAW,IAAI,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAE,CAAC,GAAG,CAAC,CAAC,CAAC,oBAAoB;IAC1E,CAAC;IACD,WAAW,IAAI,eAAe,CAAC,SAAS,CAAC,CAAC;IAE1C,kCAAkC;IAClC,MAAM,aAAa,GAAG,cAAc,CAAC;QACnC,GAAG,SAAS,CAAC,KAAK;QAClB,GAAG,WAAW,CAAC,KAAK;KACrB,CAAC,CAAC;IAEH,MAAM,QAAQ,GAAU;QACtB,EAAE,EAAE,SAAS,CAAC,EAAE;QAChB,IAAI,EAAE,SAAS,CAAC,IAAI;QACpB,KAAK,EAAE,aAAa;QACpB,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,GAAG,SAAS,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC9D,CAAC;IAEF,MAAM,SAAS,GAAG;QAChB,GAAG,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,UAAU,GAAG,CAAC,CAAC;QACtC,QAAQ;QACR,GAAG,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,GAAG,CAAC,CAAC;KACpC,CAAC;IAEF,MAAM,OAAO,GAAe;QAC1B,IAAI,EAAE,aAAa;QACnB,MAAM,EAAE,WAAW;QACnB,UAAU,EAAE,WAAW,CAAC,EAAE;QAC1B,gBAAgB,EAAE,WAAW,CAAC,IAAI;QAClC,GAAG,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,EAAE,GAAG,WAAW,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC9E,CAAC;IAEF,OAAO;QACL,GAAG,EAAE,EAAE,GAAG,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE;QAClC,OAAO;KACR,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,SAAS,iBAAiB,CAAC,GAAa,EAAE,EAAgB;IACxD,IAAI,EAAE,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC;QACjB,MAAM,IAAI,SAAS,CAAC,eAAe,EAAE,kDAAkD,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC;IACrG,CAAC;IAED,IAAI,EAAE,CAAC,KAAK,KAAK,CAAC,EAAE,CAAC;QACnB,kCAAkC;QAClC,OAAO;YACL,GAAG,EAAE,EAAE,GAAG,GAAG,EAAE,MAAM,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE;YACxC,OAAO,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE;SAC5E,CAAC;IACJ,CAAC;IAED,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC;IAC5D,MAAM,KAAK,GAAG,GAAG,CAAC,MAAM,CAAC,UAAU,CAAE,CAAC;IACtC,MAAM,IAAI,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;IAEpC,IAAI,WAAW,GAAG,EAAE,CAAC,KAAK,GAAG,IAAI,EAAE,CAAC;QAClC,MAAM,IAAI,SAAS,CACjB,eAAe,EACf,yBAAyB,EAAE,CAAC,MAAM,KAAK,EAAE,CAAC,MAAM,GAAG,EAAE,CAAC,KAAK,6BAA6B,CACzF,CAAC;IACJ,CAAC;IAED,MAAM,UAAU,GAAG,WAAW,CAAC;IAC/B,MAAM,QAAQ,GAAG,WAAW,GAAG,EAAE,CAAC,KAAK,CAAC;IAExC,4EAA4E;IAC5E,MAAM,SAAS,GAA4B,EAAE,CAAC;IAC9C,IAAI,aAAa,GAAG,KAAK,CAAC;IAE1B,MAAM,QAAQ,GAAW,EAAE,CAAC;IAC5B,IAAI,GAAG,GAAG,CAAC,CAAC;IAEZ,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;QAC/B,MAAM,SAAS,GAAG,GAAG,CAAC;QACtB,MAAM,OAAO,GAAG,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;QACvC,GAAG,GAAG,OAAO,CAAC;QAEd,IAAI,OAAO,IAAI,UAAU,IAAI,SAAS,IAAI,QAAQ,EAAE,CAAC;YACnD,8CAA8C;YAC9C,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;QAChC,CAAC;aAAM,IAAI,SAAS,IAAI,UAAU,IAAI,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC1D,6CAA6C;YAC7C,IAAI,CAAC,aAAa,EAAE,CAAC;gBACnB,gBAAgB,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;gBAC5C,aAAa,GAAG,IAAI,CAAC;YACvB,CAAC;YACD,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;QAClD,CAAC;aAAM,IAAI,SAAS,GAAG,UAAU,IAAI,OAAO,GAAG,QAAQ,EAAE,CAAC;YACxD,0DAA0D;YAC1D,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;YAChF,IAAI,CAAC,aAAa,EAAE,CAAC;gBACnB,gBAAgB,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;gBAC5C,aAAa,GAAG,IAAI,CAAC;YACvB,CAAC;YACD,MAAM,MAAM,GAAS,QAAQ,CAC3B,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,SAAS,EAAE,QAAQ,GAAG,SAAS,CAAC,EAC7D,IAAI,CAAC,KAAK,CACX,CAAC;YACF,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;YAClD,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,SAAS,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;QAC7E,CAAC;aAAM,IAAI,SAAS,GAAG,UAAU,EAAE,CAAC;YAClC,sDAAsD;YACtD,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;YAChF,IAAI,CAAC,aAAa,EAAE,CAAC;gBACnB,gBAAgB,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;gBAC5C,aAAa,GAAG,IAAI,CAAC;YACvB,CAAC;YACD,MAAM,IAAI,GAAS,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,SAAS,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;YACjF,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;QAClD,CAAC;aAAM,CAAC;YACN,yEAAyE;YACzE,IAAI,CAAC,aAAa,EAAE,CAAC;gBACnB,gBAAgB,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;gBAC5C,aAAa,GAAG,IAAI,CAAC;YACvB,CAAC;YACD,MAAM,IAAI,GAAS,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;YAClF,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;YAChD,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,SAAS,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;QAC7E,CAAC;IACH,CAAC;IAED,MAAM,UAAU,GAAG,cAAc,CAAC,QAAQ,CAAC,CAAC;IAE5C,MAAM,QAAQ,GAAU;QACtB,EAAE,EAAE,KAAK,CAAC,EAAE;QACZ,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,KAAK,EAAE,UAAU;QACjB,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,GAAG,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACtD,CAAC;IAEF,MAAM,SAAS,GAAG,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAE9E,sBAAsB;IACtB,MAAM,YAAY,GAA4B,EAAE,CAAC;IACjD,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;QACxC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC;YAC3B,6EAA6E;YAC7E,IAAI,GAAG,IAAI,SAAS,EAAE,CAAC;gBACrB,YAAY,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC;YACrC,CAAC;QACH,CAAC;aAAM,CAAC;YACN,oEAAoE;YACpE,IAAI,GAAG,IAAI,SAAS,EAAE,CAAC;gBACrB,YAAY,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC;YACrC,CAAC;iBAAM,CAAC;gBACN,YAAY,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;YAC3B,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM,OAAO,GAAiB;QAC5B,IAAI,EAAE,gBAAgB;QACtB,MAAM,EAAE,EAAE,CAAC,MAAM;QACjB,KAAK,EAAE,EAAE,CAAC,KAAK;QACf,KAAK,EAAE,YAAY;KACpB,CAAC;IAEF,OAAO;QACL,GAAG,EAAE,EAAE,GAAG,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE;QAClC,OAAO;KACR,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,SAAS,gBAAgB,CACvB,IAAU,EACV,OAAgC,EAChC,SAAkC;IAElC,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QACvC,IAAI,CAAC,CAAC,GAAG,IAAI,SAAS,CAAC,IAAI,IAAI,CAAC,KAAK,IAAI,GAAG,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAC3D,SAAS,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACnC,CAAC;IACH,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,gBAAgB,CAAC,IAAU,EAAE,KAA8B;IAClE,MAAM,QAAQ,GAA4B,EAAE,GAAG,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,EAAE,CAAC;IACpE,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACjD,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;YACnB,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC;QACvB,CAAC;aAAM,CAAC;YACN,QAAQ,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;QACxB,CAAC;IACH,CAAC;IACD,OAAO;QACL,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACjE,CAAC;AACJ,CAAC;AAED,iEAAiE;AACjE,SAAS,QAAQ,CAAC,IAAY,EAAE,KAA0C;IACxE,OAAO;QACL,IAAI;QACJ,GAAG,CAAC,KAAK,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,GAAG,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC3E,CAAC;AACJ,CAAC;AAED,uCAAuC;AACvC,SAAS,QAAQ,CAAC,IAAU;IAC1B,OAAO;QACL,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,GAAG,CAAC,IAAI,CAAC,KAAK,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC;YAClD,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,EAAE;YAC9B,CAAC,CAAC,EAAE,CAAC;KACR,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,SAAS,kBAAkB,CAAC,GAAa,EAAE,EAAiB;IAC1D,MAAM,UAAU,GAAG,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,OAAO,CAAC,CAAC;IAEpE,IAAI,UAAU,KAAK,CAAC,CAAC,EAAE,CAAC;QACtB,MAAM,IAAI,SAAS,CACjB,iBAAiB,EACjB,UAAU,EAAE,CAAC,OAAO,aAAa,CAClC,CAAC;IACJ,CAAC;IAED,MAAM,KAAK,GAAG,GAAG,CAAC,MAAM,CAAC,UAAU,CAAE,CAAC;IACtC,MAAM,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC;IAE9B,mEAAmE;IACnE,MAAM,MAAM,GAA4B,EAAE,GAAG,CAAC,SAAS,IAAI,EAAE,CAAC,EAAE,CAAC;IACjE,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;QACpD,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;YACnB,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC;QACrB,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;QACtB,CAAC;IACH,CAAC;IAED,iDAAiD;IACjD,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;IAErE,MAAM,QAAQ,GAAU;QACtB,EAAE,EAAE,KAAK,CAAC,EAAE;QACZ,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACzC,CAAC;IAEF,MAAM,SAAS,GAAG,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAE9E,qEAAqE;IACrE,0EAA0E;IAC1E,MAAM,YAAY,GAA4B,EAAE,CAAC;IACjD,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;QACxC,IAAI,SAAS,IAAI,GAAG,IAAI,SAAS,EAAE,CAAC;YAClC,YAAY,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC;QACrC,CAAC;aAAM,CAAC;YACN,YAAY,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;QAC3B,CAAC;IACH,CAAC;IAED,MAAM,OAAO,GAAkB;QAC7B,IAAI,EAAE,iBAAiB;QACvB,OAAO,EAAE,EAAE,CAAC,OAAO;QACnB,KAAK,EAAE,YAAY;KACpB,CAAC;IAEF,OAAO;QACL,GAAG,EAAE,EAAE,GAAG,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE;QAClC,OAAO;KACR,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,SAAS,iBAAiB,CAAC,GAAa,EAAE,EAAgB;IACxD,IAAI,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC;QAClB,MAAM,IAAI,SAAS,CACjB,kBAAkB,EAClB,qDAAqD,CACtD,CAAC;IACJ,CAAC;IAED,MAAM,UAAU,GAAG,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,OAAO,CAAC,CAAC;IAEpE,IAAI,UAAU,KAAK,CAAC,CAAC,EAAE,CAAC;QACtB,MAAM,IAAI,SAAS,CACjB,iBAAiB,EACjB,UAAU,EAAE,CAAC,OAAO,aAAa,CAClC,CAAC;IACJ,CAAC;IAED,MAAM,KAAK,GAAG,GAAG,CAAC,MAAM,CAAC,UAAU,CAAE,CAAC;IACtC,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC;IAE5B,MAAM,QAAQ,GAAU;QACtB,EAAE,EAAE,KAAK,CAAC,EAAE;QACZ,IAAI,EAAE,EAAE,CAAC,SAAS;QAClB,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,GAAG,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACtD,CAAC;IAEF,MAAM,SAAS,GAAG,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAE9E,MAAM,OAAO,GAAiB;QAC5B,IAAI,EAAE,gBAAgB;QACtB,OAAO,EAAE,EAAE,CAAC,OAAO;QACnB,SAAS,EAAE,QAAQ;KACpB,CAAC;IAEF,OAAO;QACL,GAAG,EAAE,EAAE,GAAG,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE;QAClC,OAAO;KACR,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,SAAS,YAAY,CAAC,GAAa,EAAE,EAAW;IAC9C,MAAM,QAAQ,GAAG,GAAG,CAAC,IAAI,CAAC;IAE1B,kEAAkE;IAClE,MAAM,MAAM,GAA4B,EAAE,GAAG,CAAC,QAAQ,IAAI,EAAE,CAAC,EAAE,CAAC;IAChE,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QACnD,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;YACnB,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC;QACrB,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;QACtB,CAAC;IACH,CAAC;IAED,qDAAqD;IACrD,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;IAEpE,oEAAoE;IACpE,MAAM,WAAW,GAA4B,EAAE,CAAC;IAChD,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QACvC,IAAI,QAAQ,IAAI,GAAG,IAAI,QAAQ,EAAE,CAAC;YAChC,WAAW,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;QACnC,CAAC;aAAM,CAAC;YACN,WAAW,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;QAC1B,CAAC;IACH,CAAC;IAED,MAAM,OAAO,GAAY;QACvB,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,WAAW;KAClB,CAAC;IAEF,MAAM,MAAM,GAAa;QACvB,OAAO,EAAE,GAAG,CAAC,OAAO;QACpB,MAAM,EAAE,GAAG,CAAC,MAAM;QAClB,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACtC,CAAC;IAEF,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;AAClC,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -7,6 +7,8 @@ export type { ApplyResult } from './apply.js';
|
|
|
7
7
|
export { normalizeSpans, marksEqual } from './normalize.js';
|
|
8
8
|
export { resolve, blockTextLength, docLength } from './resolve.js';
|
|
9
9
|
export type { ResolvedPosition } from './resolve.js';
|
|
10
|
+
export { createResolveIndex } from './resolve-cache.js';
|
|
11
|
+
export type { ResolveIndex } from './resolve-cache.js';
|
|
10
12
|
export { validate } from './validate.js';
|
|
11
13
|
export type { ValidationResult, ValidationError } from './validate.js';
|
|
12
14
|
export { getMarksAtOffset, getMarksInRange, getBlockAtOffset } from './queries.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;AAE5D,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACnE,YAAY,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAErD,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"}
|
|
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;AAE5D,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
|
@@ -4,6 +4,7 @@ export { RtifError } from './error.js';
|
|
|
4
4
|
export { apply } from './apply.js';
|
|
5
5
|
export { normalizeSpans, marksEqual } from './normalize.js';
|
|
6
6
|
export { resolve, blockTextLength, docLength } from './resolve.js';
|
|
7
|
+
export { createResolveIndex } from './resolve-cache.js';
|
|
7
8
|
export { validate } from './validate.js';
|
|
8
9
|
export { getMarksAtOffset, getMarksInRange, getBlockAtOffset } from './queries.js';
|
|
9
10
|
// Serialization contracts
|
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;AAE5D,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAGnE,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"}
|
|
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;AAE5D,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
|
@@ -26,9 +26,11 @@ export declare function marksEqual(a: Record<string, unknown> | undefined, b: Re
|
|
|
26
26
|
* 3. If the result is empty, returns one span: `{ text: "" }`.
|
|
27
27
|
*
|
|
28
28
|
* This guarantees two semantically identical documents have identical JSON.
|
|
29
|
+
* When the input is already normalized, returns the original array reference
|
|
30
|
+
* to preserve reference identity for the reconciler.
|
|
29
31
|
*
|
|
30
32
|
* @param spans - The spans to normalize
|
|
31
|
-
* @returns A
|
|
33
|
+
* @returns A normalized array of spans (same reference if already normalized)
|
|
32
34
|
*
|
|
33
35
|
* @example
|
|
34
36
|
* ```ts
|
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;AAEvC;;;;;;;;;;;;;;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,CAKT;
|
|
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;AAEvC;;;;;;;;;;;;;;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,CAKT;AAoBD;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,aAAa,CAAC,IAAI,CAAC,GAAG,IAAI,EAAE,CAoCjE"}
|
package/dist/normalize.js
CHANGED
|
@@ -24,6 +24,25 @@ export function marksEqual(a, b) {
|
|
|
24
24
|
return false;
|
|
25
25
|
return aKeys.every((key) => (a ?? {})[key] === (b ?? {})[key]);
|
|
26
26
|
}
|
|
27
|
+
/**
|
|
28
|
+
* Check if a spans array is already in normalized form:
|
|
29
|
+
* no empty spans (except a single empty span for an empty block),
|
|
30
|
+
* and no adjacent spans with identical marks.
|
|
31
|
+
*/
|
|
32
|
+
function isNormalized(spans) {
|
|
33
|
+
if (spans.length === 0)
|
|
34
|
+
return false;
|
|
35
|
+
for (let i = 0; i < spans.length; i++) {
|
|
36
|
+
const span = spans[i];
|
|
37
|
+
// Empty span is only allowed as the sole span in the array
|
|
38
|
+
if (span.text === '' && spans.length > 1)
|
|
39
|
+
return false;
|
|
40
|
+
// Adjacent spans with same marks need merging
|
|
41
|
+
if (i > 0 && marksEqual(spans[i - 1].marks, span.marks))
|
|
42
|
+
return false;
|
|
43
|
+
}
|
|
44
|
+
return true;
|
|
45
|
+
}
|
|
27
46
|
/**
|
|
28
47
|
* Normalize an array of spans:
|
|
29
48
|
* 1. Adjacent spans with identical marks are merged into one.
|
|
@@ -31,9 +50,11 @@ export function marksEqual(a, b) {
|
|
|
31
50
|
* 3. If the result is empty, returns one span: `{ text: "" }`.
|
|
32
51
|
*
|
|
33
52
|
* This guarantees two semantically identical documents have identical JSON.
|
|
53
|
+
* When the input is already normalized, returns the original array reference
|
|
54
|
+
* to preserve reference identity for the reconciler.
|
|
34
55
|
*
|
|
35
56
|
* @param spans - The spans to normalize
|
|
36
|
-
* @returns A
|
|
57
|
+
* @returns A normalized array of spans (same reference if already normalized)
|
|
37
58
|
*
|
|
38
59
|
* @example
|
|
39
60
|
* ```ts
|
|
@@ -42,6 +63,10 @@ export function marksEqual(a, b) {
|
|
|
42
63
|
* ```
|
|
43
64
|
*/
|
|
44
65
|
export function normalizeSpans(spans) {
|
|
66
|
+
// Fast path: if spans are already normalized, return the original array
|
|
67
|
+
if (isNormalized(spans)) {
|
|
68
|
+
return spans;
|
|
69
|
+
}
|
|
45
70
|
const result = [];
|
|
46
71
|
for (const span of spans) {
|
|
47
72
|
if (span.text === '')
|
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,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IACnC,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IACnC,IAAI,KAAK,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM;QAAE,OAAO,KAAK,CAAC;IAChD,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;AACjE,CAAC;AAED
|
|
1
|
+
{"version":3,"file":"normalize.js","sourceRoot":"","sources":["../src/normalize.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Prefix-sum resolve index for O(log n) offset resolution.
|
|
3
|
+
*
|
|
4
|
+
* For documents with many blocks, the linear `resolve()` function becomes
|
|
5
|
+
* a bottleneck since it's called from `apply()`, `getMarksAtOffset()`,
|
|
6
|
+
* `getMarksInRange()`, and `getBlockAtOffset()`. This module provides
|
|
7
|
+
* an optional acceleration structure.
|
|
8
|
+
*/
|
|
9
|
+
import type { Document } from './model.js';
|
|
10
|
+
/**
|
|
11
|
+
* A prefix-sum index for fast offset → block resolution via binary search.
|
|
12
|
+
*
|
|
13
|
+
* The index stores cumulative block start offsets (including virtual `\n`
|
|
14
|
+
* separators between blocks). Given an absolute document offset, `resolve()`
|
|
15
|
+
* performs a binary search in O(log n) instead of the linear O(n) scan.
|
|
16
|
+
*
|
|
17
|
+
* Create with {@link createResolveIndex}. The index is immutable — rebuild
|
|
18
|
+
* it when the document changes.
|
|
19
|
+
*
|
|
20
|
+
* @example
|
|
21
|
+
* ```ts
|
|
22
|
+
* const index = createResolveIndex(doc);
|
|
23
|
+
* const { blockIndex, localOffset } = index.resolve(42);
|
|
24
|
+
* const total = index.docLength();
|
|
25
|
+
* ```
|
|
26
|
+
*/
|
|
27
|
+
export interface ResolveIndex {
|
|
28
|
+
/**
|
|
29
|
+
* Resolve an absolute offset to a block index and local offset.
|
|
30
|
+
* Uses binary search on the prefix-sum array for O(log n) performance.
|
|
31
|
+
*
|
|
32
|
+
* @param offset - Absolute character offset from document start
|
|
33
|
+
* @returns Block index and local offset within that block
|
|
34
|
+
* @throws {RtifError} OFFSET_OUT_OF_RANGE if offset is negative or exceeds document length
|
|
35
|
+
*/
|
|
36
|
+
resolve(offset: number): {
|
|
37
|
+
readonly blockIndex: number;
|
|
38
|
+
readonly localOffset: number;
|
|
39
|
+
};
|
|
40
|
+
/**
|
|
41
|
+
* Total document length in O(1).
|
|
42
|
+
*
|
|
43
|
+
* @returns The total character count including virtual newline separators
|
|
44
|
+
*/
|
|
45
|
+
docLength(): number;
|
|
46
|
+
/**
|
|
47
|
+
* The absolute start offset of a block in O(1).
|
|
48
|
+
*
|
|
49
|
+
* @param blockIndex - The 0-based block index
|
|
50
|
+
* @returns The absolute offset where the block's text begins
|
|
51
|
+
* @throws {RtifError} OFFSET_OUT_OF_RANGE if blockIndex is out of range
|
|
52
|
+
*/
|
|
53
|
+
blockStartOffset(blockIndex: number): number;
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Create a prefix-sum resolve index for fast offset resolution.
|
|
57
|
+
*
|
|
58
|
+
* Builds the index in O(n) (one pass over all blocks). Subsequent
|
|
59
|
+
* `resolve()` calls are O(log n).
|
|
60
|
+
*
|
|
61
|
+
* @param doc - The RTIF document to index
|
|
62
|
+
* @returns A ResolveIndex for the given document
|
|
63
|
+
*
|
|
64
|
+
* @example
|
|
65
|
+
* ```ts
|
|
66
|
+
* const index = createResolveIndex(doc);
|
|
67
|
+
* const { blockIndex, localOffset } = index.resolve(42);
|
|
68
|
+
* ```
|
|
69
|
+
*/
|
|
70
|
+
export declare function createResolveIndex(doc: Document): ResolveIndex;
|
|
71
|
+
//# sourceMappingURL=resolve-cache.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolve-cache.d.ts","sourceRoot":"","sources":["../src/resolve-cache.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAI3C;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,WAAW,YAAY;IAC3B;;;;;;;OAOG;IACH,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG;QAAE,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC;IAEvF;;;;OAIG;IACH,SAAS,IAAI,MAAM,CAAC;IAEpB;;;;;;OAMG;IACH,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAAC;CAC9C;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,QAAQ,GAAG,YAAY,CA0E9D"}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Prefix-sum resolve index for O(log n) offset resolution.
|
|
3
|
+
*
|
|
4
|
+
* For documents with many blocks, the linear `resolve()` function becomes
|
|
5
|
+
* a bottleneck since it's called from `apply()`, `getMarksAtOffset()`,
|
|
6
|
+
* `getMarksInRange()`, and `getBlockAtOffset()`. This module provides
|
|
7
|
+
* an optional acceleration structure.
|
|
8
|
+
*/
|
|
9
|
+
import { blockTextLength } from './resolve.js';
|
|
10
|
+
import { RtifError } from './error.js';
|
|
11
|
+
/**
|
|
12
|
+
* Create a prefix-sum resolve index for fast offset resolution.
|
|
13
|
+
*
|
|
14
|
+
* Builds the index in O(n) (one pass over all blocks). Subsequent
|
|
15
|
+
* `resolve()` calls are O(log n).
|
|
16
|
+
*
|
|
17
|
+
* @param doc - The RTIF document to index
|
|
18
|
+
* @returns A ResolveIndex for the given document
|
|
19
|
+
*
|
|
20
|
+
* @example
|
|
21
|
+
* ```ts
|
|
22
|
+
* const index = createResolveIndex(doc);
|
|
23
|
+
* const { blockIndex, localOffset } = index.resolve(42);
|
|
24
|
+
* ```
|
|
25
|
+
*/
|
|
26
|
+
export function createResolveIndex(doc) {
|
|
27
|
+
const n = doc.blocks.length;
|
|
28
|
+
// prefixSums[i] = absolute start offset of block i
|
|
29
|
+
// blockLengths[i] = text length of block i
|
|
30
|
+
const prefixSums = new Array(n);
|
|
31
|
+
const blockLengths = new Array(n);
|
|
32
|
+
let offset = 0;
|
|
33
|
+
for (let i = 0; i < n; i++) {
|
|
34
|
+
if (i > 0)
|
|
35
|
+
offset += 1; // virtual \n separator
|
|
36
|
+
prefixSums[i] = offset;
|
|
37
|
+
const len = blockTextLength(doc.blocks[i]);
|
|
38
|
+
blockLengths[i] = len;
|
|
39
|
+
offset += len;
|
|
40
|
+
}
|
|
41
|
+
const totalLength = offset;
|
|
42
|
+
return {
|
|
43
|
+
resolve(targetOffset) {
|
|
44
|
+
if (targetOffset < 0) {
|
|
45
|
+
throw new RtifError('OFFSET_OUT_OF_RANGE', `Offset ${targetOffset} is negative`);
|
|
46
|
+
}
|
|
47
|
+
if (targetOffset > totalLength) {
|
|
48
|
+
throw new RtifError('OFFSET_OUT_OF_RANGE', `Offset ${targetOffset} exceeds document length ${totalLength}`);
|
|
49
|
+
}
|
|
50
|
+
// Binary search for the block containing targetOffset
|
|
51
|
+
let lo = 0;
|
|
52
|
+
let hi = n - 1;
|
|
53
|
+
while (lo < hi) {
|
|
54
|
+
const mid = (lo + hi + 1) >>> 1; // ceil division
|
|
55
|
+
if (prefixSums[mid] <= targetOffset) {
|
|
56
|
+
lo = mid;
|
|
57
|
+
}
|
|
58
|
+
else {
|
|
59
|
+
hi = mid - 1;
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
const blockIndex = lo;
|
|
63
|
+
const blockStart = prefixSums[blockIndex];
|
|
64
|
+
const blockLen = blockLengths[blockIndex];
|
|
65
|
+
const localOffset = targetOffset - blockStart;
|
|
66
|
+
// Handle offset on virtual \n: resolve to end of current block
|
|
67
|
+
if (localOffset > blockLen) {
|
|
68
|
+
return { blockIndex, localOffset: blockLen };
|
|
69
|
+
}
|
|
70
|
+
return { blockIndex, localOffset };
|
|
71
|
+
},
|
|
72
|
+
docLength() {
|
|
73
|
+
return totalLength;
|
|
74
|
+
},
|
|
75
|
+
blockStartOffset(blockIndex) {
|
|
76
|
+
if (blockIndex < 0 || blockIndex >= n) {
|
|
77
|
+
throw new RtifError('OFFSET_OUT_OF_RANGE', `Block index ${blockIndex} out of range [0, ${n})`);
|
|
78
|
+
}
|
|
79
|
+
return prefixSums[blockIndex];
|
|
80
|
+
},
|
|
81
|
+
};
|
|
82
|
+
}
|
|
83
|
+
//# sourceMappingURL=resolve-cache.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolve-cache.js","sourceRoot":"","sources":["../src/resolve-cache.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AA+CvC;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,kBAAkB,CAAC,GAAa;IAC9C,MAAM,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC;IAE5B,mDAAmD;IACnD,2CAA2C;IAC3C,MAAM,UAAU,GAAG,IAAI,KAAK,CAAS,CAAC,CAAC,CAAC;IACxC,MAAM,YAAY,GAAG,IAAI,KAAK,CAAS,CAAC,CAAC,CAAC;IAE1C,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC3B,IAAI,CAAC,GAAG,CAAC;YAAE,MAAM,IAAI,CAAC,CAAC,CAAC,uBAAuB;QAC/C,UAAU,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC;QACvB,MAAM,GAAG,GAAG,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAE,CAAC,CAAC;QAC5C,YAAY,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;QACtB,MAAM,IAAI,GAAG,CAAC;IAChB,CAAC;IAED,MAAM,WAAW,GAAG,MAAM,CAAC;IAE3B,OAAO;QACL,OAAO,CAAC,YAAoB;YAC1B,IAAI,YAAY,GAAG,CAAC,EAAE,CAAC;gBACrB,MAAM,IAAI,SAAS,CACjB,qBAAqB,EACrB,UAAU,YAAY,cAAc,CACrC,CAAC;YACJ,CAAC;YACD,IAAI,YAAY,GAAG,WAAW,EAAE,CAAC;gBAC/B,MAAM,IAAI,SAAS,CACjB,qBAAqB,EACrB,UAAU,YAAY,4BAA4B,WAAW,EAAE,CAChE,CAAC;YACJ,CAAC;YAED,sDAAsD;YACtD,IAAI,EAAE,GAAG,CAAC,CAAC;YACX,IAAI,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;YAEf,OAAO,EAAE,GAAG,EAAE,EAAE,CAAC;gBACf,MAAM,GAAG,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,gBAAgB;gBACjD,IAAI,UAAU,CAAC,GAAG,CAAE,IAAI,YAAY,EAAE,CAAC;oBACrC,EAAE,GAAG,GAAG,CAAC;gBACX,CAAC;qBAAM,CAAC;oBACN,EAAE,GAAG,GAAG,GAAG,CAAC,CAAC;gBACf,CAAC;YACH,CAAC;YAED,MAAM,UAAU,GAAG,EAAE,CAAC;YACtB,MAAM,UAAU,GAAG,UAAU,CAAC,UAAU,CAAE,CAAC;YAC3C,MAAM,QAAQ,GAAG,YAAY,CAAC,UAAU,CAAE,CAAC;YAC3C,MAAM,WAAW,GAAG,YAAY,GAAG,UAAU,CAAC;YAE9C,+DAA+D;YAC/D,IAAI,WAAW,GAAG,QAAQ,EAAE,CAAC;gBAC3B,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC;YAC/C,CAAC;YAED,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,CAAC;QACrC,CAAC;QAED,SAAS;YACP,OAAO,WAAW,CAAC;QACrB,CAAC;QAED,gBAAgB,CAAC,UAAkB;YACjC,IAAI,UAAU,GAAG,CAAC,IAAI,UAAU,IAAI,CAAC,EAAE,CAAC;gBACtC,MAAM,IAAI,SAAS,CACjB,qBAAqB,EACrB,eAAe,UAAU,qBAAqB,CAAC,GAAG,CACnD,CAAC;YACJ,CAAC;YACD,OAAO,UAAU,CAAC,UAAU,CAAE,CAAC;QACjC,CAAC;KACF,CAAC;AACJ,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@rtif-sdk/core",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.1.0",
|
|
4
4
|
"description": "RTIF core data model, operations, and utilities",
|
|
5
5
|
"author": "coryrobinson42@gmail.com",
|
|
6
6
|
"type": "module",
|
|
@@ -12,10 +12,21 @@
|
|
|
12
12
|
"import": "./dist/index.js"
|
|
13
13
|
}
|
|
14
14
|
},
|
|
15
|
-
"files": [
|
|
15
|
+
"files": [
|
|
16
|
+
"dist"
|
|
17
|
+
],
|
|
16
18
|
"sideEffects": false,
|
|
17
|
-
"engines": {
|
|
18
|
-
|
|
19
|
+
"engines": {
|
|
20
|
+
"node": ">=20.0.0"
|
|
21
|
+
},
|
|
22
|
+
"keywords": [
|
|
23
|
+
"rich-text",
|
|
24
|
+
"editor",
|
|
25
|
+
"document-model",
|
|
26
|
+
"text-editing",
|
|
27
|
+
"rtif",
|
|
28
|
+
"operations"
|
|
29
|
+
],
|
|
19
30
|
"scripts": {
|
|
20
31
|
"build": "tsc --build tsconfig.build.json",
|
|
21
32
|
"test": "vitest run",
|