lib0 0.2.115-4 → 0.2.115-6

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 (236) hide show
  1. package/coverage/tmp/{coverage-32703-1763495370274-0.json → coverage-5242-1765032816888-0.json} +1 -1
  2. package/delta/binding.d.ts +11 -9
  3. package/delta/binding.d.ts.map +1 -1
  4. package/delta/binding.js +5 -2
  5. package/delta/binding.test.d.ts.map +1 -1
  6. package/delta/delta-pitch.test.d.ts +5 -0
  7. package/delta/delta-pitch.test.d.ts.map +1 -0
  8. package/delta/{d2.d.ts → delta.d.ts} +129 -38
  9. package/delta/delta.d.ts.map +1 -0
  10. package/delta/{d2.js → delta.js} +379 -66
  11. package/delta/{d2.test.d.ts → delta.test.d.ts} +8 -1
  12. package/delta/delta.test.d.ts.map +1 -0
  13. package/delta/t3.test.d.ts +1 -1
  14. package/delta/t3.test.d.ts.map +1 -1
  15. package/dist/array.cjs +17 -60
  16. package/dist/array.cjs.map +1 -1
  17. package/dist/binding.cjs +114 -28
  18. package/dist/binding.cjs.map +1 -1
  19. package/dist/{broadcastchannel-d0c108a2.cjs → broadcastchannel-42bbe6e0.cjs} +2 -2
  20. package/dist/{broadcastchannel-d0c108a2.cjs.map → broadcastchannel-42bbe6e0.cjs.map} +1 -1
  21. package/dist/broadcastchannel.cjs +6 -6
  22. package/dist/{buffer-7f6fa8fa.cjs → buffer-54360f21.cjs} +2 -2
  23. package/dist/{buffer-7f6fa8fa.cjs.map → buffer-54360f21.cjs.map} +1 -1
  24. package/dist/buffer.cjs +5 -5
  25. package/dist/cache.cjs +3 -3
  26. package/dist/component.cjs +12 -8
  27. package/dist/component.cjs.map +1 -1
  28. package/dist/delta/binding.d.ts +11 -9
  29. package/dist/delta/binding.d.ts.map +1 -1
  30. package/dist/delta/binding.test.d.ts.map +1 -1
  31. package/dist/delta/delta-pitch.test.d.ts +5 -0
  32. package/dist/delta/delta-pitch.test.d.ts.map +1 -0
  33. package/dist/delta/{d2.d.ts → delta.d.ts} +129 -38
  34. package/dist/delta/delta.d.ts.map +1 -0
  35. package/dist/delta/{d2.test.d.ts → delta.test.d.ts} +8 -1
  36. package/dist/delta/delta.test.d.ts.map +1 -0
  37. package/dist/delta/t3.test.d.ts +1 -1
  38. package/dist/delta/t3.test.d.ts.map +1 -1
  39. package/dist/{d2.cjs → delta.cjs} +389 -71
  40. package/dist/delta.cjs.map +1 -0
  41. package/dist/{diff-1832cb43.cjs → diff-fab14ea6.cjs} +2 -2
  42. package/dist/{diff-1832cb43.cjs.map → diff-fab14ea6.cjs.map} +1 -1
  43. package/dist/diff.cjs +4 -4
  44. package/dist/{dom-f5047a64.cjs → dom-4c4b4c68.cjs} +1 -1
  45. package/dist/{dom-f5047a64.cjs.map → dom-4c4b4c68.cjs.map} +1 -1
  46. package/dist/dom.cjs +12 -5
  47. package/dist/dom.cjs.map +1 -1
  48. package/dist/{environment-90227ead.cjs → environment-ae4f6f15.cjs} +2 -2
  49. package/dist/{environment-90227ead.cjs.map → environment-ae4f6f15.cjs.map} +1 -1
  50. package/dist/environment.cjs +4 -4
  51. package/dist/equality.cjs +34 -0
  52. package/dist/equality.cjs.map +1 -0
  53. package/dist/fingerprint.cjs +44 -0
  54. package/dist/fingerprint.cjs.map +1 -0
  55. package/dist/{function-e7d18feb.cjs → function-618aa640.cjs} +8 -7
  56. package/dist/function-618aa640.cjs.map +1 -0
  57. package/dist/function.cjs +3 -3
  58. package/dist/function.d.ts.map +1 -1
  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-96eef52a.cjs} +2 -2
  80. package/dist/{prng-99204216.cjs.map → prng-96eef52a.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.d.ts.map +1 -1
  105. package/function.js +6 -5
  106. package/list.d.ts +9 -2
  107. package/list.d.ts.map +1 -1
  108. package/list.js +17 -3
  109. package/list.test.d.ts.map +1 -1
  110. package/object.d.ts.map +1 -1
  111. package/object.js +2 -2
  112. package/package.json +8 -10
  113. package/schema.d.ts +86 -29
  114. package/schema.d.ts.map +1 -1
  115. package/schema.js +191 -20
  116. package/schema.test.d.ts +4 -0
  117. package/schema.test.d.ts.map +1 -1
  118. package/test.html +2 -4
  119. package/test.js +7 -13
  120. package/testing.js +3 -3
  121. package/{traits.d.ts → trait/equality.d.ts} +1 -1
  122. package/trait/equality.d.ts.map +1 -0
  123. package/trait/fingerprint.d.ts +13 -0
  124. package/trait/fingerprint.d.ts.map +1 -0
  125. package/trait/fingerprint.js +21 -0
  126. package/trait/traits.d.ts +3 -0
  127. package/trait/traits.d.ts.map +1 -0
  128. package/trait/traits.js +2 -0
  129. package/trait/traits.test.d.ts +5 -0
  130. package/{traits.test.d.ts.map → trait/traits.test.d.ts.map} +1 -1
  131. package/delta/abstract-array.d.ts +0 -166
  132. package/delta/abstract-array.d.ts.map +0 -1
  133. package/delta/abstract-array.js +0 -421
  134. package/delta/abstract.d.ts +0 -69
  135. package/delta/abstract.d.ts.map +0 -1
  136. package/delta/abstract.js +0 -102
  137. package/delta/array.d.ts +0 -23
  138. package/delta/array.d.ts.map +0 -1
  139. package/delta/array.js +0 -45
  140. package/delta/array.test.d.ts +0 -2
  141. package/delta/array.test.d.ts.map +0 -1
  142. package/delta/d2.d.ts.map +0 -1
  143. package/delta/d2.test.d.ts.map +0 -1
  144. package/delta/index.d.ts +0 -14
  145. package/delta/index.d.ts.map +0 -1
  146. package/delta/index.js +0 -79
  147. package/delta/map.d.ts +0 -226
  148. package/delta/map.d.ts.map +0 -1
  149. package/delta/map.js +0 -304
  150. package/delta/node.d.ts +0 -117
  151. package/delta/node.d.ts.map +0 -1
  152. package/delta/node.js +0 -183
  153. package/delta/node.test.d.ts +0 -4
  154. package/delta/node.test.d.ts.map +0 -1
  155. package/delta/ops.d.ts +0 -464
  156. package/delta/ops.d.ts.map +0 -1
  157. package/delta/ops.js +0 -544
  158. package/delta/t2.d.ts +0 -184
  159. package/delta/t2.d.ts.map +0 -1
  160. package/delta/t2.js +0 -890
  161. package/delta/text.d.ts +0 -43
  162. package/delta/text.d.ts.map +0 -1
  163. package/delta/text.js +0 -54
  164. package/delta/text.test.d.ts +0 -6
  165. package/delta/text.test.d.ts.map +0 -1
  166. package/delta/transformer.d.ts +0 -164
  167. package/delta/transformer.d.ts.map +0 -1
  168. package/delta/transformer.js +0 -888
  169. package/delta/transformer.test.d.ts +0 -13
  170. package/delta/transformer.test.d.ts.map +0 -1
  171. package/delta/value.d.ts +0 -84
  172. package/delta/value.d.ts.map +0 -1
  173. package/delta/value.js +0 -168
  174. package/dist/abstract-array.cjs +0 -433
  175. package/dist/abstract-array.cjs.map +0 -1
  176. package/dist/abstract.cjs +0 -122
  177. package/dist/abstract.cjs.map +0 -1
  178. package/dist/array2.cjs +0 -26
  179. package/dist/array2.cjs.map +0 -1
  180. package/dist/d2.cjs.map +0 -1
  181. package/dist/delta/abstract-array.d.ts +0 -166
  182. package/dist/delta/abstract-array.d.ts.map +0 -1
  183. package/dist/delta/abstract.d.ts +0 -69
  184. package/dist/delta/abstract.d.ts.map +0 -1
  185. package/dist/delta/array.d.ts +0 -23
  186. package/dist/delta/array.d.ts.map +0 -1
  187. package/dist/delta/array.test.d.ts +0 -2
  188. package/dist/delta/array.test.d.ts.map +0 -1
  189. package/dist/delta/d2.d.ts.map +0 -1
  190. package/dist/delta/d2.test.d.ts.map +0 -1
  191. package/dist/delta/index.d.ts +0 -14
  192. package/dist/delta/index.d.ts.map +0 -1
  193. package/dist/delta/map.d.ts +0 -226
  194. package/dist/delta/map.d.ts.map +0 -1
  195. package/dist/delta/node.d.ts +0 -117
  196. package/dist/delta/node.d.ts.map +0 -1
  197. package/dist/delta/node.test.d.ts +0 -4
  198. package/dist/delta/node.test.d.ts.map +0 -1
  199. package/dist/delta/ops.d.ts +0 -464
  200. package/dist/delta/ops.d.ts.map +0 -1
  201. package/dist/delta/t2.d.ts +0 -184
  202. package/dist/delta/t2.d.ts.map +0 -1
  203. package/dist/delta/text.d.ts +0 -43
  204. package/dist/delta/text.d.ts.map +0 -1
  205. package/dist/delta/text.test.d.ts +0 -6
  206. package/dist/delta/text.test.d.ts.map +0 -1
  207. package/dist/delta/transformer.d.ts +0 -164
  208. package/dist/delta/transformer.d.ts.map +0 -1
  209. package/dist/delta/transformer.test.d.ts +0 -13
  210. package/dist/delta/transformer.test.d.ts.map +0 -1
  211. package/dist/delta/value.d.ts +0 -84
  212. package/dist/delta/value.d.ts.map +0 -1
  213. package/dist/function-e7d18feb.cjs.map +0 -1
  214. package/dist/index2.cjs +0 -71
  215. package/dist/index2.cjs.map +0 -1
  216. package/dist/map2.cjs +0 -15
  217. package/dist/map2.cjs.map +0 -1
  218. package/dist/node.cjs +0 -206
  219. package/dist/node.cjs.map +0 -1
  220. package/dist/object-18980796.cjs.map +0 -1
  221. package/dist/ops.cjs +0 -575
  222. package/dist/ops.cjs.map +0 -1
  223. package/dist/t2.cjs +0 -932
  224. package/dist/t2.cjs.map +0 -1
  225. package/dist/text.cjs +0 -79
  226. package/dist/text.cjs.map +0 -1
  227. package/dist/traits.d.ts.map +0 -1
  228. package/dist/traits.test.d.ts +0 -4
  229. package/dist/traits.test.d.ts.map +0 -1
  230. package/dist/transformer.cjs +0 -930
  231. package/dist/transformer.cjs.map +0 -1
  232. package/dist/value.cjs +0 -187
  233. package/dist/value.cjs.map +0 -1
  234. package/traits.d.ts.map +0 -1
  235. package/traits.test.d.ts +0 -4
  236. /package/{traits.js → trait/equality.js} +0 -0
package/dist/map.cjs CHANGED
@@ -2,321 +2,14 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var map$1 = require('./map-24d263c0.cjs');
6
- var _function = require('./function-e7d18feb.cjs');
7
- var traits = require('./traits.cjs');
8
- var schema = require('./schema.cjs');
9
- var ops = require('./ops.cjs');
10
- var abstract = require('./abstract.cjs');
11
- require('./array-78849c95.cjs');
12
- require('./set-5b47859e.cjs');
13
- require('./object-18980796.cjs');
14
- require('./error-0c1f634f.cjs');
15
- require('./environment-90227ead.cjs');
16
- require('./string-fddc5f8b.cjs');
17
- require('./conditions-f5c0c102.cjs');
18
- require('./storage.cjs');
19
- require('./list.cjs');
5
+ var map = require('./map-24d263c0.cjs');
20
6
 
21
- const $mapJson = schema.$record(schema.$string, ops.$deltaMapChangeJson);
22
7
 
23
- /**
24
- * @template {{ [key:string]: ops.DeltaMapOps }} OPS
25
- * @typedef {{ [K in keyof OPS]: (Extract<OPS[K],ops.MapInsertOp<any>> extends ops.MapInsertOp<infer V,any> ? ops.MapInsertOp<V, K> : never) | (Extract<OPS[K],ops.MapDeleteOp<any>> extends ops.MapDeleteOp<infer V,any> ? ops.MapDeleteOp<V,K> : never) | (Extract<OPS[K],ops.MapModifyOp<any>> extends ops.MapModifyOp<infer V,any> ? (ops.MapModifyOp<V,K>&OPS[K]) : never) }[keyof OPS]} KeyedOps */
26
8
 
27
- /**
28
- * @template {{ [key: string]: any }} [Vals={[key:string]:any}]
29
- * @extends AbstractDelta
30
- */
31
- class DeltaMap extends abstract.AbstractDelta {
32
- /**
33
- * @param {s.Schema<Vals>} $vals
34
- */
35
- constructor ($vals) {
36
- super();
37
- this.$vals = schema.$$object.check($vals) ? $vals.partial : $vals;
38
- /**
39
- * @type {gmap.GlobalMap<any,ops.DeltaMapOps>}
40
- */
41
- this._changes = map$1.create();
42
- /**
43
- * @type {import('./abstract.js').Attribution?}
44
- */
45
- this.usedAttribution = null;
46
- }
47
-
48
- isEmpty () {
49
- return this._changes.size === 0
50
- }
51
-
52
- /**
53
- *
54
- * Iterate through the changes. There are two approches to iterate through changes. The
55
- * following two examples achieve the same thing:
56
- *
57
- * @example
58
- * d.forEach(op => {
59
- * if (op instanceof dmap.MapInsertOp) {
60
- * console.log('content inserted:', op.key, op.value)
61
- * } else if (op instanceof dmap.MapDeleteOp) {
62
- * console.log('content deleted:', op.key, op.prevValue)
63
- * } else if (op instanceof delta.MapModifyOp) {
64
- * console.log('content was modified:', op.key, op.)
65
- * op.modify
66
- * }
67
- * })
68
- *
69
- * The second approach doesn't require instanceof checks.
70
- *
71
- * @example
72
- * d.forEach(null,
73
- * (insertOp) => insertOp.insert,
74
- * (retainOp) => insertOp.retain
75
- * (deleteOp) => insertOp.delete
76
- * (modifyOp) => insertOp.modify
77
- * )
78
- *
79
- * @template {Vals} ValsX
80
- * @param {null|((op:KeyedOps<MapOpsFromValues<ValsX>>)=>void)} changeHandler
81
- * @param {null|((insertOp:Extract<KeyedOps<MapOpsFromValues<ValsX>>,ops.MapInsertOp<any,any>>)=>void)} insertHandler
82
- * @param {null|((deleteOp:Extract<KeyedOps<MapOpsFromValues<ValsX>>,ops.MapDeleteOp<any,any>>)=>void)} deleteHandler
83
- * @param {null|((modifyOp:Extract<KeyedOps<MapOpsFromValues<ValsX>>,ops.MapModifyOp<any,any>>)=>void)} modifyHandler
84
- */
85
- forEach (changeHandler = null, insertHandler = null, deleteHandler = null, modifyHandler = null) {
86
- this._changes.forEach((change) => {
87
- changeHandler?.(/** @type {any} */ (change));
88
- switch (change.constructor) {
89
- case ops.MapDeleteOp:
90
- deleteHandler?.(/** @type {any} */ (change));
91
- break
92
- case ops.MapInsertOp:
93
- insertHandler?.(/** @type {any} */ (change));
94
- break
95
- case ops.MapModifyOp:
96
- modifyHandler?.(/** @type {any} */ (change));
97
- break
98
- }
99
- });
100
- }
101
-
102
- /**
103
- * @template {keyof Vals} K
104
- * @param {K} key
105
- * @return {MapOpsFromValues<Vals>[K] | undefined}
106
- */
107
- get (key) {
108
- return /** @type {(MapOpsFromValues<Vals>[K] & { key:K })|undefined} */ (this._changes.get(key))
109
- }
110
-
111
- /**
112
- * @param {keyof Vals} key
113
- */
114
- has (key) {
115
- return this._changes.has(key)
116
- }
117
-
118
- /**
119
- * @param {DeltaMap<any>} other
120
- * @return {boolean}
121
- */
122
- equals (other) {
123
- return this[traits.EqualityTraitSymbol](other)
124
- }
125
-
126
- get size () {
127
- return this._changes.size
128
- }
129
-
130
- /**
131
- * @return {s.Unwrap<$mapJson>}
132
- */
133
- toJSON () {
134
- /**
135
- * @type {s.Unwrap<$mapJson>}
136
- */
137
- const changes = {};
138
- this._changes.forEach((change, key) => {
139
- changes[/** @type {string} */ (key)] = change.toJSON();
140
- });
141
- return changes
142
- }
143
-
144
- /**
145
- * @template {keyof Vals} K
146
- * @param {K} key
147
- * @param {Extract<Vals[K], AbstractDelta>} delta
148
- */
149
- modify (key, delta) {
150
- this._changes.set(key, /** @type {any} */ (new ops.MapModifyOp(key, valsKeySchema(this.$vals, key).cast(delta))));
151
- return this
152
- }
153
-
154
- /**
155
- * @template {keyof Vals} K
156
- * @param {K} key
157
- * @param {Vals[K]} newVal
158
- * @param {Vals[K]|undefined} prevValue
159
- * @param {import('./abstract.js').Attribution?} attribution
160
- */
161
- set (key, newVal, prevValue = undefined, attribution = null) {
162
- const mergedAttribution = abstract.mergeAttrs(this.usedAttribution, attribution);
163
- const $v = valsKeySchema(this.$vals, key);
164
- this._changes.set(key, /** @type {any} */ (new ops.MapInsertOp(key, $v.cast(newVal), prevValue && $v.cast(prevValue), mergedAttribution)));
165
- return this
166
- }
167
-
168
- /**
169
- * @param {Partial<Vals>} kv
170
- * @param {import('./abstract.js').Attribution?} attribution
171
- */
172
- setMany (kv, attribution = null) {
173
- for (const key in kv) {
174
- this.set(key, /** @type {Vals[any]} */ (kv[key]), undefined, attribution);
175
- }
176
- return this
177
- }
178
-
179
- /**
180
- * @template {keyof Vals} K
181
- * @param {K} key
182
- * @param {Vals[K]|undefined} prevValue
183
- * @param {import('./abstract.js').Attribution?} attribution
184
- */
185
- delete (key, prevValue = undefined, attribution = null) {
186
- const mergedAttribution = abstract.mergeAttrs(this.usedAttribution, attribution);
187
- this._changes.set(key, /** @type {any} */ (new ops.MapDeleteOp(key, prevValue === undefined ? prevValue : valsKeySchema(this.$vals, key).cast(prevValue), mergedAttribution)));
188
- return this
189
- }
190
-
191
- /**
192
- * @param {import('./abstract.js').Attribution?} attribution
193
- */
194
- useAttribution (attribution) {
195
- this.usedAttribution = attribution;
196
- return this
197
- }
198
-
199
- /**
200
- *
201
- * - insert vs delete ⇒ insert takes precedence
202
- * - insert vs modify ⇒ insert takes precedence
203
- * - insert vs insert ⇒ priority decides
204
- * - delete vs modify ⇒ delete takes precedence
205
- * - delete vs delete ⇒ current delete op is removed because item has already been deleted
206
- * - modify vs modify ⇒ rebase using priority
207
- *
208
- * @param {DeltaMap<Vals>} other
209
- * @param {boolean} priority
210
- */
211
- rebase (other, priority) {
212
- this.forEach(null,
213
- insertOp => {
214
- if (other.get(insertOp.key)?.constructor === ops.MapInsertOp && !priority) {
215
- this._changes.delete(insertOp.key);
216
- }
217
- },
218
- deleteOp => {
219
- const otherOp = other.get(deleteOp.key);
220
- if (otherOp?.constructor === ops.MapInsertOp) {
221
- this._changes.delete(otherOp.key);
222
- }
223
- },
224
- modifyOp => {
225
- const otherOp = other.get(modifyOp.key);
226
- if (otherOp == null) ; else if (otherOp.constructor === ops.MapModifyOp) {
227
- modifyOp.value.rebase(otherOp.value, priority);
228
- } else {
229
- this._changes.delete(otherOp.key);
230
- }
231
- }
232
- );
233
- }
234
-
235
- /**
236
- * @param {DeltaMap<Partial<Vals>>} other
237
- */
238
- apply (other) {
239
- /** @type {DeltaMap<Vals>} */ (other).forEach(op => {
240
- const c = this._changes.get(op.key);
241
- if (ops.$modifyOp.check(op)) {
242
- if (abstract.$delta.check(c?.value)) {
243
- /** @type {DeltaMap<any>} */ (c.value).apply(op.value);
244
- } else {
245
- // then this is a simple modify
246
- this._changes.set(op.key, /** @type {any} */ (op));
247
- }
248
- } else {
249
- op.prevValue = c?.value;
250
- this._changes.set(op.key, /** @type {any} */ (op));
251
- }
252
- }
253
- );
254
- }
255
-
256
- /**
257
- * @return {this}
258
- */
259
- clone () {
260
- const d = /** @type {this} */ (new DeltaMap(this.$vals));
261
- this.forEach(change => {
262
- d._changes.set(change.key, /** @type {any} */ (change));
263
- });
264
- d.origin = this.origin;
265
- d.isDiff = this.isDiff;
266
- return d
267
- }
268
-
269
- done () {
270
- return /** @type {DeltaMap<Vals>} */ (this)
271
- }
272
-
273
- /**
274
- * @param {DeltaMap<Partial<Vals>>} other
275
- */
276
- [traits.EqualityTraitSymbol] (other) {
277
- return _function.equalityDeep(this._changes, other._changes)
278
- }
279
- }
280
-
281
- /**
282
- * @template {s.Schema<{ [Key:string]: ops.DeltaMapOps }>} OPS
283
- * @template {keyof s.Unwrap<OPS>} K
284
- * @param {OPS} $ops
285
- * @param {K} k
286
- * @return {s.Schema<s.Unwrap<OPS>[K]>}
287
- */
288
- const valsKeySchema = ($ops, k) => schema.$$object.check($ops) ? ($ops.shape[k] || schema.$never) : ((schema.$$record.check($ops) && $ops.shape.keys.check(k)) ? ($ops.shape.values) : schema.$never);
289
-
290
- /**
291
- * @template {{ [key:string]: any }} Vals
292
- * @typedef {{ [K in keyof Vals]: Vals[K] extends DeltaMap<infer DM> ? ops.MapInsertOp<Vals[K]>|ops.MapDeleteOp<Vals[K]>|ops.MapModifyOp<DeltaMap<DM>> : (ops.MapInsertOp<Exclude<Vals[K],undefined>>|ops.MapDeleteOp<Exclude<Vals[K],undefined>>) }} MapOpsFromValues
293
- */
294
-
295
- /**
296
- * Create a new DeltaMap, optionally supply a schema.
297
- *
298
- * @template {s.Schema<{ [key:string]: any }> | { [key:string]: s.Schema<any> }} [$Vals=s.Schema<{ [key:string]: any }>]
299
- * @param {$Vals} $vals
300
- * @return {DeltaMap<$Vals extends s.Schema<infer $V> ? $V : (s._ReadObjectDef<$Vals> extends s.Schema<infer $V> ? $V : never)>}
301
- */
302
- const map = ($vals = /** @type {any} */ (schema.$record(schema.$string, schema.$any))) => /** @type {any} */ (new DeltaMap(/** @type {any} */ (schema.$$schema.check($vals) ? $vals : schema.$object($vals))));
303
-
304
- /**
305
- * @template {{ [key:string]: any }} Vals
306
- * @param {s.Schema<Vals>} $vals
307
- * @return {s.Schema<DeltaMap<Vals>>}
308
- */
309
- const $map = $vals => {
310
- const $valsPartial = schema.$$object.check($vals) ? $vals.partial : $vals;
311
- return /** @type {any} */ (schema.$instanceOf(DeltaMap, o => Array.from(o._changes.entries()).every(([k, op]) =>
312
- !ops.$insertOp.check(op) || $valsPartial.check({ [k]: op.value })
313
- )))
314
- };
315
- const $mapAny = schema.$instanceOf(DeltaMap);
316
-
317
- exports.$map = $map;
318
- exports.$mapAny = $mapAny;
319
- exports.$mapJson = $mapJson;
320
- exports.DeltaMap = DeltaMap;
321
- exports.map = map;
9
+ exports.all = map.all;
10
+ exports.any = map.any;
11
+ exports.copy = map.copy;
12
+ exports.create = map.create;
13
+ exports.map = map.map;
14
+ exports.setIfUndefined = map.setIfUndefined;
322
15
  //# sourceMappingURL=map.cjs.map
package/dist/map.cjs.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"map.cjs","sources":["../delta/map.js"],"sourcesContent":["import * as gmap from '../map.js'\nimport * as fun from '../function.js'\nimport * as traits from '../traits.js'\nimport * as s from '../schema.js'\nimport * as ops from './ops.js'\nimport { AbstractDelta, mergeAttrs, $delta } from './abstract.js'\n\nexport const $mapJson = s.$record(s.$string, ops.$deltaMapChangeJson)\n\n/**\n * @template {{ [key:string]: ops.DeltaMapOps }} OPS\n * @typedef {{ [K in keyof OPS]: (Extract<OPS[K],ops.MapInsertOp<any>> extends ops.MapInsertOp<infer V,any> ? ops.MapInsertOp<V, K> : never) | (Extract<OPS[K],ops.MapDeleteOp<any>> extends ops.MapDeleteOp<infer V,any> ? ops.MapDeleteOp<V,K> : never) | (Extract<OPS[K],ops.MapModifyOp<any>> extends ops.MapModifyOp<infer V,any> ? (ops.MapModifyOp<V,K>&OPS[K]) : never) }[keyof OPS]} KeyedOps */\n\n/**\n * @template {{ [key: string]: any }} [Vals={[key:string]:any}]\n * @extends AbstractDelta\n */\nexport class DeltaMap extends AbstractDelta {\n /**\n * @param {s.Schema<Vals>} $vals\n */\n constructor ($vals) {\n super()\n this.$vals = s.$$object.check($vals) ? $vals.partial : $vals\n /**\n * @type {gmap.GlobalMap<any,ops.DeltaMapOps>}\n */\n this._changes = gmap.create()\n /**\n * @type {import('./abstract.js').Attribution?}\n */\n this.usedAttribution = null\n }\n\n isEmpty () {\n return this._changes.size === 0\n }\n\n /**\n *\n * Iterate through the changes. There are two approches to iterate through changes. The\n * following two examples achieve the same thing:\n *\n * @example\n * d.forEach(op => {\n * if (op instanceof dmap.MapInsertOp) {\n * console.log('content inserted:', op.key, op.value)\n * } else if (op instanceof dmap.MapDeleteOp) {\n * console.log('content deleted:', op.key, op.prevValue)\n * } else if (op instanceof delta.MapModifyOp) {\n * console.log('content was modified:', op.key, op.)\n * op.modify\n * }\n * })\n *\n * The second approach doesn't require instanceof checks.\n *\n * @example\n * d.forEach(null,\n * (insertOp) => insertOp.insert,\n * (retainOp) => insertOp.retain\n * (deleteOp) => insertOp.delete\n * (modifyOp) => insertOp.modify\n * )\n *\n * @template {Vals} ValsX\n * @param {null|((op:KeyedOps<MapOpsFromValues<ValsX>>)=>void)} changeHandler\n * @param {null|((insertOp:Extract<KeyedOps<MapOpsFromValues<ValsX>>,ops.MapInsertOp<any,any>>)=>void)} insertHandler\n * @param {null|((deleteOp:Extract<KeyedOps<MapOpsFromValues<ValsX>>,ops.MapDeleteOp<any,any>>)=>void)} deleteHandler\n * @param {null|((modifyOp:Extract<KeyedOps<MapOpsFromValues<ValsX>>,ops.MapModifyOp<any,any>>)=>void)} modifyHandler\n */\n forEach (changeHandler = null, insertHandler = null, deleteHandler = null, modifyHandler = null) {\n this._changes.forEach((change) => {\n changeHandler?.(/** @type {any} */ (change))\n switch (change.constructor) {\n case ops.MapDeleteOp:\n deleteHandler?.(/** @type {any} */ (change))\n break\n case ops.MapInsertOp:\n insertHandler?.(/** @type {any} */ (change))\n break\n case ops.MapModifyOp:\n modifyHandler?.(/** @type {any} */ (change))\n break\n }\n })\n }\n\n /**\n * @template {keyof Vals} K\n * @param {K} key\n * @return {MapOpsFromValues<Vals>[K] | undefined}\n */\n get (key) {\n return /** @type {(MapOpsFromValues<Vals>[K] & { key:K })|undefined} */ (this._changes.get(key))\n }\n\n /**\n * @param {keyof Vals} key\n */\n has (key) {\n return this._changes.has(key)\n }\n\n /**\n * @param {DeltaMap<any>} other\n * @return {boolean}\n */\n equals (other) {\n return this[traits.EqualityTraitSymbol](other)\n }\n\n get size () {\n return this._changes.size\n }\n\n /**\n * @return {s.Unwrap<$mapJson>}\n */\n toJSON () {\n /**\n * @type {s.Unwrap<$mapJson>}\n */\n const changes = {}\n this._changes.forEach((change, key) => {\n changes[/** @type {string} */ (key)] = change.toJSON()\n })\n return changes\n }\n\n /**\n * @template {keyof Vals} K\n * @param {K} key\n * @param {Extract<Vals[K], AbstractDelta>} delta\n */\n modify (key, delta) {\n this._changes.set(key, /** @type {any} */ (new ops.MapModifyOp(key, valsKeySchema(this.$vals, key).cast(delta))))\n return this\n }\n\n /**\n * @template {keyof Vals} K\n * @param {K} key\n * @param {Vals[K]} newVal\n * @param {Vals[K]|undefined} prevValue\n * @param {import('./abstract.js').Attribution?} attribution\n */\n set (key, newVal, prevValue = undefined, attribution = null) {\n const mergedAttribution = mergeAttrs(this.usedAttribution, attribution)\n const $v = valsKeySchema(this.$vals, key)\n this._changes.set(key, /** @type {any} */ (new ops.MapInsertOp(key, $v.cast(newVal), prevValue && $v.cast(prevValue), mergedAttribution)))\n return this\n }\n\n /**\n * @param {Partial<Vals>} kv\n * @param {import('./abstract.js').Attribution?} attribution\n */\n setMany (kv, attribution = null) {\n for (const key in kv) {\n this.set(key, /** @type {Vals[any]} */ (kv[key]), undefined, attribution)\n }\n return this\n }\n\n /**\n * @template {keyof Vals} K\n * @param {K} key\n * @param {Vals[K]|undefined} prevValue\n * @param {import('./abstract.js').Attribution?} attribution\n */\n delete (key, prevValue = undefined, attribution = null) {\n const mergedAttribution = mergeAttrs(this.usedAttribution, attribution)\n this._changes.set(key, /** @type {any} */ (new ops.MapDeleteOp(key, prevValue === undefined ? prevValue : valsKeySchema(this.$vals, key).cast(prevValue), mergedAttribution)))\n return this\n }\n\n /**\n * @param {import('./abstract.js').Attribution?} attribution\n */\n useAttribution (attribution) {\n this.usedAttribution = attribution\n return this\n }\n\n /**\n *\n * - insert vs delete ⇒ insert takes precedence\n * - insert vs modify ⇒ insert takes precedence\n * - insert vs insert ⇒ priority decides\n * - delete vs modify ⇒ delete takes precedence\n * - delete vs delete ⇒ current delete op is removed because item has already been deleted\n * - modify vs modify ⇒ rebase using priority\n *\n * @param {DeltaMap<Vals>} other\n * @param {boolean} priority\n */\n rebase (other, priority) {\n this.forEach(null,\n insertOp => {\n if (other.get(insertOp.key)?.constructor === ops.MapInsertOp && !priority) {\n this._changes.delete(insertOp.key)\n }\n },\n deleteOp => {\n const otherOp = other.get(deleteOp.key)\n if (otherOp?.constructor === ops.MapInsertOp) {\n this._changes.delete(otherOp.key)\n }\n },\n modifyOp => {\n const otherOp = other.get(modifyOp.key)\n if (otherOp == null) {\n // nop\n } else if (otherOp.constructor === ops.MapModifyOp) {\n modifyOp.value.rebase(otherOp.value, priority)\n } else {\n this._changes.delete(otherOp.key)\n }\n }\n )\n }\n\n /**\n * @param {DeltaMap<Partial<Vals>>} other\n */\n apply (other) {\n /** @type {DeltaMap<Vals>} */ (other).forEach(op => {\n const c = this._changes.get(op.key)\n if (ops.$modifyOp.check(op)) {\n if ($delta.check(c?.value)) {\n /** @type {DeltaMap<any>} */ (c.value).apply(op.value)\n } else {\n // then this is a simple modify\n this._changes.set(op.key, /** @type {any} */ (op))\n }\n } else {\n op.prevValue = c?.value\n this._changes.set(op.key, /** @type {any} */ (op))\n }\n }\n )\n }\n\n /**\n * @return {this}\n */\n clone () {\n const d = /** @type {this} */ (new DeltaMap(this.$vals))\n this.forEach(change => {\n d._changes.set(change.key, /** @type {any} */ (change))\n })\n d.origin = this.origin\n d.isDiff = this.isDiff\n return d\n }\n\n done () {\n return /** @type {DeltaMap<Vals>} */ (this)\n }\n\n /**\n * @param {DeltaMap<Partial<Vals>>} other\n */\n [traits.EqualityTraitSymbol] (other) {\n return fun.equalityDeep(this._changes, other._changes)\n }\n}\n\n/**\n * @template {s.Schema<{ [Key:string]: ops.DeltaMapOps }>} OPS\n * @template {keyof s.Unwrap<OPS>} K\n * @param {OPS} $ops\n * @param {K} k\n * @return {s.Schema<s.Unwrap<OPS>[K]>}\n */\nconst valsKeySchema = ($ops, k) => s.$$object.check($ops) ? ($ops.shape[k] || s.$never) : ((s.$$record.check($ops) && $ops.shape.keys.check(k)) ? ($ops.shape.values) : s.$never)\n\n/**\n * @template {{ [key:string]: any }} Vals\n * @typedef {{ [K in keyof Vals]: Vals[K] extends DeltaMap<infer DM> ? ops.MapInsertOp<Vals[K]>|ops.MapDeleteOp<Vals[K]>|ops.MapModifyOp<DeltaMap<DM>> : (ops.MapInsertOp<Exclude<Vals[K],undefined>>|ops.MapDeleteOp<Exclude<Vals[K],undefined>>) }} MapOpsFromValues\n */\n\n/**\n * Create a new DeltaMap, optionally supply a schema.\n *\n * @template {s.Schema<{ [key:string]: any }> | { [key:string]: s.Schema<any> }} [$Vals=s.Schema<{ [key:string]: any }>]\n * @param {$Vals} $vals\n * @return {DeltaMap<$Vals extends s.Schema<infer $V> ? $V : (s._ReadObjectDef<$Vals> extends s.Schema<infer $V> ? $V : never)>}\n */\nexport const map = ($vals = /** @type {any} */ (s.$record(s.$string, s.$any))) => /** @type {any} */ (new DeltaMap(/** @type {any} */ (s.$$schema.check($vals) ? $vals : s.$object($vals))))\n\n/**\n * @template {{ [key:string]: any }} Vals\n * @param {s.Schema<Vals>} $vals\n * @return {s.Schema<DeltaMap<Vals>>}\n */\nexport const $map = $vals => {\n const $valsPartial = s.$$object.check($vals) ? $vals.partial : $vals\n return /** @type {any} */ (s.$instanceOf(DeltaMap, o => Array.from(o._changes.entries()).every(([k, op]) =>\n !ops.$insertOp.check(op) || $valsPartial.check({ [k]: op.value })\n )))\n}\nexport const $mapAny = s.$instanceOf(DeltaMap)\n"],"names":["s.$record","s.$string","ops.$deltaMapChangeJson","AbstractDelta","s.$$object","gmap.create","ops.MapDeleteOp","ops.MapInsertOp","ops.MapModifyOp","traits.EqualityTraitSymbol","mergeAttrs","ops.$modifyOp","$delta","fun.equalityDeep","s.$never","s.$$record","s.$any","s.$$schema","s.$object","s.$instanceOf","ops.$insertOp"],"mappings":"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"}
1
+ {"version":3,"file":"map.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;"}
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var traits = require('./traits.cjs');
3
+ var equality = require('./equality.cjs');
4
4
 
