forked from eugeneware/debowerify
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
56f94e0
commit 8a61e62
Showing
30 changed files
with
373 additions
and
922 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -2,3 +2,4 @@ Makefile | |
components/ | ||
bower_components/ | ||
test/ | ||
public/ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,22 @@ | ||
{ | ||
"name": "js-base64", | ||
"version": "2.1.2", | ||
"main": [ | ||
"./base64.js" | ||
], | ||
"ignore": [ | ||
"old", | ||
"test" | ||
], | ||
"dependencies": {}, | ||
"homepage": "https://github.com/dankogai/js-base64", | ||
"_release": "2.1.2", | ||
"_resolution": { | ||
"type": "version", | ||
"tag": "2.1.2", | ||
"commit": "faaf39a26a709614ce233cc78436ac45484ee14c" | ||
}, | ||
"_source": "git://github.com/dankogai/js-base64.git", | ||
"_target": "~2.1.2", | ||
"_direct": true | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
*,v | ||
attic/**/* | ||
node_modules/**/* | ||
tmp/**/* |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
language: node_js | ||
node_js: | ||
- "0.10" | ||
- "0.8" | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,51 @@ | ||
[![build status](https://secure.travis-ci.org/dankogai/js-base64.png)](http://travis-ci.org/dankogai/js-base64) | ||
|
||
# base64.js | ||
|
||
Yet another Base64 transcoder | ||
|
||
## Usage | ||
|
||
### In Browser | ||
````html | ||
<script src="base64.js"></script> | ||
```` | ||
### node.js | ||
````javascript | ||
var Base64 = require('./base64.js').Base64; | ||
```` | ||
|
||
|
||
## SYNOPSIS | ||
|
||
````javascript | ||
Base64.encode('dankogai'); // ZGFua29nYWk= | ||
Base64.encode('小飼弾'); // 5bCP6aO85by+ | ||
Base64.encodeURI('小飼弾'); // 5bCP6aO85by- | ||
|
||
Base64.decode('ZGFua29nYWk='); // dankogai | ||
Base64.decode('5bCP6aO85by+'); // 小飼弾 | ||
// note .decodeURI() is unnecessary since it accepts both flavors | ||
Base64.decode('5bCP6aO85by-'); // 小飼弾 | ||
```` | ||
|
||
### String Extension for ES5 | ||
|
||
````javascript | ||
if (Base64.extendString) { | ||
// you have to explicitly extend String.prototype | ||
Base64.extendString(); | ||
// once extended, you can do the following | ||
'dankogai'.toBase64(); // ZGFua29nYWk= | ||
'小飼弾'.toBase64(); // 5bCP6aO85by+ | ||
'小飼弾'.toBase64(true); // 5bCP6aO85by- | ||
'小飼弾'.toBase64URI(); // 5bCP6aO85by- | ||
'ZGFua29nYWk='.fromBase64(); // dankogai | ||
'5bCP6aO85by+'.fromBase64(); // 小飼弾 | ||
'5bCP6aO85by-'.fromBase64(); // 小飼弾 | ||
} | ||
```` | ||
|
||
## SEE ALSO | ||
|
||
+ http://en.wikipedia.org/wiki/Base64 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,47 @@ | ||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> | ||
<!-- $Id: base64.html,v 1.1 2009/03/01 22:00:28 dankogai Exp dankogai $ --> | ||
<html> | ||
<head> | ||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> | ||
<title>Test for base64.js</title> | ||
</head> | ||
<body> | ||
<h1>Test for base64.js</h1> | ||
<p>$Id: base64.html,v 1.1 2009/03/01 22:00:28 dankogai Exp dankogai $</p> | ||
<table width="640"><tbody> | ||
<tr><th width="50%">Text</th><th>Base64 | ||
(URL Safe <input id="encodeURI" type="checkbox" onclick="doit()">)</th></tr> | ||
<tr> | ||
<th><textarea id="srctxt" cols="32" rows="4" onkeyup="doit()"> | ||
</textarea></th> | ||
<th><textarea id="base64" cols=32" rows="4" onkeyup=" | ||
$('srctxt').value = Base64.decode(this.value); | ||
doit(); | ||
if (1 /*@cc_on -1 @*/) $('data').src = 'data:text/plain;base64,' + this.value; | ||
"></textarea></th> | ||
</tr> | ||
<tr><th width="50%">Roundtrip</th><th>iframe w/ data: (no IE)</th></tr> | ||
<tr> | ||
<th><textarea id="roundtrip" cols=32" rows="4" disabled></textarea></th> | ||
<th><iframe id="data" width="80%" height="64"></iframe></th> | ||
</tr> | ||
</tbody></table> | ||
|
||
|
||
<script src="./base64.js"></script> | ||
<script> | ||
$ = function(id){ return document.getElementById(id) }; | ||
function doit(){ | ||
var encoded = Base64[ | ||
'encode' + ($('encodeURI').checked ? 'URI' : '') | ||
]($('srctxt').value); | ||
$('base64').value = encoded; | ||
if (1 /*@cc_on -1 @*/) { | ||
$('data').src = 'data:text/plain;base64,' | ||
+ Base64.encode(Base64.decode(encoded)); | ||
} | ||
$('roundtrip').value = Base64.decode(encoded); | ||
} | ||
</script> | ||
</body> | ||
</html> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,174 @@ | ||
/* | ||
* $Id: base64.js,v 2.12 2013/05/06 07:54:20 dankogai Exp dankogai $ | ||
* | ||
* Licensed under the MIT license. | ||
* http://opensource.org/licenses/mit-license | ||
* | ||
* References: | ||
* http://en.wikipedia.org/wiki/Base64 | ||
*/ | ||
|
||
(function(global) { | ||
'use strict'; | ||
if (global.Base64) return; | ||
var version = "2.1.2"; | ||
// if node.js, we use Buffer | ||
var buffer; | ||
if (typeof module !== 'undefined' && module.exports) { | ||
buffer = require('buffer').Buffer; | ||
} | ||
// constants | ||
var b64chars | ||
= 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'; | ||
var b64tab = function(bin) { | ||
var t = {}; | ||
for (var i = 0, l = bin.length; i < l; i++) t[bin.charAt(i)] = i; | ||
return t; | ||
}(b64chars); | ||
var fromCharCode = String.fromCharCode; | ||
// encoder stuff | ||
var cb_utob = function(c) { | ||
if (c.length < 2) { | ||
var cc = c.charCodeAt(0); | ||
return cc < 0x80 ? c | ||
: cc < 0x800 ? (fromCharCode(0xc0 | (cc >>> 6)) | ||
+ fromCharCode(0x80 | (cc & 0x3f))) | ||
: (fromCharCode(0xe0 | ((cc >>> 12) & 0x0f)) | ||
+ fromCharCode(0x80 | ((cc >>> 6) & 0x3f)) | ||
+ fromCharCode(0x80 | ( cc & 0x3f))); | ||
} else { | ||
var cc = 0x10000 | ||
+ (c.charCodeAt(0) - 0xD800) * 0x400 | ||
+ (c.charCodeAt(1) - 0xDC00); | ||
return (fromCharCode(0xf0 | ((cc >>> 18) & 0x07)) | ||
+ fromCharCode(0x80 | ((cc >>> 12) & 0x3f)) | ||
+ fromCharCode(0x80 | ((cc >>> 6) & 0x3f)) | ||
+ fromCharCode(0x80 | ( cc & 0x3f))); | ||
} | ||
}; | ||
var re_utob = /[\uD800-\uDBFF][\uDC00-\uDFFFF]|[^\x00-\x7F]/g; | ||
var utob = function(u) { | ||
return u.replace(re_utob, cb_utob); | ||
}; | ||
var cb_encode = function(ccc) { | ||
var padlen = [0, 2, 1][ccc.length % 3], | ||
ord = ccc.charCodeAt(0) << 16 | ||
| ((ccc.length > 1 ? ccc.charCodeAt(1) : 0) << 8) | ||
| ((ccc.length > 2 ? ccc.charCodeAt(2) : 0)), | ||
chars = [ | ||
b64chars.charAt( ord >>> 18), | ||
b64chars.charAt((ord >>> 12) & 63), | ||
padlen >= 2 ? '=' : b64chars.charAt((ord >>> 6) & 63), | ||
padlen >= 1 ? '=' : b64chars.charAt(ord & 63) | ||
]; | ||
return chars.join(''); | ||
}; | ||
var btoa = global.btoa || function(b) { | ||
return b.replace(/[\s\S]{1,3}/g, cb_encode); | ||
}; | ||
var _encode = buffer | ||
? function (u) { return (new buffer(u)).toString('base64') } | ||
: function (u) { return btoa(utob(u)) } | ||
; | ||
var encode = function(u, urisafe) { | ||
return !urisafe | ||
? _encode(u) | ||
: _encode(u).replace(/[+\/]/g, function(m0) { | ||
return m0 == '+' ? '-' : '_'; | ||
}).replace(/=/g, ''); | ||
}; | ||
var encodeURI = function(u) { return encode(u, true) }; | ||
// decoder stuff | ||
var re_btou = new RegExp([ | ||
'[\xC0-\xDF][\x80-\xBF]', | ||
'[\xE0-\xEF][\x80-\xBF]{2}', | ||
'[\xF0-\xF7][\x80-\xBF]{3}' | ||
].join('|'), 'g'); | ||
var cb_btou = function(cccc) { | ||
switch(cccc.length) { | ||
case 4: | ||
var cp = ((0x07 & cccc.charCodeAt(0)) << 18) | ||
| ((0x3f & cccc.charCodeAt(1)) << 12) | ||
| ((0x3f & cccc.charCodeAt(2)) << 6) | ||
| (0x3f & cccc.charCodeAt(3)), | ||
offset = cp - 0x10000; | ||
return (fromCharCode((offset >>> 10) + 0xD800) | ||
+ fromCharCode((offset & 0x3FF) + 0xDC00)); | ||
case 3: | ||
return fromCharCode( | ||
((0x0f & cccc.charCodeAt(0)) << 12) | ||
| ((0x3f & cccc.charCodeAt(1)) << 6) | ||
| (0x3f & cccc.charCodeAt(2)) | ||
); | ||
default: | ||
return fromCharCode( | ||
((0x1f & cccc.charCodeAt(0)) << 6) | ||
| (0x3f & cccc.charCodeAt(1)) | ||
); | ||
} | ||
}; | ||
var btou = function(b) { | ||
return b.replace(re_btou, cb_btou); | ||
}; | ||
var cb_decode = function(cccc) { | ||
var len = cccc.length, | ||
padlen = len % 4, | ||
n = (len > 0 ? b64tab[cccc.charAt(0)] << 18 : 0) | ||
| (len > 1 ? b64tab[cccc.charAt(1)] << 12 : 0) | ||
| (len > 2 ? b64tab[cccc.charAt(2)] << 6 : 0) | ||
| (len > 3 ? b64tab[cccc.charAt(3)] : 0), | ||
chars = [ | ||
fromCharCode( n >>> 16), | ||
fromCharCode((n >>> 8) & 0xff), | ||
fromCharCode( n & 0xff) | ||
]; | ||
chars.length -= [0, 0, 2, 1][padlen]; | ||
return chars.join(''); | ||
}; | ||
var atob = global.atob || function(a){ | ||
return a.replace(/[\s\S]{1,4}/g, cb_decode); | ||
}; | ||
var _decode = buffer | ||
? function(a) { return (new buffer(a, 'base64')).toString() } | ||
: function(a) { return btou(atob(a)) }; | ||
var decode = function(a){ | ||
return _decode( | ||
a.replace(/[-_]/g, function(m0) { return m0 == '-' ? '+' : '/' }) | ||
.replace(/[^A-Za-z0-9\+\/]/g, '') | ||
); | ||
}; | ||
// export Base64 | ||
global.Base64 = { | ||
VERSION: version, | ||
atob: atob, | ||
btoa: btoa, | ||
fromBase64: decode, | ||
toBase64: encode, | ||
utob: utob, | ||
encode: encode, | ||
encodeURI: encodeURI, | ||
btou: btou, | ||
decode: decode | ||
}; | ||
// if ES5 is available, make Base64.extendString() available | ||
if (typeof Object.defineProperty === 'function') { | ||
var noEnum = function(v){ | ||
return {value:v,enumerable:false,writable:true,configurable:true}; | ||
}; | ||
global.Base64.extendString = function () { | ||
Object.defineProperty( | ||
String.prototype, 'fromBase64', noEnum(function () { | ||
return decode(this) | ||
})); | ||
Object.defineProperty( | ||
String.prototype, 'toBase64', noEnum(function (urisafe) { | ||
return encode(this, urisafe) | ||
})); | ||
Object.defineProperty( | ||
String.prototype, 'toBase64URI', noEnum(function () { | ||
return encode(this, true) | ||
})); | ||
}; | ||
} | ||
// that's it! | ||
})(this); |
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,13 @@ | ||
{ | ||
"name": "js-base64", | ||
"version": "2.1.2", | ||
"main": [ | ||
"./base64.js" | ||
], | ||
"ignore": [ | ||
"old", | ||
"test" | ||
], | ||
"dependencies": { | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,26 @@ | ||
{ | ||
"name": "js-base64", | ||
"version": "2.1.2", | ||
"description": "Yet another Base64 transcoder in pure-JS", | ||
"main": "base64.js", | ||
"directories": { | ||
"test": "test" | ||
}, | ||
"scripts": { | ||
"test": "mocha" | ||
}, | ||
"devDependencies": { | ||
"mocha": "*" | ||
}, | ||
"repository": { | ||
"type": "git", | ||
"url": "git://github.com/dankogai/js-base64.git" | ||
}, | ||
"keywords": [ | ||
"base64" | ||
], | ||
"author": "Dan Kogai", | ||
"license": "BSD", | ||
"readmeFilename": "README.md", | ||
"gitHead": "8bfa436f733bec60c95c720e1d720c28b43ae0b2" | ||
} |
This file was deleted.
Oops, something went wrong.
Oops, something went wrong.