lib0 0.2.63 → 0.2.65

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 (259) hide show
  1. package/array.test.d.ts +6 -5
  2. package/array.test.d.ts.map +1 -1
  3. package/bin/gendocs.js +0 -1
  4. package/bin/gentesthtml.js +54 -0
  5. package/broadcastchannel.d.ts.map +1 -1
  6. package/broadcastchannel.js +4 -4
  7. package/buffer.d.ts.map +1 -1
  8. package/buffer.js +6 -4
  9. package/conditions.js +1 -1
  10. package/coverage/tmp/coverage-64278-1678297615727-0.json +1 -0
  11. package/crypto/aes-gcm.d.ts +10 -0
  12. package/crypto/aes-gcm.d.ts.map +1 -0
  13. package/crypto/aes-gcm.js +124 -0
  14. package/crypto/ecdsa.d.ts +13 -0
  15. package/crypto/ecdsa.d.ts.map +1 -0
  16. package/crypto/ecdsa.js +93 -0
  17. package/crypto/rsa-oaep.d.ts +13 -0
  18. package/crypto/rsa-oaep.d.ts.map +1 -0
  19. package/crypto/rsa-oaep.js +84 -0
  20. package/crypto.test.d.ts +2 -0
  21. package/crypto.test.d.ts.map +1 -1
  22. package/decoding.d.ts.map +1 -1
  23. package/decoding.js +7 -4
  24. package/deno.json +7 -0
  25. package/deno.lock +122 -0
  26. package/dist/{array-5347125b.cjs → array-a1682de6.cjs} +2 -2
  27. package/dist/{array-5347125b.cjs.map → array-a1682de6.cjs.map} +1 -1
  28. package/dist/array.cjs +2 -2
  29. package/dist/array.test.d.ts +6 -5
  30. package/dist/array.test.d.ts.map +1 -1
  31. package/dist/{broadcastchannel-61da4e94.cjs → broadcastchannel-4e5909e2.cjs} +8 -8
  32. package/dist/broadcastchannel-4e5909e2.cjs.map +1 -0
  33. package/dist/broadcastchannel.cjs +12 -12
  34. package/dist/broadcastchannel.d.ts.map +1 -1
  35. package/dist/{buffer-884e5a1d.cjs → buffer-9b566988.cjs} +20 -16
  36. package/dist/buffer-9b566988.cjs.map +1 -0
  37. package/dist/buffer.cjs +11 -11
  38. package/dist/buffer.d.ts.map +1 -1
  39. package/dist/cache.cjs +7 -7
  40. package/dist/component.cjs +9 -9
  41. package/dist/{conditions-fb475c70.cjs → conditions-f5c0c102.cjs} +2 -2
  42. package/dist/conditions-f5c0c102.cjs.map +1 -0
  43. package/dist/conditions.cjs +1 -1
  44. package/dist/crypto/aes-gcm.d.ts +10 -0
  45. package/dist/crypto/aes-gcm.d.ts.map +1 -0
  46. package/dist/crypto/ecdsa.d.ts +13 -0
  47. package/dist/crypto/ecdsa.d.ts.map +1 -0
  48. package/dist/crypto/rsa-oaep.d.ts +13 -0
  49. package/dist/crypto/rsa-oaep.d.ts.map +1 -0
  50. package/dist/crypto.test.d.ts +2 -0
  51. package/dist/crypto.test.d.ts.map +1 -1
  52. package/dist/decoding.cjs +11 -11
  53. package/dist/decoding.d.ts.map +1 -1
  54. package/dist/{diff-2cbda723.cjs → diff-55061848.cjs} +2 -2
  55. package/dist/{diff-2cbda723.cjs.map → diff-55061848.cjs.map} +1 -1
  56. package/dist/diff.cjs +5 -5
  57. package/dist/{dom-58958c04.cjs → dom-7ef10fba.cjs} +4 -32
  58. package/dist/dom-7ef10fba.cjs.map +1 -0
  59. package/dist/dom.cjs +2 -2
  60. package/dist/dom.d.ts.map +1 -1
  61. package/dist/encoding.cjs +11 -11
  62. package/dist/encoding.d.ts.map +1 -1
  63. package/dist/encoding.test.d.ts +2 -1
  64. package/dist/encoding.test.d.ts.map +1 -1
  65. package/dist/{environment-ad5e7386.cjs → environment-01c0e75b.cjs} +20 -19
  66. package/dist/environment-01c0e75b.cjs.map +1 -0
  67. package/dist/environment.cjs +8 -8
  68. package/dist/environment.d.ts.map +1 -1
  69. package/dist/{error-873c9cbf.cjs → error-8582d695.cjs} +4 -4
  70. package/dist/error-8582d695.cjs.map +1 -0
  71. package/dist/error.cjs +1 -1
  72. package/dist/error.d.ts.map +1 -1
  73. package/dist/{eventloop-c60b5658.cjs → eventloop-d0571621.cjs} +5 -5
  74. package/dist/eventloop-d0571621.cjs.map +1 -0
  75. package/dist/eventloop.cjs +1 -1
  76. package/dist/eventloop.d.ts.map +1 -1
  77. package/dist/eventloop.test.d.ts +6 -5
  78. package/dist/eventloop.test.d.ts.map +1 -1
  79. package/dist/{function-3695121b.cjs → function-35e8ddea.cjs} +6 -3
  80. package/dist/function-35e8ddea.cjs.map +1 -0
  81. package/dist/function.cjs +4 -4
  82. package/dist/function.d.ts.map +1 -1
  83. package/dist/function.test.d.ts +3 -1
  84. package/dist/function.test.d.ts.map +1 -1
  85. package/dist/index.cjs +22 -22
  86. package/dist/{indexeddb-7b2c0026.cjs → indexeddb-1f25af34.cjs} +7 -30
  87. package/dist/indexeddb-1f25af34.cjs.map +1 -0
  88. package/dist/indexeddb.cjs +4 -4
  89. package/dist/indexeddb.d.ts.map +1 -1
  90. package/dist/list.cjs +7 -6
  91. package/dist/list.cjs.map +1 -1
  92. package/dist/list.d.ts.map +1 -1
  93. package/dist/list.test.d.ts +2 -2
  94. package/dist/list.test.d.ts.map +1 -1
  95. package/dist/{logging-70fd0a99.cjs → logging-641c32f4.cjs} +55 -50
  96. package/dist/logging-641c32f4.cjs.map +1 -0
  97. package/dist/logging.cjs +12 -12
  98. package/dist/logging.d.ts.map +1 -1
  99. package/dist/{map-28a001c9.cjs → map-9a5915e4.cjs} +6 -5
  100. package/dist/map-9a5915e4.cjs.map +1 -0
  101. package/dist/map.cjs +1 -1
  102. package/dist/map.d.ts +1 -1
  103. package/dist/map.d.ts.map +1 -1
  104. package/dist/map.test.d.ts +1 -1
  105. package/dist/map.test.d.ts.map +1 -1
  106. package/dist/{number-e62129bc.cjs → number-f97e141a.cjs} +2 -2
  107. package/dist/number-f97e141a.cjs.map +1 -0
  108. package/dist/number.cjs +1 -1
  109. package/dist/{object-fe9c0021.cjs → object-aad630ed.cjs} +6 -3
  110. package/dist/object-aad630ed.cjs.map +1 -0
  111. package/dist/object.cjs +1 -1
  112. package/dist/object.d.ts +3 -3
  113. package/dist/object.d.ts.map +1 -1
  114. package/dist/object.test.d.ts.map +1 -1
  115. package/dist/observable.cjs +3 -3
  116. package/dist/{prng-397a85ab.cjs → prng-cd2451c9.cjs} +5 -4
  117. package/dist/prng-cd2451c9.cjs.map +1 -0
  118. package/dist/prng.cjs +12 -12
  119. package/dist/prng.d.ts.map +1 -1
  120. package/dist/{promise-1a9fe712.cjs → promise-a4f32c85.cjs} +3 -3
  121. package/dist/promise-a4f32c85.cjs.map +1 -0
  122. package/dist/promise.cjs +2 -2
  123. package/dist/random.test.d.ts +1 -0
  124. package/dist/random.test.d.ts.map +1 -1
  125. package/dist/rollup.config.d.ts +2 -28
  126. package/dist/{set-b596ef38.cjs → set-0f209abb.cjs} +4 -7
  127. package/dist/set-0f209abb.cjs.map +1 -0
  128. package/dist/set.cjs +1 -1
  129. package/dist/set.d.ts.map +1 -1
  130. package/dist/set.test.d.ts +1 -1
  131. package/dist/set.test.d.ts.map +1 -1
  132. package/dist/sort.test.d.ts +2 -1
  133. package/dist/sort.test.d.ts.map +1 -1
  134. package/dist/storage.cjs +6 -5
  135. package/dist/storage.cjs.map +1 -1
  136. package/dist/storage.d.ts.map +1 -1
  137. package/dist/{string-ad04f734.cjs → string-b1bee84b.cjs} +8 -7
  138. package/dist/string-b1bee84b.cjs.map +1 -0
  139. package/dist/string.cjs +1 -1
  140. package/dist/string.d.ts.map +1 -1
  141. package/dist/symbol.test.d.ts +3 -0
  142. package/dist/symbol.test.d.ts.map +1 -0
  143. package/dist/testing.cjs +57 -40
  144. package/dist/testing.cjs.map +1 -1
  145. package/dist/testing.d.ts +2 -1
  146. package/dist/testing.d.ts.map +1 -1
  147. package/dist/testing.test.d.ts +1 -0
  148. package/dist/testing.test.d.ts.map +1 -1
  149. package/dist/{time-e00067da.cjs → time-bc2081b9.cjs} +2 -2
  150. package/dist/time-bc2081b9.cjs.map +1 -0
  151. package/dist/time.cjs +1 -1
  152. package/dist/{tree-b67c7947.cjs → tree-9f3c8837.cjs} +23 -22
  153. package/dist/tree-9f3c8837.cjs.map +1 -0
  154. package/dist/tree.cjs +1 -1
  155. package/dist/tree.d.ts.map +1 -1
  156. package/dist/url.cjs +2 -2
  157. package/dist/url.cjs.map +1 -1
  158. package/dist/webcrypto.deno.cjs +12 -0
  159. package/dist/webcrypto.deno.cjs.map +1 -0
  160. package/dist/webcrypto.deno.d.ts +3 -0
  161. package/dist/webcrypto.deno.d.ts.map +1 -0
  162. package/dist/{websocket-dd57e44f.cjs → websocket-85f1d597.cjs} +2 -2
  163. package/dist/{websocket-dd57e44f.cjs.map → websocket-85f1d597.cjs.map} +1 -1
  164. package/dist/websocket.cjs +5 -5
  165. package/dom.d.ts.map +1 -1
  166. package/dom.js +2 -30
  167. package/encoding.d.ts.map +1 -1
  168. package/encoding.js +2 -3
  169. package/encoding.test.d.ts +2 -1
  170. package/encoding.test.d.ts.map +1 -1
  171. package/environment.d.ts.map +1 -1
  172. package/environment.js +15 -14
  173. package/error.d.ts.map +1 -1
  174. package/error.js +3 -3
  175. package/eventloop.d.ts.map +1 -1
  176. package/eventloop.js +4 -4
  177. package/eventloop.test.d.ts +6 -5
  178. package/eventloop.test.d.ts.map +1 -1
  179. package/function.d.ts.map +1 -1
  180. package/function.js +3 -0
  181. package/function.test.d.ts +3 -1
  182. package/function.test.d.ts.map +1 -1
  183. package/indexeddb.d.ts.map +1 -1
  184. package/indexeddb.js +4 -27
  185. package/list.d.ts.map +1 -1
  186. package/list.js +2 -1
  187. package/list.test.d.ts +2 -2
  188. package/list.test.d.ts.map +1 -1
  189. package/logging.d.ts.map +1 -1
  190. package/logging.js +47 -42
  191. package/map.d.ts +1 -1
  192. package/map.d.ts.map +1 -1
  193. package/map.js +5 -4
  194. package/map.test.d.ts +1 -1
  195. package/map.test.d.ts.map +1 -1
  196. package/number.js +1 -1
  197. package/object.d.ts +3 -3
  198. package/object.d.ts.map +1 -1
  199. package/object.js +5 -2
  200. package/object.test.d.ts.map +1 -1
  201. package/package.json +33 -17
  202. package/prng.d.ts.map +1 -1
  203. package/prng.js +2 -1
  204. package/promise.js +1 -1
  205. package/random.test.d.ts +1 -0
  206. package/random.test.d.ts.map +1 -1
  207. package/rollup.config.d.ts +2 -28
  208. package/set.d.ts.map +1 -1
  209. package/set.js +3 -6
  210. package/set.test.d.ts +1 -1
  211. package/set.test.d.ts.map +1 -1
  212. package/sort.test.d.ts +2 -1
  213. package/sort.test.d.ts.map +1 -1
  214. package/storage.d.ts.map +1 -1
  215. package/storage.js +6 -5
  216. package/string.d.ts.map +1 -1
  217. package/string.js +7 -6
  218. package/symbol.test.d.ts +3 -0
  219. package/symbol.test.d.ts.map +1 -0
  220. package/test.html +150 -2
  221. package/test.js +5 -3
  222. package/testing.d.ts +2 -1
  223. package/testing.d.ts.map +1 -1
  224. package/testing.js +38 -22
  225. package/testing.test.d.ts +1 -0
  226. package/testing.test.d.ts.map +1 -1
  227. package/time.js +1 -1
  228. package/tree.d.ts.map +1 -1
  229. package/tree.js +22 -21
  230. package/url.js +1 -1
  231. package/webcrypto.deno.d.ts +3 -0
  232. package/webcrypto.deno.d.ts.map +1 -0
  233. package/webcrypto.deno.js +4 -0
  234. package/crypto.d.ts +0 -22
  235. package/crypto.d.ts.map +0 -1
  236. package/crypto.js +0 -185
  237. package/dist/broadcastchannel-61da4e94.cjs.map +0 -1
  238. package/dist/buffer-884e5a1d.cjs.map +0 -1
  239. package/dist/conditions-fb475c70.cjs.map +0 -1
  240. package/dist/crypto.cjs +0 -231
  241. package/dist/crypto.cjs.map +0 -1
  242. package/dist/crypto.d.ts +0 -22
  243. package/dist/crypto.d.ts.map +0 -1
  244. package/dist/dom-58958c04.cjs.map +0 -1
  245. package/dist/environment-ad5e7386.cjs.map +0 -1
  246. package/dist/error-873c9cbf.cjs.map +0 -1
  247. package/dist/eventloop-c60b5658.cjs.map +0 -1
  248. package/dist/function-3695121b.cjs.map +0 -1
  249. package/dist/indexeddb-7b2c0026.cjs.map +0 -1
  250. package/dist/logging-70fd0a99.cjs.map +0 -1
  251. package/dist/map-28a001c9.cjs.map +0 -1
  252. package/dist/number-e62129bc.cjs.map +0 -1
  253. package/dist/object-fe9c0021.cjs.map +0 -1
  254. package/dist/prng-397a85ab.cjs.map +0 -1
  255. package/dist/promise-1a9fe712.cjs.map +0 -1
  256. package/dist/set-b596ef38.cjs.map +0 -1
  257. package/dist/string-ad04f734.cjs.map +0 -1
  258. package/dist/time-e00067da.cjs.map +0 -1
  259. package/dist/tree-b67c7947.cjs.map +0 -1
