lib0 0.2.62 → 0.2.64

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 (247) hide show
  1. package/README.md +5 -5
  2. package/array.d.ts +5 -5
  3. package/array.d.ts.map +1 -1
  4. package/array.js +26 -10
  5. package/array.test.d.ts +6 -4
  6. package/array.test.d.ts.map +1 -1
  7. package/bin/gendocs.js +0 -1
  8. package/bin/gentesthtml.js +54 -0
  9. package/broadcastchannel.d.ts.map +1 -1
  10. package/broadcastchannel.js +4 -4
  11. package/buffer.d.ts.map +1 -1
  12. package/buffer.js +6 -4
  13. package/conditions.js +1 -1
  14. package/coverage/tmp/coverage-17397-1678220559587-0.json +1 -0
  15. package/crypto.d.ts.map +1 -1
  16. package/crypto.js +6 -5
  17. package/crypto.test.d.ts.map +1 -1
  18. package/decoding.d.ts.map +1 -1
  19. package/decoding.js +7 -4
  20. package/deno.json +7 -0
  21. package/deno.lock +122 -0
  22. package/dist/{array-42d0736b.cjs → array-a1682de6.cjs} +28 -12
  23. package/dist/array-a1682de6.cjs.map +1 -0
  24. package/dist/array.cjs +2 -2
  25. package/dist/array.d.ts +5 -5
  26. package/dist/array.d.ts.map +1 -1
  27. package/dist/array.test.d.ts +6 -4
  28. package/dist/array.test.d.ts.map +1 -1
  29. package/dist/{broadcastchannel-8d21c21c.cjs → broadcastchannel-4e5909e2.cjs} +8 -8
  30. package/dist/broadcastchannel-4e5909e2.cjs.map +1 -0
  31. package/dist/broadcastchannel.cjs +12 -12
  32. package/dist/broadcastchannel.d.ts.map +1 -1
  33. package/dist/{buffer-22bb9fae.cjs → buffer-9b566988.cjs} +20 -16
  34. package/dist/buffer-9b566988.cjs.map +1 -0
  35. package/dist/buffer.cjs +11 -11
  36. package/dist/buffer.d.ts.map +1 -1
  37. package/dist/cache.cjs +7 -7
  38. package/dist/component.cjs +9 -9
  39. package/dist/{conditions-fb475c70.cjs → conditions-f5c0c102.cjs} +2 -2
  40. package/dist/conditions-f5c0c102.cjs.map +1 -0
  41. package/dist/conditions.cjs +1 -1
  42. package/dist/crypto.cjs +17 -16
  43. package/dist/crypto.cjs.map +1 -1
  44. package/dist/crypto.d.ts.map +1 -1
  45. package/dist/crypto.test.d.ts.map +1 -1
  46. package/dist/decoding.cjs +11 -11
  47. package/dist/decoding.d.ts.map +1 -1
  48. package/dist/{diff-ee50c530.cjs → diff-55061848.cjs} +2 -2
  49. package/dist/{diff-ee50c530.cjs.map → diff-55061848.cjs.map} +1 -1
  50. package/dist/diff.cjs +5 -5
  51. package/dist/{dom-58958c04.cjs → dom-7ef10fba.cjs} +4 -32
  52. package/dist/dom-7ef10fba.cjs.map +1 -0
  53. package/dist/dom.cjs +2 -2
  54. package/dist/dom.d.ts.map +1 -1
  55. package/dist/encoding.cjs +11 -11
  56. package/dist/encoding.d.ts.map +1 -1
  57. package/dist/encoding.test.d.ts +2 -1
  58. package/dist/encoding.test.d.ts.map +1 -1
  59. package/dist/{environment-f6386808.cjs → environment-01c0e75b.cjs} +20 -19
  60. package/dist/environment-01c0e75b.cjs.map +1 -0
  61. package/dist/environment.cjs +8 -8
  62. package/dist/environment.d.ts.map +1 -1
  63. package/dist/{error-873c9cbf.cjs → error-8582d695.cjs} +4 -4
  64. package/dist/error-8582d695.cjs.map +1 -0
  65. package/dist/error.cjs +1 -1
  66. package/dist/error.d.ts.map +1 -1
  67. package/dist/{eventloop-c60b5658.cjs → eventloop-d0571621.cjs} +5 -5
  68. package/dist/eventloop-d0571621.cjs.map +1 -0
  69. package/dist/eventloop.cjs +1 -1
  70. package/dist/eventloop.d.ts.map +1 -1
  71. package/dist/eventloop.test.d.ts +6 -5
  72. package/dist/eventloop.test.d.ts.map +1 -1
  73. package/dist/{function-40d38a5b.cjs → function-35e8ddea.cjs} +6 -3
  74. package/dist/function-35e8ddea.cjs.map +1 -0
  75. package/dist/function.cjs +4 -4
  76. package/dist/function.d.ts.map +1 -1
  77. package/dist/function.test.d.ts +3 -1
  78. package/dist/function.test.d.ts.map +1 -1
  79. package/dist/index.cjs +22 -22
  80. package/dist/{indexeddb-7b2c0026.cjs → indexeddb-1f25af34.cjs} +7 -30
  81. package/dist/indexeddb-1f25af34.cjs.map +1 -0
  82. package/dist/indexeddb.cjs +4 -4
  83. package/dist/indexeddb.d.ts.map +1 -1
  84. package/dist/list.cjs +7 -6
  85. package/dist/list.cjs.map +1 -1
  86. package/dist/list.d.ts.map +1 -1
  87. package/dist/list.test.d.ts +2 -2
  88. package/dist/list.test.d.ts.map +1 -1
  89. package/dist/{logging-ba24d049.cjs → logging-641c32f4.cjs} +55 -50
  90. package/dist/logging-641c32f4.cjs.map +1 -0
  91. package/dist/logging.cjs +12 -12
  92. package/dist/logging.d.ts.map +1 -1
  93. package/dist/{map-28a001c9.cjs → map-9a5915e4.cjs} +6 -5
  94. package/dist/map-9a5915e4.cjs.map +1 -0
  95. package/dist/map.cjs +1 -1
  96. package/dist/map.d.ts +1 -1
  97. package/dist/map.d.ts.map +1 -1
  98. package/dist/map.test.d.ts +1 -1
  99. package/dist/map.test.d.ts.map +1 -1
  100. package/dist/{number-e62129bc.cjs → number-f97e141a.cjs} +2 -2
  101. package/dist/number-f97e141a.cjs.map +1 -0
  102. package/dist/number.cjs +1 -1
  103. package/dist/{object-fe9c0021.cjs → object-aad630ed.cjs} +6 -3
  104. package/dist/object-aad630ed.cjs.map +1 -0
  105. package/dist/object.cjs +1 -1
  106. package/dist/object.d.ts +3 -3
  107. package/dist/object.d.ts.map +1 -1
  108. package/dist/object.test.d.ts.map +1 -1
  109. package/dist/observable.cjs +3 -3
  110. package/dist/{prng-4493ba85.cjs → prng-cd2451c9.cjs} +5 -4
  111. package/dist/prng-cd2451c9.cjs.map +1 -0
  112. package/dist/prng.cjs +12 -12
  113. package/dist/prng.d.ts.map +1 -1
  114. package/dist/{promise-1a9fe712.cjs → promise-a4f32c85.cjs} +3 -3
  115. package/dist/promise-a4f32c85.cjs.map +1 -0
  116. package/dist/promise.cjs +2 -2
  117. package/dist/random.test.d.ts +1 -0
  118. package/dist/random.test.d.ts.map +1 -1
  119. package/dist/rollup.config.d.ts +2 -28
  120. package/dist/{set-b596ef38.cjs → set-0f209abb.cjs} +4 -7
  121. package/dist/set-0f209abb.cjs.map +1 -0
  122. package/dist/set.cjs +1 -1
  123. package/dist/set.d.ts.map +1 -1
  124. package/dist/set.test.d.ts +1 -1
  125. package/dist/set.test.d.ts.map +1 -1
  126. package/dist/sort.test.d.ts +2 -1
  127. package/dist/sort.test.d.ts.map +1 -1
  128. package/dist/storage.cjs +6 -5
  129. package/dist/storage.cjs.map +1 -1
  130. package/dist/storage.d.ts.map +1 -1
  131. package/dist/{string-ad04f734.cjs → string-b1bee84b.cjs} +8 -7
  132. package/dist/string-b1bee84b.cjs.map +1 -0
  133. package/dist/string.cjs +1 -1
  134. package/dist/string.d.ts.map +1 -1
  135. package/dist/symbol.test.d.ts +3 -0
  136. package/dist/symbol.test.d.ts.map +1 -0
  137. package/dist/testing.cjs +42 -40
  138. package/dist/testing.cjs.map +1 -1
  139. package/dist/testing.d.ts +1 -1
  140. package/dist/testing.d.ts.map +1 -1
  141. package/dist/testing.test.d.ts +1 -0
  142. package/dist/testing.test.d.ts.map +1 -1
  143. package/dist/{time-e00067da.cjs → time-bc2081b9.cjs} +2 -2
  144. package/dist/time-bc2081b9.cjs.map +1 -0
  145. package/dist/time.cjs +1 -1
  146. package/dist/{tree-b67c7947.cjs → tree-9f3c8837.cjs} +23 -22
  147. package/dist/tree-9f3c8837.cjs.map +1 -0
  148. package/dist/tree.cjs +1 -1
  149. package/dist/tree.d.ts.map +1 -1
  150. package/dist/url.cjs +2 -2
  151. package/dist/url.cjs.map +1 -1
  152. package/dist/webcrypto.deno.cjs +12 -0
  153. package/dist/webcrypto.deno.cjs.map +1 -0
  154. package/dist/webcrypto.deno.d.ts +3 -0
  155. package/dist/webcrypto.deno.d.ts.map +1 -0
  156. package/dist/{websocket-a48155c2.cjs → websocket-85f1d597.cjs} +2 -2
  157. package/dist/{websocket-a48155c2.cjs.map → websocket-85f1d597.cjs.map} +1 -1
  158. package/dist/websocket.cjs +5 -5
  159. package/dom.d.ts.map +1 -1
  160. package/dom.js +2 -30
  161. package/encoding.d.ts.map +1 -1
  162. package/encoding.js +2 -3
  163. package/encoding.test.d.ts +2 -1
  164. package/encoding.test.d.ts.map +1 -1
  165. package/environment.d.ts.map +1 -1
  166. package/environment.js +15 -14
  167. package/error.d.ts.map +1 -1
  168. package/error.js +3 -3
  169. package/eventloop.d.ts.map +1 -1
  170. package/eventloop.js +4 -4
  171. package/eventloop.test.d.ts +6 -5
  172. package/eventloop.test.d.ts.map +1 -1
  173. package/function.d.ts.map +1 -1
  174. package/function.js +3 -0
  175. package/function.test.d.ts +3 -1
  176. package/function.test.d.ts.map +1 -1
  177. package/indexeddb.d.ts.map +1 -1
  178. package/indexeddb.js +4 -27
  179. package/list.d.ts.map +1 -1
  180. package/list.js +2 -1
  181. package/list.test.d.ts +2 -2
  182. package/list.test.d.ts.map +1 -1
  183. package/logging.d.ts.map +1 -1
  184. package/logging.js +47 -42
  185. package/map.d.ts +1 -1
  186. package/map.d.ts.map +1 -1
  187. package/map.js +5 -4
  188. package/map.test.d.ts +1 -1
  189. package/map.test.d.ts.map +1 -1
  190. package/number.js +1 -1
  191. package/object.d.ts +3 -3
  192. package/object.d.ts.map +1 -1
  193. package/object.js +5 -2
  194. package/object.test.d.ts.map +1 -1
  195. package/package.json +16 -12
  196. package/prng.d.ts.map +1 -1
  197. package/prng.js +2 -1
  198. package/promise.js +1 -1
  199. package/random.test.d.ts +1 -0
  200. package/random.test.d.ts.map +1 -1
  201. package/rollup.config.d.ts +2 -28
  202. package/set.d.ts.map +1 -1
  203. package/set.js +3 -6
  204. package/set.test.d.ts +1 -1
  205. package/set.test.d.ts.map +1 -1
  206. package/sort.test.d.ts +2 -1
  207. package/sort.test.d.ts.map +1 -1
  208. package/storage.d.ts.map +1 -1
  209. package/storage.js +6 -5
  210. package/string.d.ts.map +1 -1
  211. package/string.js +7 -6
  212. package/symbol.test.d.ts +3 -0
  213. package/symbol.test.d.ts.map +1 -0
  214. package/test.html +148 -2
  215. package/test.js +5 -3
  216. package/testing.d.ts +1 -1
  217. package/testing.d.ts.map +1 -1
  218. package/testing.js +24 -22
  219. package/testing.test.d.ts +1 -0
  220. package/testing.test.d.ts.map +1 -1
  221. package/time.js +1 -1
  222. package/tree.d.ts.map +1 -1
  223. package/tree.js +22 -21
  224. package/url.js +1 -1
  225. package/webcrypto.deno.d.ts +3 -0
  226. package/webcrypto.deno.d.ts.map +1 -0
  227. package/webcrypto.deno.js +4 -0
  228. package/dist/array-42d0736b.cjs.map +0 -1
  229. package/dist/broadcastchannel-8d21c21c.cjs.map +0 -1
  230. package/dist/buffer-22bb9fae.cjs.map +0 -1
  231. package/dist/conditions-fb475c70.cjs.map +0 -1
  232. package/dist/dom-58958c04.cjs.map +0 -1
  233. package/dist/environment-f6386808.cjs.map +0 -1
  234. package/dist/error-873c9cbf.cjs.map +0 -1
  235. package/dist/eventloop-c60b5658.cjs.map +0 -1
  236. package/dist/function-40d38a5b.cjs.map +0 -1
  237. package/dist/indexeddb-7b2c0026.cjs.map +0 -1
  238. package/dist/logging-ba24d049.cjs.map +0 -1
  239. package/dist/map-28a001c9.cjs.map +0 -1
  240. package/dist/number-e62129bc.cjs.map +0 -1
  241. package/dist/object-fe9c0021.cjs.map +0 -1
  242. package/dist/prng-4493ba85.cjs.map +0 -1
  243. package/dist/promise-1a9fe712.cjs.map +0 -1
  244. package/dist/set-b596ef38.cjs.map +0 -1
  245. package/dist/string-ad04f734.cjs.map +0 -1
  246. package/dist/time-e00067da.cjs.map +0 -1
  247. package/dist/tree-b67c7947.cjs.map +0 -1
