zeed 0.25.5 → 0.25.7

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 (68) hide show
  1. package/dist/browser/localstorage.spec.cjs +4 -4
  2. package/dist/browser/localstorage.spec.js +4 -4
  3. package/dist/{chunk-FHQNJSUC.cjs → chunk-2OPCE6YZ.cjs} +17 -2
  4. package/dist/chunk-2OPCE6YZ.cjs.map +1 -0
  5. package/dist/{chunk-W6VAQS23.cjs → chunk-C52O5SZ2.cjs} +5 -2
  6. package/dist/chunk-C52O5SZ2.cjs.map +1 -0
  7. package/dist/{chunk-5DS3NT57.js → chunk-D3JF6HTL.js} +3 -3
  8. package/dist/chunk-D3JF6HTL.js.map +1 -0
  9. package/dist/{chunk-XC5GAA5P.js → chunk-GBF7F7TQ.js} +2 -2
  10. package/dist/{chunk-B3U4FDQH.cjs → chunk-I44ZAZ4K.cjs} +3 -3
  11. package/dist/chunk-I44ZAZ4K.cjs.map +1 -0
  12. package/dist/{chunk-U2HB2W6R.js → chunk-OKCAAGML.js} +5 -2
  13. package/dist/chunk-OKCAAGML.js.map +1 -0
  14. package/dist/{chunk-BZRAX2XZ.js → chunk-V4QYOVRJ.js} +17 -2
  15. package/dist/{chunk-BZRAX2XZ.js.map → chunk-V4QYOVRJ.js.map} +1 -1
  16. package/dist/{chunk-GYJO5LFO.cjs → chunk-WHYGPWH2.cjs} +4 -4
  17. package/dist/{chunk-GYJO5LFO.cjs.map → chunk-WHYGPWH2.cjs.map} +1 -1
  18. package/dist/common/bin/index.cjs +2 -2
  19. package/dist/common/bin/index.js +1 -1
  20. package/dist/common/bin/index.spec.cjs +11 -11
  21. package/dist/common/bin/index.spec.js +4 -4
  22. package/dist/common/crypto.spec.cjs +4 -4
  23. package/dist/common/crypto.spec.js +4 -4
  24. package/dist/common/data/bin.spec.cjs +17 -3
  25. package/dist/common/data/bin.spec.cjs.map +1 -1
  26. package/dist/common/data/bin.spec.js +17 -3
  27. package/dist/common/data/bin.spec.js.map +1 -1
  28. package/dist/common/data/datauri.cjs +18 -2
  29. package/dist/common/data/datauri.cjs.map +1 -1
  30. package/dist/common/data/datauri.js +17 -1
  31. package/dist/common/data/datauri.spec.cjs +21 -5
  32. package/dist/common/data/datauri.spec.cjs.map +1 -1
  33. package/dist/common/data/datauri.spec.js +17 -1
  34. package/dist/common/data/datauri.spec.js.map +1 -1
  35. package/dist/common/data/day-legacy.cjs +3 -3
  36. package/dist/common/data/day-legacy.js +2 -2
  37. package/dist/common/data/day.cjs +2 -2
  38. package/dist/common/data/day.js +1 -1
  39. package/dist/common/data/day.spec.cjs +45 -45
  40. package/dist/common/data/day.spec.js +2 -2
  41. package/dist/common/data/index.cjs +18 -4
  42. package/dist/common/data/index.cjs.map +1 -1
  43. package/dist/common/data/index.js +17 -3
  44. package/dist/common/data/sorted.spec.cjs +4 -4
  45. package/dist/common/data/sorted.spec.js +4 -4
  46. package/dist/common/index.cjs +5 -5
  47. package/dist/common/index.js +4 -4
  48. package/dist/common/msg/encoder.spec.cjs +4 -4
  49. package/dist/common/msg/encoder.spec.js +4 -4
  50. package/dist/common/msg/rpc.spec.cjs +5 -5
  51. package/dist/common/msg/rpc.spec.js +1 -1
  52. package/dist/common/schema/schema.spec.cjs +17 -3
  53. package/dist/common/schema/schema.spec.cjs.map +1 -1
  54. package/dist/common/schema/schema.spec.js +17 -3
  55. package/dist/common/schema/schema.spec.js.map +1 -1
  56. package/dist/index.all.cjs +5 -5
  57. package/dist/index.all.js +4 -4
  58. package/dist/index.browser.cjs +5 -5
  59. package/dist/index.browser.js +4 -4
  60. package/dist/index.node.cjs +5 -5
  61. package/dist/index.node.js +4 -4
  62. package/package.json +1 -1
  63. package/dist/chunk-5DS3NT57.js.map +0 -1
  64. package/dist/chunk-B3U4FDQH.cjs.map +0 -1
  65. package/dist/chunk-FHQNJSUC.cjs.map +0 -1
  66. package/dist/chunk-U2HB2W6R.js.map +0 -1
  67. package/dist/chunk-W6VAQS23.cjs.map +0 -1
  68. /package/dist/{chunk-XC5GAA5P.js.map → chunk-GBF7F7TQ.js.map} +0 -0
@@ -31,10 +31,10 @@ require('../chunk-N7OUNPMM.cjs');
31
31
  require('../chunk-XW3B3FUP.cjs');
32
32
  require('../chunk-FEYF6QXS.cjs');
33
33
  require('../chunk-SFVQNT7T.cjs');
34
- require('../chunk-W6VAQS23.cjs');
35
- require('../chunk-GYJO5LFO.cjs');
36
- require('../chunk-B3U4FDQH.cjs');
37
- require('../chunk-FHQNJSUC.cjs');
34
+ require('../chunk-C52O5SZ2.cjs');
35
+ require('../chunk-WHYGPWH2.cjs');
36
+ require('../chunk-I44ZAZ4K.cjs');
37
+ require('../chunk-2OPCE6YZ.cjs');
38
38
  require('../chunk-UFTHLJFJ.cjs');
39
39
  require('../chunk-V3MFEGRK.cjs');
40
40
  require('../chunk-2UTQQDPY.cjs');
@@ -31,10 +31,10 @@ import "../chunk-73CVRDI7.js";
31
31
  import "../chunk-OP4KFE7G.js";
32
32
  import "../chunk-DGP32WEQ.js";
33
33
  import "../chunk-EDNCPFSF.js";
34
- import "../chunk-U2HB2W6R.js";
35
- import "../chunk-XC5GAA5P.js";
36
- import "../chunk-5DS3NT57.js";
37
- import "../chunk-BZRAX2XZ.js";
34
+ import "../chunk-OKCAAGML.js";
35
+ import "../chunk-GBF7F7TQ.js";
36
+ import "../chunk-D3JF6HTL.js";
37
+ import "../chunk-V4QYOVRJ.js";
38
38
  import "../chunk-DVBRAJ3X.js";
39
39
  import "../chunk-SZJLXMYP.js";
40
40
  import "../chunk-GKKLBSFA.js";
@@ -102,7 +102,22 @@ function bitfield(bitfield2 = 0) {
102
102
  };
103
103
  }
104
104
  async function blobToArrayBuffer(blob) {
105
- return await blob.arrayBuffer();
105
+ if (blob.arrayBuffer)
106
+ return await blob.arrayBuffer();
107
+ try {
108
+ return new Promise((resolve, reject) => {
109
+ try {
110
+ const reader = new FileReader();
111
+ reader.onloadend = () => resolve(reader.result);
112
+ reader.onerror = (err) => reject(err);
113
+ reader.onabort = (err) => reject(err);
114
+ reader.readAsArrayBuffer(blob);
115
+ } catch (err) {
116
+ reject(err);
117
+ }
118
+ });
119
+ } catch (err) {
120
+ }
106
121
  }
