{"version":3,"file":"u128.cjs","sources":["../../src/u128.ts"],"sourcesContent":["/* eslint-disable no-bitwise */\nimport { Serializer } from '@metaplex-foundation/umi-serializers-core';\nimport { NumberSerializerOptions } from './common';\nimport { numberFactory } from './utils';\n\nexport const u128 = (\n  options: NumberSerializerOptions = {}\n): Serializer<number | bigint, bigint> =>\n  numberFactory({\n    name: 'u128',\n    size: 16,\n    range: [0, BigInt('0xffffffffffffffffffffffffffffffff')],\n    set: (view, value, le) => {\n      const leftOffset = le ? 8 : 0;\n      const rightOffset = le ? 0 : 8;\n      const rightMask = 0xffffffffffffffffn;\n      view.setBigUint64(leftOffset, BigInt(value) >> 64n, le);\n      view.setBigUint64(rightOffset, BigInt(value) & rightMask, le);\n    },\n    get: (view, le) => {\n      const leftOffset = le ? 8 : 0;\n      const rightOffset = le ? 0 : 8;\n      const left = view.getBigUint64(leftOffset, le);\n      const right = view.getBigUint64(rightOffset, le);\n      return (left << 64n) + right;\n    },\n    options,\n  });\n"],"names":["u128","options","numberFactory","name","size","range","BigInt","set","view","value","le","leftOffset","rightOffset","rightMask","setBigUint64","get","left","getBigUint64","right"],"mappings":";;;;;;AAAA;AAKO,MAAMA,IAAI,GAAG,CAClBC,OAAgC,GAAG,EAAE,KAErCC,mBAAa,CAAC;AACZC,EAAAA,IAAI,EAAE,MAAM;AACZC,EAAAA,IAAI,EAAE,EAAE;EACRC,KAAK,EAAE,CAAC,CAAC,EAAEC,MAAM,CAAC,oCAAoC,CAAC,CAAC;AACxDC,EAAAA,GAAG,EAAE,CAACC,IAAI,EAAEC,KAAK,EAAEC,EAAE,KAAK;AACxB,IAAA,MAAMC,UAAU,GAAGD,EAAE,GAAG,CAAC,GAAG,CAAC,CAAA;AAC7B,IAAA,MAAME,WAAW,GAAGF,EAAE,GAAG,CAAC,GAAG,CAAC,CAAA;IAC9B,MAAMG,SAAS,GAAG,mBAAmB,CAAA;AACrCL,IAAAA,IAAI,CAACM,YAAY,CAACH,UAAU,EAAEL,MAAM,CAACG,KAAK,CAAC,IAAI,GAAG,EAAEC,EAAE,CAAC,CAAA;AACvDF,IAAAA,IAAI,CAACM,YAAY,CAACF,WAAW,EAAEN,MAAM,CAACG,KAAK,CAAC,GAAGI,SAAS,EAAEH,EAAE,CAAC,CAAA;GAC9D;AACDK,EAAAA,GAAG,EAAE,CAACP,IAAI,EAAEE,EAAE,KAAK;AACjB,IAAA,MAAMC,UAAU,GAAGD,EAAE,GAAG,CAAC,GAAG,CAAC,CAAA;AAC7B,IAAA,MAAME,WAAW,GAAGF,EAAE,GAAG,CAAC,GAAG,CAAC,CAAA;IAC9B,MAAMM,IAAI,GAAGR,IAAI,CAACS,YAAY,CAACN,UAAU,EAAED,EAAE,CAAC,CAAA;IAC9C,MAAMQ,KAAK,GAAGV,IAAI,CAACS,YAAY,CAACL,WAAW,EAAEF,EAAE,CAAC,CAAA;AAChD,IAAA,OAAO,CAACM,IAAI,IAAI,GAAG,IAAIE,KAAK,CAAA;GAC7B;AACDjB,EAAAA,OAAAA;AACF,CAAC;;;;"}