package/README.md CHANGED
@@ -78,7 +78,7 @@ import module from 'lib0/[module].js'
78
78
  <details><summary><b>[lib0/array]</b> Utility module to work with Arrays.</summary>
79
79
  <pre>import * as array from 'lib0/array'</pre>
80
80
  <dl>
81
- <b><code>array.last(arr: Array&lt;L&gt;): L</code></b><br>
81
+ <b><code>array.last(arr: ArrayLike&lt;L&gt;): L</code></b><br>
82
82
  <dd><p>Return the last element of an array. The element must exist</p></dd>
83
83
  <b><code>array.create(): Array&lt;C&gt;</code></b><br>
84
84
  <b><code>array.copy(a: Array&lt;D&gt;): Array&lt;D&gt;</code></b><br>
@@ -86,15 +86,15 @@ import module from 'lib0/[module].js'
86
86
  <dd><p>Append elements from src to dest</p></dd>
87
87
  <b><code>array.from(arraylike: ArrayLike&lt;T&gt;|Iterable&lt;T&gt;): T</code></b><br>
88
88
  <dd><p>Transforms something array-like to an actual Array.</p></dd>
89
- <b><code>array.every(arr: Array&lt;ITEM&gt;, f: function(ITEM, number, Array&lt;ITEM&gt;):boolean): boolean</code></b><br>
89
+ <b><code>array.every(arr: ARR, f: function(ITEM, number, ARR):boolean): boolean</code></b><br>
90
90
  <dd><p>True iff condition holds on every element in the Array.</p></dd>
