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/crypto.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"crypto.d.ts","sourceRoot":"","sources":["crypto.js"],"names":[],"mappings":"AA0BO,2CAPI,MAAM,GAAG,UAAU,QACnB,MAAM,GAAG,UAAU;IAEJ,WAAW;IACwB,MAAM;IACvD,YAAY,SAAS,CAAC,CA4BjC;AAQM;IAHmB,WAAW;IACwB,MAAM;2BAUhE;AAMI,+BAFI,SAAS,uBAEkD;AAS/D,wCALI,GAAG;IAEY,WAAW;IACwB,MAAM;uBAGI;AAShE,yCALI,GAAG;IAEY,WAAW;IACwB,MAAM;uBAGkC;AAW9F,8BAJI,UAAU,OACV,SAAS,GACR,YAAY,UAAU,CAAC,CAkBlC;AAWM,8BAJI,UAAU,OACV,SAAS,GACR,YAAY,UAAU,CAAC,CAclC;AAWM,2BAJI,UAAU,cACV,SAAS,GACR,YAAY,UAAU,CAAC,CAUa;AAYzC,kCALI,UAAU,QACV,UAAU,aACV,SAAS,GACR,YAAY,OAAO,CAAC,CAW7B"}
1
+ {"version":3,"file":"crypto.d.ts","sourceRoot":"","sources":["crypto.js"],"names":[],"mappings":"AA0BO,2CAPI,MAAM,GAAG,UAAU,QACnB,MAAM,GAAG,UAAU;IAEJ,WAAW;IACwB,MAAM;IACvD,YAAY,SAAS,CAAC,CA4BjC;AAQM;IAHmB,WAAW;IACwB,MAAM;2BAUhE;AAMI,+BAFI,SAAS,uBAEkD;AAS/D,wCALI,GAAG;IAEY,WAAW;IACwB,MAAM;uBAGI;AAUhE,yCALI,GAAG;IAEY,WAAW;IACwB,MAAM;uBAGkC;AAW9F,8BAJI,UAAU,OACV,SAAS,GACR,YAAY,UAAU,CAAC,CAkBlC;AAWM,8BAJI,UAAU,OACV,SAAS,GACR,YAAY,UAAU,CAAC,CAclC;AAWM,2BAJI,UAAU,cACV,SAAS,GACR,YAAY,UAAU,CAAC,CAUa;AAYzC,kCALI,UAAU,QACV,UAAU,aACV,SAAS,GACR,YAAY,OAAO,CAAC,CAW7B"}
package/crypto.js CHANGED
@@ -5,11 +5,11 @@ import * as decoding from './decoding.js'
5
5
  import * as string from './string.js'
6
6
  import * as webcrypto from 'lib0/webcrypto'
7
7
 
8
- /* istanbul ignore next */
9
8
  /**
10
9
  * @param {string | Uint8Array} data
11
10
  * @return {Uint8Array}
12
11
  */
12
+ /* c8 ignore next */
13
13
  const toBinary = data => typeof data === 'string' ? string.encodeUtf8(data) : data
14
14
 
15
15
  /**
@@ -52,7 +52,7 @@ export const deriveSymmetricKey = (secret, salt, { extractable = false, usages =
52
52
  )
53
53
  }
54
54
 
55
- /* istanbul ignore next */
55
+ /* c8 ignore next */
56
56
  /**
57
57
  * @param {Object} opts
58
58
  * @param {boolean} [opts.extractable]
@@ -68,13 +68,13 @@ export const generateAsymmetricKey = ({ extractable = false, usages = ['sign', '
68
68
  usages
69
69
  )
70
70
 
71
- /* istanbul ignore next */
71
+ /* c8 ignore next */
72
72
  /**
73
73
  * @param {CryptoKey} key - Symmetric or Asymmetric key
74
74
  */
75
75
  export const exportKey = key => webcrypto.subtle.exportKey('jwk', key)
76
76
 
77
- /* istanbul ignore next */
77
+ /* c8 ignore start */
78
78
  /**
79
79
  * @param {any} jwk
80
80
  * @param {Object} opts
@@ -83,8 +83,9 @@ export const exportKey = key => webcrypto.subtle.exportKey('jwk', key)
83
83
  */
84
84
  export const importSymmetricKey = (jwk, { extractable = false, usages = ['encrypt', 'decrypt'] } = {}) =>
85
85
  webcrypto.subtle.importKey('jwk', jwk, 'PBKDF2', extractable, usages)
86
+ /* c8 ignore stop */
86
87
 