107
122
  async function blobToUint8Array(blob) {
108
123
  const buffer = await blobToArrayBuffer(blob);
@@ -120,4 +135,4 @@ async function blobToUint8Array(blob) {
120
135
 
121
136
 
122
137
  exports.BinaryEncoder = BinaryEncoder; exports.encodeJson = encodeJson; exports.decodeJson = decodeJson; exports.createBinaryStreamEncoder = createBinaryStreamEncoder; exports.createBinaryStreamDecoder = createBinaryStreamDecoder; exports.bitfield = bitfield; exports.blobToArrayBuffer = blobToArrayBuffer; exports.blobToUint8Array = blobToUint8Array;
123
- //# sourceMappingURL=chunk-FHQNJSUC.cjs.map
138
+ //# sourceMappingURL=chunk-2OPCE6YZ.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["/home/runner/work/zeed/zeed/dist/chunk-2OPCE6YZ.cjs","../src/common/bin/index.ts"],"names":["bitfield"],"mappings":"AAAA;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACF,wDAA6B;AAC7B;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACF,wDAA6B;AAC7B;AACE;AACF,wDAA6B;AAC7B;AACE;AACF,wDAA6B;AAC7B;AACA;AC1BO,IAAM,cAAA,EAAN,MAAuC;AAAA,EAC5C,MAAM,MAAA,CAAO,IAAA,EAAgC;AAC3C,IAAA,MAAM,YAAA,EAAc,gDAAA,CAAiB;AACrC,IAAA,wCAAA,WAAS,EAAa,IAAI,CAAA;AAC1B,IAAA,OAAO,kDAAA,WAA8B,CAAA;AAAA,EACvC;AAAA,EAEA,MAAM,MAAA,CAAO,IAAA,EAA8C;AACzD,IAAA,OAAO,uCAAA,6CAAQ,4CAAc,IAAiB,CAAC,CAAC,CAAA;AAAA,EAClD;AACF,CAAA;AAKO,SAAS,UAAA,CAAW,IAAA,EAAuB;AAChD,EAAA,MAAM,YAAA,EAAc,gDAAA,CAAiB;AACrC,EAAA,wCAAA,WAAS,EAAa,IAAI,CAAA;AAC1B,EAAA,OAAO,kDAAA,WAA8B,CAAA;AACvC;AAGO,SAAS,UAAA,CAAW,IAAA,EAAqC;AAC9D,EAAA,OAAO,uCAAA,6CAAQ,4CAAc,IAAiB,CAAC,CAAC,CAAA;AAClD;AAKO,SAAS,yBAAA,CAA0B,WAAA,EAAwB;AAChE,EAAA,MAAM,YAAA,EAAc,gDAAA,CAAiB;AAErC,EAAA,GAAA,CAAI,YAAA,GAAe,IAAA;AACjB,IAAA,+CAAA,WAAgB,EAAa,4CAAA,WAAwB,CAAC,CAAA;AAExD,EAAA,OAAO;AAAA;AAAA,IAEL,UAAA,EAAY,CAAC,IAAA,EAAgB,cAAA,EAAA,GAA2B;AACtD,MAAA,MAAM,IAAA,EAAM,4CAAA,IAAiB,CAAA;AAC7B,MAAA,+CAAA,CAAgB,CAAE,eAAA,GAAkB,KAAA,GAAQ,GAAA,CAAI,OAAA,IAAW,cAAA,CAAA,EAAiB,CAAA,SAAA,EAAY,cAAc,CAAA,YAAA,EAAe,GAAA,CAAI,MAAM,CAAA,CAAA;AAC/F,MAAA;AAClC,IAAA;AACqF,IAAA;AACvB,IAAA;AACJ,IAAA;AACE,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACM,IAAA;AAClB,IAAA;AACe,IAAA;AAC5B,IAAA;AACrC,EAAA;AACF;AAG0D;AACJ,EAAA;AAC7C,EAAA;AACkE,IAAA;AACV,IAAA;AACX,IAAA;AACJ,IAAA;AACE,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACM,IAAA;AAClB,IAAA;AACQ,IAAA;AAC9C,EAAA;AACF;AAGuC;AAC9B,EAAA;AAC+F,IAAA;AAC/C,IAAA;AACC,IAAA;AACQ,IAAA;AAC9CA,IAAAA;AAClB,EAAA;AACF;AAI6F;AAClF,EAAA;AACuB,IAAA;AAG5B,EAAA;AACsC,IAAA;AAClC,MAAA;AAC4B,QAAA;AAC+B,QAAA;AAC3B,QAAA;AACA,QAAA;AACL,QAAA;AAEnB,MAAA;AACA,QAAA;AACZ,MAAA;AACD,IAAA;AAES,EAAA;AAAC,EAAA;AACf;AAE2F;AAC9C,EAAA;AAC7B,EAAA;AACc,IAAA;AAC9B;ADIsI;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","file":"/home/runner/work/zeed/zeed/dist/chunk-2OPCE6YZ.cjs","sourcesContent":[null,"import type { BinInput } from '../data/bin'\nimport type { Encoder } from '../msg/encoder'\nimport { assertCondition } from '../assert'\nimport { toUint8Array } from '../data/bin'\nimport { createDecoder, readAny, readFloat32, readUint8, readUint8Array, readUint16, readUint32, readVarInt, readVarString, readVarUint, readVarUint8Array } from './lib0/decoding'\nimport { createBinEncoder, encodeToUint8Array, length, writeAny, writeFloat32, writeUint8, writeUint8Array, writeUint16, writeUint32, writeVarInt, writeVarString, writeVarUint, writeVarUint8Array } from './lib0/encoding'\n\n// Use in Zeed channels\n\nexport class BinaryEncoder implements Encoder {\n async encode(data: any): Promise<Uint8Array> {\n const dataEncoder = createBinEncoder()\n writeAny(dataEncoder, data)\n return encodeToUint8Array(dataEncoder)\n }\n\n async decode(data: Uint8Array | ArrayBuffer): Promise<any> {\n return readAny(createDecoder(toUint8Array(data)))\n }\n}\n\n// Json like\n\n/** Encode any object, including Uint8Array data */\nexport function encodeJson(data: any): Uint8Array {\n const dataEncoder = createBinEncoder()\n writeAny(dataEncoder, data)\n return encodeToUint8Array(dataEncoder)\n}\n\n/** Decode any object, including Uint8Array data */\nexport function decodeJson(data: Uint8Array | ArrayBuffer): any {\n return readAny(createDecoder(toUint8Array(data)))\n}\n\n// Stream like\n\n/** Incrementally encode binary data */\nexport function createBinaryStreamEncoder(initialData?: BinInput) {\n const dataEncoder = createBinEncoder()\n\n if (initialData != null)\n writeUint8Array(dataEncoder, toUint8Array(initialData))\n\n return {\n /** Just writes the bytes. Length is not stored! */\n writeBytes: (data: BinInput, expectedLength: number) => {\n const bin = toUint8Array(data)\n assertCondition(!(expectedLength != null && bin.length !== expectedLength), `Expected ${expectedLength} bytes, got ${bin.length}`)\n writeUint8Array(dataEncoder, bin)\n },\n writeBytesVar: (data: BinInput) => writeVarUint8Array(dataEncoder, toUint8Array(data)),\n writeUintVar: (data: number) => writeVarUint(dataEncoder, data),\n writeUint8: (data: number) => writeUint8(dataEncoder, data),\n writeUint16: (data: number) => writeUint16(dataEncoder, data),\n writeUint32: (data: number) => writeUint32(dataEncoder, data),\n writeIntVar: (data: number) => writeVarInt(dataEncoder, data),\n writeFloat: (data: number) => writeFloat32(dataEncoder, data),\n writeStringVar: (data: string) => writeVarString(dataEncoder, data),\n write: (data: any) => writeAny(dataEncoder, data),\n getUint8Array: (): Uint8Array => encodeToUint8Array(dataEncoder),\n getLength: () => length(dataEncoder),\n }\n}\n\n/** Incrementally decode binary data */\nexport function createBinaryStreamDecoder(data: BinInput) {\n const dataDecoder = createDecoder(toUint8Array(data))\n return {\n readBytes: (len: number): Uint8Array => readUint8Array(dataDecoder, len),\n readBytesVar: (): Uint8Array => readVarUint8Array(dataDecoder),\n readUintVar: (): number => readVarUint(dataDecoder),\n readUint8: (): number => readUint8(dataDecoder),\n readUint16: (): number => readUint16(dataDecoder),\n readUint32: (): number => readUint32(dataDecoder),\n readIntVar: (): number => readVarInt(dataDecoder),\n readFloat: (): number => readFloat32(dataDecoder),\n readStringVar: (): string => readVarString(dataDecoder),\n read: (): any => readAny(dataDecoder),\n getOffset: (): number => dataDecoder.pos || 0,\n }\n}\n\n// https://stackoverflow.com/a/1436448/140927\nexport function bitfield(bitfield = 0) {\n return {\n setBit: (bit: number, value = true): number => value ? (bitfield |= 1 << bit) : (bitfield &= ~(1 << bit)),\n unsetBit: (bit: number): number => (bitfield &= 1 << bit),\n toggleBit: (bit: number): number => (bitfield ^= 1 << bit),\n getBit: (bit: number): boolean => (bitfield & (1 << bit)) !== 0,\n getValue: () => bitfield,\n }\n}\n\n// Cast\n\nexport async function blobToArrayBuffer(blob: Blob | File): Promise<ArrayBuffer | undefined> {\n if (blob.arrayBuffer)\n return await blob.arrayBuffer()\n\n // Fallback for older browsers\n try {\n return new Promise((resolve, reject) => {\n try {\n const reader = new FileReader()\n reader.onloadend = () => resolve(reader.result as ArrayBuffer)\n reader.onerror = err => reject(err)\n reader.onabort = err => reject(err)\n reader.readAsArrayBuffer(blob)\n }\n catch (err) {\n reject(err)\n }\n })\n }\n catch (err) {}\n}\n\nexport async function blobToUint8Array(blob: Blob | File): Promise<Uint8Array | undefined> {\n const buffer = await blobToArrayBuffer(blob)\n if (buffer != null)\n return toUint8Array(buffer)\n}\n"]}
@@ -1,5 +1,8 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
2
 
3
+ var _chunk2OPCE6YZcjs = require('./chunk-2OPCE6YZ.cjs');
4
+
5
+
3
6
 
4
7
  var _chunkEZB4PXZZcjs = require('./chunk-EZB4PXZZ.cjs');
5
8
 
@@ -19,7 +22,7 @@ function dataUriToBlob(dataUri) {
19
22
  }
20
23
  }
21
24
  async function blobToDataUri(blob) {
22
- const bin = await blob.arrayBuffer();
25
+ const bin = await _chunk2OPCE6YZcjs.blobToArrayBuffer.call(void 0, blob);
23
26
  if (bin)
24
27
  return `data:${blob.type},${_chunkEZB4PXZZcjs.toBase64.call(void 0, bin)}`;
25
28
  }
@@ -34,4 +37,4 @@ function Uint8ArrayToDataUri(bin, type = "application/octet-stream") {
34
37
 
35
38
 
36
39
  exports.dataUriToUint8Array = dataUriToUint8Array; exports.dataUriToMimeType = dataUriToMimeType; exports.dataUriToBlob = dataUriToBlob; exports.blobToDataUri = blobToDataUri; exports.Uint8ArrayToDataUri = Uint8ArrayToDataUri;
37
- //# sourceMappingURL=chunk-W6VAQS23.cjs.map
40
+ //# sourceMappingURL=chunk-C52O5SZ2.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["/home/runner/work/zeed/zeed/dist/chunk-C52O5SZ2.cjs","../src/common/data/datauri.ts"],"names":[],"mappings":"AAAA;AACE;AACF,wDAA6B;AAC7B;AACE;AACA;AACF,wDAA6B;AAC7B;AACA;ACLO,SAAS,mBAAA,CAAoB,OAAA,EAAyC;AAC3E,EAAA,GAAA,CAAI,OAAA,CAAQ,UAAA,CAAW,OAAO,CAAA;AAC5B,IAAA,OAAO,0CAAA,OAAW,CAAQ,KAAA,CAAM,GAAA,EAAK,CAAC,CAAA,CAAE,CAAC,CAAC,CAAA;AAC9C;AAEO,SAAS,iBAAA,CAAkB,OAAA,EAAqC;AACrE,EAAA,GAAA,CAAI,OAAA,CAAQ,UAAA,CAAW,OAAO,CAAA;AAC5B,IAAA,OAAO,OAAA,CAAQ,KAAA,CAAM,CAAC,CAAA,CAAE,KAAA,CAAM,GAAA,EAAK,CAAC,CAAA,CAAE,CAAC,CAAA;AAC3C;AAEO,SAAS,aAAA,CAAc,OAAA,EAAmC;AAC/D,EAAA,GAAA,CAAI,OAAA,CAAQ,UAAA,CAAW,OAAO,CAAA,EAAG;AAC/B,IAAA,MAAM,CAAC,UAAA,EAAY,YAAY,EAAA,EAAI,OAAA,CAAQ,KAAA,CAAM,CAAC,CAAA,CAAE,KAAA,CAAM,GAAA,EAAK,CAAC,CAAA;AAChE,IAAA,OAAO,IAAI,IAAA,CAAK,CAAC,0CAAA,YAAuB,CAAC,CAAA,EAAG,EAAE,IAAA,EAAM,WAAW,CAAC,CAAA;AAAA,EAClE;AACF;AAEA,MAAA,SAAsB,aAAA,CAAc,IAAA,EAAyC;AAC3E,EAAA,MAAM,IAAA,EAAM,MAAM,iDAAA,IAAsB,CAAA;AACxC,EAAA,GAAA,CAAI,GAAA;AACF,IAAA,OAAO,CAAA,KAAA,EAAQ,IAAA,CAAK,IAAI,CAAA,CAAA,EAAI,wCAAA,GAAY,CAAC,CAAA,CAAA;AAC7C;AAE4D;AACtB,EAAA;AACtC;ADG8C;AACA;AACA;AACA;AACA;AACA;AACA;AACA","file":"/home/runner/work/zeed/zeed/dist/chunk-C52O5SZ2.cjs","sourcesContent":[null,"import { blobToArrayBuffer } from '../bin'\nimport { fromBase64, toBase64 } from './bin'\n\nexport function dataUriToUint8Array(dataUri: string): Uint8Array | undefined {\n if (dataUri.startsWith('data:'))\n return fromBase64(dataUri.split(',', 2)[1])\n}\n\nexport function dataUriToMimeType(dataUri: string): string | undefined {\n if (dataUri.startsWith('data:'))\n return dataUri.slice(5).split(',', 2)[0]\n}\n\nexport function dataUriToBlob(dataUri: string): Blob | undefined {\n if (dataUri.startsWith('data:')) {\n const [mimeString, base64String] = dataUri.slice(5).split(',', 2)\n return new Blob([fromBase64(base64String)], { type: mimeString })\n }\n}\n\nexport async function blobToDataUri(blob: Blob): Promise<string | undefined> {\n const bin = await blobToArrayBuffer(blob)\n if (bin)\n return `data:${blob.type},${toBase64(bin)}`\n}\n\nexport function Uint8ArrayToDataUri(bin: Uint8Array, type = 'application/octet-stream'): string {\n return `data:${type},${toBase64(bin)}`\n}\n"]}
@@ -16,9 +16,9 @@ function dayToDate(day, utc = false) {
16
16
  return utc ? /* @__PURE__ */ new Date(`${dayToString(day)}T00:00:00.000Z`) : new Date(
17
17
  day / 1e4,
18
18
  // year
19
- day / 100 % 100 - 1,
19
+ Math.max(0, day / 100 % 100 - 1),
20
20
  // month
21
- day % 100
21
+ Math.max(1, day % 100)
22
22
  // day
23
23
  );
24
24
  }
@@ -147,4 +147,4 @@ export {
147
147
  dayRange,
148
148
  dayIterator
149
149
  };
150
- //# sourceMappingURL=chunk-5DS3NT57.js.map
150
+ //# sourceMappingURL=chunk-D3JF6HTL.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/common/data/day.ts"],"sourcesContent":["// Functional Variant\n\nexport const DAY_MS = 86400000 // 1000 * 60 * 60 * 24\n\nexport type DayValue = number\n\nexport type DayInput =\n | DayValue\n | number\n | string\n | Date\n | [number, number?, number?]\n\nexport function dayYear(day: DayValue): DayValue {\n return Math.floor(day / 10000)\n}\n\nexport function dayMonth(day: DayValue): DayValue {\n return Math.floor((day / 100) % 100)\n}\n\nexport function dayDay(day: DayValue): DayValue {\n return Math.floor(day % 100)\n}\n\nexport function dayToParts(day: DayValue): [number, number, number] {\n return [dayYear(day), dayMonth(day), dayDay(day)]\n}\n\nexport function dayToDate(day: DayValue, utc = false): Date {\n return utc\n ? new Date(`${dayToString(day)}T00:00:00.000Z`)\n : new Date(\n day / 10000, // year\n Math.max(0, ((day / 100) % 100) - 1), // month\n Math.max(1, day % 100), // day\n )\n}\n\nexport function dayFromToday(): DayValue {\n return dayFromDate(new Date())\n}\n\nexport function dayFromAny(\n value: DayInput,\n utc = false,\n): DayValue | undefined {\n if (typeof value === 'number') {\n if (value < 100)\n return\n return value\n }\n else if (typeof value === 'string') {\n return dayFromString(value)\n }\n else if (Array.isArray(value) && value.length === 3) {\n const [year, month, day] = value\n return dayFromParts(year, month, day)\n }\n else if (value instanceof Date) {\n return dayFromDate(value, utc)\n // } else if (value instanceof Day) {\n // return value.days\n }\n}\n\nexport function dayToDateUTC(day: DayValue): Date {\n return dayToDate(day, true)\n}\n\n/** @deprecated use dayToDateUTC */\nexport function dayToDateGMT(day: DayValue): Date {\n return dayToDate(day, true)\n}\n\nexport function dayFromDate(date: Date, utc = false): DayValue {\n return (\n utc\n ? dayFromString(date.toISOString())\n : date.getFullYear() * 10000\n + (date.getMonth() + 1) * 100\n + date.getDate()\n )!\n}\n\nexport function dayFromDateUTC(date: Date): DayValue {\n return dayFromDate(date, true)\n}\n\n/** @deprecated use dayFromDateUTC */\nexport function dayFromDateGMT(date: Date): DayValue {\n return dayFromDate(date, true)\n}\n\nexport function dayToTimestamp(day: DayValue, utc = true): number {\n return dayToDate(day, utc).getTime()\n}\n\nexport function dayFromTimestamp(ms: number, utc = true): DayValue {\n return dayFromDate(new Date(ms), utc)\n}\n\nexport function dayToString(day: DayValue, sep = '-') {\n const baseString = String(day)\n return (\n baseString.slice(0, 4) + sep\n + baseString.slice(4, 6) + sep\n + baseString.slice(6, 8)\n )\n}\n\n/// Day value from parts, returns undefined if invalid\nexport function dayFromParts(\n year: number,\n month = 1,\n day = 1,\n): DayValue | undefined {\n if (month < 1 || month > 12 || day < 1 || day > 31)\n return\n return year * 10000 + month * 100 + day\n}\n\n/// Day value from string, returns undefined if invalid\nexport function dayFromString(value: string): DayValue | undefined {\n const string = String(value)\n .replace(/\\D/g, '')\n .slice(0, 8)\n if (string.length === 8)\n return +string\n}\n\nexport function dayMonthStart(day: DayValue, offset = 0): DayValue {\n let year = dayYear(day)\n let month = dayMonth(day)\n if (offset !== 0) {\n month += offset\n year += Math.floor((month - 1) / 12)\n month = Math.floor((month - 1) % 12) + 1\n if (month === 0)\n month = 12\n }\n return dayFromParts(year, month, 1)!\n}\n\nexport function dayYearStart(day: DayValue, offset = 0): DayValue {\n const year = dayYear(day)\n return dayFromParts(year + offset, 1, 1)!\n}\n\nexport function dayOffset(day: DayValue, offset: number): DayValue {\n // Important! Don't use local time here due to summer/winter time days can\n // be longer or shorter!\n return dayFromTimestamp(dayToTimestamp(day) + offset * DAY_MS)\n}\n\nexport function dayDiff(left: DayValue, right: DayValue): number {\n return Math.round((dayToTimestamp(right) - dayToTimestamp(left)) / DAY_MS)\n}\n\n/** List of dates for loops */\nexport function dayRange(left: DayValue, right?: DayValue): number[] {\n const list: number[] = []\n\n if (right == null)\n right = dayFromToday()\n\n if (left < 0)\n left = dayOffset(right, left + 1)\n\n while (left <= right) {\n list.push(left)\n left = dayOffset(left, +1)\n }\n return list\n}\n\n/** Iterator, see dayRange */\nexport function* dayIterator(left: DayValue, right?: DayValue) {\n const list: number[] = []\n\n if (right == null)\n right = dayFromToday()\n\n if (left < 0)\n left = dayOffset(right, left + 1)\n\n while (left <= right) {\n yield left\n left = dayOffset(left, +1)\n }\n return list\n}\n"],"mappings":"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","names":[]}
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  DAY_MS
3
- } from "./chunk-5DS3NT57.js";
3
+ } from "./chunk-D3JF6HTL.js";
4
4
  import {
5
5
  isPromise
6
6
  } from "./chunk-L324TYGN.js";
