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
package/dist/node.cjs DELETED
@@ -1,206 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- var traits = require('./traits.cjs');
6
- var abstract = require('./abstract.cjs');
7
- var array = require('./array.cjs');
8
- var map = require('./map.cjs');
9
- var schema = require('./schema.cjs');
10
- var error = require('./error-0c1f634f.cjs');
11
- require('./object-18980796.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
- require('./function-e7d18feb.cjs');
20
- require('./abstract-array.cjs');
21
- require('./ops.cjs');
22
- require('./list.cjs');
23
- require('./math-96d5e8c4.cjs');
24
-
25
- /**
26
- * @template {string|undefined} [NodeName=string]
27
- * @template {{[key:string]:any}} [Attrs={[key:string]:any}]
28
- * @template [Children=any]
29
- * @template {boolean} [WithText=true]
30
- */
31
- class DeltaNode extends abstract.AbstractDelta {
32
- /**
33
- * @param {NodeName} nodeName
34
- * @param {dmap.DeltaMap<Attrs>} attributes
35
- * @param {darray.DeltaArray<Children,WithText>} children
36
- */
37
- constructor (nodeName, attributes, children) {
38
- super();
39
- this.name = nodeName;
40
- /**
41
- * @type {dmap.DeltaMap<Attrs>}
42
- */
43
- this.attributes = /** @type {any} */ (attributes);
44
- /**
45
- * @type {darray.DeltaArray<Children,WithText>}
46
- */
47
- this.children = /** @type {any} */ (children);
48
- }
49
-
50
- isEmpty () {
51
- return this.children.isEmpty() && this.attributes.isEmpty()
52
- }
53
-
54
- /**
55
- * @return {this}
56
- */
57
- clone () {
58
- return /** @type {this} */ (new DeltaNode(this.name, this.attributes.clone(), this.children.clone()))
59
- }
60
-
61
- /**
62
- * @param {(WithText extends true ? string : never) | Array<Children>} insert
63
- */
64
- insert (insert) {
65
- // @ts-ignore
66
- this.children.insert(insert);
67
- return this
68
- }
69
-
70
- /**
71
- * @template {keyof Attrs} K
72
- * @param {K} key
73
- * @param {Attrs[K]} newVal
74
- * @param {Attrs[K]|undefined} prevVal
75
- * @param {import('./abstract.js').Attribution?} attribution
76
- */
77
- set (key, newVal, prevVal, attribution) {
78
- this.attributes.set(key, newVal, prevVal, attribution);
79
- return this
80
- }
81
-
82
- /**
83
- * @param {import('./abstract.js').Attribution?} attribution
84
- * @param {Partial<Attrs>} kv
85
- */
86
- setMany (kv, attribution = null) {
87
- this.attributes.setMany(kv, attribution);
88
- return this
89
- }
90
-
91
- /**
92
- * @param {dabstract.AbstractDelta} other
93
- */
94
- apply (other) {
95
- if ($nodeAny.check(other)) {
96
- // @ts-ignore
97
- this.attributes.apply(other.attributes);
98
- // @ts-ignore
99
- this.children.apply(other.children);
100
- } else if (map.$mapAny.check(other)) {
101
- // @ts-ignore
102
- this.attributes.apply(other);
103
- } else if (array.$arrayAny.check(other)) {
104
- // @ts-ignore
105
- this.children.apply(other);
106
- } else {
107
- error.unexpectedCase();
108
- }
109
- }
110
-
111
- toJSON () {
112
- return {
113
- name: this.name,
114
- attributes: this.attributes.toJSON(),
115
- children: this.children.toJSON()
116
- }
117
- }
118
-
119
- /**
120
- * @return {DeltaNode<NodeName, Attrs, Children, WithText>}
121
- */
122
- done () {
123
- /** @type {darray.DeltaArray<any>} */ (this.children).done()
124
- ;/** @type {dmap.DeltaMap<any>} */ (this.attributes).done();
125
- return /** @type {any} */ (this)
126
- }
127
-
128
- /**
129
- * @param {DeltaNode<NodeName,Partial<Attrs>,Children,WithText>} other
130
- */
131
- [traits.EqualityTraitSymbol] (other) {
132
- return this.name === other.name && this.children[traits.EqualityTraitSymbol](other.children) && this.attributes[traits.EqualityTraitSymbol](other.attributes)
133
- }
134
- }
135
-
136
- /**
137
- * @template {string|undefined} [NodeName=string]
138
- * @template {{[key:string]:any} | dmap.DeltaMap<any>} [Attrs={[key:string]:any}]
139
- * @template {Array<any> | string | darray.DeltaArray<any,any>} [Children=Array<any>]
140
- * @param {NodeName} nodeName
141
- * @param {Attrs} [attributes]
142
- * @param {Children} [children]
143
- * @return {DeltaNode<NodeName,Attrs extends dmap.DeltaMap<infer AttrsDef> ? AttrsDef : Attrs,Children extends Array<infer ChildTypes> ? ChildTypes : (Children extends darray.DeltaArray<infer ChildTypes,any> ? ChildTypes : never)>}
144
- */
145
- const node = (nodeName, attributes, children) =>
146
- new DeltaNode(
147
- nodeName,
148
- attributes == null
149
- ? map.map()
150
- : (map.$mapAny.check(attributes)
151
- ? /** @type {dmap.DeltaMap<any>} */ (attributes)
152
- : map.map().setMany(/** @type {any} */ (attributes))
153
- ),
154
- children == null
155
- ? array.array()
156
- : (array.$arrayAny.check(children)
157
- ? /** @type {darray.DeltaArray<any>} */ (children)
158
- : array.array().insert(children)
159
- )
160
- );
161
-
162
- /**
163
- * @template {string} NodeName
164
- * @template {{ [key:string]: any }} Attributes
165
- * @template Children
166
- * @template {boolean} WithText
167
- * @typedef {DeltaNode<NodeName, Attributes, Children | RecursiveDeltaNode<NodeName,Attributes,Children,WithText>, WithText>} RecursiveDeltaNode
168
- */
169
-
170
- /**
171
- * @template {string} NodeName
172
- * @template {{ [key:string]: any }} Attributes
173
- * @template Children
174
- * @template {boolean} [Recursive=false]
175
- * @template {boolean} [WithText=false]
176
- * @param {s.Schema<NodeName>} $nodeName
177
- * @param {s.Schema<Children>} $children
178
- * @param {s.Schema<Attributes>} $attributes
179
- * @param {object} [opts]
180
- * @param {Recursive} [opts.recursive]
181
- * @param {WithText} [opts.withText]
182
- * @return {s.Schema<Recursive extends true ? RecursiveDeltaNode<NodeName, Partial<Attributes>, Children, WithText> : DeltaNode<NodeName, Partial<Attributes>, Children, withText>>}
183
- */
184
- const $node = ($nodeName, $attributes, $children, { recursive, withText } = {}) => {
185
- /**
186
- * @type {s.Schema<darray.DeltaArray<any,any>>}
187
- */
188
- let $dchildren = array.$array($children);
189
- const $dattrs = map.$map($attributes);
190
- const $nodeSchema = /** @type {s.Schema<DeltaNode<NodeName, any, any, any>>} */ (schema.$instanceOf(DeltaNode, o => $nodeName.check(o.name) && $dchildren.check(o.children) && $dattrs.check(o.attributes)));
191
- if (recursive) {
192
- $dchildren = array.$array(schema.$union($children, $nodeSchema), withText);
193
- }
194
- return /** @type {any} */ ($nodeSchema)
195
- };
196
-
197
- /**
198
- * @type {s.Schema<DeltaNode<any,{[key:string]: any},any,any>>}
199
- */
200
- const $nodeAny = schema.$constructedBy(DeltaNode);
201
-
202
- exports.$node = $node;
203
- exports.$nodeAny = $nodeAny;
204
- exports.DeltaNode = DeltaNode;
205
- exports.node = node;
206
- //# sourceMappingURL=node.cjs.map
package/dist/node.cjs.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"node.cjs","sources":["../delta/node.js"],"sourcesContent":["import * as traits from '../traits.js'\nimport * as dabstract from './abstract.js'\nimport * as darray from './array.js'\nimport * as dmap from './map.js'\nimport * as s from '../schema.js'\nimport * as error from '../error.js'\n\n/**\n * @template {string|undefined} [NodeName=string]\n * @template {{[key:string]:any}} [Attrs={[key:string]:any}]\n * @template [Children=any]\n * @template {boolean} [WithText=true]\n */\nexport class DeltaNode extends dabstract.AbstractDelta {\n /**\n * @param {NodeName} nodeName\n * @param {dmap.DeltaMap<Attrs>} attributes\n * @param {darray.DeltaArray<Children,WithText>} children\n */\n constructor (nodeName, attributes, children) {\n super()\n this.name = nodeName\n /**\n * @type {dmap.DeltaMap<Attrs>}\n */\n this.attributes = /** @type {any} */ (attributes)\n /**\n * @type {darray.DeltaArray<Children,WithText>}\n */\n this.children = /** @type {any} */ (children)\n }\n\n isEmpty () {\n return this.children.isEmpty() && this.attributes.isEmpty()\n }\n\n /**\n * @return {this}\n */\n clone () {\n return /** @type {this} */ (new DeltaNode(this.name, this.attributes.clone(), this.children.clone()))\n }\n\n /**\n * @param {(WithText extends true ? string : never) | Array<Children>} insert\n */\n insert (insert) {\n // @ts-ignore\n this.children.insert(insert)\n return this\n }\n\n /**\n * @template {keyof Attrs} K\n * @param {K} key\n * @param {Attrs[K]} newVal\n * @param {Attrs[K]|undefined} prevVal\n * @param {import('./abstract.js').Attribution?} attribution\n */\n set (key, newVal, prevVal, attribution) {\n this.attributes.set(key, newVal, prevVal, attribution)\n return this\n }\n\n /**\n * @param {import('./abstract.js').Attribution?} attribution\n * @param {Partial<Attrs>} kv\n */\n setMany (kv, attribution = null) {\n this.attributes.setMany(kv, attribution)\n return this\n }\n\n /**\n * @param {dabstract.AbstractDelta} other\n */\n apply (other) {\n if ($nodeAny.check(other)) {\n // @ts-ignore\n this.attributes.apply(other.attributes)\n // @ts-ignore\n this.children.apply(other.children)\n } else if (dmap.$mapAny.check(other)) {\n // @ts-ignore\n this.attributes.apply(other)\n } else if (darray.$arrayAny.check(other)) {\n // @ts-ignore\n this.children.apply(other)\n } else {\n error.unexpectedCase()\n }\n }\n\n toJSON () {\n return {\n name: this.name,\n attributes: this.attributes.toJSON(),\n children: this.children.toJSON()\n }\n }\n\n /**\n * @return {DeltaNode<NodeName, Attrs, Children, WithText>}\n */\n done () {\n /** @type {darray.DeltaArray<any>} */ (this.children).done()\n ;/** @type {dmap.DeltaMap<any>} */ (this.attributes).done()\n return /** @type {any} */ (this)\n }\n\n /**\n * @param {DeltaNode<NodeName,Partial<Attrs>,Children,WithText>} other\n */\n [traits.EqualityTraitSymbol] (other) {\n return this.name === other.name && this.children[traits.EqualityTraitSymbol](other.children) && this.attributes[traits.EqualityTraitSymbol](other.attributes)\n }\n}\n\n/**\n * @template {string|undefined} [NodeName=string]\n * @template {{[key:string]:any} | dmap.DeltaMap<any>} [Attrs={[key:string]:any}]\n * @template {Array<any> | string | darray.DeltaArray<any,any>} [Children=Array<any>]\n * @param {NodeName} nodeName\n * @param {Attrs} [attributes]\n * @param {Children} [children]\n * @return {DeltaNode<NodeName,Attrs extends dmap.DeltaMap<infer AttrsDef> ? AttrsDef : Attrs,Children extends Array<infer ChildTypes> ? ChildTypes : (Children extends darray.DeltaArray<infer ChildTypes,any> ? ChildTypes : never)>}\n */\nexport const node = (nodeName, attributes, children) =>\n new DeltaNode(\n nodeName,\n attributes == null\n ? dmap.map()\n : (dmap.$mapAny.check(attributes)\n ? /** @type {dmap.DeltaMap<any>} */ (attributes)\n : dmap.map().setMany(/** @type {any} */ (attributes))\n ),\n children == null\n ? darray.array()\n : (darray.$arrayAny.check(children)\n ? /** @type {darray.DeltaArray<any>} */ (children)\n : darray.array().insert(children)\n )\n )\n\n/**\n * @template {string} NodeName\n * @template {{ [key:string]: any }} Attributes\n * @template Children\n * @template {boolean} WithText\n * @typedef {DeltaNode<NodeName, Attributes, Children | RecursiveDeltaNode<NodeName,Attributes,Children,WithText>, WithText>} RecursiveDeltaNode\n */\n\n/**\n * @template {string} NodeName\n * @template {{ [key:string]: any }} Attributes\n * @template Children\n * @template {boolean} [Recursive=false]\n * @template {boolean} [WithText=false]\n * @param {s.Schema<NodeName>} $nodeName\n * @param {s.Schema<Children>} $children\n * @param {s.Schema<Attributes>} $attributes\n * @param {object} [opts]\n * @param {Recursive} [opts.recursive]\n * @param {WithText} [opts.withText]\n * @return {s.Schema<Recursive extends true ? RecursiveDeltaNode<NodeName, Partial<Attributes>, Children, WithText> : DeltaNode<NodeName, Partial<Attributes>, Children, withText>>}\n */\nexport const $node = ($nodeName, $attributes, $children, { recursive, withText } = {}) => {\n /**\n * @type {s.Schema<darray.DeltaArray<any,any>>}\n */\n let $dchildren = darray.$array($children)\n const $dattrs = dmap.$map($attributes)\n const $nodeSchema = /** @type {s.Schema<DeltaNode<NodeName, any, any, any>>} */ (s.$instanceOf(DeltaNode, o => $nodeName.check(o.name) && $dchildren.check(o.children) && $dattrs.check(o.attributes)))\n if (recursive) {\n $dchildren = darray.$array(s.$union($children, $nodeSchema), withText)\n }\n return /** @type {any} */ ($nodeSchema)\n}\n\n/**\n * @type {s.Schema<DeltaNode<any,{[key:string]: any},any,any>>}\n */\nexport const $nodeAny = s.$constructedBy(DeltaNode)\n"],"names":["dabstract.AbstractDelta","dmap.$mapAny","darray.$arrayAny","error.unexpectedCase","traits.EqualityTraitSymbol","dmap.map","darray.array","darray.$array","dmap.$map","s.$instanceOf","s.$union","s.$constructedBy"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"object-18980796.cjs","sources":["../object.js"],"sourcesContent":["import * as traits from './traits.js'\n\n/**\n * Utility functions for working with EcmaScript objects.\n *\n * @module object\n */\n\n/**\n * @return {Object<string,any>} obj\n */\nexport const create = () => Object.create(null)\n\n/**\n * @param {any} o\n * @return {o is { [k:string]:any }}\n */\nexport const isObject = o => typeof o === 'object'\n\n/**\n * Object.assign\n */\nexport const assign = Object.assign\n\n/**\n * @param {Object<string,any>} obj\n */\nexport const keys = Object.keys\n\n/**\n * @template V\n * @param {{[key:string]: V}} obj\n * @return {Array<V>}\n */\nexport const values = Object.values\n\n/**\n * @template V\n * @param {{[k:string]:V}} obj\n * @param {function(V,string):any} f\n */\nexport const forEach = (obj, f) => {\n for (const key in obj) {\n f(obj[key], key)\n }\n}\n\n/**\n * @todo implement mapToArray & map\n *\n * @template R\n * @param {Object<string,any>} obj\n * @param {function(any,string):R} f\n * @return {Array<R>}\n */\nexport const map = (obj, f) => {\n const results = []\n for (const key in obj) {\n results.push(f(obj[key], key))\n }\n return results\n}\n\n/**\n * @deprecated use object.size instead\n * @param {Object<string,any>} obj\n * @return {number}\n */\nexport const length = obj => keys(obj).length\n\n/**\n * @param {Object<string,any>} obj\n * @return {number}\n */\nexport const size = obj => keys(obj).length\n\n/**\n * @template {{ [key:string|number|symbol]: any }} T\n * @param {T} obj\n * @param {(v:T[keyof T],k:keyof T)=>boolean} f\n * @return {boolean}\n */\nexport const some = (obj, f) => {\n for (const key in obj) {\n if (f(obj[key], key)) {\n return true\n }\n }\n return false\n}\n\n/**\n * @param {Object|null|undefined} obj\n */\nexport const isEmpty = obj => {\n // eslint-disable-next-line no-unreachable-loop\n for (const _k in obj) {\n return false\n }\n return true\n}\n\n/**\n * @template {{ [key:string|number|symbol]: any }} T\n * @param {T} obj\n * @param {(v:T[keyof T],k:keyof T)=>boolean} f\n * @return {boolean}\n */\nexport const every = (obj, f) => {\n for (const key in obj) {\n if (!f(obj[key], key)) {\n return false\n }\n }\n return true\n}\n\n/**\n * Calls `Object.prototype.hasOwnProperty`.\n *\n * @param {any} obj\n * @param {string|number|symbol} key\n * @return {boolean}\n */\nexport const hasProperty = (obj, key) => Object.prototype.hasOwnProperty.call(obj, key)\n\n/**\n * @param {Object<string,any>} a\n * @param {Object<string,any>} b\n * @return {boolean}\n */\nexport const equalFlat = (a, b) => a === b || (size(a) === size(b) && every(a, (val, key) => (val !== undefined || hasProperty(b, key)) && traits.equals(b[key], val)))\n\n/**\n * Make an object immutable. This hurts performance and is usually not needed if you perform good\n * coding practices.\n */\nexport const freeze = Object.freeze\n\n/**\n * Make an object and all its children immutable.\n * This *really* hurts performance and is usually not needed if you perform good coding practices.\n *\n * @template {any} T\n * @param {T} o\n * @return {Readonly<T>}\n */\nexport const deepFreeze = (o) => {\n for (const key in o) {\n const c = o[key]\n if (typeof c === 'object' || typeof c === 'function') {\n deepFreeze(o[key])\n }\n }\n return freeze(o)\n}\n\n/**\n * Get object property. Create T if property is undefined and set T on object.\n *\n * @function\n * @template {object} KV\n * @template {keyof KV} [K=keyof KV]\n * @param {KV} o\n * @param {K} key\n * @param {() => KV[K]} createT\n * @return {KV[K]}\n */\nexport const setIfUndefined = (o, key, createT) => hasProperty(o, key) ? o[key] : (o[key] = createT())\n"],"names":["traits.equals"],"mappings":"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"}