{"version":3,"file":"buffer.mjs","sources":["../../../../../src/mods/base64url/buffer.ts"],"sourcesContent":["import { Buffers } from \"libs/buffers/buffers.js\"\nimport { Bytes } from \"libs/bytes/bytes.js\"\nimport { BytesOrCopiable, Copied } from \"libs/copiable/index.js\"\nimport { Adapter } from \"./adapter.js\"\n\nexport function fromBuffer() {\n\n  function getBytes(bytes: BytesOrCopiable) {\n    return \"bytes\" in bytes ? bytes.bytes : bytes\n  }\n\n  function encodePaddedOrThrow(bytes: BytesOrCopiable) {\n    const unpadded = Buffers.fromView(getBytes(bytes)).toString(\"base64url\")\n    const repadded = unpadded + \"=\".repeat((4 - unpadded.length % 4) % 4)\n\n    return repadded\n  }\n\n  function decodePaddedOrThrow(text: string) {\n    return new Copied(Bytes.fromView(Buffer.from(text, \"base64url\")))\n  }\n\n  function encodeUnpaddedOrThrow(bytes: BytesOrCopiable) {\n    return Buffers.fromView(getBytes(bytes)).toString(\"base64url\")\n  }\n\n  function decodeUnpaddedOrThrow(text: string) {\n    return new Copied(Bytes.fromView(Buffer.from(text, \"base64url\")))\n  }\n\n  return { encodePaddedOrThrow, decodePaddedOrThrow, encodeUnpaddedOrThrow, decodeUnpaddedOrThrow } satisfies Adapter\n}"],"names":[],"mappings":";;;;SAKgB,UAAU,GAAA;IAExB,SAAS,QAAQ,CAAC,KAAsB,EAAA;AACtC,QAAA,OAAO,OAAO,IAAI,KAAK,GAAG,KAAK,CAAC,KAAK,GAAG,KAAK;;IAG/C,SAAS,mBAAmB,CAAC,KAAsB,EAAA;AACjD,QAAA,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC;QACxE,MAAM,QAAQ,GAAG,QAAQ,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC;AAErE,QAAA,OAAO,QAAQ;;IAGjB,SAAS,mBAAmB,CAAC,IAAY,EAAA;AACvC,QAAA,OAAO,IAAI,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC;;IAGnE,SAAS,qBAAqB,CAAC,KAAsB,EAAA;AACnD,QAAA,OAAO,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC;;IAGhE,SAAS,qBAAqB,CAAC,IAAY,EAAA;AACzC,QAAA,OAAO,IAAI,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC;;IAGnE,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,qBAAqB,EAAoB;AACrH;;;;"}