91
- <b><code>array.some(arr: Array&lt;S&gt;, f: function(S, number, Array&lt;S&gt;):boolean): boolean</code></b><br>
91
+ <b><code>array.some(arr: ARR, f: function(S, number, ARR):boolean): boolean</code></b><br>
92
92
  <dd><p>True iff condition holds on some element in the Array.</p></dd>
93
- <b><code>array.equalFlat(a: Array&lt;ELEM&gt;, b: Array&lt;ELEM&gt;): boolean</code></b><br>
93
+ <b><code>array.equalFlat(a: ArrayLike&lt;ELEM&gt;, b: ArrayLike&lt;ELEM&gt;): boolean</code></b><br>
94
94
  <b><code>array.flatten(arr: Array&lt;Array&lt;ELEM&gt;&gt;): Array&lt;ELEM&gt;</code></b><br>
95
95
  <b><code>array.isArray</code></b><br>
96
96
  <b><code>array.unique(arr: Array&lt;T&gt;): Array&lt;T&gt;</code></b><br>
97
- <b><code>array.uniqueBy(arr: Array&lt;T&gt;, mapper: function(T):M): Array&lt;T&gt;</code></b><br>
97
+ <b><code>array.uniqueBy(arr: ArrayLike&lt;T&gt;, mapper: function(T):M): Array&lt;T&gt;</code></b><br>
98
98
  </dl>
