{"version":3,"file":"deserializeReverse.cjs","sources":["../../../../src/utils/deserializers/deserializeReverse.ts"],"sourcesContent":["import { ReadonlyUint8Array } from \"@solana/kit\";\r\n\r\nimport { utf8Codec } from \"../../codecs\";\r\n\r\ninterface DeserializeReverseParams {\r\n  data: ReadonlyUint8Array | undefined;\r\n  trimFirstNullByte?: boolean;\r\n}\r\n\r\n/**\r\n * Deserializes reverse account data.\r\n *\r\n * @param params - An object containing the following properties:\r\n *   - `data`: The Uint8Array to deserialize. If undefined, returns undefined.\r\n *   - `trimFirstNullByte`: (Optional) Whether to trim the first null byte from the result string. Defaults to false.\r\n * @returns The deserialized string, or undefined if data is undefined.\r\n */\r\nexport function deserializeReverse({\r\n  data,\r\n  trimFirstNullByte,\r\n}: DeserializeReverseParams): string;\r\n\r\nexport function deserializeReverse({\r\n  data,\r\n  trimFirstNullByte,\r\n}: DeserializeReverseParams): undefined;\r\n\r\nexport function deserializeReverse({\r\n  data,\r\n  trimFirstNullByte = false,\r\n}: DeserializeReverseParams): string | undefined {\r\n  if (!data) return undefined;\r\n\r\n  const view = new DataView(data.buffer);\r\n  const nameLength = view.getUint32(0, true);\r\n\r\n  return utf8Codec\r\n    .decode(data.subarray(4, 4 + nameLength))\r\n    .replace(/^\\0/, trimFirstNullByte ? \"\" : \"\\0\");\r\n}\r\n"],"names":["data","trimFirstNullByte","nameLength","DataView","buffer","getUint32","utf8Codec","decode","subarray","replace"],"mappings":"0EA2BM,UAA6BA,KACjCA,EAAIC,kBACJA,GAAoB,IAEpB,IAAKD,EAAM,OAEX,MACME,EADO,IAAIC,SAASH,EAAKI,QACPC,UAAU,GAAG,GAErC,OAAOC,EAAAA,UACJC,OAAOP,EAAKQ,SAAS,EAAG,EAAIN,IAC5BO,QAAQ,MAAOR,EAAoB,GAAK,KAC7C"}