forked from jeresig/env-js
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge branch 'master' into frame-scope
- Loading branch information
Showing
20 changed files
with
609 additions
and
179 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 |
---|---|---|
@@ -1,17 +1,23 @@ | ||
<?xml version="1.0" encoding="UTF-8"?> | ||
<projectDescription> | ||
<name>env-js</name> | ||
<comment></comment> | ||
<projects> | ||
</projects> | ||
<buildSpec> | ||
<buildCommand> | ||
<name>org.rubypeople.rdt.core.rubybuilder</name> | ||
<arguments> | ||
</arguments> | ||
</buildCommand> | ||
</buildSpec> | ||
<natures> | ||
<nature>org.rubypeople.rdt.core.rubynature</nature> | ||
</natures> | ||
</projectDescription> | ||
<?xml version="1.0" encoding="UTF-8"?> | ||
<projectDescription> | ||
<name>env-js</name> | ||
<comment></comment> | ||
<projects> | ||
</projects> | ||
<buildSpec> | ||
<buildCommand> | ||
<name>org.python.pydev.PyDevBuilder</name> | ||
<arguments> | ||
</arguments> | ||
</buildCommand> | ||
<buildCommand> | ||
<name>org.rubypeople.rdt.core.rubybuilder</name> | ||
<arguments> | ||
</arguments> | ||
</buildCommand> | ||
</buildSpec> | ||
<natures> | ||
<nature>org.rubypeople.rdt.core.rubynature</nature> | ||
<nature>org.python.pydev.pythonNature</nature> | ||
</natures> | ||
</projectDescription> |
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 @@ | ||
<appengine-web-app xmlns="http://appengine.google.com/ns/1.0"> | ||
<application>envjs</application> | ||
<version>3</version> | ||
</appengine-web-app> |
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,12 @@ | ||
<?xml version="1.0" encoding="UTF-8"?> | ||
<web-app version="2.5" | ||
xmlns="http://java.sun.com/xml/ns/javaee" | ||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | ||
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"> | ||
|
||
|
||
<welcome-file-list> | ||
<welcome-file>README</welcome-file> | ||
</welcome-file-list> | ||
|
||
</web-app> |
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
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
Binary file not shown.
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
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
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 |
---|---|---|
|
@@ -3,4 +3,5 @@ | |
* @author envjs team | ||
*/ | ||
var Console, | ||
JSON, | ||
console; |
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,230 @@ | ||
/* | ||
http://www.JSON.org/json2.js | ||
2008-07-15 | ||
Public Domain. | ||
NO WARRANTY EXPRESSED OR IMPLIED. USE AT YOUR OWN RISK. | ||
See http://www.JSON.org/js.html | ||
This code should be minified before deployment. | ||
See http://javascript.crockford.com/jsmin.html | ||
USE YOUR OWN COPY. IT IS EXTREMELY UNWISE TO LOAD CODE FROM SERVERS YOU DO | ||
NOT CONTROL. | ||
*/ | ||
JSON = function () { | ||
|
||
function f(n) { | ||
// Format integers to have at least two digits. | ||
return n < 10 ? '0' + n : n; | ||
} | ||
|
||
Date.prototype.toJSON = function (key) { | ||
|
||
return this.getUTCFullYear() + '-' + | ||
f(this.getUTCMonth() + 1) + '-' + | ||
f(this.getUTCDate()) + 'T' + | ||
f(this.getUTCHours()) + ':' + | ||
f(this.getUTCMinutes()) + ':' + | ||
f(this.getUTCSeconds()) + 'Z'; | ||
}; | ||
|
||
String.prototype.toJSON = function (key) { | ||
return String(this); | ||
}; | ||
Number.prototype.toJSON = | ||
Boolean.prototype.toJSON = function (key) { | ||
return this.valueOf(); | ||
}; | ||
|
||
var cx = /[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g, | ||
escapeable = /[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g, | ||
gap, | ||
indent, | ||
meta = { // table of character substitutions | ||
'\b': '\\b', | ||
'\t': '\\t', | ||
'\n': '\\n', | ||
'\f': '\\f', | ||
'\r': '\\r', | ||
'"' : '\\"', | ||
'\\': '\\\\' | ||
}, | ||
rep; | ||
|
||
|
||
function quote(string) { | ||
|
||
escapeable.lastIndex = 0; | ||
return escapeable.test(string) ? | ||
'"' + string.replace(escapeable, function (a) { | ||
var c = meta[a]; | ||
if (typeof c === 'string') { | ||
return c; | ||
} | ||
return '\\u' + ('0000' + | ||
(+(a.charCodeAt(0))).toString(16)).slice(-4); | ||
}) + '"' : | ||
'"' + string + '"'; | ||
} | ||
|
||
|
||
function str(key, holder) { | ||
|
||
var i, // The loop counter. | ||
k, // The member key. | ||
v, // The member value. | ||
length, | ||
mind = gap, | ||
partial, | ||
value = holder[key]; | ||
|
||
if (value && typeof value === 'object' && | ||
typeof value.toJSON === 'function') { | ||
value = value.toJSON(key); | ||
} | ||
if (typeof rep === 'function') { | ||
value = rep.call(holder, key, value); | ||
} | ||
|
||
switch (typeof value) { | ||
case 'string': | ||
return quote(value); | ||
|
||
case 'number': | ||
return isFinite(value) ? String(value) : 'null'; | ||
|
||
case 'boolean': | ||
case 'null': | ||
|
||
return String(value); | ||
|
||
case 'object': | ||
|
||
if (!value) { | ||
return 'null'; | ||
} | ||
gap += indent; | ||
partial = []; | ||
|
||
if (typeof value.length === 'number' && | ||
!(value.propertyIsEnumerable('length'))) { | ||
|
||
length = value.length; | ||
for (i = 0; i < length; i += 1) { | ||
partial[i] = str(i, value) || 'null'; | ||
} | ||
|
||
v = partial.length === 0 ? '[]' : | ||
gap ? '[\n' + gap + | ||
partial.join(',\n' + gap) + '\n' + | ||
mind + ']' : | ||
'[' + partial.join(',') + ']'; | ||
gap = mind; | ||
return v; | ||
} | ||
|
||
if (rep && typeof rep === 'object') { | ||
length = rep.length; | ||
for (i = 0; i < length; i += 1) { | ||
k = rep[i]; | ||
if (typeof k === 'string') { | ||
v = str(k, value); | ||
if (v) { | ||
partial.push(quote(k) + (gap ? ': ' : ':') + v); | ||
} | ||
} | ||
} | ||
} else { | ||
|
||
for (k in value) { | ||
if (Object.hasOwnProperty.call(value, k)) { | ||
v = str(k, value); | ||
if (v) { | ||
partial.push(quote(k) + (gap ? ': ' : ':') + v); | ||
} | ||
} | ||
} | ||
} | ||
|
||
v = partial.length === 0 ? '{}' : | ||
gap ? '{\n' + gap + partial.join(',\n' + gap) + '\n' + | ||
mind + '}' : '{' + partial.join(',') + '}'; | ||
gap = mind; | ||
return v; | ||
} | ||
} | ||
|
||
return { | ||
stringify: function (value, replacer, space) { | ||
|
||
var i; | ||
gap = ''; | ||
indent = ''; | ||
|
||
if (typeof space === 'number') { | ||
for (i = 0; i < space; i += 1) { | ||
indent += ' '; | ||
} | ||
|
||
} else if (typeof space === 'string') { | ||
indent = space; | ||
} | ||
|
||
rep = replacer; | ||
if (replacer && typeof replacer !== 'function' && | ||
(typeof replacer !== 'object' || | ||
typeof replacer.length !== 'number')) { | ||
throw new Error('JSON.stringify'); | ||
} | ||
|
||
return str('', {'': value}); | ||
}, | ||
|
||
|
||
parse: function (text, reviver) { | ||
var j; | ||
function walk(holder, key) { | ||
var k, v, value = holder[key]; | ||
if (value && typeof value === 'object') { | ||
for (k in value) { | ||
if (Object.hasOwnProperty.call(value, k)) { | ||
v = walk(value, k); | ||
if (v !== undefined) { | ||
value[k] = v; | ||
} else { | ||
delete value[k]; | ||
} | ||
} | ||
} | ||
} | ||
return reviver.call(holder, key, value); | ||
} | ||
|
||
cx.lastIndex = 0; | ||
if (cx.test(text)) { | ||
text = text.replace(cx, function (a) { | ||
return '\\u' + ('0000' + | ||
(+(a.charCodeAt(0))).toString(16)).slice(-4); | ||
}); | ||
} | ||
|
||
|
||
if (/^[\],:{}\s]*$/. | ||
test(text.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g, '@'). | ||
replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g, ']'). | ||
replace(/(?:^|:|,)(?:\s*\[)+/g, ''))) { | ||
|
||
j = eval('(' + text + ')'); | ||
|
||
return typeof reviver === 'function' ? | ||
walk({'': j}, '') : j; | ||
} | ||
|
||
throw new SyntaxError('JSON.parse'); | ||
} | ||
}; | ||
}(); |
Oops, something went wrong.