99
99
  </details>
100
100
  <details><summary><b>[lib0/binary]</b> Binary data constants.</summary>
package/array.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- export function last<L>(arr: L[]): L;
1
+ export function last<L>(arr: ArrayLike<L>): L;
2
2
  export function create<C>(): C[];
3
3
  export function copy<D>(a: D[]): D[];
4
4
  export function appendTo<M>(dest: M[], src: M[]): void;
@@ -16,11 +16,11 @@ export const from: {
16
16
  <T_3>(iterable: Iterable<T_3> | ArrayLike<T_3>): T_3[];
17
17
  <T_4, U_1>(iterable: Iterable<T_4> | ArrayLike<T_4>, mapfn: (v: T_4, k: number) => U_1, thisArg?: any): U_1[];
18
18
  };
19
- export function every<ITEM>(arr: ITEM[], f: (arg0: ITEM, arg1: number, arg2: ITEM[]) => boolean): boolean;
20
- export function some<S>(arr: S[], f: (arg0: S, arg1: number, arg2: S[]) => boolean): boolean;
21
- export function equalFlat<ELEM>(a: ELEM[], b: ELEM[]): boolean;
19
+ export function every<ITEM, ARR extends ArrayLike<ITEM>>(arr: ARR, f: (arg0: ITEM, arg1: number, arg2: ARR) => boolean): boolean;
20
+ export function some<S, ARR extends ArrayLike<S>>(arr: ARR, f: (arg0: S, arg1: number, arg2: ARR) => boolean): boolean;
21
+ export function equalFlat<ELEM>(a: ArrayLike<ELEM>, b: ArrayLike<ELEM>): boolean;
22
22
  export function flatten<ELEM>(arr: ELEM[][]): ELEM[];
