dist/globals/ember-data.prod.js in ember-data-source-2.12.0.beta.4 vs dist/globals/ember-data.prod.js in ember-data-source-2.12.0

- old
+ new

@@ -4,62 +4,49 @@ /*! * @overview Ember Data * @copyright Copyright 2011-2016 Tilde Inc. and contributors. * Portions Copyright 2011 LivingSocial Inc. * @license Licensed under MIT license (see license.js) - * @version 2.12.0-beta.4 + * @version 2.12.0 */ var loader, define, requireModule, require, requirejs; -(function(global) { +(function (global) { 'use strict'; - var stats; + var heimdall = global.heimdall; + function dict() { + var obj = Object.create(null); + obj['__'] = undefined; + delete obj['__']; + return obj; + } + // Save off the original values of these globals, so we can restore them if someone asks us to var oldGlobals = { loader: loader, define: define, requireModule: requireModule, require: require, requirejs: requirejs }; - requirejs = require = requireModule = function(name) { - stats.require++; + requirejs = require = requireModule = function (name) { var pending = []; var mod = findModule(name, '(require)', pending); for (var i = pending.length - 1; i >= 0; i--) { pending[i].exports(); } return mod.module.exports; }; - function resetStats() { - stats = { - define: 0, - require: 0, - reify: 0, - findDeps: 0, - modules: 0, - exports: 0, - resolve: 0, - resolveRelative: 0, - findModule: 0, - pendingQueueLength: 0 - }; - requirejs._stats = stats; - } - - - resetStats(); - loader = { - noConflict: function(aliases) { + noConflict: function (aliases) { var oldName, newName; for (oldName in aliases) { if (aliases.hasOwnProperty(oldName)) { if (oldGlobals.hasOwnProperty(oldName)) { @@ -80,29 +67,27 @@ }; } else { _isArray = Array.isArray; } - var registry = {}; - var seen = {}; + var registry = dict(); + var seen = dict(); var uuid = 0; function unsupportedModule(length) { - throw new Error('an unsupported module was defined, expected `define(name, deps, module)` instead got: `' + - length + '` arguments to define`'); + throw new Error('an unsupported module was defined, expected `define(name, deps, module)` instead got: `' + length + '` arguments to define`'); } var defaultDeps = ['require', 'exports', 'module']; function Module(name, deps, callback, alias) { - stats.modules++; - this.id = uuid++; - this.name = name; - this.deps = !deps.length && callback.length ? defaultDeps : deps; - this.module = { exports: {} }; - this.callback = callback; + this.id = uuid++; + this.name = name; + this.deps = !deps.length && callback.length ? defaultDeps : deps; + this.module = { exports: {} }; + this.callback = callback; this.hasExportsAsDep = false; this.isAlias = alias; this.reified = new Array(deps.length); /* @@ -113,27 +98,25 @@ reified : this module's dependencies finished executing successfully errored : this module's dependencies failed to execute finalized : this module executed successfully */ this.state = 'new'; - } - Module.prototype.makeDefaultExport = function() { + Module.prototype.makeDefaultExport = function () { var exports = this.module.exports; - if (exports !== null && - (typeof exports === 'object' || typeof exports === 'function') && - exports['default'] === undefined && !Object.isFrozen(exports)) { + if (exports !== null && (typeof exports === 'object' || typeof exports === 'function') && exports['default'] === undefined && Object.isExtensible(exports)) { exports['default'] = exports; } }; - Module.prototype.exports = function() { + Module.prototype.exports = function () { // if finalized, there is no work to do. If reifying, there is a // circular dependency so we must return our (partial) exports. - if (this.state === 'finalized' || this.state === 'reifying') { return this.module.exports; } - stats.exports++; + if (this.state === 'finalized' || this.state === 'reifying') { + return this.module.exports; + } if (loader.wrapModules) { this.callback = loader.wrapModules(this.name, this.callback); } @@ -147,17 +130,19 @@ } this.makeDefaultExport(); return this.module.exports; }; - Module.prototype.unsee = function() { + Module.prototype.unsee = function () { this.state = 'new'; this.module = { exports: {} }; }; - Module.prototype.reify = function() { - if (this.state === 'reified') { return; } + Module.prototype.reify = function () { + if (this.state === 'reified') { + return; + } this.state = 'reifying'; try { this.reified = this._reify(); this.state = 'reified'; } finally { @@ -165,26 +150,24 @@ this.state = 'errored'; } } }; - Module.prototype._reify = function() { - stats.reify++; + Module.prototype._reify = function () { var reified = this.reified.slice(); for (var i = 0; i < reified.length; i++) { var mod = reified[i]; reified[i] = mod.exports ? mod.exports : mod.module.exports(); } return reified; }; - Module.prototype.findDeps = function(pending) { + Module.prototype.findDeps = function (pending) { if (this.state !== 'new') { return; } - stats.findDeps++; this.state = 'pending'; var deps = this.deps; for (var i = 0; i < deps.length; i++) { @@ -201,31 +184,39 @@ entry.module = findModule(resolve(dep, this.name), this.name, pending); } } }; - Module.prototype.makeRequire = function() { + Module.prototype.makeRequire = function () { var name = this.name; - var r = function(dep) { + var r = function (dep) { return require(resolve(dep, name)); }; r['default'] = r; - r.has = function(dep) { + r.has = function (dep) { return has(resolve(dep, name)); }; return r; }; - define = function(name, deps, callback) { - stats.define++; + define = function (name, deps, callback) { + var module = registry[name]; + + // If a module for this name has already been defined and is in any state + // other than `new` (meaning it has been or is currently being required), + // then we return early to avoid redefinition. + if (module && module.state !== 'new') { + return; + } + if (arguments.length < 2) { unsupportedModule(arguments.length); } if (!_isArray(deps)) { callback = deps; - deps = []; + deps = []; } if (callback instanceof Alias) { registry[name] = new Module(callback.name, deps, callback, true); } else { @@ -233,47 +224,45 @@ } }; // we don't support all of AMD // define.amd = {}; - // we will support petals... - define.petal = { }; function Alias(path) { this.name = path; } - define.alias = function(path) { + define.alias = function (path) { return new Alias(path); }; function missingModule(name, referrer) { throw new Error('Could not find module `' + name + '` imported from `' + referrer + '`'); } function findModule(name, referrer, pending) { - stats.findModule++; var mod = registry[name] || registry[name + '/index']; while (mod && mod.isAlias) { mod = registry[mod.name]; } - if (!mod) { missingModule(name, referrer); } + if (!mod) { + missingModule(name, referrer); + } if (pending && mod.state !== 'pending' && mod.state !== 'finalized') { mod.findDeps(pending); pending.push(mod); - stats.pendingQueueLength++; } return mod; } function resolve(child, name) { - stats.resolve++; - if (child.charAt(0) !== '.') { return child; } - stats.resolveRelative++; + if (child.charAt(0) !== '.') { + return child; + } var parts = child.split('/'); var nameParts = name.split('/'); var parentBase = nameParts.slice(0, -1); @@ -285,11 +274,13 @@ throw new Error('Cannot access parent module of root'); } parentBase.pop(); } else if (part === '.') { continue; - } else { parentBase.push(part); } + } else { + parentBase.push(part); + } } return parentBase.join('/'); } @@ -297,43 +288,42 @@ return !!(registry[name] || registry[name + '/index']); } requirejs.entries = requirejs._eak_seen = registry; requirejs.has = has; - requirejs.unsee = function(moduleName) { + requirejs.unsee = function (moduleName) { findModule(moduleName, '(unsee)', false).unsee(); }; - requirejs.clear = function() { - resetStats(); - requirejs.entries = requirejs._eak_seen = registry = {}; - seen = {}; + requirejs.clear = function () { + requirejs.entries = requirejs._eak_seen = registry = dict(); + seen = dict(); }; - // prime - define('foo', function() {}); - define('foo/bar', [], function() {}); - define('foo/asdf', ['module', 'exports', 'require'], function(module, exports, require) { + // This code primes the JS engine for good performance by warming the + // JIT compiler for these functions. + define('foo', function () {}); + define('foo/bar', [], function () {}); + define('foo/asdf', ['module', 'exports', 'require'], function (module, exports, require) { if (require.has('foo/bar')) { require('foo/bar'); } }); - define('foo/baz', [], define.alias('foo')); - define('foo/quz', define.alias('foo')); - define('foo/bar', ['foo', './quz', './baz', './asdf', './bar', '../foo'], function() {}); - define('foo/main', ['foo/bar'], function() {}); + define('foo/baz', [], define.alias('foo')); + define('foo/quz', define.alias('foo')); + define('foo/bar', ['foo', './quz', './baz', './asdf', './bar', '../foo'], function () {}); + define('foo/main', ['foo/bar'], function () {}); require('foo/main'); require.unsee('foo/bar'); requirejs.clear(); if (typeof exports === 'object' && typeof module === 'object' && module.exports) { module.exports = { require: require, define: define }; } })(this); - define("ember-data/-private/adapters", ["exports", "ember-data/adapters/json-api", "ember-data/adapters/rest"], function (exports, _emberDataAdaptersJsonApi, _emberDataAdaptersRest) { exports.JSONAPIAdapter = _emberDataAdaptersJsonApi.default; exports.RESTAdapter = _emberDataAdaptersRest.default; }); /** @@ -19371,10 +19361,10 @@ */ deserialize: null }); }); define("ember-data/version", ["exports"], function (exports) { - exports.default = "2.12.0-beta.4"; + exports.default = "2.12.0"; }); define("ember-inflector", ["exports", "ember", "ember-inflector/lib/system", "ember-inflector/lib/ext/string"], function (exports, _ember, _emberInflectorLibSystem, _emberInflectorLibExtString) { _emberInflectorLibSystem.Inflector.defaultRules = _emberInflectorLibSystem.defaultRules; _ember.default.Inflector = _emberInflectorLibSystem.Inflector;