5
5
  /**
6
6
  * Utility functions for working with EcmaScript objects.
@@ -131,7 +131,7 @@ const hasProperty = (obj, key) => Object.prototype.hasOwnProperty.call(obj, key)
131
131
  * @param {Object<string,any>} b
132
132
  * @return {boolean}
133
133
  */
134
- const equalFlat = (a, b) => a === b || (size(a) === size(b) && every(a, (val, key) => (val !== undefined || hasProperty(b, key)) && traits.equals(b[key], val)));
134
+ const equalFlat = (a, b) => a === b || (size(a) === size(b) && every(a, (val, key) => (val !== undefined || hasProperty(b, key)) && equality.equals(b[key], val)));
135
135
 
136
136
  /**
137
137
  * Make an object immutable. This hurts performance and is usually not needed if you perform good
@@ -209,4 +209,4 @@ exports.setIfUndefined = setIfUndefined;
209
209
  exports.size = size;
210
210
  exports.some = some;
211
211
  exports.values = values;
212
- //# sourceMappingURL=object-18980796.cjs.map
212
+ //# sourceMappingURL=object-dec41ef9.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"object-dec41ef9.cjs","sources":["../object.js"],"sourcesContent":["import * as equalityTrait from './trait/equality.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)) && equalityTrait.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":["equalityTrait.equals"],"mappings":"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"}
package/dist/object.cjs CHANGED
@@ -2,8 +2,8 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- require('./traits.cjs');
6
- var object = require('./object-18980796.cjs');
5
+ require('./equality.cjs');
6
+ var object = require('./object-dec41ef9.cjs');
7
7
 
8
8
 
9
9
 
@@ -1 +1 @@
1
- {"version":3,"file":"object.d.ts","sourceRoot":"","sources":["../object.js"],"names":[],"mappings":"AAWO;;EAAwC;AAMxC,4BAHI,GAAG,GACF,CAAC,IAAI;IAAE,CAAC,CAAC,EAAC,MAAM,GAAE,GAAG,CAAA;CAAE,CAEe;AAElD;;GAEG;AACH;;;;;EAAmC;AAEnC;;GAEG;AACH;;;EAA+B;AAE/B;;;;GAIG;AACH;;;;;EAAmC;AAO5B,kCAHI;IAAC,CAAC,CAAC,EAAC,MAAM,GAAE,GAAC,CAAA;CAAC,KACd,CAAS,IAAC,EAAD,GAAC,EAAC,IAAM,EAAN,MAAM,KAAE,GAAG,QAMhC;AAUM,oBALM,CAAC;;MAEH,CAAS,IAAG,EAAH,GAAG,EAAC,IAAM,EAAN,MAAM,KAAE,CAAC,GACrB,KAAK,CAAC,CAAC,CAAC,CAQnB;AAOM;;IAFK,MAAM,CAE2B;AAMtC;;IAFK,MAAM,CAEyB;AAQpC,qBAL4C,CAAC,SAAvC;IAAG,CAAC,GAAG,EAAC,MAAM,GAAC,MAAM,GAAC,MAAM,GAAG,GAAG,CAAA;CAAG,OACvC,CAAC,KACD,CAAC,CAAC,EAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAAC,CAAC,EAAC,MAAM,CAAC,KAAG,OAAO,GAChC,OAAO,CASlB;AAKM,6BAFI,MAAM,GAAC,IAAI,GAAC,SAAS,WAQ/B;AAQM,sBAL4C,CAAC,SAAvC;IAAG,CAAC,GAAG,EAAC,MAAM,GAAC,MAAM,GAAC,MAAM,GAAG,GAAG,CAAA;CAAG,OACvC,CAAC,KACD,CAAC,CAAC,EAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAAC,CAAC,EAAC,MAAM,CAAC,KAAG,OAAO,GAChC,OAAO,CASlB;AASM,iCAJI,GAAG,OACH,MAAM,GAAC,MAAM,GAAC,MAAM,GACnB,OAAO,CAEoE;AAOhF;;;;IAFK,OAAO,CAEoJ;AAEvK;;;GAGG;AACH;;;;;;EAAmC;AAU5B,2BAJY,CAAC,qBACT,CAAC,GACA,QAAQ,CAAC,CAAC,CAAC,CAUtB;AAaM,+BAPe,EAAE,SAAX,MAAQ,EACI,CAAC,SAAb,MAAO,EAAG,gBACZ,EAAE,OACF,CAAC,WACD,MAAM,EAAE,CAAC,CAAC,CAAC,GACV,EAAE,CAAC,CAAC,CAAC,CAEqF"}
1
+ {"version":3,"file":"object.d.ts","sourceRoot":"","sources":["../object.js"],"names":[],"mappings":"AAWO;;EAAwC;AAMxC,4BAHI,GAAG,GACF,CAAC,IAAI;IAAE,CAAC,CAAC,EAAC,MAAM,GAAE,GAAG,CAAA;CAAE,CAEe;AAElD;;GAEG;AACH;;;;;EAAmC;AAEnC;;GAEG;AACH;;;EAA+B;AAE/B;;;;GAIG;AACH;;;;;EAAmC;AAO5B,kCAHI;IAAC,CAAC,CAAC,EAAC,MAAM,GAAE,GAAC,CAAA;CAAC,KACd,CAAS,IAAC,EAAD,GAAC,EAAC,IAAM,EAAN,MAAM,KAAE,GAAG,QAMhC;AAUM,oBALM,CAAC;;MAEH,CAAS,IAAG,EAAH,GAAG,EAAC,IAAM,EAAN,MAAM,KAAE,CAAC,GACrB,KAAK,CAAC,CAAC,CAAC,CAQnB;AAOM;;IAFK,MAAM,CAE2B;AAMtC;;IAFK,MAAM,CAEyB;AAQpC,qBAL4C,CAAC,SAAvC;IAAG,CAAC,GAAG,EAAC,MAAM,GAAC,MAAM,GAAC,MAAM,GAAG,GAAG,CAAA;CAAG,OACvC,CAAC,KACD,CAAC,CAAC,EAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAAC,CAAC,EAAC,MAAM,CAAC,KAAG,OAAO,GAChC,OAAO,CASlB;AAKM,6BAFI,MAAM,GAAC,IAAI,GAAC,SAAS,WAQ/B;AAQM,sBAL4C,CAAC,SAAvC;IAAG,CAAC,GAAG,EAAC,MAAM,GAAC,MAAM,GAAC,MAAM,GAAG,GAAG,CAAA;CAAG,OACvC,CAAC,KACD,CAAC,CAAC,EAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAAC,CAAC,EAAC,MAAM,CAAC,KAAG,OAAO,GAChC,OAAO,CASlB;AASM,iCAJI,GAAG,OACH,MAAM,GAAC,MAAM,GAAC,MAAM,GACnB,OAAO,CAEoE;AAOhF;;;;IAFK,OAAO,CAE2J;AAE9K;;;GAGG;AACH;;;;;;EAAmC;AAU5B,2BAJY,CAAC,qBACT,CAAC,GACA,QAAQ,CAAC,CAAC,CAAC,CAUtB;AAaM,+BAPe,EAAE,SAAX,MAAQ,EACI,CAAC,SAAb,MAAO,EAAG,gBACZ,EAAE,OACF,CAAC,WACD,MAAM,EAAE,CAAC,CAAC,CAAC,GACV,EAAE,CAAC,CAAC,CAAC,CAEqF"}
@@ -3,12 +3,12 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var node_perf_hooks = require('node:perf_hooks');
6
- var _function = require('./function-e7d18feb.cjs');
6
+ var _function = require('./function-618aa640.cjs');
7
7
  var time = require('./time-d8438852.cjs');
8
8
  require('./array-78849c95.cjs');
9
9
  require('./set-5b47859e.cjs');
10
- require('./object-18980796.cjs');
11
- require('./traits.cjs');
10
+ require('./object-dec41ef9.cjs');
11
+ require('./equality.cjs');
12
12
  require('./metric.cjs');
13
13
  require('./math-96d5e8c4.cjs');
14
14
 
package/dist/pledge.cjs CHANGED
@@ -3,8 +3,8 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var queue = require('./queue.cjs');
6
- var object = require('./object-18980796.cjs');
7
- require('./traits.cjs');
6
+ var object = require('./object-dec41ef9.cjs');
7
+ require('./equality.cjs');
8
8
 
9
9
  /**
10
10
  * @experimental Use of this module is not encouraged!
@@ -3,7 +3,7 @@
3
3
  var binary = require('./binary-ac8e39e2.cjs');
4
4
  var string = require('./string-fddc5f8b.cjs');
5
5
  var math = require('./math-96d5e8c4.cjs');
6
- var buffer = require('./buffer-7f6fa8fa.cjs');
6
+ var buffer = require('./buffer-54360f21.cjs');
7
7
 
8
8
  /**
9
9
  * @module prng
@@ -384,4 +384,4 @@ exports.uint8Array = uint8Array;
384
384
  exports.utf16Rune = utf16Rune;
385
385
  exports.utf16String = utf16String;
386
386
  exports.word = word;
387
- //# sourceMappingURL=prng-99204216.cjs.map
387
+ //# sourceMappingURL=prng-96eef52a.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"prng-99204216.cjs","sources":["../prng/Xorshift32.js","../prng/Xoroshiro128plus.js","../prng.js"],"sourcesContent":["/**\n * @module prng\n */\n\nimport * as binary from '../binary.js'\n\n/**\n * Xorshift32 is a very simple but elegang PRNG with a period of `2^32-1`.\n */\nexport class Xorshift32 {\n /**\n * @param {number} seed Unsigned 32 bit number\n */\n constructor (seed) {\n this.seed = seed\n /**\n * @type {number}\n */\n this._state = seed\n }\n\n /**\n * Generate a random signed integer.\n *\n * @return {Number} A 32 bit signed integer.\n */\n next () {\n let x = this._state\n x ^= x << 13\n x ^= x >> 17\n x ^= x << 5\n this._state = x\n return (x >>> 0) / (binary.BITS32 + 1)\n }\n}\n","/**\n * @module prng\n */\n\nimport { Xorshift32 } from './Xorshift32.js'\nimport * as binary from '../binary.js'\n\n/**\n * This is a variant of xoroshiro128plus - the fastest full-period generator passing BigCrush without systematic failures.\n *\n * This implementation follows the idea of the original xoroshiro128plus implementation,\n * but is optimized for the JavaScript runtime. I.e.\n * * The operations are performed on 32bit integers (the original implementation works with 64bit values).\n * * The initial 128bit state is computed based on a 32bit seed and Xorshift32.\n * * This implementation returns two 32bit values based on the 64bit value that is computed by xoroshiro128plus.\n * Caution: The last addition step works slightly different than in the original implementation - the add carry of the\n * first 32bit addition is not carried over to the last 32bit.\n *\n * [Reference implementation](http://vigna.di.unimi.it/xorshift/xoroshiro128plus.c)\n */\nexport class Xoroshiro128plus {\n /**\n * @param {number} seed Unsigned 32 bit number\n */\n constructor (seed) {\n this.seed = seed\n // This is a variant of Xoroshiro128plus to fill the initial state\n const xorshift32 = new Xorshift32(seed)\n this.state = new Uint32Array(4)\n for (let i = 0; i < 4; i++) {\n this.state[i] = xorshift32.next() * binary.BITS32\n }\n this._fresh = true\n }\n\n /**\n * @return {number} Float/Double in [0,1)\n */\n next () {\n const state = this.state\n if (this._fresh) {\n this._fresh = false\n return ((state[0] + state[2]) >>> 0) / (binary.BITS32 + 1)\n } else {\n this._fresh = true\n const s0 = state[0]\n const s1 = state[1]\n const s2 = state[2] ^ s0\n const s3 = state[3] ^ s1\n // function js_rotl (x, k) {\n // k = k - 32\n // const x1 = x[0]\n // const x2 = x[1]\n // x[0] = x2 << k | x1 >>> (32 - k)\n // x[1] = x1 << k | x2 >>> (32 - k)\n // }\n // rotl(s0, 55) // k = 23 = 55 - 32; j = 9 = 32 - 23\n state[0] = (s1 << 23 | s0 >>> 9) ^ s2 ^ (s2 << 14 | s3 >>> 18)\n state[1] = (s0 << 23 | s1 >>> 9) ^ s3 ^ (s3 << 14)\n // rol(s1, 36) // k = 4 = 36 - 32; j = 23 = 32 - 9\n state[2] = s3 << 4 | s2 >>> 28\n state[3] = s2 << 4 | s3 >>> 28\n return (((state[1] + state[3]) >>> 0) / (binary.BITS32 + 1))\n }\n }\n}\n\n/*\n// Reference implementation\n// Source: http://vigna.di.unimi.it/xorshift/xoroshiro128plus.c\n// By David Blackman and Sebastiano Vigna\n// Who published the reference implementation under Public Domain (CC0)\n\n#include <stdint.h>\n#include <stdio.h>\n\nuint64_t s[2];\n\nstatic inline uint64_t rotl(const uint64_t x, int k) {\n return (x << k) | (x >> (64 - k));\n}\n\nuint64_t next(void) {\n const uint64_t s0 = s[0];\n uint64_t s1 = s[1];\n s1 ^= s0;\n s[0] = rotl(s0, 55) ^ s1 ^ (s1 << 14); // a, b\n s[1] = rotl(s1, 36); // c\n return (s[0] + s[1]) & 0xFFFFFFFF;\n}\n\nint main(void)\n{\n int i;\n s[0] = 1111 | (1337ul << 32);\n s[1] = 1234 | (9999ul << 32);\n\n printf(\"1000 outputs of genrand_int31()\\n\");\n for (i=0; i<100; i++) {\n printf(\"%10lu \", i);\n printf(\"%10lu \", next());\n printf(\"- %10lu \", s[0] >> 32);\n printf(\"%10lu \", (s[0] << 32) >> 32);\n printf(\"%10lu \", s[1] >> 32);\n printf(\"%10lu \", (s[1] << 32) >> 32);\n printf(\"\\n\");\n // if (i%5==4) printf(\"\\n\");\n }\n return 0;\n}\n*/\n","/**\n * Fast Pseudo Random Number Generators.\n *\n * Given a seed a PRNG generates a sequence of numbers that cannot be reasonably predicted.\n * Two PRNGs must generate the same random sequence of numbers if given the same seed.\n *\n * @module prng\n */\n\nimport * as binary from './binary.js'\nimport { fromCharCode, fromCodePoint } from './string.js'\nimport * as math from './math.js'\nimport { Xoroshiro128plus } from './prng/Xoroshiro128plus.js'\nimport * as buffer from './buffer.js'\n\n/**\n * Description of the function\n * @callback generatorNext\n * @return {number} A random float in the cange of [0,1)\n */\n\n/**\n * A random type generator.\n *\n * @typedef {Object} PRNG\n * @property {generatorNext} next Generate new number\n */\nexport const DefaultPRNG = Xoroshiro128plus\n\n/**\n * Create a Xoroshiro128plus Pseudo-Random-Number-Generator.\n * This is the fastest full-period generator passing BigCrush without systematic failures.\n * But there are more PRNGs available in ./PRNG/.\n *\n * @param {number} seed A positive 32bit integer. Do not use negative numbers.\n * @return {PRNG}\n */\nexport const create = seed => new DefaultPRNG(seed)\n\n/**\n * Generates a single random bool.\n *\n * @param {PRNG} gen A random number generator.\n * @return {Boolean} A random boolean\n */\nexport const bool = gen => (gen.next() >= 0.5)\n\n/**\n * Generates a random integer with 53 bit resolution.\n *\n * @param {PRNG} gen A random number generator.\n * @param {Number} min The lower bound of the allowed return values (inclusive).\n * @param {Number} max The upper bound of the allowed return values (inclusive).\n * @return {Number} A random integer on [min, max]\n */\nexport const int53 = (gen, min, max) => math.floor(gen.next() * (max + 1 - min) + min)\n\n/**\n * Generates a random integer with 53 bit resolution.\n *\n * @param {PRNG} gen A random number generator.\n * @param {Number} min The lower bound of the allowed return values (inclusive).\n * @param {Number} max The upper bound of the allowed return values (inclusive).\n * @return {Number} A random integer on [min, max]\n */\nexport const uint53 = (gen, min, max) => math.abs(int53(gen, min, max))\n\n/**\n * Generates a random integer with 32 bit resolution.\n *\n * @param {PRNG} gen A random number generator.\n * @param {Number} min The lower bound of the allowed return values (inclusive).\n * @param {Number} max The upper bound of the allowed return values (inclusive).\n * @return {Number} A random integer on [min, max]\n */\nexport const int32 = (gen, min, max) => math.floor(gen.next() * (max + 1 - min) + min)\n\n/**\n * Generates a random integer with 53 bit resolution.\n *\n * @param {PRNG} gen A random number generator.\n * @param {Number} min The lower bound of the allowed return values (inclusive).\n * @param {Number} max The upper bound of the allowed return values (inclusive).\n * @return {Number} A random integer on [min, max]\n */\nexport const uint32 = (gen, min, max) => int32(gen, min, max) >>> 0\n\n/**\n * @deprecated\n * Optimized version of prng.int32. It has the same precision as prng.int32, but should be preferred when\n * openaring on smaller ranges.\n *\n * @param {PRNG} gen A random number generator.\n * @param {Number} min The lower bound of the allowed return values (inclusive).\n * @param {Number} max The upper bound of the allowed return values (inclusive). The max inclusive number is `binary.BITS31-1`\n * @return {Number} A random integer on [min, max]\n */\nexport const int31 = (gen, min, max) => int32(gen, min, max)\n\n/**\n * Generates a random real on [0, 1) with 53 bit resolution.\n *\n * @param {PRNG} gen A random number generator.\n * @return {Number} A random real number on [0, 1).\n */\nexport const real53 = gen => gen.next() // (((gen.next() >>> 5) * binary.BIT26) + (gen.next() >>> 6)) / MAX_SAFE_INTEGER\n\n/**\n * Generates a random character from char code 32 - 126. I.e. Characters, Numbers, special characters, and Space:\n *\n * @param {PRNG} gen A random number generator.\n * @return {string}\n *\n * (Space)!\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[/]^_`abcdefghijklmnopqrstuvwxyz{|}~\n */\nexport const char = gen => fromCharCode(int31(gen, 32, 126))\n\n/**\n * @param {PRNG} gen\n * @return {string} A single letter (a-z)\n */\nexport const letter = gen => fromCharCode(int31(gen, 97, 122))\n\n/**\n * @param {PRNG} gen\n * @param {number} [minLen=0]\n * @param {number} [maxLen=20]\n * @return {string} A random word (0-20 characters) without spaces consisting of letters (a-z)\n */\nexport const word = (gen, minLen = 0, maxLen = 20) => {\n const len = int31(gen, minLen, maxLen)\n let str = ''\n for (let i = 0; i < len; i++) {\n str += letter(gen)\n }\n return str\n}\n\n/**\n * TODO: this function produces invalid runes. Does not cover all of utf16!!\n *\n * @param {PRNG} gen\n * @return {string}\n */\nexport const utf16Rune = gen => {\n const codepoint = int31(gen, 0, 256)\n return fromCodePoint(codepoint)\n}\n\n/**\n * @param {PRNG} gen\n * @param {number} [maxlen = 20]\n */\nexport const utf16String = (gen, maxlen = 20) => {\n const len = int31(gen, 0, maxlen)\n let str = ''\n for (let i = 0; i < len; i++) {\n str += utf16Rune(gen)\n }\n return str\n}\n\n/**\n * Returns one element of a given array.\n *\n * @param {PRNG} gen A random number generator.\n * @param {Array<T>} array Non empty Array of possible values.\n * @return {T} One of the values of the supplied Array.\n * @template T\n */\nexport const oneOf = (gen, array) => array[int31(gen, 0, array.length - 1)]\n\n/**\n * @param {PRNG} gen\n * @param {number} len\n * @return {Uint8Array<ArrayBuffer>}\n */\nexport const uint8Array = (gen, len) => {\n const buf = buffer.createUint8ArrayFromLen(len)\n for (let i = 0; i < buf.length; i++) {\n buf[i] = int32(gen, 0, binary.BITS8)\n }\n return buf\n}\n\n/* c8 ignore start */\n/**\n * @param {PRNG} gen\n * @param {number} len\n * @return {Uint16Array}\n */\nexport const uint16Array = (gen, len) => new Uint16Array(uint8Array(gen, len * 2).buffer)\n\n/**\n * @param {PRNG} gen\n * @param {number} len\n * @return {Uint32Array}\n */\nexport const uint32Array = (gen, len) => new Uint32Array(uint8Array(gen, len * 4).buffer)\n/* c8 ignore stop */\n"],"names":["binary.BITS32","math.floor","math.abs","fromCharCode","fromCodePoint","buffer.createUint8ArrayFromLen","binary.BITS8"],"mappings":"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"}
1
+ {"version":3,"file":"prng-96eef52a.cjs","sources":["../prng/Xorshift32.js","../prng/Xoroshiro128plus.js","../prng.js"],"sourcesContent":["/**\n * @module prng\n */\n\nimport * as binary from '../binary.js'\n\n/**\n * Xorshift32 is a very simple but elegang PRNG with a period of `2^32-1`.\n */\nexport class Xorshift32 {\n /**\n * @param {number} seed Unsigned 32 bit number\n */\n constructor (seed) {\n this.seed = seed\n /**\n * @type {number}\n */\n this._state = seed\n }\n\n /**\n * Generate a random signed integer.\n *\n * @return {Number} A 32 bit signed integer.\n */\n next () {\n let x = this._state\n x ^= x << 13\n x ^= x >> 17\n x ^= x << 5\n this._state = x\n return (x >>> 0) / (binary.BITS32 + 1)\n }\n}\n","/**\n * @module prng\n */\n\nimport { Xorshift32 } from './Xorshift32.js'\nimport * as binary from '../binary.js'\n\n/**\n * This is a variant of xoroshiro128plus - the fastest full-period generator passing BigCrush without systematic failures.\n *\n * This implementation follows the idea of the original xoroshiro128plus implementation,\n * but is optimized for the JavaScript runtime. I.e.\n * * The operations are performed on 32bit integers (the original implementation works with 64bit values).\n * * The initial 128bit state is computed based on a 32bit seed and Xorshift32.\n * * This implementation returns two 32bit values based on the 64bit value that is computed by xoroshiro128plus.\n * Caution: The last addition step works slightly different than in the original implementation - the add carry of the\n * first 32bit addition is not carried over to the last 32bit.\n *\n * [Reference implementation](http://vigna.di.unimi.it/xorshift/xoroshiro128plus.c)\n */\nexport class Xoroshiro128plus {\n /**\n * @param {number} seed Unsigned 32 bit number\n */\n constructor (seed) {\n this.seed = seed\n // This is a variant of Xoroshiro128plus to fill the initial state\n const xorshift32 = new Xorshift32(seed)\n this.state = new Uint32Array(4)\n for (let i = 0; i < 4; i++) {\n this.state[i] = xorshift32.next() * binary.BITS32\n }\n this._fresh = true\n }\n\n /**\n * @return {number} Float/Double in [0,1)\n */\n next () {\n const state = this.state\n if (this._fresh) {\n this._fresh = false\n return ((state[0] + state[2]) >>> 0) / (binary.BITS32 + 1)\n } else {\n this._fresh = true\n const s0 = state[0]\n const s1 = state[1]\n const s2 = state[2] ^ s0\n const s3 = state[3] ^ s1\n // function js_rotl (x, k) {\n // k = k - 32\n // const x1 = x[0]\n // const x2 = x[1]\n // x[0] = x2 << k | x1 >>> (32 - k)\n // x[1] = x1 << k | x2 >>> (32 - k)\n // }\n // rotl(s0, 55) // k = 23 = 55 - 32; j = 9 = 32 - 23\n state[0] = (s1 << 23 | s0 >>> 9) ^ s2 ^ (s2 << 14 | s3 >>> 18)\n state[1] = (s0 << 23 | s1 >>> 9) ^ s3 ^ (s3 << 14)\n // rol(s1, 36) // k = 4 = 36 - 32; j = 23 = 32 - 9\n state[2] = s3 << 4 | s2 >>> 28\n state[3] = s2 << 4 | s3 >>> 28\n return (((state[1] + state[3]) >>> 0) / (binary.BITS32 + 1))\n }\n }\n}\n\n/*\n// Reference implementation\n// Source: http://vigna.di.unimi.it/xorshift/xoroshiro128plus.c\n// By David Blackman and Sebastiano Vigna\n// Who published the reference implementation under Public Domain (CC0)\n\n#include <stdint.h>\n#include <stdio.h>\n\nuint64_t s[2];\n\nstatic inline uint64_t rotl(const uint64_t x, int k) {\n return (x << k) | (x >> (64 - k));\n}\n\nuint64_t next(void) {\n const uint64_t s0 = s[0];\n uint64_t s1 = s[1];\n s1 ^= s0;\n s[0] = rotl(s0, 55) ^ s1 ^ (s1 << 14); // a, b\n s[1] = rotl(s1, 36); // c\n return (s[0] + s[1]) & 0xFFFFFFFF;\n}\n\nint main(void)\n{\n int i;\n s[0] = 1111 | (1337ul << 32);\n s[1] = 1234 | (9999ul << 32);\n\n printf(\"1000 outputs of genrand_int31()\\n\");\n for (i=0; i<100; i++) {\n printf(\"%10lu \", i);\n printf(\"%10lu \", next());\n printf(\"- %10lu \", s[0] >> 32);\n printf(\"%10lu \", (s[0] << 32) >> 32);\n printf(\"%10lu \", s[1] >> 32);\n printf(\"%10lu \", (s[1] << 32) >> 32);\n printf(\"\\n\");\n // if (i%5==4) printf(\"\\n\");\n }\n return 0;\n}\n*/\n","/**\n * Fast Pseudo Random Number Generators.\n *\n * Given a seed a PRNG generates a sequence of numbers that cannot be reasonably predicted.\n * Two PRNGs must generate the same random sequence of numbers if given the same seed.\n *\n * @module prng\n */\n\nimport * as binary from './binary.js'\nimport { fromCharCode, fromCodePoint } from './string.js'\nimport * as math from './math.js'\nimport { Xoroshiro128plus } from './prng/Xoroshiro128plus.js'\nimport * as buffer from './buffer.js'\n\n/**\n * Description of the function\n * @callback generatorNext\n * @return {number} A random float in the cange of [0,1)\n */\n\n/**\n * A random type generator.\n *\n * @typedef {Object} PRNG\n * @property {generatorNext} next Generate new number\n */\nexport const DefaultPRNG = Xoroshiro128plus\n\n/**\n * Create a Xoroshiro128plus Pseudo-Random-Number-Generator.\n * This is the fastest full-period generator passing BigCrush without systematic failures.\n * But there are more PRNGs available in ./PRNG/.\n *\n * @param {number} seed A positive 32bit integer. Do not use negative numbers.\n * @return {PRNG}\n */\nexport const create = seed => new DefaultPRNG(seed)\n\n/**\n * Generates a single random bool.\n *\n * @param {PRNG} gen A random number generator.\n * @return {Boolean} A random boolean\n */\nexport const bool = gen => (gen.next() >= 0.5)\n\n/**\n * Generates a random integer with 53 bit resolution.\n *\n * @param {PRNG} gen A random number generator.\n * @param {Number} min The lower bound of the allowed return values (inclusive).\n * @param {Number} max The upper bound of the allowed return values (inclusive).\n * @return {Number} A random integer on [min, max]\n */\nexport const int53 = (gen, min, max) => math.floor(gen.next() * (max + 1 - min) + min)\n\n/**\n * Generates a random integer with 53 bit resolution.\n *\n * @param {PRNG} gen A random number generator.\n * @param {Number} min The lower bound of the allowed return values (inclusive).\n * @param {Number} max The upper bound of the allowed return values (inclusive).\n * @return {Number} A random integer on [min, max]\n */\nexport const uint53 = (gen, min, max) => math.abs(int53(gen, min, max))\n\n/**\n * Generates a random integer with 32 bit resolution.\n *\n * @param {PRNG} gen A random number generator.\n * @param {Number} min The lower bound of the allowed return values (inclusive).\n * @param {Number} max The upper bound of the allowed return values (inclusive).\n * @return {Number} A random integer on [min, max]\n */\nexport const int32 = (gen, min, max) => math.floor(gen.next() * (max + 1 - min) + min)\n\n/**\n * Generates a random integer with 53 bit resolution.\n *\n * @param {PRNG} gen A random number generator.\n * @param {Number} min The lower bound of the allowed return values (inclusive).\n * @param {Number} max The upper bound of the allowed return values (inclusive).\n * @return {Number} A random integer on [min, max]\n */\nexport const uint32 = (gen, min, max) => int32(gen, min, max) >>> 0\n\n/**\n * @deprecated\n * Optimized version of prng.int32. It has the same precision as prng.int32, but should be preferred when\n * openaring on smaller ranges.\n *\n * @param {PRNG} gen A random number generator.\n * @param {Number} min The lower bound of the allowed return values (inclusive).\n * @param {Number} max The upper bound of the allowed return values (inclusive). The max inclusive number is `binary.BITS31-1`\n * @return {Number} A random integer on [min, max]\n */\nexport const int31 = (gen, min, max) => int32(gen, min, max)\n\n/**\n * Generates a random real on [0, 1) with 53 bit resolution.\n *\n * @param {PRNG} gen A random number generator.\n * @return {Number} A random real number on [0, 1).\n */\nexport const real53 = gen => gen.next() // (((gen.next() >>> 5) * binary.BIT26) + (gen.next() >>> 6)) / MAX_SAFE_INTEGER\n\n/**\n * Generates a random character from char code 32 - 126. I.e. Characters, Numbers, special characters, and Space:\n *\n * @param {PRNG} gen A random number generator.\n * @return {string}\n *\n * (Space)!\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[/]^_`abcdefghijklmnopqrstuvwxyz{|}~\n */\nexport const char = gen => fromCharCode(int31(gen, 32, 126))\n\n/**\n * @param {PRNG} gen\n * @return {string} A single letter (a-z)\n */\nexport const letter = gen => fromCharCode(int31(gen, 97, 122))\n\n/**\n * @param {PRNG} gen\n * @param {number} [minLen=0]\n * @param {number} [maxLen=20]\n * @return {string} A random word (0-20 characters) without spaces consisting of letters (a-z)\n */\nexport const word = (gen, minLen = 0, maxLen = 20) => {\n const len = int31(gen, minLen, maxLen)\n let str = ''\n for (let i = 0; i < len; i++) {\n str += letter(gen)\n }\n return str\n}\n\n/**\n * TODO: this function produces invalid runes. Does not cover all of utf16!!\n *\n * @param {PRNG} gen\n * @return {string}\n */\nexport const utf16Rune = gen => {\n const codepoint = int31(gen, 0, 256)\n return fromCodePoint(codepoint)\n}\n\n/**\n * @param {PRNG} gen\n * @param {number} [maxlen = 20]\n */\nexport const utf16String = (gen, maxlen = 20) => {\n const len = int31(gen, 0, maxlen)\n let str = ''\n for (let i = 0; i < len; i++) {\n str += utf16Rune(gen)\n }\n return str\n}\n\n/**\n * Returns one element of a given array.\n *\n * @param {PRNG} gen A random number generator.\n * @param {Array<T>} array Non empty Array of possible values.\n * @return {T} One of the values of the supplied Array.\n * @template T\n */\nexport const oneOf = (gen, array) => array[int31(gen, 0, array.length - 1)]\n\n/**\n * @param {PRNG} gen\n * @param {number} len\n * @return {Uint8Array<ArrayBuffer>}\n */\nexport const uint8Array = (gen, len) => {\n const buf = buffer.createUint8ArrayFromLen(len)\n for (let i = 0; i < buf.length; i++) {\n buf[i] = int32(gen, 0, binary.BITS8)\n }\n return buf\n}\n\n/* c8 ignore start */\n/**\n * @param {PRNG} gen\n * @param {number} len\n * @return {Uint16Array}\n */\nexport const uint16Array = (gen, len) => new Uint16Array(uint8Array(gen, len * 2).buffer)\n\n/**\n * @param {PRNG} gen\n * @param {number} len\n * @return {Uint32Array}\n */\nexport const uint32Array = (gen, len) => new Uint32Array(uint8Array(gen, len * 4).buffer)\n/* c8 ignore stop */\n"],"names":["binary.BITS32","math.floor","math.abs","fromCharCode","fromCodePoint","buffer.createUint8ArrayFromLen","binary.BITS8"],"mappings":";;;;;;;AAAA;AACA;AACA;AAGA;AACA;AACA;AACA;AACO,MAAM,UAAU,CAAC;AACxB;AACA;AACA;AACA,EAAE,WAAW,CAAC,CAAC,IAAI,EAAE;AACrB,IAAI,IAAI,CAAC,IAAI,GAAG,KAAI;AACpB;AACA;AACA;AACA,IAAI,IAAI,CAAC,MAAM,GAAG,KAAI;AACtB,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,IAAI,CAAC,GAAG;AACV,IAAI,IAAI,CAAC,GAAG,IAAI,CAAC,OAAM;AACvB,IAAI,CAAC,IAAI,CAAC,IAAI,GAAE;AAChB,IAAI,CAAC,IAAI,CAAC,IAAI,GAAE;AAChB,IAAI,CAAC,IAAI,CAAC,IAAI,EAAC;AACf,IAAI,IAAI,CAAC,MAAM,GAAG,EAAC;AACnB,IAAI,OAAO,CAAC,CAAC,KAAK,CAAC,KAAKA,aAAa,GAAG,CAAC,CAAC;AAC1C,GAAG;AACH;;AClCA;AACA;AACA;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAM,gBAAgB,CAAC;AAC9B;AACA;AACA;AACA,EAAE,WAAW,CAAC,CAAC,IAAI,EAAE;AACrB,IAAI,IAAI,CAAC,IAAI,GAAG,KAAI;AACpB;AACA,IAAI,MAAM,UAAU,GAAG,IAAI,UAAU,CAAC,IAAI,EAAC;AAC3C,IAAI,IAAI,CAAC,KAAK,GAAG,IAAI,WAAW,CAAC,CAAC,EAAC;AACnC,IAAI,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;AAChC,MAAM,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,IAAI,EAAE,GAAGA,cAAa;AACvD,KAAK;AACL,IAAI,IAAI,CAAC,MAAM,GAAG,KAAI;AACtB,GAAG;AACH;AACA;AACA;AACA;AACA,EAAE,IAAI,CAAC,GAAG;AACV,IAAI,MAAM,KAAK,GAAG,IAAI,CAAC,MAAK;AAC5B,IAAI,IAAI,IAAI,CAAC,MAAM,EAAE;AACrB,MAAM,IAAI,CAAC,MAAM,GAAG,MAAK;AACzB,MAAM,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAKA,aAAa,GAAG,CAAC,CAAC;AAChE,KAAK,MAAM;AACX,MAAM,IAAI,CAAC,MAAM,GAAG,KAAI;AACxB,MAAM,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,EAAC;AACzB,MAAM,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,EAAC;AACzB,MAAM,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,GAAE;AAC9B,MAAM,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,GAAE;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,EAAC;AACpE,MAAM,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,EAAC;AACxD;AACA,MAAM,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,KAAK,GAAE;AACpC,MAAM,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,KAAK,GAAE;AACpC,MAAM,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAKA,aAAa,GAAG,CAAC,CAAC,CAAC;AAClE,KAAK;AACL,GAAG;AACH,CAAC;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC9GA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAOA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACY,MAAC,WAAW,GAAG,iBAAgB;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACY,MAAC,MAAM,GAAG,IAAI,IAAI,IAAI,WAAW,CAAC,IAAI,EAAC;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACY,MAAC,IAAI,GAAG,GAAG,KAAK,GAAG,CAAC,IAAI,EAAE,IAAI,GAAG,EAAC;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACY,MAAC,KAAK,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,KAAKC,UAAU,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,EAAC;AACtF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACY,MAAC,MAAM,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,KAAKC,QAAQ,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAC;AACvE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACY,MAAC,KAAK,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,KAAKD,UAAU,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,EAAC;AACtF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACY,MAAC,MAAM,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,KAAK,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,KAAK,EAAC;AACnE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACY,MAAC,KAAK,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,KAAK,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAC;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACY,MAAC,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,IAAI,GAAE;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACY,MAAC,IAAI,GAAG,GAAG,IAAIE,mBAAY,CAAC,KAAK,CAAC,GAAG,EAAE,EAAE,EAAE,GAAG,CAAC,EAAC;AAC5D;AACA;AACA;AACA;AACA;AACY,MAAC,MAAM,GAAG,GAAG,IAAIA,mBAAY,CAAC,KAAK,CAAC,GAAG,EAAE,EAAE,EAAE,GAAG,CAAC,EAAC;AAC9D;AACA;AACA;AACA;AACA;AACA;AACA;AACY,MAAC,IAAI,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,CAAC,EAAE,MAAM,GAAG,EAAE,KAAK;AACtD,EAAE,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAC;AACxC,EAAE,IAAI,GAAG,GAAG,GAAE;AACd,EAAE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE;AAChC,IAAI,GAAG,IAAI,MAAM,CAAC,GAAG,EAAC;AACtB,GAAG;AACH,EAAE,OAAO,GAAG;AACZ,EAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACY,MAAC,SAAS,GAAG,GAAG,IAAI;AAChC,EAAE,MAAM,SAAS,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,GAAG,EAAC;AACtC,EAAE,OAAOC,oBAAa,CAAC,SAAS,CAAC;AACjC,EAAC;AACD;AACA;AACA;AACA;AACA;AACY,MAAC,WAAW,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,EAAE,KAAK;AACjD,EAAE,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,MAAM,EAAC;AACnC,EAAE,IAAI,GAAG,GAAG,GAAE;AACd,EAAE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE;AAChC,IAAI,GAAG,IAAI,SAAS,CAAC,GAAG,EAAC;AACzB,GAAG;AACH,EAAE,OAAO,GAAG;AACZ,EAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACY,MAAC,KAAK,GAAG,CAAC,GAAG,EAAE,KAAK,KAAK,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,EAAC;AAC3E;AACA;AACA;AACA;AACA;AACA;AACY,MAAC,UAAU,GAAG,CAAC,GAAG,EAAE,GAAG,KAAK;AACxC,EAAE,MAAM,GAAG,GAAGC,8BAA8B,CAAC,GAAG,EAAC;AACjD,EAAE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AACvC,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,EAAEC,YAAY,EAAC;AACxC,GAAG;AACH,EAAE,OAAO,GAAG;AACZ,EAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACY,MAAC,WAAW,GAAG,CAAC,GAAG,EAAE,GAAG,KAAK,IAAI,WAAW,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC,MAAM,EAAC;AACzF;AACA;AACA;AACA;AACA;AACA;AACY,MAAC,WAAW,GAAG,CAAC,GAAG,EAAE,GAAG,KAAK,IAAI,WAAW,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC,MAAM,EAAC;AACzF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
package/dist/prng.cjs CHANGED
@@ -5,17 +5,17 @@ Object.defineProperty(exports, '__esModule', { value: true });
5
5
  require('./binary-ac8e39e2.cjs');
6
6
  require('./string-fddc5f8b.cjs');
7
7
  require('./math-96d5e8c4.cjs');
8
- var prng = require('./prng-99204216.cjs');
9
- require('./buffer-7f6fa8fa.cjs');
8
+ var prng = require('./prng-96eef52a.cjs');
9
+ require('./buffer-54360f21.cjs');
10
10
  require('./array-78849c95.cjs');
11
11
  require('./set-5b47859e.cjs');
12
- require('./environment-90227ead.cjs');
12
+ require('./environment-ae4f6f15.cjs');
13
13
  require('./map-24d263c0.cjs');
14
14
  require('./conditions-f5c0c102.cjs');
15
15
  require('./storage.cjs');
16
- require('./function-e7d18feb.cjs');
17
- require('./object-18980796.cjs');
18
- require('./traits.cjs');
16
+ require('./function-618aa640.cjs');
17
+ require('./object-dec41ef9.cjs');
18
+ require('./equality.cjs');
19
19
  require('./encoding-1a745c43.cjs');
20
20
  require('./number-1fb57bba.cjs');
21
21
  require('./decoding-76e75827.cjs');
@@ -5,16 +5,16 @@ Object.defineProperty(exports, '__esModule', { value: true });
5
5
  var math = require('./math-96d5e8c4.cjs');
6
6
  var webcrypto = require('lib0/webcrypto');
7
7
  var array = require('./array-78849c95.cjs');
8
- var buffer = require('./buffer-7f6fa8fa.cjs');
8
+ var buffer = require('./buffer-54360f21.cjs');
9
9
  require('./set-5b47859e.cjs');
10
10
  require('./string-fddc5f8b.cjs');
11
- require('./environment-90227ead.cjs');
11
+ require('./environment-ae4f6f15.cjs');
12
12
  require('./map-24d263c0.cjs');
13
13
  require('./conditions-f5c0c102.cjs');
14
14
  require('./storage.cjs');
15
- require('./function-e7d18feb.cjs');
16
- require('./object-18980796.cjs');
17
- require('./traits.cjs');
15
+ require('./function-618aa640.cjs');
16
+ require('./object-dec41ef9.cjs');
17
+ require('./equality.cjs');
18
18
  require('./encoding-1a745c43.cjs');
19
19
  require('./number-1fb57bba.cjs');
20
20
  require('./binary-ac8e39e2.cjs');
@@ -3,17 +3,17 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var math = require('./math-96d5e8c4.cjs');
6
- var buffer = require('./buffer-7f6fa8fa.cjs');
6
+ var buffer = require('./buffer-54360f21.cjs');
7
7
  require('./string-fddc5f8b.cjs');
8
8
  require('./array-78849c95.cjs');
9
9
  require('./set-5b47859e.cjs');
10
- require('./environment-90227ead.cjs');
10
+ require('./environment-ae4f6f15.cjs');
11
11
  require('./map-24d263c0.cjs');
12
12
  require('./conditions-f5c0c102.cjs');
13
13
  require('./storage.cjs');
14
- require('./function-e7d18feb.cjs');
15
- require('./object-18980796.cjs');
16
- require('./traits.cjs');
14
+ require('./function-618aa640.cjs');
15
+ require('./object-dec41ef9.cjs');
16
+ require('./equality.cjs');
17
17
  require('./encoding-1a745c43.cjs');
18
18
  require('./number-1fb57bba.cjs');
19
19
  require('./binary-ac8e39e2.cjs');