@y/y 14.0.0-18 → 14.0.0-19

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.
@@ -7,7 +7,7 @@ import * as traits from 'lib0/traits';
7
7
  import * as random from 'lib0/random';
8
8
  import * as map from 'lib0/map';
9
9
  import * as promise from 'lib0/promise';
10
- import * as buf from 'lib0/buffer';
10
+ import * as buffer from 'lib0/buffer';
11
11
  import * as error from 'lib0/error';
12
12
  import * as f from 'lib0/function';
13
13
  import { callAll } from 'lib0/function';
@@ -1301,7 +1301,7 @@ class UpdateDecoderV1 extends DSDecoderV1 {
1301
1301
  * @return {Uint8Array}
1302
1302
  */
1303
1303
  readBuf () {
1304
- return buf.copyUint8Array(decoding.readVarUint8Array(this.restDecoder))
1304
+ return buffer.copyUint8Array(decoding.readVarUint8Array(this.restDecoder))
1305
1305
  }
1306
1306
 
1307
1307
  /**
@@ -5265,20 +5265,10 @@ class AttributionItem {
5265
5265
  const encoder = encoding.createEncoder();
5266
5266
  encoding.writeVarString(encoder, this.name);
5267
5267
  encoding.writeAny(encoder, /** @type {any} */ (this.val));
5268
- return buf.toBase64(rabin.fingerprint(rabin.StandardIrreducible128, encoding.toUint8Array(encoder)))
5268
+ return buffer.toBase64(rabin.fingerprint(rabin.StandardIrreducible128, encoding.toUint8Array(encoder)))
5269
5269
  }
5270
5270
  }
5271
5271
 
5272
- /**
5273
- * @param {AttributionItem<any>} attr
5274
- */
5275
- const _hashAttribution = attr => {
5276
- const encoder = encoding.createEncoder();
5277
- encoding.writeVarString(encoder, attr.name);
5278
- encoding.writeAny(encoder, attr.val);
5279
- return buf.toBase64(rabin.fingerprint(rabin.StandardIrreducible128, encoding.toUint8Array(encoder)))
5280
- };
5281
-
5282
5272
  /**
5283
5273
  * @todo rename this to `createAttribute`
5284
5274
  * @template V
@@ -5828,7 +5818,7 @@ const decodeIdMap = data => readIdMap(new DSDecoderV2(decoding.createDecoder(dat
5828
5818
  const _ensureAttrs = (idmap, attrs) => attrs.map(attr =>
5829
5819
  idmap.attrs.has(attr)
5830
5820
  ? attr
5831
- : map.setIfUndefined(idmap.attrsH, _hashAttribution(attr), () => {
5821
+ : map.setIfUndefined(idmap.attrsH, attr.hash(), () => {
5832
5822
  idmap.attrs.add(attr);
5833
5823
  return attr
5834
5824
  }));
@@ -6176,15 +6166,17 @@ class DiffAttributionManager extends ObservableV2 {
6176
6166
  /**
6177
6167
  * @param {Doc} prevDoc
6178
6168
  * @param {Doc} nextDoc
6169
+ * @param {Object} [options] - options for the attribution manager
6170
+ * @param {Array<import('./IdMap.js').AttributionItem<any>>} [options.attrs] - the attributes to apply to the diff
6179
6171
  */
