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.
Files changed (235) hide show
  1. package/coverage/tmp/coverage-42121-1764767245409-0.json +1 -0
  2. package/coverage/tmp/{coverage-32703-1763495370274-0.json → coverage-42122-1764767192180-0.json} +1 -1
  3. package/delta/binding.d.ts +11 -9
  4. package/delta/binding.d.ts.map +1 -1
  5. package/delta/binding.js +5 -2
  6. package/delta/binding.test.d.ts.map +1 -1
  7. package/delta/delta-pitch.test.d.ts +5 -0
  8. package/delta/delta-pitch.test.d.ts.map +1 -0
  9. package/delta/{d2.d.ts → delta.d.ts} +117 -34
  10. package/delta/delta.d.ts.map +1 -0
  11. package/delta/{d2.js → delta.js} +247 -55
  12. package/delta/{d2.test.d.ts → delta.test.d.ts} +6 -1
  13. package/delta/delta.test.d.ts.map +1 -0
  14. package/delta/t3.test.d.ts +1 -1
  15. package/delta/t3.test.d.ts.map +1 -1
  16. package/dist/array.cjs +17 -60
  17. package/dist/array.cjs.map +1 -1
  18. package/dist/binding.cjs +114 -28
  19. package/dist/binding.cjs.map +1 -1
  20. package/dist/{broadcastchannel-d0c108a2.cjs → broadcastchannel-94897809.cjs} +2 -2
  21. package/dist/{broadcastchannel-d0c108a2.cjs.map → broadcastchannel-94897809.cjs.map} +1 -1
  22. package/dist/broadcastchannel.cjs +6 -6
  23. package/dist/{buffer-7f6fa8fa.cjs → buffer-8d110bf4.cjs} +2 -2
  24. package/dist/{buffer-7f6fa8fa.cjs.map → buffer-8d110bf4.cjs.map} +1 -1
  25. package/dist/buffer.cjs +5 -5
  26. package/dist/cache.cjs +3 -3
  27. package/dist/component.cjs +12 -8
  28. package/dist/component.cjs.map +1 -1
  29. package/dist/delta/binding.d.ts +11 -9
  30. package/dist/delta/binding.d.ts.map +1 -1
  31. package/dist/delta/binding.test.d.ts.map +1 -1
  32. package/dist/delta/delta-pitch.test.d.ts +5 -0
  33. package/dist/delta/delta-pitch.test.d.ts.map +1 -0
  34. package/dist/delta/{d2.d.ts → delta.d.ts} +117 -34
  35. package/dist/delta/delta.d.ts.map +1 -0
  36. package/dist/delta/{d2.test.d.ts → delta.test.d.ts} +6 -1
  37. package/dist/delta/delta.test.d.ts.map +1 -0
  38. package/dist/delta/t3.test.d.ts +1 -1
  39. package/dist/delta/t3.test.d.ts.map +1 -1
  40. package/dist/{d2.cjs → delta.cjs} +256 -60
  41. package/dist/delta.cjs.map +1 -0
  42. package/dist/{diff-1832cb43.cjs → diff-dc7bdc65.cjs} +2 -2
  43. package/dist/{diff-1832cb43.cjs.map → diff-dc7bdc65.cjs.map} +1 -1
  44. package/dist/diff.cjs +4 -4
  45. package/dist/{dom-f5047a64.cjs → dom-cad267af.cjs} +1 -1
  46. package/dist/{dom-f5047a64.cjs.map → dom-cad267af.cjs.map} +1 -1
  47. package/dist/dom.cjs +12 -5
  48. package/dist/dom.cjs.map +1 -1
  49. package/dist/{environment-90227ead.cjs → environment-98bcf64f.cjs} +2 -2
  50. package/dist/{environment-90227ead.cjs.map → environment-98bcf64f.cjs.map} +1 -1
  51. package/dist/environment.cjs +4 -4
  52. package/dist/equality.cjs +34 -0
  53. package/dist/equality.cjs.map +1 -0
  54. package/dist/fingerprint.cjs +44 -0
  55. package/dist/fingerprint.cjs.map +1 -0
  56. package/dist/{function-e7d18feb.cjs → function-b4e49016.cjs} +6 -6
  57. package/dist/function-b4e49016.cjs.map +1 -0
  58. package/dist/function.cjs +3 -3
  59. package/dist/index.cjs +9 -9
  60. package/dist/indexeddbV2.cjs +2 -2
  61. package/dist/jwt.cjs +5 -5
  62. package/dist/list.cjs +18 -5
  63. package/dist/list.cjs.map +1 -1
  64. package/dist/list.d.ts +9 -2
  65. package/dist/list.d.ts.map +1 -1
  66. package/dist/list.test.d.ts.map +1 -1
  67. package/dist/logging.cjs +11 -5
  68. package/dist/logging.cjs.map +1 -1
  69. package/dist/logging.common.cjs +4 -4
  70. package/dist/logging.node.cjs +4 -4
  71. package/dist/map.cjs +7 -314
  72. package/dist/map.cjs.map +1 -1
  73. package/dist/{object-18980796.cjs → object-dec41ef9.cjs} +3 -3
  74. package/dist/object-dec41ef9.cjs.map +1 -0
  75. package/dist/object.cjs +2 -2
  76. package/dist/object.d.ts.map +1 -1
  77. package/dist/performance.node.cjs +3 -3
  78. package/dist/pledge.cjs +2 -2
  79. package/dist/{prng-99204216.cjs → prng-aa81e812.cjs} +2 -2
  80. package/dist/{prng-99204216.cjs.map → prng-aa81e812.cjs.map} +1 -1
  81. package/dist/prng.cjs +6 -6
  82. package/dist/rabin-gf2-polynomial.cjs +5 -5
  83. package/dist/rabin-uncached.cjs +5 -5
  84. package/dist/rabin.cjs +5 -5
  85. package/dist/schema.cjs +202 -22
  86. package/dist/schema.cjs.map +1 -1
  87. package/dist/schema.d.ts +86 -29
  88. package/dist/schema.d.ts.map +1 -1
  89. package/dist/schema.test.d.ts +4 -0
  90. package/dist/schema.test.d.ts.map +1 -1
  91. package/dist/testing.cjs +9 -9
  92. package/dist/testing.cjs.map +1 -1
  93. package/dist/{traits.d.ts → trait/equality.d.ts} +1 -1
  94. package/dist/trait/equality.d.ts.map +1 -0
  95. package/dist/trait/fingerprint.d.ts +13 -0
  96. package/dist/trait/fingerprint.d.ts.map +1 -0
  97. package/dist/trait/traits.d.ts +3 -0
  98. package/dist/trait/traits.d.ts.map +1 -0
  99. package/dist/trait/traits.test.d.ts +5 -0
  100. package/dist/trait/traits.test.d.ts.map +1 -0
  101. package/dist/traits.cjs +23 -26
  102. package/dist/traits.cjs.map +1 -1
  103. package/dist/url.cjs +2 -2
  104. package/function.js +4 -4
  105. package/list.d.ts +9 -2
  106. package/list.d.ts.map +1 -1
  107. package/list.js +17 -3
  108. package/list.test.d.ts.map +1 -1
  109. package/object.d.ts.map +1 -1
  110. package/object.js +2 -2
  111. package/package.json +8 -10
  112. package/schema.d.ts +86 -29
  113. package/schema.d.ts.map +1 -1
  114. package/schema.js +191 -20
  115. package/schema.test.d.ts +4 -0
  116. package/schema.test.d.ts.map +1 -1
  117. package/test.html +2 -4
  118. package/test.js +7 -13
  119. package/testing.js +3 -3
  120. package/{traits.d.ts → trait/equality.d.ts} +1 -1
  121. package/trait/equality.d.ts.map +1 -0
  122. package/trait/fingerprint.d.ts +13 -0
  123. package/trait/fingerprint.d.ts.map +1 -0
  124. package/trait/fingerprint.js +21 -0
  125. package/trait/traits.d.ts +3 -0
  126. package/trait/traits.d.ts.map +1 -0
  127. package/trait/traits.js +2 -0
  128. package/trait/traits.test.d.ts +5 -0
  129. package/{traits.test.d.ts.map → trait/traits.test.d.ts.map} +1 -1
  130. package/delta/abstract-array.d.ts +0 -166
  131. package/delta/abstract-array.d.ts.map +0 -1
  132. package/delta/abstract-array.js +0 -421
  133. package/delta/abstract.d.ts +0 -69
  134. package/delta/abstract.d.ts.map +0 -1
  135. package/delta/abstract.js +0 -102
  136. package/delta/array.d.ts +0 -23
  137. package/delta/array.d.ts.map +0 -1
  138. package/delta/array.js +0 -45
  139. package/delta/array.test.d.ts +0 -2
  140. package/delta/array.test.d.ts.map +0 -1
  141. package/delta/d2.d.ts.map +0 -1
  142. package/delta/d2.test.d.ts.map +0 -1
  143. package/delta/index.d.ts +0 -14
  144. package/delta/index.d.ts.map +0 -1
  145. package/delta/index.js +0 -79
  146. package/delta/map.d.ts +0 -226
  147. package/delta/map.d.ts.map +0 -1
  148. package/delta/map.js +0 -304
  149. package/delta/node.d.ts +0 -117
  150. package/delta/node.d.ts.map +0 -1
  151. package/delta/node.js +0 -183
  152. package/delta/node.test.d.ts +0 -4
  153. package/delta/node.test.d.ts.map +0 -1
  154. package/delta/ops.d.ts +0 -464
  155. package/delta/ops.d.ts.map +0 -1
  156. package/delta/ops.js +0 -544
  157. package/delta/t2.d.ts +0 -184
  158. package/delta/t2.d.ts.map +0 -1
  159. package/delta/t2.js +0 -890
  160. package/delta/text.d.ts +0 -43
  161. package/delta/text.d.ts.map +0 -1
  162. package/delta/text.js +0 -54
  163. package/delta/text.test.d.ts +0 -6
  164. package/delta/text.test.d.ts.map +0 -1
  165. package/delta/transformer.d.ts +0 -164
  166. package/delta/transformer.d.ts.map +0 -1
  167. package/delta/transformer.js +0 -888
  168. package/delta/transformer.test.d.ts +0 -13
  169. package/delta/transformer.test.d.ts.map +0 -1
  170. package/delta/value.d.ts +0 -84
  171. package/delta/value.d.ts.map +0 -1
  172. package/delta/value.js +0 -168
  173. package/dist/abstract-array.cjs +0 -433
  174. package/dist/abstract-array.cjs.map +0 -1
  175. package/dist/abstract.cjs +0 -122
  176. package/dist/abstract.cjs.map +0 -1
  177. package/dist/array2.cjs +0 -26
  178. package/dist/array2.cjs.map +0 -1
  179. package/dist/d2.cjs.map +0 -1
  180. package/dist/delta/abstract-array.d.ts +0 -166
  181. package/dist/delta/abstract-array.d.ts.map +0 -1
  182. package/dist/delta/abstract.d.ts +0 -69
  183. package/dist/delta/abstract.d.ts.map +0 -1
  184. package/dist/delta/array.d.ts +0 -23
  185. package/dist/delta/array.d.ts.map +0 -1
  186. package/dist/delta/array.test.d.ts +0 -2
  187. package/dist/delta/array.test.d.ts.map +0 -1
  188. package/dist/delta/d2.d.ts.map +0 -1
  189. package/dist/delta/d2.test.d.ts.map +0 -1
  190. package/dist/delta/index.d.ts +0 -14
  191. package/dist/delta/index.d.ts.map +0 -1
  192. package/dist/delta/map.d.ts +0 -226
  193. package/dist/delta/map.d.ts.map +0 -1
  194. package/dist/delta/node.d.ts +0 -117
  195. package/dist/delta/node.d.ts.map +0 -1
  196. package/dist/delta/node.test.d.ts +0 -4
  197. package/dist/delta/node.test.d.ts.map +0 -1
  198. package/dist/delta/ops.d.ts +0 -464
  199. package/dist/delta/ops.d.ts.map +0 -1
  200. package/dist/delta/t2.d.ts +0 -184
  201. package/dist/delta/t2.d.ts.map +0 -1
  202. package/dist/delta/text.d.ts +0 -43
  203. package/dist/delta/text.d.ts.map +0 -1
  204. package/dist/delta/text.test.d.ts +0 -6
  205. package/dist/delta/text.test.d.ts.map +0 -1
  206. package/dist/delta/transformer.d.ts +0 -164
  207. package/dist/delta/transformer.d.ts.map +0 -1
  208. package/dist/delta/transformer.test.d.ts +0 -13
  209. package/dist/delta/transformer.test.d.ts.map +0 -1
  210. package/dist/delta/value.d.ts +0 -84
  211. package/dist/delta/value.d.ts.map +0 -1
  212. package/dist/function-e7d18feb.cjs.map +0 -1
  213. package/dist/index2.cjs +0 -71
  214. package/dist/index2.cjs.map +0 -1
  215. package/dist/map2.cjs +0 -15
  216. package/dist/map2.cjs.map +0 -1
  217. package/dist/node.cjs +0 -206
  218. package/dist/node.cjs.map +0 -1
  219. package/dist/object-18980796.cjs.map +0 -1
  220. package/dist/ops.cjs +0 -575
  221. package/dist/ops.cjs.map +0 -1
  222. package/dist/t2.cjs +0 -932
  223. package/dist/t2.cjs.map +0 -1
  224. package/dist/text.cjs +0 -79
  225. package/dist/text.cjs.map +0 -1
  226. package/dist/traits.d.ts.map +0 -1
  227. package/dist/traits.test.d.ts +0 -4
  228. package/dist/traits.test.d.ts.map +0 -1
  229. package/dist/transformer.cjs +0 -930
  230. package/dist/transformer.cjs.map +0 -1
  231. package/dist/value.cjs +0 -187
  232. package/dist/value.cjs.map +0 -1
  233. package/traits.d.ts.map +0 -1
  234. package/traits.test.d.ts +0 -4
  235. /package/{traits.js → trait/equality.js} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"component.cjs","sources":["../component.js"],"sourcesContent":["/* eslint-env browser */\n\n/**\n * Web components.\n *\n * @module component\n */\n\nimport * as dom from './dom.js'\nimport * as diff from './diff.js'\nimport * as object from './object.js'\nimport * as json from './json.js'\nimport * as string from './string.js'\nimport * as array from './array.js'\nimport * as number from './number.js'\nimport * as func from './function.js'\n\n/**\n * @type {CustomElementRegistry}\n */\nexport const registry = customElements\n\n/**\n * @param {string} name\n * @param {any} constr\n * @param {ElementDefinitionOptions} [opts]\n */\nexport const define = (name, constr, opts) => registry.define(name, constr, opts)\n\n/**\n * @param {string} name\n * @return {Promise<CustomElementConstructor>}\n */\nexport const whenDefined = name => registry.whenDefined(name)\n\nconst upgradedEventName = 'upgraded'\nconst connectedEventName = 'connected'\nconst disconnectedEventName = 'disconnected'\n\n/**\n * @template S\n */\nexport class Lib0Component extends HTMLElement {\n /**\n * @param {S} [state]\n */\n constructor (state) {\n super()\n /**\n * @type {S|null}\n */\n this.state = /** @type {any} */ (state)\n /**\n * @type {any}\n */\n this._internal = {}\n }\n\n /**\n * @param {S} _state\n * @param {boolean} [_forceStateUpdate] Force that the state is rerendered even if state didn't change\n */\n setState (_state, _forceStateUpdate = true) {}\n\n /**\n * @param {any} _stateUpdate\n */\n updateState (_stateUpdate) { }\n}\n\n/**\n * @param {any} val\n * @param {\"json\"|\"string\"|\"number\"} type\n * @return {string}\n */\nconst encodeAttrVal = (val, type) => {\n if (type === 'json') {\n val = json.stringify(val)\n }\n return val + ''\n}\n\n/**\n * @param {any} val\n * @param {\"json\"|\"string\"|\"number\"|\"bool\"} type\n * @return {any}\n */\nconst parseAttrVal = (val, type) => {\n switch (type) {\n case 'json':\n return json.parse(val)\n case 'number':\n return Number.parseFloat(val)\n case 'string':\n return val\n case 'bool':\n return val != null\n default:\n return null\n }\n}\n\n/**\n * @template S\n * @typedef {Object} CONF\n * @property {string?} [CONF.template] Template for the shadow dom.\n * @property {string} [CONF.style] shadow dom style. Is only used when\n * `CONF.template` is defined\n * @property {S} [CONF.state] Initial component state.\n * @property {function(S,S|null,Lib0Component<S>):void} [CONF.onStateChange] Called when\n * the state changes.\n * @property {Object<string,function(any, any):Object>} [CONF.childStates] maps from\n * CSS-selector to transformer function. The first element that matches the\n * CSS-selector receives state updates via the transformer function.\n * @property {Object<string,\"json\"|\"number\"|\"string\"|\"bool\">} [CONF.attrs]\n * attrs-keys and state-keys should be camelCase, but the DOM uses kebap-case. I.e.\n * `attrs = { myAttr: 4 }` is represeted as `<my-elem my-attr=\"4\" />` in the DOM\n * @property {Object<string, function(CustomEvent, Lib0Component<any>):boolean|void>} [CONF.listeners] Maps from dom-event-name\n * to event listener.\n * @property {function(S, S, Lib0Component<S>):Object<string,string>} [CONF.slots] Fill slots\n * automatically when state changes. Maps from slot-name to slot-html.\n */\n\n/**\n * @template T\n * @param {string} name\n * @param {CONF<T>} cnf\n * @return {typeof Lib0Component}\n */\nexport const createComponent = (name, { template, style = '', state: defaultState, onStateChange = () => {}, childStates = { }, attrs = {}, listeners = {}, slots = () => ({}) }) => {\n /**\n * Maps from camelCase attribute name to kebap-case attribute name.\n * @type {Object<string,string>}\n */\n const normalizedAttrs = {}\n for (const key in attrs) {\n normalizedAttrs[string.fromCamelCase(key, '-')] = key\n }\n const templateElement = template\n ? /** @type {HTMLTemplateElement} */ (dom.parseElement(`\n <template>\n <style>${style}</style>\n ${template}\n </template>\n `))\n : null\n\n class _Lib0Component extends HTMLElement {\n /**\n * @param {T} [state]\n */\n constructor (state) {\n super()\n /**\n * @type {Array<{d:Lib0Component<T>, s:function(any, any):Object}>}\n */\n this._childStates = []\n /**\n * @type {Object<string,string>}\n */\n this._slots = {}\n this._init = false\n /**\n * @type {any}\n */\n this._internal = {}\n /**\n * @type {any}\n */\n this.state = state || null\n this.connected = false\n // init shadow dom\n if (templateElement) {\n const shadow = /** @type {ShadowRoot} */ (this.attachShadow({ mode: 'open' }))\n shadow.appendChild(templateElement.content.cloneNode(true))\n // fill child states\n for (const key in childStates) {\n this._childStates.push({\n d: /** @type {Lib0Component<T>} */ (dom.querySelector(/** @type {any} */ (shadow), key)),\n s: childStates[key]\n })\n }\n }\n dom.emitCustomEvent(this, upgradedEventName, { bubbles: true })\n }\n\n connectedCallback () {\n this.connected = true\n if (!this._init) {\n this._init = true\n const shadow = this.shadowRoot\n if (shadow) {\n dom.addEventListener(shadow, upgradedEventName, event => {\n this.setState(this.state, true)\n event.stopPropagation()\n })\n }\n /**\n * @type {Object<string, any>}\n */\n const startState = this.state || object.assign({}, defaultState)\n if (attrs) {\n for (const key in attrs) {\n const normalizedKey = string.fromCamelCase(key, '-')\n const val = parseAttrVal(this.getAttribute(normalizedKey), attrs[key])\n if (val) {\n startState[key] = val\n }\n }\n }\n // add event listeners\n for (const key in listeners) {\n dom.addEventListener(shadow || this, key, event => {\n if (listeners[key](/** @type {CustomEvent} */ (event), this) !== false) {\n event.stopPropagation()\n event.preventDefault()\n return false\n }\n })\n }\n // first setState call\n this.state = null\n this.setState(startState)\n }\n dom.emitCustomEvent(/** @type {any} */ (this.shadowRoot || this), connectedEventName, { bubbles: true })\n }\n\n disconnectedCallback () {\n this.connected = false\n dom.emitCustomEvent(/** @type {any} */ (this.shadowRoot || this), disconnectedEventName, { bubbles: true })\n this.setState(null)\n }\n\n static get observedAttributes () {\n return object.keys(normalizedAttrs)\n }\n\n /**\n * @param {string} name\n * @param {string} oldVal\n * @param {string} newVal\n *\n * @private\n */\n attributeChangedCallback (name, oldVal, newVal) {\n const curState = /** @type {any} */ (this.state)\n const camelAttrName = normalizedAttrs[name]\n const type = attrs[camelAttrName]\n const parsedVal = parseAttrVal(newVal, type)\n if (curState && (type !== 'json' || json.stringify(curState[camelAttrName]) !== newVal) && curState[camelAttrName] !== parsedVal && !number.isNaN(parsedVal)) {\n this.updateState({ [camelAttrName]: parsedVal })\n }\n }\n\n /**\n * @param {any} stateUpdate\n */\n updateState (stateUpdate) {\n this.setState(object.assign({}, this.state, stateUpdate))\n }\n\n /**\n * @param {any} state\n */\n setState (state, forceStateUpdates = false) {\n const prevState = this.state\n this.state = state\n if (this._init && (!func.equalityFlat(state, prevState) || forceStateUpdates)) {\n // fill slots\n if (state) {\n const slotElems = slots(state, prevState, this)\n for (const key in slotElems) {\n const slotContent = slotElems[key]\n if (this._slots[key] !== slotContent) {\n this._slots[key] = slotContent\n const currentSlots = /** @type {Array<any>} */ (key !== 'default' ? array.from(dom.querySelectorAll(this, `[slot=\"${key}\"]`)) : array.from(this.childNodes).filter(/** @param {any} child */ child => !dom.checkNodeType(child, dom.ELEMENT_NODE) || !child.hasAttribute('slot')))\n currentSlots.slice(1).map(dom.remove)\n const nextSlot = dom.parseFragment(slotContent)\n if (key !== 'default') {\n array.from(nextSlot.children).forEach(c => c.setAttribute('slot', key))\n }\n if (currentSlots.length > 0) {\n dom.replaceWith(currentSlots[0], nextSlot)\n } else {\n dom.appendChild(this, nextSlot)\n }\n }\n }\n }\n onStateChange(state, prevState, this)\n if (state != null) {\n this._childStates.forEach(cnf => {\n const d = cnf.d\n if (d.updateState) {\n d.updateState(cnf.s(state, this))\n }\n })\n }\n for (const key in attrs) {\n const normalizedKey = string.fromCamelCase(key, '-')\n if (state == null) {\n this.removeAttribute(normalizedKey)\n } else {\n const stateVal = state[key]\n const attrsType = attrs[key]\n if (!prevState || prevState[key] !== stateVal) {\n if (attrsType === 'bool') {\n if (stateVal) {\n this.setAttribute(normalizedKey, '')\n } else {\n this.removeAttribute(normalizedKey)\n }\n } else if (stateVal == null && (attrsType === 'string' || attrsType === 'number')) {\n this.removeAttribute(normalizedKey)\n } else {\n this.setAttribute(normalizedKey, encodeAttrVal(stateVal, attrsType))\n }\n }\n }\n }\n }\n }\n }\n define(name, _Lib0Component)\n // @ts-ignore\n return _Lib0Component\n}\n\n/**\n * @param {function} definer function that defines a component when executed\n */\nexport const createComponentDefiner = definer => {\n /**\n * @type {any}\n */\n let defined = null\n return () => {\n if (!defined) {\n defined = definer()\n }\n return defined\n }\n}\n\nexport const defineListComponent = createComponentDefiner(() => {\n const ListItem = createComponent('lib0-list-item', {\n template: '<slot name=\"content\"></slot>',\n slots: state => ({\n content: `<div>${state}</div>`\n })\n })\n return createComponent('lib0-list', {\n state: { list: /** @type {Array<string>} */ ([]), Item: ListItem },\n onStateChange: (state, prevState, component) => {\n if (state == null) {\n return\n }\n const { list = /** @type {Array<any>} */ ([]), Item = ListItem } = state\n // @todo deep compare here by providing another parameter to simpleDiffArray\n let { index, remove, insert } = diff.simpleDiffArray(prevState ? prevState.list : [], list, func.equalityFlat)\n if (remove === 0 && insert.length === 0) {\n return\n }\n let child = /** @type {Lib0Component<any>} */ (component.firstChild)\n while (index-- > 0) {\n child = /** @type {Lib0Component<any>} */ (child.nextElementSibling)\n }\n let insertStart = 0\n while (insertStart < insert.length && remove-- > 0) {\n // update existing state\n child.setState(insert[insertStart++])\n child = /** @type {Lib0Component<any>} */ (child.nextElementSibling)\n }\n while (remove-- > 0) {\n // remove remaining\n const prevChild = child\n child = /** @type {Lib0Component<any>} */ (child.nextElementSibling)\n component.removeChild(prevChild)\n }\n // insert remaining\n component.insertBefore(dom.fragment(insert.slice(insertStart).map(/** @param {any} insState */ insState => {\n const el = new Item()\n el.setState(insState)\n return el\n })), child)\n }\n })\n})\n\nexport const defineLazyLoadingComponent = createComponentDefiner(() => createComponent('lib0-lazy', {\n state: /** @type {{component:null|String,import:null|function():Promise<any>,state:null|object}} */ ({\n component: null, import: null, state: null\n }),\n attrs: {\n component: 'string'\n },\n onStateChange: ({ component, state, import: getImport }, prevState, componentEl) => {\n if (component !== null) {\n if (getImport) {\n getImport()\n }\n if (!prevState || component !== prevState.component) {\n const el = /** @type {any} */ (dom.createElement(component))\n componentEl.innerHTML = ''\n componentEl.insertBefore(el, null)\n }\n const el = /** @type {any} */ (componentEl.firstElementChild)\n // @todo generalize setting state and check if setState is defined\n if (el.setState) {\n el.setState(state)\n }\n }\n }\n}))\n"],"names":["json.stringify","json.parse","string.fromCamelCase","dom.parseElement","dom.querySelector","dom.emitCustomEvent","dom.addEventListener","object.assign","object.keys","number.isNaN","func.equalityFlat","array.from","dom.querySelectorAll","dom.checkNodeType","dom.ELEMENT_NODE","dom.remove","dom.parseFragment","dom.replaceWith","dom.appendChild","diff.simpleDiffArray","dom.fragment","dom.createElement"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAgBA;AACA;AACA;AACA;AACY,MAAC,QAAQ,GAAG,eAAc;AACtC;AACA;AACA;AACA;AACA;AACA;AACY,MAAC,MAAM,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,KAAK,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAC;AACjF;AACA;AACA;AACA;AACA;AACY,MAAC,WAAW,GAAG,IAAI,IAAI,QAAQ,CAAC,WAAW,CAAC,IAAI,EAAC;AAC7D;AACA,MAAM,iBAAiB,GAAG,WAAU;AACpC,MAAM,kBAAkB,GAAG,YAAW;AACtC,MAAM,qBAAqB,GAAG,eAAc;AAC5C;AACA;AACA;AACA;AACO,MAAM,aAAa,SAAS,WAAW,CAAC;AAC/C;AACA;AACA;AACA,EAAE,WAAW,CAAC,CAAC,KAAK,EAAE;AACtB,IAAI,KAAK,GAAE;AACX;AACA;AACA;AACA,IAAI,IAAI,CAAC,KAAK,uBAAuB,KAAK,EAAC;AAC3C;AACA;AACA;AACA,IAAI,IAAI,CAAC,SAAS,GAAG,GAAE;AACvB,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,EAAE,QAAQ,CAAC,CAAC,MAAM,EAAE,iBAAiB,GAAG,IAAI,EAAE,EAAE;AAChD;AACA;AACA;AACA;AACA,EAAE,WAAW,CAAC,CAAC,YAAY,EAAE,GAAG;AAChC,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,aAAa,GAAG,CAAC,GAAG,EAAE,IAAI,KAAK;AACrC,EAAE,IAAI,IAAI,KAAK,MAAM,EAAE;AACvB,IAAI,GAAG,GAAGA,cAAc,CAAC,GAAG,EAAC;AAC7B,GAAG;AACH,EAAE,OAAO,GAAG,GAAG,EAAE;AACjB,EAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,YAAY,GAAG,CAAC,GAAG,EAAE,IAAI,KAAK;AACpC,EAAE,QAAQ,IAAI;AACd,IAAI,KAAK,MAAM;AACf,MAAM,OAAOC,UAAU,CAAC,GAAG,CAAC;AAC5B,IAAI,KAAK,QAAQ;AACjB,MAAM,OAAO,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC;AACnC,IAAI,KAAK,QAAQ;AACjB,MAAM,OAAO,GAAG;AAChB,IAAI,KAAK,MAAM;AACf,MAAM,OAAO,GAAG,IAAI,IAAI;AACxB,IAAI;AACJ,MAAM,OAAO,IAAI;AACjB,GAAG;AACH,EAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACY,MAAC,eAAe,GAAG,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,KAAK,GAAG,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,aAAa,GAAG,MAAM,EAAE,EAAE,WAAW,GAAG,GAAG,EAAE,KAAK,GAAG,EAAE,EAAE,SAAS,GAAG,EAAE,EAAE,KAAK,GAAG,OAAO,EAAE,CAAC,EAAE,KAAK;AACrL;AACA;AACA;AACA;AACA,EAAE,MAAM,eAAe,GAAG,GAAE;AAC5B,EAAE,KAAK,MAAM,GAAG,IAAI,KAAK,EAAE;AAC3B,IAAI,eAAe,CAACC,oBAAoB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,GAAG,IAAG;AACzD,GAAG;AACH,EAAE,MAAM,eAAe,GAAG,QAAQ;AAClC,0CAA0CC,gBAAgB,CAAC,CAAC;AAC5D;AACA,eAAe,EAAE,KAAK,CAAC;AACvB,QAAQ,EAAE,QAAQ,CAAC;AACnB;AACA,MAAM,CAAC,CAAC;AACR,MAAM,KAAI;AACV;AACA,EAAE,MAAM,cAAc,SAAS,WAAW,CAAC;AAC3C;AACA;AACA;AACA,IAAI,WAAW,CAAC,CAAC,KAAK,EAAE;AACxB,MAAM,KAAK,GAAE;AACb;AACA;AACA;AACA,MAAM,IAAI,CAAC,YAAY,GAAG,GAAE;AAC5B;AACA;AACA;AACA,MAAM,IAAI,CAAC,MAAM,GAAG,GAAE;AACtB,MAAM,IAAI,CAAC,KAAK,GAAG,MAAK;AACxB;AACA;AACA;AACA,MAAM,IAAI,CAAC,SAAS,GAAG,GAAE;AACzB;AACA;AACA;AACA,MAAM,IAAI,CAAC,KAAK,GAAG,KAAK,IAAI,KAAI;AAChC,MAAM,IAAI,CAAC,SAAS,GAAG,MAAK;AAC5B;AACA,MAAM,IAAI,eAAe,EAAE;AAC3B,QAAQ,MAAM,MAAM,8BAA8B,IAAI,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,EAAC;AACtF,QAAQ,MAAM,CAAC,WAAW,CAAC,eAAe,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,EAAC;AACnE;AACA,QAAQ,KAAK,MAAM,GAAG,IAAI,WAAW,EAAE;AACvC,UAAU,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;AACjC,YAAY,CAAC,mCAAmCC,iBAAiB,qBAAqB,MAAM,GAAG,GAAG,CAAC,CAAC;AACpG,YAAY,CAAC,EAAE,WAAW,CAAC,GAAG,CAAC;AAC/B,WAAW,EAAC;AACZ,SAAS;AACT,OAAO;AACP,MAAMC,mBAAmB,CAAC,IAAI,EAAE,iBAAiB,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,EAAC;AACrE,KAAK;AACL;AACA,IAAI,iBAAiB,CAAC,GAAG;AACzB,MAAM,IAAI,CAAC,SAAS,GAAG,KAAI;AAC3B,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;AACvB,QAAQ,IAAI,CAAC,KAAK,GAAG,KAAI;AACzB,QAAQ,MAAM,MAAM,GAAG,IAAI,CAAC,WAAU;AACtC,QAAQ,IAAI,MAAM,EAAE;AACpB,UAAUC,oBAAoB,CAAC,MAAM,EAAE,iBAAiB,EAAE,KAAK,IAAI;AACnE,YAAY,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,EAAC;AAC3C,YAAY,KAAK,CAAC,eAAe,GAAE;AACnC,WAAW,EAAC;AACZ,SAAS;AACT;AACA;AACA;AACA,QAAQ,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,IAAIC,aAAa,CAAC,EAAE,EAAE,YAAY,EAAC;AACxE,QAAQ,IAAI,KAAK,EAAE;AACnB,UAAU,KAAK,MAAM,GAAG,IAAI,KAAK,EAAE;AACnC,YAAY,MAAM,aAAa,GAAGL,oBAAoB,CAAC,GAAG,EAAE,GAAG,EAAC;AAChE,YAAY,MAAM,GAAG,GAAG,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,EAAC;AAClF,YAAY,IAAI,GAAG,EAAE;AACrB,cAAc,UAAU,CAAC,GAAG,CAAC,GAAG,IAAG;AACnC,aAAa;AACb,WAAW;AACX,SAAS;AACT;AACA,QAAQ,KAAK,MAAM,GAAG,IAAI,SAAS,EAAE;AACrC,UAAUI,oBAAoB,CAAC,MAAM,IAAI,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI;AAC7D,YAAY,IAAI,SAAS,CAAC,GAAG,CAAC,6BAA6B,KAAK,GAAG,IAAI,CAAC,KAAK,KAAK,EAAE;AACpF,cAAc,KAAK,CAAC,eAAe,GAAE;AACrC,cAAc,KAAK,CAAC,cAAc,GAAE;AACpC,cAAc,OAAO,KAAK;AAC1B,aAAa;AACb,WAAW,EAAC;AACZ,SAAS;AACT;AACA,QAAQ,IAAI,CAAC,KAAK,GAAG,KAAI;AACzB,QAAQ,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAC;AACjC,OAAO;AACP,MAAMD,mBAAmB,qBAAqB,IAAI,CAAC,UAAU,IAAI,IAAI,GAAG,kBAAkB,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,EAAC;AAC9G,KAAK;AACL;AACA,IAAI,oBAAoB,CAAC,GAAG;AAC5B,MAAM,IAAI,CAAC,SAAS,GAAG,MAAK;AAC5B,MAAMA,mBAAmB,qBAAqB,IAAI,CAAC,UAAU,IAAI,IAAI,GAAG,qBAAqB,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,EAAC;AACjH,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAC;AACzB,KAAK;AACL;AACA,IAAI,WAAW,kBAAkB,CAAC,GAAG;AACrC,MAAM,OAAOG,WAAW,CAAC,eAAe,CAAC;AACzC,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,wBAAwB,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE;AACpD,MAAM,MAAM,QAAQ,uBAAuB,IAAI,CAAC,KAAK,EAAC;AACtD,MAAM,MAAM,aAAa,GAAG,eAAe,CAAC,IAAI,EAAC;AACjD,MAAM,MAAM,IAAI,GAAG,KAAK,CAAC,aAAa,EAAC;AACvC,MAAM,MAAM,SAAS,GAAG,YAAY,CAAC,MAAM,EAAE,IAAI,EAAC;AAClD,MAAM,IAAI,QAAQ,KAAK,IAAI,KAAK,MAAM,IAAIR,cAAc,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,KAAK,MAAM,CAAC,IAAI,QAAQ,CAAC,aAAa,CAAC,KAAK,SAAS,IAAI,CAACS,YAAY,CAAC,SAAS,CAAC,EAAE;AACpK,QAAQ,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,aAAa,GAAG,SAAS,EAAE,EAAC;AACxD,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA,IAAI,WAAW,CAAC,CAAC,WAAW,EAAE;AAC9B,MAAM,IAAI,CAAC,QAAQ,CAACF,aAAa,CAAC,EAAE,EAAE,IAAI,CAAC,KAAK,EAAE,WAAW,CAAC,EAAC;AAC/D,KAAK;AACL;AACA;AACA;AACA;AACA,IAAI,QAAQ,CAAC,CAAC,KAAK,EAAE,iBAAiB,GAAG,KAAK,EAAE;AAChD,MAAM,MAAM,SAAS,GAAG,IAAI,CAAC,MAAK;AAClC,MAAM,IAAI,CAAC,KAAK,GAAG,MAAK;AACxB,MAAM,IAAI,IAAI,CAAC,KAAK,KAAK,CAACG,sBAAiB,CAAC,KAAK,EAAE,SAAS,CAAC,IAAI,iBAAiB,CAAC,EAAE;AACrF;AACA,QAAQ,IAAI,KAAK,EAAE;AACnB,UAAU,MAAM,SAAS,GAAG,KAAK,CAAC,KAAK,EAAE,SAAS,EAAE,IAAI,EAAC;AACzD,UAAU,KAAK,MAAM,GAAG,IAAI,SAAS,EAAE;AACvC,YAAY,MAAM,WAAW,GAAG,SAAS,CAAC,GAAG,EAAC;AAC9C,YAAY,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,WAAW,EAAE;AAClD,cAAc,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,YAAW;AAC5C,cAAc,MAAM,YAAY,8BAA8B,GAAG,KAAK,SAAS,GAAGC,UAAU,CAACC,oBAAoB,CAAC,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,GAAGD,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,2BAA2B,KAAK,IAAI,CAACE,iBAAiB,CAAC,KAAK,EAAEC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,EAAC;AAChS,cAAc,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAACC,UAAU,EAAC;AACnD,cAAc,MAAM,QAAQ,GAAGC,iBAAiB,CAAC,WAAW,EAAC;AAC7D,cAAc,IAAI,GAAG,KAAK,SAAS,EAAE;AACrC,gBAAgBL,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,YAAY,CAAC,MAAM,EAAE,GAAG,CAAC,EAAC;AACvF,eAAe;AACf,cAAc,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE;AAC3C,gBAAgBM,eAAe,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAC;AAC1D,eAAe,MAAM;AACrB,gBAAgBC,eAAe,CAAC,IAAI,EAAE,QAAQ,EAAC;AAC/C,eAAe;AACf,aAAa;AACb,WAAW;AACX,SAAS;AACT,QAAQ,aAAa,CAAC,KAAK,EAAE,SAAS,EAAE,IAAI,EAAC;AAC7C,QAAQ,IAAI,KAAK,IAAI,IAAI,EAAE;AAC3B,UAAU,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,IAAI;AAC3C,YAAY,MAAM,CAAC,GAAG,GAAG,CAAC,EAAC;AAC3B,YAAY,IAAI,CAAC,CAAC,WAAW,EAAE;AAC/B,cAAc,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,EAAC;AAC/C,aAAa;AACb,WAAW,EAAC;AACZ,SAAS;AACT,QAAQ,KAAK,MAAM,GAAG,IAAI,KAAK,EAAE;AACjC,UAAU,MAAM,aAAa,GAAGhB,oBAAoB,CAAC,GAAG,EAAE,GAAG,EAAC;AAC9D,UAAU,IAAI,KAAK,IAAI,IAAI,EAAE;AAC7B,YAAY,IAAI,CAAC,eAAe,CAAC,aAAa,EAAC;AAC/C,WAAW,MAAM;AACjB,YAAY,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,EAAC;AACvC,YAAY,MAAM,SAAS,GAAG,KAAK,CAAC,GAAG,EAAC;AACxC,YAAY,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC,GAAG,CAAC,KAAK,QAAQ,EAAE;AAC3D,cAAc,IAAI,SAAS,KAAK,MAAM,EAAE;AACxC,gBAAgB,IAAI,QAAQ,EAAE;AAC9B,kBAAkB,IAAI,CAAC,YAAY,CAAC,aAAa,EAAE,EAAE,EAAC;AACtD,iBAAiB,MAAM;AACvB,kBAAkB,IAAI,CAAC,eAAe,CAAC,aAAa,EAAC;AACrD,iBAAiB;AACjB,eAAe,MAAM,IAAI,QAAQ,IAAI,IAAI,KAAK,SAAS,KAAK,QAAQ,IAAI,SAAS,KAAK,QAAQ,CAAC,EAAE;AACjG,gBAAgB,IAAI,CAAC,eAAe,CAAC,aAAa,EAAC;AACnD,eAAe,MAAM;AACrB,gBAAgB,IAAI,CAAC,YAAY,CAAC,aAAa,EAAE,aAAa,CAAC,QAAQ,EAAE,SAAS,CAAC,EAAC;AACpF,eAAe;AACf,aAAa;AACb,WAAW;AACX,SAAS;AACT,OAAO;AACP,KAAK;AACL,GAAG;AACH,EAAE,MAAM,CAAC,IAAI,EAAE,cAAc,EAAC;AAC9B;AACA,EAAE,OAAO,cAAc;AACvB,EAAC;AACD;AACA;AACA;AACA;AACY,MAAC,sBAAsB,GAAG,OAAO,IAAI;AACjD;AACA;AACA;AACA,EAAE,IAAI,OAAO,GAAG,KAAI;AACpB,EAAE,OAAO,MAAM;AACf,IAAI,IAAI,CAAC,OAAO,EAAE;AAClB,MAAM,OAAO,GAAG,OAAO,GAAE;AACzB,KAAK;AACL,IAAI,OAAO,OAAO;AAClB,GAAG;AACH,EAAC;AACD;AACY,MAAC,mBAAmB,GAAG,sBAAsB,CAAC,MAAM;AAChE,EAAE,MAAM,QAAQ,GAAG,eAAe,CAAC,gBAAgB,EAAE;AACrD,IAAI,QAAQ,EAAE,8BAA8B;AAC5C,IAAI,KAAK,EAAE,KAAK,KAAK;AACrB,MAAM,OAAO,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC;AACpC,KAAK,CAAC;AACN,GAAG,EAAC;AACJ,EAAE,OAAO,eAAe,CAAC,WAAW,EAAE;AACtC,IAAI,KAAK,EAAE,EAAE,IAAI,gCAAgC,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;AACtE,IAAI,aAAa,EAAE,CAAC,KAAK,EAAE,SAAS,EAAE,SAAS,KAAK;AACpD,MAAM,IAAI,KAAK,IAAI,IAAI,EAAE;AACzB,QAAQ,MAAM;AACd,OAAO;AACP,MAAM,MAAM,EAAE,IAAI,8BAA8B,EAAE,CAAC,EAAE,IAAI,GAAG,QAAQ,EAAE,GAAG,MAAK;AAC9E;AACA,MAAM,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,GAAGiB,oBAAoB,CAAC,SAAS,GAAG,SAAS,CAAC,IAAI,GAAG,EAAE,EAAE,IAAI,EAAET,sBAAiB,EAAC;AACpH,MAAM,IAAI,MAAM,KAAK,CAAC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE;AAC/C,QAAQ,MAAM;AACd,OAAO;AACP,MAAM,IAAI,KAAK,sCAAsC,SAAS,CAAC,UAAU,EAAC;AAC1E,MAAM,OAAO,KAAK,EAAE,GAAG,CAAC,EAAE;AAC1B,QAAQ,KAAK,sCAAsC,KAAK,CAAC,kBAAkB,EAAC;AAC5E,OAAO;AACP,MAAM,IAAI,WAAW,GAAG,EAAC;AACzB,MAAM,OAAO,WAAW,GAAG,MAAM,CAAC,MAAM,IAAI,MAAM,EAAE,GAAG,CAAC,EAAE;AAC1D;AACA,QAAQ,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,EAAC;AAC7C,QAAQ,KAAK,sCAAsC,KAAK,CAAC,kBAAkB,EAAC;AAC5E,OAAO;AACP,MAAM,OAAO,MAAM,EAAE,GAAG,CAAC,EAAE;AAC3B;AACA,QAAQ,MAAM,SAAS,GAAG,MAAK;AAC/B,QAAQ,KAAK,sCAAsC,KAAK,CAAC,kBAAkB,EAAC;AAC5E,QAAQ,SAAS,CAAC,WAAW,CAAC,SAAS,EAAC;AACxC,OAAO;AACP;AACA,MAAM,SAAS,CAAC,YAAY,CAACU,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,GAAG,8BAA8B,QAAQ,IAAI;AACjH,QAAQ,MAAM,EAAE,GAAG,IAAI,IAAI,GAAE;AAC7B,QAAQ,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAC;AAC7B,QAAQ,OAAO,EAAE;AACjB,OAAO,CAAC,CAAC,EAAE,KAAK,EAAC;AACjB,KAAK;AACL,GAAG,CAAC;AACJ,CAAC,EAAC;AACF;AACY,MAAC,0BAA0B,GAAG,sBAAsB,CAAC,MAAM,eAAe,CAAC,WAAW,EAAE;AACpG,EAAE,KAAK,gGAAgG;AACvG,IAAI,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI;AAC9C,GAAG,CAAC;AACJ,EAAE,KAAK,EAAE;AACT,IAAI,SAAS,EAAE,QAAQ;AACvB,GAAG;AACH,EAAE,aAAa,EAAE,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,SAAS,EAAE,WAAW,KAAK;AACtF,IAAI,IAAI,SAAS,KAAK,IAAI,EAAE;AAC5B,MAAM,IAAI,SAAS,EAAE;AACrB,QAAQ,SAAS,GAAE;AACnB,OAAO;AACP,MAAM,IAAI,CAAC,SAAS,IAAI,SAAS,KAAK,SAAS,CAAC,SAAS,EAAE;AAC3D,QAAQ,MAAM,EAAE,uBAAuBC,iBAAiB,CAAC,SAAS,CAAC,EAAC;AACpE,QAAQ,WAAW,CAAC,SAAS,GAAG,GAAE;AAClC,QAAQ,WAAW,CAAC,YAAY,CAAC,EAAE,EAAE,IAAI,EAAC;AAC1C,OAAO;AACP,MAAM,MAAM,EAAE,uBAAuB,WAAW,CAAC,iBAAiB,EAAC;AACnE;AACA,MAAM,IAAI,EAAE,CAAC,QAAQ,EAAE;AACvB,QAAQ,EAAE,CAAC,QAAQ,CAAC,KAAK,EAAC;AAC1B,OAAO;AACP,KAAK;AACL,GAAG;AACH,CAAC,CAAC;;;;;;;;;;;"}
1
+ {"version":3,"file":"component.cjs","sources":["../component.js"],"sourcesContent":["/* eslint-env browser */\n\n/**\n * Web components.\n *\n * @module component\n */\n\nimport * as dom from './dom.js'\nimport * as diff from './diff.js'\nimport * as object from './object.js'\nimport * as json from './json.js'\nimport * as string from './string.js'\nimport * as array from './array.js'\nimport * as number from './number.js'\nimport * as func from './function.js'\n\n/**\n * @type {CustomElementRegistry}\n */\nexport const registry = customElements\n\n/**\n * @param {string} name\n * @param {any} constr\n * @param {ElementDefinitionOptions} [opts]\n */\nexport const define = (name, constr, opts) => registry.define(name, constr, opts)\n\n/**\n * @param {string} name\n * @return {Promise<CustomElementConstructor>}\n */\nexport const whenDefined = name => registry.whenDefined(name)\n\nconst upgradedEventName = 'upgraded'\nconst connectedEventName = 'connected'\nconst disconnectedEventName = 'disconnected'\n\n/**\n * @template S\n */\nexport class Lib0Component extends HTMLElement {\n /**\n * @param {S} [state]\n */\n constructor (state) {\n super()\n /**\n * @type {S|null}\n */\n this.state = /** @type {any} */ (state)\n /**\n * @type {any}\n */\n this._internal = {}\n }\n\n /**\n * @param {S} _state\n * @param {boolean} [_forceStateUpdate] Force that the state is rerendered even if state didn't change\n */\n setState (_state, _forceStateUpdate = true) {}\n\n /**\n * @param {any} _stateUpdate\n */\n updateState (_stateUpdate) { }\n}\n\n/**\n * @param {any} val\n * @param {\"json\"|\"string\"|\"number\"} type\n * @return {string}\n */\nconst encodeAttrVal = (val, type) => {\n if (type === 'json') {\n val = json.stringify(val)\n }\n return val + ''\n}\n\n/**\n * @param {any} val\n * @param {\"json\"|\"string\"|\"number\"|\"bool\"} type\n * @return {any}\n */\nconst parseAttrVal = (val, type) => {\n switch (type) {\n case 'json':\n return json.parse(val)\n case 'number':\n return Number.parseFloat(val)\n case 'string':\n return val\n case 'bool':\n return val != null\n default:\n return null\n }\n}\n\n/**\n * @template S\n * @typedef {Object} CONF\n * @property {string?} [CONF.template] Template for the shadow dom.\n * @property {string} [CONF.style] shadow dom style. Is only used when\n * `CONF.template` is defined\n * @property {S} [CONF.state] Initial component state.\n * @property {function(S,S|null,Lib0Component<S>):void} [CONF.onStateChange] Called when\n * the state changes.\n * @property {Object<string,function(any, any):Object>} [CONF.childStates] maps from\n * CSS-selector to transformer function. The first element that matches the\n * CSS-selector receives state updates via the transformer function.\n * @property {Object<string,\"json\"|\"number\"|\"string\"|\"bool\">} [CONF.attrs]\n * attrs-keys and state-keys should be camelCase, but the DOM uses kebap-case. I.e.\n * `attrs = { myAttr: 4 }` is represeted as `<my-elem my-attr=\"4\" />` in the DOM\n * @property {Object<string, function(CustomEvent, Lib0Component<any>):boolean|void>} [CONF.listeners] Maps from dom-event-name\n * to event listener.\n * @property {function(S, S, Lib0Component<S>):Object<string,string>} [CONF.slots] Fill slots\n * automatically when state changes. Maps from slot-name to slot-html.\n */\n\n/**\n * @template T\n * @param {string} name\n * @param {CONF<T>} cnf\n * @return {typeof Lib0Component}\n */\nexport const createComponent = (name, { template, style = '', state: defaultState, onStateChange = () => {}, childStates = { }, attrs = {}, listeners = {}, slots = () => ({}) }) => {\n /**\n * Maps from camelCase attribute name to kebap-case attribute name.\n * @type {Object<string,string>}\n */\n const normalizedAttrs = {}\n for (const key in attrs) {\n normalizedAttrs[string.fromCamelCase(key, '-')] = key\n }\n const templateElement = template\n ? /** @type {HTMLTemplateElement} */ (dom.parseElement(`\n <template>\n <style>${style}</style>\n ${template}\n </template>\n `))\n : null\n\n class _Lib0Component extends HTMLElement {\n /**\n * @param {T} [state]\n */\n constructor (state) {\n super()\n /**\n * @type {Array<{d:Lib0Component<T>, s:function(any, any):Object}>}\n */\n this._childStates = []\n /**\n * @type {Object<string,string>}\n */\n this._slots = {}\n this._init = false\n /**\n * @type {any}\n */\n this._internal = {}\n /**\n * @type {any}\n */\n this.state = state || null\n this.connected = false\n // init shadow dom\n if (templateElement) {\n const shadow = /** @type {ShadowRoot} */ (this.attachShadow({ mode: 'open' }))\n shadow.appendChild(templateElement.content.cloneNode(true))\n // fill child states\n for (const key in childStates) {\n this._childStates.push({\n d: /** @type {Lib0Component<T>} */ (dom.querySelector(/** @type {any} */ (shadow), key)),\n s: childStates[key]\n })\n }\n }\n dom.emitCustomEvent(this, upgradedEventName, { bubbles: true })\n }\n\n connectedCallback () {\n this.connected = true\n if (!this._init) {\n this._init = true\n const shadow = this.shadowRoot\n if (shadow) {\n dom.addEventListener(shadow, upgradedEventName, event => {\n this.setState(this.state, true)\n event.stopPropagation()\n })\n }\n /**\n * @type {Object<string, any>}\n */\n const startState = this.state || object.assign({}, defaultState)\n if (attrs) {\n for (const key in attrs) {\n const normalizedKey = string.fromCamelCase(key, '-')\n const val = parseAttrVal(this.getAttribute(normalizedKey), attrs[key])\n if (val) {\n startState[key] = val\n }\n }\n }\n // add event listeners\n for (const key in listeners) {\n dom.addEventListener(shadow || this, key, event => {\n if (listeners[key](/** @type {CustomEvent} */ (event), this) !== false) {\n event.stopPropagation()\n event.preventDefault()\n return false\n }\n })\n }\n // first setState call\n this.state = null\n this.setState(startState)\n }\n dom.emitCustomEvent(/** @type {any} */ (this.shadowRoot || this), connectedEventName, { bubbles: true })\n }\n\n disconnectedCallback () {\n this.connected = false\n dom.emitCustomEvent(/** @type {any} */ (this.shadowRoot || this), disconnectedEventName, { bubbles: true })\n this.setState(null)\n }\n\n static get observedAttributes () {\n return object.keys(normalizedAttrs)\n }\n\n /**\n * @param {string} name\n * @param {string} oldVal\n * @param {string} newVal\n *\n * @private\n */\n attributeChangedCallback (name, oldVal, newVal) {\n const curState = /** @type {any} */ (this.state)\n const camelAttrName = normalizedAttrs[name]\n const type = attrs[camelAttrName]\n const parsedVal = parseAttrVal(newVal, type)\n if (curState && (type !== 'json' || json.stringify(curState[camelAttrName]) !== newVal) && curState[camelAttrName] !== parsedVal && !number.isNaN(parsedVal)) {\n this.updateState({ [camelAttrName]: parsedVal })\n }\n }\n\n /**\n * @param {any} stateUpdate\n */\n updateState (stateUpdate) {\n this.setState(object.assign({}, this.state, stateUpdate))\n }\n\n /**\n * @param {any} state\n */\n setState (state, forceStateUpdates = false) {\n const prevState = this.state\n this.state = state\n if (this._init && (!func.equalityFlat(state, prevState) || forceStateUpdates)) {\n // fill slots\n if (state) {\n const slotElems = slots(state, prevState, this)\n for (const key in slotElems) {\n const slotContent = slotElems[key]\n if (this._slots[key] !== slotContent) {\n this._slots[key] = slotContent\n const currentSlots = /** @type {Array<any>} */ (key !== 'default' ? array.from(dom.querySelectorAll(this, `[slot=\"${key}\"]`)) : array.from(this.childNodes).filter(/** @param {any} child */ child => !dom.checkNodeType(child, dom.ELEMENT_NODE) || !child.hasAttribute('slot')))\n currentSlots.slice(1).map(dom.remove)\n const nextSlot = dom.parseFragment(slotContent)\n if (key !== 'default') {\n array.from(nextSlot.children).forEach(c => c.setAttribute('slot', key))\n }\n if (currentSlots.length > 0) {\n dom.replaceWith(currentSlots[0], nextSlot)\n } else {\n dom.appendChild(this, nextSlot)\n }\n }\n }\n }\n onStateChange(state, prevState, this)\n if (state != null) {\n this._childStates.forEach(cnf => {\n const d = cnf.d\n if (d.updateState) {\n d.updateState(cnf.s(state, this))\n }\n })\n }\n for (const key in attrs) {\n const normalizedKey = string.fromCamelCase(key, '-')\n if (state == null) {\n this.removeAttribute(normalizedKey)\n } else {\n const stateVal = state[key]\n const attrsType = attrs[key]\n if (!prevState || prevState[key] !== stateVal) {\n if (attrsType === 'bool') {\n if (stateVal) {\n this.setAttribute(normalizedKey, '')\n } else {\n this.removeAttribute(normalizedKey)\n }\n } else if (stateVal == null && (attrsType === 'string' || attrsType === 'number')) {\n this.removeAttribute(normalizedKey)\n } else {\n this.setAttribute(normalizedKey, encodeAttrVal(stateVal, attrsType))\n }\n }\n }\n }\n }\n }\n }\n define(name, _Lib0Component)\n // @ts-ignore\n return _Lib0Component\n}\n\n/**\n * @param {function} definer function that defines a component when executed\n */\nexport const createComponentDefiner = definer => {\n /**\n * @type {any}\n */\n let defined = null\n return () => {\n if (!defined) {\n defined = definer()\n }\n return defined\n }\n}\n\nexport const defineListComponent = createComponentDefiner(() => {\n const ListItem = createComponent('lib0-list-item', {\n template: '<slot name=\"content\"></slot>',\n slots: state => ({\n content: `<div>${state}</div>`\n })\n })\n return createComponent('lib0-list', {\n state: { list: /** @type {Array<string>} */ ([]), Item: ListItem },\n onStateChange: (state, prevState, component) => {\n if (state == null) {\n return\n }\n const { list = /** @type {Array<any>} */ ([]), Item = ListItem } = state\n // @todo deep compare here by providing another parameter to simpleDiffArray\n let { index, remove, insert } = diff.simpleDiffArray(prevState ? prevState.list : [], list, func.equalityFlat)\n if (remove === 0 && insert.length === 0) {\n return\n }\n let child = /** @type {Lib0Component<any>} */ (component.firstChild)\n while (index-- > 0) {\n child = /** @type {Lib0Component<any>} */ (child.nextElementSibling)\n }\n let insertStart = 0\n while (insertStart < insert.length && remove-- > 0) {\n // update existing state\n child.setState(insert[insertStart++])\n child = /** @type {Lib0Component<any>} */ (child.nextElementSibling)\n }\n while (remove-- > 0) {\n // remove remaining\n const prevChild = child\n child = /** @type {Lib0Component<any>} */ (child.nextElementSibling)\n component.removeChild(prevChild)\n }\n // insert remaining\n component.insertBefore(dom.fragment(insert.slice(insertStart).map(/** @param {any} insState */ insState => {\n const el = new Item()\n el.setState(insState)\n return el\n })), child)\n }\n })\n})\n\nexport const defineLazyLoadingComponent = createComponentDefiner(() => createComponent('lib0-lazy', {\n state: /** @type {{component:null|String,import:null|function():Promise<any>,state:null|object}} */ ({\n component: null, import: null, state: null\n }),\n attrs: {\n component: 'string'\n },\n onStateChange: ({ component, state, import: getImport }, prevState, componentEl) => {\n if (component !== null) {\n if (getImport) {\n getImport()\n }\n if (!prevState || component !== prevState.component) {\n const el = /** @type {any} */ (dom.createElement(component))\n componentEl.innerHTML = ''\n componentEl.insertBefore(el, null)\n }\n const el = /** @type {any} */ (componentEl.firstElementChild)\n // @todo generalize setting state and check if setState is defined\n if (el.setState) {\n el.setState(state)\n }\n }\n }\n}))\n"],"names":["json.stringify","json.parse","string.fromCamelCase","dom.parseElement","dom.querySelector","dom.emitCustomEvent","dom.addEventListener","object.assign","object.keys","number.isNaN","func.equalityFlat","array.from","dom.querySelectorAll","dom.checkNodeType","dom.ELEMENT_NODE","dom.remove","dom.parseFragment","dom.replaceWith","dom.appendChild","diff.simpleDiffArray","dom.fragment","dom.createElement"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAgBA;AACA;AACA;AACA;AACY,MAAC,QAAQ,GAAG,eAAc;AACtC;AACA;AACA;AACA;AACA;AACA;AACY,MAAC,MAAM,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,KAAK,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAC;AACjF;AACA;AACA;AACA;AACA;AACY,MAAC,WAAW,GAAG,IAAI,IAAI,QAAQ,CAAC,WAAW,CAAC,IAAI,EAAC;AAC7D;AACA,MAAM,iBAAiB,GAAG,WAAU;AACpC,MAAM,kBAAkB,GAAG,YAAW;AACtC,MAAM,qBAAqB,GAAG,eAAc;AAC5C;AACA;AACA;AACA;AACO,MAAM,aAAa,SAAS,WAAW,CAAC;AAC/C;AACA;AACA;AACA,EAAE,WAAW,CAAC,CAAC,KAAK,EAAE;AACtB,IAAI,KAAK,GAAE;AACX;AACA;AACA;AACA,IAAI,IAAI,CAAC,KAAK,uBAAuB,KAAK,EAAC;AAC3C;AACA;AACA;AACA,IAAI,IAAI,CAAC,SAAS,GAAG,GAAE;AACvB,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,EAAE,QAAQ,CAAC,CAAC,MAAM,EAAE,iBAAiB,GAAG,IAAI,EAAE,EAAE;AAChD;AACA;AACA;AACA;AACA,EAAE,WAAW,CAAC,CAAC,YAAY,EAAE,GAAG;AAChC,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,aAAa,GAAG,CAAC,GAAG,EAAE,IAAI,KAAK;AACrC,EAAE,IAAI,IAAI,KAAK,MAAM,EAAE;AACvB,IAAI,GAAG,GAAGA,cAAc,CAAC,GAAG,EAAC;AAC7B,GAAG;AACH,EAAE,OAAO,GAAG,GAAG,EAAE;AACjB,EAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,YAAY,GAAG,CAAC,GAAG,EAAE,IAAI,KAAK;AACpC,EAAE,QAAQ,IAAI;AACd,IAAI,KAAK,MAAM;AACf,MAAM,OAAOC,UAAU,CAAC,GAAG,CAAC;AAC5B,IAAI,KAAK,QAAQ;AACjB,MAAM,OAAO,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC;AACnC,IAAI,KAAK,QAAQ;AACjB,MAAM,OAAO,GAAG;AAChB,IAAI,KAAK,MAAM;AACf,MAAM,OAAO,GAAG,IAAI,IAAI;AACxB,IAAI;AACJ,MAAM,OAAO,IAAI;AACjB,GAAG;AACH,EAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACY,MAAC,eAAe,GAAG,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,KAAK,GAAG,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,aAAa,GAAG,MAAM,EAAE,EAAE,WAAW,GAAG,GAAG,EAAE,KAAK,GAAG,EAAE,EAAE,SAAS,GAAG,EAAE,EAAE,KAAK,GAAG,OAAO,EAAE,CAAC,EAAE,KAAK;AACrL;AACA;AACA;AACA;AACA,EAAE,MAAM,eAAe,GAAG,GAAE;AAC5B,EAAE,KAAK,MAAM,GAAG,IAAI,KAAK,EAAE;AAC3B,IAAI,eAAe,CAACC,oBAAoB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,GAAG,IAAG;AACzD,GAAG;AACH,EAAE,MAAM,eAAe,GAAG,QAAQ;AAClC,0CAA0CC,gBAAgB,CAAC,CAAC;AAC5D;AACA,eAAe,EAAE,KAAK,CAAC;AACvB,QAAQ,EAAE,QAAQ,CAAC;AACnB;AACA,MAAM,CAAC,CAAC;AACR,MAAM,KAAI;AACV;AACA,EAAE,MAAM,cAAc,SAAS,WAAW,CAAC;AAC3C;AACA;AACA;AACA,IAAI,WAAW,CAAC,CAAC,KAAK,EAAE;AACxB,MAAM,KAAK,GAAE;AACb;AACA;AACA;AACA,MAAM,IAAI,CAAC,YAAY,GAAG,GAAE;AAC5B;AACA;AACA;AACA,MAAM,IAAI,CAAC,MAAM,GAAG,GAAE;AACtB,MAAM,IAAI,CAAC,KAAK,GAAG,MAAK;AACxB;AACA;AACA;AACA,MAAM,IAAI,CAAC,SAAS,GAAG,GAAE;AACzB;AACA;AACA;AACA,MAAM,IAAI,CAAC,KAAK,GAAG,KAAK,IAAI,KAAI;AAChC,MAAM,IAAI,CAAC,SAAS,GAAG,MAAK;AAC5B;AACA,MAAM,IAAI,eAAe,EAAE;AAC3B,QAAQ,MAAM,MAAM,8BAA8B,IAAI,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,EAAC;AACtF,QAAQ,MAAM,CAAC,WAAW,CAAC,eAAe,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,EAAC;AACnE;AACA,QAAQ,KAAK,MAAM,GAAG,IAAI,WAAW,EAAE;AACvC,UAAU,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;AACjC,YAAY,CAAC,mCAAmCC,iBAAiB,qBAAqB,MAAM,GAAG,GAAG,CAAC,CAAC;AACpG,YAAY,CAAC,EAAE,WAAW,CAAC,GAAG,CAAC;AAC/B,WAAW,EAAC;AACZ,SAAS;AACT,OAAO;AACP,MAAMC,mBAAmB,CAAC,IAAI,EAAE,iBAAiB,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,EAAC;AACrE,KAAK;AACL;AACA,IAAI,iBAAiB,CAAC,GAAG;AACzB,MAAM,IAAI,CAAC,SAAS,GAAG,KAAI;AAC3B,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;AACvB,QAAQ,IAAI,CAAC,KAAK,GAAG,KAAI;AACzB,QAAQ,MAAM,MAAM,GAAG,IAAI,CAAC,WAAU;AACtC,QAAQ,IAAI,MAAM,EAAE;AACpB,UAAUC,oBAAoB,CAAC,MAAM,EAAE,iBAAiB,EAAE,KAAK,IAAI;AACnE,YAAY,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,EAAC;AAC3C,YAAY,KAAK,CAAC,eAAe,GAAE;AACnC,WAAW,EAAC;AACZ,SAAS;AACT;AACA;AACA;AACA,QAAQ,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,IAAIC,aAAa,CAAC,EAAE,EAAE,YAAY,EAAC;AACxE,QAAQ,IAAI,KAAK,EAAE;AACnB,UAAU,KAAK,MAAM,GAAG,IAAI,KAAK,EAAE;AACnC,YAAY,MAAM,aAAa,GAAGL,oBAAoB,CAAC,GAAG,EAAE,GAAG,EAAC;AAChE,YAAY,MAAM,GAAG,GAAG,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,EAAC;AAClF,YAAY,IAAI,GAAG,EAAE;AACrB,cAAc,UAAU,CAAC,GAAG,CAAC,GAAG,IAAG;AACnC,aAAa;AACb,WAAW;AACX,SAAS;AACT;AACA,QAAQ,KAAK,MAAM,GAAG,IAAI,SAAS,EAAE;AACrC,UAAUI,oBAAoB,CAAC,MAAM,IAAI,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI;AAC7D,YAAY,IAAI,SAAS,CAAC,GAAG,CAAC,6BAA6B,KAAK,GAAG,IAAI,CAAC,KAAK,KAAK,EAAE;AACpF,cAAc,KAAK,CAAC,eAAe,GAAE;AACrC,cAAc,KAAK,CAAC,cAAc,GAAE;AACpC,cAAc,OAAO,KAAK;AAC1B,aAAa;AACb,WAAW,EAAC;AACZ,SAAS;AACT;AACA,QAAQ,IAAI,CAAC,KAAK,GAAG,KAAI;AACzB,QAAQ,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAC;AACjC,OAAO;AACP,MAAMD,mBAAmB,qBAAqB,IAAI,CAAC,UAAU,IAAI,IAAI,GAAG,kBAAkB,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,EAAC;AAC9G,KAAK;AACL;AACA,IAAI,oBAAoB,CAAC,GAAG;AAC5B,MAAM,IAAI,CAAC,SAAS,GAAG,MAAK;AAC5B,MAAMA,mBAAmB,qBAAqB,IAAI,CAAC,UAAU,IAAI,IAAI,GAAG,qBAAqB,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,EAAC;AACjH,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAC;AACzB,KAAK;AACL;AACA,IAAI,WAAW,kBAAkB,CAAC,GAAG;AACrC,MAAM,OAAOG,WAAW,CAAC,eAAe,CAAC;AACzC,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,wBAAwB,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE;AACpD,MAAM,MAAM,QAAQ,uBAAuB,IAAI,CAAC,KAAK,EAAC;AACtD,MAAM,MAAM,aAAa,GAAG,eAAe,CAAC,IAAI,EAAC;AACjD,MAAM,MAAM,IAAI,GAAG,KAAK,CAAC,aAAa,EAAC;AACvC,MAAM,MAAM,SAAS,GAAG,YAAY,CAAC,MAAM,EAAE,IAAI,EAAC;AAClD,MAAM,IAAI,QAAQ,KAAK,IAAI,KAAK,MAAM,IAAIR,cAAc,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,KAAK,MAAM,CAAC,IAAI,QAAQ,CAAC,aAAa,CAAC,KAAK,SAAS,IAAI,CAACS,YAAY,CAAC,SAAS,CAAC,EAAE;AACpK,QAAQ,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,aAAa,GAAG,SAAS,EAAE,EAAC;AACxD,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA,IAAI,WAAW,CAAC,CAAC,WAAW,EAAE;AAC9B,MAAM,IAAI,CAAC,QAAQ,CAACF,aAAa,CAAC,EAAE,EAAE,IAAI,CAAC,KAAK,EAAE,WAAW,CAAC,EAAC;AAC/D,KAAK;AACL;AACA;AACA;AACA;AACA,IAAI,QAAQ,CAAC,CAAC,KAAK,EAAE,iBAAiB,GAAG,KAAK,EAAE;AAChD,MAAM,MAAM,SAAS,GAAG,IAAI,CAAC,MAAK;AAClC,MAAM,IAAI,CAAC,KAAK,GAAG,MAAK;AACxB,MAAM,IAAI,IAAI,CAAC,KAAK,KAAK,CAACG,sBAAiB,CAAC,KAAK,EAAE,SAAS,CAAC,IAAI,iBAAiB,CAAC,EAAE;AACrF;AACA,QAAQ,IAAI,KAAK,EAAE;AACnB,UAAU,MAAM,SAAS,GAAG,KAAK,CAAC,KAAK,EAAE,SAAS,EAAE,IAAI,EAAC;AACzD,UAAU,KAAK,MAAM,GAAG,IAAI,SAAS,EAAE;AACvC,YAAY,MAAM,WAAW,GAAG,SAAS,CAAC,GAAG,EAAC;AAC9C,YAAY,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,WAAW,EAAE;AAClD,cAAc,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,YAAW;AAC5C,cAAc,MAAM,YAAY,8BAA8B,GAAG,KAAK,SAAS,GAAGC,UAAU,CAACC,oBAAoB,CAAC,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,GAAGD,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,2BAA2B,KAAK,IAAI,CAACE,iBAAiB,CAAC,KAAK,EAAEC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,EAAC;AAChS,cAAc,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAACC,UAAU,EAAC;AACnD,cAAc,MAAM,QAAQ,GAAGC,iBAAiB,CAAC,WAAW,EAAC;AAC7D,cAAc,IAAI,GAAG,KAAK,SAAS,EAAE;AACrC,gBAAgBL,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,YAAY,CAAC,MAAM,EAAE,GAAG,CAAC,EAAC;AACvF,eAAe;AACf,cAAc,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE;AAC3C,gBAAgBM,eAAe,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAC;AAC1D,eAAe,MAAM;AACrB,gBAAgBC,eAAe,CAAC,IAAI,EAAE,QAAQ,EAAC;AAC/C,eAAe;AACf,aAAa;AACb,WAAW;AACX,SAAS;AACT,QAAQ,aAAa,CAAC,KAAK,EAAE,SAAS,EAAE,IAAI,EAAC;AAC7C,QAAQ,IAAI,KAAK,IAAI,IAAI,EAAE;AAC3B,UAAU,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,IAAI;AAC3C,YAAY,MAAM,CAAC,GAAG,GAAG,CAAC,EAAC;AAC3B,YAAY,IAAI,CAAC,CAAC,WAAW,EAAE;AAC/B,cAAc,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,EAAC;AAC/C,aAAa;AACb,WAAW,EAAC;AACZ,SAAS;AACT,QAAQ,KAAK,MAAM,GAAG,IAAI,KAAK,EAAE;AACjC,UAAU,MAAM,aAAa,GAAGhB,oBAAoB,CAAC,GAAG,EAAE,GAAG,EAAC;AAC9D,UAAU,IAAI,KAAK,IAAI,IAAI,EAAE;AAC7B,YAAY,IAAI,CAAC,eAAe,CAAC,aAAa,EAAC;AAC/C,WAAW,MAAM;AACjB,YAAY,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,EAAC;AACvC,YAAY,MAAM,SAAS,GAAG,KAAK,CAAC,GAAG,EAAC;AACxC,YAAY,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC,GAAG,CAAC,KAAK,QAAQ,EAAE;AAC3D,cAAc,IAAI,SAAS,KAAK,MAAM,EAAE;AACxC,gBAAgB,IAAI,QAAQ,EAAE;AAC9B,kBAAkB,IAAI,CAAC,YAAY,CAAC,aAAa,EAAE,EAAE,EAAC;AACtD,iBAAiB,MAAM;AACvB,kBAAkB,IAAI,CAAC,eAAe,CAAC,aAAa,EAAC;AACrD,iBAAiB;AACjB,eAAe,MAAM,IAAI,QAAQ,IAAI,IAAI,KAAK,SAAS,KAAK,QAAQ,IAAI,SAAS,KAAK,QAAQ,CAAC,EAAE;AACjG,gBAAgB,IAAI,CAAC,eAAe,CAAC,aAAa,EAAC;AACnD,eAAe,MAAM;AACrB,gBAAgB,IAAI,CAAC,YAAY,CAAC,aAAa,EAAE,aAAa,CAAC,QAAQ,EAAE,SAAS,CAAC,EAAC;AACpF,eAAe;AACf,aAAa;AACb,WAAW;AACX,SAAS;AACT,OAAO;AACP,KAAK;AACL,GAAG;AACH,EAAE,MAAM,CAAC,IAAI,EAAE,cAAc,EAAC;AAC9B;AACA,EAAE,OAAO,cAAc;AACvB,EAAC;AACD;AACA;AACA;AACA;AACY,MAAC,sBAAsB,GAAG,OAAO,IAAI;AACjD;AACA;AACA;AACA,EAAE,IAAI,OAAO,GAAG,KAAI;AACpB,EAAE,OAAO,MAAM;AACf,IAAI,IAAI,CAAC,OAAO,EAAE;AAClB,MAAM,OAAO,GAAG,OAAO,GAAE;AACzB,KAAK;AACL,IAAI,OAAO,OAAO;AAClB,GAAG;AACH,EAAC;AACD;AACY,MAAC,mBAAmB,GAAG,sBAAsB,CAAC,MAAM;AAChE,EAAE,MAAM,QAAQ,GAAG,eAAe,CAAC,gBAAgB,EAAE;AACrD,IAAI,QAAQ,EAAE,8BAA8B;AAC5C,IAAI,KAAK,EAAE,KAAK,KAAK;AACrB,MAAM,OAAO,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC;AACpC,KAAK,CAAC;AACN,GAAG,EAAC;AACJ,EAAE,OAAO,eAAe,CAAC,WAAW,EAAE;AACtC,IAAI,KAAK,EAAE,EAAE,IAAI,gCAAgC,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;AACtE,IAAI,aAAa,EAAE,CAAC,KAAK,EAAE,SAAS,EAAE,SAAS,KAAK;AACpD,MAAM,IAAI,KAAK,IAAI,IAAI,EAAE;AACzB,QAAQ,MAAM;AACd,OAAO;AACP,MAAM,MAAM,EAAE,IAAI,8BAA8B,EAAE,CAAC,EAAE,IAAI,GAAG,QAAQ,EAAE,GAAG,MAAK;AAC9E;AACA,MAAM,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,GAAGiB,oBAAoB,CAAC,SAAS,GAAG,SAAS,CAAC,IAAI,GAAG,EAAE,EAAE,IAAI,EAAET,sBAAiB,EAAC;AACpH,MAAM,IAAI,MAAM,KAAK,CAAC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE;AAC/C,QAAQ,MAAM;AACd,OAAO;AACP,MAAM,IAAI,KAAK,sCAAsC,SAAS,CAAC,UAAU,EAAC;AAC1E,MAAM,OAAO,KAAK,EAAE,GAAG,CAAC,EAAE;AAC1B,QAAQ,KAAK,sCAAsC,KAAK,CAAC,kBAAkB,EAAC;AAC5E,OAAO;AACP,MAAM,IAAI,WAAW,GAAG,EAAC;AACzB,MAAM,OAAO,WAAW,GAAG,MAAM,CAAC,MAAM,IAAI,MAAM,EAAE,GAAG,CAAC,EAAE;AAC1D;AACA,QAAQ,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,EAAC;AAC7C,QAAQ,KAAK,sCAAsC,KAAK,CAAC,kBAAkB,EAAC;AAC5E,OAAO;AACP,MAAM,OAAO,MAAM,EAAE,GAAG,CAAC,EAAE;AAC3B;AACA,QAAQ,MAAM,SAAS,GAAG,MAAK;AAC/B,QAAQ,KAAK,sCAAsC,KAAK,CAAC,kBAAkB,EAAC;AAC5E,QAAQ,SAAS,CAAC,WAAW,CAAC,SAAS,EAAC;AACxC,OAAO;AACP;AACA,MAAM,SAAS,CAAC,YAAY,CAACU,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,GAAG,8BAA8B,QAAQ,IAAI;AACjH,QAAQ,MAAM,EAAE,GAAG,IAAI,IAAI,GAAE;AAC7B,QAAQ,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAC;AAC7B,QAAQ,OAAO,EAAE;AACjB,OAAO,CAAC,CAAC,EAAE,KAAK,EAAC;AACjB,KAAK;AACL,GAAG,CAAC;AACJ,CAAC,EAAC;AACF;AACY,MAAC,0BAA0B,GAAG,sBAAsB,CAAC,MAAM,eAAe,CAAC,WAAW,EAAE;AACpG,EAAE,KAAK,gGAAgG;AACvG,IAAI,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI;AAC9C,GAAG,CAAC;AACJ,EAAE,KAAK,EAAE;AACT,IAAI,SAAS,EAAE,QAAQ;AACvB,GAAG;AACH,EAAE,aAAa,EAAE,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,SAAS,EAAE,WAAW,KAAK;AACtF,IAAI,IAAI,SAAS,KAAK,IAAI,EAAE;AAC5B,MAAM,IAAI,SAAS,EAAE;AACrB,QAAQ,SAAS,GAAE;AACnB,OAAO;AACP,MAAM,IAAI,CAAC,SAAS,IAAI,SAAS,KAAK,SAAS,CAAC,SAAS,EAAE;AAC3D,QAAQ,MAAM,EAAE,uBAAuBC,iBAAiB,CAAC,SAAS,CAAC,EAAC;AACpE,QAAQ,WAAW,CAAC,SAAS,GAAG,GAAE;AAClC,QAAQ,WAAW,CAAC,YAAY,CAAC,EAAE,EAAE,IAAI,EAAC;AAC1C,OAAO;AACP,MAAM,MAAM,EAAE,uBAAuB,WAAW,CAAC,iBAAiB,EAAC;AACnE;AACA,MAAM,IAAI,EAAE,CAAC,QAAQ,EAAE;AACvB,QAAQ,EAAE,CAAC,QAAQ,CAAC,KAAK,EAAC;AAC1B,OAAO;AACP,KAAK;AACL,GAAG;AACH,CAAC,CAAC;;;;;;;;;;;"}
@@ -24,12 +24,12 @@ export class Binding<DeltaA extends delta.AbstractDelta, DeltaB extends delta.Ab
24
24
  _bchanged: (delta: DeltaB) => void;
25
25
  destroy: () => void;
26
26
  }
27
- export function bind<DeltaA extends delta.AbstractDelta, Transformer extends dt.Template<any, DeltaA, any>>(a: RDT<DeltaA>, b: RDT<Transformer extends dt.Template<any, DeltaA, infer DeltaB> ? DeltaB : never>, template: dt.Template<any, DeltaA, any>): Binding<DeltaA, Transformer extends dt.Template<any, DeltaA, infer DeltaB extends delta.AbstractDelta> ? DeltaB : never>;
27
+ export function bind<DeltaA extends delta.AbstractDelta, Transformer extends dt.Template<any, DeltaA, any>>(a: RDT<DeltaA>, b: RDT<Transformer extends dt.Template<any, DeltaA, infer DeltaB> ? DeltaB : never>, template: dt.Template<any, DeltaA, any>): Binding<DeltaA, Transformer extends dt.Template<any, DeltaA, infer DeltaB> ? DeltaB : never>;
28
28
  export function deltaRDT<Delta extends delta.AbstractDelta>($delta: Schema<Delta>): DeltaRDT<Delta>;
29
- export const $domDelta: s.Schema<import("./node.js").RecursiveDeltaNode<string, Partial<{
30
- [x: string]: string;
31
- }>, never, true>>;
32
- export function domRDT(dom: Element): DomRDT<DomDelta>;
29
+ export const $domDelta: any;
30
+ export function domRDT(dom: Element): DomRDT<delta.RecursiveNode<string, {
31
+ [key: string]: string;
32
+ }, never, true>>;
33
33
  export type Schema<T> = import("../schema.js").Schema<T>;
34
34
  /**
35
35
  * Abstract Interface for a delta-based Replicated Data Type.
@@ -44,8 +44,8 @@ export type RDT<Delta extends delta.AbstractDelta> = ObservableV2<{
44
44
  export type DomDelta = delta.RecursiveNode<string, {
45
45
  [key: string]: string;
46
46
  }, never, true>;
47
- import * as delta from './index.js';
48
- import * as dt from './transformer.js';
47
+ import * as delta from './delta.js';
48
+ import * as dt from './t3.test.js';
49
49
  import * as mux from '../mutex.js';
50
50
  /**
51
51
  * @template {delta.AbstractDelta} Delta
@@ -71,7 +71,6 @@ declare class DeltaRDT<Delta extends delta.AbstractDelta> extends ObservableV2<{
71
71
  */
72
72
  update: (delta: Delta) => any;
73
73
  }
74
- import * as s from '../schema.js';
75
74
  /**
76
75
  * @typedef {delta.RecursiveNode<string, { [key:string]: string }, never, true>} DomDelta
77
76
  */
@@ -80,7 +79,9 @@ import * as s from '../schema.js';
80
79
  * @implements RDT<D>
81
80
  * @extends {ObservableV2<{ change: (delta: D)=>void, destroy: (rdt:DomRDT<D>)=>void }>}>}
