aboutsummaryrefslogtreecommitdiff
path: root/node_modules/atob/browser-atob.js
diff options
context:
space:
mode:
authorFlorian Dold <florian.dold@gmail.com>2017-08-14 05:01:11 +0200
committerFlorian Dold <florian.dold@gmail.com>2017-08-14 05:02:09 +0200
commit363723fc84f7b8477592e0105aeb331ec9a017af (patch)
tree29f92724f34131bac64d6a318dd7e30612e631c7 /node_modules/atob/browser-atob.js
parent5634e77ad96bfe1818f6b6ee70b7379652e5487f (diff)
node_modules
Diffstat (limited to 'node_modules/atob/browser-atob.js')
-rw-r--r--node_modules/atob/browser-atob.js36
1 files changed, 36 insertions, 0 deletions
diff --git a/node_modules/atob/browser-atob.js b/node_modules/atob/browser-atob.js
new file mode 100644
index 000000000..f5fc8bce3
--- /dev/null
+++ b/node_modules/atob/browser-atob.js
@@ -0,0 +1,36 @@
+(function (w) {
+ "use strict";
+
+ var a2b = w.atob;
+
+ function atob(str) {
+ // normal window
+ if ('function' === typeof a2b) {
+ return a2b(str);
+ }
+ // browserify (web worker)
+ else if ('function' === typeof Buffer) {
+ return new Buffer(str, 'base64').toString('binary');
+ }
+ // ios web worker with base64js
+ else if ('object' === typeof w.base64js) {
+ // bufferToBinaryString
+ // https://github.com/coolaj86/unibabel-js/blob/master/index.js#L50
+ var buf = w.base64js.b64ToByteArray(str);
+
+ return Array.prototype.map.call(buf, function (ch) {
+ return String.fromCharCode(ch);
+ }).join('');
+ }
+ // ios web worker without base64js
+ else {
+ throw new Error("you're probably in an ios webworker. please include use beatgammit's base64-js");
+ }
+ }
+
+ w.atob = atob;
+
+ if (typeof module !== 'undefined') {
+ module.exports = atob;
+ }
+}(window));