@@ -159,4 +159,4 @@ export {
159
159
  day,
160
160
  dateStringToDays
161
161
  };
162
- //# sourceMappingURL=chunk-XC5GAA5P.js.map
162
+ //# sourceMappingURL=chunk-GBF7F7TQ.js.map
@@ -16,9 +16,9 @@ function dayToDate(day, utc = false) {
16
16
  return utc ? /* @__PURE__ */ new Date(`${dayToString(day)}T00:00:00.000Z`) : new Date(
17
17
  day / 1e4,
18
18
  // year
19
- day / 100 % 100 - 1,
19
+ Math.max(0, day / 100 % 100 - 1),
20
20
  // month
21
- day % 100
21
+ Math.max(1, day % 100)
22
22
  // day
23
23
  );
24
24
  }
@@ -147,4 +147,4 @@ function* dayIterator(left, right) {
147
147
 
148
148
 
149
149
  exports.DAY_MS = DAY_MS; exports.dayYear = dayYear; exports.dayMonth = dayMonth; exports.dayDay = dayDay; exports.dayToParts = dayToParts; exports.dayToDate = dayToDate; exports.dayFromToday = dayFromToday; exports.dayFromAny = dayFromAny; exports.dayToDateUTC = dayToDateUTC; exports.dayToDateGMT = dayToDateGMT; exports.dayFromDate = dayFromDate; exports.dayFromDateUTC = dayFromDateUTC; exports.dayFromDateGMT = dayFromDateGMT; exports.dayToTimestamp = dayToTimestamp; exports.dayFromTimestamp = dayFromTimestamp; exports.dayToString = dayToString; exports.dayFromParts = dayFromParts; exports.dayFromString = dayFromString; exports.dayMonthStart = dayMonthStart; exports.dayYearStart = dayYearStart; exports.dayOffset = dayOffset; exports.dayDiff = dayDiff; exports.dayRange = dayRange; exports.dayIterator = dayIterator;
150
- //# sourceMappingURL=chunk-B3U4FDQH.cjs.map
150
+ //# sourceMappingURL=chunk-I44ZAZ4K.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["/home/runner/work/zeed/zeed/dist/chunk-I44ZAZ4K.cjs","../src/common/data/day.ts"],"names":[],"mappings":"AAAA;ACEO,IAAM,OAAA,EAAS,KAAA;AAWf,SAAS,OAAA,CAAQ,GAAA,EAAyB;AAC/C,EAAA,OAAO,IAAA,CAAK,KAAA,CAAM,IAAA,EAAM,GAAK,CAAA;AAC/B;AAEO,SAAS,QAAA,CAAS,GAAA,EAAyB;AAChD,EAAA,OAAO,IAAA,CAAK,KAAA,CAAO,IAAA,EAAM,IAAA,EAAO,GAAG,CAAA;AACrC;AAEO,SAAS,MAAA,CAAO,GAAA,EAAyB;AAC9C,EAAA,OAAO,IAAA,CAAK,KAAA,CAAM,IAAA,EAAM,GAAG,CAAA;AAC7B;AAEO,SAAS,UAAA,CAAW,GAAA,EAAyC;AAClE,EAAA,OAAO,CAAC,OAAA,CAAQ,GAAG,CAAA,EAAG,QAAA,CAAS,GAAG,CAAA,EAAG,MAAA,CAAO,GAAG,CAAC,CAAA;AAClD;AAEO,SAAS,SAAA,CAAU,GAAA,EAAe,IAAA,EAAM,KAAA,EAAa;AAC1D,EAAA,OAAO,IAAA,kBACH,IAAI,IAAA,CAAK,CAAA,EAAA;AAEH,IAAA;AAAA;AAC6B,IAAA;AAAA;AACd,IAAA;AAAA;AACvB,EAAA;AACJ;AAEyC;AAChB,EAAA;AACzB;AAKwB;AACS,EAAA;AACjB,IAAA;AACV,MAAA;AACK,IAAA;AAE2B,EAAA;AACR,IAAA;AAEK,EAAA;AACJ,IAAA;AACS,IAAA;AAEN,EAAA;AACD,IAAA;AAG/B,EAAA;AACF;AAEkD;AACtB,EAAA;AAC5B;AAGkD;AACtB,EAAA;AAC5B;AAE+D;AAGpC,EAAA;AAK3B;AAEqD;AACtB,EAAA;AAC/B;AAGqD;AACtB,EAAA;AAC/B;AAEkE;AAC7B,EAAA;AACrC;AAEmD;AACb,EAAA;AACtC;AAEsD;AACvB,EAAA;AAGzB,EAAA;AAGN;AAME;AAEqC,EAAA;AACnC,IAAA;AACkC,EAAA;AACtC;AAGmE;AAEtD,EAAA;AAEW,EAAA;AACZ,IAAA;AACZ;AAEmE;AAC3C,EAAA;AACE,EAAA;AACN,EAAA;AACP,IAAA;AAC0B,IAAA;AACA,IAAA;AACrB,IAAA;AACJ,MAAA;AACZ,EAAA;AACkC,EAAA;AACpC;AAEkE;AACxC,EAAA;AACe,EAAA;AACzC;AAEmE;AAG1B,EAAA;AACzC;AAEiE;AACxB,EAAA;AACzC;AAGqE;AAC3C,EAAA;AAEX,EAAA;AACU,IAAA;AAEZ,EAAA;AACuB,IAAA;AAEZ,EAAA;AACN,IAAA;AACW,IAAA;AAC3B,EAAA;AACO,EAAA;AACT;AAG+D;AACrC,EAAA;AAEX,EAAA;AACU,IAAA;AAEZ,EAAA;AACuB,IAAA;AAEZ,EAAA;AACd,IAAA;AACmB,IAAA;AAC3B,EAAA;AACO,EAAA;AACT;ADrEyC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","file":"/home/runner/work/zeed/zeed/dist/chunk-I44ZAZ4K.cjs","sourcesContent":[null,"// Functional Variant\n\nexport const DAY_MS = 86400000 // 1000 * 60 * 60 * 24\n\nexport type DayValue = number\n\nexport type DayInput =\n | DayValue\n | number\n | string\n | Date\n | [number, number?, number?]\n\nexport function dayYear(day: DayValue): DayValue {\n return Math.floor(day / 10000)\n}\n\nexport function dayMonth(day: DayValue): DayValue {\n return Math.floor((day / 100) % 100)\n}\n\nexport function dayDay(day: DayValue): DayValue {\n return Math.floor(day % 100)\n}\n\nexport function dayToParts(day: DayValue): [number, number, number] {\n return [dayYear(day), dayMonth(day), dayDay(day)]\n}\n\nexport function dayToDate(day: DayValue, utc = false): Date {\n return utc\n ? new Date(`${dayToString(day)}T00:00:00.000Z`)\n : new Date(\n day / 10000, // year\n Math.max(0, ((day / 100) % 100) - 1), // month\n Math.max(1, day % 100), // day\n )\n}\n\nexport function dayFromToday(): DayValue {\n return dayFromDate(new Date())\n}\n\nexport function dayFromAny(\n value: DayInput,\n utc = false,\n): DayValue | undefined {\n if (typeof value === 'number') {\n if (value < 100)\n return\n return value\n }\n else if (typeof value === 'string') {\n return dayFromString(value)\n }\n else if (Array.isArray(value) && value.length === 3) {\n const [year, month, day] = value\n return dayFromParts(year, month, day)\n }\n else if (value instanceof Date) {\n return dayFromDate(value, utc)\n // } else if (value instanceof Day) {\n // return value.days\n }\n}\n\nexport function dayToDateUTC(day: DayValue): Date {\n return dayToDate(day, true)\n}\n\n/** @deprecated use dayToDateUTC */\nexport function dayToDateGMT(day: DayValue): Date {\n return dayToDate(day, true)\n}\n\nexport function dayFromDate(date: Date, utc = false): DayValue {\n return (\n utc\n ? dayFromString(date.toISOString())\n : date.getFullYear() * 10000\n + (date.getMonth() + 1) * 100\n + date.getDate()\n )!\n}\n\nexport function dayFromDateUTC(date: Date): DayValue {\n return dayFromDate(date, true)\n}\n\n/** @deprecated use dayFromDateUTC */\nexport function dayFromDateGMT(date: Date): DayValue {\n return dayFromDate(date, true)\n}\n\nexport function dayToTimestamp(day: DayValue, utc = true): number {\n return dayToDate(day, utc).getTime()\n}\n\nexport function dayFromTimestamp(ms: number, utc = true): DayValue {\n return dayFromDate(new Date(ms), utc)\n}\n\nexport function dayToString(day: DayValue, sep = '-') {\n const baseString = String(day)\n return (\n baseString.slice(0, 4) + sep\n + baseString.slice(4, 6) + sep\n + baseString.slice(6, 8)\n )\n}\n\n/// Day value from parts, returns undefined if invalid\nexport function dayFromParts(\n year: number,\n month = 1,\n day = 1,\n): DayValue | undefined {\n if (month < 1 || month > 12 || day < 1 || day > 31)\n return\n return year * 10000 + month * 100 + day\n}\n\n/// Day value from string, returns undefined if invalid\nexport function dayFromString(value: string): DayValue | undefined {\n const string = String(value)\n .replace(/\\D/g, '')\n .slice(0, 8)\n if (string.length === 8)\n return +string\n}\n\nexport function dayMonthStart(day: DayValue, offset = 0): DayValue {\n let year = dayYear(day)\n let month = dayMonth(day)\n if (offset !== 0) {\n month += offset\n year += Math.floor((month - 1) / 12)\n month = Math.floor((month - 1) % 12) + 1\n if (month === 0)\n month = 12\n }\n return dayFromParts(year, month, 1)!\n}\n\nexport function dayYearStart(day: DayValue, offset = 0): DayValue {\n const year = dayYear(day)\n return dayFromParts(year + offset, 1, 1)!\n}\n\nexport function dayOffset(day: DayValue, offset: number): DayValue {\n // Important! Don't use local time here due to summer/winter time days can\n // be longer or shorter!\n return dayFromTimestamp(dayToTimestamp(day) + offset * DAY_MS)\n}\n\nexport function dayDiff(left: DayValue, right: DayValue): number {\n return Math.round((dayToTimestamp(right) - dayToTimestamp(left)) / DAY_MS)\n}\n\n/** List of dates for loops */\nexport function dayRange(left: DayValue, right?: DayValue): number[] {\n const list: number[] = []\n\n if (right == null)\n right = dayFromToday()\n\n if (left < 0)\n left = dayOffset(right, left + 1)\n\n while (left <= right) {\n list.push(left)\n left = dayOffset(left, +1)\n }\n return list\n}\n\n/** Iterator, see dayRange */\nexport function* dayIterator(left: DayValue, right?: DayValue) {\n const list: number[] = []\n\n if (right == null)\n right = dayFromToday()\n\n if (left < 0)\n left = dayOffset(right, left + 1)\n\n while (left <= right) {\n yield left\n left = dayOffset(left, +1)\n }\n return list\n}\n"]}
@@ -1,3 +1,6 @@
1
+ import {
2
+ blobToArrayBuffer
3
+ } from "./chunk-V4QYOVRJ.js";
1
4
  import {
2
5
  fromBase64,
3
6
  toBase64
@@ -19,7 +22,7 @@ function dataUriToBlob(dataUri) {
19
22
  }
20
23
  }
21
24
  async function blobToDataUri(blob) {
22
- const bin = await blob.arrayBuffer();
25
+ const bin = await blobToArrayBuffer(blob);
23
26
  if (bin)
24
27
  return `data:${blob.type},${toBase64(bin)}`;
25
28
  }
@@ -34,4 +37,4 @@ export {
34
37
  blobToDataUri,
35
38
  Uint8ArrayToDataUri
36
39
  };
37
- //# sourceMappingURL=chunk-U2HB2W6R.js.map
40
+ //# sourceMappingURL=chunk-OKCAAGML.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/common/data/datauri.ts"],"sourcesContent":["import { blobToArrayBuffer } from '../bin'\nimport { fromBase64, toBase64 } from './bin'\n\nexport function dataUriToUint8Array(dataUri: string): Uint8Array | undefined {\n if (dataUri.startsWith('data:'))\n return fromBase64(dataUri.split(',', 2)[1])\n}\n\nexport function dataUriToMimeType(dataUri: string): string | undefined {\n if (dataUri.startsWith('data:'))\n return dataUri.slice(5).split(',', 2)[0]\n}\n\nexport function dataUriToBlob(dataUri: string): Blob | undefined {\n if (dataUri.startsWith('data:')) {\n const [mimeString, base64String] = dataUri.slice(5).split(',', 2)\n return new Blob([fromBase64(base64String)], { type: mimeString })\n }\n}\n\nexport async function blobToDataUri(blob: Blob): Promise<string | undefined> {\n const bin = await blobToArrayBuffer(blob)\n if (bin)\n return `data:${blob.type},${toBase64(bin)}`\n}\n\nexport function Uint8ArrayToDataUri(bin: Uint8Array, type = 'application/octet-stream'): string {\n return `data:${type},${toBase64(bin)}`\n}\n"],"mappings":";;;;;;;;;AAGO,SAAS,oBAAoB,SAAyC;AAC3E,MAAI,QAAQ,WAAW,OAAO;AAC5B,WAAO,WAAW,QAAQ,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC;AAC9C;AAEO,SAAS,kBAAkB,SAAqC;AACrE,MAAI,QAAQ,WAAW,OAAO;AAC5B,WAAO,QAAQ,MAAM,CAAC,EAAE,MAAM,KAAK,CAAC,EAAE,CAAC;AAC3C;AAEO,SAAS,cAAc,SAAmC;AAC/D,MAAI,QAAQ,WAAW,OAAO,GAAG;AAC/B,UAAM,CAAC,YAAY,YAAY,IAAI,QAAQ,MAAM,CAAC,EAAE,MAAM,KAAK,CAAC;AAChE,WAAO,IAAI,KAAK,CAAC,WAAW,YAAY,CAAC,GAAG,EAAE,MAAM,WAAW,CAAC;AAAA,EAClE;AACF;AAEA,eAAsB,cAAc,MAAyC;AAC3E,QAAM,MAAM,MAAM,kBAAkB,IAAI;AACxC,MAAI;AACF,WAAO,QAAQ,KAAK,IAAI,IAAI,SAAS,GAAG,CAAC;AAC7C;AAEO,SAAS,oBAAoB,KAAiB,OAAO,4BAAoC;AAC9F,SAAO,QAAQ,IAAI,IAAI,SAAS,GAAG,CAAC;AACtC;","names":[]}
@@ -102,7 +102,22 @@ function bitfield(bitfield2 = 0) {
102
102
  };
103
103
  }
