UNPKG

@metaplex-foundation/umi-serializers

Version:

A comprehensive set of serializers for the Umi framework

1 lines 2.63 kB
{"version":3,"file":"utils.mjs","sources":["../../src/utils.ts"],"sourcesContent":["import type { NumberSerializer } from '@metaplex-foundation/umi-serializers-numbers';\nimport { ArrayLikeSerializerSize } from './arrayLikeSerializerSize';\nimport { UnrecognizedArrayLikeSerializerSizeError } from './errors';\nimport { sumSerializerSizes } from './sumSerializerSizes';\n\nexport function getResolvedSize(\n size: number | NumberSerializer,\n bytes: Uint8Array,\n offset: number\n): [number | bigint, number] {\n if (typeof size === 'number') {\n return [size, offset];\n }\n\n if (typeof size === 'object') {\n return size.deserialize(bytes, offset);\n }\n\n throw new UnrecognizedArrayLikeSerializerSizeError(size);\n}\n\nexport function getSizeDescription(\n size: ArrayLikeSerializerSize | string\n): string {\n return typeof size === 'object' ? size.description : `${size}`;\n}\n\nexport function getSizeFromChildren(\n size: ArrayLikeSerializerSize,\n childrenSizes: (number | null)[]\n): number | null {\n if (typeof size !== 'number') return null;\n if (size === 0) return 0;\n const childrenSize = sumSerializerSizes(childrenSizes);\n return childrenSize === null ? null : childrenSize * size;\n}\n\nexport function getSizePrefix(\n size: ArrayLikeSerializerSize,\n realSize: number\n): Uint8Array {\n return typeof size === 'object' ? size.serialize(realSize) : new Uint8Array();\n}\n"],"names":["getResolvedSize","size","bytes","offset","deserialize","UnrecognizedArrayLikeSerializerSizeError","getSizeDescription","description","getSizeFromChildren","childrenSizes","childrenSize","sumSerializerSizes","getSizePrefix","realSize","serialize","Uint8Array"],"mappings":";;;AAKO,SAASA,eAAe,CAC7BC,IAA+B,EAC/BC,KAAiB,EACjBC,MAAc,EACa;AAC3B,EAAA,IAAI,OAAOF,IAAI,KAAK,QAAQ,EAAE;AAC5B,IAAA,OAAO,CAACA,IAAI,EAAEE,MAAM,CAAC,CAAA;AACvB,GAAA;AAEA,EAAA,IAAI,OAAOF,IAAI,KAAK,QAAQ,EAAE;AAC5B,IAAA,OAAOA,IAAI,CAACG,WAAW,CAACF,KAAK,EAAEC,MAAM,CAAC,CAAA;AACxC,GAAA;AAEA,EAAA,MAAM,IAAIE,wCAAwC,CAACJ,IAAI,CAAC,CAAA;AAC1D,CAAA;AAEO,SAASK,kBAAkB,CAChCL,IAAsC,EAC9B;EACR,OAAO,OAAOA,IAAI,KAAK,QAAQ,GAAGA,IAAI,CAACM,WAAW,GAAI,CAAEN,EAAAA,IAAK,CAAC,CAAA,CAAA;AAChE,CAAA;AAEO,SAASO,mBAAmB,CACjCP,IAA6B,EAC7BQ,aAAgC,EACjB;AACf,EAAA,IAAI,OAAOR,IAAI,KAAK,QAAQ,EAAE,OAAO,IAAI,CAAA;AACzC,EAAA,IAAIA,IAAI,KAAK,CAAC,EAAE,OAAO,CAAC,CAAA;AACxB,EAAA,MAAMS,YAAY,GAAGC,kBAAkB,CAACF,aAAa,CAAC,CAAA;EACtD,OAAOC,YAAY,KAAK,IAAI,GAAG,IAAI,GAAGA,YAAY,GAAGT,IAAI,CAAA;AAC3D,CAAA;AAEO,SAASW,aAAa,CAC3BX,IAA6B,EAC7BY,QAAgB,EACJ;AACZ,EAAA,OAAO,OAAOZ,IAAI,KAAK,QAAQ,GAAGA,IAAI,CAACa,SAAS,CAACD,QAAQ,CAAC,GAAG,IAAIE,UAAU,EAAE,CAAA;AAC/E;;;;"}