summaryrefslogtreecommitdiff
path: root/node_modules/locutus/php/url/base64_encode.js
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/locutus/php/url/base64_encode.js')
-rw-r--r--node_modules/locutus/php/url/base64_encode.js84
1 files changed, 0 insertions, 84 deletions
diff --git a/node_modules/locutus/php/url/base64_encode.js b/node_modules/locutus/php/url/base64_encode.js
deleted file mode 100644
index 5512a3e..0000000
--- a/node_modules/locutus/php/url/base64_encode.js
+++ /dev/null
@@ -1,84 +0,0 @@
-'use strict';
-
-module.exports = function base64_encode(stringToEncode) {
- // eslint-disable-line camelcase
- // discuss at: http://locutus.io/php/base64_encode/
- // original by: Tyler Akins (http://rumkin.com)
- // improved by: Bayron Guevara
- // improved by: Thunder.m
- // improved by: Kevin van Zonneveld (http://kvz.io)
- // improved by: Kevin van Zonneveld (http://kvz.io)
- // improved by: Rafał Kukawski (http://blog.kukawski.pl)
- // bugfixed by: Pellentesque Malesuada
- // improved by: Indigo744
- // example 1: base64_encode('Kevin van Zonneveld')
- // returns 1: 'S2V2aW4gdmFuIFpvbm5ldmVsZA=='
- // example 2: base64_encode('a')
- // returns 2: 'YQ=='
- // example 3: base64_encode('✓ à la mode')
- // returns 3: '4pyTIMOgIGxhIG1vZGU='
-
- // encodeUTF8string()
- // Internal function to encode properly UTF8 string
- // Adapted from Solution #1 at https://developer.mozilla.org/en-US/docs/Web/API/WindowBase64/Base64_encoding_and_decoding
- var encodeUTF8string = function encodeUTF8string(str) {
- // first we use encodeURIComponent to get percent-encoded UTF-8,
- // then we convert the percent encodings into raw bytes which
- // can be fed into the base64 encoding algorithm.
- return encodeURIComponent(str).replace(/%([0-9A-F]{2})/g, function toSolidBytes(match, p1) {
- return String.fromCharCode('0x' + p1);
- });
- };
-
- if (typeof window !== 'undefined') {
- if (typeof window.btoa !== 'undefined') {
- return window.btoa(encodeUTF8string(stringToEncode));
- }
- } else {
- return new Buffer(stringToEncode).toString('base64');
- }
-
- var b64 = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';
- var o1;
- var o2;
- var o3;
- var h1;
- var h2;
- var h3;
- var h4;
- var bits;
- var i = 0;
- var ac = 0;
- var enc = '';
- var tmpArr = [];
-
- if (!stringToEncode) {
- return stringToEncode;
- }
-
- stringToEncode = encodeUTF8string(stringToEncode);
-
- do {
- // pack three octets into four hexets
- o1 = stringToEncode.charCodeAt(i++);
- o2 = stringToEncode.charCodeAt(i++);
- o3 = stringToEncode.charCodeAt(i++);
-
- bits = o1 << 16 | o2 << 8 | o3;
-
- h1 = bits >> 18 & 0x3f;
- h2 = bits >> 12 & 0x3f;
- h3 = bits >> 6 & 0x3f;
- h4 = bits & 0x3f;
-
- // use hexets to index into b64, and append result to encoded string
- tmpArr[ac++] = b64.charAt(h1) + b64.charAt(h2) + b64.charAt(h3) + b64.charAt(h4);
- } while (i < stringToEncode.length);
-
- enc = tmpArr.join('');
-
- var r = stringToEncode.length % 3;
-
- return (r ? enc.slice(0, r - 3) : enc) + '==='.slice(r || 3);
-};
-//# sourceMappingURL=base64_encode.js.map \ No newline at end of file