104
104
  async function blobToArrayBuffer(blob) {
105
- return await blob.arrayBuffer();
105
+ if (blob.arrayBuffer)
106
+ return await blob.arrayBuffer();
107
+ try {
108
+ return new Promise((resolve, reject) => {
109
+ try {
110
+ const reader = new FileReader();
111
+ reader.onloadend = () => resolve(reader.result);
112
+ reader.onerror = (err) => reject(err);
113
+ reader.onabort = (err) => reject(err);
114
+ reader.readAsArrayBuffer(blob);
115
+ } catch (err) {
116
+ reject(err);
117
+ }
118
+ });
119
+ } catch (err) {
120
+ }
106
121
  }
107
122
  async function blobToUint8Array(blob) {
108
123
  const buffer = await blobToArrayBuffer(blob);
@@ -120,4 +135,4 @@ export {
120
135
  blobToArrayBuffer,
121
136
  blobToUint8Array
122
137
  };
123
- //# sourceMappingURL=chunk-BZRAX2XZ.js.map
138
+ //# sourceMappingURL=chunk-V4QYOVRJ.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/common/bin/index.ts"],"sourcesContent":["import type { BinInput } from '../data/bin'\nimport type { Encoder } from '../msg/encoder'\nimport { assertCondition } from '../assert'\nimport { toUint8Array } from '../data/bin'\nimport { createDecoder, readAny, readFloat32, readUint8, readUint8Array, readUint16, readUint32, readVarInt, readVarString, readVarUint, readVarUint8Array } from './lib0/decoding'\nimport { createBinEncoder, encodeToUint8Array, length, writeAny, writeFloat32, writeUint8, writeUint8Array, writeUint16, writeUint32, writeVarInt, writeVarString, writeVarUint, writeVarUint8Array } from './lib0/encoding'\n\n// Use in Zeed channels\n\nexport class BinaryEncoder implements Encoder {\n async encode(data: any): Promise<Uint8Array> {\n const dataEncoder = createBinEncoder()\n writeAny(dataEncoder, data)\n return encodeToUint8Array(dataEncoder)\n }\n\n async decode(data: Uint8Array | ArrayBuffer): Promise<any> {\n return readAny(createDecoder(toUint8Array(data)))\n }\n}\n\n// Json like\n\n/** Encode any object, including Uint8Array data */\nexport function encodeJson(data: any): Uint8Array {\n const dataEncoder = createBinEncoder()\n writeAny(dataEncoder, data)\n return encodeToUint8Array(dataEncoder)\n}\n\n/** Decode any object, including Uint8Array data */\nexport function decodeJson(data: Uint8Array | ArrayBuffer): any {\n return readAny(createDecoder(toUint8Array(data)))\n}\n\n// Stream like\n\n/** Incrementally encode binary data */\nexport function createBinaryStreamEncoder(initialData?: BinInput) {\n const dataEncoder = createBinEncoder()\n\n if (initialData != null)\n writeUint8Array(dataEncoder, toUint8Array(initialData))\n\n return {\n /** Just writes the bytes. Length is not stored! */\n writeBytes: (data: BinInput, expectedLength: number) => {\n const bin = toUint8Array(data)\n assertCondition(!(expectedLength != null && bin.length !== expectedLength), `Expected ${expectedLength} bytes, got ${bin.length}`)\n writeUint8Array(dataEncoder, bin)\n },\n writeBytesVar: (data: BinInput) => writeVarUint8Array(dataEncoder, toUint8Array(data)),\n writeUintVar: (data: number) => writeVarUint(dataEncoder, data),\n writeUint8: (data: number) => writeUint8(dataEncoder, data),\n writeUint16: (data: number) => writeUint16(dataEncoder, data),\n writeUint32: (data: number) => writeUint32(dataEncoder, data),\n writeIntVar: (data: number) => writeVarInt(dataEncoder, data),\n writeFloat: (data: number) => writeFloat32(dataEncoder, data),\n writeStringVar: (data: string) => writeVarString(dataEncoder, data),\n write: (data: any) => writeAny(dataEncoder, data),\n getUint8Array: (): Uint8Array => encodeToUint8Array(dataEncoder),\n getLength: () => length(dataEncoder),\n }\n}\n\n/** Incrementally decode binary data */\nexport function createBinaryStreamDecoder(data: BinInput) {\n const dataDecoder = createDecoder(toUint8Array(data))\n return {\n readBytes: (len: number): Uint8Array => readUint8Array(dataDecoder, len),\n readBytesVar: (): Uint8Array => readVarUint8Array(dataDecoder),\n readUintVar: (): number => readVarUint(dataDecoder),\n readUint8: (): number => readUint8(dataDecoder),\n readUint16: (): number => readUint16(dataDecoder),\n readUint32: (): number => readUint32(dataDecoder),\n readIntVar: (): number => readVarInt(dataDecoder),\n readFloat: (): number => readFloat32(dataDecoder),\n readStringVar: (): string => readVarString(dataDecoder),\n read: (): any => readAny(dataDecoder),\n getOffset: (): number => dataDecoder.pos || 0,\n }\n}\n\n// https://stackoverflow.com/a/1436448/140927\nexport function bitfield(bitfield = 0) {\n return {\n setBit: (bit: number, value = true): number => value ? (bitfield |= 1 << bit) : (bitfield &= ~(1 << bit)),\n unsetBit: (bit: number): number => (bitfield &= 1 << bit),\n toggleBit: (bit: number): number => (bitfield ^= 1 << bit),\n getBit: (bit: number): boolean => (bitfield & (1 << bit)) !== 0,\n getValue: () => bitfield,\n }\n}\n\n// Cast\n\nexport async function blobToArrayBuffer(blob: Blob | File): Promise<ArrayBuffer | undefined> {\n return await blob.arrayBuffer()\n // try {\n // return new Promise((resolve, reject) => {\n // try {\n // const reader = new FileReader()\n // reader.onloadend = () => resolve(reader.result as ArrayBuffer)\n // reader.onerror = err => reject(err)\n // reader.onabort = err => reject(err)\n // reader.readAsArrayBuffer(blob)\n // }\n // catch (err) {\n // reject(err)\n // }\n // })\n // }\n // catch (err) {}\n}\n\nexport async function blobToUint8Array(blob: Blob | File): Promise<Uint8Array | undefined> {\n const buffer = await blobToArrayBuffer(blob)\n if (buffer != null)\n return toUint8Array(buffer)\n}\n"],"mappings":"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","names":["bitfield"]}
1
+ {"version":3,"sources":["../src/common/bin/index.ts"],"sourcesContent":["import type { BinInput } from '../data/bin'\nimport type { Encoder } from '../msg/encoder'\nimport { assertCondition } from '../assert'\nimport { toUint8Array } from '../data/bin'\nimport { createDecoder, readAny, readFloat32, readUint8, readUint8Array, readUint16, readUint32, readVarInt, readVarString, readVarUint, readVarUint8Array } from './lib0/decoding'\nimport { createBinEncoder, encodeToUint8Array, length, writeAny, writeFloat32, writeUint8, writeUint8Array, writeUint16, writeUint32, writeVarInt, writeVarString, writeVarUint, writeVarUint8Array } from './lib0/encoding'\n\n// Use in Zeed channels\n\nexport class BinaryEncoder implements Encoder {\n async encode(data: any): Promise<Uint8Array> {\n const dataEncoder = createBinEncoder()\n writeAny(dataEncoder, data)\n return encodeToUint8Array(dataEncoder)\n }\n\n async decode(data: Uint8Array | ArrayBuffer): Promise<any> {\n return readAny(createDecoder(toUint8Array(data)))\n }\n}\n\n// Json like\n\n/** Encode any object, including Uint8Array data */\nexport function encodeJson(data: any): Uint8Array {\n const dataEncoder = createBinEncoder()\n writeAny(dataEncoder, data)\n return encodeToUint8Array(dataEncoder)\n}\n\n/** Decode any object, including Uint8Array data */\nexport function decodeJson(data: Uint8Array | ArrayBuffer): any {\n return readAny(createDecoder(toUint8Array(data)))\n}\n\n// Stream like\n\n/** Incrementally encode binary data */\nexport function createBinaryStreamEncoder(initialData?: BinInput) {\n const dataEncoder = createBinEncoder()\n\n if (initialData != null)\n writeUint8Array(dataEncoder, toUint8Array(initialData))\n\n return {\n /** Just writes the bytes. Length is not stored! */\n writeBytes: (data: BinInput, expectedLength: number) => {\n const bin = toUint8Array(data)\n assertCondition(!(expectedLength != null && bin.length !== expectedLength), `Expected ${expectedLength} bytes, got ${bin.length}`)\n writeUint8Array(dataEncoder, bin)\n },\n writeBytesVar: (data: BinInput) => writeVarUint8Array(dataEncoder, toUint8Array(data)),\n writeUintVar: (data: number) => writeVarUint(dataEncoder, data),\n writeUint8: (data: number) => writeUint8(dataEncoder, data),\n writeUint16: (data: number) => writeUint16(dataEncoder, data),\n writeUint32: (data: number) => writeUint32(dataEncoder, data),\n writeIntVar: (data: number) => writeVarInt(dataEncoder, data),\n writeFloat: (data: number) => writeFloat32(dataEncoder, data),\n writeStringVar: (data: string) => writeVarString(dataEncoder, data),\n write: (data: any) => writeAny(dataEncoder, data),\n getUint8Array: (): Uint8Array => encodeToUint8Array(dataEncoder),\n getLength: () => length(dataEncoder),\n }\n}\n\n/** Incrementally decode binary data */\nexport function createBinaryStreamDecoder(data: BinInput) {\n const dataDecoder = createDecoder(toUint8Array(data))\n return {\n readBytes: (len: number): Uint8Array => readUint8Array(dataDecoder, len),\n readBytesVar: (): Uint8Array => readVarUint8Array(dataDecoder),\n readUintVar: (): number => readVarUint(dataDecoder),\n readUint8: (): number => readUint8(dataDecoder),\n readUint16: (): number => readUint16(dataDecoder),\n readUint32: (): number => readUint32(dataDecoder),\n readIntVar: (): number => readVarInt(dataDecoder),\n readFloat: (): number => readFloat32(dataDecoder),\n readStringVar: (): string => readVarString(dataDecoder),\n read: (): any => readAny(dataDecoder),\n getOffset: (): number => dataDecoder.pos || 0,\n }\n}\n\n// https://stackoverflow.com/a/1436448/140927\nexport function bitfield(bitfield = 0) {\n return {\n setBit: (bit: number, value = true): number => value ? (bitfield |= 1 << bit) : (bitfield &= ~(1 << bit)),\n unsetBit: (bit: number): number => (bitfield &= 1 << bit),\n toggleBit: (bit: number): number => (bitfield ^= 1 << bit),\n getBit: (bit: number): boolean => (bitfield & (1 << bit)) !== 0,\n getValue: () => bitfield,\n }\n}\n\n// Cast\n\nexport async function blobToArrayBuffer(blob: Blob | File): Promise<ArrayBuffer | undefined> {\n if (blob.arrayBuffer)\n return await blob.arrayBuffer()\n\n // Fallback for older browsers\n try {\n return new Promise((resolve, reject) => {\n try {\n const reader = new FileReader()\n reader.onloadend = () => resolve(reader.result as ArrayBuffer)\n reader.onerror = err => reject(err)\n reader.onabort = err => reject(err)\n reader.readAsArrayBuffer(blob)\n }\n catch (err) {\n reject(err)\n }\n })\n }\n catch (err) {}\n}\n\nexport async function blobToUint8Array(blob: Blob | File): Promise<Uint8Array | undefined> {\n const buffer = await blobToArrayBuffer(blob)\n if (buffer != null)\n return toUint8Array(buffer)\n}\n"],"mappings":"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","names":["bitfield"]}
@@ -1,6 +1,6 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }
2
2
 