82
81
  */
83
- declare class DomRDT<D extends DomDelta = DomDelta> extends ObservableV2<{
82
+ declare class DomRDT<D extends DomDelta = delta.RecursiveNode<string, {
83
+ [key: string]: string;
84
+ }, never, true>> extends ObservableV2<{
84
85
  change: (delta: D) => void;
85
86
  destroy: (rdt: DomRDT<D>) => void;
86
87
  }> implements RDT<D> {
@@ -101,5 +102,6 @@ declare class DomRDT<D extends DomDelta = DomDelta> extends ObservableV2<{
101
102
  update: (delta: D) => void;
102
103
  }
103
104
  import { ObservableV2 } from '../observable.js';
105
+ import * as s from '../schema.js';
104
106
  export {};
105
107
  //# sourceMappingURL=binding.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"binding.d.ts","sourceRoot":"","sources":["../../delta/binding.js"],"names":[],"mappings":"AAYA;;;GAGG;AAEH;;;GAGG;AACH,qBAHmC,MAAM,SAA3B,KAAK,CAAC,aAAc,EACC,MAAM,SAA3B,KAAK,CAAC,aAAc;IAGhC;;;;OAIG;IACH,eAJW,GAAG,CAAC,MAAM,CAAC,KACX,GAAG,CAAC,MAAM,CAAC,YACX,EAAE,CAAC,QAAQ,CAAC,GAAG,EAAC,MAAM,EAAC,MAAM,CAAC,EA4BxC;IAzBC;;OAEG;IACH,GAFU,EAAE,CAAC,WAAW,CAAC,GAAG,EAAC,MAAM,EAAC,MAAM,CAAC,CAEnB;IACxB,eAAU;IACV,eAAU;IACV,gBAA6B;IAC7B,8BAgCoD,IAAI,CAxBrD;IACH,8BAuBoD,IAAI,CAfrD;IAGL,oBAKC;CACF;AAgBM,qBAN4B,MAAM,SAA3B,KAAK,CAAC,aAAc,EACS,WAAW,SAAxC,EAAE,CAAC,QAAQ,CAAC,GAAG,EAAC,MAAM,EAAC,GAAG,CAAE,KAC/B,GAAG,CAAC,MAAM,CAAC,KACX,GAAG,CAAC,WAAW,SAAS,EAAE,CAAC,QAAQ,CAAC,GAAG,EAAC,MAAM,EAAC,MAAM,MAAM,CAAC,GAAG,MAAM,GAAG,KAAK,CAAC,YAC9E,EAAE,CAAC,QAAQ,CAAC,GAAG,EAAC,MAAM,EAAC,GAAG,CAAC,sEAD0B,MAAM,gDAGH;AA2C5D,yBAH4B,KAAK,SAA1B,KAAK,CAAC,aAAc,UACvB,MAAM,CAAC,KAAK,CAAC,mBAE8B;AAkGtD;;kBAA+H;AAsJxH,4BAFI,OAAO,oBAE0B;mBAnW/B,CAAC,IACD,OAAO,cAAc,EAAE,MAAM,CAAC,CAAC,CAAC;;;;gBAoDV,KAAK,SAA1B,KAAK,CAAC,aAAc,IACrB,YAAY,CAAC;IAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IAAC,SAAS,EAAE,CAAC,GAAG,EAAC,GAAG,CAAC,KAAK,CAAC,KAAG,IAAI,CAAA;CAAE,CAAC,GAAG;IAAE,MAAM,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,GAAG,CAAC;IAAC,OAAO,EAAE,MAAM,IAAI,CAAA;CAAE;uBAkP9I,KAAK,CAAC,aAAa,CAAC,MAAM,EAAE;IAAE,CAAC,GAAG,EAAC,MAAM,GAAG,MAAM,CAAA;CAAE,EAAE,KAAK,EAAE,IAAI,CAAC;uBAnTxD,YAAY;oBACf,kBAAkB;qBAMjB,aAAa;AAsElC;;;;GAIG;AACH,uBAJmC,KAAK,SAA1B,KAAK,CAAC,aAAc;YAEE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI;aAAa,CAAC,GAAG,EAAC,QAAQ,CAAC,KAAK,CAAC,KAAG,IAAI;cADnF,GAAG,CAAC,KAAK;IAItB;;OAEG;IACH,oBAFW,MAAM,CAAC,KAAK,CAAC,EAUvB;IANC,wBAAoB;IACpB;;OAEG;IACH,OAFU,KAAK,OAAC,CAEC;IACjB,gBAA6B;IAG/B;;OAEG;IACH,SAAS,OAFE,KAEG,SAOZ;CAMH;mBAxGkB,cAAc;AA0SjC;;GAEG;AAEH;;;;GAIG;AACH,qBAJyB,CAAC,SAAZ,QAAS;YAEa,CAAC,KAAK,EAAE,CAAC,KAAG,IAAI;aAAW,CAAC,GAAG,EAAC,MAAM,CAAC,CAAC,CAAC,KAAG,IAAI;cADrE,GAAG,CAAC,CAAC;IAIlB;;OAEG;IACH,0BAFW,OAAO,EAajB;IATC,sBAAgC;IAChC,gBAA6B;IAC7B,2BAA2D;IAS7D;;OAEG;IACH,mBAAmB,WAFR,cAAc,EAEG,SAGxB;IAEJ;;OAEG;IACH,SAAS,OAFE,CAEG,UAWb;CAOF;6BA1W4B,kBAAkB"}
1
+ {"version":3,"file":"binding.d.ts","sourceRoot":"","sources":["../../delta/binding.js"],"names":[],"mappings":"AAeA;;;GAGG;AAEH;;;GAGG;AACH,qBAHmC,MAAM,SAA3B,KAAK,CAAC,aAAc,EACC,MAAM,SAA3B,KAAK,CAAC,aAAc;IAGhC;;;;OAIG;IACH,eAJW,GAAG,CAAC,MAAM,CAAC,KACX,GAAG,CAAC,MAAM,CAAC,YACX,EAAE,CAAC,QAAQ,CAAC,GAAG,EAAC,MAAM,EAAC,MAAM,CAAC,EA4BxC;IAzBC;;OAEG;IACH,GAFU,EAAE,CAAC,WAAW,CAAC,GAAG,EAAC,MAAM,EAAC,MAAM,CAAC,CAEnB;IACxB,eAAU;IACV,eAAU;IACV,gBAA6B;IAC7B,8BAgCoD,IAAI,CAxBrD;IACH,8BAuBoD,IAAI,CAfrD;IAGL,oBAKC;CACF;AAgBM,qBAN4B,MAAM,SAA3B,KAAK,CAAC,aAAc,EACS,WAAW,SAAxC,EAAE,CAAC,QAAQ,CAAC,GAAG,EAAC,MAAM,EAAC,GAAG,CAAE,KAC/B,GAAG,CAAC,MAAM,CAAC,KACX,GAAG,CAAC,WAAW,SAAS,EAAE,CAAC,QAAQ,CAAC,GAAG,EAAC,MAAM,EAAC,MAAM,MAAM,CAAC,GAAG,MAAM,GAAG,KAAK,CAAC,YAC9E,EAAE,CAAC,QAAQ,CAAC,GAAG,EAAC,MAAM,EAAC,GAAG,CAAC,sEAD0B,MAAM,oBAGH;AA2C5D,yBAH4B,KAAK,SAA1B,KAAK,CAAC,aAAc,UACvB,MAAM,CAAC,KAAK,CAAC,mBAE8B;AAkGtD,4BAA+H;AAsJxH,4BAFI,OAAO;;iBAE0B;mBAnW/B,CAAC,IACD,OAAO,cAAc,EAAE,MAAM,CAAC,CAAC,CAAC;;;;gBAoDV,KAAK,SAA1B,KAAK,CAAC,aAAc,IACrB,YAAY,CAAC;IAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IAAC,SAAS,EAAE,CAAC,GAAG,EAAC,GAAG,CAAC,KAAK,CAAC,KAAG,IAAI,CAAA;CAAE,CAAC,GAAG;IAAE,MAAM,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,GAAG,CAAC;IAAC,OAAO,EAAE,MAAM,IAAI,CAAA;CAAE;uBAkP9I,KAAK,CAAC,aAAa,CAAC,MAAM,EAAE;IAAE,CAAC,GAAG,EAAC,MAAM,GAAG,MAAM,CAAA;CAAE,EAAE,KAAK,EAAE,IAAI,CAAC;uBAnTxD,YAAY;oBACf,cAAc;qBAMb,aAAa;AAsElC;;;;GAIG;AACH,uBAJmC,KAAK,SAA1B,KAAK,CAAC,aAAc;YAEE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI;aAAa,CAAC,GAAG,EAAC,QAAQ,CAAC,KAAK,CAAC,KAAG,IAAI;cADnF,GAAG,CAAC,KAAK;IAItB;;OAEG;IACH,oBAFW,MAAM,CAAC,KAAK,CAAC,EAUvB;IANC,wBAAoB;IACpB;;OAEG;IACH,OAFU,KAAK,OAAC,CAEC;IACjB,gBAA6B;IAG/B;;OAEG;IACH,SAAS,OAFE,KAEG,SAOZ;CAMH;AAkMD;;GAEG;AAEH;;;;GAIG;AACH,qBAJyB,CAAC,SAAZ,QAAS;;;YAEa,CAAC,KAAK,EAAE,CAAC,KAAG,IAAI;aAAW,CAAC,GAAG,EAAC,MAAM,CAAC,CAAC,CAAC,KAAG,IAAI;cADrE,GAAG,CAAC,CAAC;IAIlB;;OAEG;IACH,0BAFW,OAAO,EAajB;IATC,sBAAgC;IAChC,gBAA6B;IAC7B,2BAA2D;IAS7D;;OAEG;IACH,mBAAmB,WAFR,cAAc,EAEG,SAGxB;IAEJ;;OAEG;IACH,SAAS,OAFE,CAEG,UAWb;CAOF;6BA1W4B,kBAAkB;mBAS5B,cAAc"}
@@ -1 +1 @@
1
- {"version":3,"file":"binding.test.d.ts","sourceRoot":"","sources":["../../delta/binding.test.js"],"names":[],"mappings":"AAQO,oCAcN;AAEM,6CAcN;AAEM,mDAkCN;AAEM,sCAiBN"}
1
+ {"version":3,"file":"binding.test.d.ts","sourceRoot":"","sources":["../../delta/binding.test.js"],"names":[],"mappings":"AAUO,oCAcN;AAEM,6CAcN;AAEM,mDAkCN;AAEM,sCAiBN"}
@@ -0,0 +1,5 @@
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
+ import * as t from 'lib0/testing';
5
+ //# sourceMappingURL=delta-pitch.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delta-pitch.test.d.ts","sourceRoot":"","sources":["../../delta/delta-pitch.test.js"],"names":[],"mappings":"AAmCO,qCAFI,CAAC,CAAC,QAAQ,QAWpB;AAmBM,0CAFI,CAAC,CAAC,QAAQ,QAWpB;AAYM,qCAFI,CAAC,CAAC,QAAQ,QAwBpB;mBAzGkB,cAAc"}
@@ -45,9 +45,6 @@ export const $attribution: s.Schema<Attribution>;
45
45
  * @type {s.Schema<DeltaAttrOpJSON>}
46
46
  */
47
47
  export const $deltaMapChangeJson: s.Schema<DeltaAttrOpJSON>;
48
- /**
49
- * @typedef {unknown & DeltaAny} Q
50
- */
51
48
  export class TextOp extends list.ListNode {
52
49
  /**
53
50
  * @param {string} insert
@@ -98,12 +95,12 @@ export class TextOp extends list.ListNode {
98
95
  /**
99
96
  * @param {TextOp} other
100
97
  */
101
- [traits.EqualityTraitSymbol](other: TextOp): boolean;
98
+ [equalityTrait.EqualityTraitSymbol](other: TextOp): boolean;
102
99
  }
103
100
  /**
104
- * @template {encoding.AnyEncodable|DeltaAny} ArrayContent
101
+ * @template {fingerprintTrait.Fingerprintable} ArrayContent
105
102
  */
106
- export class InsertOp<ArrayContent extends encoding.AnyEncodable | DeltaAny> extends list.ListNode {
103
+ export class InsertOp<ArrayContent extends fingerprintTrait.Fingerprintable> extends list.ListNode {
107
104
  /**
108
105
  * @param {Array<ArrayContent>} insert
109
106
  * @param {FormattingAttributes|null} format
@@ -162,13 +159,13 @@ export class InsertOp<ArrayContent extends encoding.AnyEncodable | DeltaAny> ext
162
159
  /**
163
160
  * @param {InsertOp<ArrayContent>} other
164
161
  */
165
- [traits.EqualityTraitSymbol](other: InsertOp<ArrayContent>): boolean;
162
+ [equalityTrait.EqualityTraitSymbol](other: InsertOp<ArrayContent>): boolean;
166
163
  }
167
164
  /**
168
- * @template {encoding.AnyEncodable|DeltaAny} [Children=never]
165
+ * @template {fingerprintTrait.Fingerprintable} [Children=never]
169
166
  * @template {string} [Text=never]
170
167
  */
171
- export class DeleteOp<Children extends encoding.AnyEncodable | DeltaAny = never, Text extends string = never> extends list.ListNode {
168
+ export class DeleteOp<Children extends fingerprintTrait.Fingerprintable = never, Text extends string = never> extends list.ListNode {
172
169
  /**
173
170
  * @param {number} len
174
171
  */
@@ -203,7 +200,7 @@ export class DeleteOp<Children extends encoding.AnyEncodable | DeltaAny = never,
203
200
  /**
204
201
  * @param {DeleteOp} other
205
202
  */
206
- [traits.EqualityTraitSymbol](other: DeleteOp): boolean;
203
+ [equalityTrait.EqualityTraitSymbol](other: DeleteOp): boolean;
207
204
  }
208
205
  export class RetainOp extends list.ListNode {
209
206
  /**
@@ -252,7 +249,7 @@ export class RetainOp extends list.ListNode {
252
249
  /**
253
250
  * @param {RetainOp} other
254
251
  */
255
- [traits.EqualityTraitSymbol](other: RetainOp): boolean;
252
+ [equalityTrait.EqualityTraitSymbol](other: RetainOp): boolean;
256
253
  }
257
254
  /**
258
255
  * Delta that can be applied on a YType Embed
@@ -313,13 +310,13 @@ export class ModifyOp<DTypes extends DeltaAny = DeltaAny> extends list.ListNode
313
310
  /**
314
311
  * @param {ModifyOp<any>} other
315
312
  */
316
- [traits.EqualityTraitSymbol](other: ModifyOp<any>): boolean;
313
+ [equalityTrait.EqualityTraitSymbol](other: ModifyOp<any>): boolean;
317
314
  }
318
315
  /**
319
- * @template {encoding.AnyEncodable|DeltaAny} V
316
+ * @template {fingerprintTrait.Fingerprintable} V
320
317
  * @template {string|number} [K=any]
321
318
  */
322
- export class AttrInsertOp<V extends encoding.AnyEncodable | DeltaAny, K extends string | number = any> {
319
+ export class AttrInsertOp<V extends fingerprintTrait.Fingerprintable, K extends string | number = any> {
323
320
  /**
324
321
  * @param {K} key
325
322
  * @param {V} value
@@ -379,7 +376,7 @@ export class AttrInsertOp<V extends encoding.AnyEncodable | DeltaAny, K extends
379
376
  /**
380
377
  * @param {AttrInsertOp<V>} other
381
378
  */
382
- [traits.EqualityTraitSymbol](other: AttrInsertOp<V>): boolean;
379
+ [equalityTrait.EqualityTraitSymbol](other: AttrInsertOp<V>): boolean;
383
380
  }
384
381
  /**
385
382
  * @template V
@@ -419,7 +416,7 @@ export class AttrDeleteOp<V, K extends string | number = string> {
419
416
  /**
420
417
  * @param {AttrDeleteOp<V>} other
421
418
  */
422
- [traits.EqualityTraitSymbol](other: AttrDeleteOp<V>): boolean;
419
+ [equalityTrait.EqualityTraitSymbol](other: AttrDeleteOp<V>): boolean;
423
420
  }
424
421
  /**
425
422
  * @template {DeltaAny} [Modifier=DeltaAny]
@@ -465,7 +462,7 @@ export class AttrModifyOp<Modifier extends DeltaAny = DeltaAny, K extends string
465
462
  /**
466
463
  * @param {AttrModifyOp<Modifier>} other
467
464
  */
468
- [traits.EqualityTraitSymbol](other: AttrModifyOp<Modifier>): boolean;
465
+ [equalityTrait.EqualityTraitSymbol](other: AttrModifyOp<Modifier>): boolean;
469
466
  }
470
467
  /**
471
468
  * @type {s.Schema<AttrDeleteOp<any> | DeleteOp>}
@@ -475,7 +472,7 @@ export const $deleteOp: s.Schema<AttrDeleteOp<any> | DeleteOp>;
475
472
  * @type {s.Schema<AttrInsertOp<any> | InsertOp<any>>}
476
473
  */
477
474
  export const $insertOp: s.Schema<AttrInsertOp<any> | InsertOp<any>>;
478
- export function $insertOpWith<Content extends encoding.AnyEncodable | DeltaAny>($content: s.Schema<Content>): s.Schema<AttrInsertOp<Content> | InsertOp<Content>>;
475
+ export function $insertOpWith<Content extends fingerprintTrait.Fingerprintable>($content: s.Schema<Content>): s.Schema<AttrInsertOp<Content> | InsertOp<Content>>;
479
476
  /**
480
477
  * @type {s.Schema<TextOp>}
481
478
  */
@@ -525,13 +522,13 @@ export const $anyOp: s.Schema<AttrInsertOp<any, any> | InsertOp<any> | AttrDelet
525
522
  /**
526
523
  * @template {string} [NodeName=any]
527
524
  * @template {{[k:string|number]:any}} [Attrs={}]
528
- * @template {encoding.AnyEncodable|DeltaAny|never} [Children=never]
529
- * @template {string|never} [Text=never]
525
+ * @template {fingerprintTrait.Fingerprintable} [Children=never]
526
+ * @template {string} [Text=never]
530
527
  * @template {s.Schema<Delta<any,any,any,any,any>>|null} [Schema=any]
531
528
  */
532
529
  export class Delta<NodeName extends string = any, Attrs extends {
533
530
  [k: string | number]: any;
534
- } = {}, Children extends encoding.AnyEncodable | DeltaAny | never = never, Text extends string | never = never, Schema extends s.Schema<Delta<any, any, any, any, any>> | null = any> {
531
+ } = {}, Children extends fingerprintTrait.Fingerprintable = never, Text extends string = never, Schema extends s.Schema<Delta<any, any, any, any, any>> | null = any> {
535
532
  /**
536
533
  * @param {NodeName} [name]
537
534
  * @param {Schema} [$schema]
@@ -595,24 +592,25 @@ export class Delta<NodeName extends string = any, Attrs extends {
595
592
  * @return {Delta<NodeName,Attrs,Children,Text,Schema>}
596
593
  */
597
594
  done(markAsDone?: boolean): Delta<NodeName, Attrs, Children, Text, Schema>;
595
+ [fingerprintTrait.FingerprintTraitSymbol](): string;
598
596
  /**
599
597
  * @param {any} other
600
598
  * @return {boolean}
601
599
  */
602
- [traits.EqualityTraitSymbol](other: any): boolean;
600
+ [equalityTrait.EqualityTraitSymbol](other: any): boolean;
603
601
  }
604
602
  export function clone<D extends DeltaAny>(d: D): D extends Delta<infer NodeName_1, infer Attrs_1, infer Children_1, infer Text, infer Schema_1> ? DeltaBuilder<NodeName_1, Attrs_1, Children_1, Text, Schema_1> : never;
605
603
  /**
606
604
  * @template {string} [NodeName=any]
607
605
  * @template {{[key:string|number]:any}} [Attrs={}]
608
- * @template {encoding.AnyEncodable|DeltaAny|never} [Children=never]
609
- * @template {string|never} [Text=never]
606
+ * @template {fingerprintTrait.Fingerprintable} [Children=never]
607
+ * @template {string} [Text=never]
610
608
  * @template {s.Schema<Delta<any,any,any,any,any>>|null} [Schema=any]
611
609
  * @extends {Delta<NodeName,Attrs,Children,Text,Schema>}
612
610
  */
613
611
  export class DeltaBuilder<NodeName extends string = any, Attrs extends {
614
612
  [key: string | number]: any;
615
- } = {}, Children extends encoding.AnyEncodable | DeltaAny | never = never, Text extends string | never = never, Schema extends s.Schema<Delta<any, any, any, any, any>> | null = any> extends Delta<NodeName, Attrs, Children, Text, Schema> {
613
+ } = {}, Children extends fingerprintTrait.Fingerprintable = never, Text extends string = never, Schema extends s.Schema<Delta<any, any, any, any, any>> | null = any> extends Delta<NodeName, Attrs, Children, Text, Schema> {
616
614
  /**
617
615
  * @type {FormattingAttributes?}
618
616
  */
@@ -752,11 +750,94 @@ export class DeltaBuilder<NodeName extends string = any, Attrs extends {
752
750
  * @param {boolean} priority
753
751
  */
754
752
  rebaseOnInverse(other: DeltaAny, priority: boolean): this;
753
+ /**
754
+ * Append child ops from one op to the other.
755
+ *
756
+ * delta.create().insert('a').append(delta.create().insert('b')) // => insert "ab"
757
+ *
758
+ * @template {DeltaAny} OtherDelta
759
+ * @param {OtherDelta} other
760
+ * @return {CastToDelta<OtherDelta> extends Delta<any,any,infer OtherChildren,infer OtherText,any> ? DeltaBuilder<NodeName,Attrs,Children|OtherChildren,Text|OtherText,Schema> : never}
761
+ */
762
+ append<OtherDelta extends DeltaAny>(other: OtherDelta): CastToDelta<OtherDelta> extends Delta<any, any, infer OtherChildren, infer OtherText, any> ? DeltaBuilder<NodeName, Attrs, Children | OtherChildren, Text | OtherText, Schema> : never;
763
+ }
764
+ /**
765
+ * @template {DeltaAny} D
766
+ * @typedef {D extends DeltaBuilder<infer N,infer Attrs,infer Children,infer Text,infer Schema> ? Delta<N,Attrs,Children,Text,Schema> : D} CastToDelta
767
+ */
768
+ /**
769
+ * @template {string} NodeName
770
+ * @template {{ [key: string|number]: any }} [Attrs={}]
771
+ * @template {fingerprintTrait.Fingerprintable|never} [Children=never]
772
+ * @template {string|never} [Text=never]
773
+ * @typedef {Delta<NodeName,Attrs,Children|Delta<NodeName,Attrs,Children,Text>|RecursiveDelta<NodeName,Attrs,Children,Text>,Text>} RecursiveDelta
774
+ */
775
+ /**
776
+ * @template {string} Name
777
+ * @template {{[k:string|number]:any}} Attrs
778
+ * @template {fingerprintTrait.Fingerprintable} Children
779
+ * @template {boolean} HasText
780
+ * @template {{ [k:string]:any }} Formats
781
+ * @template {boolean} Recursive
782
+ * @extends {s.Schema<Delta<
783
+ * Name,
784
+ * Attrs,
785
+ * Children|(Recursive extends true ? RecursiveDelta<Name,Attrs,Children,HasText extends true ? string : never> : never),
786
+ * HasText extends true ? string : never,
787
+ * any>>}
788
+ */
789
+ export class $Delta<Name extends string, Attrs extends {
790
+ [k: string | number]: any;
791
+ }, Children extends fingerprintTrait.Fingerprintable, HasText extends boolean, Formats extends {
792
+ [k: string]: any;
793
+ }, Recursive extends boolean> extends s.Schema<Delta<Name, Attrs, Children | (Recursive extends true ? RecursiveDelta<Name, Attrs, Children, HasText extends true ? string : never> : never), HasText extends true ? string : never, any>> {
794
+ /**
795
+ * @param {s.Schema<Name>} $name
796
+ * @param {s.Schema<Attrs>} $attrs
797
+ * @param {s.Schema<Children>} $children
798
+ * @param {HasText} hasText
799
+ * @param {s.Schema<Formats>} $formats
800
+ * @param {Recursive} recursive
801
+ */
802
+ constructor($name: s.Schema<Name>, $attrs: s.Schema<Attrs>, $children: s.Schema<Children>, hasText: HasText, $formats: s.Schema<Formats>, recursive: Recursive);
803
+ shape: {
804
+ $name: s.Schema<Name>;
805
+ $attrs: s.Schema<Attrs> | s.Schema<Partial<s.$ObjectToType<{
806
+ [key: string]: s.Schema<any>;
807
+ [key: number]: s.Schema<any>;
808
+ [key: symbol]: s.Schema<any>;
809
+ }>>>;
810
+ $children: s.Schema<Children>;
811
+ hasText: HasText;
812
+ $formats: s.Schema<Formats>;
813
+ };
755
814
  }
756
815
  export function $delta<NodeNameSchema extends s.Schema<string> | string | Array<string> = s.Schema<any>, AttrsSchema extends s.Schema<{
757
816
  [key: string | number]: any;
758
817
  }> | {
759
818
  [key: string | number]: any;
819
+ } = s.Schema<{}>, ChildrenSchema extends unknown = s.Schema<never>, HasText extends boolean = false, Recursive extends boolean = false, Formats extends {
820
+ [k: string]: any;
821
+ } = {
822
+ [k: string]: any;
823
+ }>({ name, attrs, children, text, formats, recursive }: {
824
+ name?: NodeNameSchema | null | undefined;
825
+ attrs?: AttrsSchema | null | undefined;
826
+ children?: ChildrenSchema | null | undefined;
827
+ text?: HasText | undefined;
828
+ formats?: Formats | undefined;
829
+ recursive?: Recursive | undefined;
830
+ }): [s.Unwrap<s.ReadSchema<NodeNameSchema>>, s.Unwrap<s.ReadSchema<AttrsSchema>>, s.Unwrap<s.ReadSchema<ChildrenSchema>>] extends [infer NodeName_1, infer Attrs_1, infer Children_1] ? s.Schema<Delta<NodeName_1, Attrs_1, Children_1 | (Recursive extends true ? RecursiveDelta<NodeName_1, Attrs_1, Children_1, HasText extends true ? string : never> : never), HasText extends true ? string : never>> : never;
831
+ export const $$delta: s.Schema<$Delta<string, {
832
+ [k: string]: any;
833
+ [k: number]: any;
834
+ }, fingerprintTrait.Fingerprintable, boolean, {
835
+ [k: string]: any;
836
+ }, boolean>>;
837
+ export function _$delta<NodeNameSchema extends s.Schema<string> | string | Array<string> = s.Schema<any>, AttrsSchema extends s.Schema<{
838
+ [key: string | number]: any;
839
+ }> | {
840
+ [key: string | number]: any;
760
841
  } = s.Schema<{}>, ChildrenSchema extends unknown = s.Schema<never>, HasText extends boolean = false, Recursive extends boolean = false>({ name, attrs, children, text, recursive }: {
761
842
  name?: NodeNameSchema | null | undefined;
762
843
  attrs?: AttrsSchema | null | undefined;
@@ -772,6 +853,7 @@ export function mergeAttrs<T extends {
772
853
  [key: string]: any;
773
854
  }>(a: T | null, b: T | null): T | null;
774
855
  export function mergeDeltas<D extends DeltaAny | null>(a: D, b: D): D;
856
+ export function random<D extends DeltaAny>(gen: prng.PRNG, $d: s.Schema<D>): D extends Delta<infer NodeName_1, infer Attrs_1, infer Children_1, infer Text, infer Schema_1> ? DeltaBuilder<NodeName_1, Attrs_1, Children_1, Text, Schema_1> : never;
775
857
  /**
776
858
  * @overload
777
859
  * @return {DeltaBuilder<any,{},never,never,null>}
@@ -883,7 +965,6 @@ export type DeltaAttrOpJSON = {
883
965
  export type ChildrenOpAny = TextOp | InsertOp<any> | DeleteOp | RetainOp | ModifyOp<any>;
884
966
  export type AttrOpAny = AttrInsertOp<any> | AttrDeleteOp<any> | AttrModifyOp;
885
967
  export type _OpAny = ChildrenOpAny | AttrOpAny;
886
- export type Q = unknown & DeltaAny;
887
968
  export type MergeListArrays<C1 extends Array<any> | string, C2 extends Array<any> | string> = Extract<C1 | C2, Array<any>> extends never ? never : (Array<(Extract<C1 | C2, Array<any>> extends Array<infer AC1> ? (unknown extends AC1 ? never : AC1) : never)>);
888
969
  export type AddToAttrs<Attrs_1 extends { [Key in string | number]: any; }, Key extends string | number, Val extends unknown> = { [K in (Key | keyof Attrs_1)]: (unknown extends Attrs_1[K] ? never : Attrs_1[K]) | (Key extends K ? Val : never); };
889
970
  export type MergeAttrs<Attrs_1 extends { [Key in string | number | symbol]: any; }, NewAttrs extends { [Key in string | number | symbol]: any; }> = { [K in (keyof NewAttrs | keyof Attrs_1)]: (unknown extends Attrs_1[K] ? never : Attrs_1[K]) | (unknown extends NewAttrs[K] ? never : NewAttrs[K]); };
@@ -897,13 +978,14 @@ export type DeltaAny = Delta<any, {
897
978
  export type DeltaBuilderAny = DeltaBuilder<any, {
898
979
  [k: string | number]: any;
899
980
  }, any, any, any>;
981
+ export type CastToDelta<D extends DeltaAny> = D extends DeltaBuilder<infer N, infer Attrs_1, infer Children_1, infer Text, infer Schema_1> ? Delta<N, Attrs_1, Children_1, Text, Schema_1> : D;
900
982
  export type RecursiveDelta<NodeName_1 extends string, Attrs_1 extends {
901
983
  [key: string | number]: any;
902
- } = {}, Children_1 extends encoding.AnyEncodable | DeltaAny | never = never, Text extends string | never = never> = Delta<NodeName_1, Attrs_1, Children_1 | Delta<NodeName_1, Attrs_1, Children_1, Text> | RecursiveDelta<NodeName_1, Attrs_1, Children_1, Text>, Text>;
903
- export type TextDelta<Embeds extends encoding.AnyEncodable | DeltaAny = never> = Delta<any, {}, Embeds, string>;
904
- export type TextDeltaBuilder<Embeds extends encoding.AnyEncodable | DeltaAny = never> = DeltaBuilder<any, {}, Embeds, string>;
905
- export type ArrayDelta<Children_1 extends encoding.AnyEncodable | DeltaAny> = Delta<any, {}, Children_1, never>;
906
- export type ArrayDeltaBuilder<Children_1 extends encoding.AnyEncodable | DeltaAny> = DeltaBuilder<any, {}, Children_1, never>;
984
+ } = {}, Children_1 extends fingerprintTrait.Fingerprintable | never = never, Text extends string | never = never> = Delta<NodeName_1, Attrs_1, Children_1 | Delta<NodeName_1, Attrs_1, Children_1, Text> | RecursiveDelta<NodeName_1, Attrs_1, Children_1, Text>, Text>;
985
+ export type TextDelta<Embeds extends fingerprintTrait.Fingerprintable = never> = Delta<any, {}, Embeds, string>;
986
+ export type TextDeltaBuilder<Embeds extends fingerprintTrait.Fingerprintable = never> = DeltaBuilder<any, {}, Embeds, string>;
987
+ export type ArrayDelta<Children_1 extends fingerprintTrait.Fingerprintable> = Delta<any, {}, Children_1, never>;
988
+ export type ArrayDeltaBuilder<Children_1 extends fingerprintTrait.Fingerprintable> = DeltaBuilder<any, {}, Children_1, never>;
907
989
  export type MapDelta<Attrs_1 extends {
908
990
  [K: string | number]: any;
909
991
  }> = Delta<any, Attrs_1, never, never>;
@@ -912,6 +994,7 @@ export type MapDeltaBuilder<Attrs_1 extends {
912
994
  }> = DeltaBuilder<any, Attrs_1, never, never>;
913
995
  import * as s from '../schema.js';
914
996
  import * as list from '../list.js';
915
- import * as traits from '../traits.js';
916
- import * as encoding from '../encoding.js';
917
- //# sourceMappingURL=d2.d.ts.map
997
+ import * as equalityTrait from '../trait/equality.js';
998
+ import * as fingerprintTrait from '../trait/fingerprint.js';
999
+ import * as prng from '../prng.js';
1000
+ //# sourceMappingURL=delta.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delta.d.ts","sourceRoot":"","sources":["../../delta/delta.js"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  export function testDeltaBasicApi(_tc: t.TestCase): void;
2
2
  export function testDeltaValues(_tc: t.TestCase): void;
3
3
  export function testDeltaBasicCases(): void;
4
+ export function testDeltaArrayBasics(): void;
4
5
  export function testAssignability(): void;
5
6
  export function testText(): void;
6
7
  export function testDelta(_tc: t.TestCase): void;
@@ -16,6 +17,10 @@ export function testNodeDelta(_tc: t.TestCase): void;
16
17
  export function testRecursiveNode(): void;
17
18
  export function testSimplifiedDeltaSchemaDefinition(): void;
18
19
  export function testDiffing(): void;
20
+ export function testDiffingCommonPreSuffix(): void;
19
21
  export function testSlice(): void;
22
+ export function testRepeatRandomListDiff(tc: t.TestCase): void;
23
+ export function testRepeatRandomMapDiff(tc: t.TestCase): void;
24
+ export function testDeltaAppend(tc: t.TestCase): void;
20
25
  import * as t from 'lib0/testing';
21
- //# sourceMappingURL=d2.test.d.ts.map
26
+ //# sourceMappingURL=delta.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delta.test.d.ts","sourceRoot":"","sources":["../../delta/delta.test.js"],"names":[],"mappings":"AAqCO,uCAFI,CAAC,CAAC,QAAQ,QAWpB;AAYM,qCAFI,CAAC,CAAC,QAAQ,QAwBpB;AAEM,4CA2BN;AAEM,6CAMN;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,4DAIN;AAEM,oCAMN;AAEM,mDAMN;AAEM,kCAGN;AAKM,6CAFI,CAAC,CAAC,QAAQ,QAWpB;AAKM,4CAFI,CAAC,CAAC,QAAQ,QAWpB;AAKM,oCAFI,CAAC,CAAC,QAAQ,QAQpB;mBAzrBkB,cAAc"}
@@ -15,5 +15,5 @@ export type Transform<DeltaA extends delta.Delta, DeltaB extends delta.Delta> =
15
15
  applyA: (da: DeltaA) => TransformResult<DeltaA, DeltaB>;
16
16
  applyB: (db: DeltaB) => TransformResult<DeltaA, DeltaB>;
17
17
  };
18
- import * as delta from './d2.js';
18
+ import * as delta from './delta.js';
19
19
  //# sourceMappingURL=t3.test.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"t3.test.d.ts","sourceRoot":"","sources":["../../delta/t3.test.js"],"names":[],"mappings":"AAoBO,gCAN4B,MAAM,SAA3B,KAAK,CAAC,YAAY,OAAE,EACC,MAAM,SAA3B,KAAK,CAAC,YAAY,OAAE,KACvB,MAAM,KACN,MAAM,GACL,eAAe,CAAC,MAAM,OAAC,EAAC,MAAM,OAAC,CAAC,CAEO;AACnD,+DAA+D;4BAbnC,MAAM,SAApB,KAAK,CAAC,KAAK,OAAE,EACC,MAAM,SAApB,KAAK,CAAC,KAAK,OAAE,IACd;IAAE,CAAC,EAAE,MAAM,OAAC,CAAC;IAAC,CAAC,EAAE,MAAM,OAAC,CAAA;CAAE;6BAiBT,MAAM,SAAtB,KAAK,CAAC,QAAS,EACC,MAAM,SAAtB,KAAK,CAAC,QAAS,IAChB,CAAC,CAAC,EAAC;IAAC,CAAC,EAAC,MAAM,OAAC,CAAC;IAAA,CAAC,EAAC,MAAM,OAAC,CAAA;CAAC,KAAG,CAAC;IAAC,CAAC,EAAC,MAAM,OAAC,CAAC;IAAA,CAAC,EAAC,MAAM,OAAC,CAAA;CAAC,CAAC;sBA2GpC,MAAM,SAAnB,KAAK,CAAC,KAAM,EACC,MAAM,SAAnB,KAAK,CAAC,KAAM,IACb;IAAE,MAAM,EAAE,CAAC,EAAE,EAAC,MAAM,KAAG,eAAe,CAAC,MAAM,EAAC,MAAM,CAAC,CAAC;IAAC,MAAM,EAAE,CAAC,EAAE,EAAC,MAAM,KAAG,eAAe,CAAC,MAAM,EAAC,MAAM,CAAC,CAAA;CAAE;uBAvIlG,SAAS"}
1
+ {"version":3,"file":"t3.test.d.ts","sourceRoot":"","sources":["../../delta/t3.test.js"],"names":[],"mappings":"AAoBO,gCAN4B,MAAM,SAA3B,KAAK,CAAC,YAAY,OAAE,EACC,MAAM,SAA3B,KAAK,CAAC,YAAY,OAAE,KACvB,MAAM,KACN,MAAM,GACL,eAAe,CAAC,MAAM,OAAC,EAAC,MAAM,OAAC,CAAC,CAEO;AACnD,+DAA+D;4BAbnC,MAAM,SAApB,KAAK,CAAC,KAAK,OAAE,EACC,MAAM,SAApB,KAAK,CAAC,KAAK,OAAE,IACd;IAAE,CAAC,EAAE,MAAM,OAAC,CAAC;IAAC,CAAC,EAAE,MAAM,OAAC,CAAA;CAAE;6BAiBT,MAAM,SAAtB,KAAK,CAAC,QAAS,EACC,MAAM,SAAtB,KAAK,CAAC,QAAS,IAChB,CAAC,CAAC,EAAC;IAAC,CAAC,EAAC,MAAM,OAAC,CAAC;IAAA,CAAC,EAAC,MAAM,OAAC,CAAA;CAAC,KAAG,CAAC;IAAC,CAAC,EAAC,MAAM,OAAC,CAAC;IAAA,CAAC,EAAC,MAAM,OAAC,CAAA;CAAC,CAAC;sBA2GpC,MAAM,SAAnB,KAAK,CAAC,KAAM,EACC,MAAM,SAAnB,KAAK,CAAC,KAAM,IACb;IAAE,MAAM,EAAE,CAAC,EAAE,EAAC,MAAM,KAAG,eAAe,CAAC,MAAM,EAAC,MAAM,CAAC,CAAC;IAAC,MAAM,EAAE,CAAC,EAAE,EAAC,MAAM,KAAG,eAAe,CAAC,MAAM,EAAC,MAAM,CAAC,CAAA;CAAE;uBAvIlG,YAAY"}