87
- /* istanbul ignore next */
88
+ /* c8 ignore next */
88
89
  /**
89
90
  * @param {any} jwk
90
91
  * @param {Object} opts
@@ -1 +1 @@
1
- {"version":3,"file":"crypto.test.d.ts","sourceRoot":"","sources":["crypto.test.js"],"names":[],"mappings":"AAQO,0CAFI,EAAE,QAAQ,iBA+BpB;AAKM,8CAFI,EAAE,QAAQ,iBAsCpB;AAKM,iDAFI,EAAE,QAAQ,iBA0CpB;AAKM,gCAFI,EAAE,QAAQ,iBAapB"}
1
+ {"version":3,"file":"crypto.test.d.ts","sourceRoot":"","sources":["crypto.test.js"],"names":[],"mappings":"AAQO,0CAFI,EAAE,QAAQ,iBA+BpB;AAKM,8CAFI,EAAE,QAAQ,iBAsCpB;AAKM,iDAFI,EAAE,QAAQ,iBA4CpB;AAKM,gCAFI,EAAE,QAAQ,iBAapB"}
package/decoding.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"decoding.d.ts","sourceRoot":"","sources":["decoding.js"],"names":[],"mappings":"AAsCA;;GAEG;AACH;IACE;;OAEG;IACH,wBAFW,UAAU,EAepB;IAZC;;;;OAIG;IACH,KAFU,UAAU,CAEC;IACrB;;;;OAIG;IACH,KAFU,MAAM,CAEJ;CAEf;AAOM,0CAHI,UAAU,GACT,OAAO,CAE+C;AAO3D,oCAHI,OAAO,GACN,OAAO,CAEoD;AAWhE,+BAJI,OAAO,gCAEN,OAAO,CAMlB;AAaM,wCAJI,OAAO,OACP,MAAM,GACL,UAAU,CAMrB;AAYM,2CAHI,OAAO,GACN,UAAU,CAEmE;AAQlF,8CAHI,OAAO,GACN,UAAU,CAEkF;AAQjG,+BAHI,OAAO,GACN,MAAM,CAE2B;AAQtC,mCAHI,OAAO,GACN,MAAM,CAE4C;AASvD,oCAHI,OAAO,GACN,MAAM,CAQjB;AASM,oCAHI,OAAO,GACN,MAAM,CAUjB;AAUM,6CAHI,OAAO,GACN,MAAM,CAUjB;AAUM,mCAHI,OAAO,GACN,MAAM,CAE0C;AAUrD,oCAHI,OAAO,GACN,MAAM,CAImB;AAU9B,oCAHI,OAAO,GACN,MAAM,CAOX;AAYA,qCAHI,OAAO,GACN,MAAM,CAoBjB;AAaM,oCAHI,OAAO,GACN,MAAM,CA0BjB;AASM,qCAHI,OAAO,GACN,MAAM,CAOjB;AASM,oCAHI,OAAO,GACN,MAAM,CAOjB;AAgBM,gDAJI,OAAO,UA2BjB;AAOM,8CAHI,OAAO,UAI4D;AA/BvE,uCAJI,OAAO,UA2BjB;AA6BM,uCAHI,OAAO,GACN,MAAM,CAOjB;AAOM,0CAJI,OAAO,OACP,MAAM,GACL,QAAQ,CAMnB;AAKM,qCAFI,OAAO,UAEqE;AAKhF,qCAFI,OAAO,UAEqE;AAKhF,sCAFI,OAAO,OAE4F;AAKvG,uCAFI,OAAO,OAE8F;AAyCzG,iCAFI,OAAO,OAEqE;AAEvF;;;;GAIG;AACH;IACE;;;OAGG;IACH,wBAHW,UAAU,iBACD,OAAO,KAAE,CAAC,EAc7B;IAVC;;OAEG;IACH,eAPkB,OAAO,KAAE,CAAC,CAOR;IACpB;;;OAGG;IACH,GAFU,CAAC,GAAC,IAAI,CAEH;IACb,cAAc;IAGhB,UAWC;CACF;AAED;IACE;;;OAGG;IACH,wBAHW,UAAU,SACV,MAAM,EAShB;IALC;;;OAGG;IACH,GAFU,MAAM,CAEF;IAGhB;;OAEG;IACH,QAFY,MAAM,CAKjB;CACF;AAED;IACE;;;OAGG;IACH,wBAHW,UAAU,SACV,MAAM,EAUhB;IANC;;;OAGG;IACH,GAFU,MAAM,CAEF;IACd,cAAc;IAGhB;;OAEG;IACH,QAFY,MAAM,CAajB;CACF;AAED;IAMI;;OAEG;IACH,GAFU,MAAM,CAEN;IACV,cAAc;IAGhB,eAaC;CACF;AAED;IAMI;;OAEG;IACH,GAFU,MAAM,CAEN;IACV,cAAc;IAGhB,eAaC;CACF;AAED;IAMI;;OAEG;IACH,GAFU,MAAM,CAEN;IACV,cAAc;IACd,aAAa;IAGf;;OAEG;IACH,QAFY,MAAM,CAgBjB;CACF;AAED;IACE;;OAEG;IACH,wBAFW,UAAU,EASpB;IANC,2BAAgD;IAChD,YAAsC;IACtC;;OAEG;IACH,MAFU,MAAM,CAEH;IAGf;;OAEG;IACH,QAFY,MAAM,CAOjB;CACF"}
1
+ {"version":3,"file":"decoding.d.ts","sourceRoot":"","sources":["decoding.js"],"names":[],"mappings":"AAsCA;;GAEG;AACH;IACE;;OAEG;IACH,wBAFW,UAAU,EAepB;IAZC;;;;OAIG;IACH,KAFU,UAAU,CAEC;IACrB;;;;OAIG;IACH,KAFU,MAAM,CAEJ;CAEf;AAOM,0CAHI,UAAU,GACT,OAAO,CAE+C;AAO3D,oCAHI,OAAO,GACN,OAAO,CAEoD;AAWhE,+BAJI,OAAO,gCAEN,OAAO,CAMlB;AAaM,wCAJI,OAAO,OACP,MAAM,GACL,UAAU,CAMrB;AAYM,2CAHI,OAAO,GACN,UAAU,CAEmE;AAQlF,8CAHI,OAAO,GACN,UAAU,CAEkF;AAQjG,+BAHI,OAAO,GACN,MAAM,CAE2B;AAQtC,mCAHI,OAAO,GACN,MAAM,CAE4C;AASvD,oCAHI,OAAO,GACN,MAAM,CAQjB;AASM,oCAHI,OAAO,GACN,MAAM,CAUjB;AAUM,6CAHI,OAAO,GACN,MAAM,CAUjB;AAUM,mCAHI,OAAO,GACN,MAAM,CAE0C;AAUrD,oCAHI,OAAO,GACN,MAAM,CAImB;AAU9B,oCAHI,OAAO,GACN,MAAM,CAOX;AAYA,qCAHI,OAAO,GACN,MAAM,CAqBjB;AAaM,oCAHI,OAAO,GACN,MAAM,CA2BjB;AASM,qCAHI,OAAO,GACN,MAAM,CAOjB;AASM,oCAHI,OAAO,GACN,MAAM,CAOjB;AAgBM,gDAJI,OAAO,UA2BjB;AAQM,8CAHI,OAAO,UAI4D;AAhCvE,uCAJI,OAAO,UA2BjB;AA8BM,uCAHI,OAAO,GACN,MAAM,CAOjB;AAOM,0CAJI,OAAO,OACP,MAAM,GACL,QAAQ,CAMnB;AAKM,qCAFI,OAAO,UAEqE;AAKhF,qCAFI,OAAO,UAEqE;AAKhF,sCAFI,OAAO,OAE4F;AAKvG,uCAFI,OAAO,OAE8F;AAyCzG,iCAFI,OAAO,OAEqE;AAEvF;;;;GAIG;AACH;IACE;;;OAGG;IACH,wBAHW,UAAU,iBACD,OAAO,KAAE,CAAC,EAc7B;IAVC;;OAEG;IACH,eAPkB,OAAO,KAAE,CAAC,CAOR;IACpB;;;OAGG;IACH,GAFU,CAAC,GAAC,IAAI,CAEH;IACb,cAAc;IAGhB,UAWC;CACF;AAED;IACE;;;OAGG;IACH,wBAHW,UAAU,SACV,MAAM,EAShB;IALC;;;OAGG;IACH,GAFU,MAAM,CAEF;IAGhB;;OAEG;IACH,QAFY,MAAM,CAKjB;CACF;AAED;IACE;;;OAGG;IACH,wBAHW,UAAU,SACV,MAAM,EAUhB;IANC;;;OAGG;IACH,GAFU,MAAM,CAEF;IACd,cAAc;IAGhB;;OAEG;IACH,QAFY,MAAM,CAajB;CACF;AAED;IAMI;;OAEG;IACH,GAFU,MAAM,CAEN;IACV,cAAc;IAGhB,eAaC;CACF;AAED;IAMI;;OAEG;IACH,GAFU,MAAM,CAEN;IACV,cAAc;IAGhB,eAaC;CACF;AAED;IAMI;;OAEG;IACH,GAFU,MAAM,CAEN;IACV,cAAc;IACd,aAAa;IAGf;;OAEG;IACH,QAFY,MAAM,CAgBjB;CACF;AAED;IACE;;OAEG;IACH,wBAFW,UAAU,EASpB;IANC,2BAAgD;IAChD,YAAsC;IACtC;;OAEG;IACH,MAFU,MAAM,CAEH;IAGf;;OAEG;IACH,QAFY,MAAM,CAOjB;CACF"}
package/decoding.js CHANGED
@@ -250,10 +250,11 @@ export const readVarUint = decoder => {
250
250
  if (r < binary.BIT8) {
251
251
  return num
252
252
  }
253
- /* istanbul ignore if */
253
+ /* c8 ignore start */
254
254
  if (num > number.MAX_SAFE_INTEGER) {
255
255
  throw errorIntegerOutOfRange
256
256
  }
