zeed 0.22.7 → 0.22.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (235) hide show
  1. package/dist/browser/index.cjs +3 -1
  2. package/dist/browser/index.js +3 -1
  3. package/dist/browser/localstorage.spec.cjs +3 -1
  4. package/dist/browser/localstorage.spec.cjs.map +1 -1
  5. package/dist/browser/localstorage.spec.js +3 -1
  6. package/dist/browser/localstorage.spec.js.map +1 -1
  7. package/dist/browser/log/index.cjs +3 -1
  8. package/dist/browser/log/index.js +3 -1
  9. package/dist/browser/log/log-browser-factory.cjs +3 -1
  10. package/dist/browser/log/log-browser-factory.js +3 -1
  11. package/dist/browser/log/log-browser.cjs +3 -1
  12. package/dist/browser/log/log-browser.js +3 -1
  13. package/dist/browser/log/log-context-browser.cjs +3 -1
  14. package/dist/browser/log/log-context-browser.js +3 -1
  15. package/dist/chunk-3KKFLSLG.js +1 -0
  16. package/dist/chunk-VFIICDKU.cjs +1 -0
  17. package/dist/common/assert.cjs +3 -1
  18. package/dist/common/assert.js +3 -1
  19. package/dist/common/bin/index.cjs +3 -1
  20. package/dist/common/bin/index.js +3 -1
  21. package/dist/common/bin/index.spec.cjs +3 -1
  22. package/dist/common/bin/index.spec.cjs.map +1 -1
  23. package/dist/common/bin/index.spec.js +3 -1
  24. package/dist/common/bin/index.spec.js.map +1 -1
  25. package/dist/common/crypto.spec.cjs +3 -1
  26. package/dist/common/crypto.spec.cjs.map +1 -1
  27. package/dist/common/crypto.spec.js +3 -1
  28. package/dist/common/crypto.spec.js.map +1 -1
  29. package/dist/common/csv.cjs +3 -1
  30. package/dist/common/csv.js +3 -1
  31. package/dist/common/csv.spec.cjs +3 -1
  32. package/dist/common/csv.spec.cjs.map +1 -1
  33. package/dist/common/csv.spec.js +3 -1
  34. package/dist/common/csv.spec.js.map +1 -1
  35. package/dist/common/data/bin.spec.cjs +3 -1
  36. package/dist/common/data/bin.spec.cjs.map +1 -1
  37. package/dist/common/data/bin.spec.js +3 -1
  38. package/dist/common/data/bin.spec.js.map +1 -1
  39. package/dist/common/data/deep.spec.cjs +3 -1
  40. package/dist/common/data/deep.spec.cjs.map +1 -1
  41. package/dist/common/data/deep.spec.js +3 -1
  42. package/dist/common/data/deep.spec.js.map +1 -1
  43. package/dist/common/data/index.cjs +7 -2
  44. package/dist/common/data/index.d.cts +2 -1
  45. package/dist/common/data/index.d.ts +2 -1
  46. package/dist/common/data/index.js +6 -1
  47. package/dist/common/data/object.spec.cjs +3 -1
  48. package/dist/common/data/object.spec.cjs.map +1 -1
  49. package/dist/common/data/object.spec.js +3 -1
  50. package/dist/common/data/object.spec.js.map +1 -1
  51. package/dist/common/data/sorted.spec.cjs +3 -1
  52. package/dist/common/data/sorted.spec.cjs.map +1 -1
  53. package/dist/common/data/sorted.spec.js +3 -1
  54. package/dist/common/data/sorted.spec.js.map +1 -1
  55. package/dist/common/data/utils.spec.cjs +3 -1
  56. package/dist/common/data/utils.spec.cjs.map +1 -1
  57. package/dist/common/data/utils.spec.js +3 -1
  58. package/dist/common/data/utils.spec.js.map +1 -1
  59. package/dist/common/dispose-defer.cjs +3 -1
  60. package/dist/common/dispose-defer.js +3 -1
  61. package/dist/common/dispose-defer.spec.cjs +3 -1
  62. package/dist/common/dispose-defer.spec.cjs.map +1 -1
  63. package/dist/common/dispose-defer.spec.js +3 -1
  64. package/dist/common/dispose-defer.spec.js.map +1 -1
  65. package/dist/common/dispose-utils.cjs +3 -1
  66. package/dist/common/dispose-utils.js +3 -1
  67. package/dist/common/dispose-utils.spec.cjs +3 -1
  68. package/dist/common/dispose-utils.spec.cjs.map +1 -1
  69. package/dist/common/dispose-utils.spec.js +3 -1
  70. package/dist/common/dispose-utils.spec.js.map +1 -1
  71. package/dist/common/exec/index.cjs +3 -1
  72. package/dist/common/exec/index.js +3 -1
  73. package/dist/common/exec/pool.cjs +3 -1
  74. package/dist/common/exec/pool.js +3 -1
  75. package/dist/common/exec/pool.spec.cjs +3 -1
  76. package/dist/common/exec/pool.spec.cjs.map +1 -1
  77. package/dist/common/exec/pool.spec.js +3 -1
  78. package/dist/common/exec/pool.spec.js.map +1 -1
  79. package/dist/common/exec/progress.cjs +3 -1
  80. package/dist/common/exec/progress.js +3 -1
  81. package/dist/common/exec/progress.spec.cjs +3 -1
  82. package/dist/common/exec/progress.spec.cjs.map +1 -1
  83. package/dist/common/exec/progress.spec.js +3 -1
  84. package/dist/common/exec/progress.spec.js.map +1 -1
  85. package/dist/common/exec/queue.cjs +3 -1
  86. package/dist/common/exec/queue.js +3 -1
  87. package/dist/common/exec/queue.spec.cjs +3 -1
  88. package/dist/common/exec/queue.spec.cjs.map +1 -1
  89. package/dist/common/exec/queue.spec.js +3 -1
  90. package/dist/common/exec/queue.spec.js.map +1 -1
  91. package/dist/common/index.cjs +7 -2
  92. package/dist/common/index.d.cts +2 -2
  93. package/dist/common/index.d.ts +2 -2
  94. package/dist/common/index.js +6 -1
  95. package/dist/common/log/index.cjs +3 -1
  96. package/dist/common/log/index.js +3 -1
  97. package/dist/common/log/log-console.cjs +3 -1
  98. package/dist/common/log/log-console.js +3 -1
  99. package/dist/common/log/log-context.cjs +3 -1
  100. package/dist/common/log/log-context.js +3 -1
  101. package/dist/common/log/log-filter.cjs +3 -1
  102. package/dist/common/log/log-filter.js +3 -1
  103. package/dist/common/log/log-filter.spec.cjs +3 -1
  104. package/dist/common/log/log-filter.spec.cjs.map +1 -1
  105. package/dist/common/log/log-filter.spec.js +3 -1
  106. package/dist/common/log/log-filter.spec.js.map +1 -1
  107. package/dist/common/log/log-memory.cjs +3 -1
  108. package/dist/common/log/log-memory.js +3 -1
  109. package/dist/common/log/log-memory.spec.cjs +3 -1
  110. package/dist/common/log/log-memory.spec.cjs.map +1 -1
  111. package/dist/common/log/log-memory.spec.js +3 -1
  112. package/dist/common/log/log-memory.spec.js.map +1 -1
  113. package/dist/common/log/log.cjs +3 -1
  114. package/dist/common/log/log.js +3 -1
  115. package/dist/common/log/log.spec.cjs +3 -1
  116. package/dist/common/log/log.spec.cjs.map +1 -1
  117. package/dist/common/log/log.spec.js +3 -1
  118. package/dist/common/log/log.spec.js.map +1 -1
  119. package/dist/common/msg/channel-debug.cjs +3 -1
  120. package/dist/common/msg/channel-debug.js +3 -1
  121. package/dist/common/msg/channel-local.cjs +3 -1
  122. package/dist/common/msg/channel-local.js +3 -1
  123. package/dist/common/msg/channel-resilient.cjs +3 -1
  124. package/dist/common/msg/channel-resilient.js +3 -1
  125. package/dist/common/msg/channel-resilient.spec.cjs +3 -1
  126. package/dist/common/msg/channel-resilient.spec.cjs.map +1 -1
  127. package/dist/common/msg/channel-resilient.spec.js +3 -1
  128. package/dist/common/msg/channel-resilient.spec.js.map +1 -1
  129. package/dist/common/msg/channel.cjs +3 -1
  130. package/dist/common/msg/channel.js +3 -1
  131. package/dist/common/msg/channel.spec.cjs +3 -1
  132. package/dist/common/msg/channel.spec.cjs.map +1 -1
  133. package/dist/common/msg/channel.spec.js +3 -1
  134. package/dist/common/msg/channel.spec.js.map +1 -1
  135. package/dist/common/msg/emitter.cjs +3 -1
  136. package/dist/common/msg/emitter.js +3 -1
  137. package/dist/common/msg/emitter.spec.cjs +3 -1
  138. package/dist/common/msg/emitter.spec.cjs.map +1 -1
  139. package/dist/common/msg/emitter.spec.js +3 -1
  140. package/dist/common/msg/emitter.spec.js.map +1 -1
  141. package/dist/common/msg/encoder.spec.cjs +3 -1
  142. package/dist/common/msg/encoder.spec.cjs.map +1 -1
  143. package/dist/common/msg/encoder.spec.js +3 -1
  144. package/dist/common/msg/encoder.spec.js.map +1 -1
  145. package/dist/common/msg/index.cjs +3 -1
  146. package/dist/common/msg/index.js +3 -1
  147. package/dist/common/msg/messages.cjs +3 -1
  148. package/dist/common/msg/messages.js +3 -1
  149. package/dist/common/msg/messages.spec.cjs +3 -1
  150. package/dist/common/msg/messages.spec.cjs.map +1 -1
  151. package/dist/common/msg/messages.spec.js +3 -1
  152. package/dist/common/msg/messages.spec.js.map +1 -1
  153. package/dist/common/msg/pubsub.cjs +3 -1
  154. package/dist/common/msg/pubsub.js +3 -1
  155. package/dist/common/msg/pubsub.spec.cjs +3 -1
  156. package/dist/common/msg/pubsub.spec.cjs.map +1 -1
  157. package/dist/common/msg/pubsub.spec.js +3 -1
  158. package/dist/common/msg/pubsub.spec.js.map +1 -1
  159. package/dist/common/msg/rpc.spec.cjs +5 -5
  160. package/dist/common/msg/rpc.spec.js +5 -5
  161. package/dist/common/network.cjs +3 -1
  162. package/dist/common/network.js +3 -1
  163. package/dist/common/network.spec.cjs +3 -1
  164. package/dist/common/network.spec.cjs.map +1 -1
  165. package/dist/common/network.spec.js +3 -1
  166. package/dist/common/network.spec.js.map +1 -1
  167. package/dist/common/time.spec.cjs +3 -1
  168. package/dist/common/time.spec.cjs.map +1 -1
  169. package/dist/common/time.spec.js +3 -1
  170. package/dist/common/time.spec.js.map +1 -1
  171. package/dist/common/uuid.cjs +3 -1
  172. package/dist/common/uuid.js +3 -1
  173. package/dist/common/uuid.spec.cjs +3 -1
  174. package/dist/common/uuid.spec.cjs.map +1 -1
  175. package/dist/common/uuid.spec.js +3 -1
  176. package/dist/common/uuid.spec.js.map +1 -1
  177. package/dist/index.all.cjs +7 -2
  178. package/dist/index.all.d.cts +2 -2
  179. package/dist/index.all.d.ts +2 -2
  180. package/dist/index.all.js +6 -1
  181. package/dist/index.browser.cjs +7 -2
  182. package/dist/index.browser.d.cts +2 -2
  183. package/dist/index.browser.d.ts +2 -2
  184. package/dist/index.browser.js +6 -1
  185. package/dist/index.node.cjs +7 -2
  186. package/dist/index.node.d.cts +2 -2
  187. package/dist/index.node.d.ts +2 -2
  188. package/dist/index.node.js +6 -1
  189. package/dist/node/files-async.cjs +3 -1
  190. package/dist/node/files-async.js +3 -1
  191. package/dist/node/files-async.spec.cjs +3 -1
  192. package/dist/node/files-async.spec.cjs.map +1 -1
  193. package/dist/node/files-async.spec.js +3 -1
  194. package/dist/node/files-async.spec.js.map +1 -1
  195. package/dist/node/files.cjs +3 -1
  196. package/dist/node/files.js +3 -1
  197. package/dist/node/files.spec.cjs +3 -1
  198. package/dist/node/files.spec.cjs.map +1 -1
  199. package/dist/node/files.spec.js +3 -1
  200. package/dist/node/files.spec.js.map +1 -1
  201. package/dist/node/fs.cjs +3 -1
  202. package/dist/node/fs.js +3 -1
  203. package/dist/node/fs.spec.cjs +3 -1
  204. package/dist/node/fs.spec.cjs.map +1 -1
  205. package/dist/node/fs.spec.js +3 -1
  206. package/dist/node/fs.spec.js.map +1 -1
  207. package/dist/node/index.cjs +3 -1
  208. package/dist/node/index.js +3 -1
  209. package/dist/node/log/index.cjs +3 -1
  210. package/dist/node/log/index.js +3 -1
  211. package/dist/node/log/log-context-node.cjs +3 -1
  212. package/dist/node/log/log-context-node.js +3 -1
  213. package/dist/node/log/log-file.cjs +3 -1
  214. package/dist/node/log/log-file.js +3 -1
  215. package/dist/node/log/log-file.spec.cjs +3 -1
  216. package/dist/node/log/log-file.spec.cjs.map +1 -1
  217. package/dist/node/log/log-file.spec.js +3 -1
  218. package/dist/node/log/log-file.spec.js.map +1 -1
  219. package/dist/node/log/log-node.cjs +3 -1
  220. package/dist/node/log/log-node.js +3 -1
  221. package/dist/node/log/log-node.spec.cjs +3 -1
  222. package/dist/node/log/log-node.spec.cjs.map +1 -1
  223. package/dist/node/log/log-node.spec.js +3 -1
  224. package/dist/node/log/log-node.spec.js.map +1 -1
  225. package/dist/node/log/log-util.cjs +3 -1
  226. package/dist/node/log/log-util.js +3 -1
  227. package/dist/node/log/log-util.spec.cjs +3 -1
  228. package/dist/node/log/log-util.spec.cjs.map +1 -1
  229. package/dist/node/log/log-util.spec.js +3 -1
  230. package/dist/node/log/log-util.spec.js.map +1 -1
  231. package/package.json +1 -1
  232. package/dist/chunk-BPNZP36A.cjs +0 -1
  233. package/dist/chunk-N76BJLOM.js +0 -1
  234. /package/dist/{chunk-N76BJLOM.js.map → chunk-3KKFLSLG.js.map} +0 -0
  235. /package/dist/{chunk-BPNZP36A.cjs.map → chunk-VFIICDKU.cjs.map} +0 -0