23
23
  export const isArray: (arg: any) => arg is any[];
24
24
  export function unique<T_1>(arr: T_1[]): T_1[];
25
- export function uniqueBy<T_1, M>(arr: T_1[], mapper: (arg0: T_1) => M): T_1[];
25
+ export function uniqueBy<T_1, M>(arr: ArrayLike<T_1>, mapper: (arg0: T_1) => M): T_1[];
26
26
  //# sourceMappingURL=array.d.ts.map
package/array.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"array.d.ts","sourceRoot":"","sources":["array.js"],"names":[],"mappings":"AAeO,qCAAuC;AAMvC,iCAAiD;AAOjD,qCAAqD;AASrD,uDAIN;AAED;;;;;;;GAOG;AACH;;;;;EAA8B;AAYvB,+DAHmB,MAAM,mBAAe,OAAO,GAC1C,OAAO,CAE0B;AAWtC,qDAHgB,MAAM,gBAAY,OAAO,GACpC,OAAO,CAEwB;AASpC,uDAFK,OAAO,CAEqF;AAOjG,qDAAoE;AAE3E,iDAAoC;AAO7B,+CAAyC;AASzC,8EAkBN"}
1
+ {"version":3,"file":"array.d.ts","sourceRoot":"","sources":["array.js"],"names":[],"mappings":"AAeO,8CAAuC;AAMvC,iCAAiD;AAOjD,qCAAqD;AASrD,uDAIN;AAED;;;;;;;GAOG;AACH;;;;;EAA8B;AAavB,yFAHmB,MAAM,gBAAO,OAAO,GAClC,OAAO,CASlB;AAYM,+EAHgB,MAAM,gBAAO,OAAO,GAC/B,OAAO,CASlB;AASM,yEAFK,OAAO,CAEqF;AAOjG,qDAAoE;AAE3E,iDAAoC;AAO7B,+CAAyC;AASzC,uFAkBN"}
package/array.js CHANGED
@@ -10,7 +10,7 @@ import * as set from './set.js'
10
10
  * Return the last element of an array. The element must exist
11
11
  *
12
12
  * @template L
13
- * @param {Array<L>} arr
13
+ * @param {ArrayLike<L>} arr
14
14
  * @return {L}
15
15
  */
16
16
  export const last = arr => arr[arr.length - 1]
@@ -56,29 +56,45 @@ export const from = Array.from
56
56
  *
57
57
  * @function
58
58
  * @template ITEM
59
+ * @template {ArrayLike<ITEM>} ARR
59
60
  *
60
- * @param {Array<ITEM>} arr
61
- * @param {function(ITEM, number, Array<ITEM>):boolean} f
61
+ * @param {ARR} arr
62
+ * @param {function(ITEM, number, ARR):boolean} f
62
63
  * @return {boolean}