257
+ /* c8 ignore stop */
257
258
  }
258
259
  throw errorUnexpectedEndOfArray
259
260
  }
@@ -287,10 +288,11 @@ export const readVarInt = decoder => {
287
288
  if (r < binary.BIT8) {
288
289
  return sign * num
289
290
  }
290
- /* istanbul ignore if */
291
+ /* c8 ignore start */
291
292
  if (num > number.MAX_SAFE_INTEGER) {
292
293
  throw errorIntegerOutOfRange
293
294
  }
295
+ /* c8 ignore stop */
294
296
  }
295
297
  throw errorUnexpectedEndOfArray
296
298
  }
@@ -336,7 +338,7 @@ export const peekVarInt = decoder => {
336
338
  * @param {Decoder} decoder
337
339
  * @return {String} The read String.
338
340
  */
339
- /* istanbul ignore next */
341
+ /* c8 ignore start */
340
342
  export const _readVarStringPolyfill = decoder => {
341
343
  let remainingLen = readVarUint(decoder)
342
344
  if (remainingLen === 0) {
@@ -361,6 +363,7 @@ export const _readVarStringPolyfill = decoder => {
361
363
  return decodeURIComponent(escape(encodedString))
362
364
  }
363
365
  }
366
+ /* c8 ignore stop */
364
367
 
365
368
  /**
366
369
  * @function
@@ -379,7 +382,7 @@ export const _readVarStringNative = decoder =>
379
382
  * @return {String} The read String
380
383
  *
381
384
  */
382
- /* istanbul ignore next */
385
+ /* c8 ignore next */
383
386
  export const readVarString = string.utf8TextDecoder ? _readVarStringNative : _readVarStringPolyfill
384
387
 
385
388
  /**
package/deno.json ADDED
@@ -0,0 +1,7 @@
1
+ {
2
+ "imports": {
3
+ "isomorphic.js": "./node_modules/isomorphic.js/node.mjs",
4
+ "lib0/crypto": "./crypto.js",
5
+ "lib0/webcrypto": "./webcrypto.deno.js"
6
+ }
7
+ }
package/deno.lock ADDED
@@ -0,0 +1,122 @@
1
+ {
2
+ "version": "2",
3
+ "remote": {
4
+ "https://deno.land/std@0.177.0/_util/asserts.ts": "178dfc49a464aee693a7e285567b3d0b555dc805ff490505a8aae34f9cfb1462",
5
+ "https://deno.land/std@0.177.0/_util/os.ts": "d932f56d41e4f6a6093d56044e29ce637f8dcc43c5a90af43504a889cf1775e3",
6
+ "https://deno.land/std@0.177.0/bytes/index_of_needle.ts": "65c939607df609374c4415598fa4dad04a2f14c4d98cd15775216f0aaf597f24",
7
+ "https://deno.land/std@0.177.0/crypto/_wasm/lib/deno_std_wasm_crypto.generated.mjs": "5dedb7f9aa05f0e18ed017691c58df5f4686e4cbbd70368c6f896e5cca03f2b4",
8
+ "https://deno.land/std@0.177.0/crypto/_wasm/mod.ts": "e2df88236fc061eac7a89e8cb0b97843f5280b08b2a990e473b7397a3e566003",
9
+ "https://deno.land/std@0.177.0/crypto/timing_safe_equal.ts": "8d69ab611c67fe51b6127d97fcfb4d8e7d0e1b6b4f3e0cc4ab86744c3691f965",
10
+ "https://deno.land/std@0.177.0/encoding/base64.ts": "7de04c2f8aeeb41453b09b186480be90f2ff357613b988e99fabb91d2eeceba1",
11
+ "https://deno.land/std@0.177.0/encoding/base64url.ts": "3f1178f6446834457b16bfde8b559c1cd3481727fe384d3385e4a9995dc2d851",
12
+ "https://deno.land/std@0.177.0/encoding/hex.ts": "50f8c95b52eae24395d3dfcb5ec1ced37c5fe7610ef6fffdcc8b0fdc38e3b32f",
13
+ "https://deno.land/std@0.177.0/flags/mod.ts": "d1cdefa18472ef69858a17df5cf7c98445ed27ac10e1460183081303b0ebc270",
14
+ "https://deno.land/std@0.177.0/node/_core.ts": "9a58c0ef98ee77e9b8fcc405511d1b37a003a705eb6a9b6e95f75434d8009adc",
15
+ "https://deno.land/std@0.177.0/node/_crypto/crypto_browserify/asn1.js/base/buffer.js": "c9364c761681134015ec8ba6f33b39c067d6e5dd59860d55face8d5be8522744",
16
+ "https://deno.land/std@0.177.0/node/_crypto/crypto_browserify/asn1.js/base/node.js": "8f7f23bfa300990bbd6db7e7395e9688b54a04e3eb2fab5cab9a9a72e26c525f",
17
+ "https://deno.land/std@0.177.0/node/_crypto/crypto_browserify/asn1.js/base/reporter.js": "788aec7662991da549e5f7f3edbc3e3d6c6cecabc894b18d1a705b0f204e06c3",
18
+ "https://deno.land/std@0.177.0/node/_crypto/crypto_browserify/asn1.js/constants/der.js": "57181db0519bb3864a6cdf4e7eb9bfeb1bf5f80605187fbe80e27083b473e367",
19
+ "https://deno.land/std@0.177.0/node/_crypto/crypto_browserify/asn1.js/decoders/der.js": "fdc4de98c9b0b59db169a2b225895741e2ab34b00e14315ac2ff5e389d6db16e",
20
+ "https://deno.land/std@0.177.0/node/_crypto/crypto_browserify/asn1.js/decoders/pem.js": "fd7f0072c193c82959fec0374f4fd3adf3f4ac38594fd404d66b3e8724107151",
21
+ "https://deno.land/std@0.177.0/node/_crypto/crypto_browserify/asn1.js/encoders/der.js": "137bc4f8fe66b9950c743025e199789e25342f791e2d52353ceb016ad2854b42",
22
+ "https://deno.land/std@0.177.0/node/_crypto/crypto_browserify/asn1.js/encoders/pem.js": "e43bc706973c4c27e1e2f96262daba3d38822cb10f5b494f6944c726ee655160",
23
+ "https://deno.land/std@0.177.0/node/_crypto/crypto_browserify/asn1.js/mod.js": "1f88293688296be7a6c735bd8ea39425f5b274b94db1d6b7968dddfb54ac9d37",
24
+ "https://deno.land/std@0.177.0/node/_crypto/crypto_browserify/bn.js/bn.js": "f3f3c1dae1aa55de9e6472af1d6bec5ccda4b4890ee5c52a90961137fe99564e",
25
+ "https://deno.land/std@0.177.0/node/_crypto/crypto_browserify/browserify_aes/aes.js": "698e1ed386b7dff27b2d59fa1c75f506beceec96b78670a15a734e438c08f138",
26
+ "https://deno.land/std@0.177.0/node/_crypto/crypto_browserify/browserify_aes/auth_cipher.js": "5c245b5685b066356a7c9529a3a441bf5f57823a6946ce1b0ef2e1af32bb76f4",
27
+ "https://deno.land/std@0.177.0/node/_crypto/crypto_browserify/browserify_aes/decrypter.js": "39152b2b3409893b8548feeab7e5997ceb1595f31df0dedaf765708be8f025c0",
28
+ "https://deno.land/std@0.177.0/node/_crypto/crypto_browserify/browserify_aes/encrypter.js": "f9cc703d5a7b5255999c1a3600fbf48ff564b65f827744877526803093ceebff",
29
+ "https://deno.land/std@0.177.0/node/_crypto/crypto_browserify/browserify_aes/ghash.js": "759d80b760f44cd3a454b4f161fd03a7d6c359901446f0a907a6870cb66d6767",
30
+ "https://deno.land/std@0.177.0/node/_crypto/crypto_browserify/browserify_aes/incr32.js": "2bdea27b74b3990ee56807a1a5abe335f118826beabeeb905459c8768094b28f",
31
+ "https://deno.land/std@0.177.0/node/_crypto/crypto_browserify/browserify_aes/mod.js": "fe4affebbd210d885b2e5135c668751f9d10bc14aa0cc3905cbfff66f04b4c58",
32
+ "https://deno.land/std@0.177.0/node/_crypto/crypto_browserify/browserify_aes/modes/cbc.js": "ff24b4506522a724ba7a03c1403ad8938aba45056f9fd47c7f0b4fcb3a640adf",
33
+ "https://deno.land/std@0.177.0/node/_crypto/crypto_browserify/browserify_aes/modes/cfb.js": "643720a1db969b6bcc896c95523630838a8335513d02f340514fd524bb4113cb",
34
+ "https://deno.land/std@0.177.0/node/_crypto/crypto_browserify/browserify_aes/modes/cfb1.js": "01c9a46aa3affd84a54ae33652fb0fa0ff7c862be2a459d9cb188cb8e2c4b11e",
35
+ "https://deno.land/std@0.177.0/node/_crypto/crypto_browserify/browserify_aes/modes/cfb8.js": "97476cee25103e02a02b196d7fe6f28a9f0f9e47ee344687d7492bc7282a59f8",
36
+ "https://deno.land/std@0.177.0/node/_crypto/crypto_browserify/browserify_aes/modes/ctr.js": "1e3835adb753cfe6761e4df8c43d190e31e1ca6a586fd582747c8255c82ed78d",
37
+ "https://deno.land/std@0.177.0/node/_crypto/crypto_browserify/browserify_aes/modes/ecb.js": "79677b96d4af50c49f0a4f698e5c7e5a64f1d2926b799e0d2eac2cdd5ec7488c",
38
+ "https://deno.land/std@0.177.0/node/_crypto/crypto_browserify/browserify_aes/modes/mod.js": "fe3db429b867a0a8066c64d7b33b840a1f24cad9174156384a763733f68cf518",
39
+ "https://deno.land/std@0.177.0/node/_crypto/crypto_browserify/browserify_aes/modes/ofb.js": "3553308f98d078e2006eac39bb6d91818f8bb376b01d962ae98eabf6ee79ad4e",
40
+ "https://deno.land/std@0.177.0/node/_crypto/crypto_browserify/browserify_aes/stream_cipher.js": "70f50f37ddec530ae95911ca2f286ebd2ddbd54d914ab0be461ec1dc3c61990f",
41
+ "https://deno.land/std@0.177.0/node/_crypto/crypto_browserify/browserify_aes/xor.ts": "7132baacdb39ba82c3bfe325a60e68ca87469c0ed0cdd0508caf6f40bab852b8",
42
+ "https://deno.land/std@0.177.0/node/_crypto/crypto_browserify/browserify_rsa.js": "96e0e4fee7c2cf75ef86d958c709bfc239297a080fd17ace5ea5ab699a1b6174",
43
+ "https://deno.land/std@0.177.0/node/_crypto/crypto_browserify/cipher_base.js": "9ebc6ccc364cf7b23024821054d2e72a2d8da8d8a2a36cacdc5aa6cc6770ef93",
44
+ "https://deno.land/std@0.177.0/node/_crypto/crypto_browserify/evp_bytes_to_key.ts": "7c4c27b6e321b2d7065a6703d90264921e9a805d91d9dfdb21103393228024e2",
45
+ "https://deno.land/std@0.177.0/node/_crypto/crypto_browserify/parse_asn1/asn1.js": "7d99b6df508164169a33377346e8840d519fe2defccb362a023c92c5bd503433",
46
+ "https://deno.land/std@0.177.0/node/_crypto/crypto_browserify/parse_asn1/certificate.js": "5795348417b3ec7aafa4854ba55f364e0148eadfdd29d1566c90e617237621bb",
47
+ "https://deno.land/std@0.177.0/node/_crypto/crypto_browserify/parse_asn1/fix_proc.js": "858dd3e6ce264d75822cadc21bb55114f4e4867a706abde1663548aa2710fc1b",
48
+ "https://deno.land/std@0.177.0/node/_crypto/crypto_browserify/parse_asn1/mod.js": "ea164fbd497ce3d710426742d4b72f71da8954c4ebaeb7eadc33316c5b0060f1",
49
+ "https://deno.land/std@0.177.0/node/_crypto/crypto_browserify/public_encrypt/mgf.js": "dfac5008a550b3e7e6b851c4fb42e984aa9e7fae64707888f47f2aa0991c004d",
50
+ "https://deno.land/std@0.177.0/node/_crypto/crypto_browserify/public_encrypt/mod.js": "0704326ff3ee2bb0764a964995d1aa62b1147b714ad5465e878ba4d57731e3db",
51
+ "https://deno.land/std@0.177.0/node/_crypto/crypto_browserify/public_encrypt/private_decrypt.js": "8a1d11edb176d95d1e3bdf1aff5c3248a986bf9734d1a6b07508e29132d2f65c",
52
+ "https://deno.land/std@0.177.0/node/_crypto/crypto_browserify/public_encrypt/public_encrypt.js": "f88b0e3c228d84096fdbc03e614e86bef86e56013cb9628b2425e31b3b142b2c",
53
+ "https://deno.land/std@0.177.0/node/_crypto/crypto_browserify/public_encrypt/with_public.js": "752da754d253b5743d89c0f2432b6eb6f8815b80efd9ee588683e10a13d34400",
54
+ "https://deno.land/std@0.177.0/node/_crypto/crypto_browserify/public_encrypt/xor.js": "087ebef8f6fcb8ca4c7216cc22de728d9a61ec27b9a036b900681ff25d6409af",
55
+ "https://deno.land/std@0.177.0/node/_crypto/crypto_browserify/randombytes.ts": "23bde8be640e274d7bb88cf10d1da8bba252654252dc6a877fed86a77da5952c",
56
+ "https://deno.land/std@0.177.0/node/_events.d.ts": "1347437fd6b084d7c9a4e16b9fe7435f00b030970086482edeeb3b179d0775af",
57
+ "https://deno.land/std@0.177.0/node/_events.mjs": "d4ba4e629abe3db9f1b14659fd5c282b7da8b2b95eaf13238eee4ebb142a2448",
58
+ "https://deno.land/std@0.177.0/node/_global.d.ts": "2d88342f38b4083b858998e27c706725fb03a74aa14ef8d985dc18438b5188e4",
59
+ "https://deno.land/std@0.177.0/node/_next_tick.ts": "9a3cf107d59b019a355d3cf32275b4c6157282e4b68ea85b46a799cb1d379305",
60
+ "https://deno.land/std@0.177.0/node/_process/exiting.ts": "6e336180aaabd1192bf99ffeb0d14b689116a3dec1dfb34a2afbacd6766e98ab",
61
+ "https://deno.land/std@0.177.0/node/_process/process.ts": "c96bb1f6253824c372f4866ee006dcefda02b7050d46759736e403f862d91051",
62
+ "https://deno.land/std@0.177.0/node/_process/stdio.mjs": "cf17727eac8da3a665851df700b5aca6a12bacc3ebbf33e63e4b919f80ba44a6",
63
+ "https://deno.land/std@0.177.0/node/_stream.d.ts": "112e1a0677cd6db932c3ce0e6e5bbdc7a2ac1874572f449044ecc82afcf5ee2e",
64
+ "https://deno.land/std@0.177.0/node/_stream.mjs": "d6e2c86c1158ac65b4c2ca4fa019d7e84374ff12e21e2175345fe68c0823efe3",
65
+ "https://deno.land/std@0.177.0/node/_utils.ts": "7fd55872a0cf9275e3c080a60e2fa6d45b8de9e956ebcde9053e72a344185884",
66
+ "https://deno.land/std@0.177.0/node/buffer.ts": "85617be2063eccaf177dbb84c7580d1e32023724ed14bd9df4e453b152a26167",
67
+ "https://deno.land/std@0.177.0/node/crypto.ts": "2c94fa0f76e90190fbc34df891dc5c284bddb86c932fae8ac11747de3f75293c",
68
+ "https://deno.land/std@0.177.0/node/events.ts": "d2de352d509de11a375e2cb397d6b98f5fed4e562fc1d41be33214903a38e6b0",
69
+ "https://deno.land/std@0.177.0/node/internal/buffer.d.ts": "bdfa991cd88cb02fd08bf8235d2618550e3e511c970b2a8f2e1a6885a2793cac",
70
+ "https://deno.land/std@0.177.0/node/internal/buffer.mjs": "e92303a3cc6d9aaabcd270a937ad9319825d9ba08cb332650944df4562029b27",
71
+ "https://deno.land/std@0.177.0/node/internal/crypto/_keys.ts": "8f3c3b5a141aa0331a53c205e9338655f1b3b307a08085fd6ff6dda6f7c4190b",
72
+ "https://deno.land/std@0.177.0/node/internal/crypto/_randomBytes.ts": "36dd164747f73b830ba86562abb160a8ac5bea34aaeb816a67f3005a00d41177",
73
+ "https://deno.land/std@0.177.0/node/internal/crypto/_randomFill.ts": "297186f290eba87a1ad7b8aa42a960ff4278a8b6b0c963fa81918c326d5c0b58",
74
+ "https://deno.land/std@0.177.0/node/internal/crypto/_randomInt.ts": "6cf19da9684b67520e67a2d99f2581a3f841140842c7ce2e014d166457550fe1",
75
+ "https://deno.land/std@0.177.0/node/internal/crypto/certificate.ts": "b4a6695f82e70a42e85247c74a7691ed4b3a904646451af0287e49efe1a28814",
76
+ "https://deno.land/std@0.177.0/node/internal/crypto/cipher.ts": "2bae9b4d94c465e4d1c70e5a9e8fd67ce20bcc66fecd2eec6be00d35144ca4eb",
77
+ "https://deno.land/std@0.177.0/node/internal/crypto/constants.ts": "544d605703053218499b08214f2e25cf4310651d535b7ab995891c4b7a217693",
78
+ "https://deno.land/std@0.177.0/node/internal/crypto/diffiehellman.ts": "9cfb219c5b2936db773f559b6affe6d25b0e40531010389f05df3f05ce7eebf5",
79
+ "https://deno.land/std@0.177.0/node/internal/crypto/hash.ts": "d01f5d3ad5477655b432036d2d553c7a0c31a901ac0e1e9e0d8b3975daae7624",
80
+ "https://deno.land/std@0.177.0/node/internal/crypto/hkdf.ts": "5bd801234e56468fbd47466f46e88bdadc66432d625e3616abe38878d410bb66",
81
+ "https://deno.land/std@0.177.0/node/internal/crypto/keygen.ts": "530cc1a00acf71a43719bb876a2dc563b6196095d080eba77c92c9f39658a5b9",
82
+ "https://deno.land/std@0.177.0/node/internal/crypto/keys.ts": "c4dfa5aa3420cf700178b87203593a0989c8a93934bfef2b29adb3399d687958",
83
+ "https://deno.land/std@0.177.0/node/internal/crypto/pbkdf2.ts": "0a0a3e0d3d45db0638fe75a4199c7ed7ca2164405750a520e786e4adebdb45a4",
84
+ "https://deno.land/std@0.177.0/node/internal/crypto/random.ts": "85f3147e14cb45c18e016da45d319a5c663309411232a956fdc09c2317acdd9f",
85
+ "https://deno.land/std@0.177.0/node/internal/crypto/scrypt.ts": "b55a0fcd12b295af4127d05b1c0bc3098b74fc0e3c62321c2a43c20f9ed18209",
86
+ "https://deno.land/std@0.177.0/node/internal/crypto/sig.ts": "25819a89d49c1ebfe3baa1f9464501ec599a36cf53e9b600ec0399e568b9dccc",
87
+ "https://deno.land/std@0.177.0/node/internal/crypto/types.ts": "52feb182bcbd59206f3e2f4a3cb8a5775d4452c2a8045c3e613e2178d32c2a86",
88
+ "https://deno.land/std@0.177.0/node/internal/crypto/util.ts": "db282c0413aeee28bc0665fcfc1c08a65fc96dc12ed4d03282f2da4907fcf0ce",
89
+ "https://deno.land/std@0.177.0/node/internal/crypto/x509.ts": "0e8a541c4f58ecb83862c373d3f7d2371aa8f5108f55bc837b190c4ab3408764",
90
+ "https://deno.land/std@0.177.0/node/internal/error_codes.ts": "8495e33f448a484518d76fa3d41d34fc20fe03c14b30130ad8e936b0035d4b8b",
91
+ "https://deno.land/std@0.177.0/node/internal/errors.ts": "1c699b8a3cb93174f697a348c004b1c6d576b66688eac8a48ebb78e65c720aae",
92
+ "https://deno.land/std@0.177.0/node/internal/fixed_queue.ts": "62bb119afa5b5ae8fc0c7048b50502347bec82e2588017d0b250c4671d6eff8f",
93
+ "https://deno.land/std@0.177.0/node/internal/hide_stack_frames.ts": "9dd1bad0a6e62a1042ce3a51eb1b1ecee2f246907bff44835f86e8f021de679a",
94
+ "https://deno.land/std@0.177.0/node/internal/normalize_encoding.mjs": "fd1d9df61c44d7196432f6e8244621468715131d18cc79cd299fc78ac549f707",
95
+ "https://deno.land/std@0.177.0/node/internal/options.ts": "888f267c3fe8f18dc7b2f2fbdbe7e4a0fd3302ff3e99f5d6645601e924f3e3fb",
96
+ "https://deno.land/std@0.177.0/node/internal/primordials.mjs": "a72d86b5aa55d3d50b8e916b6a59b7cc0dc5a31da8937114b4a113ad5aa08c74",
97
+ "https://deno.land/std@0.177.0/node/internal/streams/destroy.mjs": "b665fc71178919a34ddeac8389d162a81b4bc693ff7dc2557fa41b3a91011967",
98
+ "https://deno.land/std@0.177.0/node/internal/streams/end-of-stream.mjs": "a4fb1c2e32d58dff440d4e716e2c4daaa403b3095304a028bb428575cfeed716",
99
+ "https://deno.land/std@0.177.0/node/internal/streams/utils.mjs": "f2fe2e6bdc506da24c758970890cc2a21642045b129dee618bd3827c60dd9e33",
100
+ "https://deno.land/std@0.177.0/node/internal/streams/writable.mjs": "775928726d0483ace8e45a35f30db2019a22dd7b9a81b67b158420e21cc692c5",
101
+ "https://deno.land/std@0.177.0/node/internal/util.mjs": "f7fe2e1ca5e66f550ad0856b9f5ee4d666f0c071fe212ea7fc7f37cfa81f97a5",
102
+ "https://deno.land/std@0.177.0/node/internal/util/inspect.mjs": "11d7c9cab514b8e485acc3978c74b837263ff9c08ae4537fa18ad56bae633259",
103
+ "https://deno.land/std@0.177.0/node/internal/util/types.ts": "0e587b44ec5e017cf228589fc5ce9983b75beece6c39409c34170cfad49d6417",
104
+ "https://deno.land/std@0.177.0/node/internal/validators.mjs": "e02f2b02dd072a5d623970292588d541204dc82207b4c58985d933a5f4b382e6",
105
+ "https://deno.land/std@0.177.0/node/internal_binding/_libuv_winerror.ts": "30c9569603d4b97a1f1a034d88a3f74800d5ea1f12fcc3d225c9899d4e1a518b",
106
+ "https://deno.land/std@0.177.0/node/internal_binding/_node.ts": "cb2389b0eab121df99853eb6a5e3a684e4537e065fb8bf2cca0cbf219ce4e32e",
107
+ "https://deno.land/std@0.177.0/node/internal_binding/_timingSafeEqual.ts": "7d9732464d3c669ff07713868ce5d25bc974a06112edbfb5f017fc3c70c0853e",
108
+ "https://deno.land/std@0.177.0/node/internal_binding/_utils.ts": "7c58a2fbb031a204dee9583ba211cf9c67922112fe77e7f0b3226112469e9fe1",
109
+ "https://deno.land/std@0.177.0/node/internal_binding/_winerror.ts": "3e8cfdfe22e89f13d2b28529bab35155e6b1730c0221ec5a6fc7077dc037be13",
110
+ "https://deno.land/std@0.177.0/node/internal_binding/buffer.ts": "31729e0537921d6c730ad0afea44a7e8a0a1044d070ade8368226cb6f7390c8b",
111
+ "https://deno.land/std@0.177.0/node/internal_binding/constants.ts": "21ff9d1ee71d0a2086541083a7711842fc6ae25e264dbf45c73815aadce06f4c",
112
+ "https://deno.land/std@0.177.0/node/internal_binding/crypto.ts": "29e8f94f283a2e7d4229d3551369c6a40c2af9737fad948cb9be56bef6c468cd",
113
+ "https://deno.land/std@0.177.0/node/internal_binding/node_options.ts": "0b5cb0bf4379a39278d7b7bb6bb2c2751baf428fe437abe5ed3e8441fae1f18b",
114
+ "https://deno.land/std@0.177.0/node/internal_binding/string_decoder.ts": "54c3c1cbd5a9254881be58bf22637965dc69535483014dab60487e299cb95445",
115
+ "https://deno.land/std@0.177.0/node/internal_binding/types.ts": "2187595a58d2cf0134f4db6cc2a12bf777f452f52b15b6c3aed73fa072aa5fc3",
116
+ "https://deno.land/std@0.177.0/node/internal_binding/util.ts": "808ff3b92740284184ab824adfc420e75398c88c8bccf5111f0c24ac18c48f10",
117
+ "https://deno.land/std@0.177.0/node/internal_binding/uv.ts": "eb0048e30af4db407fb3f95563e30d70efd6187051c033713b0a5b768593a3a3",
118
+ "https://deno.land/std@0.177.0/node/perf_hooks.ts": "c20e1f02f463e065e8f6c1d4fa97b0d3832dc0db5b5d8ea37f99a962ecf11f35",
119
+ "https://deno.land/std@0.177.0/node/stream.ts": "09e348302af40dcc7dc58aa5e40fdff868d11d8d6b0cfb85cbb9c75b9fe450c7",
120
+ "https://deno.land/std@0.177.0/node/string_decoder.ts": "1a17e3572037c512cc5fc4b29076613e90f225474362d18da908cb7e5ccb7e88"
121
+ }
122
+ }
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var set = require('./set-b596ef38.cjs');
3
+ var set = require('./set-0f209abb.cjs');
4
4
 
5
5
  /**
6
6
  * Utility module to work with Arrays.
@@ -12,7 +12,7 @@ var set = require('./set-b596ef38.cjs');
12
12
  * Return the last element of an array. The element must exist
13
13
  *
14
14
  * @template L
15
- * @param {Array<L>} arr
15
+ * @param {ArrayLike<L>} arr
16
16
  * @return {L}
17
17
  */
18
18
  const last = arr => arr[arr.length - 1];
@@ -58,29 +58,45 @@ const from = Array.from;
58
58
  *
59
59
  * @function
60
60
  * @template ITEM
61
+ * @template {ArrayLike<ITEM>} ARR
61
62
  *
62
- * @param {Array<ITEM>} arr
63
- * @param {function(ITEM, number, Array<ITEM>):boolean} f
63
+ * @param {ARR} arr
64
+ * @param {function(ITEM, number, ARR):boolean} f
64
65
  * @return {boolean}
65
66
  */
66
- const every = (arr, f) => arr.every(f);
67
+ const every = (arr, f) => {
68
+ for (let i = 0; i < arr.length; i++) {
69
+ if (!f(arr[i], i, arr)) {
70
+ return false
71
+ }
72
+ }
73
+ return true
74
+ };
67
75
 
68
76
  /**
69
77
  * True iff condition holds on some element in the Array.
70
78
  *
71
79
  * @function
72
80
  * @template S
73
- * @param {Array<S>} arr
74
- * @param {function(S, number, Array<S>):boolean} f
81
+ * @template {ArrayLike<S>} ARR
82
+ * @param {ARR} arr
83
+ * @param {function(S, number, ARR):boolean} f
75
84
  * @return {boolean}
76
85
  */
77
- const some = (arr, f) => arr.some(f);
86
+ const some = (arr, f) => {
87
+ for (let i = 0; i < arr.length; i++) {
88
+ if (f(arr[i], i, arr)) {
89
+ return true
90
+ }
91
+ }
92
+ return false
93
+ };
78
94
 
79
95
  /**
80
96
  * @template ELEM
81
97
  *
82
- * @param {Array<ELEM>} a
83
- * @param {Array<ELEM>} b
98
+ * @param {ArrayLike<ELEM>} a
99
+ * @param {ArrayLike<ELEM>} b
84
100
  * @return {boolean}
85
101
  */
86
102
  const equalFlat = (a, b) => a.length === b.length && every(a, (item, index) => item === b[index]);
@@ -104,7 +120,7 @@ const unique = arr => from(set.from(arr));
104
120
  /**
105
121
  * @template T
106
122
  * @template M
107
- * @param {Array<T>} arr
123
+ * @param {ArrayLike<T>} arr
108
124
  * @param {function(T):M} mapper
109
125
  * @return {Array<T>}
110
126
  */
@@ -157,4 +173,4 @@ exports.last = last;
157
173
  exports.some = some;
158
174
  exports.unique = unique;
159
175
  exports.uniqueBy = uniqueBy;
160
- //# sourceMappingURL=array-42d0736b.cjs.map
176
+ //# sourceMappingURL=array-a1682de6.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"array-a1682de6.cjs","sources":["../array.js"],"sourcesContent":["/**\n * Utility module to work with Arrays.\n *\n * @module array\n */\n\nimport * as set from './set.js'\n\n/**\n * Return the last element of an array. The element must exist\n *\n * @template L\n * @param {ArrayLike<L>} arr\n * @return {L}\n */\nexport const last = arr => arr[arr.length - 1]\n\n/**\n * @template C\n * @return {Array<C>}\n */\nexport const create = () => /** @type {Array<C>} */ ([])\n\n/**\n * @template D\n * @param {Array<D>} a\n * @return {Array<D>}\n */\nexport const copy = a => /** @type {Array<D>} */ (a.slice())\n\n/**\n * Append elements from src to dest\n *\n * @template M\n * @param {Array<M>} dest\n * @param {Array<M>} src\n */\nexport const appendTo = (dest, src) => {\n for (let i = 0; i < src.length; i++) {\n dest.push(src[i])\n }\n}\n\n/**\n * Transforms something array-like to an actual Array.\n *\n * @function\n * @template T\n * @param {ArrayLike<T>|Iterable<T>} arraylike\n * @return {T}\n */\nexport const from = Array.from\n\n/**\n * True iff condition holds on every element in the Array.\n *\n * @function\n * @template ITEM\n * @template {ArrayLike<ITEM>} ARR\n *\n * @param {ARR} arr\n * @param {function(ITEM, number, ARR):boolean} f\n * @return {boolean}\n */\nexport const every = (arr, f) => {\n for (let i = 0; i < arr.length; i++) {\n if (!f(arr[i], i, arr)) {\n return false\n }\n }\n return true\n}\n\n/**\n * True iff condition holds on some element in the Array.\n *\n * @function\n * @template S\n * @template {ArrayLike<S>} ARR\n * @param {ARR} arr\n * @param {function(S, number, ARR):boolean} f\n * @return {boolean}\n */\nexport const some = (arr, f) => {\n for (let i = 0; i < arr.length; i++) {\n if (f(arr[i], i, arr)) {\n return true\n }\n }\n return false\n}\n\n/**\n * @template ELEM\n *\n * @param {ArrayLike<ELEM>} a\n * @param {ArrayLike<ELEM>} b\n * @return {boolean}\n */\nexport const equalFlat = (a, b) => a.length === b.length && every(a, (item, index) => item === b[index])\n\n/**\n * @template ELEM\n * @param {Array<Array<ELEM>>} arr\n * @return {Array<ELEM>}\n */\nexport const flatten = arr => arr.reduce((acc, val) => acc.concat(val), [])\n\nexport const isArray = Array.isArray\n\n/**\n * @template T\n * @param {Array<T>} arr\n * @return {Array<T>}\n */\nexport const unique = arr => from(set.from(arr))\n\n/**\n * @template T\n * @template M\n * @param {ArrayLike<T>} arr\n * @param {function(T):M} mapper\n * @return {Array<T>}\n */\nexport const uniqueBy = (arr, mapper) => {\n /**\n * @type {Set<M>}\n */\n const happened = set.create()\n /**\n * @type {Array<T>}\n */\n const result = []\n for (let i = 0; i < arr.length; i++) {\n const el = arr[i]\n const mapped = mapper(el)\n if (!happened.has(mapped)) {\n happened.add(mapped)\n result.push(el)\n }\n }\n return result\n}\n"],"names":["set.from","set.create"],"mappings":"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"}
package/dist/array.cjs CHANGED
@@ -2,8 +2,8 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- require('./set-b596ef38.cjs');
6
- var array = require('./array-42d0736b.cjs');
5
+ require('./set-0f209abb.cjs');
6
+ var array = require('./array-a1682de6.cjs');
7
7
 
8
8
 
9
9
 
package/dist/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
@@ -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"}
@@ -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"}
@@ -1,8 +1,8 @@
1
1
  'use strict';
2
2
 
3
- var map = require('./map-28a001c9.cjs');
4
- var set = require('./set-b596ef38.cjs');
5
- var encoding = require('./buffer-22bb9fae.cjs');
3
+ var map = require('./map-9a5915e4.cjs');
4
+ var set = require('./set-0f209abb.cjs');
5
+ var encoding = require('./buffer-9b566988.cjs');
6
6
  var storage = require('./storage.cjs');
7
7
 
8
8
  /* eslint-env browser */
@@ -18,7 +18,7 @@ var storage = require('./storage.cjs');
18
18
  */
19
19
  const channels = new Map();
20
20
 
21
- /* istanbul ignore next */
21
+ /* c8 ignore start */
22
22
  class LocalStoragePolyfill {
23
23
  /**
24
24
  * @param {string} room
@@ -39,9 +39,10 @@ class LocalStoragePolyfill {
39
39
  storage.varStorage.setItem(this.room, encoding.toBase64(encoding.createUint8ArrayFromArrayBuffer(buf)));
40
40
  }
41
41
  }
42
+ /* c8 ignore stop */
42
43
 
43
- /* istanbul ignore next */
44
44
  // Use BroadcastChannel or Polyfill
45
+ /* c8 ignore next */
45
46
  const BC = typeof BroadcastChannel === 'undefined' ? LocalStoragePolyfill : BroadcastChannel;
46
47
 
47
48
  /**
@@ -52,10 +53,10 @@ const getChannel = room =>
52
53
  map.setIfUndefined(channels, room, () => {
53
54
  const subs = set.create();
54
55
  const bc = new BC(room);
55
- /* istanbul ignore next */
56
56
  /**
57
57
  * @param {{data:ArrayBuffer}} e
58
58
  */
59
+ /* c8 ignore next */
59
60
  bc.onmessage = e => subs.forEach(sub => sub(e.data, 'broadcastchannel'));
60
61
  return {
61
62
  bc, subs
@@ -84,7 +85,6 @@ const subscribe = (room, f) => {
84
85
  const unsubscribe = (room, f) => {
85
86
  const channel = getChannel(room);
86
87
  const unsubscribed = channel.subs.delete(f);
87
- /* istanbul ignore else */
88
88
  if (unsubscribed && channel.subs.size === 0) {
89
89
  channel.bc.close();
90
90
  channels.delete(room);
@@ -117,4 +117,4 @@ exports.broadcastchannel = broadcastchannel;
117
117
  exports.publish = publish;
118
118
  exports.subscribe = subscribe;
119
119
  exports.unsubscribe = unsubscribe;
120
- //# sourceMappingURL=broadcastchannel-8d21c21c.cjs.map
120
+ //# sourceMappingURL=broadcastchannel-4e5909e2.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"broadcastchannel-4e5909e2.cjs","sources":["../broadcastchannel.js"],"sourcesContent":["/* eslint-env browser */\n\n/**\n * Helpers for cross-tab communication using broadcastchannel with LocalStorage fallback.\n *\n * ```js\n * // In browser window A:\n * broadcastchannel.subscribe('my events', data => console.log(data))\n * broadcastchannel.publish('my events', 'Hello world!') // => A: 'Hello world!' fires synchronously in same tab\n *\n * // In browser window B:\n * broadcastchannel.publish('my events', 'hello from tab B') // => A: 'hello from tab B'\n * ```\n *\n * @module broadcastchannel\n */\n\n// @todo before next major: use Uint8Array instead as buffer object\n\nimport * as map from './map.js'\nimport * as set from './set.js'\nimport * as buffer from './buffer.js'\nimport * as storage from './storage.js'\n\n/**\n * @typedef {Object} Channel\n * @property {Set<function(any, any):any>} Channel.subs\n * @property {any} Channel.bc\n */\n\n/**\n * @type {Map<string, Channel>}\n */\nconst channels = new Map()\n\n/* c8 ignore start */\nclass LocalStoragePolyfill {\n /**\n * @param {string} room\n */\n constructor (room) {\n this.room = room\n /**\n * @type {null|function({data:ArrayBuffer}):void}\n */\n this.onmessage = null\n storage.onChange(e => e.key === room && this.onmessage !== null && this.onmessage({ data: buffer.fromBase64(e.newValue || '') }))\n }\n\n /**\n * @param {ArrayBuffer} buf\n */\n postMessage (buf) {\n storage.varStorage.setItem(this.room, buffer.toBase64(buffer.createUint8ArrayFromArrayBuffer(buf)))\n }\n}\n/* c8 ignore stop */\n\n// Use BroadcastChannel or Polyfill\n/* c8 ignore next */\nconst BC = typeof BroadcastChannel === 'undefined' ? LocalStoragePolyfill : BroadcastChannel\n\n/**\n * @param {string} room\n * @return {Channel}\n */\nconst getChannel = room =>\n map.setIfUndefined(channels, room, () => {\n const subs = set.create()\n const bc = new BC(room)\n /**\n * @param {{data:ArrayBuffer}} e\n */\n /* c8 ignore next */\n bc.onmessage = e => subs.forEach(sub => sub(e.data, 'broadcastchannel'))\n return {\n bc, subs\n }\n })\n\n/**\n * Subscribe to global `publish` events.\n *\n * @function\n * @param {string} room\n * @param {function(any, any):any} f\n */\nexport const subscribe = (room, f) => {\n getChannel(room).subs.add(f)\n return f\n}\n\n/**\n * Unsubscribe from `publish` global events.\n *\n * @function\n * @param {string} room\n * @param {function(any, any):any} f\n */\nexport const unsubscribe = (room, f) => {\n const channel = getChannel(room)\n const unsubscribed = channel.subs.delete(f)\n if (unsubscribed && channel.subs.size === 0) {\n channel.bc.close()\n channels.delete(room)\n }\n return unsubscribed\n}\n\n/**\n * Publish data to all subscribers (including subscribers on this tab)\n *\n * @function\n * @param {string} room\n * @param {any} data\n * @param {any} [origin]\n */\nexport const publish = (room, data, origin = null) => {\n const c = getChannel(room)\n c.bc.postMessage(data)\n c.subs.forEach(sub => sub(data, origin))\n}\n"],"names":["storage.onChange","buffer.fromBase64","storage.varStorage","buffer.toBase64","buffer.createUint8ArrayFromArrayBuffer","map.setIfUndefined","set.create"],"mappings":"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"}
@@ -2,21 +2,21 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- require('./map-28a001c9.cjs');
6
- require('./set-b596ef38.cjs');
7
- require('./buffer-22bb9fae.cjs');
5
+ require('./map-9a5915e4.cjs');
6
+ require('./set-0f209abb.cjs');
7
+ require('./buffer-9b566988.cjs');
8
8
  require('./storage.cjs');
9
- var broadcastchannel = require('./broadcastchannel-8d21c21c.cjs');
10
- require('./string-ad04f734.cjs');
11
- require('./environment-f6386808.cjs');
12
- require('./conditions-fb475c70.cjs');
13
- require('./function-40d38a5b.cjs');
14
- require('./array-42d0736b.cjs');
15
- require('./object-fe9c0021.cjs');
9
+ var broadcastchannel = require('./broadcastchannel-4e5909e2.cjs');
10
+ require('./string-b1bee84b.cjs');
11
+ require('./environment-01c0e75b.cjs');
12
+ require('./conditions-f5c0c102.cjs');
13
+ require('./function-35e8ddea.cjs');
14
+ require('./array-a1682de6.cjs');
15
+ require('./object-aad630ed.cjs');
16
16
  require('./binary-ac8e39e2.cjs');
17
17
  require('./math-08e068f9.cjs');
18
- require('./number-e62129bc.cjs');
19
- require('./error-873c9cbf.cjs');
18
+ require('./number-f97e141a.cjs');
19
+ require('./error-8582d695.cjs');
20
20
 
21
21
 
22
22
 
@@ -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"}