@@ -18,12 +18,14 @@ require('../chunk-J42M6DF3.cjs');
18
18
  require('../chunk-N46W55MH.cjs');
19
19
  require('../chunk-L646RZQB.cjs');
20
20
  require('../chunk-ZYPCVNSG.cjs');
21
- require('../chunk-BPNZP36A.cjs');
21
+ require('../chunk-VFIICDKU.cjs');
22
22
  require('../chunk-A4VFMLAN.cjs');
23
23
  require('../chunk-RZKLDILW.cjs');
24
24
  require('../chunk-DRTH56G4.cjs');
25
25
  require('../chunk-XWE2OTGL.cjs');
26
26
  require('../chunk-KTC5RW57.cjs');
27
+ require('../chunk-XR7AMYN7.cjs');
28
+ require('../chunk-B4JXPT6I.cjs');
27
29
  require('../chunk-ZTXHUURC.cjs');
28
30
  require('../chunk-NEUX2E3A.cjs');
29
31
  require('../chunk-RKOTNV3K.cjs');
@@ -18,12 +18,14 @@ import "../chunk-YX6CL4KH.js";
18
18
  import "../chunk-I45WP5PM.js";
19
19
  import "../chunk-ZFRTRIT4.js";
20
20
  import "../chunk-CFICINSP.js";
21
- import "../chunk-N76BJLOM.js";
21
+ import "../chunk-3KKFLSLG.js";
22
22
  import "../chunk-5Y3HYG6B.js";
23
23
  import "../chunk-FPJHSFML.js";
24
24
  import "../chunk-XSB2WAW2.js";
25
25
  import "../chunk-NYCGHEIN.js";
26
26
  import "../chunk-AS5LR4AI.js";
27
+ import "../chunk-2H4XRKWS.js";
28
+ import "../chunk-NSJKG6AJ.js";
27
29
  import "../chunk-XHROZN2O.js";
28
30
  import "../chunk-3SMFSMCY.js";
29
31
  import "../chunk-X2DIUKLP.js";
@@ -45,12 +45,14 @@ require('../chunk-J42M6DF3.cjs');
45
45
  require('../chunk-N46W55MH.cjs');
46
46
  require('../chunk-L646RZQB.cjs');
47
47
  require('../chunk-ZYPCVNSG.cjs');
48
- require('../chunk-BPNZP36A.cjs');
48
+ require('../chunk-VFIICDKU.cjs');
49
49
  require('../chunk-A4VFMLAN.cjs');
50
50
  require('../chunk-RZKLDILW.cjs');
51
51
  require('../chunk-DRTH56G4.cjs');
52
52
  require('../chunk-XWE2OTGL.cjs');
53
53
  require('../chunk-KTC5RW57.cjs');
54
+ require('../chunk-XR7AMYN7.cjs');
55
+ require('../chunk-B4JXPT6I.cjs');
54
56
  require('../chunk-ZTXHUURC.cjs');
55
57
  require('../chunk-NEUX2E3A.cjs');
