{"version":3,"file":"base16.cjs","sources":["../../src/base16.ts"],"sourcesContent":["import type { Serializer } from '@metaplex-foundation/umi-serializers-core';\nimport { InvalidBaseStringError } from './errors';\n\n/**\n * A string serializer that uses base16 encoding.\n * @category Serializers\n */\nexport const base16: Serializer<string> = {\n  description: 'base16',\n  fixedSize: null,\n  maxSize: null,\n  serialize(value: string) {\n    const lowercaseValue = value.toLowerCase();\n    if (!lowercaseValue.match(/^[0123456789abcdef]*$/)) {\n      throw new InvalidBaseStringError(value, 16);\n    }\n    const matches = lowercaseValue.match(/.{1,2}/g);\n    return Uint8Array.from(\n      matches ? matches.map((byte: string) => parseInt(byte, 16)) : []\n    );\n  },\n  deserialize(buffer, offset = 0) {\n    const value = buffer\n      .slice(offset)\n      .reduce((str, byte) => str + byte.toString(16).padStart(2, '0'), '');\n    return [value, buffer.length];\n  },\n};\n"],"names":["base16","description","fixedSize","maxSize","serialize","value","lowercaseValue","toLowerCase","match","InvalidBaseStringError","matches","Uint8Array","from","map","byte","parseInt","deserialize","buffer","offset","slice","reduce","str","toString","padStart","length"],"mappings":";;;;;;AAGA;AACA;AACA;AACA;AACO,MAAMA,MAA0B,GAAG;AACxCC,EAAAA,WAAW,EAAE,QAAQ;AACrBC,EAAAA,SAAS,EAAE,IAAI;AACfC,EAAAA,OAAO,EAAE,IAAI;EACbC,SAAS,CAACC,KAAa,EAAE;AACvB,IAAA,MAAMC,cAAc,GAAGD,KAAK,CAACE,WAAW,EAAE,CAAA;AAC1C,IAAA,IAAI,CAACD,cAAc,CAACE,KAAK,CAAC,uBAAuB,CAAC,EAAE;AAClD,MAAA,MAAM,IAAIC,6BAAsB,CAACJ,KAAK,EAAE,EAAE,CAAC,CAAA;AAC7C,KAAA;AACA,IAAA,MAAMK,OAAO,GAAGJ,cAAc,CAACE,KAAK,CAAC,SAAS,CAAC,CAAA;IAC/C,OAAOG,UAAU,CAACC,IAAI,CACpBF,OAAO,GAAGA,OAAO,CAACG,GAAG,CAAEC,IAAY,IAAKC,QAAQ,CAACD,IAAI,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,CACjE,CAAA;GACF;AACDE,EAAAA,WAAW,CAACC,MAAM,EAAEC,MAAM,GAAG,CAAC,EAAE;AAC9B,IAAA,MAAMb,KAAK,GAAGY,MAAM,CACjBE,KAAK,CAACD,MAAM,CAAC,CACbE,MAAM,CAAC,CAACC,GAAG,EAAEP,IAAI,KAAKO,GAAG,GAAGP,IAAI,CAACQ,QAAQ,CAAC,EAAE,CAAC,CAACC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,CAAA;AACtE,IAAA,OAAO,CAAClB,KAAK,EAAEY,MAAM,CAACO,MAAM,CAAC,CAAA;AAC/B,GAAA;AACF;;;;"}