lib0 0.2.115-4 → 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} +244 -53
  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} +253 -58
  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
package/dist/ops.cjs DELETED
@@ -1,575 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- var abstract = require('./abstract.cjs');
6
- var object = require('./object-18980796.cjs');
7
- var traits = require('./traits.cjs');
8
- var _function = require('./function-e7d18feb.cjs');
9
- var schema = require('./schema.cjs');
10
- var list = require('./list.cjs');
11
- require('./error-0c1f634f.cjs');
12
- require('./array-78849c95.cjs');
13
- require('./set-5b47859e.cjs');
14
- require('./environment-90227ead.cjs');
15
- require('./map-24d263c0.cjs');
16
- require('./string-fddc5f8b.cjs');
17
- require('./conditions-f5c0c102.cjs');
18
- require('./storage.cjs');
19
-
20
- /**
21
- * @template {any} Content
22
- * @typedef {TextOp|InsertOp<Content>|RetainOp|DeleteOp|(Content extends d.AbstractDelta ? ModifyOp<Extract<Content,d.AbstractDelta>> : never)} AbstractDeltaArrayOps
23
- */
24
-
25
- /**
26
- * @template Content
27
- * @template {boolean} [WithText=false]
28
- * @typedef {InsertOp<Content>|RetainOp|DeleteOp|(Content extends d.AbstractDelta ? ModifyOp<Extract<Content,d.AbstractDelta>> : never)|(WithText extends true ? TextOp : never)} DeltaArrayOps
29
- */
30
-
31
- /**
32
- * @template Embeds
33
- * @typedef {TextOp|InsertOp<Embeds>|RetainOp|DeleteOp|(Embeds extends d.AbstractDelta ? ModifyOp<Extract<Embeds,d.AbstractDelta>> : never)} DeltaTextOps
34
- */
35
-
36
- /**
37
- * @template {any} Content
38
- * @typedef {AbstractDeltaArrayOps<Content>} NodeChildrenOps
39
- */
40
-
41
- /**
42
- * @typedef {s.Unwrap<$anyOp>} DeltaOps
43
- */
44
-
45
- /**
46
- * @typedef {MapInsertOp<any>|MapDeleteOp<any>|MapModifyOp<any>} DeltaMapOps
47
- */
48
-
49
- /**
50
- * @typedef {MapInsertOp<any,''>|MapDeleteOp<any,''>|MapModifyOp<any,''>} DeltaValueOps
51
- */
52
-
53
- /**
54
- * @typedef {{ [key: string]: any }} FormattingAttributes
55
- */
56
-
57
- /**
58
- * @typedef {{ insert: string|object, attributes?: { [key: string]: any }, attribution?: d.Attribution } | { delete: number } | { retain: number, attributes?: { [key:string]: any }, attribution?: d.Attribution } | { modify: object }} DeltaJsonOp
59
- */
60
-
61
- /**
62
- * @template {{[key:string]: any} | null} Attrs
63
- * @param {Attrs} attrs
64
- * @return {Attrs}
65
- */
66
- const _cloneAttrs = attrs => attrs == null ? attrs : { ...attrs };
67
- /**
68
- * @template {any} MaybeDelta
69
- * @param {MaybeDelta} maybeDelta
70
- * @return {MaybeDelta}
71
- */
72
- const _cloneMaybeDelta = maybeDelta => abstract.$delta.check(maybeDelta) ? maybeDelta.clone() : maybeDelta;
73
-
74
- class TextOp extends list.ListNode {
75
- /**
76
- * @param {string} insert
77
- * @param {FormattingAttributes|null} attributes
78
- * @param {d.Attribution|null} attribution
79
- */
80
- constructor (insert, attributes, attribution) {
81
- super();
82
- this.insert = insert;
83
- this.attributes = attributes;
84
- this.attribution = attribution;
85
- }
86
-
87
- /**
88
- * @return {'insert'}
89
- */
90
- get type () {
91
- return 'insert'
92
- }
93
-
94
- get length () {
95
- return this.insert.length
96
- }
97
-
98
- /**
99
- * Remove a part of the operation (similar to Array.splice)
100
- *
101
- * @param {number} offset
102
- * @param {number} len
103
- */
104
- _splice (offset, len) {
105
- this.insert = this.insert.slice(0, offset) + this.insert.slice(offset + len);
106
- }
107
-
108
- /**
109
- * @return {DeltaJsonOp}
110
- */
111
- toJSON () {
112
- return object.assign({ insert: this.insert }, this.attributes ? { attributes: this.attributes } : ({}), this.attribution ? { attribution: this.attribution } : ({}))
113
- }
114
-
115
- /**
116
- * @param {TextOp} other
117
- */
118
- [traits.EqualityTraitSymbol] (other) {
119
- return _function.equalityDeep(this.insert, other.insert) && _function.equalityDeep(this.attributes, other.attributes) && _function.equalityDeep(this.attribution, other.attribution)
120
- }
121
-
122
- /**
123
- * @return {TextOp}
124
- */
125
- clone () {
126
- return new TextOp(this.insert, _cloneAttrs(this.attributes), _cloneAttrs(this.attribution))
127
- }
128
- }
129
-
130
- /**
131
- * @template {any} ArrayContent
132
- */
133
- class InsertOp extends list.ListNode {
134
- /**
135
- * @param {Array<ArrayContent>} insert
136
- * @param {FormattingAttributes|null} attributes
137
- * @param {d.Attribution|null} attribution
138
- */
139
- constructor (insert, attributes, attribution) {
140
- super();
141
- this.insert = insert;
142
- this.attributes = attributes;
143
- this.attribution = attribution;
144
- }
145
-
146
- /**
147
- * @return {'insert'}
148
- */
149
- get type () {
150
- return 'insert'
151
- }
152
-
153
- get length () {
154
- return this.insert.length
155
- }
156
-
157
- /**
158
- * Remove a part of the operation (similar to Array.splice)
159
- *
160
- * @param {number} offset
161
- * @param {number} len
162
- */
163
- _splice (offset, len) {
164
- this.insert.splice(offset, len);
165
- }
166
-
167
- /**
168
- * @return {DeltaJsonOp}
169
- */
170
- toJSON () {
171
- return object.assign({ insert: this.insert.map(ins => abstract.$delta.check(ins) ? ins.toJSON() : ins) }, this.attributes ? { attributes: this.attributes } : ({}), this.attribution ? { attribution: this.attribution } : ({}))
172
- }
173
-
174
- /**
175
- * @param {InsertOp<ArrayContent>} other
176
- */
177
- [traits.EqualityTraitSymbol] (other) {
178
- return _function.equalityDeep(this.insert, other.insert) && _function.equalityDeep(this.attributes, other.attributes) && _function.equalityDeep(this.attribution, other.attribution)
179
- }
180
-
181
- /**
182
- * @return {InsertOp<ArrayContent>}
183
- */
184
- clone () {
185
- return new InsertOp(this.insert.slice(), _cloneAttrs(this.attributes), _cloneAttrs(this.attribution))
186
- }
187
- }
188
-
189
- class DeleteOp extends list.ListNode {
190
- /**
191
- * @param {number} len
192
- */
193
- constructor (len) {
194
- super();
195
- this.delete = len;
196
- }
197
-
198
- /**
199
- * @return {'delete'}
200
- */
201
- get type () {
202
- return 'delete'
203
- }
204
-
205
- get length () {
206
- return 0
207
- }
208
-
209
- /**
210
- * Remove a part of the operation (similar to Array.splice)
211
- *
212
- * @param {number} offset
213
- * @param {number} len
214
- */
215
- _splice (offset, len) {
216
- this.delete -= len;
217
- }
218
-
219
- /**
220
- * @return {DeltaJsonOp}
221
- */
222
- toJSON () {
223
- return { delete: this.delete }
224
- }
225
-
226
- /**
227
- * @param {DeleteOp} other
228
- */
229
- [traits.EqualityTraitSymbol] (other) {
230
- return this.delete === other.delete
231
- }
232
-
233
- clone () {
234
- return new DeleteOp(this.delete)
235
- }
236
- }
237
-
238
- class RetainOp extends list.ListNode {
239
- /**
240
- * @param {number} retain
241
- * @param {FormattingAttributes|null} attributes
242
- * @param {d.Attribution|null} attribution
243
- */
244
- constructor (retain, attributes, attribution) {
245
- super();
246
- this.retain = retain;
247
- this.attributes = attributes;
248
- this.attribution = attribution;
249
- }
250
-
251
- /**
252
- * @return {'retain'}
253
- */
254
- get type () {
255
- return 'retain'
256
- }
257
-
258
- get length () {
259
- return this.retain
260
- }
261
-
262
- /**
263
- * Remove a part of the operation (similar to Array.splice)
264
- *
265
- * @param {number} _offset
266
- * @param {number} len
267
- */
268
- _splice (_offset, len) {
269
- this.retain -= len;
270
- }
271
-
272
- /**
273
- * @return {DeltaJsonOp}
274
- */
275
- toJSON () {
276
- return object.assign({ retain: this.retain }, this.attributes ? { attributes: this.attributes } : {}, this.attribution ? { attribution: this.attribution } : {})
277
- }
278
-
279
- /**
280
- * @param {RetainOp} other
281
- */
282
- [traits.EqualityTraitSymbol] (other) {
283
- return this.retain === other.retain && _function.equalityDeep(this.attributes, other.attributes) && _function.equalityDeep(this.attribution, other.attribution)
284
- }
285
-
286
- clone () {
287
- return new RetainOp(this.retain, _cloneAttrs(this.attributes), _cloneAttrs(this.attribution))
288
- }
289
- }
290
-
291
- /**
292
- * Delta that can be applied on a YType Embed
293
- *
294
- * @template {{ toJSON(): any } & traits.EqualityTrait & { clone: any }} DTypes
295
- */
296
- class ModifyOp extends list.ListNode {
297
- /**
298
- * @param {DTypes} delta
299
- * @param {FormattingAttributes|null} attributes
300
- * @param {d.Attribution|null} attribution
301
- */
302
- constructor (delta, attributes, attribution) {
303
- super();
304
- this.modify = delta;
305
- this.attributes = attributes;
306
- this.attribution = attribution;
307
- }
308
-
309
- /**
310
- * @return {'modify'}
311
- */
312
- get type () {
313
- return 'modify'
314
- }
315
-
316
- get length () {
317
- return 1
318
- }
319
-
320
- /**
321
- * Remove a part of the operation (similar to Array.splice)
322
- *
323
- * @param {number} _offset
324
- * @param {number} len
325
- */
326
- _splice (_offset, len) {
327
- }
328
-
329
- /**
330
- * @return {DeltaJsonOp}
331
- */
332
- toJSON () {
333
- return object.assign({ modify: this.modify.toJSON() }, this.attributes ? { attributes: this.attributes } : {}, this.attribution ? { attribution: this.attribution } : {})
334
- }
335
-
336
- /**
337
- * @param {ModifyOp<any>} other
338
- */
339
- [traits.EqualityTraitSymbol] (other) {
340
- return this.modify[traits.EqualityTraitSymbol](other.modify) && _function.equalityDeep(this.attributes, other.attributes) && _function.equalityDeep(this.attribution, other.attribution)
341
- }
342
-
343
- /**
344
- * @return {ModifyOp<DTypes>}
345
- */
346
- clone () {
347
- return new ModifyOp(this.modify.clone(), _cloneAttrs(this.attributes), _cloneAttrs(this.attribution))
348
- }
349
- }
350
-
351
- /**
352
- * @template V
353
- * @template [K=string]
354
- */
355
- class MapInsertOp {
356
- /**
357
- * @param {K} key
358
- * @param {V} value
359
- * @param {V|undefined} prevValue
360
- * @param {s.TypeOf<d.$attribution>?} attribution
361
- */
362
- constructor (key, value, prevValue, attribution) {
363
- /**
364
- * @type {K}
365
- */
366
- this.key = key;
367
- /**
368
- * @type {V}
369
- */
370
- this.value = value;
371
- /**
372
- * @type {V|undefined}
373
- */
374
- this.prevValue = prevValue;
375
- this.attribution = attribution;
376
- }
377
-
378
- /**
379
- * @return {'insert'}
380
- */
381
- get type () { return 'insert' }
382
-
383
- toJSON () {
384
- return {
385
- type: this.type,
386
- value: abstract.$delta.check(this.value) ? this.value.toJSON() : this.value,
387
- attribution: this.attribution
388
- }
389
- }
390
-
391
- /**
392
- * @param {MapInsertOp<V>} other
393
- */
394
- [traits.EqualityTraitSymbol] (other) {
395
- return this.key === other.key && _function.equalityDeep(this.value, other.value) && _function.equalityDeep(this.attribution, other.attribution)
396
- }
397
-
398
- /**
399
- * @return {MapInsertOp<V,K>}
400
- */
401
- clone () {
402
- return new MapInsertOp(this.key, _cloneMaybeDelta(this.value), _cloneMaybeDelta(this.prevValue), _cloneAttrs(this.attribution))
403
- }
404
- }
405
-
406
- /**
407
- * @template V
408
- * @template [K=string]
409
- */
410
- class MapDeleteOp {
411
- /**
412
- * @param {K} key
413
- * @param {V|undefined} prevValue
414
- * @param {s.TypeOf<d.$attribution>?} attribution
415
- */
416
- constructor (key, prevValue, attribution) {
417
- /**
418
- * @type {K}
419
- */
420
- this.key = key;
421
- /**
422
- * @type {V|undefined}
423
- */
424
- this.prevValue = prevValue;
425
- this.attribution = attribution;
426
- }
427
-
428
- get value () { return undefined }
429
-
430
- /**
431
- * @type {'delete'}
432
- */
433
- get type () { return 'delete' }
434
-
435
- toJSON () {
436
- return {
437
- type: this.type,
438
- attribution: this.attribution
439
- }
440
- }
441
-
442
- /**
443
- * @param {MapDeleteOp<V>} other
444
- */
445
- [traits.EqualityTraitSymbol] (other) {
446
- return this.key === other.key && _function.equalityDeep(this.attribution, other.attribution)
447
- }
448
-
449
- clone () {
450
- return new MapDeleteOp(this.key, _cloneMaybeDelta(this.prevValue), _cloneAttrs(this.attribution))
451
- }
452
- }
453
-
454
- /**
455
- * @template {d.AbstractDelta} Modifiers
456
- * @template [K=string]
457
- */
458
- class MapModifyOp {
459
- /**
460
- * @param {K} key
461
- * @param {Modifiers} delta
462
- */
463
- constructor (key, delta) {
464
- /**
465
- * @type {K}
466
- */
467
- this.key = key;
468
- /**
469
- * @type {Modifiers}
470
- */
471
- this.value = delta;
472
- }
473
-
474
- /**
475
- * @type {'modify'}
476
- */
477
- get type () { return 'modify' }
478
-
479
- toJSON () {
480
- return {
481
- type: this.type,
482
- value: this.value.toJSON()
483
- }
484
- }
485
-
486
- /**
487
- * @param {MapModifyOp<Modifiers>} other
488
- */
489
- [traits.EqualityTraitSymbol] (other) {
490
- return this.key === other.key && this.value[traits.EqualityTraitSymbol](other.value)
491
- }
492
-
493
- /**
494
- * @return {MapModifyOp<Modifiers,K>}
495
- */
496
- clone () {
497
- return new MapModifyOp(this.key, this.value.clone())
498
- }
499
- }
500
-
501
- const $deltaMapChangeJson = schema.$union(
502
- schema.$object({ type: schema.$literal('insert'), value: schema.$any, attribution: abstract.$attribution.nullable.optional }),
503
- schema.$object({ type: schema.$literal('modify'), value: schema.$any }),
504
- schema.$object({ type: schema.$literal('delete'), attribution: abstract.$attribution.nullable.optional })
505
- );
506
-
507
- /**
508
- * @type {s.Schema<MapDeleteOp<any> | DeleteOp>}
509
- */
510
- const $deleteOp = schema.$custom(o => o != null && (o.constructor === DeleteOp || o.constructor === MapDeleteOp));
511
-
512
- /**
513
- * @type {s.Schema<MapInsertOp<any> | InsertOp<any>>}
514
- */
515
- const $insertOp = schema.$custom(o => o != null && (o.constructor === MapInsertOp || o.constructor === InsertOp));
516
-
517
- /**
518
- * @template Content
519
- * @param {s.Schema<Content>} $content
520
- * @return {s.Schema<MapInsertOp<Content> | InsertOp<Content>>}
521
- */
522
- const $insertOpWith = $content => schema.$custom(o =>
523
- o != null && (
524
- (o.constructor === MapInsertOp && $content.check(/** @type {MapInsertOp<Content>} */ (o).value)) ||
525
- (o.constructor === InsertOp && /** @type {InsertOp<Content>} */ (o).insert.every(ins => $content.check(ins)))
526
- )
527
- );
528
-
529
- /**
530
- * @type {s.Schema<TextOp>}
531
- */
532
- const $textOp = schema.$constructedBy(TextOp);
533
-
534
- /**
535
- * @type {s.Schema<RetainOp>}
536
- */
537
- const $retainOp = schema.$constructedBy(RetainOp);
538
-
539
- /**
540
- * @type {s.Schema<MapModifyOp<any> | ModifyOp<any>>}
541
- */
542
- const $modifyOp = schema.$custom(o => o != null && (o.constructor === MapModifyOp || o.constructor === ModifyOp));
543
-
544
- /**
545
- * @template {d.AbstractDelta} Modify
546
- * @param {s.Schema<Modify>} $content
547
- * @return {s.Schema<MapModifyOp<Modify> | ModifyOp<Modify>>}
548
- */
549
- const $modifyOpWith = $content => schema.$custom(o =>
550
- o != null && (
551
- (o.constructor === MapModifyOp && $content.check(/** @type {MapModifyOp<Modify>} */ (o).value)) ||
552
- (o.constructor === ModifyOp && $content.check(/** @type {ModifyOp<Modify>} */ (o).modify))
553
- )
554
- );
555
-
556
- const $anyOp = schema.$union($insertOp, $deleteOp, $textOp, $modifyOp);
557
-
558
- exports.$anyOp = $anyOp;
559
- exports.$deleteOp = $deleteOp;
560
- exports.$deltaMapChangeJson = $deltaMapChangeJson;
561
- exports.$insertOp = $insertOp;
562
- exports.$insertOpWith = $insertOpWith;
563
- exports.$modifyOp = $modifyOp;
564
- exports.$modifyOpWith = $modifyOpWith;
565
- exports.$retainOp = $retainOp;
566
- exports.$textOp = $textOp;
567
- exports.DeleteOp = DeleteOp;
568
- exports.InsertOp = InsertOp;
569
- exports.MapDeleteOp = MapDeleteOp;
570
- exports.MapInsertOp = MapInsertOp;
571
- exports.MapModifyOp = MapModifyOp;
572
- exports.ModifyOp = ModifyOp;
573
- exports.RetainOp = RetainOp;
574
- exports.TextOp = TextOp;
575
- //# sourceMappingURL=ops.cjs.map
package/dist/ops.cjs.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"ops.cjs","sources":["../delta/ops.js"],"sourcesContent":["import * as d from './abstract.js'\nimport * as object from '../object.js'\nimport * as traits from '../traits.js'\nimport * as fun from '../function.js'\nimport * as s from '../schema.js'\nimport * as list from '../list.js'\n\n/**\n * @template {any} Content\n * @typedef {TextOp|InsertOp<Content>|RetainOp|DeleteOp|(Content extends d.AbstractDelta ? ModifyOp<Extract<Content,d.AbstractDelta>> : never)} AbstractDeltaArrayOps\n */\n\n/**\n * @template Content\n * @template {boolean} [WithText=false]\n * @typedef {InsertOp<Content>|RetainOp|DeleteOp|(Content extends d.AbstractDelta ? ModifyOp<Extract<Content,d.AbstractDelta>> : never)|(WithText extends true ? TextOp : never)} DeltaArrayOps\n */\n\n/**\n * @template Embeds\n * @typedef {TextOp|InsertOp<Embeds>|RetainOp|DeleteOp|(Embeds extends d.AbstractDelta ? ModifyOp<Extract<Embeds,d.AbstractDelta>> : never)} DeltaTextOps\n */\n\n/**\n * @template {any} Content\n * @typedef {AbstractDeltaArrayOps<Content>} NodeChildrenOps\n */\n\n/**\n * @typedef {s.Unwrap<$anyOp>} DeltaOps\n */\n\n/**\n * @typedef {MapInsertOp<any>|MapDeleteOp<any>|MapModifyOp<any>} DeltaMapOps\n */\n\n/**\n * @typedef {MapInsertOp<any,''>|MapDeleteOp<any,''>|MapModifyOp<any,''>} DeltaValueOps\n */\n\n/**\n * @typedef {{ [key: string]: any }} FormattingAttributes\n */\n\n/**\n * @typedef {{ insert: string|object, attributes?: { [key: string]: any }, attribution?: d.Attribution } | { delete: number } | { retain: number, attributes?: { [key:string]: any }, attribution?: d.Attribution } | { modify: object }} DeltaJsonOp\n */\n\n/**\n * @template {{[key:string]: any} | null} Attrs\n * @param {Attrs} attrs\n * @return {Attrs}\n */\nconst _cloneAttrs = attrs => attrs == null ? attrs : { ...attrs }\n/**\n * @template {any} MaybeDelta\n * @param {MaybeDelta} maybeDelta\n * @return {MaybeDelta}\n */\nconst _cloneMaybeDelta = maybeDelta => d.$delta.check(maybeDelta) ? maybeDelta.clone() : maybeDelta\n\nexport class TextOp extends list.ListNode {\n /**\n * @param {string} insert\n * @param {FormattingAttributes|null} attributes\n * @param {d.Attribution|null} attribution\n */\n constructor (insert, attributes, attribution) {\n super()\n this.insert = insert\n this.attributes = attributes\n this.attribution = attribution\n }\n\n /**\n * @return {'insert'}\n */\n get type () {\n return 'insert'\n }\n\n get length () {\n return this.insert.length\n }\n\n /**\n * Remove a part of the operation (similar to Array.splice)\n *\n * @param {number} offset\n * @param {number} len\n */\n _splice (offset, len) {\n this.insert = this.insert.slice(0, offset) + this.insert.slice(offset + len)\n }\n\n /**\n * @return {DeltaJsonOp}\n */\n toJSON () {\n return object.assign({ insert: this.insert }, this.attributes ? { attributes: this.attributes } : ({}), this.attribution ? { attribution: this.attribution } : ({}))\n }\n\n /**\n * @param {TextOp} other\n */\n [traits.EqualityTraitSymbol] (other) {\n return fun.equalityDeep(this.insert, other.insert) && fun.equalityDeep(this.attributes, other.attributes) && fun.equalityDeep(this.attribution, other.attribution)\n }\n\n /**\n * @return {TextOp}\n */\n clone () {\n return new TextOp(this.insert, _cloneAttrs(this.attributes), _cloneAttrs(this.attribution))\n }\n}\n\n/**\n * @template {any} ArrayContent\n */\nexport class InsertOp extends list.ListNode {\n /**\n * @param {Array<ArrayContent>} insert\n * @param {FormattingAttributes|null} attributes\n * @param {d.Attribution|null} attribution\n */\n constructor (insert, attributes, attribution) {\n super()\n this.insert = insert\n this.attributes = attributes\n this.attribution = attribution\n }\n\n /**\n * @return {'insert'}\n */\n get type () {\n return 'insert'\n }\n\n get length () {\n return this.insert.length\n }\n\n /**\n * Remove a part of the operation (similar to Array.splice)\n *\n * @param {number} offset\n * @param {number} len\n */\n _splice (offset, len) {\n this.insert.splice(offset, len)\n }\n\n /**\n * @return {DeltaJsonOp}\n */\n toJSON () {\n return object.assign({ insert: this.insert.map(ins => d.$delta.check(ins) ? ins.toJSON() : ins) }, this.attributes ? { attributes: this.attributes } : ({}), this.attribution ? { attribution: this.attribution } : ({}))\n }\n\n /**\n * @param {InsertOp<ArrayContent>} other\n */\n [traits.EqualityTraitSymbol] (other) {\n return fun.equalityDeep(this.insert, other.insert) && fun.equalityDeep(this.attributes, other.attributes) && fun.equalityDeep(this.attribution, other.attribution)\n }\n\n /**\n * @return {InsertOp<ArrayContent>}\n */\n clone () {\n return new InsertOp(this.insert.slice(), _cloneAttrs(this.attributes), _cloneAttrs(this.attribution))\n }\n}\n\nexport class DeleteOp extends list.ListNode {\n /**\n * @param {number} len\n */\n constructor (len) {\n super()\n this.delete = len\n }\n\n /**\n * @return {'delete'}\n */\n get type () {\n return 'delete'\n }\n\n get length () {\n return 0\n }\n\n /**\n * Remove a part of the operation (similar to Array.splice)\n *\n * @param {number} offset\n * @param {number} len\n */\n _splice (offset, len) {\n this.delete -= len\n }\n\n /**\n * @return {DeltaJsonOp}\n */\n toJSON () {\n return { delete: this.delete }\n }\n\n /**\n * @param {DeleteOp} other\n */\n [traits.EqualityTraitSymbol] (other) {\n return this.delete === other.delete\n }\n\n clone () {\n return new DeleteOp(this.delete)\n }\n}\n\nexport class RetainOp extends list.ListNode {\n /**\n * @param {number} retain\n * @param {FormattingAttributes|null} attributes\n * @param {d.Attribution|null} attribution\n */\n constructor (retain, attributes, attribution) {\n super()\n this.retain = retain\n this.attributes = attributes\n this.attribution = attribution\n }\n\n /**\n * @return {'retain'}\n */\n get type () {\n return 'retain'\n }\n\n get length () {\n return this.retain\n }\n\n /**\n * Remove a part of the operation (similar to Array.splice)\n *\n * @param {number} _offset\n * @param {number} len\n */\n _splice (_offset, len) {\n this.retain -= len\n }\n\n /**\n * @return {DeltaJsonOp}\n */\n toJSON () {\n return object.assign({ retain: this.retain }, this.attributes ? { attributes: this.attributes } : {}, this.attribution ? { attribution: this.attribution } : {})\n }\n\n /**\n * @param {RetainOp} other\n */\n [traits.EqualityTraitSymbol] (other) {\n return this.retain === other.retain && fun.equalityDeep(this.attributes, other.attributes) && fun.equalityDeep(this.attribution, other.attribution)\n }\n\n clone () {\n return new RetainOp(this.retain, _cloneAttrs(this.attributes), _cloneAttrs(this.attribution))\n }\n}\n\n/**\n * Delta that can be applied on a YType Embed\n *\n * @template {{ toJSON(): any } & traits.EqualityTrait & { clone: any }} DTypes\n */\nexport class ModifyOp extends list.ListNode {\n /**\n * @param {DTypes} delta\n * @param {FormattingAttributes|null} attributes\n * @param {d.Attribution|null} attribution\n */\n constructor (delta, attributes, attribution) {\n super()\n this.modify = delta\n this.attributes = attributes\n this.attribution = attribution\n }\n\n /**\n * @return {'modify'}\n */\n get type () {\n return 'modify'\n }\n\n get length () {\n return 1\n }\n\n /**\n * Remove a part of the operation (similar to Array.splice)\n *\n * @param {number} _offset\n * @param {number} len\n */\n _splice (_offset, len) {\n }\n\n /**\n * @return {DeltaJsonOp}\n */\n toJSON () {\n return object.assign({ modify: this.modify.toJSON() }, this.attributes ? { attributes: this.attributes } : {}, this.attribution ? { attribution: this.attribution } : {})\n }\n\n /**\n * @param {ModifyOp<any>} other\n */\n [traits.EqualityTraitSymbol] (other) {\n return this.modify[traits.EqualityTraitSymbol](other.modify) && fun.equalityDeep(this.attributes, other.attributes) && fun.equalityDeep(this.attribution, other.attribution)\n }\n\n /**\n * @return {ModifyOp<DTypes>}\n */\n clone () {\n return new ModifyOp(this.modify.clone(), _cloneAttrs(this.attributes), _cloneAttrs(this.attribution))\n }\n}\n\n/**\n * @template V\n * @template [K=string]\n */\nexport class MapInsertOp {\n /**\n * @param {K} key\n * @param {V} value\n * @param {V|undefined} prevValue\n * @param {s.TypeOf<d.$attribution>?} attribution\n */\n constructor (key, value, prevValue, attribution) {\n /**\n * @type {K}\n */\n this.key = key\n /**\n * @type {V}\n */\n this.value = value\n /**\n * @type {V|undefined}\n */\n this.prevValue = prevValue\n this.attribution = attribution\n }\n\n /**\n * @return {'insert'}\n */\n get type () { return 'insert' }\n\n toJSON () {\n return {\n type: this.type,\n value: d.$delta.check(this.value) ? this.value.toJSON() : this.value,\n attribution: this.attribution\n }\n }\n\n /**\n * @param {MapInsertOp<V>} other\n */\n [traits.EqualityTraitSymbol] (other) {\n return this.key === other.key && fun.equalityDeep(this.value, other.value) && fun.equalityDeep(this.attribution, other.attribution)\n }\n\n /**\n * @return {MapInsertOp<V,K>}\n */\n clone () {\n return new MapInsertOp(this.key, _cloneMaybeDelta(this.value), _cloneMaybeDelta(this.prevValue), _cloneAttrs(this.attribution))\n }\n}\n\n/**\n * @template V\n * @template [K=string]\n */\nexport class MapDeleteOp {\n /**\n * @param {K} key\n * @param {V|undefined} prevValue\n * @param {s.TypeOf<d.$attribution>?} attribution\n */\n constructor (key, prevValue, attribution) {\n /**\n * @type {K}\n */\n this.key = key\n /**\n * @type {V|undefined}\n */\n this.prevValue = prevValue\n this.attribution = attribution\n }\n\n get value () { return undefined }\n\n /**\n * @type {'delete'}\n */\n get type () { return 'delete' }\n\n toJSON () {\n return {\n type: this.type,\n attribution: this.attribution\n }\n }\n\n /**\n * @param {MapDeleteOp<V>} other\n */\n [traits.EqualityTraitSymbol] (other) {\n return this.key === other.key && fun.equalityDeep(this.attribution, other.attribution)\n }\n\n clone () {\n return new MapDeleteOp(this.key, _cloneMaybeDelta(this.prevValue), _cloneAttrs(this.attribution))\n }\n}\n\n/**\n * @template {d.AbstractDelta} Modifiers\n * @template [K=string]\n */\nexport class MapModifyOp {\n /**\n * @param {K} key\n * @param {Modifiers} delta\n */\n constructor (key, delta) {\n /**\n * @type {K}\n */\n this.key = key\n /**\n * @type {Modifiers}\n */\n this.value = delta\n }\n\n /**\n * @type {'modify'}\n */\n get type () { return 'modify' }\n\n toJSON () {\n return {\n type: this.type,\n value: this.value.toJSON()\n }\n }\n\n /**\n * @param {MapModifyOp<Modifiers>} other\n */\n [traits.EqualityTraitSymbol] (other) {\n return this.key === other.key && this.value[traits.EqualityTraitSymbol](other.value)\n }\n\n /**\n * @return {MapModifyOp<Modifiers,K>}\n */\n clone () {\n return new MapModifyOp(this.key, this.value.clone())\n }\n}\n\nexport const $deltaMapChangeJson = s.$union(\n s.$object({ type: s.$literal('insert'), value: s.$any, attribution: d.$attribution.nullable.optional }),\n s.$object({ type: s.$literal('modify'), value: s.$any }),\n s.$object({ type: s.$literal('delete'), attribution: d.$attribution.nullable.optional })\n)\n\n/**\n * @type {s.Schema<MapDeleteOp<any> | DeleteOp>}\n */\nexport const $deleteOp = s.$custom(o => o != null && (o.constructor === DeleteOp || o.constructor === MapDeleteOp))\n\n/**\n * @type {s.Schema<MapInsertOp<any> | InsertOp<any>>}\n */\nexport const $insertOp = s.$custom(o => o != null && (o.constructor === MapInsertOp || o.constructor === InsertOp))\n\n/**\n * @template Content\n * @param {s.Schema<Content>} $content\n * @return {s.Schema<MapInsertOp<Content> | InsertOp<Content>>}\n */\nexport const $insertOpWith = $content => s.$custom(o =>\n o != null && (\n (o.constructor === MapInsertOp && $content.check(/** @type {MapInsertOp<Content>} */ (o).value)) ||\n (o.constructor === InsertOp && /** @type {InsertOp<Content>} */ (o).insert.every(ins => $content.check(ins)))\n )\n)\n\n/**\n * @type {s.Schema<TextOp>}\n */\nexport const $textOp = s.$constructedBy(TextOp)\n\n/**\n * @type {s.Schema<RetainOp>}\n */\nexport const $retainOp = s.$constructedBy(RetainOp)\n\n/**\n * @type {s.Schema<MapModifyOp<any> | ModifyOp<any>>}\n */\nexport const $modifyOp = s.$custom(o => o != null && (o.constructor === MapModifyOp || o.constructor === ModifyOp))\n\n/**\n * @template {d.AbstractDelta} Modify\n * @param {s.Schema<Modify>} $content\n * @return {s.Schema<MapModifyOp<Modify> | ModifyOp<Modify>>}\n */\nexport const $modifyOpWith = $content => s.$custom(o =>\n o != null && (\n (o.constructor === MapModifyOp && $content.check(/** @type {MapModifyOp<Modify>} */ (o).value)) ||\n (o.constructor === ModifyOp && $content.check(/** @type {ModifyOp<Modify>} */ (o).modify))\n )\n)\n\nexport const $anyOp = s.$union($insertOp, $deleteOp, $textOp, $modifyOp)\n"],"names":["d.$delta","list.ListNode","object.assign","traits.EqualityTraitSymbol","fun.equalityDeep","s.$union","s.$object","s.$literal","s.$any","d.$attribution","s.$custom","s.$constructedBy"],"mappings":"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"}