{"version":3,"file":"i128.cjs","sources":["../../src/i128.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 i128 = (\n  options: NumberSerializerOptions = {}\n): Serializer<number | bigint, bigint> =>\n  numberFactory({\n    name: 'i128',\n    size: 16,\n    range: [\n      -BigInt('0x7fffffffffffffffffffffffffffffff') - 1n,\n      BigInt('0x7fffffffffffffffffffffffffffffff'),\n    ],\n    set: (view, value, le) => {\n      const leftOffset = le ? 8 : 0;\n      const rightOffset = le ? 0 : 8;\n      const rightMask = 0xffffffffffffffffn;\n      view.setBigInt64(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.getBigInt64(leftOffset, le);\n      const right = view.getBigUint64(rightOffset, le);\n      return (left << 64n) + right;\n    },\n    options,\n  });\n"],"names":["i128","options","numberFactory","name","size","range","BigInt","set","view","value","le","leftOffset","rightOffset","rightMask","setBigInt64","setBigUint64","get","left","getBigInt64","right","getBigUint64"],"mappings":";;;;;;AAAA;AAKO,MAAMA,IAAI,GAAG,CAClBC,OAAgC,GAAG,EAAE,KAErCC,mBAAa,CAAC;AACZC,EAAAA,IAAI,EAAE,MAAM;AACZC,EAAAA,IAAI,EAAE,EAAE;AACRC,EAAAA,KAAK,EAAE,CACL,CAACC,MAAM,CAAC,oCAAoC,CAAC,GAAG,EAAE,EAClDA,MAAM,CAAC,oCAAoC,CAAC,CAC7C;AACDC,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,WAAW,CAACH,UAAU,EAAEL,MAAM,CAACG,KAAK,CAAC,IAAI,GAAG,EAAEC,EAAE,CAAC,CAAA;AACtDF,IAAAA,IAAI,CAACO,YAAY,CAACH,WAAW,EAAEN,MAAM,CAACG,KAAK,CAAC,GAAGI,SAAS,EAAEH,EAAE,CAAC,CAAA;GAC9D;AACDM,EAAAA,GAAG,EAAE,CAACR,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,MAAMO,IAAI,GAAGT,IAAI,CAACU,WAAW,CAACP,UAAU,EAAED,EAAE,CAAC,CAAA;IAC7C,MAAMS,KAAK,GAAGX,IAAI,CAACY,YAAY,CAACR,WAAW,EAAEF,EAAE,CAAC,CAAA;AAChD,IAAA,OAAO,CAACO,IAAI,IAAI,GAAG,IAAIE,KAAK,CAAA;GAC7B;AACDlB,EAAAA,OAAAA;AACF,CAAC;;;;"}