lib0 0.2.115-3 → 0.2.115-5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/coverage/tmp/coverage-42121-1764767245409-0.json +1 -0
- package/coverage/tmp/{coverage-32703-1763495370274-0.json → coverage-42122-1764767192180-0.json} +1 -1
- package/delta/binding.d.ts +11 -9
- package/delta/binding.d.ts.map +1 -1
- package/delta/binding.js +5 -2
- package/delta/binding.test.d.ts.map +1 -1
- package/delta/delta-pitch.test.d.ts +5 -0
- package/delta/delta-pitch.test.d.ts.map +1 -0
- package/delta/{d2.d.ts → delta.d.ts} +117 -34
- package/delta/delta.d.ts.map +1 -0
- package/delta/{d2.js → delta.js} +247 -55
- package/delta/{d2.test.d.ts → delta.test.d.ts} +6 -1
- package/delta/delta.test.d.ts.map +1 -0
- package/delta/t3.test.d.ts +1 -1
- package/delta/t3.test.d.ts.map +1 -1
- package/dist/array.cjs +17 -60
- package/dist/array.cjs.map +1 -1
- package/dist/binding.cjs +114 -28
- package/dist/binding.cjs.map +1 -1
- package/dist/{broadcastchannel-d0c108a2.cjs → broadcastchannel-94897809.cjs} +2 -2
- package/dist/{broadcastchannel-d0c108a2.cjs.map → broadcastchannel-94897809.cjs.map} +1 -1
- package/dist/broadcastchannel.cjs +6 -6
- package/dist/{buffer-7f6fa8fa.cjs → buffer-8d110bf4.cjs} +2 -2
- package/dist/{buffer-7f6fa8fa.cjs.map → buffer-8d110bf4.cjs.map} +1 -1
- package/dist/buffer.cjs +5 -5
- package/dist/cache.cjs +3 -3
- package/dist/component.cjs +12 -8
- package/dist/component.cjs.map +1 -1
- package/dist/delta/binding.d.ts +11 -9
- package/dist/delta/binding.d.ts.map +1 -1
- package/dist/delta/binding.test.d.ts.map +1 -1
- package/dist/delta/delta-pitch.test.d.ts +5 -0
- package/dist/delta/delta-pitch.test.d.ts.map +1 -0
- package/dist/delta/{d2.d.ts → delta.d.ts} +117 -34
- package/dist/delta/delta.d.ts.map +1 -0
- package/dist/delta/{d2.test.d.ts → delta.test.d.ts} +6 -1
- package/dist/delta/delta.test.d.ts.map +1 -0
- package/dist/delta/t3.test.d.ts +1 -1
- package/dist/delta/t3.test.d.ts.map +1 -1
- package/dist/{d2.cjs → delta.cjs} +256 -60
- package/dist/delta.cjs.map +1 -0
- package/dist/{diff-1832cb43.cjs → diff-dc7bdc65.cjs} +2 -2
- package/dist/{diff-1832cb43.cjs.map → diff-dc7bdc65.cjs.map} +1 -1
- package/dist/diff.cjs +4 -4
- package/dist/{dom-f5047a64.cjs → dom-cad267af.cjs} +1 -1
- package/dist/{dom-f5047a64.cjs.map → dom-cad267af.cjs.map} +1 -1
- package/dist/dom.cjs +12 -5
- package/dist/dom.cjs.map +1 -1
- package/dist/{environment-90227ead.cjs → environment-98bcf64f.cjs} +2 -2
- package/dist/{environment-90227ead.cjs.map → environment-98bcf64f.cjs.map} +1 -1
- package/dist/environment.cjs +4 -4
- package/dist/equality.cjs +34 -0
- package/dist/equality.cjs.map +1 -0
- package/dist/fingerprint.cjs +44 -0
- package/dist/fingerprint.cjs.map +1 -0
- package/dist/{function-e7d18feb.cjs → function-b4e49016.cjs} +6 -6
- package/dist/function-b4e49016.cjs.map +1 -0
- package/dist/function.cjs +3 -3
- package/dist/index.cjs +9 -9
- package/dist/indexeddbV2.cjs +2 -2
- package/dist/jwt.cjs +5 -5
- package/dist/list.cjs +18 -5
- package/dist/list.cjs.map +1 -1
- package/dist/list.d.ts +9 -2
- package/dist/list.d.ts.map +1 -1
- package/dist/list.test.d.ts.map +1 -1
- package/dist/logging.cjs +11 -5
- package/dist/logging.cjs.map +1 -1
- package/dist/logging.common.cjs +4 -4
- package/dist/logging.node.cjs +4 -4
- package/dist/map.cjs +7 -314
- package/dist/map.cjs.map +1 -1
- package/dist/{object-18980796.cjs → object-dec41ef9.cjs} +3 -3
- package/dist/object-dec41ef9.cjs.map +1 -0
- package/dist/object.cjs +2 -2
- package/dist/object.d.ts.map +1 -1
- package/dist/performance.node.cjs +3 -3
- package/dist/pledge.cjs +2 -2
- package/dist/{prng-99204216.cjs → prng-aa81e812.cjs} +2 -2
- package/dist/{prng-99204216.cjs.map → prng-aa81e812.cjs.map} +1 -1
- package/dist/prng.cjs +6 -6
- package/dist/rabin-gf2-polynomial.cjs +5 -5
- package/dist/rabin-uncached.cjs +5 -5
- package/dist/rabin.cjs +5 -5
- package/dist/schema.cjs +202 -22
- package/dist/schema.cjs.map +1 -1
- package/dist/schema.d.ts +86 -29
- package/dist/schema.d.ts.map +1 -1
- package/dist/schema.test.d.ts +4 -0
- package/dist/schema.test.d.ts.map +1 -1
- package/dist/testing.cjs +9 -9
- package/dist/testing.cjs.map +1 -1
- package/dist/{traits.d.ts → trait/equality.d.ts} +1 -1
- package/dist/trait/equality.d.ts.map +1 -0
- package/dist/trait/fingerprint.d.ts +13 -0
- package/dist/trait/fingerprint.d.ts.map +1 -0
- package/dist/trait/traits.d.ts +3 -0
- package/dist/trait/traits.d.ts.map +1 -0
- package/dist/trait/traits.test.d.ts +5 -0
- package/dist/trait/traits.test.d.ts.map +1 -0
- package/dist/traits.cjs +23 -26
- package/dist/traits.cjs.map +1 -1
- package/dist/url.cjs +2 -2
- package/function.js +4 -4
- package/list.d.ts +9 -2
- package/list.d.ts.map +1 -1
- package/list.js +17 -3
- package/list.test.d.ts.map +1 -1
- package/object.d.ts.map +1 -1
- package/object.js +2 -2
- package/package.json +8 -10
- package/schema.d.ts +86 -29
- package/schema.d.ts.map +1 -1
- package/schema.js +191 -20
- package/schema.test.d.ts +4 -0
- package/schema.test.d.ts.map +1 -1
- package/test.html +2 -4
- package/test.js +7 -13
- package/testing.js +3 -3
- package/{traits.d.ts → trait/equality.d.ts} +1 -1
- package/trait/equality.d.ts.map +1 -0
- package/trait/fingerprint.d.ts +13 -0
- package/trait/fingerprint.d.ts.map +1 -0
- package/trait/fingerprint.js +21 -0
- package/trait/traits.d.ts +3 -0
- package/trait/traits.d.ts.map +1 -0
- package/trait/traits.js +2 -0
- package/trait/traits.test.d.ts +5 -0
- package/{traits.test.d.ts.map → trait/traits.test.d.ts.map} +1 -1
- package/delta/abstract-array.d.ts +0 -166
- package/delta/abstract-array.d.ts.map +0 -1
- package/delta/abstract-array.js +0 -421
- package/delta/abstract.d.ts +0 -69
- package/delta/abstract.d.ts.map +0 -1
- package/delta/abstract.js +0 -102
- package/delta/array.d.ts +0 -23
- package/delta/array.d.ts.map +0 -1
- package/delta/array.js +0 -45
- package/delta/array.test.d.ts +0 -2
- package/delta/array.test.d.ts.map +0 -1
- package/delta/d2.d.ts.map +0 -1
- package/delta/d2.test.d.ts.map +0 -1
- package/delta/index.d.ts +0 -14
- package/delta/index.d.ts.map +0 -1
- package/delta/index.js +0 -79
- package/delta/map.d.ts +0 -226
- package/delta/map.d.ts.map +0 -1
- package/delta/map.js +0 -304
- package/delta/node.d.ts +0 -117
- package/delta/node.d.ts.map +0 -1
- package/delta/node.js +0 -183
- package/delta/node.test.d.ts +0 -4
- package/delta/node.test.d.ts.map +0 -1
- package/delta/ops.d.ts +0 -464
- package/delta/ops.d.ts.map +0 -1
- package/delta/ops.js +0 -544
- package/delta/t2.d.ts +0 -184
- package/delta/t2.d.ts.map +0 -1
- package/delta/t2.js +0 -890
- package/delta/text.d.ts +0 -43
- package/delta/text.d.ts.map +0 -1
- package/delta/text.js +0 -54
- package/delta/text.test.d.ts +0 -6
- package/delta/text.test.d.ts.map +0 -1
- package/delta/transformer.d.ts +0 -164
- package/delta/transformer.d.ts.map +0 -1
- package/delta/transformer.js +0 -888
- package/delta/transformer.test.d.ts +0 -13
- package/delta/transformer.test.d.ts.map +0 -1
- package/delta/value.d.ts +0 -84
- package/delta/value.d.ts.map +0 -1
- package/delta/value.js +0 -168
- package/dist/abstract-array.cjs +0 -433
- package/dist/abstract-array.cjs.map +0 -1
- package/dist/abstract.cjs +0 -122
- package/dist/abstract.cjs.map +0 -1
- package/dist/array2.cjs +0 -26
- package/dist/array2.cjs.map +0 -1
- package/dist/d2.cjs.map +0 -1
- package/dist/delta/abstract-array.d.ts +0 -166
- package/dist/delta/abstract-array.d.ts.map +0 -1
- package/dist/delta/abstract.d.ts +0 -69
- package/dist/delta/abstract.d.ts.map +0 -1
- package/dist/delta/array.d.ts +0 -23
- package/dist/delta/array.d.ts.map +0 -1
- package/dist/delta/array.test.d.ts +0 -2
- package/dist/delta/array.test.d.ts.map +0 -1
- package/dist/delta/d2.d.ts.map +0 -1
- package/dist/delta/d2.test.d.ts.map +0 -1
- package/dist/delta/index.d.ts +0 -14
- package/dist/delta/index.d.ts.map +0 -1
- package/dist/delta/map.d.ts +0 -226
- package/dist/delta/map.d.ts.map +0 -1
- package/dist/delta/node.d.ts +0 -117
- package/dist/delta/node.d.ts.map +0 -1
- package/dist/delta/node.test.d.ts +0 -4
- package/dist/delta/node.test.d.ts.map +0 -1
- package/dist/delta/ops.d.ts +0 -464
- package/dist/delta/ops.d.ts.map +0 -1
- package/dist/delta/t2.d.ts +0 -184
- package/dist/delta/t2.d.ts.map +0 -1
- package/dist/delta/text.d.ts +0 -43
- package/dist/delta/text.d.ts.map +0 -1
- package/dist/delta/text.test.d.ts +0 -6
- package/dist/delta/text.test.d.ts.map +0 -1
- package/dist/delta/transformer.d.ts +0 -164
- package/dist/delta/transformer.d.ts.map +0 -1
- package/dist/delta/transformer.test.d.ts +0 -13
- package/dist/delta/transformer.test.d.ts.map +0 -1
- package/dist/delta/value.d.ts +0 -84
- package/dist/delta/value.d.ts.map +0 -1
- package/dist/function-e7d18feb.cjs.map +0 -1
- package/dist/index2.cjs +0 -71
- package/dist/index2.cjs.map +0 -1
- package/dist/map2.cjs +0 -15
- package/dist/map2.cjs.map +0 -1
- package/dist/node.cjs +0 -206
- package/dist/node.cjs.map +0 -1
- package/dist/object-18980796.cjs.map +0 -1
- package/dist/ops.cjs +0 -575
- package/dist/ops.cjs.map +0 -1
- package/dist/t2.cjs +0 -932
- package/dist/t2.cjs.map +0 -1
- package/dist/text.cjs +0 -79
- package/dist/text.cjs.map +0 -1
- package/dist/traits.d.ts.map +0 -1
- package/dist/traits.test.d.ts +0 -4
- package/dist/traits.test.d.ts.map +0 -1
- package/dist/transformer.cjs +0 -930
- package/dist/transformer.cjs.map +0 -1
- package/dist/value.cjs +0 -187
- package/dist/value.cjs.map +0 -1
- package/traits.d.ts.map +0 -1
- package/traits.test.d.ts +0 -4
- /package/{traits.js → trait/equality.js} +0 -0
package/dist/d2.cjs.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"d2.cjs","sources":["../delta/d2.js"],"sourcesContent":["/**\n * @beta this API is about to change\n *\n * ## Mutability\n *\n * Deltas are mutable by default. But references are often shared, by marking a Delta as \"done\". You\n * may only modify deltas by applying other deltas to them. Casting a Delta to a DeltaBuilder\n * manually, will likely modify \"shared\" state.\n */\n\nimport * as list from '../list.js'\nimport * as object from '../object.js'\nimport * as traits from '../traits.js'\nimport * as arr from '../array.js'\nimport * as fun from '../function.js'\nimport * as s from '../schema.js'\nimport * as error from '../error.js'\nimport * as math from '../math.js'\nimport * as rabin from '../hash/rabin.js'\nimport * as encoding from '../encoding.js'\nimport * as buffer from '../buffer.js'\nimport * as patience from '../diff/patience.js'\n\n/**\n * @typedef {{\n * insert?: string[]\n * insertAt?: number\n * delete?: string[]\n * deleteAt?: number\n * format?: Record<string,string[]>\n * formatAt?: number\n * }} Attribution\n */\n\n/**\n * @type {s.Schema<Attribution>}\n */\nexport const $attribution = s.$object({\n insert: s.$array(s.$string).optional,\n insertAt: s.$number.optional,\n delete: s.$array(s.$string).optional,\n deleteAt: s.$number.optional,\n format: s.$record(s.$string, s.$array(s.$string)).optional,\n formatAt: s.$number.optional\n})\n\n/**\n * @typedef {s.Unwrap<$anyOp>} DeltaOps\n */\n\n/**\n * @typedef {{ [key: string]: any }} FormattingAttributes\n */\n\n/**\n * @typedef {{\n * type: 'delta',\n * name?: string,\n * attrs?: { [Key in string|number]: DeltaAttrOpJSON },\n * children?: Array<DeltaListOpJSON>\n * }} DeltaJSON\n */\n\n/**\n * @typedef {{ type: 'insert', insert: string|Array<any>, format?: { [key: string]: any }, attribution?: Attribution } | { delete: number } | { type: 'retain', retain: number, format?: { [key:string]: any }, attribution?: Attribution } | { type: 'modify', value: object }} DeltaListOpJSON\n */\n\n/**\n * @typedef {{ type: 'insert', value: any, prevValue?: any, attribution?: Attribution } | { type: 'delete', prevValue?: any, attribution?: Attribution } | { type: 'modify', value: DeltaJSON }} DeltaAttrOpJSON\n */\n\n/**\n * @typedef {TextOp|InsertOp<any>|DeleteOp|RetainOp|ModifyOp<any>} ChildrenOpAny\n */\n\n/**\n * @typedef {AttrInsertOp<any>|AttrDeleteOp<any>|AttrModifyOp} AttrOpAny\n */\n\n/**\n * @typedef {ChildrenOpAny|AttrOpAny} _OpAny\n */\n\n/**\n * @type {s.Schema<DeltaAttrOpJSON>}\n */\nexport const $deltaMapChangeJson = s.$union(\n s.$object({ type: s.$literal('insert'), value: s.$any, prevValue: s.$any.optional, attribution: $attribution.optional }),\n s.$object({ type: s.$literal('modify'), value: s.$any }),\n s.$object({ type: s.$literal('delete'), prevValue: s.$any.optional, attribution: $attribution.optional })\n)\n\n/**\n * @template {{[key:string]: any} | null} Attrs\n * @param {Attrs} attrs\n * @return {Attrs}\n */\nconst _cloneAttrs = attrs => attrs == null ? attrs : { ...attrs }\n/**\n * @template {any} MaybeDelta\n * @param {MaybeDelta} maybeDelta\n * @return {MaybeDelta}\n */\nconst _markMaybeDeltaAsDone = maybeDelta => $deltaAny.check(maybeDelta) ? /** @type {MaybeDelta} */ (maybeDelta.done()) : maybeDelta\n\n/**\n * @typedef {unknown & DeltaAny} Q\n */\n\nexport class TextOp extends list.ListNode {\n /**\n * @param {string} insert\n * @param {FormattingAttributes|null} format\n * @param {Attribution?} attribution\n */\n constructor (insert, format, attribution) {\n super()\n // Whenever this is modified, make sure to clear _fingerprint\n /**\n * @readonly\n * @type {string}\n */\n this.insert = insert\n /**\n * @readonly\n * @type {FormattingAttributes|null}\n */\n this.format = format\n this.attribution = attribution\n /**\n * @type {string?}\n */\n this._fingerprint = null\n }\n\n /**\n * @param {string} newVal\n */\n _updateInsert (newVal) {\n // @ts-ignore\n this.insert = newVal\n this._fingerprint = null\n }\n\n /**\n * @return {'insert'}\n */\n get type () {\n return 'insert'\n }\n\n get length () {\n return this.insert.length\n }\n\n get fingerprint () {\n return this._fingerprint || (this._fingerprint = buffer.toBase64(encoding.encode(encoder => {\n encoding.writeVarUint(encoder, 0) // textOp type: 0\n encoding.writeVarString(encoder, this.insert)\n encoding.writeAny(encoder, this.format)\n })))\n }\n\n /**\n * Remove a part of the operation (similar to Array.splice)\n *\n * @param {number} offset\n * @param {number} len\n */\n _splice (offset, len) {\n this._fingerprint = null\n // @ts-ignore\n this.insert = this.insert.slice(0, offset) + this.insert.slice(offset + len)\n return this\n }\n\n /**\n * @return {DeltaListOpJSON}\n */\n toJSON () {\n const { insert, format, attribution } = this\n return object.assign(/** @type {{type: 'insert', insert: string}} */ ({ type: 'insert', insert }), format != null ? { format } : ({}), attribution != null ? { attribution } : ({}))\n }\n\n /**\n * @param {TextOp} other\n */\n [traits.EqualityTraitSymbol] (other) {\n return fun.equalityDeep(this.insert, other.insert) && fun.equalityDeep(this.format, other.format) && fun.equalityDeep(this.attribution, other.attribution)\n }\n\n /**\n * @return {TextOp}\n */\n clone (start = 0, end = this.length) {\n return new TextOp(this.insert.slice(start, end), _cloneAttrs(this.format), _cloneAttrs(this.attribution))\n }\n}\n\n/**\n * @template {encoding.AnyEncodable|DeltaAny} ArrayContent\n */\nexport class InsertOp extends list.ListNode {\n /**\n * @param {Array<ArrayContent>} insert\n * @param {FormattingAttributes|null} format\n * @param {Attribution?} attribution\n */\n constructor (insert, format, attribution) {\n super()\n /**\n * @readonly\n * @type {Array<ArrayContent>}\n */\n this.insert = insert\n /**\n * @readonly\n * @type {FormattingAttributes?}\n */\n this.format = format\n /**\n * @readonly\n * @type {Attribution?}\n */\n this.attribution = attribution\n /**\n * @type {string?}\n */\n this._fingerprint = null\n }\n\n /**\n * @param {ArrayContent} newVal\n */\n _updateInsert (newVal) {\n // @ts-ignore\n this.insert = newVal\n this._fingerprint = null\n }\n\n /**\n * @return {'insert'}\n */\n get type () {\n return 'insert'\n }\n\n get length () {\n return this.insert.length\n }\n\n /**\n * @param {number} i\n * @return {Extract<ArrayContent,DeltaAny>}\n */\n _modValue (i) {\n /**\n * @type {any}\n */\n let d = this.insert[i]\n this._fingerprint = null\n $deltaAny.expect(d)\n if (d.isDone) {\n // @ts-ignore\n this.insert[i] = (d = clone(d))\n return d\n }\n return d\n }\n\n get fingerprint () {\n return this._fingerprint || (this._fingerprint = buffer.toBase64(encoding.encode(encoder => {\n encoding.writeVarUint(encoder, 1) // insertOp type: 1\n encoding.writeVarUint(encoder, this.insert.length)\n this.insert.forEach(ins => {\n if ($deltaAny.check(ins)) {\n encoding.writeUint8(encoder, 0)\n encoding.writeVarString(encoder, ins.fingerprint)\n } else {\n encoding.writeUint8(encoder, 1)\n encoding.writeAny(encoder, ins)\n }\n })\n encoding.writeAny(encoder, this.format)\n })))\n }\n\n /**\n * Remove a part of the operation (similar to Array.splice)\n *\n * @param {number} offset\n * @param {number} len\n */\n _splice (offset, len) {\n this._fingerprint = null\n this.insert.splice(offset, len)\n return this\n }\n\n /**\n * @return {DeltaListOpJSON}\n */\n toJSON () {\n const { insert, format, attribution } = this\n return object.assign({ type: /** @type {'insert'} */ ('insert'), insert: insert.map(ins => $deltaAny.check(ins) ? ins.toJSON() : ins) }, format ? { format } : ({}), attribution != null ? { attribution } : ({}))\n }\n\n /**\n * @param {InsertOp<ArrayContent>} other\n */\n [traits.EqualityTraitSymbol] (other) {\n return fun.equalityDeep(this.insert, other.insert) && fun.equalityDeep(this.format, other.format) && fun.equalityDeep(this.attribution, other.attribution)\n }\n\n /**\n * @return {InsertOp<ArrayContent>}\n */\n clone (start = 0, end = this.length) {\n return new InsertOp(this.insert.slice(start, end).map(_markMaybeDeltaAsDone), _cloneAttrs(this.format), _cloneAttrs(this.attribution))\n }\n}\n\n/**\n * @template {encoding.AnyEncodable|DeltaAny} [Children=never]\n * @template {string} [Text=never]\n */\nexport class DeleteOp extends list.ListNode {\n /**\n * @param {number} len\n */\n constructor (len) {\n super()\n this.delete = len\n /**\n * @type {(Children|Text) extends never ? null : (Delta<any,{},Children,Text>?)}\n */\n this.prevValue = null\n /**\n * @type {string|null}\n */\n this._fingerprint = null\n }\n\n /**\n * @return {'delete'}\n */\n get type () {\n return 'delete'\n }\n\n get length () {\n return 0\n }\n\n get fingerprint () {\n return this._fingerprint || (this._fingerprint = buffer.toBase64(encoding.encode(encoder => {\n encoding.writeVarUint(encoder, 2) // deleteOp type: 2\n encoding.writeVarUint(encoder, this.delete)\n })))\n }\n\n /**\n * Remove a part of the operation (similar to Array.splice)\n *\n * @param {number} _offset\n * @param {number} len\n */\n _splice (_offset, len) {\n this.prevValue = /** @type {any} */ (this.prevValue?.slice(_offset, len) || null)\n this._fingerprint = null\n this.delete -= len\n return this\n }\n\n /**\n * @return {DeltaListOpJSON}\n */\n toJSON () {\n return { delete: this.delete }\n }\n\n /**\n * @param {DeleteOp} other\n */\n [traits.EqualityTraitSymbol] (other) {\n return this.delete === other.delete\n }\n\n clone (start = 0, end = this.delete) {\n return new DeleteOp(end - start)\n }\n}\n\nexport class RetainOp extends list.ListNode {\n /**\n * @param {number} retain\n * @param {FormattingAttributes|null} format\n * @param {Attribution?} attribution\n */\n constructor (retain, format, attribution) {\n super()\n /**\n * @readonly\n * @type {number}\n */\n this.retain = retain\n /**\n * @readonly\n * @type {FormattingAttributes?}\n */\n this.format = format\n /**\n * @readonly\n * @type {Attribution?}\n */\n this.attribution = attribution\n /**\n * @type {string|null}\n */\n this._fingerprint = null\n }\n\n /**\n * @return {'retain'}\n */\n get type () {\n return 'retain'\n }\n\n get length () {\n return this.retain\n }\n\n get fingerprint () {\n return this._fingerprint || (this._fingerprint = buffer.toBase64(encoding.encode(encoder => {\n encoding.writeVarUint(encoder, 3) // retainOp type: 3\n encoding.writeVarUint(encoder, this.retain)\n encoding.writeAny(encoder, this.format)\n })))\n }\n\n /**\n * Remove a part of the operation (similar to Array.splice)\n *\n * @param {number} _offset\n * @param {number} len\n */\n _splice (_offset, len) {\n // @ts-ignore\n this.retain -= len\n this._fingerprint = null\n return this\n }\n\n /**\n * @return {DeltaListOpJSON}\n */\n toJSON () {\n const { retain, format, attribution } = this\n return object.assign({ type: /** @type {'retain'} */ ('retain'), retain }, format ? { format } : {}, attribution != null ? { attribution } : {})\n }\n\n /**\n * @param {RetainOp} other\n */\n [traits.EqualityTraitSymbol] (other) {\n return this.retain === other.retain && fun.equalityDeep(this.format, other.format) && fun.equalityDeep(this.attribution, other.attribution)\n }\n\n clone (start = 0, end = this.retain) {\n return new RetainOp(end - start, _cloneAttrs(this.format), _cloneAttrs(this.attribution))\n }\n}\n\n/**\n * Delta that can be applied on a YType Embed\n *\n * @template {DeltaAny} [DTypes=DeltaAny]\n */\nexport class ModifyOp extends list.ListNode {\n /**\n * @param {DTypes} delta\n * @param {FormattingAttributes|null} format\n * @param {Attribution?} attribution\n */\n constructor (delta, format, attribution) {\n super()\n /**\n * @readonly\n * @type {DTypes}\n */\n this.value = delta\n /**\n * @readonly\n * @type {FormattingAttributes?}\n */\n this.format = format\n /**\n * @readonly\n * @type {Attribution?}\n */\n this.attribution = attribution\n /**\n * @type {string|null}\n */\n this._fingerprint = null\n }\n\n /**\n * @return {'modify'}\n */\n get type () {\n return 'modify'\n }\n\n get length () {\n return 1\n }\n\n /**\n * @type {DeltaBuilderAny}\n */\n get _modValue () {\n /**\n * @type {any}\n */\n const d = this.value\n this._fingerprint = null\n if (d.isDone) {\n // @ts-ignore\n return (this.value = clone(d))\n }\n return d\n }\n\n get fingerprint () {\n // don't cache fingerprint because we don't know when delta changes\n return this._fingerprint || (this._fingerprint = buffer.toBase64(encoding.encode(encoder => {\n encoding.writeVarUint(encoder, 4) // modifyOp type: 4\n encoding.writeVarString(encoder, this.value.fingerprint)\n encoding.writeAny(encoder, this.format)\n })))\n }\n\n /**\n * Remove a part of the operation (similar to Array.splice)\n *\n * @param {number} _offset\n * @param {number} _len\n */\n _splice (_offset, _len) {\n return this\n }\n\n /**\n * @return {DeltaListOpJSON}\n */\n toJSON () {\n const { value, attribution, format } = this\n return object.assign({ type: /** @type {'modify'} */ ('modify'), value: value.toJSON() }, format ? { format } : {}, attribution != null ? { attribution } : {})\n }\n\n /**\n * @param {ModifyOp<any>} other\n */\n [traits.EqualityTraitSymbol] (other) {\n return this.value[traits.EqualityTraitSymbol](other.value) && fun.equalityDeep(this.format, other.format) && fun.equalityDeep(this.attribution, other.attribution)\n }\n\n /**\n * @return {ModifyOp<DTypes>}\n */\n clone () {\n return new ModifyOp(/** @type {DTypes} */ (this.value.done()), _cloneAttrs(this.format), _cloneAttrs(this.attribution))\n }\n}\n\n/**\n * @template {encoding.AnyEncodable|DeltaAny} V\n * @template {string|number} [K=any]\n */\nexport class AttrInsertOp {\n /**\n * @param {K} key\n * @param {V} value\n * @param {V|undefined} prevValue\n * @param {Attribution?} attribution\n */\n constructor (key, value, prevValue, attribution) {\n /**\n * @readonly\n * @type {K}\n */\n this.key = key\n /**\n * @readonly\n * @type {V}\n */\n this.value = value\n /**\n * @readonly\n * @type {V|undefined}\n */\n this.prevValue = prevValue\n /**\n * @readonly\n * @type {Attribution?}\n */\n this.attribution = attribution\n /**\n * @type {string|null}\n */\n this._fingerprint = null\n }\n\n /**\n * @return {'insert'}\n */\n get type () { return 'insert' }\n\n /**\n * @type {DeltaBuilderAny}\n */\n get _modValue () {\n /**\n * @type {any}\n */\n const v = this.value\n this._fingerprint = null\n if ($deltaAny.check(v) && v.isDone) {\n // @ts-ignore\n return (this.value = clone(v))\n }\n return v\n }\n\n get fingerprint () {\n return this._fingerprint || (this._fingerprint = buffer.toBase64(encoding.encode(encoder => {\n encoding.writeVarUint(encoder, 5) // map insert type: 5\n encoding.writeAny(encoder, this.key)\n if ($deltaAny.check(this.value)) {\n encoding.writeUint8(encoder, 0)\n encoding.writeVarString(encoder, this.value.fingerprint)\n } else {\n encoding.writeUint8(encoder, 1)\n encoding.writeAny(encoder, this.value)\n }\n })))\n }\n\n toJSON () {\n const v = this.value\n const prevValue = this.prevValue\n const attribution = this.attribution\n return object.assign({\n type: this.type,\n value: $deltaAny.check(v) ? v.toJSON() : v\n }, attribution != null ? { attribution } : {}, prevValue !== undefined ? { prevValue } : {})\n }\n\n /**\n * @param {AttrInsertOp<V>} other\n */\n [traits.EqualityTraitSymbol] (other) {\n return this.key === other.key && fun.equalityDeep(this.value, other.value) && fun.equalityDeep(this.attribution, other.attribution)\n }\n\n /**\n * @return {AttrInsertOp<V,K>}\n */\n clone () {\n return new AttrInsertOp(this.key, _markMaybeDeltaAsDone(this.value), _markMaybeDeltaAsDone(this.prevValue), _cloneAttrs(this.attribution))\n }\n}\n\n/**\n * @template V\n * @template {string|number} [K=string]\n */\nexport class AttrDeleteOp {\n /**\n * @param {K} key\n * @param {V|undefined} prevValue\n * @param {Attribution?} attribution\n */\n constructor (key, prevValue, attribution) {\n /**\n * @type {K}\n */\n this.key = key\n /**\n * @type {V|undefined}\n */\n this.prevValue = prevValue\n this.attribution = attribution\n /**\n * @type {string|null}\n */\n this._fingerprint = null\n }\n\n get value () { return undefined }\n\n /**\n * @type {'delete'}\n */\n get type () { return 'delete' }\n\n get fingerprint () {\n return this._fingerprint || (this._fingerprint = buffer.toBase64(encoding.encode(encoder => {\n encoding.writeVarUint(encoder, 6) // map delete type: 6\n encoding.writeAny(encoder, this.key)\n })))\n }\n\n /**\n * @return {DeltaAttrOpJSON}\n */\n toJSON () {\n const {\n type, attribution, prevValue\n } = this\n return object.assign({ type }, attribution != null ? { attribution } : {}, prevValue !== undefined ? { prevValue } : {})\n }\n\n /**\n * @param {AttrDeleteOp<V>} other\n */\n [traits.EqualityTraitSymbol] (other) {\n return this.key === other.key && fun.equalityDeep(this.attribution, other.attribution)\n }\n\n clone () {\n return new AttrDeleteOp(this.key, _markMaybeDeltaAsDone(this.prevValue), _cloneAttrs(this.attribution))\n }\n}\n\n/**\n * @template {DeltaAny} [Modifier=DeltaAny]\n * @template {string|number} [K=string]\n */\nexport class AttrModifyOp {\n /**\n * @param {K} key\n * @param {Modifier} delta\n */\n constructor (key, delta) {\n /**\n * @readonly\n * @type {K}\n */\n this.key = key\n /**\n * @readonly\n * @type {Modifier}\n */\n this.value = delta\n /**\n * @type {string|null}\n */\n this._fingerprint = null\n }\n\n /**\n * @type {'modify'}\n */\n get type () { return 'modify' }\n\n get fingerprint () {\n return this._fingerprint || (this._fingerprint = buffer.toBase64(encoding.encode(encoder => {\n encoding.writeVarUint(encoder, 7) // map modify type: 7\n encoding.writeAny(encoder, this.key)\n encoding.writeVarString(encoder, this.value.fingerprint)\n })))\n }\n\n /**\n * @return {DeltaBuilder}\n */\n get _modValue () {\n this._fingerprint = null\n if (this.value.isDone) {\n // @ts-ignore\n this.value = /** @type {any} */ (clone(this.value))\n }\n // @ts-ignore\n return this.value\n }\n\n /**\n * @return {DeltaAttrOpJSON}\n */\n toJSON () {\n return {\n type: this.type,\n value: this.value.toJSON()\n }\n }\n\n /**\n * @param {AttrModifyOp<Modifier>} other\n */\n [traits.EqualityTraitSymbol] (other) {\n return this.key === other.key && this.value[traits.EqualityTraitSymbol](other.value)\n }\n\n /**\n * @return {AttrModifyOp<Modifier,K>}\n */\n clone () {\n return new AttrModifyOp(this.key, /** @type {Modifier} */ (this.value.done()))\n }\n}\n\n/**\n * @type {s.Schema<AttrDeleteOp<any> | DeleteOp>}\n */\nexport const $deleteOp = s.$custom(o => o != null && (o.constructor === DeleteOp || o.constructor === AttrDeleteOp))\n\n/**\n * @type {s.Schema<AttrInsertOp<any> | InsertOp<any>>}\n */\nexport const $insertOp = s.$custom(o => o != null && (o.constructor === AttrInsertOp || o.constructor === InsertOp))\n\n/**\n * @template {encoding.AnyEncodable|DeltaAny} Content\n * @param {s.Schema<Content>} $content\n * @return {s.Schema<AttrInsertOp<Content> | InsertOp<Content>>}\n */\nexport const $insertOpWith = $content => s.$custom(o =>\n o != null && (\n (o.constructor === AttrInsertOp && $content.check(/** @type {AttrInsertOp<Content>} */ (o).value)) ||\n (o.constructor === InsertOp && /** @type {InsertOp<Content>} */ (o).insert.every(ins => $content.check(ins)))\n )\n)\n\n/**\n * @type {s.Schema<TextOp>}\n */\nexport const $textOp = s.$constructedBy(TextOp)\n\n/**\n * @type {s.Schema<RetainOp>}\n */\nexport const $retainOp = s.$constructedBy(RetainOp)\n\n/**\n * @type {s.Schema<AttrModifyOp | ModifyOp>}\n */\nexport const $modifyOp = s.$custom(o => o != null && (o.constructor === AttrModifyOp || o.constructor === ModifyOp))\n\n/**\n * @template {DeltaAny} Modify\n * @param {s.Schema<Modify>} $content\n * @return {s.Schema<AttrModifyOp<Modify> | ModifyOp<Modify>>}\n */\nexport const $modifyOpWith = $content => s.$custom(o =>\n o != null && (\n (o.constructor === AttrModifyOp && $content.check(/** @type {AttrModifyOp<Modify>} */ (o).value)) ||\n (o.constructor === ModifyOp && $content.check(/** @type {ModifyOp<Modify>} */ (o).value))\n )\n)\n\nexport const $anyOp = s.$union($insertOp, $deleteOp, $textOp, $modifyOp)\n\n/**\n * @template {Array<any>|string} C1\n * @template {Array<any>|string} C2\n * @typedef {Extract<C1 | C2, Array<any>> extends never\n * ? never\n * : (Array<(Extract<C1 | C2,Array<any>> extends Array<infer AC1> ? (unknown extends AC1 ? never : AC1) : never)>)} MergeListArrays\n */\n\n/**\n * @template {{[Key in string|number]: any}} Attrs\n * @template {string|number} Key\n * @template {any} Val\n * @typedef {{ [K in (Key | keyof Attrs)]: (unknown extends Attrs[K] ? never : Attrs[K]) | (Key extends K ? Val : never) }} AddToAttrs\n */\n\n/**\n * @template {{[Key in string|number|symbol]: any}} Attrs\n * @template {{[Key in string|number|symbol]: any}} NewAttrs\n * @typedef {{ [K in (keyof NewAttrs | keyof Attrs)]: (unknown extends Attrs[K] ? never : Attrs[K]) | (unknown extends NewAttrs[K] ? never : NewAttrs[K]) }} MergeAttrs\n */\n\n/**\n * @template X\n * @typedef {0 extends (1 & X) ? null : X} _AnyToNull\n */\n\n/**\n * @template {s.Schema<Delta<any,any,any,any,any>>|null} Schema\n * @typedef {_AnyToNull<Schema> extends null ? Delta<any,{[key:string|number]:any},any,string> : (Schema extends s.Schema<infer D> ? D : never)} AllowedDeltaFromSchema\n */\n\n/**\n * @typedef {Delta<any,{ [k:string|number]: any },any,any,any>} DeltaAny\n */\n/**\n * @typedef {DeltaBuilder<any,{ [k:string|number]: any },any,any,any>} DeltaBuilderAny\n */\n\n/**\n * @template {string} [NodeName=any]\n * @template {{[k:string|number]:any}} [Attrs={}]\n * @template {encoding.AnyEncodable|DeltaAny|never} [Children=never]\n * @template {string|never} [Text=never]\n * @template {s.Schema<Delta<any,any,any,any,any>>|null} [Schema=any]\n */\nexport class Delta {\n /**\n * @param {NodeName} [name]\n * @param {Schema} [$schema]\n */\n constructor (name, $schema) {\n this.name = name || null\n this.$schema = $schema || null\n /**\n * @type {{ [K in keyof Attrs]?: K extends string|number ? (AttrInsertOp<Attrs[K],K>|AttrDeleteOp<Attrs[K],K>|(Delta extends Attrs[K] ? AttrModifyOp<Extract<Attrs[K],DeltaAny>,K> : never)) : never }\n * & { [Symbol.iterator]: () => Iterator<{ [K in keyof Attrs]: K extends string|number ? (AttrInsertOp<Attrs[K],K>|AttrDeleteOp<Attrs[K],K>|(Delta extends Attrs[K] ? AttrModifyOp<Extract<Attrs[K],DeltaAny>,K> : never)) : never }[keyof Attrs]> }\n * }\n */\n this.attrs = /** @type {any} */ ({\n * [Symbol.iterator] () {\n for (const k in this) {\n yield this[k]\n }\n }\n })\n\n /**\n * @type {list.List<\n * RetainOp\n * | DeleteOp\n * | (Text extends never ? never : TextOp)\n * | (Children extends never ? never : InsertOp<Children>)\n * | (Delta extends Children ? ModifyOp<Extract<Children,Delta<any,any,any,any,any>>> : never)\n * >}\n */\n this.children = /** @type {any} */ (list.create())\n this.childCnt = 0\n /**\n * @type {any}\n */\n this.origin = null\n /**\n * @type {string|null}\n */\n this._fingerprint = null\n this.isDone = false\n }\n\n /**\n * @type {string}\n */\n get fingerprint () {\n return this._fingerprint || (this._fingerprint = buffer.toBase64(encoding.encode(encoder => {\n encoding.writeAny(encoder, this.name)\n /**\n * @type {Array<number|string>}\n */\n const keys = []\n for (const attr of this.attrs) {\n keys.push(attr.key)\n }\n keys.sort((a, b) => {\n const aIsString = s.$string.check(a)\n const bIsString = s.$string.check(b)\n // numbers first\n // in ascending order\n return (aIsString && bIsString)\n ? a.localeCompare(b)\n : (aIsString ? 1 : (bIsString ? -1 : (a - b)))\n })\n encoding.writeVarUint(encoder, keys.length)\n for (const key of keys) {\n encoding.writeVarString(encoder, /** @type {any} */ (this.attrs[/** @type {keyof Attrs} */ (key)]).fingerprint)\n }\n encoding.writeVarUint(encoder, this.children.len)\n for (const child of this.children) {\n encoding.writeVarString(encoder, child.fingerprint)\n }\n return buffer.toBase64(rabin.fingerprint(rabin.StandardIrreducible128, encoding.toUint8Array(encoder)))\n })))\n }\n\n isEmpty () {\n return object.isEmpty(this.attrs) && list.isEmpty(this.children)\n }\n\n /**\n * @return {DeltaJSON}\n */\n toJSON () {\n const name = this.name\n /**\n * @type {any}\n */\n const attrs = {}\n /**\n * @type {any}\n */\n const children = []\n for (const attr of this.attrs) {\n attrs[attr.key] = attr.toJSON()\n }\n this.children.forEach(val => {\n children.push(val.toJSON())\n })\n return object.assign(\n { type: /** @type {'delta'} */ ('delta') },\n (name != null ? { name } : {}),\n (object.isEmpty(attrs) ? {} : { attrs }),\n (children.length > 0 ? { children } : {})\n )\n }\n\n /**\n * @param {Delta<any,any,any,any,any>} other\n * @return {boolean}\n */\n equals (other) {\n return this[traits.EqualityTraitSymbol](other)\n }\n\n /**\n * @param {any} other\n * @return {boolean}\n */\n [traits.EqualityTraitSymbol] (other) {\n // @todo it is only necessary to compare finrerprints OR do a deep equality check\n return this.name === other.name && fun.equalityDeep(this.attrs, other.attrs) && fun.equalityDeep(this.children, other.children) && this.childCnt === other.childCnt && this.fingerprint === other.fingerprint\n }\n\n /**\n * @param {number} start\n * @param {number} end\n * @return {Delta<NodeName,Attrs,Children,Text,Schema>}\n */\n slice (start = 0, end = this.childCnt) {\n const cpy = /** @type {DeltaAny} */ (new DeltaBuilder(/** @type {any} */ (this.name), this.$schema))\n cpy.origin = this.origin\n // copy attrs\n for (const op of this.attrs) {\n cpy.attrs[op.key] = /** @type {any} */ (op.clone())\n }\n // copy children\n const slicedLen = end - start\n let remainingLen = slicedLen\n /**\n * @type {ChildrenOpAny?}\n */\n let currNode = this.children.start\n let currNodeOffset = 0\n while (start > 0 && currNode != null) {\n if (currNode.length <= start) {\n start -= currNode.length\n currNode = currNode.next\n } else {\n currNodeOffset = start\n start = 0\n }\n }\n if (currNodeOffset > 0 && currNode) {\n const ncpy = currNode.clone(currNodeOffset, currNodeOffset + math.min(remainingLen, currNode.length - currNodeOffset))\n list.pushEnd(cpy.children, ncpy)\n remainingLen -= ncpy.length\n currNode = currNode.next\n }\n while (currNode != null && currNode.length <= remainingLen) {\n list.pushEnd(cpy.children, currNode.clone())\n currNode = currNode.next\n }\n if (currNode != null && remainingLen > 0) {\n list.pushEnd(cpy.children, currNode.clone(0, remainingLen))\n }\n cpy.childCnt = slicedLen - remainingLen\n // @ts-ignore\n return cpy\n }\n\n /**\n * Mark this delta as done and perform some cleanup (e.g. remove appended retains without\n * formats&attributions). In the future, there might be additional merge operations that can be\n * performed to result in smaller deltas. Set `markAsDone=false` to only perform the cleanup.\n *\n * @return {Delta<NodeName,Attrs,Children,Text,Schema>}\n */\n done (markAsDone = true) {\n if (!this.isDone) {\n this.isDone = markAsDone\n const cs = this.children\n for (let end = cs.end; end !== null && $retainOp.check(end) && end.format == null && end.attribution == null; end = cs.end) {\n this.childCnt -= end.length\n list.popEnd(cs)\n }\n }\n return this\n }\n}\n\n/**\n * @template {DeltaAny} D\n * @param {D} d\n * @return {D extends Delta<infer NodeName,infer Attrs,infer Children,infer Text,infer Schema> ? DeltaBuilder<NodeName,Attrs,Children,Text,Schema> : never}\n */\nexport const clone = d => /** @type {any} */ (d.slice(0, d.childCnt))\n\n/**\n * Try merging this op with the previous op\n * @param {list.List<any>} parent\n * @param {InsertOp<any>|RetainOp|DeleteOp|TextOp|ModifyOp<any>} op\n */\nconst tryMergeWithPrev = (parent, op) => {\n const prevOp = op.prev\n if (\n prevOp?.constructor !== op.constructor ||\n (\n (!$deleteOp.check(op) && !$modifyOp.check(op)) && (!fun.equalityDeep(op.format, /** @type {InsertOp<any>} */ (prevOp).format) || !fun.equalityDeep(op.attribution, /** @type {InsertOp<any>} */ (prevOp).attribution))\n )\n ) {\n // constructor mismatch or format/attribution mismatch\n return\n }\n // can be merged\n if ($insertOp.check(op)) {\n /** @type {InsertOp<any>} */ (prevOp).insert.push(...op.insert)\n } else if ($retainOp.check(op)) {\n // @ts-ignore\n /** @type {RetainOp} */ (prevOp).retain += op.retain\n } else if ($deleteOp.check(op)) {\n /** @type {DeleteOp} */ (prevOp).delete += op.delete\n } else if ($textOp.check(op)) {\n /** @type {TextOp} */ (prevOp)._updateInsert(/** @type {TextOp} */ (prevOp).insert + op.insert)\n } else {\n error.unexpectedCase()\n }\n list.remove(parent, op)\n}\n\n/**\n * Ensures that the delta can be edited. clears _fingerprint cache.\n *\n * @param {any} d\n */\nconst modDeltaCheck = d => {\n if (d.isDone) {\n /**\n * You tried to modify a delta after it has been marked as \"done\".\n */\n throw error.create(\"Readonly Delta can't be modified\")\n }\n d._fingerprint = null\n}\n\n/**\n * @template {string} [NodeName=any]\n * @template {{[key:string|number]:any}} [Attrs={}]\n * @template {encoding.AnyEncodable|DeltaAny|never} [Children=never]\n * @template {string|never} [Text=never]\n * @template {s.Schema<Delta<any,any,any,any,any>>|null} [Schema=any]\n * @extends {Delta<NodeName,Attrs,Children,Text,Schema>}\n */\nexport class DeltaBuilder extends Delta {\n /**\n * @param {NodeName} [name]\n * @param {Schema} [$schema]\n */\n constructor (name, $schema) {\n super(name, $schema)\n /**\n * @type {FormattingAttributes?}\n */\n this.usedAttributes = null\n /**\n * @type {Attribution?}\n */\n this.usedAttribution = null\n }\n\n /**\n * @param {Attribution?} attribution\n */\n useAttribution (attribution) {\n modDeltaCheck(this)\n this.usedAttribution = attribution\n return this\n }\n\n /**\n * @param {FormattingAttributes?} attributes\n * @return {this}\n */\n useAttributes (attributes) {\n modDeltaCheck(this)\n this.usedAttributes = attributes\n return this\n }\n\n /**\n * @param {string} name\n * @param {any} value\n */\n updateUsedAttributes (name, value) {\n modDeltaCheck(this)\n if (value == null) {\n this.usedAttributes = object.assign({}, this.usedAttributes)\n delete this.usedAttributes?.[name]\n if (object.isEmpty(this.usedAttributes)) {\n this.usedAttributes = null\n }\n } else if (!fun.equalityDeep(this.usedAttributes?.[name], value)) {\n this.usedAttributes = object.assign({}, this.usedAttributes)\n this.usedAttributes[name] = value\n }\n return this\n }\n\n /**\n * @template {keyof Attribution} NAME\n * @param {NAME} name\n * @param {Attribution[NAME]?} value\n */\n updateUsedAttribution (name, value) {\n modDeltaCheck(this)\n if (value == null) {\n this.usedAttribution = object.assign({}, this.usedAttribution)\n delete this.usedAttribution?.[name]\n if (object.isEmpty(this.usedAttribution)) {\n this.usedAttribution = null\n }\n } else if (!fun.equalityDeep(this.usedAttribution?.[name], value)) {\n this.usedAttribution = object.assign({}, this.usedAttribution)\n this.usedAttribution[name] = value\n }\n return this\n }\n\n /**\n * @template {AllowedDeltaFromSchema<Schema> extends Delta<any,any,infer Children,infer Text,infer Schema> ? ((Children extends never ? never : Array<Children>) | Text) : never} NewContent\n * @param {NewContent} insert\n * @param {FormattingAttributes?} [formatting]\n * @param {Attribution?} [attribution]\n * @return {DeltaBuilder<\n * NodeName,\n * Attrs,\n * Exclude<NewContent,string>[number]|Children,\n * (Extract<NewContent,string>|Text) extends never ? never : string,\n * Schema\n * >}\n */\n insert (insert, formatting = null, attribution = null) {\n modDeltaCheck(this)\n const mergedAttributes = mergeAttrs(this.usedAttributes, formatting)\n const mergedAttribution = mergeAttrs(this.usedAttribution, attribution)\n /**\n * @param {TextOp | InsertOp<any>} lastOp\n */\n const checkMergedEquals = lastOp => (mergedAttributes === lastOp.format || fun.equalityDeep(mergedAttributes, lastOp.format)) && (mergedAttribution === lastOp.attribution || fun.equalityDeep(mergedAttribution, lastOp.attribution))\n const end = this.children.end\n if (s.$string.check(insert)) {\n if ($textOp.check(end) && checkMergedEquals(end)) {\n end._updateInsert(end.insert + insert)\n } else if (insert.length > 0) {\n list.pushEnd(this.children, new TextOp(insert, object.isEmpty(mergedAttributes) ? null : mergedAttributes, object.isEmpty(mergedAttribution) ? null : mergedAttribution))\n }\n this.childCnt += insert.length\n } else if (arr.isArray(insert)) {\n if ($insertOp.check(end) && checkMergedEquals(end)) {\n // @ts-ignore\n end.insert.push(...insert)\n end._fingerprint = null\n } else if (insert.length > 0) {\n list.pushEnd(this.children, new InsertOp(insert, object.isEmpty(mergedAttributes) ? null : mergedAttributes, object.isEmpty(mergedAttribution) ? null : mergedAttribution))\n }\n this.childCnt += insert.length\n }\n return /** @type {any} */ (this)\n }\n\n /**\n * @template {AllowedDeltaFromSchema<Schema> extends Delta<any,any,infer Children,any,any> ? Extract<Children,Delta<any,any,any,any,any>> : never} NewContent\n * @param {NewContent} modify\n * @param {FormattingAttributes?} formatting\n * @param {Attribution?} attribution\n * @return {DeltaBuilder<\n * NodeName,\n * Attrs,\n * Exclude<NewContent,string>[number]|Children,\n * (Extract<NewContent,string>|Text) extends string ? string : never,\n * Schema\n * >}\n */\n modify (modify, formatting = null, attribution = null) {\n modDeltaCheck(this)\n const mergedAttributes = mergeAttrs(this.usedAttributes, formatting)\n const mergedAttribution = mergeAttrs(this.usedAttribution, attribution)\n list.pushEnd(this.children, new ModifyOp(modify, object.isEmpty(mergedAttributes) ? null : mergedAttributes, object.isEmpty(mergedAttribution) ? null : mergedAttribution))\n this.childCnt += 1\n return /** @type {any} */ (this)\n }\n\n /**\n * @param {number} len\n * @param {FormattingAttributes?} [format]\n * @param {Attribution?} [attribution]\n */\n retain (len, format = null, attribution = null) {\n modDeltaCheck(this)\n const mergedFormats = mergeAttrs(this.usedAttributes, format)\n const mergedAttribution = mergeAttrs(this.usedAttribution, attribution)\n const lastOp = /** @type {RetainOp|InsertOp<any>} */ (this.children.end)\n if (lastOp instanceof RetainOp && fun.equalityDeep(mergedFormats, lastOp.format) && fun.equalityDeep(mergedAttribution, lastOp.attribution)) {\n // @ts-ignore\n lastOp.retain += len\n } else if (len > 0) {\n list.pushEnd(this.children, new RetainOp(len, mergedFormats, mergedAttribution))\n }\n this.childCnt += len\n return this\n }\n\n /**\n * @param {number} len\n */\n delete (len) {\n modDeltaCheck(this)\n const lastOp = /** @type {DeleteOp|InsertOp<any>} */ (this.children.end)\n if (lastOp instanceof DeleteOp) {\n lastOp.delete += len\n } else if (len > 0) {\n list.pushEnd(this.children, new DeleteOp(len))\n }\n this.childCnt += len\n return this\n }\n\n /**\n * @template {AllowedDeltaFromSchema<Schema> extends Delta<any,infer Attrs,any,any,any> ? (keyof Attrs) : never} Key\n * @template {AllowedDeltaFromSchema<Schema> extends Delta<any,infer Attrs,any,any,any> ? (Attrs[Key]) : never} Val\n * @param {Key} key\n * @param {Val} val\n * @param {Attribution?} attribution\n * @param {Val|undefined} [prevValue]\n * @return {DeltaBuilder<\n * NodeName,\n * { [K in keyof AddToAttrs<Attrs,Key,Val>]: AddToAttrs<Attrs,Key,Val>[K] },\n * Children,\n * Text,\n * Schema\n * >}\n */\n set (key, val, attribution = null, prevValue) {\n modDeltaCheck(this)\n this.attrs[key] = /** @type {any} */ (new AttrInsertOp(key, val, prevValue, mergeAttrs(this.usedAttribution, attribution)))\n return /** @type {any} */ (this)\n }\n\n /**\n * @template {AllowedDeltaFromSchema<Schema> extends Delta<any,infer Attrs,any,any,any> ? Attrs : never} NewAttrs\n * @param {NewAttrs} attrs\n * @param {Attribution?} attribution\n * @return {DeltaBuilder<\n * NodeName,\n * { [K in keyof MergeAttrs<Attrs,NewAttrs>]: MergeAttrs<Attrs,NewAttrs>[K] },\n * Children,\n * Text,\n * Schema\n * >}\n */\n setMany (attrs, attribution = null) {\n modDeltaCheck(this)\n for (const k in attrs) {\n this.set(/** @type {any} */ (k), attrs[k], attribution)\n }\n return /** @type {any} */ (this)\n }\n\n /**\n * @template {AllowedDeltaFromSchema<Schema> extends Delta<any,infer As,any,any,any> ? keyof As : never} Key\n * @param {Key} key\n * @param {Attribution?} attribution\n * @param {any} [prevValue]\n * @return {DeltaBuilder<\n * NodeName,\n * { [K in keyof AddToAttrs<Attrs,Key,never>]: AddToAttrs<Attrs,Key,never>[K] },\n * Children,\n * Text,\n * Schema\n * >}\n */\n unset (key, attribution = null, prevValue) {\n modDeltaCheck(this)\n this.attrs[key] = /** @type {any} */ (new AttrDeleteOp(key, prevValue, mergeAttrs(this.usedAttribution, attribution)))\n return /** @type {any} */ (this)\n }\n\n /**\n * @template {AllowedDeltaFromSchema<Schema> extends Delta<any,infer As,any,any,any> ? { [K in keyof As]: Extract<As[K],Delta<any,any,any,any,any>> extends never ? never : K }[keyof As] : never} Key\n * @template {AllowedDeltaFromSchema<Schema> extends Delta<any,infer As,any,any,any> ? Extract<As[Key],Delta<any,any,any,any,any>> : never} D\n * @param {Key} key\n * @param {D} modify\n * @return {DeltaBuilder<\n * NodeName,\n * { [K in keyof AddToAttrs<Attrs,Key,D>]: AddToAttrs<Attrs,Key,D>[K] },\n * Children,\n * Text,\n * Schema\n * >}\n */\n update (key, modify) {\n modDeltaCheck(this)\n this.attrs[key] = /** @type {any} */ (new AttrModifyOp(key, modify))\n return /** @type {any} */ (this)\n }\n\n /**\n * @param {Delta<NodeName,Attrs,Children,Text,any>} other\n */\n apply (other) {\n modDeltaCheck(this)\n this.$schema?.expect(other)\n // apply attrs\n for (let op of other.attrs) {\n const c = /** @type {AttrInsertOp<any,any>|AttrDeleteOp<any>|AttrModifyOp<any,any>} */ (this.attrs[op.key])\n if ($modifyOp.check(op)) {\n if ($deltaAny.check(c?.value)) {\n c._modValue.apply(op.value)\n } else {\n // then this is a simple modify\n // @ts-ignore\n this.attrs[op.key] = op.clone()\n }\n } else {\n op = /** @type {any} */ (op.clone())\n // @ts-ignore\n op.prevValue = c?.value\n // @ts-ignore\n this.attrs[op.key] = op\n }\n }\n // apply children\n /**\n * @type {ChildrenOpAny?}\n */\n let opsI = this.children.start\n let offset = 0\n /**\n * At the end, we will try to merge this op, and op.next op with their respective previous op.\n *\n * Hence, anytime an op is cloned, deleted, or inserted (anytime list.* api is used) we must add\n * an op to maybeMergeable.\n *\n * @type {Array<InsertOp<any>|RetainOp|DeleteOp|TextOp|ModifyOp<any>>}\n */\n const maybeMergeable = []\n /**\n * @template {InsertOp<any>|RetainOp|DeleteOp|TextOp|ModifyOp<any>|null} OP\n * @param {OP} op\n * @return {OP}\n */\n const scheduleForMerge = op => {\n op && maybeMergeable.push(op)\n return op\n }\n other.children.forEach(op => {\n if ($textOp.check(op) || $insertOp.check(op)) {\n if (offset === 0) {\n list.insertBetween(this.children, opsI == null ? this.children.end : opsI.prev, opsI, scheduleForMerge(op.clone()))\n } else {\n if (opsI == null) error.unexpectedCase()\n const cpy = scheduleForMerge(opsI.clone(offset))\n opsI._splice(offset, opsI.length - offset)\n list.insertBetween(this.children, opsI, opsI.next || null, cpy)\n list.insertBetween(this.children, opsI, cpy || null, scheduleForMerge(op.clone()))\n offset = 0\n }\n this.childCnt += op.insert.length\n } else if ($retainOp.check(op)) {\n let skipLen = op.length\n while (opsI != null && opsI.length - offset <= skipLen) {\n skipLen -= opsI.length - offset\n opsI = opsI?.next || null\n offset = 0\n }\n if (opsI != null) {\n offset += skipLen\n } else {\n list.pushEnd(this.children, scheduleForMerge(new RetainOp(skipLen, op.format, op.attribution)))\n this.childCnt += skipLen\n }\n } else if ($deleteOp.check(op)) {\n let remainingLen = op.delete\n while (remainingLen > 0) {\n if (opsI == null) {\n list.pushEnd(this.children, scheduleForMerge(new DeleteOp(remainingLen)))\n this.childCnt += remainingLen\n break\n } else if (opsI instanceof DeleteOp) {\n const delLen = opsI.length - offset\n // the same content can't be deleted twice, remove duplicated deletes\n if (delLen >= remainingLen) {\n offset = 0\n opsI = opsI.next\n } else {\n offset += remainingLen\n }\n remainingLen -= delLen\n } else { // insert / embed / retain / modify ⇒ replace\n // case1: delete o fully\n // case2: delete some part of beginning\n // case3: delete some part of end\n // case4: delete some part of center\n const delLen = math.min(opsI.length - offset, remainingLen)\n this.childCnt -= delLen\n if (opsI.length === delLen) {\n // case 1\n offset = 0\n scheduleForMerge(opsI.next)\n list.remove(this.children, opsI)\n } else if (offset === 0) {\n // case 2\n offset = 0\n opsI._splice(0, delLen)\n } else if (offset + delLen === opsI.length) {\n // case 3\n opsI._splice(offset, delLen)\n offset = 0\n opsI = opsI.next\n } else {\n // case 4\n opsI._splice(offset, delLen)\n }\n remainingLen -= delLen\n }\n }\n } else if ($modifyOp.check(op)) {\n if (opsI == null) {\n list.pushEnd(this.children, op.clone())\n this.childCnt += 1\n return\n }\n if ($modifyOp.check(opsI)) {\n opsI._modValue.apply(op.value)\n } else if ($insertOp.check(opsI)) {\n opsI._modValue(offset).apply(op.value)\n } else if ($retainOp.check(opsI)) {\n if (offset > 0) {\n const cpy = scheduleForMerge(opsI.clone(0, offset)) // skipped len\n opsI._splice(0, offset) // new remainder\n list.insertBetween(this.children, opsI.prev, opsI, cpy) // insert skipped len\n offset = 0\n }\n list.insertBetween(this.children, opsI.prev, opsI, scheduleForMerge(op.clone())) // insert skipped len\n if (opsI.length === 1) {\n list.remove(this.children, opsI)\n } else {\n opsI._splice(0, 1)\n scheduleForMerge(opsI)\n }\n } else if ($deleteOp.check(opsI)) {\n // nop\n } else {\n error.unexpectedCase()\n }\n } else {\n error.unexpectedCase()\n }\n })\n maybeMergeable.forEach(op => {\n // check if this is still integrated\n if (op.prev?.next === op) {\n tryMergeWithPrev(this.children, op)\n op.next && tryMergeWithPrev(this.children, op.next)\n }\n })\n return this\n }\n\n /**\n * @param {DeltaAny} other\n * @param {boolean} priority\n */\n rebase (other, priority) {\n modDeltaCheck(this)\n /**\n * Rebase attributes\n *\n * - insert vs delete ⇒ insert takes precedence\n * - insert vs modify ⇒ insert takes precedence\n * - insert vs insert ⇒ priority decides\n * - delete vs modify ⇒ delete takes precedence\n * - delete vs delete ⇒ current delete op is removed because item has already been deleted\n * - modify vs modify ⇒ rebase using priority\n */\n for (const op of this.attrs) {\n if ($insertOp.check(op)) {\n if ($insertOp.check(other.attrs[op.key]) && !priority) {\n delete this.attrs[op.key]\n }\n } else if ($deleteOp.check(op)) {\n const otherOp = other.attrs[/** @type {any} */ (op.key)]\n if ($insertOp.check(otherOp)) {\n delete this.attrs[otherOp.key]\n }\n } else if ($modifyOp.check(op)) {\n const otherOp = other.attrs[/** @type {any} */ (op.key)]\n if (otherOp == null) {\n // nop\n } else if ($modifyOp.check(otherOp)) {\n op._modValue.rebase(otherOp.value, priority)\n } else {\n delete this.attrs[otherOp.key]\n }\n }\n }\n /**\n * Rebase children.\n *\n * Precedence: insert with higher priority comes first. Op with less priority is transformed to\n * be inserted later.\n *\n * @todo always check if inser OR text\n */\n /**\n * @type {ChildrenOpAny?}\n */\n let currChild = this.children.start\n let currOffset = 0\n /**\n * @type {ChildrenOpAny?}\n */\n let otherChild = other.children.start\n let otherOffset = 0\n while (currChild != null && otherChild != null) {\n if ($insertOp.check(currChild) || $textOp.check(currChild)) {\n /**\n * Transforming *insert*. If other is..\n * - insert: transform based on priority\n * - retain/delete/modify: transform next op against other\n */\n if ($insertOp.check(otherChild) || $modifyOp.check(otherChild) || $textOp.check(otherChild)) {\n if (!priority) {\n list.insertBetween(this.children, currChild.prev, currChild, new RetainOp(otherChild.length, null, null))\n this.childCnt += otherChild.length\n // curr is transformed against other, transform curr against next\n otherOffset = otherChild.length\n } else {\n // curr stays as is, transform next op\n currOffset = currChild.length\n }\n } else { // otherChild = delete | retain | modify - curr stays as is, transform next op\n currOffset = currChild.length\n }\n } else if ($modifyOp.check(currChild)) {\n /**\n * Transforming *modify*. If other is..\n * - insert: adjust position\n * - modify: rebase curr modify on other modify\n * - delete: remove modify\n * - retain: adjust offset\n */\n if ($insertOp.check(otherChild) || $textOp.check(otherChild)) {\n // @todo: with all list changes (retain insertions, removal), try to merge the surrounding\n // ops later\n list.insertBetween(this.children, currChild.prev, currChild, new RetainOp(otherChild.length, null, null))\n this.childCnt += otherChild.length\n // curr is transformed against other, transform curr against next\n otherOffset = otherChild.length\n } else {\n if ($modifyOp.check(otherChild)) {\n /** @type {any} */ (currChild.value).rebase(otherChild, priority)\n } else if ($deleteOp.check(otherChild)) {\n list.remove(this.children, currChild)\n this.childCnt -= 1\n }\n currOffset += 1\n otherOffset += 1\n }\n } else { // DeleteOp | RetainOp\n const maxCommonLen = math.min(currChild.length - currOffset, otherChild.length - otherOffset)\n /**\n * Transforming *retain* OR *delete*. If other is..\n * - retain / modify: adjust offsets\n * - delete: shorten curr op\n * - insert: split curr op and insert retain\n */\n if ($retainOp.check(otherChild) || $modifyOp.check(otherChild)) {\n currOffset += maxCommonLen\n otherOffset += maxCommonLen\n } else if ($deleteOp.check(otherChild)) {\n if ($retainOp.check(currChild)) {\n // @ts-ignore\n currChild.retain -= maxCommonLen\n } else if ($deleteOp.check(currChild)) {\n currChild.delete -= maxCommonLen\n }\n this.childCnt -= maxCommonLen\n } else { // insert/text.check(currOp)\n if (currOffset > 0) {\n const leftPart = currChild.clone(currOffset)\n list.insertBetween(this.children, currChild.prev, currChild, leftPart)\n currChild._splice(currOffset, currChild.length - currOffset)\n currOffset = 0\n }\n list.insertBetween(this.children, currChild.prev, currChild, new RetainOp(otherChild.length, null, null))\n this.childCnt += otherChild.length\n otherOffset = otherChild.length\n }\n }\n if (currOffset >= currChild.length) {\n currChild = currChild.next\n currOffset = 0\n }\n if (otherOffset >= otherChild.length) {\n otherChild = otherChild.next\n otherOffset = 0\n }\n }\n return this\n }\n\n /**\n * Same as doing `delta.rebase(other.inverse())`, without creating a temporary delta.\n *\n * @param {DeltaAny} other\n * @param {boolean} priority\n */\n rebaseOnInverse (other, priority) {\n modDeltaCheck(this)\n // @todo\n console.info('method rebaseOnInverse unimplemented')\n return this\n }\n}\n\n/**\n * @template {string} NodeName\n * @template {{ [key: string|number]: any }} [Attrs={}]\n * @template {encoding.AnyEncodable|DeltaAny|never} [Children=never]\n * @template {string|never} [Text=never]\n * @typedef {Delta<NodeName,Attrs,Children|Delta<NodeName,Attrs,Children,Text>|RecursiveDelta<NodeName,Attrs,Children,Text>,Text>} RecursiveDelta\n */\n\n/**\n * @template {s.Schema<string>|string|Array<string>} [NodeNameSchema=s.Schema<any>]\n * @template {s.Schema<{ [key: string|number]: any }>|{ [key:string|number]:any }} [AttrsSchema=s.Schema<{}>]\n * @template {any} [ChildrenSchema=s.Schema<never>]\n * @template {boolean} [HasText=false]\n * @template {boolean} [Recursive=false]\n * @param {object} opts\n * @param {NodeNameSchema?} [opts.name]\n * @param {AttrsSchema?} [opts.attrs]\n * @param {ChildrenSchema?} [opts.children]\n * @param {HasText} [opts.text]\n * @param {Recursive} [opts.recursive]\n * @return {[s.Unwrap<s.ReadSchema<NodeNameSchema>>,s.Unwrap<s.ReadSchema<AttrsSchema>>,s.Unwrap<s.ReadSchema<ChildrenSchema>>] extends [infer NodeName, infer Attrs, infer Children] ? s.Schema<Delta<\n * NodeName,\n * Attrs,\n * Children|(Recursive extends true ? RecursiveDelta<NodeName,Attrs,Children,HasText extends true ? string : never> : never),\n * HasText extends true ? string : never\n * >> : never}\n */\nexport const $delta = ({ name, attrs, children, text, recursive }) => {\n /**\n * @type {s.Schema<Array<any>>}\n */\n let $arrContent = children == null ? s.$never : s.$array(s.$(children))\n const $name = name == null ? s.$any : s.$(name)\n const $attrsPartial = attrs == null ? s.$object({}) : (s.$$record.check(attrs) ? attrs : /** @type {any} */ (s.$(attrs)).partial)\n const $d = s.$instanceOf(Delta, /** @param {Delta<any,any,any,any,any>} d */ d => {\n if (\n !$name.check(d.name) ||\n object.some(d.attrs,\n (op, k) => $insertOp.check(op) && !$attrsPartial.check({ [k]: op.value })\n )\n ) return false\n for (const op of d.children) {\n if ((!text && $textOp.check(op)) || ($insertOp.check(op) && !$arrContent.check(op.insert))) {\n return false\n }\n }\n return true\n })\n if (recursive) {\n $arrContent = children == null ? s.$array($d) : s.$array(s.$(children), $d)\n }\n return /** @type {any} */ ($d)\n}\n\n/**\n * @type {s.Schema<DeltaAny>}\n */\nexport const $deltaAny = /** @type {any} */ (s.$instanceOf(Delta))\n\n/**\n * Helper function to merge attribution and attributes. The latter input \"wins\".\n *\n * @template {{ [key: string]: any }} T\n * @param {T | null} a\n * @param {T | null} b\n */\nexport const mergeAttrs = (a, b) => object.isEmpty(a) ? b : (object.isEmpty(b) ? a : object.assign({}, a, b))\n\n/**\n * @template {DeltaAny|null} D\n * @param {D} a\n * @param {D} b\n * @return {D}\n */\nexport const mergeDeltas = (a, b) => {\n if (a != null && b != null) {\n const c = clone(a)\n c.apply(b)\n return /** @type {any} */ (c)\n }\n return a == null ? b : (a || null)\n}\n\n/**\n * @overload\n * @return {DeltaBuilder<any,{},never,never,null>}\n */\n/**\n * @template {string} NodeName\n * @overload\n * @param {NodeName} nodeName\n * @return {DeltaBuilder<NodeName,{},never,never,null>}\n */\n/**\n * @template {string} NodeName\n * @template {s.Schema<DeltaAny>} Schema\n * @overload\n * @param {NodeName} nodeName\n * @param {Schema} schema\n * @return {Schema extends s.Schema<Delta<infer N,infer Attrs,infer Children,infer Text,any>> ? DeltaBuilder<NodeName,Attrs,Children,Text,Schema> : never}\n */\n/**\n * @template {s.Schema<DeltaAny>} Schema\n * @overload\n * @param {Schema} schema\n * @return {Schema extends s.Schema<Delta<infer N,infer Attrs,infer Children,infer Text,any>> ? DeltaBuilder<N,Attrs,Children,Text,Schema> : never}\n */\n/**\n * @template {string|null} NodeName\n * @template {{[k:string|number]:any}|null} Attrs\n * @template {Array<any>|string} [Children=never]\n * @overload\n * @param {NodeName} nodeName\n * @param {Attrs} attrs\n * @param {Children} [children]\n * @return {DeltaBuilder<\n * NodeName extends null ? any : NodeName,\n * Attrs extends null ? {} : Attrs,\n * Extract<Children,Array<any>> extends Array<infer Ac> ? (unknown extends Ac ? never : Ac) : never,\n * Extract<Children,string>,\n * null\n * >}\n */\n/**\n * @param {string|s.Schema<DeltaAny>} [nodeNameOrSchema]\n * @param {{[K:string|number]:any}|s.Schema<DeltaAny>} [attrsOrSchema]\n * @param {(Array<any>|string)} [children]\n * @return {DeltaBuilder<any,any,any,any,any>}\n */\nexport const create = (nodeNameOrSchema, attrsOrSchema, children) => {\n const nodeName = /** @type {any} */ (s.$string.check(nodeNameOrSchema) ? nodeNameOrSchema : null)\n const schema = /** @type {any} */ (s.$$schema.check(nodeNameOrSchema) ? nodeNameOrSchema : (s.$$schema.check(attrsOrSchema) ? attrsOrSchema : null))\n const d = /** @type {DeltaBuilder<any,any,any,string,null>} */ (new DeltaBuilder(nodeName, schema))\n if (s.$objectAny.check(attrsOrSchema)) {\n d.setMany(attrsOrSchema)\n }\n children && d.insert(children)\n return d\n}\n\n// DELTA TEXT\n\n/**\n * @template {encoding.AnyEncodable|DeltaAny} [Embeds=never]\n * @typedef {Delta<any,{},Embeds,string>} TextDelta\n */\n\n/**\n * @template {encoding.AnyEncodable|DeltaAny} [Embeds=never]\n * @typedef {DeltaBuilder<any,{},Embeds,string>} TextDeltaBuilder\n */\n\n/**\n * @template {Array<s.Schema<any>>} [$Embeds=any]\n * @param {$Embeds} $embeds\n * @return {s.Schema<TextDelta<_AnyToNull<$Embeds> extends null ? never : ($Embeds extends Array<s.Schema<infer $C>> ? $C : never)>>}\n */\nexport const $text = (...$embeds) => /** @type {any} */ ($delta({ children: s.$union(...$embeds), text: true }))\nexport const $textOnly = $text()\n\n/**\n * @template {s.Schema<Delta<any,{},any,any,null>>} [Schema=s.Schema<Delta<any,{},never,string,null>>]\n * @param {Schema} [$schema]\n * @return {Schema extends s.Schema<Delta<infer N,infer Attrs,infer Children,infer Text,any>> ? DeltaBuilder<N,Attrs,Children,Text,Schema> : never}\n */\nexport const text = $schema => /** @type {any} */ (create($schema || $textOnly))\n\n/**\n * @template {encoding.AnyEncodable|DeltaAny} Children\n * @typedef {Delta<any,{},Children,never>} ArrayDelta\n */\n\n/**\n * @template {encoding.AnyEncodable|DeltaAny} Children\n * @typedef {DeltaBuilder<any,{},Children,never>} ArrayDeltaBuilder\n */\n\n/**\n * @template {any|s.Schema<any>} $Children\n * @param {$Children} [$children]\n * @return {s.Schema<ArrayDelta<s.Unwrap<s.ReadSchema<$Children>>>>}\n */\nexport const $array = $children => /** @type {any} */ ($delta({ children: $children }))\n\n/**\n * @template {s.Schema<ArrayDelta<any>>} [$Schema=never]\n * @param {$Schema} $schema\n * @return {$Schema extends never ? ArrayDeltaBuilder<never> : DeltaBuilder<any,{},never,never,$Schema>}\n */\nexport const array = $schema => /** @type {any} */ ($schema ? create($schema) : create())\n\n/**\n * @template {{ [K: string|number]: any }} Attrs\n * @typedef {Delta<any,Attrs,never,never>} MapDelta\n */\n\n/**\n * @template {{ [K: string|number]: any }} Attrs\n * @typedef {DeltaBuilder<any,Attrs,never,never>} MapDeltaBuilder\n */\n\n/**\n * @template {{ [K: string|number]: any }} $Attrs\n * @param {s.Schema<$Attrs>} $attrs\n * @return {s.Schema<MapDelta<$Attrs>>}\n */\nexport const $map = $attrs => /** @type {any} */ ($delta({ attrs: $attrs }))\n\n/**\n * @template {s.Schema<MapDelta<any>>|undefined} [$Schema=undefined]\n * @param {$Schema} [$schema]\n * @return {$Schema extends s.Schema<MapDelta<infer Attrs>> ? DeltaBuilder<any,Attrs,never,never,$Schema> : MapDeltaBuilder<{}>}\n */\nexport const map = $schema => /** @type {any} */ (create(/** @type {any} */ ($schema)))\n\n/**\n * @template {DeltaAny} D\n * @param {D} d1\n * @param {NoInfer<D>} d2\n * @return {D}\n */\nexport const diff = (d1, d2) => {\n /**\n * @type {DeltaBuilderAny}\n */\n const d = create()\n if (d1.fingerprint !== d2.fingerprint) {\n let left1 = d1.children.start\n let left2 = d2.children.start\n let right1 = d1.children.end\n let right2 = d2.children.end\n let commonPrefixOffset = 0\n // perform a patience sort\n // 1) remove common prefix and suffix\n while (left1 != null && left1.fingerprint === left2?.fingerprint) {\n if (!$deleteOp.check(left1)) {\n commonPrefixOffset += left1.length\n }\n left1 = left1.next\n left2 = left2.next\n }\n while (right1 !== null && right1 !== left1 && right1.fingerprint === right2?.fingerprint) {\n right1 = right1.prev\n right2 = right2.prev\n }\n /**\n * @type {Array<ChildrenOpAny>}\n */\n const ops1 = []\n /**\n * @type {Array<ChildrenOpAny>}\n */\n const ops2 = []\n while (left1 !== null && left1 !== right1?.next) {\n ops1.push(left1)\n left1 = left1.next\n }\n while (left2 !== null && left2 !== right2?.next) {\n ops2.push(left2)\n left2 = left2.next\n }\n const fprints1 = ops1.map(op => op.fingerprint)\n const fprints2 = ops2.map(op => op.fingerprint)\n const changeset = patience.diff(fprints1, fprints2)\n d.retain(commonPrefixOffset)\n for (let i = 0, lastIndex1 = 0, currIndexOffset2 = 0; i < changeset.length; i++) {\n const change = changeset[i]\n d.retain(change.index - lastIndex1)\n // insert minimal diff at curred position in d\n /**\n * @param {DeltaBuilderAny} d\n * @param {ChildrenOpAny[]} opsIs\n * @param {ChildrenOpAny[]} opsShould\n *\n */\n const diffAndApply = (d, opsIs, opsShould) => {\n // naive implementation\n d.delete(opsIs.reduce((currLen, op) => currLen + op.length, 0))\n opsShould.forEach(newIns => {\n if ($insertOp.check(newIns) || $textOp.check(newIns)) {\n d.insert(newIns.insert)\n } else {\n error.unexpectedCase()\n }\n })\n }\n diffAndApply(d, ops1.slice(change.index, change.index + change.remove.length), ops2.slice(change.index + currIndexOffset2, change.insert.length))\n lastIndex1 = change.index + change.remove.length\n currIndexOffset2 += change.insert.length - change.remove.length\n }\n for (const attr2 of d2.attrs) {\n const attr1 = d1.attrs[attr2.key]\n if (attr1 == null || (attr1.fingerprint !== attr2.fingerprint)) {\n if ($insertOp.check(attr2)) {\n d.set(attr2.key, attr2.value)\n } else {\n error.unexpectedCase()\n }\n }\n }\n for (const attr1 of d1.attrs) {\n if (d2.attrs[attr1.key] == null) {\n d.unset(attr1.key)\n }\n }\n }\n return /** @type {D} */ (d.done())\n}\n"],"names":["s.$object","s.$array","s.$string","s.$number","s.$record","s.$union","s.$literal","s.$any","list.ListNode","buffer.toBase64","encoding.encode","encoding.writeVarUint","encoding.writeVarString","encoding.writeAny","object.assign","traits.EqualityTraitSymbol","fun.equalityDeep","encoding.writeUint8","s.$custom","s.$constructedBy","list.create","rabin.fingerprint","rabin.StandardIrreducible128","encoding.toUint8Array","object.isEmpty","list.isEmpty","math.min","list.pushEnd","list.popEnd","error.unexpectedCase","list.remove","error.create","arr.isArray","list.insertBetween","s.$never","s.$","s.$$record","s.$instanceOf","object.some","schema","s.$$schema","s.$objectAny","patience.diff"],"mappings":"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"}
|
|
@@ -1,166 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @typedef {Array<dops.DeltaJsonOp>} DeltaJson
|
|
3
|
-
*/
|
|
4
|
-
/**
|
|
5
|
-
* @template {'array' | 'text' | 'custom'} Type
|
|
6
|
-
* @template {dops.AbstractDeltaArrayOps<any>} OPS
|
|
7
|
-
* @extends {d.AbstractDelta}
|
|
8
|
-
*/
|
|
9
|
-
export class AbstractDeltaArray<Type extends "array" | "text" | "custom", OPS extends dops.AbstractDeltaArrayOps<any>> extends d.AbstractDelta {
|
|
10
|
-
/**
|
|
11
|
-
* @param {Type} type
|
|
12
|
-
*/
|
|
13
|
-
constructor(type: Type);
|
|
14
|
-
type: Type;
|
|
15
|
-
/**
|
|
16
|
-
* @type {Array<OPS>}
|
|
17
|
-
*/
|
|
18
|
-
ops: Array<OPS>;
|
|
19
|
-
/**
|
|
20
|
-
* @template M
|
|
21
|
-
* @param {(d:OPS) => dops.AbstractDeltaArrayOps<M>} f
|
|
22
|
-
* @return {AbstractDeltaArrayBuilder<Type,M>}
|
|
23
|
-
*/
|
|
24
|
-
map<M>(f: (d: OPS) => dops.AbstractDeltaArrayOps<M>): AbstractDeltaArrayBuilder<Type, M>;
|
|
25
|
-
/**
|
|
26
|
-
*
|
|
27
|
-
* Iterate through the changes. There are two approches to iterate through the changes. The
|
|
28
|
-
* following examples achieve the same thing:
|
|
29
|
-
*
|
|
30
|
-
* @example
|
|
31
|
-
* d.forEach((op, index) => {
|
|
32
|
-
* if (op instanceof delta.InsertArrayOp) {
|
|
33
|
-
* op.insert
|
|
34
|
-
* } else if (op instanceof delta.RetainOp ) {
|
|
35
|
-
* op.retain
|
|
36
|
-
* } else if (op instanceof delta.DeleteOp) {
|
|
37
|
-
* op.delete
|
|
38
|
-
* }
|
|
39
|
-
* })
|
|
40
|
-
*
|
|
41
|
-
* The second approach doesn't require instanceof checks.
|
|
42
|
-
*
|
|
43
|
-
* @example
|
|
44
|
-
* d.forEach(null,
|
|
45
|
-
* (insertOp, index) => insertOp.insert,
|
|
46
|
-
* (retainOp, index) => insertOp.retain
|
|
47
|
-
* (deleteOp, index) => insertOp.delete
|
|
48
|
-
* )
|
|
49
|
-
*
|
|
50
|
-
* @param {null|((d:OPS,index:number)=>void)} f
|
|
51
|
-
* @param {null|((insertOp:Extract<OPS,InsertOp<any>|TextOp>,index:number)=>void)} insertHandler
|
|
52
|
-
* @param {null|((retainOp:RetainOp,index:number)=>void)} retainHandler
|
|
53
|
-
* @param {null|((deleteOp:DeleteOp,index:number)=>void)} deleteHandler
|
|
54
|
-
* @param {null|((modifyOp:OPS extends ModifyOp<infer M> ? ModifyOp<M> : never,index:number)=>void)} modifyHandler
|
|
55
|
-
*/
|
|
56
|
-
forEach(f?: null | ((d: OPS, index: number) => void), insertHandler?: null | ((insertOp: Extract<OPS, InsertOp<any> | TextOp>, index: number) => void), retainHandler?: null | ((retainOp: RetainOp, index: number) => void), deleteHandler?: null | ((deleteOp: DeleteOp, index: number) => void), modifyHandler?: null | ((modifyOp: OPS extends ModifyOp<infer M> ? ModifyOp<M> : never, index: number) => void)): void;
|
|
57
|
-
/**
|
|
58
|
-
* @param {AbstractDeltaArray<Type, OPS>} other
|
|
59
|
-
* @return {boolean}
|
|
60
|
-
*/
|
|
61
|
-
equals(other: AbstractDeltaArray<Type, OPS>): boolean;
|
|
62
|
-
/**
|
|
63
|
-
* @returns {DeltaJson}
|
|
64
|
-
*/
|
|
65
|
-
toJSON(): DeltaJson;
|
|
66
|
-
get size(): number;
|
|
67
|
-
/**
|
|
68
|
-
* @param {AbstractDeltaArray<Type,OPS>} other
|
|
69
|
-
*/
|
|
70
|
-
[traits.EqualityTraitSymbol](other: AbstractDeltaArray<Type, OPS>): boolean;
|
|
71
|
-
}
|
|
72
|
-
/**
|
|
73
|
-
* @template {'text' | 'array' | 'custom'} Type
|
|
74
|
-
* @template {dops.AbstractDeltaArrayOps<any>} OPS
|
|
75
|
-
* @extends {AbstractDeltaArray<Type,OPS>}
|
|
76
|
-
*/
|
|
77
|
-
export class AbstractDeltaArrayBuilder<Type extends "text" | "array" | "custom", OPS extends dops.AbstractDeltaArrayOps<any>> extends AbstractDeltaArray<Type, OPS> {
|
|
78
|
-
/**
|
|
79
|
-
* @param {Type} type
|
|
80
|
-
* @param {s.Schema<OPS extends dops.AbstractDeltaArrayOps<infer V> ? V : never>} $insert
|
|
81
|
-
*/
|
|
82
|
-
constructor(type: Type, $insert: s.Schema<OPS extends dops.AbstractDeltaArrayOps<infer V> ? V : never>);
|
|
83
|
-
$insert: s.Schema<OPS extends dops.AbstractDeltaArrayOps<infer V extends unknown> ? V : never>;
|
|
84
|
-
/**
|
|
85
|
-
* @type {dops.FormattingAttributes?}
|
|
86
|
-
*/
|
|
87
|
-
usedAttributes: dops.FormattingAttributes | null;
|
|
88
|
-
/**
|
|
89
|
-
* @type {d.Attribution?}
|
|
90
|
-
*/
|
|
91
|
-
usedAttribution: d.Attribution | null;
|
|
92
|
-
/**
|
|
93
|
-
* @type {dops.AbstractDeltaArrayOps<any>?}
|
|
94
|
-
*/
|
|
95
|
-
lastOp: dops.AbstractDeltaArrayOps<any> | null;
|
|
96
|
-
/**
|
|
97
|
-
* @return {this}
|
|
98
|
-
*/
|
|
99
|
-
clone(): this;
|
|
100
|
-
/**
|
|
101
|
-
* @param {dops.FormattingAttributes?} attributes
|
|
102
|
-
* @return {this}
|
|
103
|
-
*/
|
|
104
|
-
useAttributes(attributes: dops.FormattingAttributes | null): this;
|
|
105
|
-
/**
|
|
106
|
-
* @param {string} name
|
|
107
|
-
* @param {any} value
|
|
108
|
-
*/
|
|
109
|
-
updateUsedAttributes(name: string, value: any): this;
|
|
110
|
-
/**
|
|
111
|
-
* @template {keyof d.Attribution} NAME
|
|
112
|
-
* @param {NAME} name
|
|
113
|
-
* @param {d.Attribution[NAME]?} value
|
|
114
|
-
*/
|
|
115
|
-
updateUsedAttribution<NAME extends keyof d.Attribution>(name: NAME, value: d.Attribution[NAME] | null): this;
|
|
116
|
-
/**
|
|
117
|
-
* @param {d.Attribution?} attribution
|
|
118
|
-
*/
|
|
119
|
-
useAttribution(attribution: d.Attribution | null): this;
|
|
120
|
-
/**
|
|
121
|
-
* @param {(OPS extends TextOp ? string : never) | (OPS extends InsertOp<infer Content> ? Array<Content> : never) } insert
|
|
122
|
-
* @param {dops.FormattingAttributes?} attributes
|
|
123
|
-
* @param {d.Attribution?} attribution
|
|
124
|
-
* @return {this}
|
|
125
|
-
*/
|
|
126
|
-
insert(insert: (OPS extends TextOp ? string : never) | (OPS extends InsertOp<infer Content> ? Array<Content> : never), attributes?: dops.FormattingAttributes | null, attribution?: d.Attribution | null): this;
|
|
127
|
-
/**
|
|
128
|
-
* @param {OPS extends ModifyOp<infer Mod> ? Mod : never } modify
|
|
129
|
-
* @param {dops.FormattingAttributes?} attributes
|
|
130
|
-
* @param {d.Attribution?} attribution
|
|
131
|
-
* @return {this}
|
|
132
|
-
*/
|
|
133
|
-
modify(modify: OPS extends ModifyOp<infer Mod> ? Mod : never, attributes?: dops.FormattingAttributes | null, attribution?: d.Attribution | null): this;
|
|
134
|
-
/**
|
|
135
|
-
* @param {number} retain
|
|
136
|
-
* @param {dops.FormattingAttributes?} attributes
|
|
137
|
-
* @param {d.Attribution?} attribution
|
|
138
|
-
* @return {this}
|
|
139
|
-
*/
|
|
140
|
-
retain(retain: number, attributes?: dops.FormattingAttributes | null, attribution?: d.Attribution | null): this;
|
|
141
|
-
/**
|
|
142
|
-
* @param {number} len
|
|
143
|
-
* @return {this}
|
|
144
|
-
*/
|
|
145
|
-
delete(len: number): this;
|
|
146
|
-
/**
|
|
147
|
-
* @todo this is basically untested and is in dire need of randomized testing.
|
|
148
|
-
* @param {AbstractDeltaArray<Type, OPS>} other
|
|
149
|
-
*/
|
|
150
|
-
apply(other: AbstractDeltaArray<Type, OPS>): void;
|
|
151
|
-
/**
|
|
152
|
-
* @return {Type extends 'array' ? (OPS extends dops.InsertOp<infer C> ? import('./array.js').DeltaArray<C> : never) : (Type extends 'text' ? (OPS extends dops.DeltaTextOps<infer Embeds> ? import('./text.js').DeltaText<Embeds> : never) : AbstractDeltaArray<Type,OPS>)}
|
|
153
|
-
*/
|
|
154
|
-
done(): Type extends "array" ? (OPS extends dops.InsertOp<infer C> ? import("./array.js").DeltaArray<C> : never) : (Type extends "text" ? (OPS extends dops.DeltaTextOps<infer Embeds> ? import("./text.js").DeltaText<Embeds> : never) : AbstractDeltaArray<Type, OPS>);
|
|
155
|
-
}
|
|
156
|
-
export type DeltaJson = Array<dops.DeltaJsonOp>;
|
|
157
|
-
import * as dops from './ops.js';
|
|
158
|
-
import * as d from './abstract.js';
|
|
159
|
-
import { InsertOp } from './ops.js';
|
|
160
|
-
import { TextOp } from './ops.js';
|
|
161
|
-
import { RetainOp } from './ops.js';
|
|
162
|
-
import { DeleteOp } from './ops.js';
|
|
163
|
-
import { ModifyOp } from './ops.js';
|
|
164
|
-
import * as traits from '../traits.js';
|
|
165
|
-
import * as s from '../schema.js';
|
|
166
|
-
//# sourceMappingURL=abstract-array.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"abstract-array.d.ts","sourceRoot":"","sources":["../../delta/abstract-array.js"],"names":[],"mappings":"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"}
|
package/dist/delta/abstract.d.ts
DELETED
|
@@ -1,69 +0,0 @@
|
|
|
1
|
-
export const $attribution: s.Schema<{
|
|
2
|
-
insert?: string[] | undefined;
|
|
3
|
-
insertAt?: number | undefined;
|
|
4
|
-
delete?: string[] | undefined;
|
|
5
|
-
deleteAt?: number | undefined;
|
|
6
|
-
attributes?: {
|
|
7
|
-
[x: string]: string[];
|
|
8
|
-
} | undefined;
|
|
9
|
-
attributesAt?: number | undefined;
|
|
10
|
-
}>;
|
|
11
|
-
/**
|
|
12
|
-
* @typedef {s.TypeOf<$attribution>} Attribution
|
|
13
|
-
*/
|
|
14
|
-
/**
|
|
15
|
-
* @implements {traits.EqualityTrait}
|
|
16
|
-
*/
|
|
17
|
-
export class AbstractDelta implements traits.EqualityTrait {
|
|
18
|
-
remote: boolean;
|
|
19
|
-
/**
|
|
20
|
-
* @type {any} origin
|
|
21
|
-
*/
|
|
22
|
-
origin: any;
|
|
23
|
-
isDiff: boolean;
|
|
24
|
-
/**
|
|
25
|
-
* @return {any}
|
|
26
|
-
*/
|
|
27
|
-
toJSON(): any;
|
|
28
|
-
/**
|
|
29
|
-
* @return {boolean}
|
|
30
|
-
*/
|
|
31
|
-
isEmpty(): boolean;
|
|
32
|
-
/**
|
|
33
|
-
* @param {AbstractDelta} other
|
|
34
|
-
* @param {boolean} priority
|
|
35
|
-
*/
|
|
36
|
-
rebase(other: AbstractDelta, priority: boolean): void;
|
|
37
|
-
/**
|
|
38
|
-
* @param {AbstractDelta} other
|
|
39
|
-
*/
|
|
40
|
-
apply(other: AbstractDelta): void;
|
|
41
|
-
/**
|
|
42
|
-
* @return {this}
|
|
43
|
-
*/
|
|
44
|
-
clone(): this;
|
|
45
|
-
/**
|
|
46
|
-
* @param {any} _other
|
|
47
|
-
* @return {boolean}
|
|
48
|
-
*/
|
|
49
|
-
[traits.EqualityTraitSymbol](_other: any): boolean;
|
|
50
|
-
}
|
|
51
|
-
export const $delta: s.Schema<AbstractDelta>;
|
|
52
|
-
export const $$delta: s.Schema<s.$InstanceOf<AbstractDelta>>;
|
|
53
|
-
export function mergeAttrs<T extends {
|
|
54
|
-
[key: string]: any;
|
|
55
|
-
}>(a: T | null, b: T | null): T | null;
|
|
56
|
-
export function mergeDeltas<D extends AbstractDelta | null>(a: D, b: D): D;
|
|
57
|
-
export type Attribution = s.TypeOf<s.Schema<{
|
|
58
|
-
insert?: string[] | undefined;
|
|
59
|
-
insertAt?: number | undefined;
|
|
60
|
-
delete?: string[] | undefined;
|
|
61
|
-
deleteAt?: number | undefined;
|
|
62
|
-
attributes?: {
|
|
63
|
-
[x: string]: string[];
|
|
64
|
-
} | undefined;
|
|
65
|
-
attributesAt?: number | undefined;
|
|
66
|
-
}>>;
|
|
67
|
-
import * as s from '../schema.js';
|
|
68
|
-
import * as traits from '../traits.js';
|
|
69
|
-
//# sourceMappingURL=abstract.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"abstract.d.ts","sourceRoot":"","sources":["../../delta/abstract.js"],"names":[],"mappings":"AAKA;;;;;;;;;GAOE;AAEF;;GAEG;AAEH;;GAEG;AACH,sCAFgB,MAAM,CAAC,aAAa;IAIhC,gBAAmB;IACnB;;OAEG;IACH,QAFU,GAAG,CAEK;IAClB,gBAAkB;IAGpB;;OAEG;IACH,UAFY,GAAG,CAId;IAED;;OAEG;IACH,WAFY,OAAO,CAIlB;IAED;;;OAGG;IACH,cAHW,aAAa,YACb,OAAO,QAIjB;IAED;;OAEG;IACH,aAFW,aAAa,QAIvB;IAED;;OAEG;IACH,SAFY,IAAI,CAIf;IAED;;;OAGG;IACH,qCAHW,GAAG,GACF,OAAO,CAIlB;CACF;AAED,6CAAkD;AAClD,sBAAkC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC,CAAuF;AASxJ,2BAJ+B,CAAC,SAA1B;IAAG,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAG,KAC1B,CAAC,GAAG,IAAI,KACR,CAAC,GAAG,IAAI,YAE0F;AAQtG,4BALuB,CAAC,SAAjB,aAAa,OAAE,KAClB,CAAC,KACD,CAAC,GACA,CAAC,CASZ;0BAtFY,CAAC,CAAC,MAAM;;;;;;;;;GAAc;mBAZhB,cAAc;wBAFT,cAAc"}
|
package/dist/delta/array.d.ts
DELETED
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @template ArrayContent
|
|
3
|
-
* @template {boolean} [WithText=false]
|
|
4
|
-
* @extends AbstractDeltaArrayBuilder<'array', import('./ops.js').DeltaArrayOps<ArrayContent,WithText>>
|
|
5
|
-
*/
|
|
6
|
-
export class DeltaArray<ArrayContent, WithText extends boolean = false> extends AbstractDeltaArrayBuilder<"array", ops.DeltaArrayOps<ArrayContent, WithText>> {
|
|
7
|
-
/**
|
|
8
|
-
* @param {s.Schema<ArrayContent>} $insert
|
|
9
|
-
* @param {WithText} withText
|
|
10
|
-
*/
|
|
11
|
-
constructor($insert: s.Schema<ArrayContent>, withText: WithText);
|
|
12
|
-
withText: WithText;
|
|
13
|
-
}
|
|
14
|
-
export function $array<ArrayContent, WithText extends boolean = false>($insert: s.Schema<ArrayContent>, withText?: WithText): s.Schema<DeltaArray<ArrayContent, WithText>>;
|
|
15
|
-
/**
|
|
16
|
-
* @type {s.Schema<DeltaArray<any,any>>}
|
|
17
|
-
*/
|
|
18
|
-
export const $arrayAny: s.Schema<DeltaArray<any, any>>;
|
|
19
|
-
export function array<V = any, WithText extends boolean = any>($insert?: s.Schema<V>, withText?: WithText): DeltaArray<V, WithText>;
|
|
20
|
-
import * as ops from './ops.js';
|
|
21
|
-
import { AbstractDeltaArrayBuilder } from './abstract-array.js';
|
|
22
|
-
import * as s from '../schema.js';
|
|
23
|
-
//# sourceMappingURL=array.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"array.d.ts","sourceRoot":"","sources":["../../delta/array.js"],"names":[],"mappings":"AAIA;;;;GAIG;AACH,wBAJa,YAAY,EACD,QAAQ,SAAnB,OAAS;IAIpB;;;OAGG;IACH,qBAHW,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,YACtB,QAAQ,EAKlB;IADC,mBAAwB;CAE3B;AASM,uBANM,YAAY,EACD,QAAQ,SAAnB,OAAS,mBACX,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,aACtB,QAAQ,GACP,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC,CAMpD;AACJ;;GAEG;AACH,wBAFU,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,EAAC,GAAG,CAAC,CAAC,CAEwE;AASxG,sBANO,CAAC,QACS,QAAQ,SAAnB,OAAS,kBACX,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,aACX,QAAQ,GACP,UAAU,CAAC,CAAC,EAAC,QAAQ,CAAC,CAEoG;qBA1CjH,UAAU;0CADW,qBAAqB;mBAD5C,cAAc"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"array.test.d.ts","sourceRoot":"","sources":["../../delta/array.test.js"],"names":[],"mappings":""}
|
package/dist/delta/d2.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"d2.d.ts","sourceRoot":"","sources":["../../delta/d2.js"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"d2.test.d.ts","sourceRoot":"","sources":["../../delta/d2.test.js"],"names":[],"mappings":"AAqCO,uCAFI,CAAC,CAAC,QAAQ,QAWpB;AAYM,qCAFI,CAAC,CAAC,QAAQ,QAwBpB;AAEM,4CA2BN;AAKM,0CAkJN;AAEM,iCAWN;AAKM,+BAFI,CAAC,CAAC,QAAQ,QAKpB;AAKM,sCAFI,CAAC,CAAC,QAAQ,QAYpB;AAKM,uCAFI,CAAC,CAAC,QAAQ,QAuBpB;AAKM,wCAFI,CAAC,CAAC,QAAQ,QAsBpB;AAEM,sCAaN;AAKM,wCAFI,CAAC,CAAC,QAAQ,QA4BpB;AAKM,wCAFI,CAAC,CAAC,QAAQ,QA2CpB;AAKM,kCAFI,CAAC,CAAC,QAAQ,QAqDpB;AAKM,gDAFI,CAAC,CAAC,QAAQ,QAoEpB;AAKM,mCAFI,CAAC,CAAC,QAAQ,QAiCpB;AAEM,0CAmBN;AAEM,4DAON;AAEM,oCAKN;AAEM,kCAGN;mBApoBkB,cAAc"}
|
package/dist/delta/index.d.ts
DELETED
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
export type Text = import("./text.js").DeltaText<any>;
|
|
2
|
-
export type Delta = Array<any> | import("./node.js").DeltaNode<string, any, any, any>;
|
|
3
|
-
export type RecursiveNode<NodeName extends string, Attributes extends {
|
|
4
|
-
[key: string]: any;
|
|
5
|
-
}, Children, WithText extends boolean> = import("./node.js").RecursiveDeltaNode<NodeName, Attributes, Children, WithText>;
|
|
6
|
-
export type ValueUnwrap<V> = V extends import("./value.js").DeltaValue<infer X> ? X : V;
|
|
7
|
-
export { TextOp, InsertOp, DeleteOp, ModifyOp, RetainOp, MapInsertOp, MapDeleteOp, MapModifyOp, $textOp, $insertOp, $insertOpWith, $deleteOp, $modifyOp, $modifyOpWith, $anyOp } from "./ops.js";
|
|
8
|
-
export { $delta, $$delta, AbstractDelta, mergeDeltas } from "./abstract.js";
|
|
9
|
-
export { array, $array, $arrayAny, DeltaArray as Array } from "./array.js";
|
|
10
|
-
export { node, $node, $nodeAny, DeltaNode as Node } from "./node.js";
|
|
11
|
-
export { map, $map, $mapAny, $mapJson, DeltaMap as Map } from "./map.js";
|
|
12
|
-
export { text, $text, $textAny, DeltaTextBuilder as TextBuilder } from "./text.js";
|
|
13
|
-
export { value, $value, $valueAny, DeltaValue as Value, DeltaValueBuilder as ValueBuilder } from "./value.js";
|
|
14
|
-
//# sourceMappingURL=index.d.ts.map
|