@taichunmin/crc
Version:
A cross platform alternative for calculating Cyclic Redundancy Checks (CRC) values.
2 lines (1 loc) • 3.22 kB
JavaScript
;function t(F){let x=typeof F;return F!=null&&(x==="object"||x==="function")}function n(F,x,B){if(!t(F)||!Array.isArray(x)||x.length<1)return F;let E=F;for(let A of x.slice(0,-1))t(E[A])||(E[A]={}),E=E[A];return E[x.at(-1)]=B,F}var b=new Uint8Array(1),l=new Uint16Array(1),C=new Uint32Array(1);var a=new Uint32Array([0,814026741,1628053482,1368330271,3256106964,4069601313,2736660542,2476421067,362157559,622008834,1956383261,1142490600,3615631907,3876005334,3062379977,2249013820,724315118,464069659,1244017668,2057518065,3912766522,3653049295,2284981200,3099001893,1052392985,239022572,1605378547,1865756166,4239262157,3425373752,2644778535,2904625618,1448630236,1725782057,928139318,131549123,2488035336,2764662781,4115036130,3317921815,1137590827,1934314974,583294401,306270772,2178579967,2975822346,3771752981,3495259616,2104785970,1307669447,478045144,754674733,3210757094,2414169107,3731512332,4008662009,1759668677,1483171376,166229551,963475930,2868270609,2591250916,3422308859,4219029006,2897260472,2620760141,3451564114,4248813479,1856278636,1579261849,263098246,1059815539,3106323023,2309207482,3626804645,3903433296,2066908571,1270319726,439917169,717067652,2275181654,3071904675,3868629948,3591607369,1166588802,1963832439,612541544,336047005,2450166177,2727321172,4076899915,3280306622,1344188021,1620812160,823439775,26328682,4209571940,3396204433,2615338894,2875713659,956090288,142198853,1509349466,1769199535,4018072979,3757826662,2390028921,3203530124,761975367,502259122,1281412525,2095432280,3519337354,3779189887,2966342752,2152448917,332459102,592831403,1926951860,1113586753,3293759101,4107782536,2774063511,2514343522,105314729,918812252,1733092931,1472850358,3370071343,4166662874,2849319621,2572166448,181078779,978191630,1807815953,1531189988,3712557272,3989581613,3158523698,2361798855,526196492,802689273,2119631078,1322389267,3824361153,3547730228,2197356843,2994474718,568795413,291647200,1089289983,1885876490,4133817142,3336570051,2540639452,2817137449,879834338,83114775,1434135304,1711154429,2659672819,2919394566,4287462681,3473437420,1553161511,1813402322,1033454285,219958584,2333177604,3147069681,3927664878,3667814171,1225083088,2038449957,672094010,411719887,3047901469,2234402536,3567343351,3827587330,2009036489,1195014460,380987683,640706262,2688376042,2427999007,3241624320,4054994165,1646879550,1387031755,52657364,866546465,1685035671,1424659810,90539389,903907976,2793121091,2533272246,3346119337,4160009564,1912180576,1098678421,284397706,544644991,3018698932,2204680001,3538399070,3798114475,1329836409,2143731340,776580755,516727142,2371325613,3184689496,3965555015,3705183922,1523950734,1783671675,1004518244,190493841,2562825050,2823066799,4190864560,3377367877,842517835,45269694,1396560545,1673059668,4028887711,3232169322,2435444085,2712461952,664918204,388290377,1185662806,1982777507,3853903720,3576752285,2227173506,3023763319,421258917,698280272,2014443855,1217722042,3675249009,3951744644,3120940699,2323695982,210629458,1007221927,1837624504,1560470349,3466185862,4263297907,2945700716,2669075609]);function r(F=new Uint8Array,x=0){C[0]=x^4294967295;for(let B of F)C[0]=a[(C[0]^B)&255]^C[0]>>>8;return(C[0]^4294967295)>>>0}module.exports=r;