63
64
  */
64
- export const every = (arr, f) => arr.every(f)
65
+ export const every = (arr, f) => {
66
+ for (let i = 0; i < arr.length; i++) {
67
+ if (!f(arr[i], i, arr)) {
68
+ return false
69
+ }
70
+ }
71
+ return true
72
+ }
65
73
 
66
74
  /**
67
75
  * True iff condition holds on some element in the Array.
68
76
  *
69
77
  * @function
70
78
  * @template S
71
- * @param {Array<S>} arr
72
- * @param {function(S, number, Array<S>):boolean} f
79
+ * @template {ArrayLike<S>} ARR
80
+ * @param {ARR} arr
81
+ * @param {function(S, number, ARR):boolean} f
73
82
  * @return {boolean}
74
83
  */
75
- export const some = (arr, f) => arr.some(f)
84
+ export const some = (arr, f) => {
85
+ for (let i = 0; i < arr.length; i++) {
86
+ if (f(arr[i], i, arr)) {
87
+ return true
88
+ }
89
+ }
90
+ return false
91
+ }
76
92
 
77
93
  /**
78
94
  * @template ELEM
79
95
  *
80
- * @param {Array<ELEM>} a
81
- * @param {Array<ELEM>} b
96
+ * @param {ArrayLike<ELEM>} a
97
+ * @param {ArrayLike<ELEM>} b
82
98
  * @return {boolean}
83
99
  */
84
100
  export const equalFlat = (a, b) => a.length === b.length && every(a, (item, index) => item === b[index])
@@ -102,7 +118,7 @@ export const unique = arr => from(set.from(arr))
102
118
  /**
103
119
  * @template T
104
120
  * @template M
105
- * @param {Array<T>} arr
121
+ * @param {ArrayLike<T>} arr
106
122
  * @param {function(T):M} mapper
107
123
  * @return {Array<T>}
108
124
  */
package/array.test.d.ts CHANGED
@@ -1,6 +1,8 @@
1
- export function testAppend(tc: t.TestCase): void;
2
- export function testflatten(tc: t.TestCase): void;
3
- export function testIsArray(tc: t.TestCase): void;
4
- export function testUnique(tc: t.TestCase): void;
1
+ export function testAppend(_tc: t.TestCase): void;
2
+ export function testBasic(_tc: t.TestCase): void;
3
+ export function testflatten(_tc: t.TestCase): void;
4
+ export function testEvery(_tc: t.TestCase): void;
5
+ export function testIsArray(_tc: t.TestCase): void;
6
+ export function testUnique(_tc: t.TestCase): void;
5
7
  import * as t from "./testing.js";
6
8
  //# sourceMappingURL=array.test.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"array.test.d.ts","sourceRoot":"","sources":["array.test.js"],"names":[],"mappings":"AAOO,+BAFI,EAAE,QAAQ,QAMpB;AAKM,gCAFI,EAAE,QAAQ,QAKpB;AAKM,gCAFI,EAAE,QAAQ,QASpB;AAKM,+BAFI,EAAE,QAAQ,QAOpB"}
1
+ {"version":3,"file":"array.test.d.ts","sourceRoot":"","sources":["array.test.js"],"names":[],"mappings":"AAMO,gCAFI,EAAE,QAAQ,QAMpB;AAKM,+BAFI,EAAE,QAAQ,QAMpB;AAKM,iCAFI,EAAE,QAAQ,QAKpB;AAKM,+BAFI,EAAE,QAAQ,QAQpB;AAKM,iCAFI,EAAE,QAAQ,QASpB;AAKM,gCAFI,EAAE,QAAQ,QAOpB"}
package/bin/gendocs.js CHANGED
@@ -1,4 +1,3 @@
1
-
2
1
  import jsdoc from 'jsdoc-api'
3
2
  import fs from 'fs'
4
3
 