56
58
  require('../chunk-RKOTNV3K.cjs');
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/browser/localstorage.spec.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,SAAS,gBAAgB,MAAM;AAC7B,KAAG,uCAAuC,MAAM;AAC9C;AACE,YAAM,KAAK,IAAI,aAAa,EAAE,MAAM,OAAO,CAAC;AAC5C,SAAG,MAAM;AACT,aAAO,GAAG,QAAQ,CAAC,EAAE,QAAQ,CAAC,CAAC;AAC/B,SAAG,QAAQ,KAAK,CAAC;AACjB,SAAG,QAAQ,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC;AACxC,SAAG,QAAQ,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC;AACzB,SAAG,QAAQ,KAAK,QAAQ;AACxB,aAAO,YAAY,GAAG,QAAQ,CAAC,CAAC,EAAE,QAAQ,CAAC,KAAK,KAAK,GAAG,CAAC;AACzD,aAAO,GAAG,QAAQ,GAAG,CAAC,EAAE,QAAQ,CAAC;AACjC,aAAO,GAAG,QAAQ,GAAG,CAAC,EAAE,QAAQ,EAAE,SAAS,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC;AACxD,aAAO,GAAG,QAAQ,GAAG,CAAC,EAAE,QAAQ,QAAQ;AAAA,IAC1C;AACA;AACE,YAAM,KAAK,IAAI,aAAa,EAAE,MAAM,OAAO,CAAC;AAC5C,aAAO,YAAY,GAAG,QAAQ,CAAC,CAAC,EAAE,QAAQ,CAAC,KAAK,KAAK,GAAG,CAAC;AACzD,aAAO,GAAG,QAAQ,GAAG,CAAC,EAAE,QAAQ,CAAC;AACjC,aAAO,GAAG,QAAQ,GAAG,CAAC,EAAE,QAAQ,EAAE,SAAS,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC;AACxD,aAAO,GAAG,QAAQ,GAAG,CAAC,EAAE,QAAQ,QAAQ;AACxC,SAAG,WAAW,GAAG;AACjB,aAAO,YAAY,GAAG,QAAQ,CAAC,CAAC,EAAE,QAAQ,CAAC,KAAK,GAAG,CAAC;AACpD,SAAG,MAAM;AACT,aAAO,GAAG,QAAQ,CAAC,EAAE,QAAQ,CAAC,CAAC;AAAA,IACjC;AAAA,EACF,CAAC;AACH,CAAC","sourcesContent":["// import { isBrowser } from \"../common/platform\"\nimport { arraySorted } from '../common'\nimport { LocalStorage } from './localstorage'\n\ndescribe('localStorage', () => {\n it('should store data and read it again', () => {\n {\n const db = new LocalStorage({ name: 'test' })\n db.clear()\n expect(db.allKeys()).toEqual([])\n db.setItem('a', 1)\n db.setItem('b', { complex: [1, 2, '3'] })\n db.setItem('c', [0, 9, 8])\n db.setItem('c', 'Again!')\n expect(arraySorted(db.allKeys())).toEqual(['a', 'b', 'c'])\n expect(db.getItem('a')).toEqual(1)\n expect(db.getItem('b')).toEqual({ complex: [1, 2, '3'] })\n expect(db.getItem('c')).toEqual('Again!')\n }\n {\n const db = new LocalStorage({ name: 'test' })\n expect(arraySorted(db.allKeys())).toEqual(['a', 'b', 'c'])\n expect(db.getItem('a')).toEqual(1)\n expect(db.getItem('b')).toEqual({ complex: [1, 2, '3'] })\n expect(db.getItem('c')).toEqual('Again!')\n db.removeItem('b')\n expect(arraySorted(db.allKeys())).toEqual(['a', 'c'])\n db.clear()\n expect(db.allKeys()).toEqual([])\n }\n })\n})\n"]}
1
+ {"version":3,"sources":["../../src/browser/localstorage.spec.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,SAAS,gBAAgB,MAAM;AAC7B,KAAG,uCAAuC,MAAM;AAC9C;AACE,YAAM,KAAK,IAAI,aAAa,EAAE,MAAM,OAAO,CAAC;AAC5C,SAAG,MAAM;AACT,aAAO,GAAG,QAAQ,CAAC,EAAE,QAAQ,CAAC,CAAC;AAC/B,SAAG,QAAQ,KAAK,CAAC;AACjB,SAAG,QAAQ,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC;AACxC,SAAG,QAAQ,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC;AACzB,SAAG,QAAQ,KAAK,QAAQ;AACxB,aAAO,YAAY,GAAG,QAAQ,CAAC,CAAC,EAAE,QAAQ,CAAC,KAAK,KAAK,GAAG,CAAC;AACzD,aAAO,GAAG,QAAQ,GAAG,CAAC,EAAE,QAAQ,CAAC;AACjC,aAAO,GAAG,QAAQ,GAAG,CAAC,EAAE,QAAQ,EAAE,SAAS,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC;AACxD,aAAO,GAAG,QAAQ,GAAG,CAAC,EAAE,QAAQ,QAAQ;AAAA,IAC1C;AACA;AACE,YAAM,KAAK,IAAI,aAAa,EAAE,MAAM,OAAO,CAAC;AAC5C,aAAO,YAAY,GAAG,QAAQ,CAAC,CAAC,EAAE,QAAQ,CAAC,KAAK,KAAK,GAAG,CAAC;AACzD,aAAO,GAAG,QAAQ,GAAG,CAAC,EAAE,QAAQ,CAAC;AACjC,aAAO,GAAG,QAAQ,GAAG,CAAC,EAAE,QAAQ,EAAE,SAAS,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC;AACxD,aAAO,GAAG,QAAQ,GAAG,CAAC,EAAE,QAAQ,QAAQ;AACxC,SAAG,WAAW,GAAG;AACjB,aAAO,YAAY,GAAG,QAAQ,CAAC,CAAC,EAAE,QAAQ,CAAC,KAAK,GAAG,CAAC;AACpD,SAAG,MAAM;AACT,aAAO,GAAG,QAAQ,CAAC,EAAE,QAAQ,CAAC,CAAC;AAAA,IACjC;AAAA,EACF,CAAC;AACH,CAAC","sourcesContent":["// import { isBrowser } from \"../common/platform\"\nimport { arraySorted } from '../common'\nimport { LocalStorage } from './localstorage'\n\ndescribe('localStorage', () => {\n it('should store data and read it again', () => {\n {\n const db = new LocalStorage({ name: 'test' })\n db.clear()\n expect(db.allKeys()).toEqual([])\n db.setItem('a', 1)\n db.setItem('b', { complex: [1, 2, '3'] })\n db.setItem('c', [0, 9, 8])\n db.setItem('c', 'Again!')\n expect(arraySorted(db.allKeys())).toEqual(['a', 'b', 'c'])\n expect(db.getItem('a')).toEqual(1)\n expect(db.getItem('b')).toEqual({ complex: [1, 2, '3'] })\n expect(db.getItem('c')).toEqual('Again!')\n }\n {\n const db = new LocalStorage({ name: 'test' })\n expect(arraySorted(db.allKeys())).toEqual(['a', 'b', 'c'])\n expect(db.getItem('a')).toEqual(1)\n expect(db.getItem('b')).toEqual({ complex: [1, 2, '3'] })\n expect(db.getItem('c')).toEqual('Again!')\n db.removeItem('b')\n expect(arraySorted(db.allKeys())).toEqual(['a', 'c'])\n db.clear()\n expect(db.allKeys()).toEqual([])\n }\n })\n})\n"]}
@@ -45,12 +45,14 @@ import "../chunk-YX6CL4KH.js";
45
45
  import "../chunk-I45WP5PM.js";
46
46
  import "../chunk-ZFRTRIT4.js";
47
47
  import "../chunk-CFICINSP.js";
48
- import "../chunk-N76BJLOM.js";
48
+ import "../chunk-3KKFLSLG.js";
49
49
  import "../chunk-5Y3HYG6B.js";
50
50
  import "../chunk-FPJHSFML.js";
51
51
  import "../chunk-XSB2WAW2.js";
52
52
  import "../chunk-NYCGHEIN.js";
53
53
  import "../chunk-AS5LR4AI.js";
54
+ import "../chunk-2H4XRKWS.js";
55
+ import "../chunk-NSJKG6AJ.js";
54
56
  import "../chunk-XHROZN2O.js";
55
57
  import "../chunk-3SMFSMCY.js";
56
58
  import "../chunk-X2DIUKLP.js";
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/browser/localstorage.spec.ts"],"sourcesContent":["// import { isBrowser } from \"../common/platform\"\nimport { arraySorted } from '../common'\nimport { LocalStorage } from './localstorage'\n\ndescribe('localStorage', () => {\n it('should store data and read it again', () => {\n {\n const db = new LocalStorage({ name: 'test' })\n db.clear()\n expect(db.allKeys()).toEqual([])\n db.setItem('a', 1)\n db.setItem('b', { complex: [1, 2, '3'] })\n db.setItem('c', [0, 9, 8])\n db.setItem('c', 'Again!')\n expect(arraySorted(db.allKeys())).toEqual(['a', 'b', 'c'])\n expect(db.getItem('a')).toEqual(1)\n expect(db.getItem('b')).toEqual({ complex: [1, 2, '3'] })\n expect(db.getItem('c')).toEqual('Again!')\n }\n {\n const db = new LocalStorage({ name: 'test' })\n expect(arraySorted(db.allKeys())).toEqual(['a', 'b', 'c'])\n expect(db.getItem('a')).toEqual(1)\n expect(db.getItem('b')).toEqual({ complex: [1, 2, '3'] })\n expect(db.getItem('c')).toEqual('Again!')\n db.removeItem('b')\n expect(arraySorted(db.allKeys())).toEqual(['a', 'c'])\n db.clear()\n expect(db.allKeys()).toEqual([])\n }\n })\n})\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,SAAS,gBAAgB,MAAM;AAC7B,KAAG,uCAAuC,MAAM;AAC9C;AACE,YAAM,KAAK,IAAI,aAAa,EAAE,MAAM,OAAO,CAAC;AAC5C,SAAG,MAAM;AACT,aAAO,GAAG,QAAQ,CAAC,EAAE,QAAQ,CAAC,CAAC;AAC/B,SAAG,QAAQ,KAAK,CAAC;AACjB,SAAG,QAAQ,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC;AACxC,SAAG,QAAQ,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC;AACzB,SAAG,QAAQ,KAAK,QAAQ;AACxB,aAAO,YAAY,GAAG,QAAQ,CAAC,CAAC,EAAE,QAAQ,CAAC,KAAK,KAAK,GAAG,CAAC;AACzD,aAAO,GAAG,QAAQ,GAAG,CAAC,EAAE,QAAQ,CAAC;AACjC,aAAO,GAAG,QAAQ,GAAG,CAAC,EAAE,QAAQ,EAAE,SAAS,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC;AACxD,aAAO,GAAG,QAAQ,GAAG,CAAC,EAAE,QAAQ,QAAQ;AAAA,IAC1C;AACA;AACE,YAAM,KAAK,IAAI,aAAa,EAAE,MAAM,OAAO,CAAC;AAC5C,aAAO,YAAY,GAAG,QAAQ,CAAC,CAAC,EAAE,QAAQ,CAAC,KAAK,KAAK,GAAG,CAAC;AACzD,aAAO,GAAG,QAAQ,GAAG,CAAC,EAAE,QAAQ,CAAC;AACjC,aAAO,GAAG,QAAQ,GAAG,CAAC,EAAE,QAAQ,EAAE,SAAS,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC;AACxD,aAAO,GAAG,QAAQ,GAAG,CAAC,EAAE,QAAQ,QAAQ;AACxC,SAAG,WAAW,GAAG;AACjB,aAAO,YAAY,GAAG,QAAQ,CAAC,CAAC,EAAE,QAAQ,CAAC,KAAK,GAAG,CAAC;AACpD,SAAG,MAAM;AACT,aAAO,GAAG,QAAQ,CAAC,EAAE,QAAQ,CAAC,CAAC;AAAA,IACjC;AAAA,EACF,CAAC;AACH,CAAC;","names":[]}
1
+ {"version":3,"sources":["../../src/browser/localstorage.spec.ts"],"sourcesContent":["// import { isBrowser } from \"../common/platform\"\nimport { arraySorted } from '../common'\nimport { LocalStorage } from './localstorage'\n\ndescribe('localStorage', () => {\n it('should store data and read it again', () => {\n {\n const db = new LocalStorage({ name: 'test' })\n db.clear()\n expect(db.allKeys()).toEqual([])\n db.setItem('a', 1)\n db.setItem('b', { complex: [1, 2, '3'] })\n db.setItem('c', [0, 9, 8])\n db.setItem('c', 'Again!')\n expect(arraySorted(db.allKeys())).toEqual(['a', 'b', 'c'])\n expect(db.getItem('a')).toEqual(1)\n expect(db.getItem('b')).toEqual({ complex: [1, 2, '3'] })\n expect(db.getItem('c')).toEqual('Again!')\n }\n {\n const db = new LocalStorage({ name: 'test' })\n expect(arraySorted(db.allKeys())).toEqual(['a', 'b', 'c'])\n expect(db.getItem('a')).toEqual(1)\n expect(db.getItem('b')).toEqual({ complex: [1, 2, '3'] })\n expect(db.getItem('c')).toEqual('Again!')\n db.removeItem('b')\n expect(arraySorted(db.allKeys())).toEqual(['a', 'c'])\n db.clear()\n expect(db.allKeys()).toEqual([])\n }\n })\n})\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,SAAS,gBAAgB,MAAM;AAC7B,KAAG,uCAAuC,MAAM;AAC9C;AACE,YAAM,KAAK,IAAI,aAAa,EAAE,MAAM,OAAO,CAAC;AAC5C,SAAG,MAAM;AACT,aAAO,GAAG,QAAQ,CAAC,EAAE,QAAQ,CAAC,CAAC;AAC/B,SAAG,QAAQ,KAAK,CAAC;AACjB,SAAG,QAAQ,KAAK,EAAE,SAAS,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC;AACxC,SAAG,QAAQ,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC;AACzB,SAAG,QAAQ,KAAK,QAAQ;AACxB,aAAO,YAAY,GAAG,QAAQ,CAAC,CAAC,EAAE,QAAQ,CAAC,KAAK,KAAK,GAAG,CAAC;AACzD,aAAO,GAAG,QAAQ,GAAG,CAAC,EAAE,QAAQ,CAAC;AACjC,aAAO,GAAG,QAAQ,GAAG,CAAC,EAAE,QAAQ,EAAE,SAAS,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC;AACxD,aAAO,GAAG,QAAQ,GAAG,CAAC,EAAE,QAAQ,QAAQ;AAAA,IAC1C;AACA;AACE,YAAM,KAAK,IAAI,aAAa,EAAE,MAAM,OAAO,CAAC;AAC5C,aAAO,YAAY,GAAG,QAAQ,CAAC,CAAC,EAAE,QAAQ,CAAC,KAAK,KAAK,GAAG,CAAC;AACzD,aAAO,GAAG,QAAQ,GAAG,CAAC,EAAE,QAAQ,CAAC;AACjC,aAAO,GAAG,QAAQ,GAAG,CAAC,EAAE,QAAQ,EAAE,SAAS,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC;AACxD,aAAO,GAAG,QAAQ,GAAG,CAAC,EAAE,QAAQ,QAAQ;AACxC,SAAG,WAAW,GAAG;AACjB,aAAO,YAAY,GAAG,QAAQ,CAAC,CAAC,EAAE,QAAQ,CAAC,KAAK,GAAG,CAAC;AACpD,SAAG,MAAM;AACT,aAAO,GAAG,QAAQ,CAAC,EAAE,QAAQ,CAAC,CAAC;AAAA,IACjC;AAAA,EACF,CAAC;AACH,CAAC;","names":[]}
@@ -14,12 +14,14 @@ require('../../chunk-J42M6DF3.cjs');
14
14
  require('../../chunk-N46W55MH.cjs');
15
15
  require('../../chunk-L646RZQB.cjs');
16
16
  require('../../chunk-ZYPCVNSG.cjs');
17
- require('../../chunk-BPNZP36A.cjs');
17
+ require('../../chunk-VFIICDKU.cjs');
18
18
  require('../../chunk-A4VFMLAN.cjs');
19
19
  require('../../chunk-RZKLDILW.cjs');
20
20
  require('../../chunk-DRTH56G4.cjs');
21
21
  require('../../chunk-XWE2OTGL.cjs');
22
22
  require('../../chunk-KTC5RW57.cjs');
23
+ require('../../chunk-XR7AMYN7.cjs');
24
+ require('../../chunk-B4JXPT6I.cjs');
23
25
  require('../../chunk-ZTXHUURC.cjs');
24
26
  require('../../chunk-NEUX2E3A.cjs');
25
27
  require('../../chunk-RKOTNV3K.cjs');
@@ -14,12 +14,14 @@ import "../../chunk-YX6CL4KH.js";
14
14
  import "../../chunk-I45WP5PM.js";
15
15
  import "../../chunk-ZFRTRIT4.js";
16
16
  import "../../chunk-CFICINSP.js";
17
- import "../../chunk-N76BJLOM.js";
17
+ import "../../chunk-3KKFLSLG.js";
18
18
  import "../../chunk-5Y3HYG6B.js";
19
19
  import "../../chunk-FPJHSFML.js";
20
20
  import "../../chunk-XSB2WAW2.js";
21
21
  import "../../chunk-NYCGHEIN.js";
22
22
  import "../../chunk-AS5LR4AI.js";
23
+ import "../../chunk-2H4XRKWS.js";
24
+ import "../../chunk-NSJKG6AJ.js";
23
25
  import "../../chunk-XHROZN2O.js";
24
26
  import "../../chunk-3SMFSMCY.js";
25
27
  import "../../chunk-X2DIUKLP.js";
@@ -7,12 +7,14 @@ require('../../chunk-WMBXBB3K.cjs');
7
7
  require('../../chunk-J42M6DF3.cjs');
8
8
  require('../../chunk-N46W55MH.cjs');
9
9
  require('../../chunk-ZYPCVNSG.cjs');
10
- require('../../chunk-BPNZP36A.cjs');
10
+ require('../../chunk-VFIICDKU.cjs');
11
11
  require('../../chunk-A4VFMLAN.cjs');
12
12
  require('../../chunk-RZKLDILW.cjs');
13
13
  require('../../chunk-DRTH56G4.cjs');
14
14
  require('../../chunk-XWE2OTGL.cjs');
15
15
  require('../../chunk-KTC5RW57.cjs');
16
+ require('../../chunk-XR7AMYN7.cjs');
17
+ require('../../chunk-B4JXPT6I.cjs');
16
18
  require('../../chunk-ZTXHUURC.cjs');
17
19
  require('../../chunk-NEUX2E3A.cjs');
18
20
  require('../../chunk-RKOTNV3K.cjs');
@@ -7,12 +7,14 @@ import "../../chunk-UJR57SSR.js";
7
7
  import "../../chunk-YX6CL4KH.js";
8
8
  import "../../chunk-I45WP5PM.js";
9
9
  import "../../chunk-CFICINSP.js";
10
- import "../../chunk-N76BJLOM.js";
10
+ import "../../chunk-3KKFLSLG.js";
11
11
  import "../../chunk-5Y3HYG6B.js";
12
12
  import "../../chunk-FPJHSFML.js";
13
13
  import "../../chunk-XSB2WAW2.js";
14
14
  import "../../chunk-NYCGHEIN.js";
15
15
  import "../../chunk-AS5LR4AI.js";
16
+ import "../../chunk-2H4XRKWS.js";
17
+ import "../../chunk-NSJKG6AJ.js";
16
18
  import "../../chunk-XHROZN2O.js";
17
19
  import "../../chunk-3SMFSMCY.js";
18
20
  import "../../chunk-X2DIUKLP.js";
@@ -8,12 +8,14 @@ require('../../chunk-J42M6DF3.cjs');
8
8
  require('../../chunk-N46W55MH.cjs');
9
9
  require('../../chunk-L646RZQB.cjs');
10
10
  require('../../chunk-ZYPCVNSG.cjs');
11
- require('../../chunk-BPNZP36A.cjs');
11
+ require('../../chunk-VFIICDKU.cjs');
12
12
  require('../../chunk-A4VFMLAN.cjs');
13
13
  require('../../chunk-RZKLDILW.cjs');
14
14
  require('../../chunk-DRTH56G4.cjs');
15
15
  require('../../chunk-XWE2OTGL.cjs');
16
16
  require('../../chunk-KTC5RW57.cjs');
17
+ require('../../chunk-XR7AMYN7.cjs');
18
+ require('../../chunk-B4JXPT6I.cjs');
17
19
  require('../../chunk-ZTXHUURC.cjs');
18
20
  require('../../chunk-NEUX2E3A.cjs');
19
21
  require('../../chunk-RKOTNV3K.cjs');
@@ -8,12 +8,14 @@ import "../../chunk-YX6CL4KH.js";
8
8
  import "../../chunk-I45WP5PM.js";
9
9
  import "../../chunk-ZFRTRIT4.js";
10
10
  import "../../chunk-CFICINSP.js";
11
- import "../../chunk-N76BJLOM.js";
11
+ import "../../chunk-3KKFLSLG.js";
12
12
  import "../../chunk-5Y3HYG6B.js";
13
13
  import "../../chunk-FPJHSFML.js";
14
14
  import "../../chunk-XSB2WAW2.js";
15
15
  import "../../chunk-NYCGHEIN.js";
16
16
  import "../../chunk-AS5LR4AI.js";
17
+ import "../../chunk-2H4XRKWS.js";
18
+ import "../../chunk-NSJKG6AJ.js";
17
19
  import "../../chunk-XHROZN2O.js";
18
20
  import "../../chunk-3SMFSMCY.js";
19
21
  import "../../chunk-X2DIUKLP.js";
@@ -16,12 +16,14 @@ require('../../chunk-J42M6DF3.cjs');
16
16
  require('../../chunk-N46W55MH.cjs');
17
17
  require('../../chunk-L646RZQB.cjs');
18
18
  require('../../chunk-ZYPCVNSG.cjs');
19
- require('../../chunk-BPNZP36A.cjs');
19
+ require('../../chunk-VFIICDKU.cjs');
20
20
  require('../../chunk-A4VFMLAN.cjs');
21
21
  require('../../chunk-RZKLDILW.cjs');
22
22
  require('../../chunk-DRTH56G4.cjs');
23
23
  require('../../chunk-XWE2OTGL.cjs');
24
24
  require('../../chunk-KTC5RW57.cjs');
25
+ require('../../chunk-XR7AMYN7.cjs');
26
+ require('../../chunk-B4JXPT6I.cjs');
25
27
  require('../../chunk-ZTXHUURC.cjs');
26
28
  require('../../chunk-NEUX2E3A.cjs');
27
29
  require('../../chunk-RKOTNV3K.cjs');
@@ -16,12 +16,14 @@ import "../../chunk-YX6CL4KH.js";
16
16
  import "../../chunk-I45WP5PM.js";
17
17
  import "../../chunk-ZFRTRIT4.js";
18
18
  import "../../chunk-CFICINSP.js";
19
- import "../../chunk-N76BJLOM.js";
19
+ import "../../chunk-3KKFLSLG.js";
20
20
  import "../../chunk-5Y3HYG6B.js";
21
21
  import "../../chunk-FPJHSFML.js";
22
22
  import "../../chunk-XSB2WAW2.js";
23
23
  import "../../chunk-NYCGHEIN.js";
24
24
  import "../../chunk-AS5LR4AI.js";
25
+ import "../../chunk-2H4XRKWS.js";
26
+ import "../../chunk-NSJKG6AJ.js";
25
27
  import "../../chunk-XHROZN2O.js";
26
28
  import "../../chunk-3SMFSMCY.js";
27
29
  import "../../chunk-X2DIUKLP.js";
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=chunk-3KKFLSLG.js.map
@@ -0,0 +1 @@
1
+ "use strict";//# sourceMappingURL=chunk-VFIICDKU.cjs.map
@@ -15,12 +15,14 @@ require('../chunk-J42M6DF3.cjs');
15
15
  require('../chunk-N46W55MH.cjs');
16
16
  require('../chunk-L646RZQB.cjs');
17
17
  require('../chunk-ZYPCVNSG.cjs');
18
- require('../chunk-BPNZP36A.cjs');
18
+ require('../chunk-VFIICDKU.cjs');
19
19
  require('../chunk-A4VFMLAN.cjs');
20
20
  require('../chunk-RZKLDILW.cjs');
21
21
  require('../chunk-DRTH56G4.cjs');
22
22
  require('../chunk-XWE2OTGL.cjs');
23
23
  require('../chunk-KTC5RW57.cjs');
24
+ require('../chunk-XR7AMYN7.cjs');
25
+ require('../chunk-B4JXPT6I.cjs');
24
26
  require('../chunk-ZTXHUURC.cjs');
25
27
  require('../chunk-NEUX2E3A.cjs');
26
28
  require('../chunk-RKOTNV3K.cjs');
@@ -15,12 +15,14 @@ import "../chunk-YX6CL4KH.js";
15
15
  import "../chunk-I45WP5PM.js";
16
16
  import "../chunk-ZFRTRIT4.js";
17
17
  import "../chunk-CFICINSP.js";
18
- import "../chunk-N76BJLOM.js";
18
+ import "../chunk-3KKFLSLG.js";
19
19
  import "../chunk-5Y3HYG6B.js";
20
20
  import "../chunk-FPJHSFML.js";
21
21
  import "../chunk-XSB2WAW2.js";
22
22
  import "../chunk-NYCGHEIN.js";
23
23
  import "../chunk-AS5LR4AI.js";
24
+ import "../chunk-2H4XRKWS.js";
25
+ import "../chunk-NSJKG6AJ.js";
24
26
  import "../chunk-XHROZN2O.js";
25
27
  import "../chunk-3SMFSMCY.js";
26
28
  import "../chunk-X2DIUKLP.js";
@@ -26,12 +26,14 @@ require('../../chunk-J42M6DF3.cjs');
26
26
  require('../../chunk-N46W55MH.cjs');
27
27
  require('../../chunk-L646RZQB.cjs');
28
28
  require('../../chunk-ZYPCVNSG.cjs');
29
- require('../../chunk-BPNZP36A.cjs');
29
+ require('../../chunk-VFIICDKU.cjs');
30
30
  require('../../chunk-A4VFMLAN.cjs');
31
31
  require('../../chunk-RZKLDILW.cjs');
32
32
  require('../../chunk-DRTH56G4.cjs');
33
33
  require('../../chunk-XWE2OTGL.cjs');
34
34
  require('../../chunk-KTC5RW57.cjs');
35
+ require('../../chunk-XR7AMYN7.cjs');
36
+ require('../../chunk-B4JXPT6I.cjs');
35
37
  require('../../chunk-ZTXHUURC.cjs');
36
38
  require('../../chunk-NEUX2E3A.cjs');
37
39
  require('../../chunk-RKOTNV3K.cjs');
@@ -26,12 +26,14 @@ import "../../chunk-YX6CL4KH.js";
26
26
  import "../../chunk-I45WP5PM.js";
27
27
  import "../../chunk-ZFRTRIT4.js";
28
28
  import "../../chunk-CFICINSP.js";
29
- import "../../chunk-N76BJLOM.js";
29
+ import "../../chunk-3KKFLSLG.js";
30
30
  import "../../chunk-5Y3HYG6B.js";
31
31
  import "../../chunk-FPJHSFML.js";
32
32
  import "../../chunk-XSB2WAW2.js";
33
33
  import "../../chunk-NYCGHEIN.js";
34
34
  import "../../chunk-AS5LR4AI.js";
35
+ import "../../chunk-2H4XRKWS.js";
36
+ import "../../chunk-NSJKG6AJ.js";
35
37
  import "../../chunk-XHROZN2O.js";
36
38
  import "../../chunk-3SMFSMCY.js";
37
39
  import "../../chunk-X2DIUKLP.js";
@@ -47,12 +47,14 @@ require('../../chunk-J42M6DF3.cjs');
47
47
  require('../../chunk-N46W55MH.cjs');
48
48
  require('../../chunk-L646RZQB.cjs');
49
49
  require('../../chunk-ZYPCVNSG.cjs');
50
- require('../../chunk-BPNZP36A.cjs');
50
+ require('../../chunk-VFIICDKU.cjs');
51
51
  require('../../chunk-A4VFMLAN.cjs');
52
52
  require('../../chunk-RZKLDILW.cjs');
53
53
  require('../../chunk-DRTH56G4.cjs');
54
54
  require('../../chunk-XWE2OTGL.cjs');
55
55
  require('../../chunk-KTC5RW57.cjs');
56
+ require('../../chunk-XR7AMYN7.cjs');
57
+ require('../../chunk-B4JXPT6I.cjs');
56
58
  require('../../chunk-ZTXHUURC.cjs');
57
59
  require('../../chunk-NEUX2E3A.cjs');
58
60
  require('../../chunk-RKOTNV3K.cjs');
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/common/bin/index.spec.ts"],"names":[],"mappings":"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","sourcesContent":["import { Uint8ArrayToHexDump, equalBinary, toHex } from '..'\nimport { bitfield, createBinaryStreamDecoder, createBinaryStreamEncoder, encodeJson } from '.'\n\ndescribe('encoder', () => {\n it('should write a stream', () => {\n const stream = createBinaryStreamEncoder()\n\n stream.writeUint32(1)\n stream.write({ a: '99' })\n stream.writeBytes([1, 2, 3], 3)\n stream.write(123)\n\n const bin = stream.getUint8Array()\n\n expect(Uint8ArrayToHexDump(bin)).toMatchInlineSnapshot(`\n \"0000 01 00 00 00 76 01 01 61 77 02 39 39 01 02 03 7d ....v..aw.99...}\n 0010 bb 01 ». \"\n `)\n\n expect(stream.getLength()).toBe(18)\n\n const readStream = createBinaryStreamDecoder(bin)\n expect(readStream.getOffset()).toBe(0)\n expect(readStream.readUint32()).toBe(1)\n expect(readStream.getOffset()).toBe(4)\n expect(readStream.read()).toEqual({ a: '99' })\n expect(readStream.readBytes(3)).toMatchInlineSnapshot(`\nUint8Array [\n 1,\n 2,\n 3,\n]\n`)\n expect(readStream.read()).toBe(123)\n expect(readStream.getOffset()).toBe(bin.length)\n })\n\n it('should bitfield', () => {\n const bf = bitfield(1)\n bf.setBit(4)\n expect(bf.getValue()).toBe(0b10001)\n bf.setBit(0, false)\n expect(bf.getValue()).toBe(0b10000)\n bf.setBit(1)\n bf.setBit(5)\n bf.setBit(16)\n expect(bf.getValue().toString(2)).toMatchInlineSnapshot(\n '\"10000000000110010\"',\n )\n expect(bf.getValue()).toBe(0b10000000000110010)\n expect(bf.getBit(0)).toBe(false)\n expect(bf.getBit(4)).toBe(true)\n bf.toggleBit(4)\n expect(bf.getBit(4)).toBe(false)\n expect(bf.getValue()).toBe(0b10000000000100010)\n })\n\n it('should var bin', () => {\n function enc(v: number) {\n const e = createBinaryStreamEncoder()\n e.writeIntVar(v)\n return toHex(e.getUint8Array())\n }\n\n expect(enc(1)).toMatchInlineSnapshot('\"01\"')\n expect(enc(128)).toMatchInlineSnapshot('\"8002\"')\n expect(enc(-1)).toMatchInlineSnapshot('\"41\"')\n expect(enc(-691529286)).toMatchInlineSnapshot('\"c699bf9305\"')\n expect(enc(691529286)).toMatchInlineSnapshot('\"8699bf9305\"')\n })\n\n it('should var bin uint', () => {\n function enc(v: number) {\n const e = createBinaryStreamEncoder()\n e.writeUintVar(v)\n return toHex(e.getUint8Array())\n }\n\n expect(enc(1)).toMatchInlineSnapshot('\"01\"')\n expect(enc(127)).toMatchInlineSnapshot('\"7f\"')\n expect(enc(128)).toMatchInlineSnapshot(`\"8001\"`)\n expect(enc(255)).toMatchInlineSnapshot('\"ff01\"')\n expect(enc(256)).toMatchInlineSnapshot('\"8002\"')\n expect(enc(691529286)).toMatchInlineSnapshot('\"c6ccdfc902\"')\n })\n\n it('should be consistent', () => {\n const bin1 = encodeJson({\n a: 1,\n b: 2,\n })\n const bin2 = encodeJson({\n b: 2,\n a: 1,\n })\n expect(equalBinary(bin1, bin2)).toBe(true)\n })\n\n // it('should be consistent JSON', () => {\n // const bin1 = JSON.stringify({\n // a: 1,\n // b: 2,\n // })\n // const bin2 = JSON.stringify({\n // b: 2,\n // a: 1,\n // })\n // expect(bin1 !== bin2).toBe(true)\n // })\n})\n"]}
1
+ {"version":3,"sources":["../../../src/common/bin/index.spec.ts"],"names":[],"mappings":"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","sourcesContent":["import { Uint8ArrayToHexDump, equalBinary, toHex } from '..'\nimport { bitfield, createBinaryStreamDecoder, createBinaryStreamEncoder, encodeJson } from '.'\n\ndescribe('encoder', () => {\n it('should write a stream', () => {\n const stream = createBinaryStreamEncoder()\n\n stream.writeUint32(1)\n stream.write({ a: '99' })\n stream.writeBytes([1, 2, 3], 3)\n stream.write(123)\n\n const bin = stream.getUint8Array()\n\n expect(Uint8ArrayToHexDump(bin)).toMatchInlineSnapshot(`\n \"0000 01 00 00 00 76 01 01 61 77 02 39 39 01 02 03 7d ....v..aw.99...}\n 0010 bb 01 ». \"\n `)\n\n expect(stream.getLength()).toBe(18)\n\n const readStream = createBinaryStreamDecoder(bin)\n expect(readStream.getOffset()).toBe(0)\n expect(readStream.readUint32()).toBe(1)\n expect(readStream.getOffset()).toBe(4)\n expect(readStream.read()).toEqual({ a: '99' })\n expect(readStream.readBytes(3)).toMatchInlineSnapshot(`\nUint8Array [\n 1,\n 2,\n 3,\n]\n`)\n expect(readStream.read()).toBe(123)\n expect(readStream.getOffset()).toBe(bin.length)\n })\n\n it('should bitfield', () => {\n const bf = bitfield(1)\n bf.setBit(4)\n expect(bf.getValue()).toBe(0b10001)\n bf.setBit(0, false)\n expect(bf.getValue()).toBe(0b10000)\n bf.setBit(1)\n bf.setBit(5)\n bf.setBit(16)\n expect(bf.getValue().toString(2)).toMatchInlineSnapshot(\n '\"10000000000110010\"',\n )\n expect(bf.getValue()).toBe(0b10000000000110010)\n expect(bf.getBit(0)).toBe(false)\n expect(bf.getBit(4)).toBe(true)\n bf.toggleBit(4)\n expect(bf.getBit(4)).toBe(false)\n expect(bf.getValue()).toBe(0b10000000000100010)\n })\n\n it('should var bin', () => {\n function enc(v: number) {\n const e = createBinaryStreamEncoder()\n e.writeIntVar(v)\n return toHex(e.getUint8Array())\n }\n\n expect(enc(1)).toMatchInlineSnapshot('\"01\"')\n expect(enc(128)).toMatchInlineSnapshot('\"8002\"')\n expect(enc(-1)).toMatchInlineSnapshot('\"41\"')\n expect(enc(-691529286)).toMatchInlineSnapshot('\"c699bf9305\"')\n expect(enc(691529286)).toMatchInlineSnapshot('\"8699bf9305\"')\n })\n\n it('should var bin uint', () => {\n function enc(v: number) {\n const e = createBinaryStreamEncoder()\n e.writeUintVar(v)\n return toHex(e.getUint8Array())\n }\n\n expect(enc(1)).toMatchInlineSnapshot('\"01\"')\n expect(enc(127)).toMatchInlineSnapshot('\"7f\"')\n expect(enc(128)).toMatchInlineSnapshot(`\"8001\"`)\n expect(enc(255)).toMatchInlineSnapshot('\"ff01\"')\n expect(enc(256)).toMatchInlineSnapshot('\"8002\"')\n expect(enc(691529286)).toMatchInlineSnapshot('\"c6ccdfc902\"')\n })\n\n it('should be consistent', () => {\n const bin1 = encodeJson({\n a: 1,\n b: 2,\n })\n const bin2 = encodeJson({\n b: 2,\n a: 1,\n })\n expect(equalBinary(bin1, bin2)).toBe(true)\n })\n\n // it('should be consistent JSON', () => {\n // const bin1 = JSON.stringify({\n // a: 1,\n // b: 2,\n // })\n // const bin2 = JSON.stringify({\n // b: 2,\n // a: 1,\n // })\n // expect(bin1 !== bin2).toBe(true)\n // })\n})\n"]}
@@ -47,12 +47,14 @@ import "../../chunk-YX6CL4KH.js";
47
47
  import "../../chunk-I45WP5PM.js";
48
48
  import "../../chunk-ZFRTRIT4.js";
49
49
  import "../../chunk-CFICINSP.js";
50
- import "../../chunk-N76BJLOM.js";
50
+ import "../../chunk-3KKFLSLG.js";
51
51
  import "../../chunk-5Y3HYG6B.js";
52
52
  import "../../chunk-FPJHSFML.js";
53
53
  import "../../chunk-XSB2WAW2.js";
54
54
  import "../../chunk-NYCGHEIN.js";
55
55
  import "../../chunk-AS5LR4AI.js";
56
+ import "../../chunk-2H4XRKWS.js";
57
+ import "../../chunk-NSJKG6AJ.js";
56
58
  import "../../chunk-XHROZN2O.js";
57
59
  import "../../chunk-3SMFSMCY.js";
58
60
  import "../../chunk-X2DIUKLP.js";
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/common/bin/index.spec.ts"],"sourcesContent":["import { Uint8ArrayToHexDump, equalBinary, toHex } from '..'\nimport { bitfield, createBinaryStreamDecoder, createBinaryStreamEncoder, encodeJson } from '.'\n\ndescribe('encoder', () => {\n it('should write a stream', () => {\n const stream = createBinaryStreamEncoder()\n\n stream.writeUint32(1)\n stream.write({ a: '99' })\n stream.writeBytes([1, 2, 3], 3)\n stream.write(123)\n\n const bin = stream.getUint8Array()\n\n expect(Uint8ArrayToHexDump(bin)).toMatchInlineSnapshot(`\n \"0000 01 00 00 00 76 01 01 61 77 02 39 39 01 02 03 7d ....v..aw.99...}\n 0010 bb 01 ». \"\n `)\n\n expect(stream.getLength()).toBe(18)\n\n const readStream = createBinaryStreamDecoder(bin)\n expect(readStream.getOffset()).toBe(0)\n expect(readStream.readUint32()).toBe(1)\n expect(readStream.getOffset()).toBe(4)\n expect(readStream.read()).toEqual({ a: '99' })\n expect(readStream.readBytes(3)).toMatchInlineSnapshot(`\nUint8Array [\n 1,\n 2,\n 3,\n]\n`)\n expect(readStream.read()).toBe(123)\n expect(readStream.getOffset()).toBe(bin.length)\n })\n\n it('should bitfield', () => {\n const bf = bitfield(1)\n bf.setBit(4)\n expect(bf.getValue()).toBe(0b10001)\n bf.setBit(0, false)\n expect(bf.getValue()).toBe(0b10000)\n bf.setBit(1)\n bf.setBit(5)\n bf.setBit(16)\n expect(bf.getValue().toString(2)).toMatchInlineSnapshot(\n '\"10000000000110010\"',\n )\n expect(bf.getValue()).toBe(0b10000000000110010)\n expect(bf.getBit(0)).toBe(false)\n expect(bf.getBit(4)).toBe(true)\n bf.toggleBit(4)\n expect(bf.getBit(4)).toBe(false)\n expect(bf.getValue()).toBe(0b10000000000100010)\n })\n\n it('should var bin', () => {\n function enc(v: number) {\n const e = createBinaryStreamEncoder()\n e.writeIntVar(v)\n return toHex(e.getUint8Array())\n }\n\n expect(enc(1)).toMatchInlineSnapshot('\"01\"')\n expect(enc(128)).toMatchInlineSnapshot('\"8002\"')\n expect(enc(-1)).toMatchInlineSnapshot('\"41\"')\n expect(enc(-691529286)).toMatchInlineSnapshot('\"c699bf9305\"')\n expect(enc(691529286)).toMatchInlineSnapshot('\"8699bf9305\"')\n })\n\n it('should var bin uint', () => {\n function enc(v: number) {\n const e = createBinaryStreamEncoder()\n e.writeUintVar(v)\n return toHex(e.getUint8Array())\n }\n\n expect(enc(1)).toMatchInlineSnapshot('\"01\"')\n expect(enc(127)).toMatchInlineSnapshot('\"7f\"')\n expect(enc(128)).toMatchInlineSnapshot(`\"8001\"`)\n expect(enc(255)).toMatchInlineSnapshot('\"ff01\"')\n expect(enc(256)).toMatchInlineSnapshot('\"8002\"')\n expect(enc(691529286)).toMatchInlineSnapshot('\"c6ccdfc902\"')\n })\n\n it('should be consistent', () => {\n const bin1 = encodeJson({\n a: 1,\n b: 2,\n })\n const bin2 = encodeJson({\n b: 2,\n a: 1,\n })\n expect(equalBinary(bin1, bin2)).toBe(true)\n })\n\n // it('should be consistent JSON', () => {\n // const bin1 = JSON.stringify({\n // a: 1,\n // b: 2,\n // })\n // const bin2 = JSON.stringify({\n // b: 2,\n // a: 1,\n // })\n // expect(bin1 !== bin2).toBe(true)\n // })\n})\n"],"mappings":"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","names":[]}
1
+ {"version":3,"sources":["../../../src/common/bin/index.spec.ts"],"sourcesContent":["import { Uint8ArrayToHexDump, equalBinary, toHex } from '..'\nimport { bitfield, createBinaryStreamDecoder, createBinaryStreamEncoder, encodeJson } from '.'\n\ndescribe('encoder', () => {\n it('should write a stream', () => {\n const stream = createBinaryStreamEncoder()\n\n stream.writeUint32(1)\n stream.write({ a: '99' })\n stream.writeBytes([1, 2, 3], 3)\n stream.write(123)\n\n const bin = stream.getUint8Array()\n\n expect(Uint8ArrayToHexDump(bin)).toMatchInlineSnapshot(`\n \"0000 01 00 00 00 76 01 01 61 77 02 39 39 01 02 03 7d ....v..aw.99...}\n 0010 bb 01 ». \"\n `)\n\n expect(stream.getLength()).toBe(18)\n\n const readStream = createBinaryStreamDecoder(bin)\n expect(readStream.getOffset()).toBe(0)\n expect(readStream.readUint32()).toBe(1)\n expect(readStream.getOffset()).toBe(4)\n expect(readStream.read()).toEqual({ a: '99' })\n expect(readStream.readBytes(3)).toMatchInlineSnapshot(`\nUint8Array [\n 1,\n 2,\n 3,\n]\n`)\n expect(readStream.read()).toBe(123)\n expect(readStream.getOffset()).toBe(bin.length)\n })\n\n it('should bitfield', () => {\n const bf = bitfield(1)\n bf.setBit(4)\n expect(bf.getValue()).toBe(0b10001)\n bf.setBit(0, false)\n expect(bf.getValue()).toBe(0b10000)\n bf.setBit(1)\n bf.setBit(5)\n bf.setBit(16)\n expect(bf.getValue().toString(2)).toMatchInlineSnapshot(\n '\"10000000000110010\"',\n )\n expect(bf.getValue()).toBe(0b10000000000110010)\n expect(bf.getBit(0)).toBe(false)\n expect(bf.getBit(4)).toBe(true)\n bf.toggleBit(4)\n expect(bf.getBit(4)).toBe(false)\n expect(bf.getValue()).toBe(0b10000000000100010)\n })\n\n it('should var bin', () => {\n function enc(v: number) {\n const e = createBinaryStreamEncoder()\n e.writeIntVar(v)\n return toHex(e.getUint8Array())\n }\n\n expect(enc(1)).toMatchInlineSnapshot('\"01\"')\n expect(enc(128)).toMatchInlineSnapshot('\"8002\"')\n expect(enc(-1)).toMatchInlineSnapshot('\"41\"')\n expect(enc(-691529286)).toMatchInlineSnapshot('\"c699bf9305\"')\n expect(enc(691529286)).toMatchInlineSnapshot('\"8699bf9305\"')\n })\n\n it('should var bin uint', () => {\n function enc(v: number) {\n const e = createBinaryStreamEncoder()\n e.writeUintVar(v)\n return toHex(e.getUint8Array())\n }\n\n expect(enc(1)).toMatchInlineSnapshot('\"01\"')\n expect(enc(127)).toMatchInlineSnapshot('\"7f\"')\n expect(enc(128)).toMatchInlineSnapshot(`\"8001\"`)\n expect(enc(255)).toMatchInlineSnapshot('\"ff01\"')\n expect(enc(256)).toMatchInlineSnapshot('\"8002\"')\n expect(enc(691529286)).toMatchInlineSnapshot('\"c6ccdfc902\"')\n })\n\n it('should be consistent', () => {\n const bin1 = encodeJson({\n a: 1,\n b: 2,\n })\n const bin2 = encodeJson({\n b: 2,\n a: 1,\n })\n expect(equalBinary(bin1, bin2)).toBe(true)\n })\n\n // it('should be consistent JSON', () => {\n // const bin1 = JSON.stringify({\n // a: 1,\n // b: 2,\n // })\n // const bin2 = JSON.stringify({\n // b: 2,\n // a: 1,\n // })\n // expect(bin1 !== bin2).toBe(true)\n // })\n})\n"],"mappings":"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","names":[]}
@@ -50,12 +50,14 @@ require('../chunk-J42M6DF3.cjs');
50
50
  require('../chunk-N46W55MH.cjs');
51
51
  require('../chunk-L646RZQB.cjs');
52
52
  require('../chunk-ZYPCVNSG.cjs');
53
- require('../chunk-BPNZP36A.cjs');
53
+ require('../chunk-VFIICDKU.cjs');
54
54
  require('../chunk-A4VFMLAN.cjs');
55
55
  require('../chunk-RZKLDILW.cjs');
56
56
  require('../chunk-DRTH56G4.cjs');
57
57
  require('../chunk-XWE2OTGL.cjs');
58
58
  require('../chunk-KTC5RW57.cjs');
59
+ require('../chunk-XR7AMYN7.cjs');
60
+ require('../chunk-B4JXPT6I.cjs');
59
61
  require('../chunk-ZTXHUURC.cjs');
60
62
  require('../chunk-NEUX2E3A.cjs');
61
63
  require('../chunk-RKOTNV3K.cjs');
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/common/crypto.spec.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAOA,IAAM,MAAM,cAAc,aAAa;AAEvC,SAAS,UAAU,MAAM;AACvB,KAAG,8BAA8B,MAAM;AACrC,WAAO,YAAY,IAAI,WAAW,CAAC,GAAG,IAAI,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI;AACxE,UAAM,OAAqB,MAAM,MAAM,MAAM,MAAM,GAAG,CAAC,EAAE;AAAA,MAAI,MAC3D,iBAAiB,CAAC;AAAA,IACpB;AACA,QAAI;AACJ,WAAQ,KAAK,KAAK,IAAI,GAAI;AAExB,aAAO,YAAY,IAAI,IAAI,WAAW,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE;AAAA,QAChE;AAAA,MACF;AACA,aAAO,IAAI,MAAM,EAAE,KAAK,CAAC;AACzB,aAAO,IAAI,EAAE,IAAI,UAAU,EAAE;AAAA,IAC/B;AAAA,EACF,CAAC;AAED,KAAG,iBAAiB,YAAY;AAC9B,WAAO,MAAM,MAAM,OAAO,KAAK,CAAC,CAAC,EAAE;AAAA,MACjC;AAAA,IACF;AACA,WAAO,MAAM,OAAO,IAAI,WAAW,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,sBAAsB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,CAmCzE;AAAA,EACC,CAAC;AAsBD,KAAG,oBAAoB,YAAY;AACjC,UAAM,MAAM,MAAM,gBAAgB,IAAI,WAAW,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG;AAAA,MAC3D,MAAM,IAAI,WAAW,CAAC,GAAG,GAAG,CAAC,CAAC;AAAA,IAChC,CAAC;AACD,UAAM,SAAS,IAAI,WAAW,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC;AAC5D,UAAM,SAAS,MAAM,QAAQ,QAAQ,GAAG;AAGxC,UAAM,MAAM,MAAM,QAAQ,QAAQ,GAAG;AACrC,WAAO,YAAY,QAAQ,GAAG,CAAC,EAAE,KAAK,IAAI;AAE1C,UAAM,SAAS,MAAM;AAAA,MACnB,IAAI,WAAW;AAAA,QACb;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF,CAAC;AAAA,MACD;AAAA,IACF;AACA,WAAO,MAAM,EAAE,QAAQ,MAAM;AAAA,EAC/B,CAAC;AA8BH,CAAC","sourcesContent":["/* eslint-disable prefer-spread */\n/* eslint-disable no-cond-assign */\n\nimport { decrypt, deriveKeyPbkdf2, digest, encrypt, randomUint8Array } from './crypto'\nimport { equalBinary, toHex } from './data/bin'\nimport { DefaultLogger } from '.'\n\nconst log = DefaultLogger('crypto.spec')\n\ndescribe('crypto', () => {\n it('should not have collisions', () => {\n expect(equalBinary(new Uint8Array(2), new Uint8Array([0, 0]))).toBe(true)\n const list: Uint8Array[] = Array.apply(null, Array(100)).map(() =>\n randomUint8Array(8),\n )\n let id: Uint8Array | undefined\n while ((id = list.pop())) {\n // console.log(id)\n expect(equalBinary(id, new Uint8Array([0, 0, 0, 0, 0, 0, 0, 0]))).toBe(\n false,\n )\n expect(id?.length).toBe(8)\n expect(list).not.toContain(id)\n }\n })\n\n it('should digest', async () => {\n expect(toHex(await digest('abc'))).toBe(\n 'ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad',\n )\n expect(await digest(new Uint8Array([1, 2, 3]))).toMatchInlineSnapshot(`\nUint8Array [\n 3,\n 144,\n 88,\n 198,\n 242,\n 192,\n 203,\n 73,\n 44,\n 83,\n 59,\n 10,\n 77,\n 20,\n 239,\n 119,\n 204,\n 15,\n 120,\n 171,\n 204,\n 206,\n 213,\n 40,\n 125,\n 132,\n 161,\n 162,\n 1,\n 28,\n 251,\n 129,\n]\n`)\n })\n\n // it(\"should derive key\", async () => {\n // const key = await deriveKeyPbkdf2(\"hello\")\n // expect(key).toMatchInlineSnapshot(`\n // CryptoKey {\n // Symbol(kKeyObject): SecretKeyObject {\n // Symbol(kKeyType): \"secret\",\n // },\n // Symbol(kAlgorithm): Object {\n // \"length\": 256,\n // \"name\": \"AES-GCM\",\n // },\n // Symbol(kExtractable): true,\n // Symbol(kKeyUsages): Array [\n // \"encrypt\",\n // \"decrypt\",\n // ],\n // }\n // `)\n // })\n\n it('should raw crypt', async () => {\n const key = await deriveKeyPbkdf2(new Uint8Array([1, 2, 3]), {\n salt: new Uint8Array([1, 2, 3]),\n })\n const sample = new Uint8Array([9, 8, 7, 6, 5, 4, 3, 2, 1, 0])\n const cipher = await encrypt(sample, key)\n // log(\"cipher\", cipher)\n\n const bin = await decrypt(cipher, key)\n expect(equalBinary(sample, bin)).toBe(true)\n\n const binFix = await decrypt(\n new Uint8Array([\n 1,\n 1,\n 27,\n 108,\n 252,\n 31,\n 238,\n 192,\n 61,\n 168,\n 45,\n 29,\n 128,\n 212,\n 215,\n 222,\n 205,\n 105,\n 178,\n 193,\n 150,\n 36,\n 24,\n 216,\n 180,\n 75,\n 168,\n 133,\n 37,\n 25,\n 124,\n 137,\n 221,\n 103,\n 214,\n 97,\n 218,\n 232,\n 248,\n 93,\n ]),\n key,\n )\n expect(binFix).toEqual(sample)\n })\n\n // it(\"should identify fake decrypt\", async () => {\n // const key = await deriveKeyPbkdf2(new Uint8Array([1, 2, 3]), {\n // salt: new Uint8Array([1, 2, 3]),\n // })\n // await decrypt(new Uint8Array([2, 2]), key)\n // await expect(async () => {\n // await decrypt(new Uint8Array([2, 2]), key)\n // }).rejects.toThrow()\n // })\n\n // it(\"should encrypt and decrypt\", async () => {\n // const key = await deriveKey(\"secret\", \"room\")\n // const keyAlt = await deriveKey(\"secretAlt\", \"room\")\n // let cipher = await encryptJson({ msg: \"Hello World\" }, key)\n // let cipherAlt = await encryptJson({ msg: \"Hello World\" }, keyAlt)\n // expect(cipher.length).toEqual(57)\n // expect(cipher).not.toEqual(cipherAlt)\n // let res = await decryptJson(cipher, key)\n // expect(res).toEqual({ msg: \"Hello World\" })\n // try {\n // let resAlt = await decryptJson(cipher, keyAlt)\n // fail()\n // } catch (err) {}\n // try {\n // let resAlt = await decryptJson(cipherAlt, key)\n // fail()\n // } catch (err) {}\n // })\n})\n"]}
1
+ {"version":3,"sources":["../../src/common/crypto.spec.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAOA,IAAM,MAAM,cAAc,aAAa;AAEvC,SAAS,UAAU,MAAM;AACvB,KAAG,8BAA8B,MAAM;AACrC,WAAO,YAAY,IAAI,WAAW,CAAC,GAAG,IAAI,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI;AACxE,UAAM,OAAqB,MAAM,MAAM,MAAM,MAAM,GAAG,CAAC,EAAE;AAAA,MAAI,MAC3D,iBAAiB,CAAC;AAAA,IACpB;AACA,QAAI;AACJ,WAAQ,KAAK,KAAK,IAAI,GAAI;AAExB,aAAO,YAAY,IAAI,IAAI,WAAW,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE;AAAA,QAChE;AAAA,MACF;AACA,aAAO,IAAI,MAAM,EAAE,KAAK,CAAC;AACzB,aAAO,IAAI,EAAE,IAAI,UAAU,EAAE;AAAA,IAC/B;AAAA,EACF,CAAC;AAED,KAAG,iBAAiB,YAAY;AAC9B,WAAO,MAAM,MAAM,OAAO,KAAK,CAAC,CAAC,EAAE;AAAA,MACjC;AAAA,IACF;AACA,WAAO,MAAM,OAAO,IAAI,WAAW,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,sBAAsB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,CAmCzE;AAAA,EACC,CAAC;AAsBD,KAAG,oBAAoB,YAAY;AACjC,UAAM,MAAM,MAAM,gBAAgB,IAAI,WAAW,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG;AAAA,MAC3D,MAAM,IAAI,WAAW,CAAC,GAAG,GAAG,CAAC,CAAC;AAAA,IAChC,CAAC;AACD,UAAM,SAAS,IAAI,WAAW,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC;AAC5D,UAAM,SAAS,MAAM,QAAQ,QAAQ,GAAG;AAGxC,UAAM,MAAM,MAAM,QAAQ,QAAQ,GAAG;AACrC,WAAO,YAAY,QAAQ,GAAG,CAAC,EAAE,KAAK,IAAI;AAE1C,UAAM,SAAS,MAAM;AAAA,MACnB,IAAI,WAAW;AAAA,QACb;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF,CAAC;AAAA,MACD;AAAA,IACF;AACA,WAAO,MAAM,EAAE,QAAQ,MAAM;AAAA,EAC/B,CAAC;AA8BH,CAAC","sourcesContent":["/* eslint-disable prefer-spread */\n/* eslint-disable no-cond-assign */\n\nimport { decrypt, deriveKeyPbkdf2, digest, encrypt, randomUint8Array } from './crypto'\nimport { equalBinary, toHex } from './data/bin'\nimport { DefaultLogger } from '.'\n\nconst log = DefaultLogger('crypto.spec')\n\ndescribe('crypto', () => {\n it('should not have collisions', () => {\n expect(equalBinary(new Uint8Array(2), new Uint8Array([0, 0]))).toBe(true)\n const list: Uint8Array[] = Array.apply(null, Array(100)).map(() =>\n randomUint8Array(8),\n )\n let id: Uint8Array | undefined\n while ((id = list.pop())) {\n // console.log(id)\n expect(equalBinary(id, new Uint8Array([0, 0, 0, 0, 0, 0, 0, 0]))).toBe(\n false,\n )\n expect(id?.length).toBe(8)\n expect(list).not.toContain(id)\n }\n })\n\n it('should digest', async () => {\n expect(toHex(await digest('abc'))).toBe(\n 'ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad',\n )\n expect(await digest(new Uint8Array([1, 2, 3]))).toMatchInlineSnapshot(`\nUint8Array [\n 3,\n 144,\n 88,\n 198,\n 242,\n 192,\n 203,\n 73,\n 44,\n 83,\n 59,\n 10,\n 77,\n 20,\n 239,\n 119,\n 204,\n 15,\n 120,\n 171,\n 204,\n 206,\n 213,\n 40,\n 125,\n 132,\n 161,\n 162,\n 1,\n 28,\n 251,\n 129,\n]\n`)\n })\n\n // it(\"should derive key\", async () => {\n // const key = await deriveKeyPbkdf2(\"hello\")\n // expect(key).toMatchInlineSnapshot(`\n // CryptoKey {\n // Symbol(kKeyObject): SecretKeyObject {\n // Symbol(kKeyType): \"secret\",\n // },\n // Symbol(kAlgorithm): Object {\n // \"length\": 256,\n // \"name\": \"AES-GCM\",\n // },\n // Symbol(kExtractable): true,\n // Symbol(kKeyUsages): Array [\n // \"encrypt\",\n // \"decrypt\",\n // ],\n // }\n // `)\n // })\n\n it('should raw crypt', async () => {\n const key = await deriveKeyPbkdf2(new Uint8Array([1, 2, 3]), {\n salt: new Uint8Array([1, 2, 3]),\n })\n const sample = new Uint8Array([9, 8, 7, 6, 5, 4, 3, 2, 1, 0])\n const cipher = await encrypt(sample, key)\n // log(\"cipher\", cipher)\n\n const bin = await decrypt(cipher, key)\n expect(equalBinary(sample, bin)).toBe(true)\n\n const binFix = await decrypt(\n new Uint8Array([\n 1,\n 1,\n 27,\n 108,\n 252,\n 31,\n 238,\n 192,\n 61,\n 168,\n 45,\n 29,\n 128,\n 212,\n 215,\n 222,\n 205,\n 105,\n 178,\n 193,\n 150,\n 36,\n 24,\n 216,\n 180,\n 75,\n 168,\n 133,\n 37,\n 25,\n 124,\n 137,\n 221,\n 103,\n 214,\n 97,\n 218,\n 232,\n 248,\n 93,\n ]),\n key,\n )\n expect(binFix).toEqual(sample)\n })\n\n // it(\"should identify fake decrypt\", async () => {\n // const key = await deriveKeyPbkdf2(new Uint8Array([1, 2, 3]), {\n // salt: new Uint8Array([1, 2, 3]),\n // })\n // await decrypt(new Uint8Array([2, 2]), key)\n // await expect(async () => {\n // await decrypt(new Uint8Array([2, 2]), key)\n // }).rejects.toThrow()\n // })\n\n // it(\"should encrypt and decrypt\", async () => {\n // const key = await deriveKey(\"secret\", \"room\")\n // const keyAlt = await deriveKey(\"secretAlt\", \"room\")\n // let cipher = await encryptJson({ msg: \"Hello World\" }, key)\n // let cipherAlt = await encryptJson({ msg: \"Hello World\" }, keyAlt)\n // expect(cipher.length).toEqual(57)\n // expect(cipher).not.toEqual(cipherAlt)\n // let res = await decryptJson(cipher, key)\n // expect(res).toEqual({ msg: \"Hello World\" })\n // try {\n // let resAlt = await decryptJson(cipher, keyAlt)\n // fail()\n // } catch (err) {}\n // try {\n // let resAlt = await decryptJson(cipherAlt, key)\n // fail()\n // } catch (err) {}\n // })\n})\n"]}
@@ -50,12 +50,14 @@ import "../chunk-YX6CL4KH.js";
50
50
  import "../chunk-I45WP5PM.js";
51
51
  import "../chunk-ZFRTRIT4.js";
52
52
  import "../chunk-CFICINSP.js";
53
- import "../chunk-N76BJLOM.js";
53
+ import "../chunk-3KKFLSLG.js";
54
54
  import "../chunk-5Y3HYG6B.js";
55
55
  import "../chunk-FPJHSFML.js";
56
56
  import "../chunk-XSB2WAW2.js";
57
57
  import "../chunk-NYCGHEIN.js";
58
58
  import "../chunk-AS5LR4AI.js";
59
+ import "../chunk-2H4XRKWS.js";
60
+ import "../chunk-NSJKG6AJ.js";
59
61
  import "../chunk-XHROZN2O.js";
60
62
  import "../chunk-3SMFSMCY.js";
61
63
  import "../chunk-X2DIUKLP.js";
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/common/crypto.spec.ts"],"sourcesContent":["/* eslint-disable prefer-spread */\n/* eslint-disable no-cond-assign */\n\nimport { decrypt, deriveKeyPbkdf2, digest, encrypt, randomUint8Array } from './crypto'\nimport { equalBinary, toHex } from './data/bin'\nimport { DefaultLogger } from '.'\n\nconst log = DefaultLogger('crypto.spec')\n\ndescribe('crypto', () => {\n it('should not have collisions', () => {\n expect(equalBinary(new Uint8Array(2), new Uint8Array([0, 0]))).toBe(true)\n const list: Uint8Array[] = Array.apply(null, Array(100)).map(() =>\n randomUint8Array(8),\n )\n let id: Uint8Array | undefined\n while ((id = list.pop())) {\n // console.log(id)\n expect(equalBinary(id, new Uint8Array([0, 0, 0, 0, 0, 0, 0, 0]))).toBe(\n false,\n )\n expect(id?.length).toBe(8)\n expect(list).not.toContain(id)\n }\n })\n\n it('should digest', async () => {\n expect(toHex(await digest('abc'))).toBe(\n 'ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad',\n )\n expect(await digest(new Uint8Array([1, 2, 3]))).toMatchInlineSnapshot(`\nUint8Array [\n 3,\n 144,\n 88,\n 198,\n 242,\n 192,\n 203,\n 73,\n 44,\n 83,\n 59,\n 10,\n 77,\n 20,\n 239,\n 119,\n 204,\n 15,\n 120,\n 171,\n 204,\n 206,\n 213,\n 40,\n 125,\n 132,\n 161,\n 162,\n 1,\n 28,\n 251,\n 129,\n]\n`)\n })\n\n // it(\"should derive key\", async () => {\n // const key = await deriveKeyPbkdf2(\"hello\")\n // expect(key).toMatchInlineSnapshot(`\n // CryptoKey {\n // Symbol(kKeyObject): SecretKeyObject {\n // Symbol(kKeyType): \"secret\",\n // },\n // Symbol(kAlgorithm): Object {\n // \"length\": 256,\n // \"name\": \"AES-GCM\",\n // },\n // Symbol(kExtractable): true,\n // Symbol(kKeyUsages): Array [\n // \"encrypt\",\n // \"decrypt\",\n // ],\n // }\n // `)\n // })\n\n it('should raw crypt', async () => {\n const key = await deriveKeyPbkdf2(new Uint8Array([1, 2, 3]), {\n salt: new Uint8Array([1, 2, 3]),\n })\n const sample = new Uint8Array([9, 8, 7, 6, 5, 4, 3, 2, 1, 0])\n const cipher = await encrypt(sample, key)\n // log(\"cipher\", cipher)\n\n const bin = await decrypt(cipher, key)\n expect(equalBinary(sample, bin)).toBe(true)\n\n const binFix = await decrypt(\n new Uint8Array([\n 1,\n 1,\n 27,\n 108,\n 252,\n 31,\n 238,\n 192,\n 61,\n 168,\n 45,\n 29,\n 128,\n 212,\n 215,\n 222,\n 205,\n 105,\n 178,\n 193,\n 150,\n 36,\n 24,\n 216,\n 180,\n 75,\n 168,\n 133,\n 37,\n 25,\n 124,\n 137,\n 221,\n 103,\n 214,\n 97,\n 218,\n 232,\n 248,\n 93,\n ]),\n key,\n )\n expect(binFix).toEqual(sample)\n })\n\n // it(\"should identify fake decrypt\", async () => {\n // const key = await deriveKeyPbkdf2(new Uint8Array([1, 2, 3]), {\n // salt: new Uint8Array([1, 2, 3]),\n // })\n // await decrypt(new Uint8Array([2, 2]), key)\n // await expect(async () => {\n // await decrypt(new Uint8Array([2, 2]), key)\n // }).rejects.toThrow()\n // })\n\n // it(\"should encrypt and decrypt\", async () => {\n // const key = await deriveKey(\"secret\", \"room\")\n // const keyAlt = await deriveKey(\"secretAlt\", \"room\")\n // let cipher = await encryptJson({ msg: \"Hello World\" }, key)\n // let cipherAlt = await encryptJson({ msg: \"Hello World\" }, keyAlt)\n // expect(cipher.length).toEqual(57)\n // expect(cipher).not.toEqual(cipherAlt)\n // let res = await decryptJson(cipher, key)\n // expect(res).toEqual({ msg: \"Hello World\" })\n // try {\n // let resAlt = await decryptJson(cipher, keyAlt)\n // fail()\n // } catch (err) {}\n // try {\n // let resAlt = await decryptJson(cipherAlt, key)\n // fail()\n // } catch (err) {}\n // })\n})\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAOA,IAAM,MAAM,cAAc,aAAa;AAEvC,SAAS,UAAU,MAAM;AACvB,KAAG,8BAA8B,MAAM;AACrC,WAAO,YAAY,IAAI,WAAW,CAAC,GAAG,IAAI,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI;AACxE,UAAM,OAAqB,MAAM,MAAM,MAAM,MAAM,GAAG,CAAC,EAAE;AAAA,MAAI,MAC3D,iBAAiB,CAAC;AAAA,IACpB;AACA,QAAI;AACJ,WAAQ,KAAK,KAAK,IAAI,GAAI;AAExB,aAAO,YAAY,IAAI,IAAI,WAAW,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE;AAAA,QAChE;AAAA,MACF;AACA,aAAO,IAAI,MAAM,EAAE,KAAK,CAAC;AACzB,aAAO,IAAI,EAAE,IAAI,UAAU,EAAE;AAAA,IAC/B;AAAA,EACF,CAAC;AAED,KAAG,iBAAiB,YAAY;AAC9B,WAAO,MAAM,MAAM,OAAO,KAAK,CAAC,CAAC,EAAE;AAAA,MACjC;AAAA,IACF;AACA,WAAO,MAAM,OAAO,IAAI,WAAW,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,sBAAsB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,CAmCzE;AAAA,EACC,CAAC;AAsBD,KAAG,oBAAoB,YAAY;AACjC,UAAM,MAAM,MAAM,gBAAgB,IAAI,WAAW,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG;AAAA,MAC3D,MAAM,IAAI,WAAW,CAAC,GAAG,GAAG,CAAC,CAAC;AAAA,IAChC,CAAC;AACD,UAAM,SAAS,IAAI,WAAW,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC;AAC5D,UAAM,SAAS,MAAM,QAAQ,QAAQ,GAAG;AAGxC,UAAM,MAAM,MAAM,QAAQ,QAAQ,GAAG;AACrC,WAAO,YAAY,QAAQ,GAAG,CAAC,EAAE,KAAK,IAAI;AAE1C,UAAM,SAAS,MAAM;AAAA,MACnB,IAAI,WAAW;AAAA,QACb;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF,CAAC;AAAA,MACD;AAAA,IACF;AACA,WAAO,MAAM,EAAE,QAAQ,MAAM;AAAA,EAC/B,CAAC;AA8BH,CAAC;","names":[]}
1
+ {"version":3,"sources":["../../src/common/crypto.spec.ts"],"sourcesContent":["/* eslint-disable prefer-spread */\n/* eslint-disable no-cond-assign */\n\nimport { decrypt, deriveKeyPbkdf2, digest, encrypt, randomUint8Array } from './crypto'\nimport { equalBinary, toHex } from './data/bin'\nimport { DefaultLogger } from '.'\n\nconst log = DefaultLogger('crypto.spec')\n\ndescribe('crypto', () => {\n it('should not have collisions', () => {\n expect(equalBinary(new Uint8Array(2), new Uint8Array([0, 0]))).toBe(true)\n const list: Uint8Array[] = Array.apply(null, Array(100)).map(() =>\n randomUint8Array(8),\n )\n let id: Uint8Array | undefined\n while ((id = list.pop())) {\n // console.log(id)\n expect(equalBinary(id, new Uint8Array([0, 0, 0, 0, 0, 0, 0, 0]))).toBe(\n false,\n )\n expect(id?.length).toBe(8)\n expect(list).not.toContain(id)\n }\n })\n\n it('should digest', async () => {\n expect(toHex(await digest('abc'))).toBe(\n 'ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad',\n )\n expect(await digest(new Uint8Array([1, 2, 3]))).toMatchInlineSnapshot(`\nUint8Array [\n 3,\n 144,\n 88,\n 198,\n 242,\n 192,\n 203,\n 73,\n 44,\n 83,\n 59,\n 10,\n 77,\n 20,\n 239,\n 119,\n 204,\n 15,\n 120,\n 171,\n 204,\n 206,\n 213,\n 40,\n 125,\n 132,\n 161,\n 162,\n 1,\n 28,\n 251,\n 129,\n]\n`)\n })\n\n // it(\"should derive key\", async () => {\n // const key = await deriveKeyPbkdf2(\"hello\")\n // expect(key).toMatchInlineSnapshot(`\n // CryptoKey {\n // Symbol(kKeyObject): SecretKeyObject {\n // Symbol(kKeyType): \"secret\",\n // },\n // Symbol(kAlgorithm): Object {\n // \"length\": 256,\n // \"name\": \"AES-GCM\",\n // },\n // Symbol(kExtractable): true,\n // Symbol(kKeyUsages): Array [\n // \"encrypt\",\n // \"decrypt\",\n // ],\n // }\n // `)\n // })\n\n it('should raw crypt', async () => {\n const key = await deriveKeyPbkdf2(new Uint8Array([1, 2, 3]), {\n salt: new Uint8Array([1, 2, 3]),\n })\n const sample = new Uint8Array([9, 8, 7, 6, 5, 4, 3, 2, 1, 0])\n const cipher = await encrypt(sample, key)\n // log(\"cipher\", cipher)\n\n const bin = await decrypt(cipher, key)\n expect(equalBinary(sample, bin)).toBe(true)\n\n const binFix = await decrypt(\n new Uint8Array([\n 1,\n 1,\n 27,\n 108,\n 252,\n 31,\n 238,\n 192,\n 61,\n 168,\n 45,\n 29,\n 128,\n 212,\n 215,\n 222,\n 205,\n 105,\n 178,\n 193,\n 150,\n 36,\n 24,\n 216,\n 180,\n 75,\n 168,\n 133,\n 37,\n 25,\n 124,\n 137,\n 221,\n 103,\n 214,\n 97,\n 218,\n 232,\n 248,\n 93,\n ]),\n key,\n )\n expect(binFix).toEqual(sample)\n })\n\n // it(\"should identify fake decrypt\", async () => {\n // const key = await deriveKeyPbkdf2(new Uint8Array([1, 2, 3]), {\n // salt: new Uint8Array([1, 2, 3]),\n // })\n // await decrypt(new Uint8Array([2, 2]), key)\n // await expect(async () => {\n // await decrypt(new Uint8Array([2, 2]), key)\n // }).rejects.toThrow()\n // })\n\n // it(\"should encrypt and decrypt\", async () => {\n // const key = await deriveKey(\"secret\", \"room\")\n // const keyAlt = await deriveKey(\"secretAlt\", \"room\")\n // let cipher = await encryptJson({ msg: \"Hello World\" }, key)\n // let cipherAlt = await encryptJson({ msg: \"Hello World\" }, keyAlt)\n // expect(cipher.length).toEqual(57)\n // expect(cipher).not.toEqual(cipherAlt)\n // let res = await decryptJson(cipher, key)\n // expect(res).toEqual({ msg: \"Hello World\" })\n // try {\n // let resAlt = await decryptJson(cipher, keyAlt)\n // fail()\n // } catch (err) {}\n // try {\n // let resAlt = await decryptJson(cipherAlt, key)\n // fail()\n // } catch (err) {}\n // })\n})\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAOA,IAAM,MAAM,cAAc,aAAa;AAEvC,SAAS,UAAU,MAAM;AACvB,KAAG,8BAA8B,MAAM;AACrC,WAAO,YAAY,IAAI,WAAW,CAAC,GAAG,IAAI,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI;AACxE,UAAM,OAAqB,MAAM,MAAM,MAAM,MAAM,GAAG,CAAC,EAAE;AAAA,MAAI,MAC3D,iBAAiB,CAAC;AAAA,IACpB;AACA,QAAI;AACJ,WAAQ,KAAK,KAAK,IAAI,GAAI;AAExB,aAAO,YAAY,IAAI,IAAI,WAAW,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE;AAAA,QAChE;AAAA,MACF;AACA,aAAO,IAAI,MAAM,EAAE,KAAK,CAAC;AACzB,aAAO,IAAI,EAAE,IAAI,UAAU,EAAE;AAAA,IAC/B;AAAA,EACF,CAAC;AAED,KAAG,iBAAiB,YAAY;AAC9B,WAAO,MAAM,MAAM,OAAO,KAAK,CAAC,CAAC,EAAE;AAAA,MACjC;AAAA,IACF;AACA,WAAO,MAAM,OAAO,IAAI,WAAW,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,sBAAsB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,CAmCzE;AAAA,EACC,CAAC;AAsBD,KAAG,oBAAoB,YAAY;AACjC,UAAM,MAAM,MAAM,gBAAgB,IAAI,WAAW,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG;AAAA,MAC3D,MAAM,IAAI,WAAW,CAAC,GAAG,GAAG,CAAC,CAAC;AAAA,IAChC,CAAC;AACD,UAAM,SAAS,IAAI,WAAW,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC;AAC5D,UAAM,SAAS,MAAM,QAAQ,QAAQ,GAAG;AAGxC,UAAM,MAAM,MAAM,QAAQ,QAAQ,GAAG;AACrC,WAAO,YAAY,QAAQ,GAAG,CAAC,EAAE,KAAK,IAAI;AAE1C,UAAM,SAAS,MAAM;AAAA,MACnB,IAAI,WAAW;AAAA,QACb;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF,CAAC;AAAA,MACD;AAAA,IACF;AACA,WAAO,MAAM,EAAE,QAAQ,MAAM;AAAA,EAC/B,CAAC;AA8BH,CAAC;","names":[]}
@@ -3,12 +3,14 @@
3
3
 
4
4
 
5
5
  var _chunk4HLDMY5Ucjs = require('../chunk-4HLDMY5U.cjs');
6
- require('../chunk-BPNZP36A.cjs');
6
+ require('../chunk-VFIICDKU.cjs');
7
7
  require('../chunk-A4VFMLAN.cjs');
8
8
  require('../chunk-RZKLDILW.cjs');
9
9
  require('../chunk-DRTH56G4.cjs');
10
10
  require('../chunk-XWE2OTGL.cjs');
11
11
  require('../chunk-KTC5RW57.cjs');
12
+ require('../chunk-XR7AMYN7.cjs');
13
+ require('../chunk-B4JXPT6I.cjs');
12
14
  require('../chunk-ZTXHUURC.cjs');
13
15
  require('../chunk-NEUX2E3A.cjs');
14
16
  require('../chunk-RKOTNV3K.cjs');
@@ -3,12 +3,14 @@ import {
3
3
  csvParseToObjects,
4
4
  csvStringify
5
5
  } from "../chunk-B44DP4LU.js";
6
- import "../chunk-N76BJLOM.js";
6
+ import "../chunk-3KKFLSLG.js";
7
7
  import "../chunk-5Y3HYG6B.js";
8
8
  import "../chunk-FPJHSFML.js";
9
9
  import "../chunk-XSB2WAW2.js";
10
10
  import "../chunk-NYCGHEIN.js";
11
11
  import "../chunk-AS5LR4AI.js";
12
+ import "../chunk-2H4XRKWS.js";
13
+ import "../chunk-NSJKG6AJ.js";
12
14
  import "../chunk-XHROZN2O.js";
13
15
  import "../chunk-3SMFSMCY.js";
14
16
  import "../chunk-X2DIUKLP.js";
@@ -3,12 +3,14 @@
3
3
 
4
4
 
5
5
  var _chunk4HLDMY5Ucjs = require('../chunk-4HLDMY5U.cjs');
6
- require('../chunk-BPNZP36A.cjs');
6
+ require('../chunk-VFIICDKU.cjs');
7
7
  require('../chunk-A4VFMLAN.cjs');
8
8
  require('../chunk-RZKLDILW.cjs');
9
9
  require('../chunk-DRTH56G4.cjs');
10
10
  require('../chunk-XWE2OTGL.cjs');
11
11
  require('../chunk-KTC5RW57.cjs');
12
+ require('../chunk-XR7AMYN7.cjs');
13
+ require('../chunk-B4JXPT6I.cjs');
12
14
  require('../chunk-ZTXHUURC.cjs');
13
15
  require('../chunk-NEUX2E3A.cjs');
14
16
  require('../chunk-RKOTNV3K.cjs');
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/common/csv.spec.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,SAAS,YAAY,MAAM;AACzB,KAAG,uBAAuB,YAAY;AACpC,UAAM,MAAM,aAAa;AAAA,MACvB,CAAC,GAAG,OAAO,MAAM,QAAQ,IAAI;AAAA,MAC7B,CAAC,GAAG,cAAc,MAAM,QAAW,IAAI;AAAA,MACvC,CAAC,GAAG,eAAe,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC;AAAA,IAC5C,CAAC;AACD,WAAO,GAAG,EAAE,sBAAsB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KAMjC;AAED,WAAO,SAAS,GAAG,CAAC,EAAE,sBAAsB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KAyB3C;AAAA,EACH,CAAC;AAED,KAAG,gBAAgB,MAAM;AACvB,UAAM,SAAS;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAYf,UAAM,OAAO,kBAAkB,QAAQ,EAAE,WAAW,IAAI,CAAC;AACzD,WAAO,KAAK,MAAM,GAAG,CAAC,CAAC,EAAE,sBAAsB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KAmD9C;AAED,UAAM,OAAO,SAAS,QAAQ,EAAE,WAAW,IAAI,CAAC;AAChD,WAAO,KAAK,MAAM,GAAG,CAAC,CAAC,EAAE,sBAAsB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KAmD9C;AAAA,EACH,CAAC;AACH,CAAC","sourcesContent":["import { csvParse, csvParseToObjects, csvStringify } from './csv'\n\ndescribe('csv.spec', () => {\n it('should generate csv', async () => {\n const txt = csvStringify([\n [1, 'one', 1e10, '1e10', 1.23],\n [2, 'two\\nlines', null, undefined, true],\n [3, 'tree \"drei\"', {}, { a: 1 }, [1, 2, 3]],\n ])\n expect(txt).toMatchInlineSnapshot(`\n \"1,one,10000000000,1e10,1.23\n 2,\"two\n lines\",,,1\n 3,\"tree \"\"drei\"\"\",{},\"{\"\"a\"\":1}\",\"[1,2,3]\"\n \"\n `)\n\n expect(csvParse(txt)).toMatchInlineSnapshot(`\n Array [\n Array [\n \"1\",\n \"one\",\n \"10000000000\",\n \"1e10\",\n \"1.23\",\n ],\n Array [\n \"2\",\n \"two\n lines\",\n \"\",\n \"\",\n \"1\",\n ],\n Array [\n \"3\",\n \"tree \"drei\"\",\n \"{}\",\n \"{\"a\":1}\",\n \"[1,2,3]\",\n ],\n ]\n `)\n })\n\n it('should parse', () => {\n const sample = `\\\n\"Zeitpunkt\";\"timestamp\";\"D0\";\"V0\";\"V0_max\";\"T0\";\"F0\";\"G0\";\"S0\";\"R0\";\"M0\";\"T1\";\"L0\";\"L0_nn\"\n\"26.10.2022, 23:00\";\"1666825201\";\"155\";\"4\";\"6\";\"146\";\"80\";\"9\";\"0\";\"0\";\"0\";\"135\";\"0\";\"10102\"\n\"26.10.2022, 23:10\";\"1666825801\";\"161\";\"4\";\"7\";\"145\";\"80\";\"8\";\"0\";\"0\";\"0\";\"135\";\"0\";\"10102\"\n\"26.10.2022, 23:20\";\"1666826401\";\"160\";\"4\";\"7\";\"145\";\"81\";\"9\";\"0\";\"0\";\"0\";\"135\";\"0\";\"10102\"\n\"26.10.2022, 23:30\";\"1666827001\";\"160\";\"4\";\"7\";\"145\";\"81\";\"8\";\"0\";\"0\";\"0\";\"134\";\"0\";\"10102\"\n\"26.10.2022, 23:40\";\"1666827601\";\"151\";\"4\";\"7\";\"145\";\"81\";\"9\";\"0\";\"0\";\"0\";\"134\";\"0\";\"10102\"\n\"26.10.2022, 23:50\";\"1666828201\";\"149\";\"4\";\"7\";\"147\";\"80\";\"9\";\"0\";\"0\";\"0\";\"137\";\"0\";\"10102\"\n\"27.10.2022, 00:00\";\"1666828801\";\"151\";\"4\";\"7\";\"147\";\"80\";\"9\";\"0\";\"0\";\"0\";\"137\";\"0\";\"10102\"\n\"27.10.2022, 00:10\";\"1666829401\";\"154\";\"4\";\"6\";\"148\";\"80\";\"9\";\"0\";\"0\";\"0\";\"137\";\"0\";\"10102\"\n\"27.10.2022, 00:20\";\"1666830001\";\"150\";\"4\";\"7\";\"147\";\"80\";\"9\";\"0\";\"0\";\"0\";\"137\";\"0\";\"10102\"`\n\n const objs = csvParseToObjects(sample, { separator: ';' })\n expect(objs.slice(0, 3)).toMatchInlineSnapshot(`\n Array [\n Object {\n \"D0\": \"155\",\n \"F0\": \"80\",\n \"G0\": \"9\",\n \"L0\": \"0\",\n \"L0_nn\": \"10102\",\n \"M0\": \"0\",\n \"R0\": \"0\",\n \"S0\": \"0\",\n \"T0\": \"146\",\n \"T1\": \"135\",\n \"V0\": \"4\",\n \"V0_max\": \"6\",\n \"Zeitpunkt\": \"26.10.2022, 23:00\",\n \"timestamp\": \"1666825201\",\n },\n Object {\n \"D0\": \"161\",\n \"F0\": \"80\",\n \"G0\": \"8\",\n \"L0\": \"0\",\n \"L0_nn\": \"10102\",\n \"M0\": \"0\",\n \"R0\": \"0\",\n \"S0\": \"0\",\n \"T0\": \"145\",\n \"T1\": \"135\",\n \"V0\": \"4\",\n \"V0_max\": \"7\",\n \"Zeitpunkt\": \"26.10.2022, 23:10\",\n \"timestamp\": \"1666825801\",\n },\n Object {\n \"D0\": \"160\",\n \"F0\": \"81\",\n \"G0\": \"9\",\n \"L0\": \"0\",\n \"L0_nn\": \"10102\",\n \"M0\": \"0\",\n \"R0\": \"0\",\n \"S0\": \"0\",\n \"T0\": \"145\",\n \"T1\": \"135\",\n \"V0\": \"4\",\n \"V0_max\": \"7\",\n \"Zeitpunkt\": \"26.10.2022, 23:20\",\n \"timestamp\": \"1666826401\",\n },\n ]\n `)\n\n const data = csvParse(sample, { separator: ';' })\n expect(data.slice(0, 3)).toMatchInlineSnapshot(`\n Array [\n Array [\n \"Zeitpunkt\",\n \"timestamp\",\n \"D0\",\n \"V0\",\n \"V0_max\",\n \"T0\",\n \"F0\",\n \"G0\",\n \"S0\",\n \"R0\",\n \"M0\",\n \"T1\",\n \"L0\",\n \"L0_nn\",\n ],\n Array [\n \"26.10.2022, 23:00\",\n \"1666825201\",\n \"155\",\n \"4\",\n \"6\",\n \"146\",\n \"80\",\n \"9\",\n \"0\",\n \"0\",\n \"0\",\n \"135\",\n \"0\",\n \"10102\",\n ],\n Array [\n \"26.10.2022, 23:10\",\n \"1666825801\",\n \"161\",\n \"4\",\n \"7\",\n \"145\",\n \"80\",\n \"8\",\n \"0\",\n \"0\",\n \"0\",\n \"135\",\n \"0\",\n \"10102\",\n ],\n ]\n `)\n })\n})\n"]}
1
+ {"version":3,"sources":["../../src/common/csv.spec.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,SAAS,YAAY,MAAM;AACzB,KAAG,uBAAuB,YAAY;AACpC,UAAM,MAAM,aAAa;AAAA,MACvB,CAAC,GAAG,OAAO,MAAM,QAAQ,IAAI;AAAA,MAC7B,CAAC,GAAG,cAAc,MAAM,QAAW,IAAI;AAAA,MACvC,CAAC,GAAG,eAAe,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC;AAAA,IAC5C,CAAC;AACD,WAAO,GAAG,EAAE,sBAAsB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KAMjC;AAED,WAAO,SAAS,GAAG,CAAC,EAAE,sBAAsB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KAyB3C;AAAA,EACH,CAAC;AAED,KAAG,gBAAgB,MAAM;AACvB,UAAM,SAAS;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAYf,UAAM,OAAO,kBAAkB,QAAQ,EAAE,WAAW,IAAI,CAAC;AACzD,WAAO,KAAK,MAAM,GAAG,CAAC,CAAC,EAAE,sBAAsB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KAmD9C;AAED,UAAM,OAAO,SAAS,QAAQ,EAAE,WAAW,IAAI,CAAC;AAChD,WAAO,KAAK,MAAM,GAAG,CAAC,CAAC,EAAE,sBAAsB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KAmD9C;AAAA,EACH,CAAC;AACH,CAAC","sourcesContent":["import { csvParse, csvParseToObjects, csvStringify } from './csv'\n\ndescribe('csv.spec', () => {\n it('should generate csv', async () => {\n const txt = csvStringify([\n [1, 'one', 1e10, '1e10', 1.23],\n [2, 'two\\nlines', null, undefined, true],\n [3, 'tree \"drei\"', {}, { a: 1 }, [1, 2, 3]],\n ])\n expect(txt).toMatchInlineSnapshot(`\n \"1,one,10000000000,1e10,1.23\n 2,\"two\n lines\",,,1\n 3,\"tree \"\"drei\"\"\",{},\"{\"\"a\"\":1}\",\"[1,2,3]\"\n \"\n `)\n\n expect(csvParse(txt)).toMatchInlineSnapshot(`\n Array [\n Array [\n \"1\",\n \"one\",\n \"10000000000\",\n \"1e10\",\n \"1.23\",\n ],\n Array [\n \"2\",\n \"two\n lines\",\n \"\",\n \"\",\n \"1\",\n ],\n Array [\n \"3\",\n \"tree \"drei\"\",\n \"{}\",\n \"{\"a\":1}\",\n \"[1,2,3]\",\n ],\n ]\n `)\n })\n\n it('should parse', () => {\n const sample = `\\\n\"Zeitpunkt\";\"timestamp\";\"D0\";\"V0\";\"V0_max\";\"T0\";\"F0\";\"G0\";\"S0\";\"R0\";\"M0\";\"T1\";\"L0\";\"L0_nn\"\n\"26.10.2022, 23:00\";\"1666825201\";\"155\";\"4\";\"6\";\"146\";\"80\";\"9\";\"0\";\"0\";\"0\";\"135\";\"0\";\"10102\"\n\"26.10.2022, 23:10\";\"1666825801\";\"161\";\"4\";\"7\";\"145\";\"80\";\"8\";\"0\";\"0\";\"0\";\"135\";\"0\";\"10102\"\n\"26.10.2022, 23:20\";\"1666826401\";\"160\";\"4\";\"7\";\"145\";\"81\";\"9\";\"0\";\"0\";\"0\";\"135\";\"0\";\"10102\"\n\"26.10.2022, 23:30\";\"1666827001\";\"160\";\"4\";\"7\";\"145\";\"81\";\"8\";\"0\";\"0\";\"0\";\"134\";\"0\";\"10102\"\n\"26.10.2022, 23:40\";\"1666827601\";\"151\";\"4\";\"7\";\"145\";\"81\";\"9\";\"0\";\"0\";\"0\";\"134\";\"0\";\"10102\"\n\"26.10.2022, 23:50\";\"1666828201\";\"149\";\"4\";\"7\";\"147\";\"80\";\"9\";\"0\";\"0\";\"0\";\"137\";\"0\";\"10102\"\n\"27.10.2022, 00:00\";\"1666828801\";\"151\";\"4\";\"7\";\"147\";\"80\";\"9\";\"0\";\"0\";\"0\";\"137\";\"0\";\"10102\"\n\"27.10.2022, 00:10\";\"1666829401\";\"154\";\"4\";\"6\";\"148\";\"80\";\"9\";\"0\";\"0\";\"0\";\"137\";\"0\";\"10102\"\n\"27.10.2022, 00:20\";\"1666830001\";\"150\";\"4\";\"7\";\"147\";\"80\";\"9\";\"0\";\"0\";\"0\";\"137\";\"0\";\"10102\"`\n\n const objs = csvParseToObjects(sample, { separator: ';' })\n expect(objs.slice(0, 3)).toMatchInlineSnapshot(`\n Array [\n Object {\n \"D0\": \"155\",\n \"F0\": \"80\",\n \"G0\": \"9\",\n \"L0\": \"0\",\n \"L0_nn\": \"10102\",\n \"M0\": \"0\",\n \"R0\": \"0\",\n \"S0\": \"0\",\n \"T0\": \"146\",\n \"T1\": \"135\",\n \"V0\": \"4\",\n \"V0_max\": \"6\",\n \"Zeitpunkt\": \"26.10.2022, 23:00\",\n \"timestamp\": \"1666825201\",\n },\n Object {\n \"D0\": \"161\",\n \"F0\": \"80\",\n \"G0\": \"8\",\n \"L0\": \"0\",\n \"L0_nn\": \"10102\",\n \"M0\": \"0\",\n \"R0\": \"0\",\n \"S0\": \"0\",\n \"T0\": \"145\",\n \"T1\": \"135\",\n \"V0\": \"4\",\n \"V0_max\": \"7\",\n \"Zeitpunkt\": \"26.10.2022, 23:10\",\n \"timestamp\": \"1666825801\",\n },\n Object {\n \"D0\": \"160\",\n \"F0\": \"81\",\n \"G0\": \"9\",\n \"L0\": \"0\",\n \"L0_nn\": \"10102\",\n \"M0\": \"0\",\n \"R0\": \"0\",\n \"S0\": \"0\",\n \"T0\": \"145\",\n \"T1\": \"135\",\n \"V0\": \"4\",\n \"V0_max\": \"7\",\n \"Zeitpunkt\": \"26.10.2022, 23:20\",\n \"timestamp\": \"1666826401\",\n },\n ]\n `)\n\n const data = csvParse(sample, { separator: ';' })\n expect(data.slice(0, 3)).toMatchInlineSnapshot(`\n Array [\n Array [\n \"Zeitpunkt\",\n \"timestamp\",\n \"D0\",\n \"V0\",\n \"V0_max\",\n \"T0\",\n \"F0\",\n \"G0\",\n \"S0\",\n \"R0\",\n \"M0\",\n \"T1\",\n \"L0\",\n \"L0_nn\",\n ],\n Array [\n \"26.10.2022, 23:00\",\n \"1666825201\",\n \"155\",\n \"4\",\n \"6\",\n \"146\",\n \"80\",\n \"9\",\n \"0\",\n \"0\",\n \"0\",\n \"135\",\n \"0\",\n \"10102\",\n ],\n Array [\n \"26.10.2022, 23:10\",\n \"1666825801\",\n \"161\",\n \"4\",\n \"7\",\n \"145\",\n \"80\",\n \"8\",\n \"0\",\n \"0\",\n \"0\",\n \"135\",\n \"0\",\n \"10102\",\n ],\n ]\n `)\n })\n})\n"]}