{"ScriptPreparationCode":"function bigIntToUint8ArrayDirectConstructor(value) {\r\n const result = new Uint8Array(8);\r\n result[7] = Number(value \u0026 0xffn);\r\n result[6] = Number((value \u003E\u003E 8n) \u0026 0xffn);\r\n result[5] = Number((value \u003E\u003E 16n) \u0026 0xffn);\r\n result[4] = Number((value \u003E\u003E 24n) \u0026 0xffn);\r\n result[3] = Number((value \u003E\u003E 32n) \u0026 0xffn);\r\n result[2] = Number((value \u003E\u003E 40n) \u0026 0xffn);\r\n result[1] = Number((value \u003E\u003E 48n) \u0026 0xffn);\r\n result[0] = Number((value \u003E\u003E 56n) \u0026 0xffn);\r\n return result;\r\n}\r\n\r\n// Added by trincot: first split BigInt into two numbers (32 bit), then work with those only\r\nfunction bigIntToUint8ArrayDirectConstructor2(value) {\r\n const result = new Uint8Array(8);\r\n const low = Number(value \u0026 0xffffffffn);\r\n const high = Number(value \u003E\u003E 32n);\r\n result[7] = low \u0026 0xff;\r\n result[6] = (low \u003E\u003E\u003E 8) \u0026 0xff;\r\n result[5] = (low \u003E\u003E\u003E 16) \u0026 0xff;\r\n result[4] = low \u003E\u003E\u003E 24;\r\n result[3] = high \u0026 0xff;\r\n result[2] = (high \u003E\u003E\u003E 8) \u0026 0xff;\r\n result[1] = (high \u003E\u003E\u003E 16) \u0026 0xff;\r\n result[0] = high \u003E\u003E\u003E 24;\r\n return result;\r\n}\r\n\r\n// Forward assignment instead of backward\r\nfunction bigIntToUint8ArrayDirectConstructor3(value) {\r\n const result = new Uint8Array(8);\r\n const low = Number(value \u0026 0xffffffffn);\r\n const high = Number(value \u003E\u003E 32n);\r\n result[0] = high \u003E\u003E\u003E 24;\r\n result[1] = (high \u003E\u003E\u003E 16) \u0026 0xff;\r\n result[2] = (high \u003E\u003E\u003E 8) \u0026 0xff;\r\n result[3] = high \u0026 0xff;\r\n result[4] = low \u003E\u003E\u003E 24;\r\n result[5] = (low \u003E\u003E\u003E 16) \u0026 0xff;\r\n result[6] = (low \u003E\u003E\u003E 8) \u0026 0xff;\r\n result[7] = low \u0026 0xff;\r\n return result;\r\n}\r\n","TestCases":[{"Name":"Direct Constructor","Code":"bigIntToUint8ArrayDirectConstructor(32149814014n)","IsDeferred":false},{"Name":"With split","Code":"bigIntToUint8ArrayDirectConstructor2(32149814014n)","IsDeferred":false},{"Name":"With split and forward assignment","Code":"bigIntToUint8ArrayDirectConstructor3(32149814014n)","IsDeferred":false}]}