6180
- constructor (prevDoc, nextDoc) {
6172
+ constructor (prevDoc, nextDoc, { attrs = [] } = {}) {
6181
6173
  super();
6182
6174
  const _nextDocInserts = createInsertSetFromStructStore(nextDoc.store, false); // unmaintained
6183
6175
  const _prevDocInserts = createInsertSetFromStructStore(prevDoc.store, false); // unmaintained
6184
6176
  const nextDocDeletes = createDeleteSetFromStructStore(nextDoc.store); // maintained
6185
6177
  const prevDocDeletes = createDeleteSetFromStructStore(prevDoc.store); // maintained
6186
- this.inserts = createIdMapFromIdSet(diffIdSet(_nextDocInserts, _prevDocInserts), []);
6187
- this.deletes = createIdMapFromIdSet(diffIdSet(nextDocDeletes, prevDocDeletes), []);
6178
+ this.inserts = createIdMapFromIdSet(diffIdSet(_nextDocInserts, _prevDocInserts), attrs);
6179
+ this.deletes = createIdMapFromIdSet(diffIdSet(nextDocDeletes, prevDocDeletes), attrs);
6188
6180
  this._prevDoc = prevDoc;
6189
6181
  this._prevDocStore = prevDoc.store;
6190
6182
  this._nextDoc = nextDoc;
@@ -6192,10 +6184,10 @@ class DiffAttributionManager extends ObservableV2 {
6192
6184
  this._nextBOH = nextDoc.on('beforeObserverCalls', tr => {
6193
6185
  // update inserts
6194
6186
  const diffInserts = diffIdSet(tr.insertSet, _prevDocInserts);
6195
- insertIntoIdMap(this.inserts, createIdMapFromIdSet(diffInserts, []));
6187
+ insertIntoIdMap(this.inserts, createIdMapFromIdSet(diffInserts, attrs));
6196
6188
  // update deletes
6197
6189
  const diffDeletes = diffIdSet(diffIdSet(tr.deleteSet, prevDocDeletes), this.inserts);
6198
- insertIntoIdMap(this.deletes, createIdMapFromIdSet(diffDeletes, []));
6190
+ insertIntoIdMap(this.deletes, createIdMapFromIdSet(diffDeletes, attrs));
6199
6191
  // @todo fire update ranges on `diffInserts` and `diffDeletes`
6200
6192
  });
6201
6193
  this._prevBOH = prevDoc.on('beforeObserverCalls', tr => {
@@ -6365,8 +6357,10 @@ class DiffAttributionManager extends ObservableV2 {
6365
6357
  *
6366
6358
  * @param {Doc} prevDoc
6367
6359
  * @param {Doc} nextDoc
6360
+ * @param {Object} [options] - options for the attribution manager
6361
+ * @param {Array<import('./IdMap.js').AttributionItem<any>>} [options.attrs] - the attributes to apply to the diff
6368
6362
  */
6369
- const createAttributionManagerFromDiff = (prevDoc, nextDoc) => new DiffAttributionManager(prevDoc, nextDoc);
6363
+ const createAttributionManagerFromDiff = (prevDoc, nextDoc, options) => new DiffAttributionManager(prevDoc, nextDoc, options);
6370
6364
 
6371
6365
  /**
6372
6366
  * Intended for projects that used the v13 snapshot feature. With this AttributionManager you can
@@ -6380,17 +6374,19 @@ class SnapshotAttributionManager extends ObservableV2 {
6380
6374
  /**
6381
6375
  * @param {Snapshot} prevSnapshot
6382
6376
  * @param {Snapshot} nextSnapshot
6377
+ * @param {Object} [options] - options for the attribution manager
6378
+ * @param {Array<import('./IdMap.js').AttributionItem<any>>} [options.attrs] - the attributes to apply to the diff
6383
6379
  */
6384
- constructor (prevSnapshot, nextSnapshot) {
6380
+ constructor (prevSnapshot, nextSnapshot, { attrs = [] } = {}) {
6385
6381
  super();
6386
6382
  this.prevSnapshot = prevSnapshot;
6387
6383
  this.nextSnapshot = nextSnapshot;
6388
6384
  const inserts = createIdMap();
6389
- const deletes = createIdMapFromIdSet(diffIdSet(nextSnapshot.ds, prevSnapshot.ds), [createAttributionItem('change', '')]);
6385
+ const deletes = createIdMapFromIdSet(diffIdSet(nextSnapshot.ds, prevSnapshot.ds), attrs);
6390
6386
  nextSnapshot.sv.forEach((clock, client) => {
6391
6387
  const prevClock = prevSnapshot.sv.get(client) || 0;
6392
6388
  inserts.add(client, 0, prevClock, []); // content is included in prevSnapshot is rendered without attributes
6393
- inserts.add(client, prevClock, clock - prevClock, [createAttributionItem('change', '')]); // content is rendered as "inserted"
6389
+ inserts.add(client, prevClock, clock - prevClock, attrs); // content is rendered as "inserted"
6394
6390
  });
6395
6391
  this.attrs = mergeIdMaps([diffIdMap(inserts, prevSnapshot.ds), deletes]);
6396
6392
  }
@@ -6442,8 +6438,10 @@ class SnapshotAttributionManager extends ObservableV2 {
6442
6438
  /**
6443
6439
  * @param {Snapshot} prevSnapshot
6444
6440
  * @param {Snapshot} nextSnapshot
6441
+ * @param {Object} [options] - options for the attribution manager
6442
+ * @param {Array<import('./IdMap.js').AttributionItem<any>>} [options.attrs] - the attributes to apply to the diff
6445
6443
  */
6446
- const createAttributionManagerFromSnapshots = (prevSnapshot, nextSnapshot = prevSnapshot) => new SnapshotAttributionManager(prevSnapshot, nextSnapshot);
6444
+ const createAttributionManagerFromSnapshots = (prevSnapshot, nextSnapshot = prevSnapshot, options) => new SnapshotAttributionManager(prevSnapshot, nextSnapshot, options);
6447
6445
 
6448
6446
  /**
6449
6447
  * @param {Doc} v1
@@ -11874,4 +11872,4 @@ class Skip extends AbstractStruct {
11874
11872
  }
11875
11873
 
11876
11874
  export { encodeStateVector as $, AbstractConnector as A, DSDecoderV2 as B, UpdateDecoderV2 as C, Doc as D, IdSetEncoderV1 as E, UpdateEncoderV1 as F, IdSetEncoderV2 as G, UpdateEncoderV2 as H, IdRange as I, writeClientsStructs as J, writeStructsFromIdSet as K, writeStructsFromTransaction as L, MaybeIdRange as M, readUpdateV2 as N, readUpdate as O, applyUpdateV2 as P, applyUpdate as Q, writeStateAsUpdate as R, encodeStateAsUpdateV2 as S, encodeStateAsUpdate as T, UpdateDecoderV1 as U, readStateVector as V, decodeStateVector as W, writeStateVector as X, writeDocumentStateVector as Y, encodeStateVectorV2 as Z, _deleteRangeFromIdSet as _, IdRanges as a, logUpdate as a$, EventHandler as a0, createEventHandler as a1, addEventHandlerListener as a2, removeEventHandlerListener as a3, removeAllEventHandlerListeners as a4, callEventHandlerListeners as a5, ID as a6, compareIDs as a7, createID as a8, writeID as a9, isVisible as aA, splitSnapshotAffectedStructs as aB, createDocFromSnapshot as aC, snapshotContainsUpdateV2 as aD, snapshotContainsUpdate as aE, StructStore as aF, getStateVector as aG, getState as aH, integrityCheck as aI, addStruct as aJ, findIndexSS as aK, find as aL, getItem as aM, findIndexCleanStart as aN, getItemCleanStart as aO, getItemCleanEnd as aP, replaceStruct as aQ, iterateStructs as aR, Transaction as aS, writeUpdateMessageFromTransaction as aT, nextID as aU, addChangedTypeToTransaction as aV, tryGc as aW, transact as aX, StackItem as aY, UndoManager as aZ, LazyStructReader as a_, readID as aa, findRootTypeKey as ab, isParentOf as ac, logType as ad, RelativePosition as ae, relativePositionToJSON as af, createRelativePositionFromJSON as ag, AbsolutePosition as ah, createAbsolutePosition as ai, createRelativePosition as aj, createRelativePositionFromTypeIndex as ak, writeRelativePosition as al, encodeRelativePosition as am, readRelativePosition as an, decodeRelativePosition as ao, createAbsolutePositionFromRelativePosition as ap, compareRelativePositions as aq, Snapshot as ar, equalSnapshots as as, encodeSnapshotV2 as at, encodeSnapshot as au, decodeSnapshotV2 as av, decodeSnapshot as aw, createSnapshot as ax, emptySnapshot as ay, snapshot as az, IdSet as b, typeListCreateIterator as b$, logUpdateV2 as b0, decodeUpdate as b1, decodeUpdateV2 as b2, LazyStructWriter as b3, mergeUpdates as b4, encodeStateVectorFromUpdateV2 as b5, encodeStateVectorFromUpdate as b6, readUpdateIdRangesV2 as b7, readUpdateIdRanges as b8, mergeUpdatesV2 as b9, diffIdMap as bA, intersectMaps as bB, attributionJsonSchema as bC, createAttributionFromAttributionItems as bD, AttributedContent as bE, AbstractAttributionManager as bF, TwosetAttributionManager as bG, NoAttributionsManager as bH, noAttributionsManager as bI, DiffAttributionManager as bJ, createAttributionManagerFromDiff as bK, SnapshotAttributionManager as bL, createAttributionManagerFromSnapshots as bM, diffDocsToDelta as bN, warnPrematureAccess as bO, ArraySearchMarker as bP, findMarker as bQ, updateMarkerChanges as bR, getTypeChildren as bS, callTypeObservers as bT, AbstractType as bU, equalAttrs as bV, typeListSlice as bW, typeListToArray as bX, typeListToArraySnapshot as bY, typeListForEach as bZ, typeListMap as b_, diffUpdateV2 as ba, diffUpdate as bb, convertUpdateFormat as bc, obfuscateUpdate as bd, obfuscateUpdateV2 as be, convertUpdateFormatV1ToV2 as bf, convertUpdateFormatV2ToV1 as bg, YEvent as bh, readStructSet as bi, removeRangesFromStructSet as bj, StructSet as bk, AttributionItem as bl, createAttributionItem as bm, idmapAttrsEqual as bn, AttrRange as bo, createMaybeAttrRange as bp, AttrRanges as bq, mergeIdMaps as br, createIdMapFromIdSet as bs, IdMap as bt, writeIdMap as bu, encodeIdMap as bv, readIdMap as bw, decodeIdMap as bx, createIdMap as by, insertIntoIdMap as bz, createMaybeIdRange as c, followRedone as c$, typeListForEachSnapshot as c0, typeListGet as c1, typeListInsertGenericsAfter as c2, typeListInsertGenerics as c3, typeListPushGenerics as c4, typeListDelete as c5, typeMapDelete as c6, typeMapSet as c7, typeMapGet as c8, typeMapGetAll as c9, GC as cA, ContentBinary as cB, readContentBinary as cC, ContentDeleted as cD, readContentDeleted as cE, ContentDoc as cF, readContentDoc as cG, ContentEmbed as cH, readContentEmbed as cI, ContentFormat as cJ, readContentFormat as cK, ContentJSON as cL, readContentJSON as cM, ContentAny as cN, readContentAny as cO, ContentString as cP, readContentString as cQ, typeRefs as cR, YArrayRefID as cS, YMapRefID as cT, YTextRefID as cU, YXmlElementRefID as cV, YXmlFragmentRefID as cW, YXmlHookRefID as cX, YXmlTextRefID as cY, ContentType as cZ, readContentType as c_, typeMapGetDelta as ca, typeMapHas as cb, typeMapGetSnapshot as cc, typeMapGetAllSnapshot as cd, createMapIterator as ce, YArray as cf, readYArray as cg, YMap as ch, readYMap as ci, ItemTextListPosition as cj, insertText as ck, cleanupYTextFormatting as cl, cleanupYTextAfterTransaction as cm, deleteText as cn, YText as co, readYText as cp, YXmlFragment as cq, readYXmlFragment as cr, YXmlElement as cs, readYXmlElement as ct, YXmlHook as cu, readYXmlHook as cv, YXmlText as cw, readYXmlText as cx, AbstractStruct as cy, structGCRefNumber as cz, findRangeStartInIdRanges as d, keepItem as d0, splitItem as d1, splitStruct as d2, redoItem as d3, Item as d4, readItemContent as d5, contentRefs as d6, AbstractContent as d7, structSkipRefNumber as d8, Skip as d9, _insertIntoIdSet as e, findIndexInIdRanges as f, insertIntoIdSet as g, _diffSet as h, iterateStructsByIdSet as i, diffIdSet as j, _intersectSets as k, intersectSets as l, mergeIdSets as m, addToIdSet as n, addStructToIdSet as o, createIdSet as p, createDeleteSetFromStructStore as q, _createInsertSliceFromStructs as r, createInsertSetFromStructStore as s, readIdSet as t, readAndApplyDeleteSet as u, equalIdSets as v, writeIdSet as w, generateNewClientId as x, cloneDoc as y, DSDecoderV1 as z };
11877
- //# sourceMappingURL=Skip-wRT7BKFP.js.map
11875
+ //# sourceMappingURL=Skip-CE05BUF8.js.map