@y/y 14.0.0-16

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (193) hide show
  1. package/LICENSE +23 -0
  2. package/README.md +1406 -0
  3. package/dist/Skip-j0kX7pdq.js +12173 -0
  4. package/dist/Skip-j0kX7pdq.js.map +1 -0
  5. package/dist/Skip-wRT7BKFP.js +11877 -0
  6. package/dist/Skip-wRT7BKFP.js.map +1 -0
  7. package/dist/index-DyTeTfmj.js +163 -0
  8. package/dist/index-DyTeTfmj.js.map +1 -0
  9. package/dist/index-R7GxO-36.js +165 -0
  10. package/dist/index-R7GxO-36.js.map +1 -0
  11. package/dist/internals.cjs +286 -0
  12. package/dist/internals.cjs.map +1 -0
  13. package/dist/internals.mjs +25 -0
  14. package/dist/internals.mjs.map +1 -0
  15. package/dist/src/index.d.ts +2 -0
  16. package/dist/src/index.d.ts.map +1 -0
  17. package/dist/src/internals.d.ts +43 -0
  18. package/dist/src/internals.d.ts.map +1 -0
  19. package/dist/src/structs/AbstractStruct.d.ts +42 -0
  20. package/dist/src/structs/AbstractStruct.d.ts.map +1 -0
  21. package/dist/src/structs/ContentAny.d.ts +67 -0
  22. package/dist/src/structs/ContentAny.d.ts.map +1 -0
  23. package/dist/src/structs/ContentBinary.d.ts +64 -0
  24. package/dist/src/structs/ContentBinary.d.ts.map +1 -0
  25. package/dist/src/structs/ContentDeleted.d.ts +64 -0
  26. package/dist/src/structs/ContentDeleted.d.ts.map +1 -0
  27. package/dist/src/structs/ContentDoc.d.ts +72 -0
  28. package/dist/src/structs/ContentDoc.d.ts.map +1 -0
  29. package/dist/src/structs/ContentEmbed.d.ts +67 -0
  30. package/dist/src/structs/ContentEmbed.d.ts.map +1 -0
  31. package/dist/src/structs/ContentFormat.d.ts +69 -0
  32. package/dist/src/structs/ContentFormat.d.ts.map +1 -0
  33. package/dist/src/structs/ContentJSON.d.ts +70 -0
  34. package/dist/src/structs/ContentJSON.d.ts.map +1 -0
  35. package/dist/src/structs/ContentString.d.ts +70 -0
  36. package/dist/src/structs/ContentString.d.ts.map +1 -0
  37. package/dist/src/structs/ContentType.d.ts +83 -0
  38. package/dist/src/structs/ContentType.d.ts.map +1 -0
  39. package/dist/src/structs/GC.d.ts +31 -0
  40. package/dist/src/structs/GC.d.ts.map +1 -0
  41. package/dist/src/structs/Item.d.ts +212 -0
  42. package/dist/src/structs/Item.d.ts.map +1 -0
  43. package/dist/src/structs/Skip.d.ts +33 -0
  44. package/dist/src/structs/Skip.d.ts.map +1 -0
  45. package/dist/src/types/AbstractType.d.ts +239 -0
  46. package/dist/src/types/AbstractType.d.ts.map +1 -0
  47. package/dist/src/types/YArray.d.ts +128 -0
  48. package/dist/src/types/YArray.d.ts.map +1 -0
  49. package/dist/src/types/YMap.d.ts +112 -0
  50. package/dist/src/types/YMap.d.ts.map +1 -0
  51. package/dist/src/types/YText.d.ts +216 -0
  52. package/dist/src/types/YText.d.ts.map +1 -0
  53. package/dist/src/types/YXmlElement.d.ts +106 -0
  54. package/dist/src/types/YXmlElement.d.ts.map +1 -0
  55. package/dist/src/types/YXmlFragment.d.ts +143 -0
  56. package/dist/src/types/YXmlFragment.d.ts.map +1 -0
  57. package/dist/src/types/YXmlHook.d.ts +32 -0
  58. package/dist/src/types/YXmlHook.d.ts.map +1 -0
  59. package/dist/src/types/YXmlText.d.ts +34 -0
  60. package/dist/src/types/YXmlText.d.ts.map +1 -0
  61. package/dist/src/utils/AbstractConnector.d.ts +20 -0
  62. package/dist/src/utils/AbstractConnector.d.ts.map +1 -0
  63. package/dist/src/utils/AttributionManager.d.ts +224 -0
  64. package/dist/src/utils/AttributionManager.d.ts.map +1 -0
  65. package/dist/src/utils/Doc.d.ts +267 -0
  66. package/dist/src/utils/Doc.d.ts.map +1 -0
  67. package/dist/src/utils/EventHandler.d.ts +19 -0
  68. package/dist/src/utils/EventHandler.d.ts.map +1 -0
  69. package/dist/src/utils/ID.d.ts +26 -0
  70. package/dist/src/utils/ID.d.ts.map +1 -0
  71. package/dist/src/utils/IdMap.d.ts +161 -0
  72. package/dist/src/utils/IdMap.d.ts.map +1 -0
  73. package/dist/src/utils/IdSet.d.ts +163 -0
  74. package/dist/src/utils/IdSet.d.ts.map +1 -0
  75. package/dist/src/utils/RelativePosition.d.ts +91 -0
  76. package/dist/src/utils/RelativePosition.d.ts.map +1 -0
  77. package/dist/src/utils/Snapshot.d.ts +40 -0
  78. package/dist/src/utils/Snapshot.d.ts.map +1 -0
  79. package/dist/src/utils/StructSet.d.ts +27 -0
  80. package/dist/src/utils/StructSet.d.ts.map +1 -0
  81. package/dist/src/utils/StructStore.d.ts +41 -0
  82. package/dist/src/utils/StructStore.d.ts.map +1 -0
  83. package/dist/src/utils/Transaction.d.ts +136 -0
  84. package/dist/src/utils/Transaction.d.ts.map +1 -0
  85. package/dist/src/utils/UndoManager.d.ts +188 -0
  86. package/dist/src/utils/UndoManager.d.ts.map +1 -0
  87. package/dist/src/utils/UpdateDecoder.d.ts +167 -0
  88. package/dist/src/utils/UpdateDecoder.d.ts.map +1 -0
  89. package/dist/src/utils/UpdateEncoder.d.ts +164 -0
  90. package/dist/src/utils/UpdateEncoder.d.ts.map +1 -0
  91. package/dist/src/utils/YEvent.d.ts +120 -0
  92. package/dist/src/utils/YEvent.d.ts.map +1 -0
  93. package/dist/src/utils/delta-helpers.d.ts +6 -0
  94. package/dist/src/utils/delta-helpers.d.ts.map +1 -0
  95. package/dist/src/utils/encoding.d.ts +30 -0
  96. package/dist/src/utils/encoding.d.ts.map +1 -0
  97. package/dist/src/utils/isParentOf.d.ts +3 -0
  98. package/dist/src/utils/isParentOf.d.ts.map +1 -0
  99. package/dist/src/utils/logging.d.ts +3 -0
  100. package/dist/src/utils/logging.d.ts.map +1 -0
  101. package/dist/src/utils/types.d.ts +7 -0
  102. package/dist/src/utils/types.d.ts.map +1 -0
  103. package/dist/src/utils/updates.d.ts +89 -0
  104. package/dist/src/utils/updates.d.ts.map +1 -0
  105. package/dist/testHelper.cjs +780 -0
  106. package/dist/testHelper.cjs.map +1 -0
  107. package/dist/testHelper.mjs +617 -0
  108. package/dist/testHelper.mjs.map +1 -0
  109. package/dist/tests/IdMap.tests.d.ts +9 -0
  110. package/dist/tests/IdMap.tests.d.ts.map +1 -0
  111. package/dist/tests/IdSet.tests.d.ts +9 -0
  112. package/dist/tests/IdSet.tests.d.ts.map +1 -0
  113. package/dist/tests/attribution.tests.d.ts +8 -0
  114. package/dist/tests/attribution.tests.d.ts.map +1 -0
  115. package/dist/tests/compatibility.tests.d.ts +5 -0
  116. package/dist/tests/compatibility.tests.d.ts.map +1 -0
  117. package/dist/tests/delta.tests.d.ts +7 -0
  118. package/dist/tests/delta.tests.d.ts.map +1 -0
  119. package/dist/tests/doc.tests.d.ts +13 -0
  120. package/dist/tests/doc.tests.d.ts.map +1 -0
  121. package/dist/tests/encoding.tests.d.ts +5 -0
  122. package/dist/tests/encoding.tests.d.ts.map +1 -0
  123. package/dist/tests/index.d.ts +2 -0
  124. package/dist/tests/index.d.ts.map +1 -0
  125. package/dist/tests/relativePositions.tests.d.ts +11 -0
  126. package/dist/tests/relativePositions.tests.d.ts.map +1 -0
  127. package/dist/tests/snapshot.tests.d.ts +13 -0
  128. package/dist/tests/snapshot.tests.d.ts.map +1 -0
  129. package/dist/tests/testHelper.d.ts +167 -0
  130. package/dist/tests/testHelper.d.ts.map +1 -0
  131. package/dist/tests/undo-redo.tests.d.ts +27 -0
  132. package/dist/tests/undo-redo.tests.d.ts.map +1 -0
  133. package/dist/tests/updates.tests.d.ts +24 -0
  134. package/dist/tests/updates.tests.d.ts.map +1 -0
  135. package/dist/tests/y-array.tests.d.ts +45 -0
  136. package/dist/tests/y-array.tests.d.ts.map +1 -0
  137. package/dist/tests/y-map.tests.d.ts +45 -0
  138. package/dist/tests/y-map.tests.d.ts.map +1 -0
  139. package/dist/tests/y-text.tests.d.ts +49 -0
  140. package/dist/tests/y-text.tests.d.ts.map +1 -0
  141. package/dist/tests/y-xml.tests.d.ts +15 -0
  142. package/dist/tests/y-xml.tests.d.ts.map +1 -0
  143. package/dist/yjs.cjs +151 -0
  144. package/dist/yjs.cjs.map +1 -0
  145. package/dist/yjs.mjs +26 -0
  146. package/dist/yjs.mjs.map +1 -0
  147. package/package.json +101 -0
  148. package/src/index.js +153 -0
  149. package/src/internals.js +44 -0
  150. package/src/structs/AbstractStruct.js +59 -0
  151. package/src/structs/ContentAny.js +115 -0
  152. package/src/structs/ContentBinary.js +93 -0
  153. package/src/structs/ContentDeleted.js +101 -0
  154. package/src/structs/ContentDoc.js +141 -0
  155. package/src/structs/ContentEmbed.js +98 -0
  156. package/src/structs/ContentFormat.js +105 -0
  157. package/src/structs/ContentJSON.js +119 -0
  158. package/src/structs/ContentString.js +113 -0
  159. package/src/structs/ContentType.js +176 -0
  160. package/src/structs/GC.js +80 -0
  161. package/src/structs/Item.js +845 -0
  162. package/src/structs/Skip.js +75 -0
  163. package/src/types/AbstractType.js +1434 -0
  164. package/src/types/YArray.js +270 -0
  165. package/src/types/YMap.js +244 -0
  166. package/src/types/YText.js +934 -0
  167. package/src/types/YXmlElement.js +227 -0
  168. package/src/types/YXmlFragment.js +266 -0
  169. package/src/types/YXmlHook.js +68 -0
  170. package/src/types/YXmlText.js +66 -0
  171. package/src/utils/AbstractConnector.js +25 -0
  172. package/src/utils/AttributionManager.js +619 -0
  173. package/src/utils/Doc.js +372 -0
  174. package/src/utils/EventHandler.js +87 -0
  175. package/src/utils/ID.js +89 -0
  176. package/src/utils/IdMap.js +629 -0
  177. package/src/utils/IdSet.js +823 -0
  178. package/src/utils/RelativePosition.js +352 -0
  179. package/src/utils/Snapshot.js +220 -0
  180. package/src/utils/StructSet.js +137 -0
  181. package/src/utils/StructStore.js +289 -0
  182. package/src/utils/Transaction.js +489 -0
  183. package/src/utils/UndoManager.js +391 -0
  184. package/src/utils/UpdateDecoder.js +281 -0
  185. package/src/utils/UpdateEncoder.js +320 -0
  186. package/src/utils/YEvent.js +216 -0
  187. package/src/utils/delta-helpers.js +54 -0
  188. package/src/utils/encoding.js +623 -0
  189. package/src/utils/isParentOf.js +21 -0
  190. package/src/utils/logging.js +21 -0
  191. package/src/utils/types.js +28 -0
  192. package/src/utils/updates.js +715 -0
  193. package/tests/testHelper.js +600 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"testHelper.mjs","sources":["../tests/testHelper.js"],"sourcesContent":["import * as t from 'lib0/testing'\nimport * as prng from 'lib0/prng'\nimport * as encoding from 'lib0/encoding'\nimport * as decoding from 'lib0/decoding'\nimport * as syncProtocol from '@y/protocols/sync'\nimport * as object from 'lib0/object'\nimport * as map from 'lib0/map'\nimport * as Y from '../src/index.js'\nimport * as math from 'lib0/math'\nimport * as list from 'lib0/list'\nimport * as delta from 'lib0/delta'\nimport {\n createIdSet, createIdMap, addToIdSet, encodeIdMap\n} from '../src/internals.js'\n\nexport * from '../src/index.js'\n\nif (typeof window !== 'undefined') {\n // @ts-ignore\n window.Y = Y // eslint-disable-line\n}\n\n/**\n * @param {TestYInstance} y // publish message created by `y` to all other online clients\n * @param {Uint8Array} m\n */\nconst broadcastMessage = (y, m) => {\n if (y.tc.onlineConns.has(y)) {\n y.tc.onlineConns.forEach(remoteYInstance => {\n if (remoteYInstance !== y) {\n remoteYInstance._receive(m, y)\n }\n })\n }\n}\n\nexport let useV2 = false\n\nexport const encV1 = {\n encodeStateAsUpdate: Y.encodeStateAsUpdate,\n mergeUpdates: Y.mergeUpdates,\n applyUpdate: Y.applyUpdate,\n logUpdate: Y.logUpdate,\n updateEventName: /** @type {'update'} */ ('update'),\n diffUpdate: Y.diffUpdate\n}\n\nexport const encV2 = {\n encodeStateAsUpdate: Y.encodeStateAsUpdateV2,\n mergeUpdates: Y.mergeUpdatesV2,\n applyUpdate: Y.applyUpdateV2,\n logUpdate: Y.logUpdateV2,\n updateEventName: /** @type {'updateV2'} */ ('updateV2'),\n diffUpdate: Y.diffUpdateV2\n}\n\nexport let enc = encV1\n\nconst useV1Encoding = () => {\n useV2 = false\n enc = encV1\n}\n\nconst useV2Encoding = () => {\n console.error('sync protocol doesnt support v2 protocol yet, fallback to v1 encoding') // @Todo\n useV2 = false\n enc = encV1\n}\n\nexport class TestYInstance extends Y.Doc {\n /**\n * @param {TestConnector} testConnector\n * @param {number} clientID\n */\n constructor (testConnector, clientID) {\n super()\n this.userID = clientID // overwriting clientID\n /**\n * @type {TestConnector}\n */\n this.tc = testConnector\n /**\n * @type {Map<TestYInstance, Array<Uint8Array>>}\n */\n this.receiving = new Map()\n testConnector.allConns.add(this)\n /**\n * The list of received updates.\n * We are going to merge them later using Y.mergeUpdates and check if the resulting document is correct.\n * @type {Array<Uint8Array<ArrayBuffer>>}\n */\n this.updates = []\n // set up observe on local model\n this.on(enc.updateEventName, (update, origin) => {\n if (origin !== testConnector) {\n const encoder = encoding.createEncoder()\n syncProtocol.writeUpdate(encoder, update)\n broadcastMessage(this, encoding.toUint8Array(encoder))\n }\n this.updates.push(update)\n })\n this.connect()\n }\n\n /**\n * Disconnect from TestConnector.\n */\n disconnect () {\n this.receiving = new Map()\n this.tc.onlineConns.delete(this)\n }\n\n /**\n * Append yourself to the list of known Y instances in testconnector.\n * Also initiate sync with all clients.\n */\n connect () {\n if (!this.tc.onlineConns.has(this)) {\n this.tc.onlineConns.add(this)\n const encoder = encoding.createEncoder()\n syncProtocol.writeSyncStep1(encoder, this)\n // publish SyncStep1\n broadcastMessage(this, encoding.toUint8Array(encoder))\n this.tc.onlineConns.forEach(remoteYInstance => {\n if (remoteYInstance !== this) {\n // remote instance sends instance to this instance\n const encoder = encoding.createEncoder()\n syncProtocol.writeSyncStep1(encoder, remoteYInstance)\n this._receive(encoding.toUint8Array(encoder), remoteYInstance)\n }\n })\n }\n }\n\n /**\n * Receive a message from another client. This message is only appended to the list of receiving messages.\n * TestConnector decides when this client actually reads this message.\n *\n * @param {Uint8Array} message\n * @param {TestYInstance} remoteClient\n */\n _receive (message, remoteClient) {\n map.setIfUndefined(this.receiving, remoteClient, () => /** @type {Array<Uint8Array>} */ ([])).push(message)\n }\n}\n\n/**\n * Keeps track of TestYInstances.\n *\n * The TestYInstances add/remove themselves from the list of connections maiained in this object.\n * I think it makes sense. Deal with it.\n */\nexport class TestConnector {\n /**\n * @param {prng.PRNG} gen\n */\n constructor (gen) {\n /**\n * @type {Set<TestYInstance>}\n */\n this.allConns = new Set()\n /**\n * @type {Set<TestYInstance>}\n */\n this.onlineConns = new Set()\n /**\n * @type {prng.PRNG}\n */\n this.prng = gen\n }\n\n /**\n * Create a new Y instance and add it to the list of connections\n * @param {number} clientID\n */\n createY (clientID) {\n return new TestYInstance(this, clientID)\n }\n\n /**\n * Choose random connection and flush a random message from a random sender.\n *\n * If this function was unable to flush a message, because there are no more messages to flush, it returns false. true otherwise.\n * @return {boolean}\n */\n flushRandomMessage () {\n const gen = this.prng\n const conns = Array.from(this.onlineConns).filter(conn => conn.receiving.size > 0)\n if (conns.length > 0) {\n const receiver = prng.oneOf(gen, conns)\n const [sender, messages] = prng.oneOf(gen, Array.from(receiver.receiving))\n const m = messages.shift()\n if (messages.length === 0) {\n receiver.receiving.delete(sender)\n }\n if (m === undefined) {\n return this.flushRandomMessage()\n }\n const encoder = encoding.createEncoder()\n // console.log('receive (' + sender.userID + '->' + receiver.userID + '):\\n', syncProtocol.stringifySyncMessage(decoding.createDecoder(m), receiver))\n // do not publish data created when this function is executed (could be ss2 or update message)\n syncProtocol.readSyncMessage(decoding.createDecoder(m), encoder, receiver, receiver.tc)\n if (encoding.length(encoder) > 0) {\n // send reply message\n sender._receive(encoding.toUint8Array(encoder), receiver)\n }\n return true\n }\n return false\n }\n\n /**\n * @return {boolean} True iff this function actually flushed something\n */\n flushAllMessages () {\n let didSomething = false\n while (this.flushRandomMessage()) {\n didSomething = true\n }\n return didSomething\n }\n\n reconnectAll () {\n this.allConns.forEach(conn => conn.connect())\n }\n\n disconnectAll () {\n this.allConns.forEach(conn => conn.disconnect())\n }\n\n syncAll () {\n this.reconnectAll()\n this.flushAllMessages()\n }\n\n /**\n * @return {boolean} Whether it was possible to disconnect a random connection.\n */\n disconnectRandom () {\n if (this.onlineConns.size === 0) {\n return false\n }\n prng.oneOf(this.prng, Array.from(this.onlineConns)).disconnect()\n return true\n }\n\n /**\n * @return {boolean} Whether it was possible to reconnect a random connection.\n */\n reconnectRandom () {\n /**\n * @type {Array<TestYInstance>}\n */\n const reconnectable = []\n this.allConns.forEach(conn => {\n if (!this.onlineConns.has(conn)) {\n reconnectable.push(conn)\n }\n })\n if (reconnectable.length === 0) {\n return false\n }\n prng.oneOf(this.prng, reconnectable).connect()\n return true\n }\n}\n\n/**\n * @template T\n * @param {t.TestCase} tc\n * @param {{users?:number}} conf\n * @param {InitTestObjectCallback<T>} [initTestObject]\n * @return {{testObjects:Array<any>,testConnector:TestConnector,users:Array<TestYInstance>,array0:Y.Array<any>,array1:Y.Array<any>,array2:Y.Array<any>,map0:Y.Map<any>,map1:Y.Map<any>,map2:Y.Map<any>,map3:Y.Map<any>,text0:Y.Text,text1:Y.Text,text2:Y.Text,xml0:Y.XmlElement,xml1:Y.XmlElement,xml2:Y.XmlElement}}\n */\nexport const init = (tc, { users = 5 } = {}, initTestObject) => {\n /**\n * @type {Object<string,any>}\n */\n const result = {\n users: []\n }\n const gen = tc.prng\n // choose an encoding approach at random\n if (prng.bool(gen)) {\n useV2Encoding()\n } else {\n useV1Encoding()\n }\n\n const testConnector = new TestConnector(gen)\n result.testConnector = testConnector\n for (let i = 0; i < users; i++) {\n const y = testConnector.createY(i)\n y.clientID = i\n result.users.push(y)\n result['array' + i] = y.getArray('array')\n result['map' + i] = y.getMap('map')\n result['xml' + i] = y.get('xml', Y.XmlElement)\n result['text' + i] = y.getText('text')\n }\n testConnector.syncAll()\n result.testObjects = result.users.map(initTestObject || (() => null))\n useV1Encoding()\n return /** @type {any} */ (result)\n}\n\n/**\n * @param {Y.IdSet} idSet1\n * @param {Y.IdSet} idSet2\n */\nexport const compareIdSets = (idSet1, idSet2) => {\n t.assert(idSet1.clients.size === idSet2.clients.size)\n for (const [client, _items1] of idSet1.clients.entries()) {\n const items1 = _items1.getIds()\n const items2 = idSet2.clients.get(client)?.getIds()\n t.assert(items2 !== undefined && items1.length === items2.length)\n for (let i = 0; i < items1.length; i++) {\n const di1 = items1[i]\n const di2 = /** @type {Array<import('../src/utils/IdSet.js').IdRange>} */ (items2)[i]\n t.assert(di1.clock === di2.clock && di1.len === di2.len)\n }\n }\n return true\n}\n\n/**\n * only use for testing\n *\n * @template T\n * @param {Array<Y.Attribution<T>>} attrs\n * @param {Y.Attribution<T>} attr\n *\n */\nconst _idmapAttrsHas = (attrs, attr) => {\n const hash = attr.hash()\n return attrs.find(a => a.hash() === hash)\n}\n\n/**\n * only use for testing\n *\n * @template T\n * @param {Array<Y.Attribution<T>>} a\n * @param {Array<Y.Attribution<T>>} b\n */\nexport const _idmapAttrsEqual = (a, b) => a.length === b.length && a.every(v => _idmapAttrsHas(b, v))\n\n/**\n * Ensure that all attributes exist. Also create a copy and compare it to the original.\n *\n * @template T\n * @param {Y.IdMap<T>} idmap\n */\nexport const validateIdMap = idmap => {\n const copy = Y.createIdMap()\n idmap.clients.forEach((ranges, client) => {\n ranges.getIds().forEach(range => {\n range.attrs.forEach(attr => {\n t.assert(idmap.attrs.has(attr))\n t.assert(idmap.attrsH.get(attr.hash()) === attr)\n copy.add(client, range.clock, range.len, range.attrs.slice())\n })\n })\n t.assert(copy.clients.get(client)?.getIds().length === ranges.getIds().length)\n })\n t.assert(idmap.attrsH.size === idmap.attrs.size)\n}\n\n/**\n * @template T\n * @param {Y.IdMap<T>} idmap1\n * @param {Y.IdMap<T>} idmap2\n */\nexport const compareIdmaps = (idmap1, idmap2) => {\n t.assert(idmap1.clients.size === idmap2.clients.size)\n for (const [client, _items1] of idmap1.clients.entries()) {\n const items1 = _items1.getIds()\n const items2 = idmap2.clients.get(client)?.getIds()\n t.assert(items2 !== undefined && items1.length === items2.length)\n for (let i = 0; i < items1.length; i++) {\n const di1 = items1[i]\n const di2 = /** @type {Array<import('../src/utils/IdMap.js').AttrRange<T>>} */ (items2)[i]\n t.assert(di1.clock === di2.clock && di1.len === di2.len && _idmapAttrsEqual(di1.attrs, di2.attrs))\n }\n }\n validateIdMap(idmap1)\n validateIdMap(idmap2)\n}\n\n/**\n * @param {prng.PRNG} gen\n * @param {number} clients\n * @param {number} clockRange (max clock - exclusive - by each client)\n */\nexport const createRandomIdSet = (gen, clients, clockRange) => {\n const maxOpLen = 5\n const numOfOps = math.ceil((clients * clockRange) / maxOpLen)\n const idset = createIdSet()\n for (let i = 0; i < numOfOps; i++) {\n const client = prng.uint32(gen, 0, clients - 1)\n const clockStart = prng.uint32(gen, 0, clockRange)\n const len = prng.uint32(gen, 0, clockRange - clockStart)\n addToIdSet(idset, client, clockStart, len)\n }\n if (idset.clients.size === clients && clients > 1 && prng.bool(gen)) {\n idset.clients.delete(prng.uint32(gen, 0, clients))\n }\n return idset\n}\n\n/**\n * @template T\n * @param {prng.PRNG} gen\n * @param {number} clients\n * @param {number} clockRange (max clock - exclusive - by each client)\n * @param {Array<T>} attrChoices (max clock - exclusive - by each client)\n * @return {Y.IdMap<T>}\n */\nexport const createRandomIdMap = (gen, clients, clockRange, attrChoices) => {\n const maxOpLen = 5\n const numOfOps = math.ceil((clients * clockRange) / maxOpLen)\n const idMap = createIdMap()\n for (let i = 0; i < numOfOps; i++) {\n const client = prng.uint32(gen, 0, clients - 1)\n const clockStart = prng.uint32(gen, 0, clockRange)\n const len = prng.uint32(gen, 0, clockRange - clockStart)\n const attrs = [prng.oneOf(gen, attrChoices)]\n // maybe add another attr\n if (prng.bool(gen)) {\n const a = prng.oneOf(gen, attrChoices)\n if (attrs.find(attr => attr === a) == null) {\n attrs.push(a)\n }\n }\n idMap.add(client, clockStart, len, attrs.map(v => Y.createAttributionItem('', v)))\n }\n t.info(`Created IdMap with ${numOfOps} ranges and ${attrChoices.length} different attributes. Encoded size: ${encodeIdMap(idMap).byteLength}`)\n return idMap\n}\n\n/**\n * 1. reconnect and flush all\n * 2. user 0 gc\n * 3. get type content\n * 4. disconnect & reconnect all (so gc is propagated)\n * 5. compare os, ds, ss\n *\n * @param {Array<TestYInstance>} users\n */\nexport const compare = users => {\n users.forEach(u => u.connect())\n while (users[0].tc.flushAllMessages()) {} // eslint-disable-line\n // For each document, merge all received document updates with Y.mergeUpdates and create a new document which will be added to the list of \"users\"\n // This ensures that mergeUpdates works correctly\n const mergedDocs = users.map(user => {\n const ydoc = new Y.Doc()\n enc.applyUpdate(ydoc, enc.mergeUpdates(user.updates))\n return ydoc\n })\n users.push(.../** @type {any} */(mergedDocs))\n const userArrayValues = users.map(u => u.getArray('array').toJSON())\n const userMapValues = users.map(u => u.getMap('map').toJSON())\n // @todo fix type error here\n // @ts-ignore\n const userXmlValues = users.map(u => /** @type {Y.XmlElement} */ (u.get('xml', Y.XmlElement)).toString())\n const userTextValues = users.map(u => u.getText('text').getContentDeep())\n for (const u of users) {\n t.assert(u.store.pendingDs === null)\n t.assert(u.store.pendingStructs === null)\n }\n // Test Array iterator\n t.compare(users[0].getArray('array').toArray(), Array.from(users[0].getArray('array')))\n // Test Map iterator\n const ymapkeys = Array.from(users[0].getMap('map').keys())\n t.assert(ymapkeys.length === Object.keys(userMapValues[0]).length)\n ymapkeys.forEach(key => t.assert(object.hasProperty(userMapValues[0], key)))\n /**\n * @type {Object<string,any>}\n */\n const mapRes = {}\n for (const [k, v] of users[0].getMap('map')) {\n mapRes[k] = v instanceof Y.AbstractType ? v.toJSON() : v\n }\n t.compare(userMapValues[0], mapRes)\n // Compare all users\n for (let i = 0; i < users.length - 1; i++) {\n t.compare(userArrayValues[i].length, users[i].getArray('array').length)\n t.compare(userArrayValues[i], userArrayValues[i + 1])\n t.compare(userMapValues[i], userMapValues[i + 1])\n t.compare(userXmlValues[i], userXmlValues[i + 1])\n t.compare(list.toArray(userTextValues[i].children).map(a => (delta.$textOp.check(a) || delta.$insertOp.check(a)) ? a.insert.length : 0).reduce((a, b) => a + b, 0), users[i].getText('text').length)\n t.compare(userTextValues[i], userTextValues[i + 1], '', (_constructor, a, b) => {\n if (a instanceof Y.AbstractType) {\n t.compare(a.toJSON(), b.toJSON())\n } else if (a !== b) {\n t.fail('Deltas dont match')\n }\n return true\n })\n t.compare(Y.encodeStateVector(users[i]), Y.encodeStateVector(users[i + 1]))\n Y.equalIdSets(Y.createDeleteSetFromStructStore(users[i].store), Y.createDeleteSetFromStructStore(users[i + 1].store))\n compareStructStores(users[i].store, users[i + 1].store)\n t.compare(Y.encodeSnapshot(Y.snapshot(users[i])), Y.encodeSnapshot(Y.snapshot(users[i + 1])))\n }\n users.forEach(user => {\n compareIdSets(user.store.ds, Y.createDeleteSetFromStructStore(user.store))\n })\n users.map(u => u.destroy())\n}\n\n/**\n * @param {Y.Item?} a\n * @param {Y.Item?} b\n * @return {boolean}\n */\nexport const compareItemIDs = (a, b) => a === b || (a !== null && b != null && Y.compareIDs(a.id, b.id))\n\n/**\n * @param {import('../src/internals.js').StructStore} ss1\n * @param {import('../src/internals.js').StructStore} ss2\n */\nexport const compareStructStores = (ss1, ss2) => {\n t.assert(ss1.clients.size === ss2.clients.size)\n for (const [client, structs1] of ss1.clients) {\n const structs2 = /** @type {Array<Y.AbstractStruct>} */ (ss2.clients.get(client))\n t.assert(structs2 !== undefined && structs1.length === structs2.length)\n for (let i = 0; i < structs1.length; i++) {\n const s1 = structs1[i]\n const s2 = structs2[i]\n // checks for abstract struct\n if (\n s1.constructor !== s2.constructor ||\n !Y.compareIDs(s1.id, s2.id) ||\n s1.deleted !== s2.deleted ||\n // @ts-ignore\n s1.length !== s2.length\n ) {\n t.fail('Structs dont match')\n }\n if (s1 instanceof Y.Item) {\n if (\n !(s2 instanceof Y.Item) ||\n !((s1.left === null && s2.left === null) || (s1.left !== null && s2.left !== null && Y.compareIDs(s1.left.lastId, s2.left.lastId))) ||\n !compareItemIDs(s1.right, s2.right) ||\n !Y.compareIDs(s1.origin, s2.origin) ||\n !Y.compareIDs(s1.rightOrigin, s2.rightOrigin) ||\n s1.parentSub !== s2.parentSub\n ) {\n return t.fail('Items dont match')\n }\n // make sure that items are connected correctly\n t.assert(s1.left === null || s1.left.right === s1)\n t.assert(s1.right === null || s1.right.left === s1)\n t.assert(s2.left === null || s2.left.right === s2)\n t.assert(s2.right === null || s2.right.left === s2)\n }\n }\n }\n}\n\n/**\n * @template T\n * @callback InitTestObjectCallback\n * @param {TestYInstance} y\n * @return {T}\n */\n\n/**\n * @template T\n * @param {t.TestCase} tc\n * @param {Array<function(Y.Doc,prng.PRNG,T):void>} mods\n * @param {number} iterations\n * @param {InitTestObjectCallback<T>} [initTestObject]\n */\nexport const applyRandomTests = (tc, mods, iterations, initTestObject) => {\n const gen = tc.prng\n const result = init(tc, { users: 5 }, initTestObject)\n const { testConnector, users } = result\n for (let i = 0; i < iterations; i++) {\n if (prng.int32(gen, 0, 100) <= 2) {\n // 2% chance to disconnect/reconnect a random user\n if (prng.bool(gen)) {\n testConnector.disconnectRandom()\n } else {\n testConnector.reconnectRandom()\n }\n } else if (prng.int32(gen, 0, 100) <= 1) {\n // 1% chance to flush all\n testConnector.flushAllMessages()\n } else if (prng.int32(gen, 0, 100) <= 50) {\n // 50% chance to flush a random message\n testConnector.flushRandomMessage()\n }\n const user = prng.int32(gen, 0, users.length - 1)\n const test = prng.oneOf(gen, mods)\n test(users[user], gen, result.testObjects[user])\n }\n compare(users)\n return result\n}\n"],"names":["Y.encodeStateAsUpdate","Y.mergeUpdates","Y.applyUpdate","Y.logUpdate","Y.diffUpdate","Y.encodeStateAsUpdateV2","Y.mergeUpdatesV2","Y.applyUpdateV2","Y.logUpdateV2","Y.diffUpdateV2","Y.Doc","Y.XmlElement","Y.createIdMap","Y.createAttributionItem","Y.AbstractType","Y.encodeStateVector","Y.equalIdSets","Y.createDeleteSetFromStructStore","Y.encodeSnapshot","Y.snapshot","Y.compareIDs","Y.Item"],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ export function testAmMerge(_tc: t.TestCase): void;