3
- var _chunkB3U4FDQHcjs = require('./chunk-B3U4FDQH.cjs');
3
+ var _chunkI44ZAZ4Kcjs = require('./chunk-I44ZAZ4K.cjs');
4
4
 
5
5
 
6
6
  var _chunkN5KTMDVOcjs = require('./chunk-N5KTMDVO.cjs');
@@ -101,7 +101,7 @@ var Day = class _Day {
101
101
  // Calculations
102
102
  dayOffset(offset) {
103
103
  return _Day.fromDateUTC(
104
- new Date(this.toDateUTC().getTime() + offset * _chunkB3U4FDQHcjs.DAY_MS)
104
+ new Date(this.toDateUTC().getTime() + offset * _chunkI44ZAZ4Kcjs.DAY_MS)
105
105
  );
106
106
  }
107
107
  monthStart() {
@@ -121,7 +121,7 @@ var Day = class _Day {
121
121
  }
122
122
  daysUntil(otherDay) {
123
123
  return Math.round(
124
- (_optionalChain([new _Day(otherDay), 'optionalAccess', _4 => _4.toDateUTC, 'call', _5 => _5(), 'access', _6 => _6.getTime, 'call', _7 => _7()]) - this.toDateUTC().getTime()) / _chunkB3U4FDQHcjs.DAY_MS
124
+ (_optionalChain([new _Day(otherDay), 'optionalAccess', _4 => _4.toDateUTC, 'call', _5 => _5(), 'access', _6 => _6.getTime, 'call', _7 => _7()]) - this.toDateUTC().getTime()) / _chunkI44ZAZ4Kcjs.DAY_MS
125
125
  );
126
126
  }
127
127
  // Shortcuts
@@ -159,4 +159,4 @@ function dateStringToDays(dateString) {
159
159
 
160
160
 
161
161
  exports.Day = Day; exports.forEachDay = forEachDay; exports.today = today; exports.day = day; exports.dateStringToDays = dateStringToDays;
162
- //# sourceMappingURL=chunk-GYJO5LFO.cjs.map
162
+ //# sourceMappingURL=chunk-WHYGPWH2.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["/home/runner/work/zeed/zeed/dist/chunk-GYJO5LFO.cjs","../src/common/data/day-legacy.ts"],"names":["day"],"mappings":"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","file":"/home/runner/work/zeed/zeed/dist/chunk-GYJO5LFO.cjs","sourcesContent":[null,"import { isPromise } from '../exec/promise'\nimport type { DayInput, DayValue } from './day'\nimport { DAY_MS } from './day'\n\n// See also and alternatives:\n// https://blog.openreplay.com/is-it-time-for-the-javascript-temporal-api\n// https://github.com/iamkun/dayjs\n// https://github.com/date-fns/date-fns\n\nexport type DayInputLegacy = DayInput | Day\n\n/**\n * Date represented as positive integer value. Years smaller 0 are not supported.\n * @deprecated\n */\nexport class Day {\n days: DayValue\n\n get value() {\n return this.days\n }\n\n constructor(days?: DayInputLegacy) {\n if (typeof days === 'number') {\n this.days = days\n return\n }\n\n if (days != null)\n days = Day.from(days)?.days\n\n if (days == null) {\n const date = new Date()\n this.days\n = date.getFullYear() * 10000\n + (date.getMonth() + 1) * 100\n + date.getDate()\n }\n else {\n this.days = days\n }\n }\n\n static fromNumber(n: number): Day {\n return new Day(n)\n }\n\n static fromString(dateString: string): Day | undefined {\n return Day.from(+dateString.replace(/\\D/g, '').slice(0, 8))\n }\n\n static fromDate(date: Date, utc = false): Day {\n return (\n utc\n ? Day.fromString(date.toISOString().substr(0, 10))\n : Day.from(\n date.getFullYear() * 10000\n + (date.getMonth() + 1) * 100\n + date.getDate(),\n )\n ) as Day\n }\n\n static fromDateUTC(date: Date): Day {\n return Day.fromDate(date, true)\n }\n\n /** @deprecated use fromDateUTC */\n static fromDateGMT(date: Date): Day {\n return Day.fromDate(date, true)\n }\n\n static from(value: DayInputLegacy, utc = false): Day | undefined {\n if (typeof value === 'number') {\n if (value < 100)\n return\n return new Day(value)\n }\n else if (typeof value === 'string') {\n return Day.fromString(value)\n }\n else if (Array.isArray(value) && value.length === 3) {\n const [year, month = 1, day = 1] = value\n if (month < 1 || month > 12 || day < 1 || day > 31)\n return\n return new Day(year * 10000 + month * 100 + day)\n }\n else if (value instanceof Date) {\n return Day.fromDate(value, utc)\n }\n else if (value instanceof Day) {\n return value\n }\n }\n\n toNumber(): number {\n return this.days\n }\n\n // Transformer\n\n /** Just for future extensions */\n toJson() {\n return this.days\n }\n\n toString(sep = '-') {\n const baseString = String(this.days)\n return (\n baseString.slice(0, 4)\n + sep\n + baseString.slice(4, 6)\n + sep\n + baseString.slice(6, 8)\n )\n }\n\n toDate(utc = false): Date {\n return utc\n ? new Date(`${this.toString()}T00:00:00.000Z`)\n : new Date(\n this.days / 10000, // year\n ((this.days / 100) % 100) - 1, // month\n this.days % 100, // day\n )\n }\n\n toDateUTC() {\n return this.toDate(true)\n }\n\n /** @deprecated use toDateUTC */\n toDateGMT() {\n return this.toDate(true)\n }\n\n get year() {\n return Math.floor(this.days / 10000)\n }\n\n get month() {\n return Math.floor((this.days / 100) % 100)\n }\n\n get day() {\n return Math.floor(this.days % 100)\n }\n\n // Calculations\n\n dayOffset(offset: number): Day {\n // Important! Don't use local time here due to summer/winter time days can\n // be longer or shorter!\n return Day.fromDateUTC(\n new Date(this.toDateUTC().getTime() + offset * DAY_MS),\n )\n }\n\n monthStart(): Day {\n return Day.from([this.year, this.month, 1])!\n }\n\n yearStart(): Day {\n return Day.from([this.year, 1, 1])!\n }\n\n /** Very stupid approach, only works for days <= 28 */\n monthOffset(offset: number): Day {\n const m = this.month + offset\n let mm = Math.floor((m - 1) % 12) + 1\n if (mm === 0)\n mm = 12\n const yy = Math.floor((m - 1) / 12)\n // log(\"calc\", m, mm, yy, [this.year + yy, mm, this.day])\n return Day.from([this.year + yy, mm, this.day])!\n }\n\n daysUntil(otherDay: DayInputLegacy): number {\n return Math.round(\n (new Day(otherDay)?.toDateUTC().getTime() - this.toDateUTC().getTime())\n / DAY_MS,\n )\n }\n\n // Shortcuts\n\n yesterday() {\n return this.dayOffset(-1)\n }\n\n tomorrow() {\n return this.dayOffset(+1)\n }\n}\n\nexport async function forEachDay(\n from: DayInputLegacy,\n to: DayInputLegacy,\n handler: (date: Day) => Promise<void> | void,\n) {\n let start = Day.from(from)\n const end = Day.from(to)\n // eslint-disable-next-line no-unmodified-loop-condition\n while (start && end && start?.days <= end?.days) {\n const result = handler(start)\n if (isPromise(result))\n await result\n start = start.dayOffset(+1)\n }\n}\n\nexport function today(): Day {\n return new Day()\n}\n\n/** @deprecated */\nexport function day(days?: DayInputLegacy): Day {\n return new Day(days)\n}\n\nexport function dateStringToDays(dateString: string): number {\n return Day.fromDate(new Date(dateString)).days\n}\n"]}
1
+ {"version":3,"sources":["/home/runner/work/zeed/zeed/dist/chunk-WHYGPWH2.cjs","../src/common/data/day-legacy.ts"],"names":["day"],"mappings":"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","file":"/home/runner/work/zeed/zeed/dist/chunk-WHYGPWH2.cjs","sourcesContent":[null,"import { isPromise } from '../exec/promise'\nimport type { DayInput, DayValue } from './day'\nimport { DAY_MS } from './day'\n\n// See also and alternatives:\n// https://blog.openreplay.com/is-it-time-for-the-javascript-temporal-api\n// https://github.com/iamkun/dayjs\n// https://github.com/date-fns/date-fns\n\nexport type DayInputLegacy = DayInput | Day\n\n/**\n * Date represented as positive integer value. Years smaller 0 are not supported.\n * @deprecated\n */\nexport class Day {\n days: DayValue\n\n get value() {\n return this.days\n }\n\n constructor(days?: DayInputLegacy) {\n if (typeof days === 'number') {\n this.days = days\n return\n }\n\n if (days != null)\n days = Day.from(days)?.days\n\n if (days == null) {\n const date = new Date()\n this.days\n = date.getFullYear() * 10000\n + (date.getMonth() + 1) * 100\n + date.getDate()\n }\n else {\n this.days = days\n }\n }\n\n static fromNumber(n: number): Day {\n return new Day(n)\n }\n\n static fromString(dateString: string): Day | undefined {\n return Day.from(+dateString.replace(/\\D/g, '').slice(0, 8))\n }\n\n static fromDate(date: Date, utc = false): Day {\n return (\n utc\n ? Day.fromString(date.toISOString().substr(0, 10))\n : Day.from(\n date.getFullYear() * 10000\n + (date.getMonth() + 1) * 100\n + date.getDate(),\n )\n ) as Day\n }\n\n static fromDateUTC(date: Date): Day {\n return Day.fromDate(date, true)\n }\n\n /** @deprecated use fromDateUTC */\n static fromDateGMT(date: Date): Day {\n return Day.fromDate(date, true)\n }\n\n static from(value: DayInputLegacy, utc = false): Day | undefined {\n if (typeof value === 'number') {\n if (value < 100)\n return\n return new Day(value)\n }\n else if (typeof value === 'string') {\n return Day.fromString(value)\n }\n else if (Array.isArray(value) && value.length === 3) {\n const [year, month = 1, day = 1] = value\n if (month < 1 || month > 12 || day < 1 || day > 31)\n return\n return new Day(year * 10000 + month * 100 + day)\n }\n else if (value instanceof Date) {\n return Day.fromDate(value, utc)\n }\n else if (value instanceof Day) {\n return value\n }\n }\n\n toNumber(): number {\n return this.days\n }\n\n // Transformer\n\n /** Just for future extensions */\n toJson() {\n return this.days\n }\n\n toString(sep = '-') {\n const baseString = String(this.days)\n return (\n baseString.slice(0, 4)\n + sep\n + baseString.slice(4, 6)\n + sep\n + baseString.slice(6, 8)\n )\n }\n\n toDate(utc = false): Date {\n return utc\n ? new Date(`${this.toString()}T00:00:00.000Z`)\n : new Date(\n this.days / 10000, // year\n ((this.days / 100) % 100) - 1, // month\n this.days % 100, // day\n )\n }\n\n toDateUTC() {\n return this.toDate(true)\n }\n\n /** @deprecated use toDateUTC */\n toDateGMT() {\n return this.toDate(true)\n }\n\n get year() {\n return Math.floor(this.days / 10000)\n }\n\n get month() {\n return Math.floor((this.days / 100) % 100)\n }\n\n get day() {\n return Math.floor(this.days % 100)\n }\n\n // Calculations\n\n dayOffset(offset: number): Day {\n // Important! Don't use local time here due to summer/winter time days can\n // be longer or shorter!\n return Day.fromDateUTC(\n new Date(this.toDateUTC().getTime() + offset * DAY_MS),\n )\n }\n\n monthStart(): Day {\n return Day.from([this.year, this.month, 1])!\n }\n\n yearStart(): Day {\n return Day.from([this.year, 1, 1])!\n }\n\n /** Very stupid approach, only works for days <= 28 */\n monthOffset(offset: number): Day {\n const m = this.month + offset\n let mm = Math.floor((m - 1) % 12) + 1\n if (mm === 0)\n mm = 12\n const yy = Math.floor((m - 1) / 12)\n // log(\"calc\", m, mm, yy, [this.year + yy, mm, this.day])\n return Day.from([this.year + yy, mm, this.day])!\n }\n\n daysUntil(otherDay: DayInputLegacy): number {\n return Math.round(\n (new Day(otherDay)?.toDateUTC().getTime() - this.toDateUTC().getTime())\n / DAY_MS,\n )\n }\n\n // Shortcuts\n\n yesterday() {\n return this.dayOffset(-1)\n }\n\n tomorrow() {\n return this.dayOffset(+1)\n }\n}\n\nexport async function forEachDay(\n from: DayInputLegacy,\n to: DayInputLegacy,\n handler: (date: Day) => Promise<void> | void,\n) {\n let start = Day.from(from)\n const end = Day.from(to)\n // eslint-disable-next-line no-unmodified-loop-condition\n while (start && end && start?.days <= end?.days) {\n const result = handler(start)\n if (isPromise(result))\n await result\n start = start.dayOffset(+1)\n }\n}\n\nexport function today(): Day {\n return new Day()\n}\n\n/** @deprecated */\nexport function day(days?: DayInputLegacy): Day {\n return new Day(days)\n}\n\nexport function dateStringToDays(dateString: string): number {\n return Day.fromDate(new Date(dateString)).days\n}\n"]}
@@ -7,7 +7,7 @@
7
7
 
8
8
 
9
9
 
10
- var _chunkFHQNJSUCcjs = require('../../chunk-FHQNJSUC.cjs');
10
+ var _chunk2OPCE6YZcjs = require('../../chunk-2OPCE6YZ.cjs');
11
11
  require('../../chunk-UFTHLJFJ.cjs');
12
12
  require('../../chunk-V3MFEGRK.cjs');
13
13
  require('../../chunk-2UTQQDPY.cjs');
@@ -35,5 +35,5 @@ require('../../chunk-IMCDDJAJ.cjs');
35
35
 
36
36
 
37
37
 
38
- exports.BinaryEncoder = _chunkFHQNJSUCcjs.BinaryEncoder; exports.bitfield = _chunkFHQNJSUCcjs.bitfield; exports.blobToArrayBuffer = _chunkFHQNJSUCcjs.blobToArrayBuffer; exports.blobToUint8Array = _chunkFHQNJSUCcjs.blobToUint8Array; exports.createBinaryStreamDecoder = _chunkFHQNJSUCcjs.createBinaryStreamDecoder; exports.createBinaryStreamEncoder = _chunkFHQNJSUCcjs.createBinaryStreamEncoder; exports.decodeJson = _chunkFHQNJSUCcjs.decodeJson; exports.encodeJson = _chunkFHQNJSUCcjs.encodeJson;
38
+ exports.BinaryEncoder = _chunk2OPCE6YZcjs.BinaryEncoder; exports.bitfield = _chunk2OPCE6YZcjs.bitfield; exports.blobToArrayBuffer = _chunk2OPCE6YZcjs.blobToArrayBuffer; exports.blobToUint8Array = _chunk2OPCE6YZcjs.blobToUint8Array; exports.createBinaryStreamDecoder = _chunk2OPCE6YZcjs.createBinaryStreamDecoder; exports.createBinaryStreamEncoder = _chunk2OPCE6YZcjs.createBinaryStreamEncoder; exports.decodeJson = _chunk2OPCE6YZcjs.decodeJson; exports.encodeJson = _chunk2OPCE6YZcjs.encodeJson;
39
39
  //# sourceMappingURL=index.cjs.map
@@ -7,7 +7,7 @@ import {
7
7
  createBinaryStreamEncoder,
8
8
  decodeJson,
9
9
  encodeJson
10
- } from "../../chunk-BZRAX2XZ.js";
10
+ } from "../../chunk-V4QYOVRJ.js";
11
11
  import "../../chunk-DVBRAJ3X.js";
12
12
  import "../../chunk-SZJLXMYP.js";
13
13
  import "../../chunk-GKKLBSFA.js";
@@ -31,15 +31,15 @@ require('../../chunk-N7OUNPMM.cjs');
31
31
  require('../../chunk-XW3B3FUP.cjs');
32
32
  require('../../chunk-FEYF6QXS.cjs');
33
33
  require('../../chunk-SFVQNT7T.cjs');
34
- require('../../chunk-W6VAQS23.cjs');
35
- require('../../chunk-GYJO5LFO.cjs');
36
- require('../../chunk-B3U4FDQH.cjs');
34
+ require('../../chunk-C52O5SZ2.cjs');
35
+ require('../../chunk-WHYGPWH2.cjs');
36
+ require('../../chunk-I44ZAZ4K.cjs');
37
37
 
38
38
 
39
39
 
40
40
 
41
41
 
42
- var _chunkFHQNJSUCcjs = require('../../chunk-FHQNJSUC.cjs');
42
+ var _chunk2OPCE6YZcjs = require('../../chunk-2OPCE6YZ.cjs');
43
43
  require('../../chunk-UFTHLJFJ.cjs');
44
44
  require('../../chunk-V3MFEGRK.cjs');
45
45
  require('../../chunk-2UTQQDPY.cjs');
@@ -104,7 +104,7 @@ require('../../chunk-IMCDDJAJ.cjs');
104
104
  // src/common/bin/index.spec.ts
105
105
  describe("encoder", () => {
106
106
  it("should write a stream", () => {
107
- const stream = _chunkFHQNJSUCcjs.createBinaryStreamEncoder.call(void 0, );
107
+ const stream = _chunk2OPCE6YZcjs.createBinaryStreamEncoder.call(void 0, );
108
108
  stream.writeUint32(1);
109
109
  stream.write({ a: "99" });
110
110
  stream.writeBytes([1, 2, 3], 3);
@@ -115,7 +115,7 @@ describe("encoder", () => {
115
115
  0010 bb 01 \xBB. "
116
116
  `);
117
117
  expect(stream.getLength()).toBe(18);
118
- const readStream = _chunkFHQNJSUCcjs.createBinaryStreamDecoder.call(void 0, bin);
118
+ const readStream = _chunk2OPCE6YZcjs.createBinaryStreamDecoder.call(void 0, bin);
119
119
  expect(readStream.getOffset()).toBe(0);
120
120
  expect(readStream.readUint32()).toBe(1);
121
121
  expect(readStream.getOffset()).toBe(4);
@@ -131,7 +131,7 @@ Uint8Array [
131
131
  expect(readStream.getOffset()).toBe(bin.length);
132
132
  });
133
133
  it("should bitfield", () => {
134
- const bf = _chunkFHQNJSUCcjs.bitfield.call(void 0, 1);
134
+ const bf = _chunk2OPCE6YZcjs.bitfield.call(void 0, 1);
135
135
  bf.setBit(4);
136
136
  expect(bf.getValue()).toBe(17);
137
137
  bf.setBit(0, false);
@@ -151,7 +151,7 @@ Uint8Array [
151
151
  });
152
152
  it("should var bin", () => {
153
153
  function enc(v) {
154
- const e = _chunkFHQNJSUCcjs.createBinaryStreamEncoder.call(void 0, );
154
+ const e = _chunk2OPCE6YZcjs.createBinaryStreamEncoder.call(void 0, );
155
155
  e.writeIntVar(v);
156
156
  return _chunkEZB4PXZZcjs.toHex.call(void 0, e.getUint8Array());
157
157
  }
@@ -163,7 +163,7 @@ Uint8Array [
163
163
  });
164
164
  it("should var bin uint", () => {
165
165
  function enc(v) {
166
- const e = _chunkFHQNJSUCcjs.createBinaryStreamEncoder.call(void 0, );
166
+ const e = _chunk2OPCE6YZcjs.createBinaryStreamEncoder.call(void 0, );
167
167
  e.writeUintVar(v);
168
168
  return _chunkEZB4PXZZcjs.toHex.call(void 0, e.getUint8Array());
169
169
  }
@@ -175,11 +175,11 @@ Uint8Array [
175
175
  expect(enc(691529286)).toMatchInlineSnapshot('"c6ccdfc902"');
176
176
  });
177
177
  it("should be consistent", () => {
178
- const bin1 = _chunkFHQNJSUCcjs.encodeJson.call(void 0, {
178
+ const bin1 = _chunk2OPCE6YZcjs.encodeJson.call(void 0, {
179
179
  a: 1,
180
180
  b: 2
181
181
  });
182
- const bin2 = _chunkFHQNJSUCcjs.encodeJson.call(void 0, {
182
+ const bin2 = _chunk2OPCE6YZcjs.encodeJson.call(void 0, {
183
183
  b: 2,
184
184
  a: 1
185
185
  });
@@ -31,15 +31,15 @@ import "../../chunk-73CVRDI7.js";
31
31
  import "../../chunk-OP4KFE7G.js";
32
32
  import "../../chunk-DGP32WEQ.js";
33
33
  import "../../chunk-EDNCPFSF.js";
34
- import "../../chunk-U2HB2W6R.js";
35
- import "../../chunk-XC5GAA5P.js";
36
- import "../../chunk-5DS3NT57.js";
34
+ import "../../chunk-OKCAAGML.js";
35
+ import "../../chunk-GBF7F7TQ.js";
36
+ import "../../chunk-D3JF6HTL.js";
37
37
  import {
38
38
  bitfield,
39
39
  createBinaryStreamDecoder,
40
40
  createBinaryStreamEncoder,
41
41
  encodeJson
42
- } from "../../chunk-BZRAX2XZ.js";
42
+ } from "../../chunk-V4QYOVRJ.js";
43
43
  import "../../chunk-DVBRAJ3X.js";
44
44
  import "../../chunk-SZJLXMYP.js";
45
45
  import "../../chunk-GKKLBSFA.js";
@@ -31,10 +31,10 @@ require('../chunk-N7OUNPMM.cjs');
31
31
  require('../chunk-XW3B3FUP.cjs');
32
32
  require('../chunk-FEYF6QXS.cjs');
33
33
  require('../chunk-SFVQNT7T.cjs');
34
- require('../chunk-W6VAQS23.cjs');
35
- require('../chunk-GYJO5LFO.cjs');
36
- require('../chunk-B3U4FDQH.cjs');
37
- require('../chunk-FHQNJSUC.cjs');
34
+ require('../chunk-C52O5SZ2.cjs');
35
+ require('../chunk-WHYGPWH2.cjs');
36
+ require('../chunk-I44ZAZ4K.cjs');
37
+ require('../chunk-2OPCE6YZ.cjs');
38
38
  require('../chunk-UFTHLJFJ.cjs');
39
39
  require('../chunk-V3MFEGRK.cjs');
40
40
  require('../chunk-2UTQQDPY.cjs');
@@ -31,10 +31,10 @@ import "../chunk-73CVRDI7.js";
31
31
  import "../chunk-OP4KFE7G.js";
32
32
  import "../chunk-DGP32WEQ.js";
33
33
  import "../chunk-EDNCPFSF.js";
34
- import "../chunk-U2HB2W6R.js";
35
- import "../chunk-XC5GAA5P.js";
36
- import "../chunk-5DS3NT57.js";
37
- import "../chunk-BZRAX2XZ.js";
34
+ import "../chunk-OKCAAGML.js";
35
+ import "../chunk-GBF7F7TQ.js";
36
+ import "../chunk-D3JF6HTL.js";
37
+ import "../chunk-V4QYOVRJ.js";
38
38
  import "../chunk-DVBRAJ3X.js";
39
39
  import "../chunk-SZJLXMYP.js";
40
40
  import "../chunk-GKKLBSFA.js";
@@ -14,9 +14,15 @@ require('../../chunk-N7OUNPMM.cjs');
14
14
  require('../../chunk-XW3B3FUP.cjs');
15
15
  require('../../chunk-FEYF6QXS.cjs');
16
16
  require('../../chunk-SFVQNT7T.cjs');
17
- require('../../chunk-W6VAQS23.cjs');
18
- require('../../chunk-GYJO5LFO.cjs');
19
- require('../../chunk-B3U4FDQH.cjs');
17
+ require('../../chunk-C52O5SZ2.cjs');
18
+ require('../../chunk-WHYGPWH2.cjs');
19
+ require('../../chunk-I44ZAZ4K.cjs');
20
+ require('../../chunk-2OPCE6YZ.cjs');
21
+ require('../../chunk-UFTHLJFJ.cjs');
22
+ require('../../chunk-V3MFEGRK.cjs');
23
+ require('../../chunk-2UTQQDPY.cjs');
24
+ require('../../chunk-SFUIGVPA.cjs');
25
+ require('../../chunk-X23ZSPZC.cjs');
20
26
  require('../../chunk-ZLBZGV3U.cjs');
21
27
  require('../../chunk-DDS4MYUB.cjs');
22
28
  require('../../chunk-TUWUD5A6.cjs');
@@ -32,6 +38,10 @@ require('../../chunk-N5KTMDVO.cjs');
32
38
  var _chunkBOHPEXDMcjs = require('../../chunk-BOHPEXDM.cjs');
33
39
  require('../../chunk-6T6PI6XG.cjs');
34
40
  require('../../chunk-5BF2LEAU.cjs');
41
+ require('../../chunk-SPKL2MFG.cjs');
42
+ require('../../chunk-4NW2WSOT.cjs');
43
+ require('../../chunk-SUHO4WFP.cjs');
44
+ require('../../chunk-S6C65KDQ.cjs');
35
45
 
36
46
 
37
47
 
@@ -49,6 +59,10 @@ require('../../chunk-5BF2LEAU.cjs');
49
59
 
50
60
  var _chunkEZB4PXZZcjs = require('../../chunk-EZB4PXZZ.cjs');
51
61
  require('../../chunk-CUGOCLWN.cjs');
62
+ require('../../chunk-UKD65B23.cjs');
63
+ require('../../chunk-PEU5ZQVB.cjs');
64
+ require('../../chunk-J42M6DF3.cjs');
65
+ require('../../chunk-ZYPCVNSG.cjs');
52
66
  require('../../chunk-N43PGEL6.cjs');
53
67
  require('../../chunk-W3WUDQIC.cjs');
54
68
  require('../../chunk-YY4AHBBL.cjs');