package/storage.js CHANGED
@@ -8,7 +8,7 @@
8
8
  * @module storage
9
9
  */
10
10
 
11
- /* istanbul ignore next */
11
+ /* c8 ignore start */
12
12
  class VarStoragePolyfill {
13
13
  constructor () {
14
14
  this.map = new Map()
@@ -29,34 +29,35 @@ class VarStoragePolyfill {
29
29
  return this.map.get(key)
30
30
  }
31
31
  }
32
+ /* c8 ignore stop */
32
33
 
33
- /* istanbul ignore next */
34
34
  /**
35
35
  * @type {any}
36
36
  */
37
37
  let _localStorage = new VarStoragePolyfill()
38
38
  let usePolyfill = true
39
39
 
40
+ /* c8 ignore start */
40
41
  try {
41
42
  // if the same-origin rule is violated, accessing localStorage might thrown an error
42
- /* istanbul ignore next */
43
43
  if (typeof localStorage !== 'undefined') {
44
44
  _localStorage = localStorage
45
45
  usePolyfill = false
46
46
  }
47
47
  } catch (e) { }
48
+ /* c8 ignore stop */
48
49
 
49
- /* istanbul ignore next */
50
50
  /**
51
51
  * This is basically localStorage in browser, or a polyfill in nodejs
52
52
  */
53
+ /* c8 ignore next */
53
54
  export const varStorage = _localStorage
54
55
 
55
- /* istanbul ignore next */
56
56
  /**
57
57
  * A polyfill for `addEventListener('storage', event => {..})` that does nothing if the polyfill is being used.
58
58
  *
59
59
  * @param {function({ key: string, newValue: string, oldValue: string }): void} eventHandler
60
60
  * @function
61
61
  */
62
+ /* c8 ignore next */
62
63
  export const onChange = eventHandler => usePolyfill || addEventListener('storage', /** @type {any} */ (eventHandler))
package/string.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"string.d.ts","sourceRoot":"","sources":["string.js"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,0DAA+C;AAC/C,gEAAiD;AAc1C,4BAHI,MAAM,GACL,MAAM,CAEuC;AASlD,iCAJI,MAAM,aACN,MAAM,GACL,MAAM,CAEkH;AAO7H,oCAHI,MAAM,GACL,MAAM,CAE2D;AAMtE,yCAHI,MAAM,GACL,UAAU,CAUrB;AAGD,0CAAyH;AAMlH,uCAHI,MAAM,GACL,UAAU,CAE6C;AAjB5D,gCAHI,MAAM,GACL,UAAU,CAUrB;AAsBM,yCAHI,UAAU,GACT,MAAM,CAejB;AAGD,+CAAmI;AAiB5H,uCAHI,UAAU,GACT,MAAM,CAE8E;AAjCzF,gCAHI,UAAU,GACT,MAAM,CAejB;AAmCM,4BALI,MAAM,SACN,MAAM,UACN,MAAM,WACN,MAAM,UAEkG"}
1
+ {"version":3,"file":"string.d.ts","sourceRoot":"","sources":["string.js"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,0DAA+C;AAC/C,gEAAiD;AAc1C,4BAHI,MAAM,GACL,MAAM,CAEuC;AASlD,iCAJI,MAAM,aACN,MAAM,GACL,MAAM,CAEkH;AAO7H,oCAHI,MAAM,GACL,MAAM,CAE2D;AAMtE,yCAHI,MAAM,GACL,UAAU,CAUrB;AAGD,0CAAyH;AAMlH,uCAHI,MAAM,GACL,UAAU,CAE6C;AAjB5D,gCAHI,MAAM,GACL,UAAU,CAUrB;AAsBM,yCAHI,UAAU,GACT,MAAM,CAejB;AAGD,+CAAmI;AAkB5H,uCAHI,UAAU,GACT,MAAM,CAE8E;AAlCzF,gCAHI,UAAU,GACT,MAAM,CAejB;AAoCM,4BALI,MAAM,SACN,MAAM,UACN,MAAM,WACN,MAAM,UAEkG"}
package/string.js CHANGED
@@ -51,7 +51,7 @@ export const _encodeUtf8Polyfill = str => {
51
51
  return buf
52
52
  }
53
53
 
54
- /* istanbul ignore next */
54
+ /* c8 ignore next */
55
55
  export const utf8TextEncoder = /** @type {TextEncoder} */ (typeof TextEncoder !== 'undefined' ? new TextEncoder() : null)
56
56
 
57
57
  /**
@@ -64,7 +64,7 @@ export const _encodeUtf8Native = str => utf8TextEncoder.encode(str)
64
64
  * @param {string} str
65
65
  * @return {Uint8Array}
66
66
  */
67
- /* istanbul ignore next */
67
+ /* c8 ignore next */
68
68
  export const encodeUtf8 = utf8TextEncoder ? _encodeUtf8Native : _encodeUtf8Polyfill
69
69
 
70
70
  /**
@@ -86,19 +86,20 @@ export const _decodeUtf8Polyfill = buf => {
86
86
  return decodeURIComponent(escape(encodedString))
87
87
  }
88
88
 
89
- /* istanbul ignore next */
89
+ /* c8 ignore next */
90
90
  export let utf8TextDecoder = typeof TextDecoder === 'undefined' ? null : new TextDecoder('utf-8', { fatal: true, ignoreBOM: true })
91
91
 
92
- /* istanbul ignore next */
92
+ /* c8 ignore start */
93
93
  if (utf8TextDecoder && utf8TextDecoder.decode(new Uint8Array()).length === 1) {
94
94
  // Safari doesn't handle BOM correctly.
95
95
  // This fixes a bug in Safari 13.0.5 where it produces a BOM the first time it is called.
96
96
  // utf8TextDecoder.decode(new Uint8Array()).length === 1 on the first call and
97
97
  // utf8TextDecoder.decode(new Uint8Array()).length === 1 on the second call
98
98
  // Another issue is that from then on no BOM chars are recognized anymore
99
- /* istanbul ignore next */
99
+ /* c8 ignore next */
100
100
  utf8TextDecoder = null
101
101
  }
102
+ /* c8 ignore stop */
102
103
 
103
104
  /**
104
105
  * @param {Uint8Array} buf
@@ -110,7 +111,7 @@ export const _decodeUtf8Native = buf => /** @type {TextDecoder} */ (utf8TextDeco
110
111
  * @param {Uint8Array} buf
111
112
  * @return {string}
112
113
  */
113
- /* istanbul ignore next */
114
+ /* c8 ignore next */
114
115
  export const decodeUtf8 = utf8TextDecoder ? _decodeUtf8Native : _decodeUtf8Polyfill
115
116
 
116
117
  /**
@@ -0,0 +1,3 @@
1
+ export function testBasicSymbolFeatures(_tc: t.TestCase): void;
2
+ import * as t from "./testing.js";
3
+ //# sourceMappingURL=symbol.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"symbol.test.d.ts","sourceRoot":"","sources":["symbol.test.js"],"names":[],"mappings":"AAMO,6CAFI,EAAE,QAAQ,QAQpB"}
package/test.html CHANGED
@@ -1,9 +1,157 @@
1
+
1
2
  <!DOCTYPE html>
2
3
  <html>
3
4
  <head>
4
5
  <title>Testing lib0</title>
6
+ <script type="importmap">
7
+ {
8
+ "imports": {
9
+ "lib0/package.json": "./package.json",
10
+ "lib0": "./index.js",
11
+ "lib0/array.js": "./array.js",
12
+ "lib0/dist/array.cjs": "./dist/array.cjs",
13
+ "lib0/array": "./array.js",
14
+ "lib0/binary.js": "./binary.js",
15
+ "lib0/dist/binary.cjs": "./dist/binary.cjs",
16
+ "lib0/binary": "./binary.js",
17
+ "lib0/broadcastchannel.js": "./broadcastchannel.js",
18
+ "lib0/dist/broadcastchannel.cjs": "./dist/broadcastchannel.cjs",
19
+ "lib0/broadcastchannel": "./broadcastchannel.js",
20
+ "lib0/buffer.js": "./buffer.js",
21
+ "lib0/dist/buffer.cjs": "./dist/buffer.cjs",
22
+ "lib0/buffer": "./buffer.js",
23
+ "lib0/cache.js": "./cache.js",
24
+ "lib0/dist/cache.cjs": "./dist/cache.cjs",
25
+ "lib0/cache": "./cache.js",
26
+ "lib0/component.js": "./component.js",
27
+ "lib0/dist/component.cjs": "./dist/component.cjs",
28
+ "lib0/component": "./component.js",
29
+ "lib0/conditions.js": "./conditions.js",
30
+ "lib0/dist/conditions.cjs": "./dist/conditions.cjs",
31
+ "lib0/conditions": "./condititons.js",
32
+ "lib0/crypto/aes-gcm": "./crypto/aes-gcm.js",
33
+ "lib0/crypto/ecdsa": "./crypto/ecdsa.js",
34
+ "lib0/crypto/rsa-oaep": "./crypto/rsa-oaep.js",
35
+ "lib0/decoding.js": "./decoding.js",
36
+ "lib0/dist/decoding.cjs": "./dist/decoding.cjs",
37
+ "lib0/decoding": "./decoding.js",
38
+ "lib0/diff.js": "./diff.js",
39
+ "lib0/dist/diff.cjs": "./dist/diff.cjs",
40
+ "lib0/diff": "./diff.js",
41
+ "lib0/dom.js": "./dom.js",
42
+ "lib0/dist/dom.cjs": "./dist/dom.cjs",
43
+ "lib0/dom": "./dom.js",
44
+ "lib0/encoding.js": "./encoding.js",
45
+ "lib0/dist/encoding.cjs": "./dist/encoding.cjs",
46
+ "lib0/encoding": "./encoding.js",
47
+ "lib0/environment.js": "./environment.js",
48
+ "lib0/dist/environment.cjs": "./dist/environment.cjs",
49
+ "lib0/environment": "./environment.js",
50
+ "lib0/error.js": "./error.js",
51
+ "lib0/dist/error.cjs": "./dist/error.cjs",
52
+ "lib0/error": "./error.js",
53
+ "lib0/eventloop.js": "./eventloop.js",
54
+ "lib0/dist/eventloop.cjs": "./dist/eventloop.cjs",
55
+ "lib0/eventloop": "./eventloop.js",
56
+ "lib0/function.js": "./function.js",
57
+ "lib0/dist/function.cjs": "./dist/function.cjs",
58
+ "lib0/function": "./function.js",
59
+ "lib0/indexeddb.js": "./indexeddb.js",
60
+ "lib0/dist/indexeddb.cjs": "./dist/indexeddb.cjs",
61
+ "lib0/indexeddb": "./indexeddb.js",
62
+ "lib0/isomorphic.js": "./isomorphic.js",
63
+ "lib0/dist/isomorphic.cjs": "./dist/isomorphic.cjs",
64
+ "lib0/isomorphic": "./isomorphic.js",
65
+ "lib0/iterator.js": "./iterator.js",
66
+ "lib0/dist/iterator.cjs": "./dist/iterator.cjs",
67
+ "lib0/iterator": "./iterator.js",
68
+ "lib0/json.js": "./json.js",
69
+ "lib0/dist/json.cjs": "./dist/json.cjs",
70
+ "lib0/json": "./json.js",
71
+ "lib0/list.js": "./list.js",
72
+ "lib0/dist/list.cjs": "./dist/list.cjs",
73
+ "lib0/list": "./list.js",
74
+ "lib0/logging.js": "./logging.js",
75
+ "lib0/dist/logging.cjs": "./dist/logging.cjs",
76
+ "lib0/logging": "./logging.js",
77
+ "lib0/map.js": "./map.js",
78
+ "lib0/dist/map.cjs": "./dist/map.cjs",
79
+ "lib0/map": "./map.js",
80
+ "lib0/math.js": "./math.js",
81
+ "lib0/dist/math.cjs": "./dist/math.cjs",
82
+ "lib0/math": "./math.js",
83
+ "lib0/metric.js": "./metric.js",
84
+ "lib0/dist/metric.cjs": "./dist/metric.cjs",
85
+ "lib0/metric": "./metric.js",
86
+ "lib0/mutex.js": "./mutex.js",
87
+ "lib0/dist/mutex.cjs": "./dist/mutex.cjs",
88
+ "lib0/mutex": "./mutex.js",
89
+ "lib0/number.js": "./number.js",
90
+ "lib0/dist/number.cjs": "./dist/number.cjs",
91
+ "lib0/number": "./number.js",
92
+ "lib0/object.js": "./object.js",
93
+ "lib0/dist/object.cjs": "./dist/object.cjs",
94
+ "lib0/object": "./object.js",
95
+ "lib0/observable.js": "./observable.js",
96
+ "lib0/dist/observable.cjs": "./dist/observable.cjs",
97
+ "lib0/observable": "./observable.js",
98
+ "lib0/pair.js": "./pair.js",
99
+ "lib0/dist/pair.cjs": "./dist/pair.cjs",
100
+ "lib0/pair": "./pair.js",
101
+ "lib0/prng.js": "./prng.js",
102
+ "lib0/dist/prng.cjs": "./dist/prng.cjs",
103
+ "lib0/prng": "./prng.js",
104
+ "lib0/promise.js": "./promise.js",
105
+ "lib0/dist/promise.cjs": "./dist/promise.cjs",
106
+ "lib0/promise": "./promise.js",
107
+ "lib0/queue.js": "./queue.js",
108
+ "lib0/dist/queue.cjs": "./dist/queue.cjs",
109
+ "lib0/queue": "./queue.js",
110
+ "lib0/random.js": "./random.js",
111
+ "lib0/dist/random.cjs": "./dist/random.cjs",
112
+ "lib0/random": "./random.js",
113
+ "lib0/set.js": "./set.js",
114
+ "lib0/dist/set.cjs": "./dist/set.cjs",
115
+ "lib0/set": "./set.js",
116
+ "lib0/sort.js": "./sort.js",
117
+ "lib0/dist/sort.cjs": "./dist/sort.cjs",
118
+ "lib0/sort": "./sort.js",
119
+ "lib0/statistics.js": "./statistics.js",
120
+ "lib0/dist/statistics.cjs": "./dist/statistics.cjs",
121
+ "lib0/statistics": "./statistics.js",
122
+ "lib0/storage.js": "./storage.js",
123
+ "lib0/dist/storage.cjs": "./dist/storage.cjs",
124
+ "lib0/storage": "./storage.js",
125
+ "lib0/string.js": "./string.js",
126
+ "lib0/dist/string.cjs": "./dist/string.cjs",
127
+ "lib0/string": "./string.js",
128
+ "lib0/symbol.js": "./symbol.js",
129
+ "lib0/dist/symbol.cjs": "./dist/symbol.cjs",
130
+ "lib0/symbol": "./symbol.js",
131
+ "lib0/testing.js": "./testing.js",
132
+ "lib0/dist/testing.cjs": "./dist/testing.cjs",
133
+ "lib0/testing": "./testing.js",
134
+ "lib0/time.js": "./time.js",
135
+ "lib0/dist/time.cjs": "./dist/time.cjs",
136
+ "lib0/time": "./time.js",
137
+ "lib0/tree.js": "./tree.js",
138
+ "lib0/dist/tree.cjs": "./dist/tree.cjs",
139
+ "lib0/tree": "./tree.js",
140
+ "lib0/url.js": "./url.js",
141
+ "lib0/dist/url.cjs": "./dist/url.cjs",
142
+ "lib0/url": "./url.js",
143
+ "lib0/websocket.js": "./websocket.js",
144
+ "lib0/dist/websocket.cjs": "./dist/websocket.cjs",
145
+ "lib0/websocket": "./websocket.js",
146
+ "lib0/webcrypto": "./webcrypto.browser.js",
147
+ "isomorphic.js": "./node_modules/isomorphic.js/browser.mjs",
148
+ "isomorphic.js/package.json": "./node_modules/isomorphic.js/package.json"
149
+ }
150
+ }
151
+ </script>
5
152
  </head>
6
153
  <body>
7
- <script type="module" src="./dist/test.js"></script>
154
+ <script type="module" src="./test.js"></script>
8
155
  </body>
9
- </html>
156
+ </html>
157
+
package/test.js CHANGED
@@ -31,10 +31,11 @@ import * as func from './function.test.js'
31
31
  import * as storage from './storage.test.js'
32
32
  import * as list from './list.test.js'
33
33
  import * as cache from './cache.test.js'
34
+ import * as symbol from './symbol.test.js'
34
35
 
35
36
  import { isBrowser, isNode } from './environment.js'
36
37
 
37
- /* istanbul ignore if */
38
+ /* c8 ignore next */
38
39
  if (isBrowser) {
39
40
  log.createVConsole(document.body)
40
41
  }
@@ -70,9 +71,10 @@ runTests({
70
71
  func,
71
72
  storage,
72
73
  list,
73
- cache
74
+ cache,
75
+ symbol
74
76
  }).then(success => {
75
- /* istanbul ignore next */
77
+ /* c8 ignore next */
76
78
  if (isNode) {
77
79
  process.exit(success ? 0 : 1)
78
80
  }
package/testing.d.ts CHANGED
@@ -43,9 +43,10 @@ export function compareArrays<T>(as: T[], bs: T[], m?: string | undefined): bool
43
43
  export function compareStrings(a: string, b: string, m?: string | undefined): void;
44
44
  export function compareObjects<K, V>(a: any, b: any, m?: string | undefined): void;
45
45
  export function compare<T>(a: T, b: T, message?: string | null | undefined, customCompare?: ((arg0: any, arg1: T, arg2: T, arg3: string, arg4: any) => boolean) | undefined): boolean;
46
- export function assert(condition: boolean, message?: string | null | undefined): true;
46
+ export function assert<T>(property: T, message?: string | null | undefined): asserts property is NonNullable<T>;
47
47
  export function promiseRejected(f: () => Promise<any>): Promise<void>;
48
48
  export function fails(f: () => void): void;
49
+ export function failsAsync(f: () => Promise<any>): Promise<void>;
49
50
  export function runTests(tests: {
50
51
  [x: string]: {
51
52
  [x: string]: (arg0: TestCase) => void | Promise<any>;
package/testing.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"testing.d.ts","sourceRoot":"","sources":["testing.js"],"names":[],"mappings":";AA+DA,gCAAiD;AAGjD,oCAAmG;AAEnG;IACE;;;OAGG;IACH,wBAHW,MAAM,YACN,MAAM,EAahB;IAVC;;OAEG;IACH,YAFU,MAAM,CAEY;IAC5B;;OAEG;IACH,UAFU,MAAM,CAEQ;IACxB,qBAAiB;IACjB,wBAAiB;IAGnB,kBAGC;IAED;;OAEG;IAEH,mBAOC;IAED;;;;OAIG;IACH,sBAMC;CACF;AAED,oCAA6E;AAgBtE,gCANI,MAAM,QACN,MAAM,YACG,QAAQ,KAAE,IAAI,GAAC,QAAQ,GAAG,CAAC,KACpC,MAAM,iBACN,MAAM,oBAyEhB;AAcM,sCAHI,MAAM,SACN,MAAM,QAEwF;AAYlG,2BAFI,MAAM,QAE6B;AAE9C,wDAAoC;AAEpC,8EAA0C;AAoBnC,mCAHI,MAAM,YACG,IAAI,KAAE,IAAI,QAS7B;AAoBM,wCAHI,MAAM,YACG,IAAI,KAAE,QAAQ,GAAG,CAAC,iBASrC;AAoBM,qCAJI,MAAM,WACK,IAAI,GACd,MAAM,CAYjB;AAoBM,0CAJI,MAAM,WACK,QAAQ,GAAG,CAAC,GACtB,QAAQ,MAAM,CAAC,CAY1B;AASM,4EAFK,OAAO,CAYlB;AAQM,kCALI,MAAM,KACN,MAAM,gCAUhB;AASM,mFAA2F;AAsH3F,oGAFa,GAAG,0BAAK,MAAM,QAAC,GAAG,KAAE,OAAO,wBAE8E;AAQtH,kCAJI,OAAO,6CAIiH;AAK5H,yCAFe,QAAQ,GAAG,CAAC,iBASjC;AAMM,+BAHe,IAAI,QAWzB;AAKM;QAFW,MAAM;YAAS,MAAM,UAAW,QAAQ,KAAE,IAAI,GAAC,QAAQ,GAAG,CAAC;;qBA4C5E;AAQM,6BAHI,MAAM,SAMhB;AAQM,4BAHI,OAAO,QAOjB"}
1
+ {"version":3,"file":"testing.d.ts","sourceRoot":"","sources":["testing.js"],"names":[],"mappings":";AA+DA,gCAAiD;AAGjD,oCAAmG;AAEnG;IACE;;;OAGG;IACH,wBAHW,MAAM,YACN,MAAM,EAahB;IAVC;;OAEG;IACH,YAFU,MAAM,CAEY;IAC5B;;OAEG;IACH,UAFU,MAAM,CAEQ;IACxB,qBAAiB;IACjB,wBAAiB;IAGnB,kBAGC;IAED;;OAEG;IAEH,mBAOC;IAED;;;;OAIG;IACH,sBAMC;CACF;AAED,oCAA6E;AAgBtE,gCANI,MAAM,QACN,MAAM,YACG,QAAQ,KAAE,IAAI,GAAC,QAAQ,GAAG,CAAC,KACpC,MAAM,iBACN,MAAM,oBA0EhB;AAcM,sCAHI,MAAM,SACN,MAAM,QAEwF;AAYlG,2BAFI,MAAM,QAE6B;AAE9C,wDAAoC;AAEpC,8EAA0C;AAoBnC,mCAHI,MAAM,YACG,IAAI,KAAE,IAAI,QAS7B;AAoBM,wCAHI,MAAM,YACG,IAAI,KAAE,QAAQ,GAAG,CAAC,iBASrC;AAoBM,qCAJI,MAAM,WACK,IAAI,GACd,MAAM,CAYjB;AAoBM,0CAJI,MAAM,WACK,QAAQ,GAAG,CAAC,GACtB,QAAQ,MAAM,CAAC,CAY1B;AASM,4EAFK,OAAO,CAYlB;AAQM,kCALI,MAAM,KACN,MAAM,gCAUhB;AASM,mFAA2F;AAsH3F,oGAFa,GAAG,0BAAK,MAAM,QAAC,GAAG,KAAE,OAAO,wBAE8E;AAUtH,gHAA8H;AAK9H,yCAFe,QAAQ,GAAG,CAAC,iBASjC;AAMM,+BAHe,IAAI,QAWzB;AAMM,oCAHe,QAAQ,GAAG,CAAC,iBAWjC;AAKM;QAFW,MAAM;YAAS,MAAM,UAAW,QAAQ,KAAE,IAAI,GAAC,QAAQ,GAAG,CAAC;;qBA2C5E;AAQM,6BAHI,MAAM,SAMhB;AAQM,4BAHI,OAAO,QAOjB"}
package/testing.js CHANGED
@@ -63,7 +63,7 @@ export { production } from './environment.js'
63
63
 
64
64
  export const extensive = env.hasConf('extensive')
65
65
 
66
- /* istanbul ignore next */
66
+ /* c8 ignore next */
67
67
  export const envSeed = env.hasParam('--seed') ? Number.parseInt(env.getParam('--seed', '0')) : null
68
68
 
69
69
  export class TestCase {
@@ -92,11 +92,11 @@ export class TestCase {
92
92
  /**
93
93
  * @type {number}
94
94
  */
95
- /* istanbul ignore next */
95
+ /* c8 ignore next */
96
96
  get seed () {
97
- /* istanbul ignore else */
97
+ /* c8 ignore else */
98
98
  if (this._seed === null) {
99
- /* istanbul ignore next */
99
+ /* c8 ignore next */
100
100
  this._seed = envSeed === null ? random.uint32() : envSeed
101
101
  }
102
102
  return this._seed
@@ -108,7 +108,7 @@ export class TestCase {
108
108
  * @type {prng.PRNG}
109
109
  */
110
110
  get prng () {
111
- /* istanbul ignore else */
111
+ /* c8 ignore else */
112
112
  if (this._prng === null) {
113
113
  this._prng = prng.create(this.seed)
114
114
  }
@@ -117,10 +117,10 @@ export class TestCase {
117
117
  }
118
118
 
119
119
  export const repetitionTime = Number(env.getParam('--repetition-time', '50'))
120
- /* istanbul ignore next */
120
+ /* c8 ignore next */
121
121
  const testFilter = env.hasParam('--filter') ? env.getParam('--filter', '') : null
122
122
 
123
- /* istanbul ignore next */
123
+ /* c8 ignore next */
124
124
  const testFilterRegExp = testFilter !== null ? new RegExp(testFilter) : new RegExp('.*')
125
125
 
126
126
  const repeatTestRegex = /^(repeat|repeating)\s/
@@ -135,14 +135,14 @@ const repeatTestRegex = /^(repeat|repeating)\s/
135
135
  export const run = async (moduleName, name, f, i, numberOfTests) => {
136
136
  const uncamelized = string.fromCamelCase(name.slice(4), ' ')
137
137
  const filtered = !testFilterRegExp.test(`[${i + 1}/${numberOfTests}] ${moduleName}: ${uncamelized}`)
138
- /* istanbul ignore if */
138
+ /* c8 ignore next 3 */
139
139
  if (filtered) {
140
140
  return true
141
141
  }
142
142
  const tc = new TestCase(moduleName, name)
143
143
  const repeat = repeatTestRegex.test(uncamelized)
144
144
  const groupArgs = [log.GREY, `[${i + 1}/${numberOfTests}] `, log.PURPLE, `${moduleName}: `, log.BLUE, uncamelized]
145
- /* istanbul ignore next */
145
+ /* c8 ignore next 5 */
146
146
  if (testFilter === null) {
147
147
  log.groupCollapsed(...groupArgs)
148
148
  } else {
@@ -175,7 +175,7 @@ export const run = async (moduleName, name, f, i, numberOfTests) => {
175
175
  }
176
176
  } while (err === null && (lastTime - start) < repetitionTime)
177
177
  performance.mark(`${name}-end`)
178
- /* istanbul ignore if */
178
+ /* c8 ignore next 3 */
179
179
  if (err !== null && err.constructor !== SkipError) {
180
180
  log.printError(err)
181
181
  }
@@ -184,7 +184,7 @@ export const run = async (moduleName, name, f, i, numberOfTests) => {
184
184
  const duration = lastTime - start
185
185
  let success = true
186
186
  times.sort((a, b) => a - b)
187
- /* istanbul ignore next */
187
+ /* c8 ignore next 3 */
188
188
  const againMessage = env.isBrowser
189
189
  ? ` - ${window.location.host + window.location.pathname}?filter=\\[${i + 1}/${tc._seed === null ? '' : `&seed=${tc._seed}`}`
190
190
  : `\nrepeat: npm run test -- --filter "\\[${i + 1}/" ${tc._seed === null ? '' : `--seed ${tc._seed}`}`
@@ -192,13 +192,14 @@ export const run = async (moduleName, name, f, i, numberOfTests) => {
192
192
  ? ` - ${times.length} repetitions in ${time.humanizeDuration(duration)} (best: ${time.humanizeDuration(times[0])}, worst: ${time.humanizeDuration(array.last(times))}, median: ${time.humanizeDuration(statistics.median(times))}, average: ${time.humanizeDuration(statistics.average(times))})`
193
193
  : ` in ${time.humanizeDuration(duration)}`
194
194
  if (err !== null) {
195
- /* istanbul ignore else */
195
+ /* c8 ignore start */
196
196
  if (err.constructor === SkipError) {
197
197
  log.print(log.GREY, log.BOLD, 'Skipped: ', log.UNBOLD, uncamelized)
198
198
  } else {
199
199
  success = false
200
200
  log.print(log.RED, log.BOLD, 'Failure: ', log.UNBOLD, log.UNCOLOR, uncamelized, log.GREY, timeInfo, againMessage)
201
201
  }
202
+ /* c8 ignore stop */
202
203
  } else {
203
204
  log.print(log.GREEN, log.BOLD, 'Success: ', log.UNBOLD, log.UNCOLOR, uncamelized, log.GREY, timeInfo, againMessage)
204
205
  }
@@ -490,7 +491,7 @@ const _compare = (a, b, path, message, customCompare) => {
490
491
  // @ts-ignore
491
492
  a.forEach((value, i) => _compare(value, b[i], `${path}[${i}]`, message, customCompare))
492
493
  break
493
- /* istanbul ignore next */
494
+ /* c8 ignore next 4 */
494
495
  default:
495
496
  if (!customCompare(a.constructor, a, b, path, compareValues)) {
496
497
  _failMessage(message, `Values ${json.stringify(a)} and ${json.stringify(b)} don't match`, path)
@@ -509,13 +510,15 @@ const _compare = (a, b, path, message, customCompare) => {
509
510
  */
510
511
  export const compare = (a, b, message = null, customCompare = compareValues) => _compare(a, b, 'obj', message, customCompare)
511
512
 
512
- /* istanbul ignore next */
513
513
  /**
514
- * @param {boolean} condition
514
+ * @template T
515
+ * @param {T} property
515
516
  * @param {string?} [message]
517
+ * @return {asserts property is NonNullable<T>}
516
518
  * @throws {TestError}
517
519
  */
518
- export const assert = (condition, message = null) => condition || fail(`Assertion failed${message !== null ? `: ${message}` : ''}`)
520
+ /* c8 ignore next */
521
+ export const assert = (property, message = null) => { property || fail(`Assertion failed${message !== null ? `: ${message}` : ''}`) }
519
522
 
520
523
  /**
521
524
  * @param {function():Promise<any>} f
@@ -543,6 +546,20 @@ export const fails = f => {
543
546
  fail('Expected this to fail')
544
547
  }
545
548
 
549
+ /**
550
+ * @param {function():Promise<any>} f
551
+ * @throws {TestError}
552
+ */
553
+ export const failsAsync = async f => {
554
+ try {
555
+ await f()
556
+ } catch (_err) {
557
+ log.print(log.GREEN, '⇖ This Error was expected')
558
+ return
559
+ }
560
+ fail('Expected this to fail')
561
+ }
562
+
546
563
  /**
547
564
  * @param {Object<string, Object<string, function(TestCase):void|Promise<any>>>} tests
548
565
  */
@@ -551,7 +568,7 @@ export const runTests = async tests => {
551
568
  * @param {string} testname
552
569
  */
553
570
  const filterTest = testname => testname.startsWith('test') || testname.startsWith('benchmark')
554
- const numberOfTests = object.map(tests, mod => object.map(mod, (f, fname) => /* istanbul ignore next */ f && filterTest(fname) ? 1 : 0).reduce(math.add, 0)).reduce(math.add, 0)
571
+ const numberOfTests = object.map(tests, mod => object.map(mod, (f, fname) => /* c8 ignore next */ f && filterTest(fname) ? 1 : 0).reduce(math.add, 0)).reduce(math.add, 0)
555
572
  let successfulTests = 0
556
573
  let testnumber = 0
557
574
  const start = performance.now()
@@ -559,7 +576,7 @@ export const runTests = async tests => {
559
576
  const mod = tests[modName]
560
577
  for (const fname in mod) {
561
578
  const f = mod[fname]
562
- /* istanbul ignore else */
579
+ /* c8 ignore else */
563
580
  if (f && filterTest(fname)) {
564
581
  const repeatEachTest = 1
565
582
  let success = true
@@ -567,7 +584,7 @@ export const runTests = async tests => {
567
584
  success = await run(modName, fname, f, testnumber, numberOfTests)
568
585
  }
569
586
  testnumber++
570
- /* istanbul ignore else */
587
+ /* c8 ignore else */
571
588
  if (success) {
572
589
  successfulTests++
573
590
  }
@@ -577,16 +594,15 @@ export const runTests = async tests => {
577
594
  const end = performance.now()
578
595
  log.print('')
579
596
  const success = successfulTests === numberOfTests
580
- /* istanbul ignore next */
597
+ /* c8 ignore start */
581
598
  if (success) {
582
- /* istanbul ignore next */
583
599
  log.print(log.GREEN, log.BOLD, 'All tests successful!', log.GREY, log.UNBOLD, ` in ${time.humanizeDuration(end - start)}`)
584
- /* istanbul ignore next */
585
600
  log.printImgBase64(nyanCatImage, 50)
586
601
  } else {
587
602
  const failedTests = numberOfTests - successfulTests
588
603
  log.print(log.RED, log.BOLD, `> ${failedTests} test${failedTests > 1 ? 's' : ''} failed`)
589
604
  }
605
+ /* c8 ignore stop */
590
606
  return success
591
607
  }
592
608
 
package/testing.test.d.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  export function nottestingNotTested(): void;
2
+ export function testAssertTyping(): void;
2
3
  export function testComparing(_tc: t.TestCase): void;
3
4
  export function testFailing(): Promise<void>;
4
5
  export function testSkipping(): void;
@@ -1 +1 @@
1
- {"version":3,"file":"testing.test.d.ts","sourceRoot":"","sources":["testing.test.js"],"names":[],"mappings":"AAQO,4CAEN;AAKM,mCAFI,EAAE,QAAQ,QA+FpB;AAEM,6CAWN;AAEM,qCAMN;AAEM,2CAIN;AAEM,6CAON"}
1
+ {"version":3,"file":"testing.test.d.ts","sourceRoot":"","sources":["testing.test.js"],"names":[],"mappings":"AAQO,4CAEN;AAEM,yCAMN;AAKM,mCAFI,EAAE,QAAQ,QA+FpB;AAEM,6CAcN;AAEM,qCAMN;AAEM,2CAIN;AAEM,6CAON"}
package/time.js CHANGED
@@ -41,7 +41,7 @@ export const humanizeDuration = d => {
41
41
  return days + 'd' + ((hours > 0 || minutes > 30) ? ' ' + (minutes > 30 ? hours + 1 : hours) + 'h' : '')
42
42
  }
43
43
  if (hours > 0) {
44
- /* istanbul ignore next */
44
+ /* c8 ignore next */
45
45
  return hours + 'h' + ((minutes > 0 || seconds > 30) ? ' ' + (seconds > 30 ? minutes + 1 : minutes) + 'min' : '')
46
46
  }
47
47
  return minutes + 'min' + (seconds > 0 ? ' ' + seconds + 's' : '')
package/tree.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"tree.d.ts","sourceRoot":"","sources":["tree.js"],"names":[],"mappings":"AAgJA;;;;GAIG;AACH;IAEI,UAAgB;IAChB,eAAe;IAGjB;;OAEG;IACH,aAFW,CAAC,KAMX;IAED;;OAEG;IACH,aAFW,CAAC,KAMX;IAED;;OAEG;IACH,6BAFW,CAAC,OA0BX;IAED;;OAEG;IACH,2BAFW,CAAC,OA6BX;IAED;;OAEG;IACH,oBAFY,CAAC,CAQZ;IAED;;;OAGG;IACH,yBAHW,CAAC,GACA,CAAC,CAKZ;IAED;;;OAGG;IACH,uBAHW,CAAC,GACA,CAAC,CAKZ;IAED;;;;OAIG;IACH,cAJW,CAAC,qBAEQ,CAAC,KAAE,IAAI,QAoB1B;IAED;;;OAGG;IACH,SAHW,CAAC,GACA,CAAC,GAAC,IAAI,CASjB;IAED;;;OAGG;IACH,aAHW,CAAC,GACA,EAAE,CAAC,CAAC,GAAC,IAAI,CAoBpB;IAED;;OAEG;IACH,WAFW,CAAC,QAmEX;IAED,yBAmEC;IAED,iBA+BC;IAED,yBA8CC;CACF;AA5gBD;;GAEG;AACH;IACE;;;;OAIG;IACH,iBAFW,CAAC,EAQX;IALC,OAAc;IACd,eAAiB;IACjB,WAAiB;IACjB,YAAkB;IAClB,aAAmB;IAGrB,iBAA8B;IAC9B,mBAAiC;IACjC,eAA4C;IAC5C,gBAA8C;IAC9C,uBAEC;IAED,kBAEC;IAED,mBAGC;IAUD,mBAKC;IAbD,gBAEC;IAaD,oBAKC;IAhBD,iBAEC;IAgBD,4BAOC;IAED,YAeC;IAED,YAeC;IAED,6BAOC;IAED,gBAOC;CACF"}
1
+ {"version":3,"file":"tree.d.ts","sourceRoot":"","sources":["tree.js"],"names":[],"mappings":"AAiJA;;;;GAIG;AACH;IAEI,UAAgB;IAChB,eAAe;IAGjB;;OAEG;IACH,aAFW,CAAC,KAMX;IAED;;OAEG;IACH,aAFW,CAAC,KAMX;IAED;;OAEG;IACH,6BAFW,CAAC,OA0BX;IAED;;OAEG;IACH,2BAFW,CAAC,OA6BX;IAED;;OAEG;IACH,oBAFY,CAAC,CAQZ;IAED;;;OAGG;IACH,yBAHW,CAAC,GACA,CAAC,CAKZ;IAED;;;OAGG;IACH,uBAHW,CAAC,GACA,CAAC,CAKZ;IAED;;;;OAIG;IACH,cAJW,CAAC,qBAEQ,CAAC,KAAE,IAAI,QAoB1B;IAED;;;OAGG;IACH,SAHW,CAAC,GACA,CAAC,GAAC,IAAI,CASjB;IAED;;;OAGG;IACH,aAHW,CAAC,GACA,EAAE,CAAC,CAAC,GAAC,IAAI,CAoBpB;IAED;;OAEG;IACH,WAFW,CAAC,QAmEX;IAED,yBAmEC;IAED,iBA+BC;IAED,yBA8CC;CACF;AA7gBD;;GAEG;AACH;IACE;;;;OAIG;IACH,iBAFW,CAAC,EAQX;IALC,OAAc;IACd,eAAiB;IACjB,WAAiB;IACjB,YAAkB;IAClB,aAAmB;IAGrB,iBAA8B;IAC9B,mBAAiC;IACjC,eAA4C;IAC5C,gBAA8C;IAC9C,uBAEC;IAED,kBAEC;IAED,mBAIC;IAUD,mBAKC;IAbD,gBAEC;IAaD,oBAKC;IAhBD,iBAEC;IAgBD,4BAOC;IAED,YAeC;IAED,YAeC;IAED,6BAOC;IAED,gBAOC;CACF"}