steal
Version:
Gets JavaScript.
1,374 lines • 1.42 MB
JavaScript
(function(global) {
'use strict';
if (global.$traceurRuntime) {
return;
}
function setupGlobals(global) {
global.Reflect = global.Reflect || {};
global.Reflect.global = global.Reflect.global || global;
}
setupGlobals(global);
var typeOf = function(x) {
return typeof x;
};
global.$traceurRuntime = {
options: {},
setupGlobals: setupGlobals,
typeof: typeOf
};
})(typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : this);
(function() {
function buildFromEncodedParts(opt_scheme, opt_userInfo, opt_domain, opt_port, opt_path, opt_queryData, opt_fragment) {
var out = [];
if (opt_scheme) {
out.push(opt_scheme, ':');
}
if (opt_domain) {
out.push('//');
if (opt_userInfo) {
out.push(opt_userInfo, '@');
}
out.push(opt_domain);
if (opt_port) {
out.push(':', opt_port);
}
}
if (opt_path) {
out.push(opt_path);
}
if (opt_queryData) {
out.push('?', opt_queryData);
}
if (opt_fragment) {
out.push('#', opt_fragment);
}
return out.join('');
}
var splitRe = new RegExp('^' + '(?:' + '([^:/?#.]+)' + ':)?' + '(?://' + '(?:([^/?#]*)@)?' + '([\\w\\d\\-\\u0100-\\uffff.%]*)' + '(?::([0-9]+))?' + ')?' + '([^?#]+)?' + '(?:\\?([^#]*))?' + '(?:#(.*))?' + '$');
var ComponentIndex = {
SCHEME: 1,
USER_INFO: 2,
DOMAIN: 3,
PORT: 4,
PATH: 5,
QUERY_DATA: 6,
FRAGMENT: 7
};
function split(uri) {
return (uri.match(splitRe));
}
function removeDotSegments(path) {
if (path === '/')
return '/';
var leadingSlash = path[0] === '/' ? '/' : '';
var trailingSlash = path.slice(-1) === '/' ? '/' : '';
var segments = path.split('/');
var out = [];
var up = 0;
for (var pos = 0; pos < segments.length; pos++) {
var segment = segments[pos];
switch (segment) {
case '':
case '.':
break;
case '..':
if (out.length)
out.pop();
else
up++;
break;
default:
out.push(segment);
}
}
if (!leadingSlash) {
while (up-- > 0) {
out.unshift('..');
}
if (out.length === 0)
out.push('.');
}
return leadingSlash + out.join('/') + trailingSlash;
}
function joinAndCanonicalizePath(parts) {
var path = parts[ComponentIndex.PATH] || '';
path = removeDotSegments(path);
parts[ComponentIndex.PATH] = path;
return buildFromEncodedParts(parts[ComponentIndex.SCHEME], parts[ComponentIndex.USER_INFO], parts[ComponentIndex.DOMAIN], parts[ComponentIndex.PORT], parts[ComponentIndex.PATH], parts[ComponentIndex.QUERY_DATA], parts[ComponentIndex.FRAGMENT]);
}
function canonicalizeUrl(url) {
var parts = split(url);
return joinAndCanonicalizePath(parts);
}
function resolveUrl(base, url) {
var parts = split(url);
var baseParts = split(base);
if (parts[ComponentIndex.SCHEME]) {
return joinAndCanonicalizePath(parts);
} else {
parts[ComponentIndex.SCHEME] = baseParts[ComponentIndex.SCHEME];
}
for (var i = ComponentIndex.SCHEME; i <= ComponentIndex.PORT; i++) {
if (!parts[i]) {
parts[i] = baseParts[i];
}
}
if (parts[ComponentIndex.PATH][0] == '/') {
return joinAndCanonicalizePath(parts);
}
var path = baseParts[ComponentIndex.PATH];
var index = path.lastIndexOf('/');
path = path.slice(0, index + 1) + parts[ComponentIndex.PATH];
parts[ComponentIndex.PATH] = path;
return joinAndCanonicalizePath(parts);
}
function isAbsolute(name) {
if (!name)
return false;
if (name[0] === '/')
return true;
var parts = split(name);
if (parts[ComponentIndex.SCHEME])
return true;
return false;
}
$traceurRuntime.canonicalizeUrl = canonicalizeUrl;
$traceurRuntime.isAbsolute = isAbsolute;
$traceurRuntime.removeDotSegments = removeDotSegments;
$traceurRuntime.resolveUrl = resolveUrl;
})();
(function(global) {
'use strict';
var $__3 = $traceurRuntime,
canonicalizeUrl = $__3.canonicalizeUrl,
resolveUrl = $__3.resolveUrl,
isAbsolute = $__3.isAbsolute;
var moduleInstantiators = Object.create(null);
var baseURL;
if (global.location && global.location.href)
baseURL = resolveUrl(global.location.href, './');
else
baseURL = '';
function UncoatedModuleEntry(url, uncoatedModule) {
this.url = url;
this.value_ = uncoatedModule;
}
function ModuleEvaluationError(erroneousModuleName, cause) {
this.message = this.constructor.name + ': ' + this.stripCause(cause) + ' in ' + erroneousModuleName;
if (!(cause instanceof ModuleEvaluationError) && cause.stack)
this.stack = this.stripStack(cause.stack);
else
this.stack = '';
}
ModuleEvaluationError.prototype = Object.create(Error.prototype);
ModuleEvaluationError.prototype.constructor = ModuleEvaluationError;
ModuleEvaluationError.prototype.stripError = function(message) {
return message.replace(/.*Error:/, this.constructor.name + ':');
};
ModuleEvaluationError.prototype.stripCause = function(cause) {
if (!cause)
return '';
if (!cause.message)
return cause + '';
return this.stripError(cause.message);
};
ModuleEvaluationError.prototype.loadedBy = function(moduleName) {
this.stack += '\n loaded by ' + moduleName;
};
ModuleEvaluationError.prototype.stripStack = function(causeStack) {
var stack = [];
causeStack.split('\n').some(function(frame) {
if (/UncoatedModuleInstantiator/.test(frame))
return true;
stack.push(frame);
});
stack[0] = this.stripError(stack[0]);
return stack.join('\n');
};
function beforeLines(lines, number) {
var result = [];
var first = number - 3;
if (first < 0)
first = 0;
for (var i = first; i < number; i++) {
result.push(lines[i]);
}
return result;
}
function afterLines(lines, number) {
var last = number + 1;
if (last > lines.length - 1)
last = lines.length - 1;
var result = [];
for (var i = number; i <= last; i++) {
result.push(lines[i]);
}
return result;
}
function columnSpacing(columns) {
var result = '';
for (var i = 0; i < columns - 1; i++) {
result += '-';
}
return result;
}
function UncoatedModuleInstantiator(url, func) {
UncoatedModuleEntry.call(this, url, null);
this.func = func;
}
UncoatedModuleInstantiator.prototype = Object.create(UncoatedModuleEntry.prototype);
UncoatedModuleInstantiator.prototype.getUncoatedModule = function() {
var $__2 = this;
if (this.value_)
return this.value_;
try {
var relativeRequire;
if (typeof $traceurRuntime !== undefined && $traceurRuntime.require) {
relativeRequire = $traceurRuntime.require.bind(null, this.url);
}
return this.value_ = this.func.call(global, relativeRequire);
} catch (ex) {
if (ex instanceof ModuleEvaluationError) {
ex.loadedBy(this.url);
throw ex;
}
if (ex.stack) {
var lines = this.func.toString().split('\n');
var evaled = [];
ex.stack.split('\n').some(function(frame, index) {
if (frame.indexOf('UncoatedModuleInstantiator.getUncoatedModule') > 0)
return true;
var m = /(at\s[^\s]*\s).*>:(\d*):(\d*)\)/.exec(frame);
if (m) {
var line = parseInt(m[2], 10);
evaled = evaled.concat(beforeLines(lines, line));
if (index === 1) {
evaled.push(columnSpacing(m[3]) + '^ ' + $__2.url);
} else {
evaled.push(columnSpacing(m[3]) + '^');
}
evaled = evaled.concat(afterLines(lines, line));
evaled.push('= = = = = = = = =');
} else {
evaled.push(frame);
}
});
ex.stack = evaled.join('\n');
}
throw new ModuleEvaluationError(this.url, ex);
}
};
function getUncoatedModuleInstantiator(name) {
if (!name)
return;
var url = ModuleStore.normalize(name);
return moduleInstantiators[url];
}
;
var moduleInstances = Object.create(null);
var liveModuleSentinel = {};
function Module(uncoatedModule) {
var isLive = arguments[1];
var coatedModule = Object.create(null);
Object.getOwnPropertyNames(uncoatedModule).forEach(function(name) {
var getter,
value;
if (isLive === liveModuleSentinel) {
var descr = Object.getOwnPropertyDescriptor(uncoatedModule, name);
if (descr.get)
getter = descr.get;
}
if (!getter) {
value = uncoatedModule[name];
getter = function() {
return value;
};
}
Object.defineProperty(coatedModule, name, {
get: getter,
enumerable: true
});
});
Object.preventExtensions(coatedModule);
return coatedModule;
}
var ModuleStore = {
normalize: function(name, refererName, refererAddress) {
if (typeof name !== 'string')
throw new TypeError('module name must be a string, not ' + typeof name);
if (isAbsolute(name))
return canonicalizeUrl(name);
if (/[^\.]\/\.\.\//.test(name)) {
throw new Error('module name embeds /../: ' + name);
}
if (name[0] === '.' && refererName)
return resolveUrl(refererName, name);
return canonicalizeUrl(name);
},
get: function(normalizedName) {
var m = getUncoatedModuleInstantiator(normalizedName);
if (!m)
return undefined;
var moduleInstance = moduleInstances[m.url];
if (moduleInstance)
return moduleInstance;
moduleInstance = Module(m.getUncoatedModule(), liveModuleSentinel);
return moduleInstances[m.url] = moduleInstance;
},
set: function(normalizedName, module) {
normalizedName = String(normalizedName);
moduleInstantiators[normalizedName] = new UncoatedModuleInstantiator(normalizedName, function() {
return module;
});
moduleInstances[normalizedName] = module;
},
get baseURL() {
return baseURL;
},
set baseURL(v) {
baseURL = String(v);
},
registerModule: function(name, deps, func) {
var normalizedName = ModuleStore.normalize(name);
if (moduleInstantiators[normalizedName])
throw new Error('duplicate module named ' + normalizedName);
moduleInstantiators[normalizedName] = new UncoatedModuleInstantiator(normalizedName, func);
},
bundleStore: Object.create(null),
register: function(name, deps, func) {
if (!deps || !deps.length && !func.length) {
this.registerModule(name, deps, func);
} else {
this.bundleStore[name] = {
deps: deps,
execute: function() {
var $__2 = arguments;
var depMap = {};
deps.forEach(function(dep, index) {
return depMap[dep] = $__2[index];
});
var registryEntry = func.call(this, depMap);
registryEntry.execute.call(this);
return registryEntry.exports;
}
};
}
},
getAnonymousModule: function(func) {
return new Module(func(), liveModuleSentinel);
}
};
var moduleStoreModule = new Module({ModuleStore: ModuleStore});
ModuleStore.set('@traceur/src/runtime/ModuleStore.js', moduleStoreModule);
var setupGlobals = $traceurRuntime.setupGlobals;
$traceurRuntime.setupGlobals = function(global) {
setupGlobals(global);
};
$traceurRuntime.ModuleStore = ModuleStore;
$traceurRuntime.registerModule = ModuleStore.registerModule.bind(ModuleStore);
$traceurRuntime.getModule = ModuleStore.get;
$traceurRuntime.setModule = ModuleStore.set;
$traceurRuntime.normalizeModuleName = ModuleStore.normalize;
})(typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : this);
$traceurRuntime.registerModule("traceur@0.0.111/src/runtime/new-unique-string.js", [], function() {
"use strict";
var __moduleName = "traceur@0.0.111/src/runtime/new-unique-string.js";
var random = Math.random;
var counter = Date.now() % 1e9;
function newUniqueString() {
return '__$' + (random() * 1e9 >>> 1) + '$' + ++counter + '$__';
}
return {get default() {
return newUniqueString;
}};
});
$traceurRuntime.registerModule("traceur@0.0.111/src/runtime/has-native-symbols.js", [], function() {
"use strict";
var __moduleName = "traceur@0.0.111/src/runtime/has-native-symbols.js";
var v = !!Object.getOwnPropertySymbols && typeof Symbol === 'function';
function hasNativeSymbol() {
return v;
}
return {get default() {
return hasNativeSymbol;
}};
});
$traceurRuntime.registerModule("traceur@0.0.111/src/runtime/modules/symbols.js", [], function() {
"use strict";
var __moduleName = "traceur@0.0.111/src/runtime/modules/symbols.js";
var newUniqueString = $traceurRuntime.getModule($traceurRuntime.normalizeModuleName("../new-unique-string.js", "traceur@0.0.111/src/runtime/modules/symbols.js")).default;
var hasNativeSymbol = $traceurRuntime.getModule($traceurRuntime.normalizeModuleName("../has-native-symbols.js", "traceur@0.0.111/src/runtime/modules/symbols.js")).default;
var $create = Object.create;
var $defineProperty = Object.defineProperty;
var $freeze = Object.freeze;
var $getOwnPropertyNames = Object.getOwnPropertyNames;
var $keys = Object.keys;
var $TypeError = TypeError;
function nonEnum(value) {
return {
configurable: true,
enumerable: false,
value: value,
writable: true
};
}
var symbolInternalProperty = newUniqueString();
var symbolDescriptionProperty = newUniqueString();
var symbolDataProperty = newUniqueString();
var symbolValues = $create(null);
var SymbolImpl = function Symbol(description) {
var value = new SymbolValue(description);
if (!(this instanceof SymbolImpl))
return value;
throw new $TypeError('Symbol cannot be new\'ed');
};
$defineProperty(SymbolImpl.prototype, 'constructor', nonEnum(SymbolImpl));
$defineProperty(SymbolImpl.prototype, 'toString', nonEnum(function() {
var symbolValue = this[symbolDataProperty];
return symbolValue[symbolInternalProperty];
}));
$defineProperty(SymbolImpl.prototype, 'valueOf', nonEnum(function() {
var symbolValue = this[symbolDataProperty];
if (!symbolValue)
throw $TypeError('Conversion from symbol to string');
return symbolValue[symbolInternalProperty];
}));
function SymbolValue(description) {
var key = newUniqueString();
$defineProperty(this, symbolDataProperty, {value: this});
$defineProperty(this, symbolInternalProperty, {value: key});
$defineProperty(this, symbolDescriptionProperty, {value: description});
$freeze(this);
symbolValues[key] = this;
}
$defineProperty(SymbolValue.prototype, 'constructor', nonEnum(SymbolImpl));
$defineProperty(SymbolValue.prototype, 'toString', {
value: SymbolImpl.prototype.toString,
enumerable: false
});
$defineProperty(SymbolValue.prototype, 'valueOf', {
value: SymbolImpl.prototype.valueOf,
enumerable: false
});
$freeze(SymbolValue.prototype);
function isSymbolString(s) {
return symbolValues[s];
}
function removeSymbolKeys(array) {
var rv = [];
for (var i = 0; i < array.length; i++) {
if (!isSymbolString(array[i])) {
rv.push(array[i]);
}
}
return rv;
}
function getOwnPropertyNames(object) {
return removeSymbolKeys($getOwnPropertyNames(object));
}
function keys(object) {
return removeSymbolKeys($keys(object));
}
function getOwnPropertySymbols(object) {
var rv = [];
var names = $getOwnPropertyNames(object);
for (var i = 0; i < names.length; i++) {
var symbol = symbolValues[names[i]];
if (symbol) {
rv.push(symbol);
}
}
return rv;
}
function polyfillSymbol(global) {
var Object = global.Object;
if (!hasNativeSymbol()) {
global.Symbol = SymbolImpl;
Object.getOwnPropertyNames = getOwnPropertyNames;
Object.keys = keys;
$defineProperty(Object, 'getOwnPropertySymbols', nonEnum(getOwnPropertySymbols));
}
if (!global.Symbol.iterator) {
global.Symbol.iterator = global.Symbol('Symbol.iterator');
}
if (!global.Symbol.observer) {
global.Symbol.observer = global.Symbol('Symbol.observer');
}
}
var g = typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : (void 0);
polyfillSymbol(g);
var typeOf = hasNativeSymbol() ? function(x) {
return typeof x;
} : function(x) {
return x instanceof SymbolValue ? 'symbol' : typeof x;
};
return {get typeof() {
return typeOf;
}};
});
$traceurRuntime.registerModule("traceur@0.0.111/src/runtime/modules/typeof.js", [], function() {
"use strict";
var __moduleName = "traceur@0.0.111/src/runtime/modules/typeof.js";
var $__traceur_64_0_46_0_46_111_47_src_47_runtime_47_modules_47_symbols_46_js__ = $traceurRuntime.getModule($traceurRuntime.normalizeModuleName("./symbols.js", "traceur@0.0.111/src/runtime/modules/typeof.js"));
return {get default() {
return $__traceur_64_0_46_0_46_111_47_src_47_runtime_47_modules_47_symbols_46_js__.typeof;
}};
});
$traceurRuntime.registerModule("traceur@0.0.111/src/runtime/symbols.js", [], function() {
"use strict";
var __moduleName = "traceur@0.0.111/src/runtime/symbols.js";
var t = $traceurRuntime.getModule($traceurRuntime.normalizeModuleName("./modules/typeof.js", "traceur@0.0.111/src/runtime/symbols.js")).default;
$traceurRuntime.typeof = t;
return {};
});
$traceurRuntime.registerModule("traceur@0.0.111/src/runtime/modules/createClass.js", [], function() {
"use strict";
var __moduleName = "traceur@0.0.111/src/runtime/modules/createClass.js";
var $Object = Object;
var $TypeError = TypeError;
var $__1 = Object,
create = $__1.create,
defineProperties = $__1.defineProperties,
defineProperty = $__1.defineProperty,
getOwnPropertyDescriptor = $__1.getOwnPropertyDescriptor,
getOwnPropertyNames = $__1.getOwnPropertyNames,
getOwnPropertySymbols = $__1.getOwnPropertySymbols;
function forEachPropertyKey(object, f) {
getOwnPropertyNames(object).forEach(f);
if (getOwnPropertySymbols) {
getOwnPropertySymbols(object).forEach(f);
}
}
function getDescriptors(object) {
var descriptors = {};
forEachPropertyKey(object, function(key) {
descriptors[key] = getOwnPropertyDescriptor(object, key);
descriptors[key].enumerable = false;
});
return descriptors;
}
var nonEnum = {enumerable: false};
function makePropertiesNonEnumerable(object) {
forEachPropertyKey(object, function(key) {
defineProperty(object, key, nonEnum);
});
}
function createClass(ctor, object, staticObject, superClass) {
defineProperty(object, 'constructor', {
value: ctor,
configurable: true,
enumerable: false,
writable: true
});
if (arguments.length > 3) {
if (typeof superClass === 'function')
ctor.__proto__ = superClass;
ctor.prototype = create(getProtoParent(superClass), getDescriptors(object));
} else {
makePropertiesNonEnumerable(object);
ctor.prototype = object;
}
defineProperty(ctor, 'prototype', {
configurable: false,
writable: false
});
return defineProperties(ctor, getDescriptors(staticObject));
}
function getProtoParent(superClass) {
if (typeof superClass === 'function') {
var prototype = superClass.prototype;
if ($Object(prototype) === prototype || prototype === null)
return superClass.prototype;
throw new $TypeError('super prototype must be an Object or null');
}
if (superClass === null)
return null;
throw new $TypeError(("Super expression must either be null or a function, not " + typeof superClass + "."));
}
return {get default() {
return createClass;
}};
});
$traceurRuntime.registerModule("traceur@0.0.111/src/runtime/modules/superConstructor.js", [], function() {
"use strict";
var __moduleName = "traceur@0.0.111/src/runtime/modules/superConstructor.js";
function superConstructor(ctor) {
return ctor.__proto__;
}
return {get default() {
return superConstructor;
}};
});
$traceurRuntime.registerModule("traceur@0.0.111/src/runtime/modules/superDescriptor.js", [], function() {
"use strict";
var __moduleName = "traceur@0.0.111/src/runtime/modules/superDescriptor.js";
var $__0 = Object,
getOwnPropertyDescriptor = $__0.getOwnPropertyDescriptor,
getPrototypeOf = $__0.getPrototypeOf;
function superDescriptor(homeObject, name) {
var proto = getPrototypeOf(homeObject);
do {
var result = getOwnPropertyDescriptor(proto, name);
if (result)
return result;
proto = getPrototypeOf(proto);
} while (proto);
return undefined;
}
return {get default() {
return superDescriptor;
}};
});
$traceurRuntime.registerModule("traceur@0.0.111/src/runtime/modules/superGet.js", [], function() {
"use strict";
var __moduleName = "traceur@0.0.111/src/runtime/modules/superGet.js";
var superDescriptor = $traceurRuntime.getModule($traceurRuntime.normalizeModuleName("./superDescriptor.js", "traceur@0.0.111/src/runtime/modules/superGet.js")).default;
function superGet(self, homeObject, name) {
var descriptor = superDescriptor(homeObject, name);
if (descriptor) {
var value = descriptor.value;
if (value)
return value;
if (!descriptor.get)
return value;
return descriptor.get.call(self);
}
return undefined;
}
return {get default() {
return superGet;
}};
});
$traceurRuntime.registerModule("traceur@0.0.111/src/runtime/modules/superSet.js", [], function() {
"use strict";
var __moduleName = "traceur@0.0.111/src/runtime/modules/superSet.js";
var superDescriptor = $traceurRuntime.getModule($traceurRuntime.normalizeModuleName("./superDescriptor.js", "traceur@0.0.111/src/runtime/modules/superSet.js")).default;
var $TypeError = TypeError;
function superSet(self, homeObject, name, value) {
var descriptor = superDescriptor(homeObject, name);
if (descriptor && descriptor.set) {
descriptor.set.call(self, value);
return value;
}
throw $TypeError(("super has no setter '" + name + "'."));
}
return {get default() {
return superSet;
}};
});
$traceurRuntime.registerModule("traceur@0.0.111/src/runtime/classes.js", [], function() {
"use strict";
var __moduleName = "traceur@0.0.111/src/runtime/classes.js";
var createClass = $traceurRuntime.getModule($traceurRuntime.normalizeModuleName("./modules/createClass.js", "traceur@0.0.111/src/runtime/classes.js")).default;
var superConstructor = $traceurRuntime.getModule($traceurRuntime.normalizeModuleName("./modules/superConstructor.js", "traceur@0.0.111/src/runtime/classes.js")).default;
var superGet = $traceurRuntime.getModule($traceurRuntime.normalizeModuleName("./modules/superGet.js", "traceur@0.0.111/src/runtime/classes.js")).default;
var superSet = $traceurRuntime.getModule($traceurRuntime.normalizeModuleName("./modules/superSet.js", "traceur@0.0.111/src/runtime/classes.js")).default;
$traceurRuntime.createClass = createClass;
$traceurRuntime.superConstructor = superConstructor;
$traceurRuntime.superGet = superGet;
$traceurRuntime.superSet = superSet;
return {};
});
$traceurRuntime.registerModule("traceur@0.0.111/src/runtime/modules/exportStar.js", [], function() {
"use strict";
var __moduleName = "traceur@0.0.111/src/runtime/modules/exportStar.js";
var $__1 = Object,
defineProperty = $__1.defineProperty,
getOwnPropertyNames = $__1.getOwnPropertyNames;
function exportStar(object) {
var $__2 = arguments,
$__3 = function(i) {
var mod = $__2[i];
var names = getOwnPropertyNames(mod);
var $__5 = function(j) {
var name = names[j];
if (name === '__esModule' || name === 'default') {
return 0;
}
defineProperty(object, name, {
get: function() {
return mod[name];
},
enumerable: true
});
},
$__6;
$__4: for (var j = 0; j < names.length; j++) {
$__6 = $__5(j);
switch ($__6) {
case 0:
continue $__4;
}
}
};
for (var i = 1; i < arguments.length; i++) {
$__3(i);
}
return object;
}
return {get default() {
return exportStar;
}};
});
$traceurRuntime.registerModule("traceur@0.0.111/src/runtime/exportStar.js", [], function() {
"use strict";
var __moduleName = "traceur@0.0.111/src/runtime/exportStar.js";
var exportStar = $traceurRuntime.getModule($traceurRuntime.normalizeModuleName("./modules/exportStar.js", "traceur@0.0.111/src/runtime/exportStar.js")).default;
$traceurRuntime.exportStar = exportStar;
return {};
});
$traceurRuntime.registerModule("traceur@0.0.111/src/runtime/private-symbol.js", [], function() {
"use strict";
var __moduleName = "traceur@0.0.111/src/runtime/private-symbol.js";
var newUniqueString = $traceurRuntime.getModule($traceurRuntime.normalizeModuleName("./new-unique-string.js", "traceur@0.0.111/src/runtime/private-symbol.js")).default;
var $Symbol = typeof Symbol === 'function' ? Symbol : undefined;
var $getOwnPropertySymbols = Object.getOwnPropertySymbols;
var $create = Object.create;
var privateNames = $create(null);
function isPrivateSymbol(s) {
return privateNames[s];
}
;
function createPrivateSymbol() {
var s = ($Symbol || newUniqueString)();
privateNames[s] = true;
return s;
}
;
function hasPrivate(obj, sym) {
return hasOwnProperty.call(obj, sym);
}
;
function deletePrivate(obj, sym) {
if (!hasPrivate(obj, sym)) {
return false;
}
delete obj[sym];
return true;
}
;
function setPrivate(obj, sym, val) {
obj[sym] = val;
}
;
function getPrivate(obj, sym) {
var val = obj[sym];
if (val === undefined)
return undefined;
return hasOwnProperty.call(obj, sym) ? val : undefined;
}
;
function init() {
if ($getOwnPropertySymbols) {
Object.getOwnPropertySymbols = function getOwnPropertySymbols(object) {
var rv = [];
var symbols = $getOwnPropertySymbols(object);
for (var i = 0; i < symbols.length; i++) {
var symbol = symbols[i];
if (!isPrivateSymbol(symbol)) {
rv.push(symbol);
}
}
return rv;
};
}
}
return {
get isPrivateSymbol() {
return isPrivateSymbol;
},
get createPrivateSymbol() {
return createPrivateSymbol;
},
get hasPrivate() {
return hasPrivate;
},
get deletePrivate() {
return deletePrivate;
},
get setPrivate() {
return setPrivate;
},
get getPrivate() {
return getPrivate;
},
get init() {
return init;
}
};
});
$traceurRuntime.registerModule("traceur@0.0.111/src/runtime/private-weak-map.js", [], function() {
"use strict";
var __moduleName = "traceur@0.0.111/src/runtime/private-weak-map.js";
var $WeakMap = typeof WeakMap === 'function' ? WeakMap : undefined;
function isPrivateSymbol(s) {
return false;
}
function createPrivateSymbol() {
return new $WeakMap();
}
function hasPrivate(obj, sym) {
return sym.has(obj);
}
function deletePrivate(obj, sym) {
return sym.delete(obj);
}
function setPrivate(obj, sym, val) {
sym.set(obj, val);
}
function getPrivate(obj, sym) {
return sym.get(obj);
}
function init() {}
return {
get isPrivateSymbol() {
return isPrivateSymbol;
},
get createPrivateSymbol() {
return createPrivateSymbol;
},
get hasPrivate() {
return hasPrivate;
},
get deletePrivate() {
return deletePrivate;
},
get setPrivate() {
return setPrivate;
},
get getPrivate() {
return getPrivate;
},
get init() {
return init;
}
};
});
$traceurRuntime.registerModule("traceur@0.0.111/src/runtime/private.js", [], function() {
"use strict";
var __moduleName = "traceur@0.0.111/src/runtime/private.js";
var sym = $traceurRuntime.getModule($traceurRuntime.normalizeModuleName("./private-symbol.js", "traceur@0.0.111/src/runtime/private.js"));
var weak = $traceurRuntime.getModule($traceurRuntime.normalizeModuleName("./private-weak-map.js", "traceur@0.0.111/src/runtime/private.js"));
var hasWeakMap = typeof WeakMap === 'function';
var m = hasWeakMap ? weak : sym;
var isPrivateSymbol = m.isPrivateSymbol;
var createPrivateSymbol = m.createPrivateSymbol;
var hasPrivate = m.hasPrivate;
var deletePrivate = m.deletePrivate;
var setPrivate = m.setPrivate;
var getPrivate = m.getPrivate;
m.init();
return {
get isPrivateSymbol() {
return isPrivateSymbol;
},
get createPrivateSymbol() {
return createPrivateSymbol;
},
get hasPrivate() {
return hasPrivate;
},
get deletePrivate() {
return deletePrivate;
},
get setPrivate() {
return setPrivate;
},
get getPrivate() {
return getPrivate;
}
};
});
$traceurRuntime.registerModule("traceur@0.0.111/src/runtime/modules/properTailCalls.js", [], function() {
"use strict";
var __moduleName = "traceur@0.0.111/src/runtime/modules/properTailCalls.js";
var $__0 = $traceurRuntime.getModule($traceurRuntime.normalizeModuleName("../private.js", "traceur@0.0.111/src/runtime/modules/properTailCalls.js")),
getPrivate = $__0.getPrivate,
setPrivate = $__0.setPrivate,
createPrivateSymbol = $__0.createPrivateSymbol;
var $apply = Function.prototype.call.bind(Function.prototype.apply);
var CONTINUATION_TYPE = Object.create(null);
var isTailRecursiveName = null;
function createContinuation(operand, thisArg, argsArray) {
return [CONTINUATION_TYPE, operand, thisArg, argsArray];
}
function isContinuation(object) {
return object && object[0] === CONTINUATION_TYPE;
}
function $bind(operand, thisArg, args) {
var argArray = [thisArg];
for (var i = 0; i < args.length; i++) {
argArray[i + 1] = args[i];
}
var func = $apply(Function.prototype.bind, operand, argArray);
return func;
}
function $construct(func, argArray) {
var object = new ($bind(func, null, argArray));
return object;
}
function isTailRecursive(func) {
return !!getPrivate(func, isTailRecursiveName);
}
function tailCall(func, thisArg, argArray) {
var continuation = argArray[0];
if (isContinuation(continuation)) {
continuation = $apply(func, thisArg, continuation[3]);
return continuation;
}
continuation = createContinuation(func, thisArg, argArray);
while (true) {
if (isTailRecursive(func)) {
continuation = $apply(func, continuation[2], [continuation]);
} else {
continuation = $apply(func, continuation[2], continuation[3]);
}
if (!isContinuation(continuation)) {
return continuation;
}
func = continuation[1];
}
}
function construct() {
var object;
if (isTailRecursive(this)) {
object = $construct(this, [createContinuation(null, null, arguments)]);
} else {
object = $construct(this, arguments);
}
return object;
}
function setupProperTailCalls() {
isTailRecursiveName = createPrivateSymbol();
Function.prototype.call = initTailRecursiveFunction(function call(thisArg) {
var result = tailCall(function(thisArg) {
var argArray = [];
for (var i = 1; i < arguments.length; ++i) {
argArray[i - 1] = arguments[i];
}
var continuation = createContinuation(this, thisArg, argArray);
return continuation;
}, this, arguments);
return result;
});
Function.prototype.apply = initTailRecursiveFunction(function apply(thisArg, argArray) {
var result = tailCall(function(thisArg, argArray) {
var continuation = createContinuation(this, thisArg, argArray);
return continuation;
}, this, arguments);
return result;
});
}
function initTailRecursiveFunction(func) {
if (isTailRecursiveName === null) {
setupProperTailCalls();
}
setPrivate(func, isTailRecursiveName, true);
return func;
}
return {
get createContinuation() {
return createContinuation;
},
get tailCall() {
return tailCall;
},
get construct() {
return construct;
},
get initTailRecursiveFunction() {
return initTailRecursiveFunction;
}
};
});
$traceurRuntime.registerModule("traceur@0.0.111/src/runtime/modules/initTailRecursiveFunction.js", [], function() {
"use strict";
var __moduleName = "traceur@0.0.111/src/runtime/modules/initTailRecursiveFunction.js";
var $__traceur_64_0_46_0_46_111_47_src_47_runtime_47_modules_47_properTailCalls_46_js__ = $traceurRuntime.getModule($traceurRuntime.normalizeModuleName("./properTailCalls.js", "traceur@0.0.111/src/runtime/modules/initTailRecursiveFunction.js"));
return {get default() {
return $__traceur_64_0_46_0_46_111_47_src_47_runtime_47_modules_47_properTailCalls_46_js__.initTailRecursiveFunction;
}};
});
$traceurRuntime.registerModule("traceur@0.0.111/src/runtime/modules/call.js", [], function() {
"use strict";
var __moduleName = "traceur@0.0.111/src/runtime/modules/call.js";
var $__traceur_64_0_46_0_46_111_47_src_47_runtime_47_modules_47_properTailCalls_46_js__ = $traceurRuntime.getModule($traceurRuntime.normalizeModuleName("./properTailCalls.js", "traceur@0.0.111/src/runtime/modules/call.js"));
return {get default() {
return $__traceur_64_0_46_0_46_111_47_src_47_runtime_47_modules_47_properTailCalls_46_js__.tailCall;
}};
});
$traceurRuntime.registerModule("traceur@0.0.111/src/runtime/modules/continuation.js", [], function() {
"use strict";
var __moduleName = "traceur@0.0.111/src/runtime/modules/continuation.js";
var $__traceur_64_0_46_0_46_111_47_src_47_runtime_47_modules_47_properTailCalls_46_js__ = $traceurRuntime.getModule($traceurRuntime.normalizeModuleName("./properTailCalls.js", "traceur@0.0.111/src/runtime/modules/continuation.js"));
return {get default() {
return $__traceur_64_0_46_0_46_111_47_src_47_runtime_47_modules_47_properTailCalls_46_js__.createContinuation;
}};
});
$traceurRuntime.registerModule("traceur@0.0.111/src/runtime/modules/construct.js", [], function() {
"use strict";
var __moduleName = "traceur@0.0.111/src/runtime/modules/construct.js";
var $__traceur_64_0_46_0_46_111_47_src_47_runtime_47_modules_47_properTailCalls_46_js__ = $traceurRuntime.getModule($traceurRuntime.normalizeModuleName("./properTailCalls.js", "traceur@0.0.111/src/runtime/modules/construct.js"));
return {get default() {
return $__traceur_64_0_46_0_46_111_47_src_47_runtime_47_modules_47_properTailCalls_46_js__.construct;
}};
});
$traceurRuntime.registerModule("traceur@0.0.111/src/runtime/properTailCalls.js", [], function() {
"use strict";
var __moduleName = "traceur@0.0.111/src/runtime/properTailCalls.js";
var initTailRecursiveFunction = $traceurRuntime.getModule($traceurRuntime.normalizeModuleName("./modules/initTailRecursiveFunction.js", "traceur@0.0.111/src/runtime/properTailCalls.js")).default;
var call = $traceurRuntime.getModule($traceurRuntime.normalizeModuleName("./modules/call.js", "traceur@0.0.111/src/runtime/properTailCalls.js")).default;
var continuation = $traceurRuntime.getModule($traceurRuntime.normalizeModuleName("./modules/continuation.js", "traceur@0.0.111/src/runtime/properTailCalls.js")).default;
var construct = $traceurRuntime.getModule($traceurRuntime.normalizeModuleName("./modules/construct.js", "traceur@0.0.111/src/runtime/properTailCalls.js")).default;
$traceurRuntime.initTailRecursiveFunction = initTailRecursiveFunction;
$traceurRuntime.call = call;
$traceurRuntime.continuation = continuation;
$traceurRuntime.construct = construct;
return {};
});
$traceurRuntime.registerModule("traceur@0.0.111/src/runtime/relativeRequire.js", [], function() {
"use strict";
var __moduleName = "traceur@0.0.111/src/runtime/relativeRequire.js";
var path;
function relativeRequire(callerPath, requiredPath) {
path = path || typeof require !== 'undefined' && require('path');
function isDirectory(path) {
return path.slice(-1) === '/';
}
function isAbsolute(path) {
return path[0] === '/';
}
function isRelative(path) {
return path[0] === '.';
}
if (isDirectory(requiredPath) || isAbsolute(requiredPath))
return;
return isRelative(requiredPath) ? require(path.resolve(path.dirname(callerPath), requiredPath)) : require(requiredPath);
}
$traceurRuntime.require = relativeRequire;
return {};
});
$traceurRuntime.registerModule("traceur@0.0.111/src/runtime/checkObjectCoercible.js", [], function() {
"use strict";
var __moduleName = "traceur@0.0.111/src/runtime/checkObjectCoercible.js";
var $TypeError = TypeError;
function checkObjectCoercible(v) {
if (v === null || v === undefined) {
throw new $TypeError('Value cannot be converted to an Object');
}
return v;
}
return {get default() {
return checkObjectCoercible;
}};
});
$traceurRuntime.registerModule("traceur@0.0.111/src/runtime/modules/spread.js", [], function() {
"use strict";
var __moduleName = "traceur@0.0.111/src/runtime/modules/spread.js";
var checkObjectCoercible = $traceurRuntime.getModule($traceurRuntime.normalizeModuleName("../checkObjectCoercible.js", "traceur@0.0.111/src/runtime/modules/spread.js")).default;
function spread() {
var rv = [],
j = 0,
iterResult;
for (var i = 0; i < arguments.length; i++) {
var valueToSpread = checkObjectCoercible(arguments[i]);
if (typeof valueToSpread[Symbol.iterator] !== 'function') {
throw new TypeError('Cannot spread non-iterable object.');
}
var iter = valueToSpread[Symbol.iterator]();
while (!(iterResult = iter.next()).done) {
rv[j++] = iterResult.value;
}
}
return rv;
}
return {get default() {
return spread;
}};
});
$traceurRuntime.registerModule("traceur@0.0.111/src/runtime/spread.js", [], function() {
"use strict";
var __moduleName = "traceur@0.0.111/src/runtime/spread.js";
var spread = $traceurRuntime.getModule($traceurRuntime.normalizeModuleName("./modules/spread.js", "traceur@0.0.111/src/runtime/spread.js")).default;
$traceurRuntime.spread = spread;
return {};
});
$traceurRuntime.registerModule("traceur@0.0.111/src/runtime/modules/iteratorToArray.js", [], function() {
"use strict";
var __moduleName = "traceur@0.0.111/src/runtime/modules/iteratorToArray.js";
function iteratorToArray(iter) {
var rv = [];
var i = 0;
var tmp;
while (!(tmp = iter.next()).done) {
rv[i++] = tmp.value;
}
return rv;
}
return {get default() {
return iteratorToArray;
}};
});
$traceurRuntime.registerModule("traceur@0.0.111/src/runtime/destructuring.js", [], function() {
"use strict";
var __moduleName = "traceur@0.0.111/src/runtime/destructuring.js";
var iteratorToArray = $traceurRuntime.getModule($traceurRuntime.normalizeModuleName("./modules/iteratorToArray.js", "traceur@0.0.111/src/runtime/destructuring.js")).default;
$traceurRuntime.iteratorToArray = iteratorToArray;
return {};
});
$traceurRuntime.registerModule("traceur@0.0.111/src/runtime/modules/async.js", [], function() {
"use strict";
var __moduleName = "traceur@0.0.111/src/runtime/modules/async.js";
var $__12 = $traceurRuntime.getModule($traceurRuntime.normalizeModuleName("../private.js", "traceur@0.0.111/src/runtime/modules/async.js")),
createPrivateSymbol = $__12.createPrivateSymbol,
getPrivate = $__12.getPrivate,
setPrivate = $__12.setPrivate;
var $__11 = Object,
create = $__11.create,
defineProperty = $__11.defineProperty;
var observeName = createPrivateSymbol();
function AsyncGeneratorFunction() {}
function AsyncGeneratorFunctionPrototype() {}
AsyncGeneratorFunction.prototype = AsyncGeneratorFunctionPrototype;
AsyncGeneratorFunctionPrototype.constructor = AsyncGeneratorFunction;
defineProperty(AsyncGeneratorFunctionPrototype, 'constructor', {enumerable: false});
var AsyncGeneratorContext = function() {
function AsyncGeneratorContext(observer) {
var $__2 = this;
this.decoratedObserver = createDecoratedGenerator(observer, function() {
$__2.done = true;
});
this.done = false;
this.inReturn = false;
}
return ($traceurRuntime.createClass)(AsyncGeneratorContext, {
throw: function(error) {
if (!this.inReturn) {
throw error;
}
},
yield: function(value) {
if (this.done) {
this.inReturn = true;
throw undefined;
}
var result;
try {
result = this.decoratedObserver.next(value);
} catch (e) {
this.done = true;
throw e;
}
if (result === undefined) {
return;
}
if (result.done) {
this.done = true;
this.inReturn = true;
throw undefined;
}
return result.value;
},
yieldFor: function(observable) {
var ctx = this;
return observeForEach(observable[Symbol.observer].bind(observable), function(value) {
if (ctx.done) {
this.return();
return;
}
var result;
try {
result = ctx.decoratedObserver.next(value);
} catch (e) {
ctx.done = true;
throw e;
}
if (result === undefined) {
return;
}
if (result.done) {
ctx.done = true;
}
return result;
});
}
}, {});
}();
AsyncGeneratorFunctionPrototype.prototype[Symbol.observer] = function(observer) {
var observe = getPrivate(this, observeName);
var ctx = new AsyncGeneratorContext(observer);
schedule(function() {
return observe(ctx);
}).then(function(value) {
if (!ctx.done) {
ctx.decoratedObserver.return(value);
}
}).catch(function(error) {
if (!ctx.done) {
ctx.decoratedObserver.throw(error);
}
});
return ctx.decoratedObserver;
};
defineProperty(AsyncGeneratorFunctionPrototype.prototype, Symbol.observer, {enumerable: false});
function initAsyncGeneratorFunction(functionObject) {
functionObject.prototype = create(AsyncGeneratorFunctionPrototype.prototype);
functionObject.__proto__ = AsyncGeneratorFunctionPrototype;
return functionObject;
}
function createAsyncGeneratorInstance(observe, functionObject) {
for (var args = [],
$__10 = 2; $__10 < arguments.length; $__10++)
args[$__10 - 2] = arguments[$__10];
var object = create(functionObject.prototype);
setPrivate(object, observeName, observe);
return object;
}
function observeForEach(observe, next) {
return new Promise(function(resolve, reject) {
var generator = observe({
next: function(value) {
return next.call(generator, value);
},
throw: function(error) {
reject(error);
},
return: function(value) {
resolve(value);
}
});
});
}
function schedule(asyncF) {
return Promise.resolve().then(asyncF);
}
var generator = Symbol();
var onDone = Symbol();
var DecoratedGenerator = function() {
function DecoratedGenerator(_generator, _onDone) {
this[generator] = _generator;
this[onDone] = _onDone;
}
return ($traceurRuntime.createClass)(DecoratedGenerator, {
next: function(value) {
var result = this[generator].next(value);
if (result !== undefined && result.done) {
this[onDone].call(this);
}
return result;
},
throw: function(error) {
this[onDone].call(this);
return this[generator].throw(error);
},
return: function(value) {
this[onDone].call(this);
return this[generator].return(value);
}
}, {});
}();
function createDecoratedGenerator(generator, onDone) {
return new DecoratedGenerator(generator, onDone);
}
Array.prototype[Symbol.observer] = function(observer) {
var done = false;
var decoratedObserver = createDecoratedGenerator(observer, function() {
return done = true;
});
var $__6 = true;
var $__7 = false;
var $__8 = undefined;
try {
for (var $__4 = void 0,
$__3 = (this)[Symbol.iterator](); !($__6 = ($__4 = $__3.next()).done); $__6 = true) {
var value = $__4.value;
{
decoratedObserver.next(value);
if (done) {
return;
}
}
}
} catch ($__9) {
$__7 = true;
$__8 = $__9;
} finally {
try {
if (!$__6 && $__3.return != null) {
$__3.return();
}
} finally {
if ($__7) {
throw $__8;
}
}
}
decoratedObserver.return();
return decoratedObserver;
};
defineProperty(Array.prototype, Symbol.observer, {enumerable: false});
return {
get initAsyncGeneratorFunction() {
return initAsyncGeneratorFunction;
},
get createAsyncGeneratorInstance() {
return createAsyncGeneratorInstance;
},
get observeForEach() {
return observeForEach;
},
get schedule() {
return schedule;
},
get createDecoratedGenerator() {
return createDecoratedGenerator;
}
};
});
$traceurRuntime.registerModule("traceur@0.0.111/src/runtime/modules/initAsyncGeneratorFunction.js", [], function() {
"use strict";
var __moduleName = "traceur@0.0.111/src/runtime/modules/initAsyncGeneratorFunction.js";
var $__traceur_64_0_46_0_46_111_47_src_47_runtime_47_modules_47_async_46_js__ = $traceurRuntime.getModule($traceurRuntime.normalizeModuleName("./async.js", "traceur@0.0.111/src/runtime/modules/initAsyncGeneratorFunction.js"));
return {get default() {
return $__traceur_64_0_46_0_46_111_47_src_47_runtime_47_modules_47_async_46_js__.initAsyncGeneratorFunction;
}};
});
$traceurRuntime.registerModule("traceur@0.0.111/src/runtime/modules/createAsyncGeneratorInstance.js", [], function() {
"use strict";
var __moduleName = "traceur@0.0.111/src/runtime/modules/createAsyncGeneratorInstance.js";
var $__traceur_64_0_46_0_46_111_47_src_47_runtime_47_modules_47_async_46_js__ = $traceurRuntime.getModule($traceurRuntime.normalizeModuleName("./async.js", "traceur@0.0.111/src/runtime/modules/createAsyncGeneratorInstance.js"));
return {get default() {
return $__traceur_64_0_46_0_46_111_47_src_47_runtime_47_modules_47_async_46_js__.createAsyncGeneratorInstance;
}};
});
$traceurRuntime.registerModule("traceur@0.0.111/src/runtime/modules/observeForEach.js", [], function() {
"use strict";
var __moduleName = "traceur@0.0.111/src/runtime/modules/observeForEach.js";
var $__traceur_64_0_46_0_46_111_47_src_47_runtime_47_modules_47_async_46_js__ = $traceurRuntime.getModule($traceurRuntime.normalizeModuleName("./async.js", "traceur@0.0.111/src/runtime/modules/observeForEach.js"));
return {get default() {
return $__traceur_64_0_46_0_46_111_47_src_47_runtime_47_modules_47_async_46_js__.observeForEach;
}};
});
$traceurRuntime.registerModule("traceur@0.0.111/src/runtime/modules/schedule.js", [], function() {
"use strict";
var __moduleName = "traceur@0.0.111/src/runtime/modules/schedule.js";
var $__traceur_64_0_46_0_46_111_47_src_47_runtime_47_modules_47_async_46_js__ = $traceurRuntime.getModule($traceurRuntime.normalizeModuleName("./async.js", "traceur@0.0.111/src/runtime/modules/schedule.js"));
return {get default() {
return $__traceur_64_0_46_0_46_111_47_src_47_runtime_47_modules_47_async_46_js__.schedule;
}};
});
$traceurRuntime.registerModule("traceur@0.0.111/src/runtime/modules/createDecoratedGenerator.js", [], function() {
"use strict";
var __moduleName = "traceur@0.0.111/src/runtime/modules/createDecoratedGenerator.js";
var $__traceur_64_0_46_0_46_111_47_src_47_runtime_47_modules_47_async_46_js__ = $traceurRuntime.getModule($traceurRuntime.normalizeModuleName("./async.js", "traceur@0.0.111/src/runtime/modules/createDecoratedGenerator.js"));
return {get default() {
return $__traceur_64_0_46_0_46_111_47_src_47_runtime_47_modules_47_async_46_js__.createDecoratedGenerator;
}};
});
$traceurRuntime.registerModule("traceur@0.0.111/src/runtime/async.js", [], function() {
"use strict";
var __moduleName = "traceur@0.0.111/src/runtime/async.js";
var initAsyncGeneratorFunction = $traceurRuntime.getModule($traceurRuntime.normalizeModuleName("./modules/initAsyncGeneratorFunction.js", "traceur@0.0.111/src/runtime/async.js")).default;
var createAsyncGeneratorInstance = $traceurRuntime.getModule($traceurRuntime.normalizeModuleName("./modules/createAsyncGeneratorInstance.js", "traceur@0.0.111/src/runtime/async.js")).default;
var observeForEach = $traceurRuntime.getModule($traceurRuntime.normalizeModuleName("./modules/observeForEach.js", "traceur@0.0.111/src/runtime/async.js")).default;
var schedule = $traceurRuntime.getModule($traceurRuntime.normalizeModuleName(