2
+ export function testRepeatMergingMultipleIdMaps(tc: t.TestCase): void;
3
+ export function testRepeatRandomDiffing(tc: t.TestCase): void;
4
+ export function testRepeatRandomDiffing2(tc: t.TestCase): void;
5
+ export function testRepeatRandomDeletes(tc: t.TestCase): void;
6
+ export function testRepeatRandomIntersects(tc: t.TestCase): void;
7
+ export function testUserAttributionEncodingBenchmark(tc: t.TestCase): void;
8
+ import * as t from 'lib0/testing';
9
+ //# sourceMappingURL=IdMap.tests.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IdMap.tests.d.ts","sourceRoot":"","sources":["../../tests/IdMap.tests.js"],"names":[],"mappings":"AAuBO,iCAFI,CAAC,CAAC,QAAQ,QAoDpB;AAKM,oDAFI,CAAC,CAAC,QAAQ,QA8BpB;AAKM,4CAFI,CAAC,CAAC,QAAQ,QAcpB;AAKM,6CAFI,CAAC,CAAC,QAAQ,QAiBpB;AAKM,4CAFI,CAAC,CAAC,QAAQ,QAiBpB;AAKM,+CAFI,CAAC,CAAC,QAAQ,QA8BpB;AAKM,yDAFI,CAAC,CAAC,QAAQ,QAqCpB;mBA5OkB,cAAc"}
@@ -0,0 +1,9 @@
1
+ export function testIdsetMerge(_tc: t.TestCase): void;
2
+ export function testDiffing(_tc: t.TestCase): void;
3
+ export function testRepeatRandomDiffing(tc: t.TestCase): void;
4
+ export function testRepeatRandomDeletes(tc: t.TestCase): void;
5
+ export function testRepeatMergingMultipleIdsets(tc: t.TestCase): void;
6
+ export function testRepeatRandomDiffing2(tc: t.TestCase): void;
7
+ export function testRepeatRandomIntersects(tc: t.TestCase): void;
8
+ import * as t from 'lib0/testing';
9
+ //# sourceMappingURL=IdSet.tests.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IdSet.tests.d.ts","sourceRoot":"","sources":["../../tests/IdSet.tests.js"],"names":[],"mappings":"AAoBO,oCAFI,CAAC,CAAC,QAAQ,QA6CpB;AAKM,iCAFI,CAAC,CAAC,QAAQ,QA2EpB;AAKM,4CAFI,CAAC,CAAC,QAAQ,QAWpB;AAKM,4CAFI,CAAC,CAAC,QAAQ,QAiBpB;AAKM,oDAFI,CAAC,CAAC,QAAQ,QA2BpB;AAKM,6CAFI,CAAC,CAAC,QAAQ,QAcpB;AAKM,+CAFI,CAAC,CAAC,QAAQ,QAgBpB;mBAjPkB,cAAc"}
@@ -0,0 +1,8 @@
1
+ export function testRelativePositions(_tc: t.TestCase): void;
2
+ export function testAttributedEvents(_tc: t.TestCase): void;
3
+ export function testInsertionsMindingAttributedContent(_tc: t.TestCase): void;
4
+ export function testInsertionsIntoAttributedContent(_tc: t.TestCase): void;
5
+ export function testYdocDiff(): void;
6
+ export function testChildListContent(): void;
7
+ import * as t from 'lib0/testing';
8
+ //# sourceMappingURL=attribution.tests.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"attribution.tests.d.ts","sourceRoot":"","sources":["../../tests/attribution.tests.js"],"names":[],"mappings":"AAcO,2CAFI,CAAC,CAAC,QAAQ,QAepB;AAKM,0CAFI,CAAC,CAAC,QAAQ,QAqBpB;AAKM,4DAFI,CAAC,CAAC,QAAQ,QAepB;AAKM,yDAFI,CAAC,CAAC,QAAQ,QAepB;AAEM,qCAmBN;AAEM,6CAsBN;mBA5HkB,cAAc"}
@@ -0,0 +1,5 @@
1
+ export function testArrayCompatibilityV1(_tc: t.TestCase): void;
2
+ export function testMapDecodingCompatibilityV1(_tc: t.TestCase): void;
3
+ export function testTextDecodingCompatibilityV1(_tc: t.TestCase): void;
4
+ import * as t from 'lib0/testing';
5
+ //# sourceMappingURL=compatibility.tests.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compatibility.tests.d.ts","sourceRoot":"","sources":["../../tests/compatibility.tests.js"],"names":[],"mappings":"AAcO,8CAFI,CAAC,CAAC,QAAQ,QAQpB;AAKM,oDAFI,CAAC,CAAC,QAAQ,QASpB;AAKM,qDAFI,CAAC,CAAC,QAAQ,QASpB;mBApCkB,cAAc"}
@@ -0,0 +1,7 @@
1
+ export function testDeltaBasics(_tc: t.TestCase): void;
2
+ export function testDeltaBasicSchema(_tc: t.TestCase): void;
3
+ export function testDeltaValues(_tc: t.TestCase): void;
4
+ export function testBasics(_tc: t.TestCase): void;
5
+ export function testAttributions(_tc: t.TestCase): void;
6
+ import * as t from 'lib0/testing';
7
+ //# sourceMappingURL=delta.tests.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delta.tests.d.ts","sourceRoot":"","sources":["../../tests/delta.tests.js"],"names":[],"mappings":"AAoCO,qCAFI,CAAC,CAAC,QAAQ,QAWpB;AAmBM,0CAFI,CAAC,CAAC,QAAQ,QAWpB;AAYM,qCAFI,CAAC,CAAC,QAAQ,QAwBpB;AAaM,gCAFI,CAAC,CAAC,QAAQ,QA0BpB;AAcM,sCAFI,CAAC,CAAC,QAAQ,QAsCpB;mBAhMkB,cAAc"}
@@ -0,0 +1,13 @@
1
+ export function testAfterTransactionRecursion(_tc: t.TestCase): void;
2
+ export function testFindTypeInOtherDoc(_tc: t.TestCase): void;
3
+ export function testClientIdDuplicateChange(_tc: t.TestCase): void;
4
+ export function testGetTypeEmptyId(_tc: t.TestCase): void;
5
+ export function testToJSON(_tc: t.TestCase): void;
6
+ export function testSubdoc(_tc: t.TestCase): void;
7
+ export function testSubdocLoadEdgeCases(_tc: t.TestCase): void;
8
+ export function testSubdocLoadEdgeCasesAutoload(_tc: t.TestCase): void;
9
+ export function testSubdocsUndo(_tc: t.TestCase): void;
10
+ export function testLoadDocsEvent(_tc: t.TestCase): Promise<void>;
11
+ export function testSyncDocsEvent(_tc: t.TestCase): Promise<void>;
12
+ import * as t from 'lib0/testing';
13
+ //# sourceMappingURL=doc.tests.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"doc.tests.d.ts","sourceRoot":"","sources":["../../tests/doc.tests.js"],"names":[],"mappings":"AAMO,mDAFI,CAAC,CAAC,QAAQ,QAepB;AAKM,4CAFI,CAAC,CAAC,QAAQ,QA6CpB;AAOM,iDAFI,CAAC,CAAC,QAAQ,QAWpB;AAKM,wCAFI,CAAC,CAAC,QAAQ,QAUpB;AAKM,gCAFI,CAAC,CAAC,QAAQ,QAwBpB;AAKM,gCAFI,CAAC,CAAC,QAAQ,QAgEpB;AAKM,6CAFI,CAAC,CAAC,QAAQ,QA4CpB;AAKM,qDAFI,CAAC,CAAC,QAAQ,QAuCpB;AAKM,qCAFI,CAAC,CAAC,QAAQ,QAYpB;AAKM,uCAFI,CAAC,CAAC,QAAQ,iBAapB;AAKM,uCAFI,CAAC,CAAC,QAAQ,iBAsCpB;mBA9VkB,cAAc"}
@@ -0,0 +1,5 @@
1
+ export function testStructReferences(_tc: t.TestCase): void;
2
+ export function testDiffStateVectorOfUpdateIsEmpty(_tc: t.TestCase): void;
3
+ export function testDiffStateVectorOfUpdateIgnoresSkips(_tc: t.TestCase): void;
4
+ import * as t from 'lib0/testing';
5
+ //# sourceMappingURL=encoding.tests.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"encoding.tests.d.ts","sourceRoot":"","sources":["../../tests/encoding.tests.js"],"names":[],"mappings":"AAoBO,0CAFI,CAAC,CAAC,QAAQ,QAcpB;AAMM,wDAFI,CAAC,CAAC,QAAQ,QAepB;AAMM,6DAFI,CAAC,CAAC,QAAQ,QAmBpB;mBA1EkB,cAAc"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../tests/index.js"],"names":[],"mappings":""}
@@ -0,0 +1,11 @@
1
+ export function testRelativePositionCase1(tc: t.TestCase): void;
2
+ export function testRelativePositionCase2(tc: t.TestCase): void;
3
+ export function testRelativePositionCase3(tc: t.TestCase): void;
4
+ export function testRelativePositionCase4(tc: t.TestCase): void;
5
+ export function testRelativePositionCase5(tc: t.TestCase): void;
6
+ export function testRelativePositionCase6(tc: t.TestCase): void;
7
+ export function testRelativePositionCase7(tc: t.TestCase): void;
8
+ export function testRelativePositionAssociationDifference(tc: t.TestCase): void;
9
+ export function testRelativePositionWithUndo(tc: t.TestCase): void;
10
+ import * as t from 'lib0/testing';
11
+ //# sourceMappingURL=relativePositions.tests.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"relativePositions.tests.d.ts","sourceRoot":"","sources":["../../tests/relativePositions.tests.js"],"names":[],"mappings":"AAwBO,8CAFI,CAAC,CAAC,QAAQ,QAWpB;AAKM,8CAFI,CAAC,CAAC,QAAQ,QAOpB;AAKM,8CAFI,CAAC,CAAC,QAAQ,QASpB;AAKM,8CAFI,CAAC,CAAC,QAAQ,QAOpB;AAKM,8CAFI,CAAC,CAAC,QAAQ,QAQpB;AAKM,8CAFI,CAAC,CAAC,QAAQ,QAMpB;AAOM,8CAFI,CAAC,CAAC,QAAQ,QAepB;AAKM,8DAFI,CAAC,CAAC,QAAQ,QAcpB;AAKM,iDAFI,CAAC,CAAC,QAAQ,QAmBpB;mBA/IkB,cAAc"}
@@ -0,0 +1,13 @@
1
+ export function testBasic(_tc: t.TestCase): void;
2
+ export function testBasicXmlAttributes(_tc: t.TestCase): void;
3
+ export function testBasicRestoreSnapshot(_tc: t.TestCase): void;
4
+ export function testEmptyRestoreSnapshot(_tc: t.TestCase): void;
5
+ export function testRestoreSnapshotWithSubType(_tc: t.TestCase): void;
6
+ export function testRestoreDeletedItem1(_tc: t.TestCase): void;
7
+ export function testRestoreLeftItem(_tc: t.TestCase): void;
8
+ export function testDeletedItemsBase(_tc: t.TestCase): void;
9
+ export function testDeletedItems2(_tc: t.TestCase): void;
10
+ export function testDependentChanges(tc: t.TestCase): void;
11
+ export function testContainsUpdate(_tc: t.TestCase): void;
12
+ import * as t from 'lib0/testing';
13
+ //# sourceMappingURL=snapshot.tests.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"snapshot.tests.d.ts","sourceRoot":"","sources":["../../tests/snapshot.tests.js"],"names":[],"mappings":"AAOO,+BAFI,CAAC,CAAC,QAAQ,QASpB;AAKM,4CAFI,CAAC,CAAC,QAAQ,QAYpB;AAKM,8CAFI,CAAC,CAAC,QAAQ,QAYpB;AAKM,8CAFI,CAAC,CAAC,QAAQ,QAiBpB;AAKM,oDAFI,CAAC,CAAC,QAAQ,QAoBpB;AAKM,6CAFI,CAAC,CAAC,QAAQ,QAapB;AAKM,yCAFI,CAAC,CAAC,QAAQ,QAepB;AAKM,0CAFI,CAAC,CAAC,QAAQ,QAapB;AAKM,uCAFI,CAAC,CAAC,QAAQ,QAapB;AAKM,yCAFI,CAAC,CAAC,QAAQ,QAyCpB;AAKM,wCAFI,CAAC,CAAC,QAAQ,QAsBpB;mBA7NkB,cAAc"}
@@ -0,0 +1,167 @@
1
+ export * from "../src/index.js";
2
+ export let useV2: boolean;
3
+ export namespace encV1 {
4
+ let encodeStateAsUpdate: (doc: Y.Doc, encodedTargetStateVector?: Uint8Array) => Uint8Array<ArrayBuffer>;
5
+ let mergeUpdates: (updates: Array<Uint8Array<ArrayBuffer>>) => Uint8Array<ArrayBuffer>;
6
+ let applyUpdate: (ydoc: Y.Doc, update: Uint8Array, transactionOrigin?: any) => void;
7
+ let logUpdate: (update: Uint8Array) => void;
8
+ let updateEventName: "update";
9
+ let diffUpdate: (update: Uint8Array, sv: Uint8Array) => Uint8Array<ArrayBuffer>;
10
+ }
11
+ export namespace encV2 {
12
+ let encodeStateAsUpdate_1: (doc: Y.Doc, encodedTargetStateVector?: Uint8Array, encoder?: Y.UpdateEncoderV1 | Y.UpdateEncoderV2) => Uint8Array<ArrayBuffer>;
13
+ export { encodeStateAsUpdate_1 as encodeStateAsUpdate };
14
+ let mergeUpdates_1: (updates: Array<Uint8Array<ArrayBuffer>>, YDecoder?: typeof Y.UpdateDecoderV1 | typeof Y.UpdateDecoderV2, YEncoder?: typeof Y.UpdateEncoderV1 | typeof Y.UpdateEncoderV2) => Uint8Array<ArrayBuffer>;
15
+ export { mergeUpdates_1 as mergeUpdates };
16
+ let applyUpdate_1: (ydoc: Y.Doc, update: Uint8Array, transactionOrigin?: any, YDecoder?: typeof Y.UpdateDecoderV1 | typeof Y.UpdateDecoderV2) => void;
17
+ export { applyUpdate_1 as applyUpdate };
18
+ let logUpdate_1: (update: Uint8Array, YDecoder?: typeof Y.UpdateDecoderV2 | typeof Y.UpdateDecoderV1) => void;
19
+ export { logUpdate_1 as logUpdate };
20
+ let updateEventName_1: "updateV2";
21
+ export { updateEventName_1 as updateEventName };
22
+ let diffUpdate_1: (update: Uint8Array, sv: Uint8Array, YDecoder?: typeof Y.UpdateDecoderV1 | typeof Y.UpdateDecoderV2, YEncoder?: typeof Y.UpdateEncoderV1 | typeof Y.UpdateEncoderV2) => Uint8Array<ArrayBuffer>;
23
+ export { diffUpdate_1 as diffUpdate };
24
+ }
25
+ export namespace enc { }
26
+ export class TestYInstance extends Y.Doc {
27
+ /**
28
+ * @param {TestConnector} testConnector
29
+ * @param {number} clientID
30
+ */
31
+ constructor(testConnector: TestConnector, clientID: number);
32
+ userID: number;
33
+ /**
34
+ * @type {TestConnector}
35
+ */
36
+ tc: TestConnector;
37
+ /**
38
+ * @type {Map<TestYInstance, Array<Uint8Array>>}
39
+ */
40
+ receiving: Map<TestYInstance, Array<Uint8Array>>;
41
+ /**
42
+ * The list of received updates.
43
+ * We are going to merge them later using Y.mergeUpdates and check if the resulting document is correct.
44
+ * @type {Array<Uint8Array<ArrayBuffer>>}
45
+ */
46
+ updates: Array<Uint8Array<ArrayBuffer>>;
47
+ /**
48
+ * Disconnect from TestConnector.
49
+ */
50
+ disconnect(): void;
51
+ /**
52
+ * Append yourself to the list of known Y instances in testconnector.
53
+ * Also initiate sync with all clients.
54
+ */
55
+ connect(): void;
56
+ /**
57
+ * Receive a message from another client. This message is only appended to the list of receiving messages.
58
+ * TestConnector decides when this client actually reads this message.
59
+ *
60
+ * @param {Uint8Array} message
61
+ * @param {TestYInstance} remoteClient
62
+ */
63
+ _receive(message: Uint8Array, remoteClient: TestYInstance): void;
64
+ }
65
+ /**
66
+ * Keeps track of TestYInstances.
67
+ *
68
+ * The TestYInstances add/remove themselves from the list of connections maiained in this object.
69
+ * I think it makes sense. Deal with it.
70
+ */
71
+ export class TestConnector {
72
+ /**
73
+ * @param {prng.PRNG} gen
74
+ */
75
+ constructor(gen: prng.PRNG);
76
+ /**
77
+ * @type {Set<TestYInstance>}
78
+ */
79
+ allConns: Set<TestYInstance>;
80
+ /**
81
+ * @type {Set<TestYInstance>}
82
+ */
83
+ onlineConns: Set<TestYInstance>;
84
+ /**
85
+ * @type {prng.PRNG}
86
+ */
87
+ prng: prng.PRNG;
88
+ /**
89
+ * Create a new Y instance and add it to the list of connections
90
+ * @param {number} clientID
91
+ */
92
+ createY(clientID: number): TestYInstance;
93
+ /**
94
+ * Choose random connection and flush a random message from a random sender.
95
+ *
96
+ * If this function was unable to flush a message, because there are no more messages to flush, it returns false. true otherwise.
97
+ * @return {boolean}
98
+ */
99
+ flushRandomMessage(): boolean;
100
+ /**
101
+ * @return {boolean} True iff this function actually flushed something
102
+ */
103
+ flushAllMessages(): boolean;
104
+ reconnectAll(): void;
105
+ disconnectAll(): void;
106
+ syncAll(): void;
107
+ /**
108
+ * @return {boolean} Whether it was possible to disconnect a random connection.
109
+ */
110
+ disconnectRandom(): boolean;
111
+ /**
112
+ * @return {boolean} Whether it was possible to reconnect a random connection.
113
+ */
114
+ reconnectRandom(): boolean;
115
+ }
116
+ export function init<T>(tc: t.TestCase, { users }?: {
117
+ users?: number;
118
+ }, initTestObject?: InitTestObjectCallback<T>): {
119
+ testObjects: Array<any>;
120
+ testConnector: TestConnector;
121
+ users: Array<TestYInstance>;
122
+ array0: Y.Array<any>;
123
+ array1: Y.Array<any>;
124
+ array2: Y.Array<any>;
125
+ map0: Y.Map<any>;
126
+ map1: Y.Map<any>;
127
+ map2: Y.Map<any>;
128
+ map3: Y.Map<any>;
129
+ text0: Y.Text;
130
+ text1: Y.Text;
131
+ text2: Y.Text;
132
+ xml0: Y.XmlElement;
133
+ xml1: Y.XmlElement;
134
+ xml2: Y.XmlElement;
135
+ };
136
+ export function compareIdSets(idSet1: Y.IdSet, idSet2: Y.IdSet): boolean;
137
+ export function _idmapAttrsEqual<T>(a: Array<Y.Attribution<T>>, b: Array<Y.Attribution<T>>): boolean;
138
+ export function validateIdMap<T>(idmap: Y.IdMap<T>): void;
139
+ export function compareIdmaps<T>(idmap1: Y.IdMap<T>, idmap2: Y.IdMap<T>): void;
140
+ export function createRandomIdSet(gen: prng.PRNG, clients: number, clockRange: number): Y.IdSet;
141
+ export function createRandomIdMap<T>(gen: prng.PRNG, clients: number, clockRange: number, attrChoices: Array<T>): Y.IdMap<T>;
142
+ export function compare(users: Array<TestYInstance>): void;
143
+ export function compareItemIDs(a: Y.Item | null, b: Y.Item | null): boolean;
144
+ export function compareStructStores(ss1: import("../src/internals.js").StructStore, ss2: import("../src/internals.js").StructStore): undefined;
145
+ export function applyRandomTests<T>(tc: t.TestCase, mods: Array<(arg0: Y.Doc, arg1: prng.PRNG, arg2: T) => void>, iterations: number, initTestObject?: InitTestObjectCallback<T>): {
146
+ testObjects: Array<any>;
147
+ testConnector: TestConnector;
148
+ users: Array<TestYInstance>;
149
+ array0: Y.Array<any>;
150
+ array1: Y.Array<any>;
151
+ array2: Y.Array<any>;
152
+ map0: Y.Map<any>;
153
+ map1: Y.Map<any>;
154
+ map2: Y.Map<any>;
155
+ map3: Y.Map<any>;
156
+ text0: Y.Text;
157
+ text1: Y.Text;
158
+ text2: Y.Text;
159
+ xml0: Y.XmlElement;
160
+ xml1: Y.XmlElement;
161
+ xml2: Y.XmlElement;
162
+ };
163
+ export type InitTestObjectCallback<T> = (y: TestYInstance) => T;
164
+ import * as Y from '../src/index.js';
165
+ import * as prng from 'lib0/prng';
166
+ import * as t from 'lib0/testing';
167
+ //# sourceMappingURL=testHelper.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"testHelper.d.ts","sourceRoot":"","sources":["../../tests/testHelper.js"],"names":[],"mappings":";AAoCA,0BAAwB;;;;;;yBAOM,QAAQ;;;;;;;;;;;;2BASR,UAAU;;;;;;AAiBxC;IACE;;;OAGG;IACH,2BAHW,aAAa,YACb,MAAM,EA8BhB;IA1BC,eAAsB;IACtB;;OAEG;IACH,IAFU,aAAa,CAEA;IACvB;;OAEG;IACH,WAFU,GAAG,CAAC,aAAa,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC,CAErB;IAE1B;;;;OAIG;IACH,SAFU,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,CAEvB;IAanB;;OAEG;IACH,mBAGC;IAED;;;OAGG;IACH,gBAgBC;IAED;;;;;;OAMG;IACH,kBAHW,UAAU,gBACV,aAAa,QAIvB;CACF;AAED;;;;;GAKG;AACH;IACE;;OAEG;IACH,iBAFW,IAAI,CAAC,IAAI,EAenB;IAZC;;OAEG;IACH,UAFU,GAAG,CAAC,aAAa,CAAC,CAEH;IACzB;;OAEG;IACH,aAFU,GAAG,CAAC,aAAa,CAAC,CAEA;IAC5B;;OAEG;IACH,MAFU,IAAI,CAAC,IAAI,CAEJ;IAGjB;;;OAGG;IACH,kBAFW,MAAM,iBAIhB;IAED;;;;;OAKG;IACH,sBAFY,OAAO,CA0BlB;IAED;;OAEG;IACH,oBAFY,OAAO,CAQlB;IAED,qBAEC;IAED,sBAEC;IAED,gBAGC;IAED;;OAEG;IACH,oBAFY,OAAO,CAQlB;IAED;;OAEG;IACH,mBAFY,OAAO,CAiBlB;CACF;AASM,qBANM,CAAC,MACH,CAAC,CAAC,QAAQ,cACV;IAAC,KAAK,CAAC,EAAC,MAAM,CAAA;CAAC,mBACf,sBAAsB,CAAC,CAAC,CAAC,GACxB;IAAC,WAAW,EAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAAA,aAAa,EAAC,aAAa,CAAC;IAAA,KAAK,EAAC,KAAK,CAAC,aAAa,CAAC,CAAC;IAAA,MAAM,EAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAAA,MAAM,EAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAAA,MAAM,EAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAAA,IAAI,EAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAAA,IAAI,EAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAAA,IAAI,EAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAAA,IAAI,EAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAAA,KAAK,EAAC,CAAC,CAAC,IAAI,CAAC;IAAA,KAAK,EAAC,CAAC,CAAC,IAAI,CAAC;IAAA,KAAK,EAAC,CAAC,CAAC,IAAI,CAAC;IAAA,IAAI,EAAC,CAAC,CAAC,UAAU,CAAC;IAAA,IAAI,EAAC,CAAC,CAAC,UAAU,CAAC;IAAA,IAAI,EAAC,CAAC,CAAC,UAAU,CAAA;CAAC,CAgCnT;AAMM,sCAHI,CAAC,CAAC,KAAK,UACP,CAAC,CAAC,KAAK,WAejB;AAsBM,iCAJM,CAAC,KACH,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,KACvB,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,WAEmE;AAQ9F,8BAHM,CAAC,SACH,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAepB;AAOM,8BAJM,CAAC,UACH,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,UACV,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAgBpB;AAOM,uCAJI,IAAI,CAAC,IAAI,WACT,MAAM,cACN,MAAM,WAgBhB;AAUM,kCAPM,CAAC,OACH,IAAI,CAAC,IAAI,WACT,MAAM,cACN,MAAM,eACN,KAAK,CAAC,CAAC,CAAC,GACP,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAsBrB;AAWM,+BAFI,KAAK,CAAC,aAAa,CAAC,QA6D9B;AAOM,kCAJI,CAAC,CAAC,IAAI,OAAC,KACP,CAAC,CAAC,IAAI,OAAC,GACN,OAAO,CAEqF;AAMjG,yCAHI,OAAO,qBAAqB,EAAE,WAAW,OACzC,OAAO,qBAAqB,EAAE,WAAW,aAuCnD;AAgBM,iCANM,CAAC,MACH,CAAC,CAAC,QAAQ,QACV,KAAK,CAAC,CAAS,IAAK,EAAL,CAAC,CAAC,GAAG,EAAC,IAAS,EAAT,IAAI,CAAC,IAAI,EAAC,IAAC,EAAD,CAAC,KAAE,IAAI,CAAC,cACvC,MAAM,mBACN,sBAAsB,CAAC,CAAC,CAAC;iBA5SX,KAAK,CAAC,GAAG,CAAC;mBAAe,aAAa;WAAO,KAAK,CAAC,aAAa,CAAC;YAAQ,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC;YAAQ,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC;YAAQ,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC;UAAM,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;UAAM,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;UAAM,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;UAAM,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;WAAO,CAAC,CAAC,IAAI;WAAO,CAAC,CAAC,IAAI;WAAO,CAAC,CAAC,IAAI;UAAM,CAAC,CAAC,UAAU;UAAM,CAAC,CAAC,UAAU;UAAM,CAAC,CAAC,UAAU;EAuUlT;mCAtCY,CAAC,QAEH,aAAa,KACZ,CAAC;mBA7iBM,iBAAiB;sBANd,WAAW;mBADd,cAAc"}
@@ -0,0 +1,27 @@
1
+ export function testInconsistentFormat(): void;
2
+ export function testInfiniteCaptureTimeout(tc: t.TestCase): void;
3
+ export function testUndoText(tc: t.TestCase): void;
4
+ export function testEmptyTypeScope(_tc: t.TestCase): void;
5
+ export function testRejectUpdateExample(_tc: t.TestCase): void;
6
+ export function testGlobalScope(_tc: t.TestCase): void;
7
+ export function testDoubleUndo(_tc: t.TestCase): void;
8
+ export function testUndoMap(tc: t.TestCase): void;
9
+ export function testUndoArray(tc: t.TestCase): void;
10
+ export function testUndoXml(tc: t.TestCase): void;
11
+ export function testUndoEvents(tc: t.TestCase): void;
12
+ export function testTrackClass(tc: t.TestCase): void;
13
+ export function testTypeScope(tc: t.TestCase): void;
14
+ export function testUndoInEmbed(tc: t.TestCase): void;
15
+ export function testUndoDeleteFilter(tc: t.TestCase): void;
16
+ export function testUndoUntilChangePerformed(_tc: t.TestCase): void;
17
+ export function testUndoNestedUndoIssue(_tc: t.TestCase): void;
18
+ export function testConsecutiveRedoBug(_tc: t.TestCase): void;
19
+ export function testUndoXmlBug(_tc: t.TestCase): void;
20
+ export function testUndoBlockBug(_tc: t.TestCase): void;
21
+ export function testUndoDeleteTextFormat(_tc: t.TestCase): void;
22
+ export function testBehaviorOfIgnoreremotemapchangesProperty(_tc: t.TestCase): void;
23
+ export function testSpecialDeletionCase(_tc: t.TestCase): void;
24
+ export function testUndoDeleteInMap(tc: t.TestCase): void;
25
+ export function testUndoDoingStackItem(_tc: t.TestCase): Promise<void>;
26
+ import * as t from 'lib0/testing';
27
+ //# sourceMappingURL=undo-redo.tests.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"undo-redo.tests.d.ts","sourceRoot":"","sources":["../../tests/undo-redo.tests.js"],"names":[],"mappings":"AAKO,+CA4BN;AAKM,+CAFI,CAAC,CAAC,QAAQ,QAUpB;AAKM,iCAFI,CAAC,CAAC,QAAQ,QA2CpB;AAMM,wCAFI,CAAC,CAAC,QAAQ,QAUpB;AAKM,6CAFI,CAAC,CAAC,QAAQ,QAkDpB;AAMM,qCAFI,CAAC,CAAC,QAAQ,QASpB;AAMM,oCAFI,CAAC,CAAC,QAAQ,QAkBpB;AAKM,gCAFI,CAAC,CAAC,QAAQ,QAqCpB;AAKM,kCAFI,CAAC,CAAC,QAAQ,QAgDpB;AAKM,gCAFI,CAAC,CAAC,QAAQ,QAwBpB;AAKM,mCAFI,CAAC,CAAC,QAAQ,QAsBpB;AAKM,mCAFI,CAAC,CAAC,QAAQ,QAYpB;AAKM,kCAFI,CAAC,CAAC,QAAQ,QAkBpB;AAKM,oCAFI,CAAC,CAAC,QAAQ,QAiBpB;AAKM,yCAFI,CAAC,CAAC,QAAQ,QAgBpB;AAMM,kDAFI,CAAC,CAAC,QAAQ,QA2BpB;AAMM,6CAFI,CAAC,CAAC,QAAQ,QAmDpB;AAOM,4CAFI,CAAC,CAAC,QAAQ,QA8CpB;AAOM,oCAFI,CAAC,CAAC,QAAQ,QAwCpB;AAOM,sCAFI,CAAC,CAAC,QAAQ,QAsDpB;AAQM,8CAFI,CAAC,CAAC,QAAQ,QA4BpB;AAQM,kEAFI,CAAC,CAAC,QAAQ,QAiBpB;AAQM,6CAFI,CAAC,CAAC,QAAQ,QAuBpB;AAQM,wCAFI,CAAC,CAAC,QAAQ,QAyBpB;AAOM,4CAFI,CAAC,CAAC,QAAQ,iBAyBpB;mBA9xBkB,cAAc"}
@@ -0,0 +1,24 @@
1
+ export function testMergeUpdates(tc: t.TestCase): void;
2
+ export function testKeyEncoding(tc: t.TestCase): void;
3
+ export function testMergeUpdates1(_tc: t.TestCase): void;
4
+ export function testMergeUpdates2(_tc: t.TestCase): void;
5
+ export function testMergePendingUpdates(_tc: t.TestCase): void;
6
+ export function testObfuscateUpdates(_tc: t.TestCase): void;
7
+ export type Enc = {
8
+ mergeUpdates: (arg0: Array<Uint8Array<ArrayBuffer>>) => Uint8Array<ArrayBuffer>;
9
+ encodeStateAsUpdate: (arg0: Y.Doc) => Uint8Array<ArrayBuffer>;
10
+ applyUpdate: (arg0: Y.Doc, arg1: Uint8Array) => void;
11
+ logUpdate: (arg0: Uint8Array) => void;
12
+ readUpdateIdRanges: (arg0: Uint8Array) => {
13
+ deletes: Y.IdSet;
14
+ inserts: Y.IdSet;
15
+ };
16
+ encodeStateVector: (arg0: Y.Doc) => Uint8Array;
17
+ encodeStateVectorFromUpdate: (arg0: Uint8Array) => Uint8Array;
18
+ updateEventName: "update" | "updateV2";
19
+ description: string;
20
+ diffUpdate: (arg0: Uint8Array, arg1: Uint8Array) => Uint8Array;
21
+ };
22
+ import * as t from 'lib0/testing';
23
+ import * as Y from '../src/index.js';
24
+ //# sourceMappingURL=updates.tests.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"updates.tests.d.ts","sourceRoot":"","sources":["../../tests/updates.tests.js"],"names":[],"mappings":"AAwGO,qCAFI,CAAC,CAAC,QAAQ,QAapB;AAKM,oCAFI,CAAC,CAAC,QAAQ,QAuBpB;AA0FM,uCAFI,CAAC,CAAC,QAAQ,QAepB;AAKM,uCAFI,CAAC,CAAC,QAAQ,QAepB;AAKM,6CAFI,CAAC,CAAC,QAAQ,QA4CpB;AAKM,0CAFI,CAAC,CAAC,QAAQ,QAgDpB;;kBA5Va,CAAS,IAA8B,EAA9B,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,KAAE,UAAU,CAAC,WAAW,CAAC;yBAChE,CAAS,IAAK,EAAL,CAAC,CAAC,GAAG,KAAE,UAAU,CAAC,WAAW,CAAC;iBACvC,CAAS,IAAK,EAAL,CAAC,CAAC,GAAG,EAAE,IAAU,EAAV,UAAU,KAAE,IAAI;eAChC,CAAS,IAAU,EAAV,UAAU,KAAE,IAAI;wBACzB,CAAS,IAAU,EAAV,UAAU,KAAE;QAAC,OAAO,EAAC,CAAC,CAAC,KAAK,CAAC;QAAA,OAAO,EAAC,CAAC,CAAC,KAAK,CAAA;KAAC;uBACtD,CAAS,IAAK,EAAL,CAAC,CAAC,GAAG,KAAE,UAAU;iCAC1B,CAAS,IAAU,EAAV,UAAU,KAAE,UAAU;qBAC/B,QAAQ,GAAC,UAAU;iBACnB,MAAM;gBACN,CAAS,IAAU,EAAV,UAAU,EAAE,IAAU,EAAV,UAAU,KAAE,UAAU;;mBArBtC,cAAc;mBACd,iBAAiB"}
@@ -0,0 +1,45 @@
1
+ export function testBasicUpdate(_tc: t.TestCase): void;
2
+ export function testFailsObjectManipulationInDevMode(_tc: t.TestCase): void;
3
+ export function testSlice(_tc: t.TestCase): void;
4
+ export function testArrayFrom(_tc: t.TestCase): void;
5
+ export function testLengthIssue(_tc: t.TestCase): void;
6
+ export function testLengthIssue2(_tc: t.TestCase): void;
7
+ export function testDeleteInsert(tc: t.TestCase): void;
8
+ export function testInsertThreeElementsTryRegetProperty(tc: t.TestCase): void;
9
+ export function testConcurrentInsertWithThreeConflicts(tc: t.TestCase): void;
10
+ export function testConcurrentInsertDeleteWithThreeConflicts(tc: t.TestCase): void;
11
+ export function testInsertionsInLateSync(tc: t.TestCase): void;
12
+ export function testDisconnectReallyPreventsSendingMessages(tc: t.TestCase): void;
13
+ export function testDeletionsInLateSync(tc: t.TestCase): void;
14
+ export function testInsertThenMergeDeleteOnSync(tc: t.TestCase): void;
15
+ export function testInsertAndDeleteEvents(tc: t.TestCase): void;
16
+ export function testNestedObserverEvents(tc: t.TestCase): void;
17
+ export function testInsertAndDeleteEventsForTypes(tc: t.TestCase): void;
18
+ export function testObserveDeepEventOrder(tc: t.TestCase): void;
19
+ export function testObservedeepIndexes(_tc: t.TestCase): void;
20
+ export function testChangeEvent(tc: t.TestCase): void;
21
+ export function testInsertAndDeleteEventsForTypes2(tc: t.TestCase): void;
22
+ export function testNewChildDoesNotEmitEventInTransaction(tc: t.TestCase): void;
23
+ export function testGarbageCollector(tc: t.TestCase): void;
24
+ export function testEventTargetIsSetCorrectlyOnLocal(tc: t.TestCase): void;
25
+ export function testEventTargetIsSetCorrectlyOnRemote(tc: t.TestCase): void;
26
+ export function testIteratingArrayContainingTypes(_tc: t.TestCase): void;
27
+ export function testAttributedContent(_tc: t.TestCase): void;
28
+ export function testRepeatGeneratingYarrayTests6(tc: t.TestCase): void;
29
+ export function testRepeatGeneratingYarrayTests40(tc: t.TestCase): void;
30
+ export function testRepeatGeneratingYarrayTests42(tc: t.TestCase): void;
31
+ export function testRepeatGeneratingYarrayTests43(tc: t.TestCase): void;
32
+ export function testRepeatGeneratingYarrayTests44(tc: t.TestCase): void;
33
+ export function testRepeatGeneratingYarrayTests45(tc: t.TestCase): void;
34
+ export function testRepeatGeneratingYarrayTests46(tc: t.TestCase): void;
35
+ export function testRepeatGeneratingYarrayTests300(tc: t.TestCase): void;
36
+ export function testRepeatGeneratingYarrayTests400(tc: t.TestCase): void;
37
+ export function testRepeatGeneratingYarrayTests500(tc: t.TestCase): void;
38
+ export function testRepeatGeneratingYarrayTests600(tc: t.TestCase): void;
39
+ export function testRepeatGeneratingYarrayTests1000(tc: t.TestCase): void;
40
+ export function testRepeatGeneratingYarrayTests1800(tc: t.TestCase): void;
41
+ export function testRepeatGeneratingYarrayTests3000(tc: t.TestCase): void;
42
+ export function testRepeatGeneratingYarrayTests5000(tc: t.TestCase): void;
43
+ export function testRepeatGeneratingYarrayTests30000(tc: t.TestCase): void;
44
+ import * as t from 'lib0/testing';
45
+ //# sourceMappingURL=y-array.tests.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"y-array.tests.d.ts","sourceRoot":"","sources":["../../tests/y-array.tests.js"],"names":[],"mappings":"AAaO,qCAFI,CAAC,CAAC,QAAQ,QASpB;AAKM,0DAFI,CAAC,CAAC,QAAQ,QAmBpB;AAKM,+BAFI,CAAC,CAAC,QAAQ,QAYpB;AAKM,mCAFI,CAAC,CAAC,QAAQ,QAQpB;AAOM,qCAFI,CAAC,CAAC,QAAQ,QAwBpB;AAOM,sCAFI,CAAC,CAAC,QAAQ,QAsCpB;AAKM,qCAFI,CAAC,CAAC,QAAQ,QAapB;AAKM,4DAFI,CAAC,CAAC,QAAQ,QASpB;AAKM,2DAFI,CAAC,CAAC,QAAQ,QAQpB;AAKM,iEAFI,CAAC,CAAC,QAAQ,QAWpB;AAKM,6CAFI,CAAC,CAAC,QAAQ,QAepB;AAKM,gEAFI,CAAC,CAAC,QAAQ,QAepB;AAKM,4CAFI,CAAC,CAAC,QAAQ,QAWpB;AAKM,oDAFI,CAAC,CAAC,QAAQ,QAUpB;AAKM,8CAFI,CAAC,CAAC,QAAQ,QAqBpB;AAKM,6CAFI,CAAC,CAAC,QAAQ,QAuBpB;AAKM,sDAFI,CAAC,CAAC,QAAQ,QAkBpB;AAWM,8CAFI,CAAC,CAAC,QAAQ,QAmBpB;AAOM,4CAFI,CAAC,CAAC,QAAQ,QAkBpB;AAKM,oCAFI,CAAC,CAAC,QAAQ,QAsBpB;AAKM,uDAFI,CAAC,CAAC,QAAQ,QAgBpB;AAMM,8DAFI,CAAC,CAAC,QAAQ,QAcpB;AAKM,yCAFI,CAAC,CAAC,QAAQ,QAWpB;AAKM,yDAFI,CAAC,CAAC,QAAQ,QAcpB;AAKM,0DAFI,CAAC,CAAC,QAAQ,QAepB;AAKM,uDAFI,CAAC,CAAC,QAAQ,QAgBpB;AAKM,2CAFI,CAAC,CAAC,QAAQ,QAyBpB;AAsEM,qDAFI,CAAC,CAAC,QAAQ,QAIpB;AAKM,sDAFI,CAAC,CAAC,QAAQ,QAIpB;AAKM,sDAFI,CAAC,CAAC,QAAQ,QAIpB;AAKM,sDAFI,CAAC,CAAC,QAAQ,QAIpB;AAKM,sDAFI,CAAC,CAAC,QAAQ,QAIpB;AAKM,sDAFI,CAAC,CAAC,QAAQ,QAIpB;AAKM,sDAFI,CAAC,CAAC,QAAQ,QAIpB;AAKM,uDAFI,CAAC,CAAC,QAAQ,QAIpB;AAKM,uDAFI,CAAC,CAAC,QAAQ,QAIpB;AAKM,uDAFI,CAAC,CAAC,QAAQ,QAIpB;AAKM,uDAFI,CAAC,CAAC,QAAQ,QAIpB;AAKM,wDAFI,CAAC,CAAC,QAAQ,QAIpB;AAKM,wDAFI,CAAC,CAAC,QAAQ,QAIpB;AAKM,wDAFI,CAAC,CAAC,QAAQ,QAKpB;AAKM,wDAFI,CAAC,CAAC,QAAQ,QAKpB;AAKM,yDAFI,CAAC,CAAC,QAAQ,QAKpB;mBA1sBkB,cAAc"}
@@ -0,0 +1,45 @@
1
+ export function testIterators(_tc: t.TestCase): void;
2
+ export function testNestedMapEvent(): void;
3
+ export function testNestedMapEvent2(): void;
4
+ export function testMapEventError(_tc: t.TestCase): void;
5
+ export function testMapHavingIterableAsConstructorParamTests(tc: t.TestCase): void;
6
+ export function testBasicMapTests(tc: t.TestCase): void;
7
+ export function testGetAndSetOfMapProperty(tc: t.TestCase): void;
8
+ export function testYmapSetsYmap(tc: t.TestCase): void;
9
+ export function testYmapSetsYarray(tc: t.TestCase): void;
10
+ export function testGetAndSetOfMapPropertySyncs(tc: t.TestCase): void;
11
+ export function testGetAndSetOfMapPropertyWithConflict(tc: t.TestCase): void;
12
+ export function testSizeAndDeleteOfMapProperty(tc: t.TestCase): void;
13
+ export function testGetAndSetAndDeleteOfMapProperty(tc: t.TestCase): void;
14
+ export function testSetAndClearOfMapProperties(tc: t.TestCase): void;
15
+ export function testSetAndClearOfMapPropertiesWithConflicts(tc: t.TestCase): void;
16
+ export function testGetAndSetOfMapPropertyWithThreeConflicts(tc: t.TestCase): void;
17
+ export function testGetAndSetAndDeleteOfMapPropertyWithThreeConflicts(tc: t.TestCase): void;
18
+ export function testObserveDeepProperties(tc: t.TestCase): void;
19
+ export function testObserversUsingObservedeep(tc: t.TestCase): void;
20
+ export function testPathsOfSiblingEvents(tc: t.TestCase): void;
21
+ export function testThrowsAddAndUpdateAndDeleteEvents(tc: t.TestCase): void;
22
+ export function testThrowsDeleteEventsOnClear(tc: t.TestCase): void;
23
+ export function testChangeEvent(tc: t.TestCase): void;
24
+ export function testYmapEventExceptionsShouldCompleteTransaction(_tc: t.TestCase): void;
25
+ export function testYmapEventHasCorrectValueWhenSettingAPrimitive(tc: t.TestCase): void;
26
+ export function testYmapEventHasCorrectValueWhenSettingAPrimitiveFromOtherUser(tc: t.TestCase): void;
27
+ export function testAttributedContent(_tc: t.TestCase): void;
28
+ export function testRepeatGeneratingYmapTests10(tc: t.TestCase): void;
29
+ export function testRepeatGeneratingYmapTests40(tc: t.TestCase): void;
30
+ export function testRepeatGeneratingYmapTests42(tc: t.TestCase): void;
31
+ export function testRepeatGeneratingYmapTests43(tc: t.TestCase): void;
32
+ export function testRepeatGeneratingYmapTests44(tc: t.TestCase): void;
33
+ export function testRepeatGeneratingYmapTests45(tc: t.TestCase): void;
34
+ export function testRepeatGeneratingYmapTests46(tc: t.TestCase): void;
35
+ export function testRepeatGeneratingYmapTests300(tc: t.TestCase): void;
36
+ export function testRepeatGeneratingYmapTests400(tc: t.TestCase): void;
37
+ export function testRepeatGeneratingYmapTests500(tc: t.TestCase): void;
38
+ export function testRepeatGeneratingYmapTests600(tc: t.TestCase): void;
39
+ export function testRepeatGeneratingYmapTests1000(tc: t.TestCase): void;
40
+ export function testRepeatGeneratingYmapTests1800(tc: t.TestCase): void;
41
+ export function testRepeatGeneratingYmapTests5000(tc: t.TestCase): void;
42
+ export function testRepeatGeneratingYmapTests10000(tc: t.TestCase): void;
43
+ export function testRepeatGeneratingYmapTests100000(tc: t.TestCase): void;
44
+ import * as t from 'lib0/testing';
45
+ //# sourceMappingURL=y-map.tests.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"y-map.tests.d.ts","sourceRoot":"","sources":["../../tests/y-map.tests.js"],"names":[],"mappings":"AAiBO,mCAFI,CAAC,CAAC,QAAQ,QAsBpB;AAEM,2CAaN;AAEM,4CAcN;AAOM,uCAFI,CAAC,CAAC,QAAQ,QAkBpB;AAKM,iEAFI,CAAC,CAAC,QAAQ,QAwBpB;AAKM,sCAFI,CAAC,CAAC,QAAQ,QAiDpB;AAKM,+CAFI,CAAC,CAAC,QAAQ,QAkBpB;AAKM,qCAFI,CAAC,CAAC,QAAQ,QASpB;AAKM,uCAFI,CAAC,CAAC,QAAQ,QAUpB;AAKM,oDAFI,CAAC,CAAC,QAAQ,QAYpB;AAKM,2DAFI,CAAC,CAAC,QAAQ,QAYpB;AAKM,mDAFI,CAAC,CAAC,QAAQ,QAWpB;AAKM,wDAFI,CAAC,CAAC,QAAQ,QAapB;AAKM,mDAFI,CAAC,CAAC,QAAQ,QAepB;AAKM,gEAFI,CAAC,CAAC,QAAQ,QAsBpB;AAKM,iEAFI,CAAC,CAAC,QAAQ,QAcpB;AAKM,0EAFI,CAAC,CAAC,QAAQ,QAoBpB;AAKM,8CAFI,CAAC,CAAC,QAAQ,QAkCpB;AAKM,kDAFI,CAAC,CAAC,QAAQ,QAqBpB;AAKM,6CAFI,CAAC,CAAC,QAAQ,QAyBpB;AAgBM,0DAFI,CAAC,CAAC,QAAQ,QA+BpB;AAKM,kDAFI,CAAC,CAAC,QAAQ,QAqBpB;AAKM,oCAFI,CAAC,CAAC,QAAQ,QAyCpB;AAKM,sEAFI,CAAC,CAAC,QAAQ,QA+CpB;AAKM,sEAFI,CAAC,CAAC,QAAQ,QAcpB;AAKM,mFAFI,CAAC,CAAC,QAAQ,QAepB;AAKM,2CAFI,CAAC,CAAC,QAAQ,QAgCpB;AA8BM,oDAFI,CAAC,CAAC,QAAQ,QAIpB;AAKM,oDAFI,CAAC,CAAC,QAAQ,QAIpB;AAKM,oDAFI,CAAC,CAAC,QAAQ,QAIpB;AAKM,oDAFI,CAAC,CAAC,QAAQ,QAIpB;AAKM,oDAFI,CAAC,CAAC,QAAQ,QAIpB;AAKM,oDAFI,CAAC,CAAC,QAAQ,QAIpB;AAKM,oDAFI,CAAC,CAAC,QAAQ,QAIpB;AAKM,qDAFI,CAAC,CAAC,QAAQ,QAIpB;AAKM,qDAFI,CAAC,CAAC,QAAQ,QAIpB;AAKM,qDAFI,CAAC,CAAC,QAAQ,QAIpB;AAKM,qDAFI,CAAC,CAAC,QAAQ,QAIpB;AAKM,sDAFI,CAAC,CAAC,QAAQ,QAIpB;AAKM,sDAFI,CAAC,CAAC,QAAQ,QAIpB;AAKM,sDAFI,CAAC,CAAC,QAAQ,QAKpB;AAKM,uDAFI,CAAC,CAAC,QAAQ,QAKpB;AAKM,wDAFI,CAAC,CAAC,QAAQ,QAKpB;mBA7yBkB,cAAc"}