@@ -0,0 +1,54 @@
1
+
2
+ import fs from 'fs'
3
+ import * as object from '../object.js'
4
+
5
+ /**
6
+ * @type {Object<string,string>}
7
+ */
8
+ const exports = {}
9
+
10
+ /**
11
+ * @param {any} v
12
+ * @param {string} k
13
+ * @param {string} pkgName
14
+ * @param {string} pathPrefix
15
+ */
16
+ const extractModMap = (v, k, pkgName, pathPrefix) => {
17
+ if (k[0] !== '.') return
18
+ if (typeof v === 'object') {
19
+ extractModMap(v.browser || v.module || v.import, k, pkgName, pathPrefix)
20
+ } else if (v && v[0] === '.') {
21
+ exports[pkgName + k.slice(1)] = pathPrefix + v.slice(1)
22
+ }
23
+ }
24
+ const rootPkgJson = JSON.parse(fs.readFileSync('./package.json'))
25
+ /**
26
+ * @param {object} pkgJson
27
+ * @param {string} pathPrefix
28
+ */
29
+ const extractPkgJsonInfo = (pkgJson, pathPrefix) => object.forEach(pkgJson.exports, (v, k) => extractModMap(v, k, pkgJson.name, pathPrefix))
30
+ extractPkgJsonInfo(rootPkgJson, '.')
31
+ object.forEach(rootPkgJson.dependencies, (_v, depName) => {
32
+ const prefix = `./node_modules/${depName}`
33
+ const depPkgJson = JSON.parse(fs.readFileSync(prefix + '/package.json'))
34
+ extractPkgJsonInfo(depPkgJson, prefix)
35
+ })
36
+
37
+ const testHtml = `
38
+ <!DOCTYPE html>
39
+ <html>
40
+ <head>
41
+ <title>Testing lib0</title>
42
+ <script type="importmap">
43
+ {
44
+ "imports": ${JSON.stringify(exports, null, 2)}
45
+ }
46
+ </script>
47
+ </head>
48
+ <body>
49
+ <script type="module" src="./test.js"></script>
50
+ </body>
51
+ </html>
52
+ `
53
+
54
+ console.log(testHtml)
@@ -1 +1 @@
1
- {"version":3,"file":"broadcastchannel.d.ts","sourceRoot":"","sources":["broadcastchannel.js"],"names":[],"mappings":"AAsFO,gCAHI,MAAM,YACG,GAAG,QAAE,GAAG,KAAE,GAAG,UAAb,GAAG,QAAE,GAAG,KAAE,GAAG,CAKhC;AASM,kCAHI,MAAM,YACG,GAAG,QAAE,GAAG,KAAE,GAAG,WAWhC;AAUM,8BAJI,MAAM,QACN,GAAG,WACH,GAAG,QAMb;;UA/Fa,WAAa,GAAG,QAAE,GAAG,KAAE,GAAG,CAAC;QAC3B,GAAG"}
1
+ {"version":3,"file":"broadcastchannel.d.ts","sourceRoot":"","sources":["broadcastchannel.js"],"names":[],"mappings":"AAuFO,gCAHI,MAAM,YACG,GAAG,QAAE,GAAG,KAAE,GAAG,UAAb,GAAG,QAAE,GAAG,KAAE,GAAG,CAKhC;AASM,kCAHI,MAAM,YACG,GAAG,QAAE,GAAG,KAAE,GAAG,WAUhC;AAUM,8BAJI,MAAM,QACN,GAAG,WACH,GAAG,QAMb;;UA/Fa,WAAa,GAAG,QAAE,GAAG,KAAE,GAAG,CAAC;QAC3B,GAAG"}
@@ -33,7 +33,7 @@ import * as storage from './storage.js'
33
33
  */
34
34
  const channels = new Map()
35
35
 
