UNPKG

luhn-generator

Version:

A generator of numbers that passes the validation of Luhn algorithm or Luhn formula, also known as the 'modulus 10' or 'mod 10' algorithm

45 lines (37 loc) 1.36 kB
(function (w) { "use strict"; function findBest(atobNative) { // normal window if ('function' === typeof atobNative) { return atobNative; } // browserify (web worker) if ('function' === typeof Buffer) { return function atobBrowserify(a) { //!! Deliberately using an API that's deprecated in node.js because //!! this file is for browsers and we expect them to cope with it. //!! Discussion: github.com/node-browser-compat/atob/pull/9 return new Buffer(a, 'base64').toString('binary'); }; } // ios web worker with base64js if ('object' === typeof w.base64js) { // bufferToBinaryString // https://git.coolaj86.com/coolaj86/unibabel.js/blob/master/index.js#L50 return function atobWebWorker_iOS(a) { var buf = w.base64js.b64ToByteArray(a); return Array.prototype.map.call(buf, function (ch) { return String.fromCharCode(ch); }).join(''); }; } return function () { // ios web worker without base64js throw new Error("You're probably in an old browser or an iOS webworker." + " It might help to include beatgammit's base64-js."); }; } var atobBest = findBest(w.atob); w.atob = atobBest; if ((typeof module === 'object') && module && module.exports) { module.exports = atobBest; } }(window));