{"version":3,"file":"resizer.cjs","sources":["../../../../../src/libs/resizer/resizer.ts"],"sourcesContent":["import { Writable } from \"@hazae41/binary\";\nimport { Cursor } from \"@hazae41/cursor\";\n\nexport class Resizer {\n\n  inner: Cursor<Uint8Array>\n\n  constructor(\n    readonly minimum = 2 ** 10,\n    readonly maximum = 2 ** 20,\n  ) {\n    this.inner = new Cursor(new Uint8Array(this.minimum))\n  }\n\n  writeOrThrow(chunk: Uint8Array) {\n    const length = this.inner.offset + chunk.length\n\n    if (length > this.maximum)\n      throw new Error(`Maximum size exceeded`)\n\n    if (length > this.inner.length) {\n      const resized = new Cursor(new Uint8Array(length))\n      resized.writeOrThrow(this.inner.before)\n      this.inner = resized\n    }\n\n    this.inner.writeOrThrow(chunk)\n  }\n\n  writeFromOrThrow(writable: Writable) {\n    const length = this.inner.offset + writable.sizeOrThrow()\n\n    if (length > this.maximum)\n      throw new Error(`Maximum size exceeded`)\n\n    if (length > this.inner.length) {\n      const resized = new Cursor(new Uint8Array(length))\n      resized.writeOrThrow(this.inner.before)\n      this.inner = resized\n    }\n\n    writable.writeOrThrow(this.inner)\n  }\n\n}"],"names":["Cursor"],"mappings":";;;;MAGa,OAAO,CAAA;AAKP,IAAA,OAAA,CAAA;AACA,IAAA,OAAA,CAAA;AAJX,IAAA,KAAK,CAAoB;IAEzB,WACW,CAAA,OAAA,GAAU,CAAC,IAAI,EAAE,EACjB,OAAU,GAAA,CAAC,IAAI,EAAE,EAAA;QADjB,IAAO,CAAA,OAAA,GAAP,OAAO,CAAU;QACjB,IAAO,CAAA,OAAA,GAAP,OAAO,CAAU;AAE1B,QAAA,IAAI,CAAC,KAAK,GAAG,IAAIA,aAAM,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAA;KACtD;AAED,IAAA,YAAY,CAAC,KAAiB,EAAA;QAC5B,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAA;AAE/C,QAAA,IAAI,MAAM,GAAG,IAAI,CAAC,OAAO;AACvB,YAAA,MAAM,IAAI,KAAK,CAAC,CAAA,qBAAA,CAAuB,CAAC,CAAA;QAE1C,IAAI,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;YAC9B,MAAM,OAAO,GAAG,IAAIA,aAAM,CAAC,IAAI,UAAU,CAAC,MAAM,CAAC,CAAC,CAAA;YAClD,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;AACvC,YAAA,IAAI,CAAC,KAAK,GAAG,OAAO,CAAA;SACrB;AAED,QAAA,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,CAAA;KAC/B;AAED,IAAA,gBAAgB,CAAC,QAAkB,EAAA;AACjC,QAAA,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAA;AAEzD,QAAA,IAAI,MAAM,GAAG,IAAI,CAAC,OAAO;AACvB,YAAA,MAAM,IAAI,KAAK,CAAC,CAAA,qBAAA,CAAuB,CAAC,CAAA;QAE1C,IAAI,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;YAC9B,MAAM,OAAO,GAAG,IAAIA,aAAM,CAAC,IAAI,UAAU,CAAC,MAAM,CAAC,CAAC,CAAA;YAClD,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;AACvC,YAAA,IAAI,CAAC,KAAK,GAAG,OAAO,CAAA;SACrB;AAED,QAAA,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;KAClC;AAEF;;;;"}