36
- /* istanbul ignore next */
36
+ /* c8 ignore start */
37
37
  class LocalStoragePolyfill {
38
38
  /**
39
39
  * @param {string} room
@@ -54,9 +54,10 @@ class LocalStoragePolyfill {
54
54
  storage.varStorage.setItem(this.room, buffer.toBase64(buffer.createUint8ArrayFromArrayBuffer(buf)))
55
55
  }
56
56
  }
57
+ /* c8 ignore stop */
57
58
 
58
- /* istanbul ignore next */
59
59
  // Use BroadcastChannel or Polyfill
60
+ /* c8 ignore next */
60
61
  const BC = typeof BroadcastChannel === 'undefined' ? LocalStoragePolyfill : BroadcastChannel
61
62
 
62
63
  /**
@@ -67,10 +68,10 @@ const getChannel = room =>
67
68
  map.setIfUndefined(channels, room, () => {
68
69
  const subs = set.create()
69
70
  const bc = new BC(room)
70
- /* istanbul ignore next */
71
71
  /**
72
72
  * @param {{data:ArrayBuffer}} e
73
73
  */
74
+ /* c8 ignore next */
74
75
  bc.onmessage = e => subs.forEach(sub => sub(e.data, 'broadcastchannel'))
75
76
  return {
76
77
  bc, subs
@@ -99,7 +100,6 @@ export const subscribe = (room, f) => {
99
100
  export const unsubscribe = (room, f) => {
100
101
  const channel = getChannel(room)
101
102
  const unsubscribed = channel.subs.delete(f)
102
- /* istanbul ignore else */
103
103
  if (unsubscribed && channel.subs.size === 0) {
104
104
  channel.bc.close()
105
105
  channels.delete(room)
package/buffer.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"buffer.d.ts","sourceRoot":"","sources":["buffer.js"],"names":[],"mappings":"AAcO,6CAFI,MAAM,cAEgD;AAS1D,4DAJI,WAAW,cACX,MAAM,UACN,MAAM,cAE4G;AAOtH,wDAFI,WAAW,cAEyD;AAG/E;;;GAGG;AACH,gCAHW,UAAU,GACT,MAAM,CASjB;AASD;;;GAGG;AACH,8BAHW,MAAM,GACL,UAAU,CAUrB;AAsBM,2CAHI,UAAU,GACT,UAAU,CAMrB;AASM,gCAHI,GAAG,GACF,UAAU,CAMrB;AAQM,+BAHI,UAAU,GACT,GAAG,CAE8D"}
1
+ {"version":3,"file":"buffer.d.ts","sourceRoot":"","sources":["buffer.js"],"names":[],"mappings":"AAcO,6CAFI,MAAM,cAEgD;AAS1D,4DAJI,WAAW,cACX,MAAM,UACN,MAAM,cAE4G;AAOtH,wDAFI,WAAW,cAEyD;AAG/E;;;GAGG;AACH,gCAHW,UAAU,GACT,MAAM,CASjB;AAUD;;;GAGG;AACH,8BAHW,MAAM,GACL,UAAU,CAUrB;AAuBM,2CAHI,UAAU,GACT,UAAU,CAMrB;AASM,gCAHI,GAAG,GACF,UAAU,CAMrB;AAQM,+BAHI,UAAU,GACT,GAAG,CAE8D"}
package/buffer.js CHANGED
@@ -30,7 +30,7 @@ export const createUint8ArrayViewFromArrayBuffer = (buffer, byteOffset, length)
30
30
  */
31
31
  export const createUint8ArrayFromArrayBuffer = buffer => new Uint8Array(buffer)
32
32
 
33
- /* istanbul ignore next */
33
+ /* c8 ignore start */
34
34
  /**
35
35
  * @param {Uint8Array} bytes
36
36
  * @return {string}
@@ -43,6 +43,7 @@ const toBase64Browser = bytes => {
43
43
  // eslint-disable-next-line no-undef
44
44
  return btoa(s)
45
45
  }
46
+ /* c8 ignore stop */
46
47
 
47
48
  /**
48
49
  * @param {Uint8Array} bytes
@@ -50,7 +51,7 @@ const toBase64Browser = bytes => {
50
51
  */
51
52
  const toBase64Node = bytes => Buffer.from(bytes.buffer, bytes.byteOffset, bytes.byteLength).toString('base64')
52
53
 
53
- /* istanbul ignore next */
54
+ /* c8 ignore start */
54
55
  /**
55
56
  * @param {string} s
56
57
  * @return {Uint8Array}
@@ -64,6 +65,7 @@ const fromBase64Browser = s => {
64
65
  }
65
66
  return bytes
66
67
  }
68
+ /* c8 ignore stop */
67
69
 
68
70
  /**
69
71
  * @param {string} s
@@ -73,10 +75,10 @@ const fromBase64Node = s => {
73
75
  return new Uint8Array(buf.buffer, buf.byteOffset, buf.byteLength)
74
76
  }
75
77
 
76
- /* istanbul ignore next */
78
+ /* c8 ignore next */
77
79
  export const toBase64 = env.isBrowser ? toBase64Browser : toBase64Node
78
80
 
79
- /* istanbul ignore next */
81
+ /* c8 ignore next */
80
82
  export const fromBase64 = env.isBrowser ? fromBase64Browser : fromBase64Node
81
83
 
82
84
  /**
package/conditions.js CHANGED
@@ -9,5 +9,5 @@
9
9
  * @param {T|null|undefined} v
10
10
  * @return {T|null}
11
11
  */
12
- /* istanbul ignore next */
12
+ /* c8 ignore next */
13
13
  export const undefinedToNull = v => v === undefined ? null : v