dist/ember-template-compiler.js in ember-source-2.3.2 vs dist/ember-template-compiler.js in ember-source-2.4.0.beta.2
- old
+ new
@@ -4,11 +4,11 @@
* @copyright Copyright 2011-2015 Tilde Inc. and contributors
* Portions Copyright 2006-2011 Strobe Inc.
* Portions Copyright 2008-2011 Apple Inc. All rights reserved.
* @license Licensed under MIT license
* See https://raw.github.com/emberjs/ember.js/master/LICENSE
- * @version 2.3.2
+ * @version 2.4.0-beta.2
*/
var enifed, requireModule, require, requirejs, Ember;
var mainContext = this;
@@ -41,34 +41,47 @@
};
requirejs = require = requireModule = function(name) {
return internalRequire(name, null);
}
+
+ // setup `require` module
require['default'] = require;
+ require.has = function registryHas(moduleName) {
+ return !!registry[moduleName] || !!registry[moduleName + '/index'];
+ };
+
function missingModule(name, referrerName) {
if (referrerName) {
throw new Error('Could not find module ' + name + ' required by: ' + referrerName);
} else {
throw new Error('Could not find module ' + name);
}
}
- function internalRequire(name, referrerName) {
+ function internalRequire(_name, referrerName) {
+ var name = _name;
+ var mod = registry[name];
+
+ if (!mod) {
+ name = name + '/index';
+ mod = registry[name];
+ }
+
var exports = seen[name];
if (exports !== undefined) {
return exports;
}
exports = seen[name] = {};
- if (!registry[name]) {
- missingModule(name, referrerName);
+ if (!mod) {
+ missingModule(_name, referrerName);
}
- var mod = registry[name];
var deps = mod.deps;
var callback = mod.callback;
var length = deps.length;
var reified = new Array(length);;
@@ -195,23 +208,12 @@
}
}
};
});
enifed('backburner/platform', ['exports'], function (exports) {
- // In IE 6-8, try/finally doesn't work without a catch.
- // Unfortunately, this is impossible to test for since wrapping it in a parent try/catch doesn't trigger the bug.
- // This tests for another broken try/catch behavior that only exhibits in the same versions of IE.
'use strict';
- var needsIETryCatchFix = (function (e, x) {
- try {
- x();
- } catch (e) {} // jshint ignore:line
- return !!e;
- })();
-
- exports.needsIETryCatchFix = needsIETryCatchFix;
var platform;
/* global self */
if (typeof self === 'object') {
platform = self;
@@ -535,13 +537,10 @@
this._boundRunExpiredTimers = function () {
_this._runExpiredTimers();
};
}
- // ms of delay before we conclude a timeout was lost
- var TIMEOUT_STALLED_THRESHOLD = 1000;
-
Backburner.prototype = {
begin: function () {
var options = this.options;
var onBegin = options && options.onBegin;
var previousInstance = this.currentInstance;
@@ -899,12 +898,10 @@
this._timers.push(executeAt, fn);
this._installTimerTimeout();
return fn;
}
- this._reinstallStalledTimerTimeout();
-
// find position to insert
var i = _backburnerBinarySearch.default(executeAt, this._timers);
this._timers.splice(i, 0, executeAt, fn);
@@ -1097,25 +1094,10 @@
}
timers.splice(0, i);
this._installTimerTimeout();
},
- _reinstallStalledTimerTimeout: function () {
- if (!this._timerTimeoutId) {
- return;
- }
- // if we have a timer we should always have a this._timerTimeoutId
- var minExpiresAt = this._timers[0];
- var delay = _backburnerUtils.now() - minExpiresAt;
- // threshold of a second before we assume that the currently
- // installed timeout will not run, so we don't constantly reinstall
- // timeouts that are delayed but good still
- if (delay < TIMEOUT_STALLED_THRESHOLD) {
- return;
- }
- },
-
_reinstallTimerTimeout: function () {
this._clearTimerTimeout();
this._installTimerTimeout();
},
@@ -1140,18 +1122,10 @@
Backburner.prototype.schedule = Backburner.prototype.defer;
Backburner.prototype.scheduleOnce = Backburner.prototype.deferOnce;
Backburner.prototype.later = Backburner.prototype.setTimeout;
- if (_backburnerPlatform.needsIETryCatchFix) {
- var originalRun = Backburner.prototype.run;
- Backburner.prototype.run = _backburnerUtils.wrapInTryCatch(originalRun);
-
- var originalEnd = Backburner.prototype.end;
- Backburner.prototype.end = _backburnerUtils.wrapInTryCatch(originalEnd);
- }
-
function getOnError(options) {
return options.onError || options.onErrorTarget && options.onErrorTarget[options.onErrorMethod];
}
function createAutorun(backburner) {
@@ -1370,86 +1344,13 @@
if (handlerForType) {
handlerForType(message, options);
}
}
});
-enifed('ember-debug/is-plain-function', ['exports'], function (exports) {
+enifed('ember-debug/index', ['exports', 'ember-metal/core', 'ember-metal/debug', 'ember-metal/features', 'ember-metal/error', 'ember-metal/logger', 'ember-metal/environment', 'ember-debug/deprecate', 'ember-debug/warn', 'ember-debug/is-plain-function', 'ember-debug/handlers'], function (exports, _emberMetalCore, _emberMetalDebug, _emberMetalFeatures, _emberMetalError, _emberMetalLogger, _emberMetalEnvironment, _emberDebugDeprecate, _emberDebugWarn, _emberDebugIsPlainFunction, _emberDebugHandlers) {
'use strict';
- exports.default = isPlainFunction;
-
- function isPlainFunction(test) {
- return typeof test === 'function' && test.PrototypeMixin === undefined;
- }
-});
-enifed('ember-debug/warn', ['exports', 'ember-metal/logger', 'ember-metal/debug', 'ember-debug/handlers'], function (exports, _emberMetalLogger, _emberMetalDebug, _emberDebugHandlers) {
- 'use strict';
-
- var _slice = Array.prototype.slice;
- exports.registerHandler = registerHandler;
- exports.default = warn;
-
- function registerHandler(handler) {
- _emberDebugHandlers.registerHandler('warn', handler);
- }
-
- registerHandler(function logWarning(message, options) {
- _emberMetalLogger.default.warn('WARNING: ' + message);
- if ('trace' in _emberMetalLogger.default) {
- _emberMetalLogger.default.trace();
- }
- });
-
- var missingOptionsDeprecation = 'When calling `Ember.warn` you ' + 'must provide an `options` hash as the third parameter. ' + '`options` should include an `id` property.';
- exports.missingOptionsDeprecation = missingOptionsDeprecation;
- var missingOptionsIdDeprecation = 'When calling `Ember.warn` you must provide `id` in options.';
-
- exports.missingOptionsIdDeprecation = missingOptionsIdDeprecation;
- /**
- @module ember
- @submodule ember-debug
- */
-
- /**
- Display a warning with the provided message. Ember build tools will
- remove any calls to `Ember.warn()` when doing a production build.
-
- @method warn
- @param {String} message A warning to display.
- @param {Boolean} test An optional boolean. If falsy, the warning
- will be displayed.
- @param {Object} options An ojbect that can be used to pass a unique
- `id` for this warning. The `id` can be used by Ember debugging tools
- to change the behavior (raise, log, or silence) for that specific warning.
- The `id` should be namespaced by dots, e.g. "ember-debug.feature-flag-with-features-stripped"
- @for Ember
- @public
- */
-
- function warn(message, test, options) {
- if (!options) {
- _emberMetalDebug.deprecate(missingOptionsDeprecation, false, {
- id: 'ember-debug.warn-options-missing',
- until: '3.0.0',
- url: 'http://emberjs.com/deprecations/v2.x/#toc_ember-debug-function-options'
- });
- }
-
- if (options && !options.id) {
- _emberMetalDebug.deprecate(missingOptionsIdDeprecation, false, {
- id: 'ember-debug.warn-id-missing',
- until: '3.0.0',
- url: 'http://emberjs.com/deprecations/v2.x/#toc_ember-debug-function-options'
- });
- }
-
- _emberDebugHandlers.invoke.apply(undefined, ['warn'].concat(_slice.call(arguments)));
- }
-});
-enifed('ember-debug', ['exports', 'ember-metal/core', 'ember-metal/debug', 'ember-metal/features', 'ember-metal/error', 'ember-metal/logger', 'ember-metal/environment', 'ember-debug/deprecate', 'ember-debug/warn', 'ember-debug/is-plain-function', 'ember-debug/handlers'], function (exports, _emberMetalCore, _emberMetalDebug, _emberMetalFeatures, _emberMetalError, _emberMetalLogger, _emberMetalEnvironment, _emberDebugDeprecate, _emberDebugWarn, _emberDebugIsPlainFunction, _emberDebugHandlers) {
- 'use strict';
-
exports._warnIfUsingStrippedFeatureFlags = _warnIfUsingStrippedFeatureFlags;
/**
@module ember
@submodule ember-debug
@@ -1737,10 +1638,83 @@
exports.runningNonEmberDebugJS = runningNonEmberDebugJS;
if (runningNonEmberDebugJS) {
_emberMetalDebug.warn('Please use `ember.debug.js` instead of `ember.js` for development and debugging.');
}
});
+enifed('ember-debug/is-plain-function', ['exports'], function (exports) {
+ 'use strict';
+
+ exports.default = isPlainFunction;
+
+ function isPlainFunction(test) {
+ return typeof test === 'function' && test.PrototypeMixin === undefined;
+ }
+});
+enifed('ember-debug/warn', ['exports', 'ember-metal/logger', 'ember-metal/debug', 'ember-debug/handlers'], function (exports, _emberMetalLogger, _emberMetalDebug, _emberDebugHandlers) {
+ 'use strict';
+
+ var _slice = Array.prototype.slice;
+ exports.registerHandler = registerHandler;
+ exports.default = warn;
+
+ function registerHandler(handler) {
+ _emberDebugHandlers.registerHandler('warn', handler);
+ }
+
+ registerHandler(function logWarning(message, options) {
+ _emberMetalLogger.default.warn('WARNING: ' + message);
+ if ('trace' in _emberMetalLogger.default) {
+ _emberMetalLogger.default.trace();
+ }
+ });
+
+ var missingOptionsDeprecation = 'When calling `Ember.warn` you ' + 'must provide an `options` hash as the third parameter. ' + '`options` should include an `id` property.';
+ exports.missingOptionsDeprecation = missingOptionsDeprecation;
+ var missingOptionsIdDeprecation = 'When calling `Ember.warn` you must provide `id` in options.';
+
+ exports.missingOptionsIdDeprecation = missingOptionsIdDeprecation;
+ /**
+ @module ember
+ @submodule ember-debug
+ */
+
+ /**
+ Display a warning with the provided message. Ember build tools will
+ remove any calls to `Ember.warn()` when doing a production build.
+
+ @method warn
+ @param {String} message A warning to display.
+ @param {Boolean} test An optional boolean. If falsy, the warning
+ will be displayed.
+ @param {Object} options An ojbect that can be used to pass a unique
+ `id` for this warning. The `id` can be used by Ember debugging tools
+ to change the behavior (raise, log, or silence) for that specific warning.
+ The `id` should be namespaced by dots, e.g. "ember-debug.feature-flag-with-features-stripped"
+ @for Ember
+ @public
+ */
+
+ function warn(message, test, options) {
+ if (!options) {
+ _emberMetalDebug.deprecate(missingOptionsDeprecation, false, {
+ id: 'ember-debug.warn-options-missing',
+ until: '3.0.0',
+ url: 'http://emberjs.com/deprecations/v2.x/#toc_ember-debug-function-options'
+ });
+ }
+
+ if (options && !options.id) {
+ _emberMetalDebug.deprecate(missingOptionsIdDeprecation, false, {
+ id: 'ember-debug.warn-id-missing',
+ until: '3.0.0',
+ url: 'http://emberjs.com/deprecations/v2.x/#toc_ember-debug-function-options'
+ });
+ }
+
+ _emberDebugHandlers.invoke.apply(undefined, ['warn'].concat(_slice.call(arguments)));
+ }
+});
enifed('ember-metal/alias', ['exports', 'ember-metal/debug', 'ember-metal/property_get', 'ember-metal/property_set', 'ember-metal/error', 'ember-metal/properties', 'ember-metal/computed', 'ember-metal/utils', 'ember-metal/meta', 'ember-metal/dependent_keys'], function (exports, _emberMetalDebug, _emberMetalProperty_get, _emberMetalProperty_set, _emberMetalError, _emberMetalProperties, _emberMetalComputed, _emberMetalUtils, _emberMetalMeta, _emberMetalDependent_keys) {
'use strict';
exports.default = alias;
exports.AliasedProperty = AliasedProperty;
@@ -2438,13 +2412,13 @@
revalidate: function (key) {
this.notify(key, true, undefined);
},
// key: the string key that is part of a path changed
- // revalidate: boolean the chains that are watching this value should revalidate
- // callback: function that will be called with the the object and path that
- // will be/are invalidated by this key change depending on the
+ // revalidate: boolean; the chains that are watching this value should revalidate
+ // callback: function that will be called with the object and path that
+ // will be/are invalidated by this key change, depending on
// whether the revalidate flag is passed
notify: function (key, revalidate, callback) {
var nodes = this.chains[key];
if (nodes === undefined || nodes.length === 0) {
return;
@@ -2797,10 +2771,12 @@
@submodule ember-metal
*/
function UNDEFINED() {}
+ var DEEP_EACH_REGEX = /\.@each\.[^.]+\./;
+
// ..........................................................
// COMPUTED PROPERTY
//
/**
@@ -3024,10 +3000,11 @@
*/
ComputedPropertyPrototype.property = function () {
var args;
var addArg = function (property) {
+ _emberMetalDebug.warn('Dependent keys containing @each only work one level deep. ' + 'You cannot use nested forms like todos.@each.owner.name or todos.@each.owner.@each.name. ' + 'Please create an intermediary computed property.', DEEP_EACH_REGEX.test(property) === false, { id: 'ember-metal.computed-deep-each' });
args.push(property);
};
args = [];
for (var i = 0, l = arguments.length; i < l; i++) {
@@ -4104,13 +4081,15 @@
return value;
}
});
}
});
-enifed('ember-metal/core', ['exports'], function (exports) {
+enifed('ember-metal/core', ['exports', 'require'], function (exports, _require) {
/*globals Ember:true,ENV,EmberENV */
+ 'use strict';
+
/**
@module ember
@submodule ember-metal
*/
@@ -4127,16 +4106,14 @@
cross-platform libraries such as jQuery. For more details, see
[Ember-Runtime](http://emberjs.com/api/modules/ember-runtime.html).
@class Ember
@static
- @version 2.3.2
+ @version 2.4.0-beta.2
@public
*/
- 'use strict';
-
if ('undefined' === typeof Ember) {
// Create core object. Make it act like an instance of Ember.Namespace so that
// objects assigned to it are given a sane string representation.
Ember = {};
}
@@ -4158,11 +4135,11 @@
return 'Ember';
};
// The debug functions are exported to globals with `require` to
// prevent babel-plugin-filter-imports from removing them.
- var debugModule = Ember.__loader.require('ember-metal/debug');
+ var debugModule = _require.default('ember-metal/debug');
Ember.assert = debugModule.assert;
Ember.warn = debugModule.warn;
Ember.debug = debugModule.debug;
Ember.deprecate = debugModule.deprecate;
Ember.deprecateFunc = debugModule.deprecateFunc;
@@ -4171,15 +4148,15 @@
/**
The semantic version.
@property VERSION
@type String
- @default '2.3.2'
+ @default '2.4.0-beta.2'
@static
@public
*/
- Ember.VERSION = '2.3.2';
+ Ember.VERSION = '2.4.0-beta.2';
/**
The hash of environment variables used to control various configuration
settings. To specify your own or override default settings, add the
desired properties to a global hash named `EmberENV` (or `ENV` for
@@ -4441,22 +4418,28 @@
return _emberMetalProperty_get.get(this, newKey);
}
});
}
});
-enifed('ember-metal/dictionary', ['exports'], function (exports) {
+enifed('ember-metal/dictionary', ['exports', 'ember-metal/empty_object'], function (exports, _emberMetalEmpty_object) {
+ 'use strict';
+
+ exports.default = makeDictionary;
+
// the delete is meant to hint at runtimes that this object should remain in
// dictionary mode. This is clearly a runtime specific hack, but currently it
// appears worthwhile in some usecases. Please note, these deletes do increase
// the cost of creation dramatically over a plain Object.create. And as this
// only makes sense for long-lived dictionaries that aren't instantiated often.
- 'use strict';
- exports.default = makeDictionary;
-
function makeDictionary(parent) {
- var dict = Object.create(parent);
+ var dict;
+ if (parent === null) {
+ dict = new _emberMetalEmpty_object.default();
+ } else {
+ dict = Object.create(parent);
+ }
dict['_dict'] = null;
delete dict['_dict'];
return dict;
}
});
@@ -5073,10 +5056,222 @@
ret[propertyNames[i]] = _emberMetalProperty_get.get(obj, propertyNames[i]);
}
return ret;
}
});
+enifed('ember-metal/index', ['exports', 'require', 'ember-metal/core', 'ember-metal/debug', 'ember-metal/features', 'ember-metal/assign', 'ember-metal/merge', 'ember-metal/instrumentation', 'ember-metal/utils', 'ember-metal/meta', 'ember-metal/error', 'ember-metal/cache', 'ember-metal/logger', 'ember-metal/property_get', 'ember-metal/events', 'ember-metal/observer_set', 'ember-metal/property_events', 'ember-metal/properties', 'ember-metal/property_set', 'ember-metal/map', 'ember-metal/get_properties', 'ember-metal/set_properties', 'ember-metal/watch_key', 'ember-metal/chains', 'ember-metal/watch_path', 'ember-metal/watching', 'ember-metal/expand_properties', 'ember-metal/computed', 'ember-metal/alias', 'ember-metal/computed_macros', 'ember-metal/observer', 'ember-metal/mixin', 'ember-metal/binding', 'ember-metal/run_loop', 'ember-metal/libraries', 'ember-metal/is_none', 'ember-metal/is_empty', 'ember-metal/is_blank', 'ember-metal/is_present', 'backburner'], function (exports, _require, _emberMetalCore, _emberMetalDebug, _emberMetalFeatures, _emberMetalAssign, _emberMetalMerge, _emberMetalInstrumentation, _emberMetalUtils, _emberMetalMeta, _emberMetalError, _emberMetalCache, _emberMetalLogger, _emberMetalProperty_get, _emberMetalEvents, _emberMetalObserver_set, _emberMetalProperty_events, _emberMetalProperties, _emberMetalProperty_set, _emberMetalMap, _emberMetalGet_properties, _emberMetalSet_properties, _emberMetalWatch_key, _emberMetalChains, _emberMetalWatch_path, _emberMetalWatching, _emberMetalExpand_properties, _emberMetalComputed, _emberMetalAlias, _emberMetalComputed_macros, _emberMetalObserver, _emberMetalMixin, _emberMetalBinding, _emberMetalRun_loop, _emberMetalLibraries, _emberMetalIs_none, _emberMetalIs_empty, _emberMetalIs_blank, _emberMetalIs_present, _backburner) {
+ /**
+ @module ember
+ @submodule ember-metal
+ */
+
+ // BEGIN IMPORTS
+ 'use strict';
+
+ _emberMetalComputed.computed.empty = _emberMetalComputed_macros.empty;
+ _emberMetalComputed.computed.notEmpty = _emberMetalComputed_macros.notEmpty;
+ _emberMetalComputed.computed.none = _emberMetalComputed_macros.none;
+ _emberMetalComputed.computed.not = _emberMetalComputed_macros.not;
+ _emberMetalComputed.computed.bool = _emberMetalComputed_macros.bool;
+ _emberMetalComputed.computed.match = _emberMetalComputed_macros.match;
+ _emberMetalComputed.computed.equal = _emberMetalComputed_macros.equal;
+ _emberMetalComputed.computed.gt = _emberMetalComputed_macros.gt;
+ _emberMetalComputed.computed.gte = _emberMetalComputed_macros.gte;
+ _emberMetalComputed.computed.lt = _emberMetalComputed_macros.lt;
+ _emberMetalComputed.computed.lte = _emberMetalComputed_macros.lte;
+ _emberMetalComputed.computed.alias = _emberMetalAlias.default;
+ _emberMetalComputed.computed.oneWay = _emberMetalComputed_macros.oneWay;
+ _emberMetalComputed.computed.reads = _emberMetalComputed_macros.oneWay;
+ _emberMetalComputed.computed.readOnly = _emberMetalComputed_macros.readOnly;
+ _emberMetalComputed.computed.defaultTo = _emberMetalComputed_macros.defaultTo;
+ _emberMetalComputed.computed.deprecatingAlias = _emberMetalComputed_macros.deprecatingAlias;
+ _emberMetalComputed.computed.and = _emberMetalComputed_macros.and;
+ _emberMetalComputed.computed.or = _emberMetalComputed_macros.or;
+ _emberMetalComputed.computed.any = _emberMetalComputed_macros.any;
+
+ // END IMPORTS
+
+ // BEGIN EXPORTS
+ var EmberInstrumentation = _emberMetalCore.default.Instrumentation = {};
+ EmberInstrumentation.instrument = _emberMetalInstrumentation.instrument;
+ EmberInstrumentation.subscribe = _emberMetalInstrumentation.subscribe;
+ EmberInstrumentation.unsubscribe = _emberMetalInstrumentation.unsubscribe;
+ EmberInstrumentation.reset = _emberMetalInstrumentation.reset;
+
+ _emberMetalCore.default.instrument = _emberMetalInstrumentation.instrument;
+ _emberMetalCore.default.subscribe = _emberMetalInstrumentation.subscribe;
+
+ _emberMetalCore.default._Cache = _emberMetalCache.default;
+
+ _emberMetalCore.default.generateGuid = _emberMetalUtils.generateGuid;
+ _emberMetalCore.default.GUID_KEY = _emberMetalUtils.GUID_KEY;
+ _emberMetalCore.default.platform = {
+ defineProperty: true,
+ hasPropertyAccessors: true
+ };
+
+ _emberMetalCore.default.Error = _emberMetalError.default;
+ _emberMetalCore.default.guidFor = _emberMetalUtils.guidFor;
+ _emberMetalCore.default.META_DESC = _emberMetalMeta.META_DESC;
+ _emberMetalCore.default.meta = _emberMetalMeta.meta;
+ _emberMetalCore.default.inspect = _emberMetalUtils.inspect;
+
+ _emberMetalCore.default.tryCatchFinally = _emberMetalUtils.deprecatedTryCatchFinally;
+ _emberMetalCore.default.makeArray = _emberMetalUtils.makeArray;
+ _emberMetalCore.default.canInvoke = _emberMetalUtils.canInvoke;
+ _emberMetalCore.default.tryInvoke = _emberMetalUtils.tryInvoke;
+ _emberMetalCore.default.wrap = _emberMetalUtils.wrap;
+ _emberMetalCore.default.apply = _emberMetalUtils.apply;
+ _emberMetalCore.default.applyStr = _emberMetalUtils.applyStr;
+ _emberMetalCore.default.uuid = _emberMetalUtils.uuid;
+
+ _emberMetalCore.default.Logger = _emberMetalLogger.default;
+
+ _emberMetalCore.default.get = _emberMetalProperty_get.get;
+ _emberMetalCore.default.getWithDefault = _emberMetalProperty_get.getWithDefault;
+ _emberMetalCore.default.normalizeTuple = _emberMetalProperty_get.normalizeTuple;
+ _emberMetalCore.default._getPath = _emberMetalProperty_get._getPath;
+
+ _emberMetalCore.default.on = _emberMetalEvents.on;
+ _emberMetalCore.default.addListener = _emberMetalEvents.addListener;
+ _emberMetalCore.default.removeListener = _emberMetalEvents.removeListener;
+ _emberMetalCore.default._suspendListener = _emberMetalEvents.suspendListener;
+ _emberMetalCore.default._suspendListeners = _emberMetalEvents.suspendListeners;
+ _emberMetalCore.default.sendEvent = _emberMetalEvents.sendEvent;
+ _emberMetalCore.default.hasListeners = _emberMetalEvents.hasListeners;
+ _emberMetalCore.default.watchedEvents = _emberMetalEvents.watchedEvents;
+ _emberMetalCore.default.listenersFor = _emberMetalEvents.listenersFor;
+ _emberMetalCore.default.accumulateListeners = _emberMetalEvents.accumulateListeners;
+
+ _emberMetalCore.default._ObserverSet = _emberMetalObserver_set.default;
+
+ _emberMetalCore.default.propertyWillChange = _emberMetalProperty_events.propertyWillChange;
+ _emberMetalCore.default.propertyDidChange = _emberMetalProperty_events.propertyDidChange;
+ _emberMetalCore.default.overrideChains = _emberMetalProperty_events.overrideChains;
+ _emberMetalCore.default.beginPropertyChanges = _emberMetalProperty_events.beginPropertyChanges;
+ _emberMetalCore.default.endPropertyChanges = _emberMetalProperty_events.endPropertyChanges;
+ _emberMetalCore.default.changeProperties = _emberMetalProperty_events.changeProperties;
+
+ _emberMetalCore.default.defineProperty = _emberMetalProperties.defineProperty;
+
+ _emberMetalCore.default.set = _emberMetalProperty_set.set;
+ _emberMetalCore.default.trySet = _emberMetalProperty_set.trySet;
+
+ _emberMetalCore.default.OrderedSet = _emberMetalMap.OrderedSet;
+ _emberMetalCore.default.Map = _emberMetalMap.Map;
+ _emberMetalCore.default.MapWithDefault = _emberMetalMap.MapWithDefault;
+
+ _emberMetalCore.default.getProperties = _emberMetalGet_properties.default;
+ _emberMetalCore.default.setProperties = _emberMetalSet_properties.default;
+
+ _emberMetalCore.default.watchKey = _emberMetalWatch_key.watchKey;
+ _emberMetalCore.default.unwatchKey = _emberMetalWatch_key.unwatchKey;
+
+ _emberMetalCore.default.flushPendingChains = _emberMetalChains.flushPendingChains;
+ _emberMetalCore.default.removeChainWatcher = _emberMetalChains.removeChainWatcher;
+ _emberMetalCore.default._ChainNode = _emberMetalChains.ChainNode;
+ _emberMetalCore.default.finishChains = _emberMetalChains.finishChains;
+
+ _emberMetalCore.default.watchPath = _emberMetalWatch_path.watchPath;
+ _emberMetalCore.default.unwatchPath = _emberMetalWatch_path.unwatchPath;
+
+ _emberMetalCore.default.watch = _emberMetalWatching.watch;
+ _emberMetalCore.default.isWatching = _emberMetalWatching.isWatching;
+ _emberMetalCore.default.unwatch = _emberMetalWatching.unwatch;
+ _emberMetalCore.default.rewatch = _emberMetalWatching.rewatch;
+ _emberMetalCore.default.destroy = _emberMetalWatching.destroy;
+
+ _emberMetalCore.default.expandProperties = _emberMetalExpand_properties.default;
+
+ _emberMetalCore.default.ComputedProperty = _emberMetalComputed.ComputedProperty;
+ _emberMetalCore.default.computed = _emberMetalComputed.computed;
+ _emberMetalCore.default.cacheFor = _emberMetalComputed.cacheFor;
+
+ _emberMetalCore.default.addObserver = _emberMetalObserver.addObserver;
+ _emberMetalCore.default.observersFor = _emberMetalObserver.observersFor;
+ _emberMetalCore.default.removeObserver = _emberMetalObserver.removeObserver;
+ _emberMetalCore.default._suspendObserver = _emberMetalObserver._suspendObserver;
+ _emberMetalCore.default._suspendObservers = _emberMetalObserver._suspendObservers;
+
+ _emberMetalCore.default.IS_BINDING = _emberMetalMixin.IS_BINDING;
+ _emberMetalCore.default.required = _emberMetalMixin.required;
+ _emberMetalCore.default.aliasMethod = _emberMetalMixin.aliasMethod;
+ _emberMetalCore.default.observer = _emberMetalMixin.observer;
+ _emberMetalCore.default.immediateObserver = _emberMetalMixin._immediateObserver;
+ _emberMetalCore.default.mixin = _emberMetalMixin.mixin;
+ _emberMetalCore.default.Mixin = _emberMetalMixin.Mixin;
+
+ _emberMetalCore.default.bind = _emberMetalBinding.bind;
+ _emberMetalCore.default.Binding = _emberMetalBinding.Binding;
+ _emberMetalCore.default.isGlobalPath = _emberMetalBinding.isGlobalPath;
+
+ _emberMetalCore.default.run = _emberMetalRun_loop.default;
+
+ /**
+ @class Backburner
+ @for Ember
+ @private
+ */
+ _emberMetalCore.default.Backburner = _backburner.default;
+ // this is the new go forward, once Ember Data updates to using `_Backburner` we
+ // can remove the non-underscored version.
+ _emberMetalCore.default._Backburner = _backburner.default;
+
+ _emberMetalCore.default.libraries = new _emberMetalLibraries.default();
+ _emberMetalCore.default.libraries.registerCoreLibrary('Ember', _emberMetalCore.default.VERSION);
+
+ _emberMetalCore.default.isNone = _emberMetalIs_none.default;
+ _emberMetalCore.default.isEmpty = _emberMetalIs_empty.default;
+ _emberMetalCore.default.isBlank = _emberMetalIs_blank.default;
+ _emberMetalCore.default.isPresent = _emberMetalIs_present.default;
+
+ _emberMetalCore.default.merge = _emberMetalMerge.default;
+
+ _emberMetalCore.default.FEATURES = _emberMetalFeatures.FEATURES;
+ _emberMetalCore.default.FEATURES.isEnabled = _emberMetalFeatures.default;
+
+ /**
+ A function may be assigned to `Ember.onerror` to be called when Ember
+ internals encounter an error. This is useful for specialized error handling
+ and reporting code.
+
+ ```javascript
+ Ember.onerror = function(error) {
+ Em.$.ajax('/report-error', 'POST', {
+ stack: error.stack,
+ otherInformation: 'whatever app state you want to provide'
+ });
+ };
+ ```
+
+ Internally, `Ember.onerror` is used as Backburner's error handler.
+
+ @event onerror
+ @for Ember
+ @param {Exception} error the error object
+ @public
+ */
+ _emberMetalCore.default.onerror = null;
+ // END EXPORTS
+
+ // do this for side-effects of updating Ember.assert, warn, etc when
+ // ember-debug is present
+ // This needs to be called before any deprecateFunc
+ if (_require.has('ember-debug')) {
+ _require.default('ember-debug');
+ } else {
+ _emberMetalCore.default.Debug = {};
+
+ _emberMetalCore.default.Debug.registerDeprecationHandler = function () {};
+ _emberMetalCore.default.Debug.registerWarnHandler = function () {};
+ }
+
+ _emberMetalCore.default.create = _emberMetalDebug.deprecateFunc('Ember.create is deprecated in favor of Object.create', { id: 'ember-metal.ember-create', until: '3.0.0' }, Object.create);
+ _emberMetalCore.default.keys = _emberMetalDebug.deprecateFunc('Ember.keys is deprecated in favor of Object.keys', { id: 'ember-metal.ember.keys', until: '3.0.0' }, Object.keys);
+
+ exports.default = _emberMetalCore.default;
+});
enifed('ember-metal/injected_property', ['exports', 'ember-metal/debug', 'ember-metal/computed', 'ember-metal/alias', 'ember-metal/properties', 'container/owner'], function (exports, _emberMetalDebug, _emberMetalComputed, _emberMetalAlias, _emberMetalProperties, _containerOwner) {
'use strict';
/**
Read-only property that returns the result of a container lookup.
@@ -5512,17 +5707,22 @@
```javascript
Ember.isPresent(); // false
Ember.isPresent(null); // false
Ember.isPresent(undefined); // false
Ember.isPresent(''); // false
- Ember.isPresent([]); // false
- Ember.isPresent('\n\t'); // false
Ember.isPresent(' '); // false
+ Ember.isPresent('\n\t'); // false
+ Ember.isPresent([]); // false
+ Ember.isPresent({ length: 0 }) // false
+ Ember.isPresent(false); // true
+ Ember.isPresent(true); // true
+ Ember.isPresent('string'); // true
+ Ember.isPresent(0); // true
+ Ember.isPresent(function() {}) // true
Ember.isPresent({}); // true
Ember.isPresent(false); // true
Ember.isPresent('\n\t Hello'); // true
- Ember.isPresent('Hello world'); // true
Ember.isPresent([1,2,3]); // true
```
@method isPresent
@for Ember
@@ -7293,11 +7493,11 @@
});
//filters will be created as a separate array during the object's initialization
App.Filterable = Ember.Mixin.create({
init: function() {
- this._super.apply(this, arguments);
+ this._super(...arguments);
this.set("filters", Ember.A());
}
});
```
@@ -8028,10 +8228,11 @@
'use strict';
exports.Descriptor = Descriptor;
exports.MANDATORY_SETTER_FUNCTION = MANDATORY_SETTER_FUNCTION;
exports.DEFAULT_GETTER_FUNCTION = DEFAULT_GETTER_FUNCTION;
+ exports.INHERITING_GETTER_FUNCTION = INHERITING_GETTER_FUNCTION;
exports.defineProperty = defineProperty;
// ..........................................................
// DESCRIPTOR
//
@@ -8046,27 +8247,56 @@
function Descriptor() {
this.isDescriptor = true;
}
+ var REDEFINE_SUPPORTED = (function () {
+ // https://github.com/spalger/kibana/commit/b7e35e6737df585585332857a4c397dc206e7ff9
+ var a = Object.create(Object.prototype, {
+ prop: {
+ configurable: true,
+ value: 1
+ }
+ });
+
+ Object.defineProperty(a, 'prop', {
+ configurable: true,
+ value: 2
+ });
+
+ return a.prop === 2;
+ })();
// ..........................................................
// DEFINING PROPERTIES API
//
function MANDATORY_SETTER_FUNCTION(name) {
- return function SETTER_FUNCTION(value) {
+ function SETTER_FUNCTION(value) {
_emberMetalDebug.assert('You must use Ember.set() to set the `' + name + '` property (of ' + this + ') to `' + value + '`.', false);
- };
+ }
+
+ SETTER_FUNCTION.isMandatorySetter = true;
+ return SETTER_FUNCTION;
}
function DEFAULT_GETTER_FUNCTION(name) {
return function GETTER_FUNCTION() {
var meta = this['__ember_meta__'];
return meta && meta.peekValues(name);
};
}
+ function INHERITING_GETTER_FUNCTION(name) {
+ function IGETTER_FUNCTION() {
+ var proto = Object.getPrototypeOf(this);
+ return proto && proto[name];
+ }
+
+ IGETTER_FUNCTION.isInheritingGetter = true;
+ return IGETTER_FUNCTION;
+ }
+
/**
NOTE: This is a low-level method used by other parts of the API. You almost
never want to call this method directly. Instead you should use
`Ember.mixin()` to define new properties.
@@ -8148,16 +8378,23 @@
if (desc == null) {
value = data;
if (watching) {
meta.writeValues(keyName, data);
- Object.defineProperty(obj, keyName, {
+
+ var defaultDescriptor = {
configurable: true,
enumerable: true,
set: MANDATORY_SETTER_FUNCTION(keyName),
get: DEFAULT_GETTER_FUNCTION(keyName)
- });
+ };
+
+ if (REDEFINE_SUPPORTED) {
+ Object.defineProperty(obj, keyName, defaultDescriptor);
+ } else {
+ handleBrokenPhantomDefineProperty(obj, keyName, defaultDescriptor);
+ }
} else {
obj[keyName] = data;
}
} else {
value = desc;
@@ -8179,10 +8416,16 @@
obj.didDefineProperty(obj, keyName, value);
}
return this;
}
+
+ function handleBrokenPhantomDefineProperty(obj, keyName, desc) {
+ // https://github.com/ariya/phantomjs/issues/11856
+ Object.defineProperty(obj, keyName, { configurable: true, writable: true, value: 'iCry' });
+ Object.defineProperty(obj, keyName, desc);
+ }
});
enifed('ember-metal/property_events', ['exports', 'ember-metal/utils', 'ember-metal/meta', 'ember-metal/events', 'ember-metal/observer_set', 'ember-metal/symbol'], function (exports, _emberMetalUtils, _emberMetalMeta, _emberMetalEvents, _emberMetalObserver_set, _emberMetalSymbol) {
'use strict';
var PROPERTY_DID_CHANGE = _emberMetalSymbol.default('PROPERTY_DID_CHANGE');
@@ -8463,11 +8706,11 @@
exports.overrideChains = overrideChains;
exports.beginPropertyChanges = beginPropertyChanges;
exports.endPropertyChanges = endPropertyChanges;
exports.changeProperties = changeProperties;
});
-enifed('ember-metal/property_get', ['exports', 'ember-metal/core', 'ember-metal/debug', 'ember-metal/features', 'ember-metal/error', 'ember-metal/path_cache', 'ember-metal/meta'], function (exports, _emberMetalCore, _emberMetalDebug, _emberMetalFeatures, _emberMetalError, _emberMetalPath_cache, _emberMetalMeta) {
+enifed('ember-metal/property_get', ['exports', 'ember-metal/core', 'ember-metal/debug', 'ember-metal/error', 'ember-metal/path_cache'], function (exports, _emberMetalCore, _emberMetalDebug, _emberMetalError, _emberMetalPath_cache) {
/**
@module ember-metal
*/
'use strict';
@@ -8521,11 +8764,10 @@
// Helpers that operate with 'this' within an #each
if (keyName === '') {
return obj;
}
- var meta = _emberMetalMeta.peekMeta(obj);
var value = obj[keyName];
var desc = value !== null && typeof value === 'object' && value.isDescriptor ? value : undefined;
var ret;
if (desc === undefined && _emberMetalPath_cache.isPath(keyName)) {
@@ -8533,15 +8775,11 @@
}
if (desc) {
return desc.get(obj, keyName);
} else {
- if (meta && meta.peekWatching(keyName) > 0) {
- ret = meta.peekValues(keyName);
- } else {
- ret = value;
- }
+ ret = value;
if (ret === undefined && 'object' === typeof obj && !(keyName in obj) && 'function' === typeof obj.unknownProperty) {
return obj.unknownProperty(keyName);
}
@@ -8648,11 +8886,11 @@
return value;
}
exports.default = get;
});
-enifed('ember-metal/property_set', ['exports', 'ember-metal/debug', 'ember-metal/features', 'ember-metal/property_get', 'ember-metal/property_events', 'ember-metal/properties', 'ember-metal/error', 'ember-metal/path_cache', 'ember-metal/meta'], function (exports, _emberMetalDebug, _emberMetalFeatures, _emberMetalProperty_get, _emberMetalProperty_events, _emberMetalProperties, _emberMetalError, _emberMetalPath_cache, _emberMetalMeta) {
+enifed('ember-metal/property_set', ['exports', 'ember-metal/debug', 'ember-metal/features', 'ember-metal/property_get', 'ember-metal/property_events', 'ember-metal/properties', 'ember-metal/error', 'ember-metal/path_cache', 'ember-metal/meta', 'ember-metal/utils'], function (exports, _emberMetalDebug, _emberMetalFeatures, _emberMetalProperty_get, _emberMetalProperty_events, _emberMetalProperties, _emberMetalError, _emberMetalPath_cache, _emberMetalMeta, _emberMetalUtils) {
'use strict';
exports.set = set;
exports.trySet = trySet;
@@ -8705,20 +8943,26 @@
// `setUnknownProperty` method exists on the object
if (isUnknown && 'function' === typeof obj.setUnknownProperty) {
obj.setUnknownProperty(keyName, value);
} else if (meta && meta.peekWatching(keyName) > 0) {
if (meta.proto !== obj) {
- currentValue = meta.peekValues(keyName);
+ currentValue = obj[keyName];
}
// only trigger a change if the value has changed
if (value !== currentValue) {
_emberMetalProperty_events.propertyWillChange(obj, keyName);
if (currentValue === undefined && !(keyName in obj) || !Object.prototype.propertyIsEnumerable.call(obj, keyName)) {
_emberMetalProperties.defineProperty(obj, keyName, null, value); // setup mandatory setter
} else {
- meta.writeValues(keyName, value);
+ var descriptor = _emberMetalUtils.lookupDescriptor(obj, keyName);
+ var isMandatorySetter = descriptor && descriptor.set && descriptor.set.isMandatorySetter;
+ if (isMandatorySetter) {
+ meta.writeValues(keyName, value);
+ } else {
+ obj[keyName] = value;
+ }
}
_emberMetalProperty_events.propertyDidChange(obj, keyName);
}
} else {
@@ -10576,10 +10820,11 @@
exports.tryInvoke = tryInvoke;
exports.makeArray = makeArray;
exports.inspect = inspect;
exports.apply = apply;
exports.applyStr = applyStr;
+ exports.lookupDescriptor = lookupDescriptor;
var _uuid = 0;
/**
Generates a universally unique identifier. This method
is used internally by Ember for assisting with
@@ -11109,22 +11354,36 @@
default:
return t[m].apply(t, a);
}
}
+ function lookupDescriptor(obj, keyName) {
+ var current = obj;
+ while (current) {
+ var descriptor = Object.getOwnPropertyDescriptor(current, keyName);
+
+ if (descriptor) {
+ return descriptor;
+ }
+
+ current = Object.getPrototypeOf(current);
+ }
+
+ return null;
+ }
+
exports.GUID_KEY = GUID_KEY;
exports.makeArray = makeArray;
exports.canInvoke = canInvoke;
});
-enifed('ember-metal/watch_key', ['exports', 'ember-metal/features', 'ember-metal/meta', 'ember-metal/properties'], function (exports, _emberMetalFeatures, _emberMetalMeta, _emberMetalProperties) {
+enifed('ember-metal/watch_key', ['exports', 'ember-metal/features', 'ember-metal/meta', 'ember-metal/properties', 'ember-metal/utils'], function (exports, _emberMetalFeatures, _emberMetalMeta, _emberMetalProperties, _emberMetalUtils) {
'use strict';
exports.watchKey = watchKey;
exports.unwatchKey = unwatchKey;
- var handleMandatorySetter = undefined,
- lookupDescriptor = undefined;
+ var handleMandatorySetter = undefined;
function watchKey(obj, keyName, meta) {
// can't watch length on Array - it is special...
if (keyName === 'length' && Array.isArray(obj)) {
return;
@@ -11144,33 +11403,22 @@
if ('function' === typeof obj.willWatchProperty) {
obj.willWatchProperty(keyName);
}
+ // NOTE: this is dropped for prod + minified builds
handleMandatorySetter(m, obj, keyName);
} else {
m.writeWatching(keyName, (m.peekWatching(keyName) || 0) + 1);
}
}
- lookupDescriptor = function lookupDescriptor(obj, keyName) {
- var current = obj;
- while (current) {
- var descriptor = Object.getOwnPropertyDescriptor(current, keyName);
-
- if (descriptor) {
- return descriptor;
- }
-
- current = Object.getPrototypeOf(current);
- }
-
- return null;
- };
-
+ // Future traveler, although this code looks scary. It merely exists in
+ // development to aid in development asertions. Production builds of
+ // ember strip this entire block out
handleMandatorySetter = function handleMandatorySetter(m, obj, keyName) {
- var descriptor = lookupDescriptor(obj, keyName);
+ var descriptor = _emberMetalUtils.lookupDescriptor(obj, keyName);
var configurable = descriptor ? descriptor.configurable : true;
var isWritable = descriptor ? descriptor.writable : true;
var hasValue = descriptor ? 'value' in descriptor : true;
var possibleDesc = descriptor && descriptor.value;
var isDescriptor = possibleDesc !== null && typeof possibleDesc === 'object' && possibleDesc.isDescriptor;
@@ -11179,17 +11427,25 @@
return;
}
// this x in Y deopts, so keeping it in this function is better;
if (configurable && isWritable && hasValue && keyName in obj) {
- m.writeValues(keyName, obj[keyName]);
- Object.defineProperty(obj, keyName, {
+ var desc = {
configurable: true,
enumerable: Object.prototype.propertyIsEnumerable.call(obj, keyName),
set: _emberMetalProperties.MANDATORY_SETTER_FUNCTION(keyName),
- get: _emberMetalProperties.DEFAULT_GETTER_FUNCTION(keyName)
- });
+ get: undefined
+ };
+
+ if (Object.prototype.hasOwnProperty.call(obj, keyName)) {
+ m.writeValues(keyName, obj[keyName]);
+ desc.get = _emberMetalProperties.DEFAULT_GETTER_FUNCTION(keyName);
+ } else {
+ desc.get = _emberMetalProperties.INHERITING_GETTER_FUNCTION(keyName);
+ }
+
+ Object.defineProperty(obj, keyName, desc);
}
};
function unwatchKey(obj, keyName, meta) {
var m = meta || _emberMetalMeta.meta(obj);
@@ -11197,34 +11453,43 @@
if (count === 1) {
m.writeWatching(keyName, 0);
var possibleDesc = obj[keyName];
var desc = possibleDesc !== null && typeof possibleDesc === 'object' && possibleDesc.isDescriptor ? possibleDesc : undefined;
+
if (desc && desc.didUnwatch) {
desc.didUnwatch(obj, keyName);
}
if ('function' === typeof obj.didUnwatchProperty) {
obj.didUnwatchProperty(keyName);
}
+ // It is true, the following code looks quite WAT. But have no fear, It
+ // exists purely to improve development ergonomics and is removed from
+ // ember.min.js and ember.prod.js builds.
+ //
+ // Some further context: Once a property is watched by ember, bypassing `set`
+ // for mutation, will bypass observation. This code exists to assert when
+ // that occurs, and attempt to provide more helpful feedback. The alternative
+ // is tricky to debug partially observable properties.
if (!desc && keyName in obj) {
- Object.defineProperty(obj, keyName, {
- configurable: true,
- enumerable: Object.prototype.propertyIsEnumerable.call(obj, keyName),
- set: function (val) {
- // redefine to set as enumerable
+ var maybeMandatoryDescriptor = _emberMetalUtils.lookupDescriptor(obj, keyName);
+
+ if (maybeMandatoryDescriptor.set && maybeMandatoryDescriptor.set.isMandatorySetter) {
+ if (maybeMandatoryDescriptor.get && maybeMandatoryDescriptor.get.isInheritingGetter) {
+ delete obj[keyName];
+ } else {
Object.defineProperty(obj, keyName, {
configurable: true,
+ enumerable: Object.prototype.propertyIsEnumerable.call(obj, keyName),
writable: true,
- enumerable: true,
- value: val
+ value: m.peekValues(keyName)
});
m.deleteFromValues(keyName);
- },
- get: _emberMetalProperties.DEFAULT_GETTER_FUNCTION(keyName)
- });
+ }
+ }
}
} else if (count > 1) {
m.writeWatching(keyName, count - 1);
}
}
@@ -11385,234 +11650,22 @@
}
}
}
}
});
-enifed('ember-metal', ['exports', 'ember-metal/core', 'ember-metal/debug', 'ember-metal/features', 'ember-metal/assign', 'ember-metal/merge', 'ember-metal/instrumentation', 'ember-metal/utils', 'ember-metal/meta', 'ember-metal/error', 'ember-metal/cache', 'ember-metal/logger', 'ember-metal/property_get', 'ember-metal/events', 'ember-metal/observer_set', 'ember-metal/property_events', 'ember-metal/properties', 'ember-metal/property_set', 'ember-metal/map', 'ember-metal/get_properties', 'ember-metal/set_properties', 'ember-metal/watch_key', 'ember-metal/chains', 'ember-metal/watch_path', 'ember-metal/watching', 'ember-metal/expand_properties', 'ember-metal/computed', 'ember-metal/alias', 'ember-metal/computed_macros', 'ember-metal/observer', 'ember-metal/mixin', 'ember-metal/binding', 'ember-metal/run_loop', 'ember-metal/libraries', 'ember-metal/is_none', 'ember-metal/is_empty', 'ember-metal/is_blank', 'ember-metal/is_present', 'backburner'], function (exports, _emberMetalCore, _emberMetalDebug, _emberMetalFeatures, _emberMetalAssign, _emberMetalMerge, _emberMetalInstrumentation, _emberMetalUtils, _emberMetalMeta, _emberMetalError, _emberMetalCache, _emberMetalLogger, _emberMetalProperty_get, _emberMetalEvents, _emberMetalObserver_set, _emberMetalProperty_events, _emberMetalProperties, _emberMetalProperty_set, _emberMetalMap, _emberMetalGet_properties, _emberMetalSet_properties, _emberMetalWatch_key, _emberMetalChains, _emberMetalWatch_path, _emberMetalWatching, _emberMetalExpand_properties, _emberMetalComputed, _emberMetalAlias, _emberMetalComputed_macros, _emberMetalObserver, _emberMetalMixin, _emberMetalBinding, _emberMetalRun_loop, _emberMetalLibraries, _emberMetalIs_none, _emberMetalIs_empty, _emberMetalIs_blank, _emberMetalIs_present, _backburner) {
+enifed('ember-template-compiler/compat/precompile', ['exports', 'require', 'ember-template-compiler/system/compile_options'], function (exports, _require, _emberTemplateCompilerSystemCompile_options) {
/**
@module ember
- @submodule ember-metal
- */
-
- // BEGIN IMPORTS
- 'use strict';
-
- _emberMetalComputed.computed.empty = _emberMetalComputed_macros.empty;
- _emberMetalComputed.computed.notEmpty = _emberMetalComputed_macros.notEmpty;
- _emberMetalComputed.computed.none = _emberMetalComputed_macros.none;
- _emberMetalComputed.computed.not = _emberMetalComputed_macros.not;
- _emberMetalComputed.computed.bool = _emberMetalComputed_macros.bool;
- _emberMetalComputed.computed.match = _emberMetalComputed_macros.match;
- _emberMetalComputed.computed.equal = _emberMetalComputed_macros.equal;
- _emberMetalComputed.computed.gt = _emberMetalComputed_macros.gt;
- _emberMetalComputed.computed.gte = _emberMetalComputed_macros.gte;
- _emberMetalComputed.computed.lt = _emberMetalComputed_macros.lt;
- _emberMetalComputed.computed.lte = _emberMetalComputed_macros.lte;
- _emberMetalComputed.computed.alias = _emberMetalAlias.default;
- _emberMetalComputed.computed.oneWay = _emberMetalComputed_macros.oneWay;
- _emberMetalComputed.computed.reads = _emberMetalComputed_macros.oneWay;
- _emberMetalComputed.computed.readOnly = _emberMetalComputed_macros.readOnly;
- _emberMetalComputed.computed.defaultTo = _emberMetalComputed_macros.defaultTo;
- _emberMetalComputed.computed.deprecatingAlias = _emberMetalComputed_macros.deprecatingAlias;
- _emberMetalComputed.computed.and = _emberMetalComputed_macros.and;
- _emberMetalComputed.computed.or = _emberMetalComputed_macros.or;
- _emberMetalComputed.computed.any = _emberMetalComputed_macros.any;
-
- // END IMPORTS
-
- // BEGIN EXPORTS
- var EmberInstrumentation = _emberMetalCore.default.Instrumentation = {};
- EmberInstrumentation.instrument = _emberMetalInstrumentation.instrument;
- EmberInstrumentation.subscribe = _emberMetalInstrumentation.subscribe;
- EmberInstrumentation.unsubscribe = _emberMetalInstrumentation.unsubscribe;
- EmberInstrumentation.reset = _emberMetalInstrumentation.reset;
-
- _emberMetalCore.default.instrument = _emberMetalInstrumentation.instrument;
- _emberMetalCore.default.subscribe = _emberMetalInstrumentation.subscribe;
-
- _emberMetalCore.default._Cache = _emberMetalCache.default;
-
- _emberMetalCore.default.generateGuid = _emberMetalUtils.generateGuid;
- _emberMetalCore.default.GUID_KEY = _emberMetalUtils.GUID_KEY;
- _emberMetalCore.default.platform = {
- defineProperty: true,
- hasPropertyAccessors: true
- };
-
- _emberMetalCore.default.Error = _emberMetalError.default;
- _emberMetalCore.default.guidFor = _emberMetalUtils.guidFor;
- _emberMetalCore.default.META_DESC = _emberMetalMeta.META_DESC;
- _emberMetalCore.default.meta = _emberMetalMeta.meta;
- _emberMetalCore.default.inspect = _emberMetalUtils.inspect;
-
- _emberMetalCore.default.tryCatchFinally = _emberMetalUtils.deprecatedTryCatchFinally;
- _emberMetalCore.default.makeArray = _emberMetalUtils.makeArray;
- _emberMetalCore.default.canInvoke = _emberMetalUtils.canInvoke;
- _emberMetalCore.default.tryInvoke = _emberMetalUtils.tryInvoke;
- _emberMetalCore.default.wrap = _emberMetalUtils.wrap;
- _emberMetalCore.default.apply = _emberMetalUtils.apply;
- _emberMetalCore.default.applyStr = _emberMetalUtils.applyStr;
- _emberMetalCore.default.uuid = _emberMetalUtils.uuid;
-
- _emberMetalCore.default.Logger = _emberMetalLogger.default;
-
- _emberMetalCore.default.get = _emberMetalProperty_get.get;
- _emberMetalCore.default.getWithDefault = _emberMetalProperty_get.getWithDefault;
- _emberMetalCore.default.normalizeTuple = _emberMetalProperty_get.normalizeTuple;
- _emberMetalCore.default._getPath = _emberMetalProperty_get._getPath;
-
- _emberMetalCore.default.on = _emberMetalEvents.on;
- _emberMetalCore.default.addListener = _emberMetalEvents.addListener;
- _emberMetalCore.default.removeListener = _emberMetalEvents.removeListener;
- _emberMetalCore.default._suspendListener = _emberMetalEvents.suspendListener;
- _emberMetalCore.default._suspendListeners = _emberMetalEvents.suspendListeners;
- _emberMetalCore.default.sendEvent = _emberMetalEvents.sendEvent;
- _emberMetalCore.default.hasListeners = _emberMetalEvents.hasListeners;
- _emberMetalCore.default.watchedEvents = _emberMetalEvents.watchedEvents;
- _emberMetalCore.default.listenersFor = _emberMetalEvents.listenersFor;
- _emberMetalCore.default.accumulateListeners = _emberMetalEvents.accumulateListeners;
-
- _emberMetalCore.default._ObserverSet = _emberMetalObserver_set.default;
-
- _emberMetalCore.default.propertyWillChange = _emberMetalProperty_events.propertyWillChange;
- _emberMetalCore.default.propertyDidChange = _emberMetalProperty_events.propertyDidChange;
- _emberMetalCore.default.overrideChains = _emberMetalProperty_events.overrideChains;
- _emberMetalCore.default.beginPropertyChanges = _emberMetalProperty_events.beginPropertyChanges;
- _emberMetalCore.default.endPropertyChanges = _emberMetalProperty_events.endPropertyChanges;
- _emberMetalCore.default.changeProperties = _emberMetalProperty_events.changeProperties;
-
- _emberMetalCore.default.defineProperty = _emberMetalProperties.defineProperty;
-
- _emberMetalCore.default.set = _emberMetalProperty_set.set;
- _emberMetalCore.default.trySet = _emberMetalProperty_set.trySet;
-
- _emberMetalCore.default.OrderedSet = _emberMetalMap.OrderedSet;
- _emberMetalCore.default.Map = _emberMetalMap.Map;
- _emberMetalCore.default.MapWithDefault = _emberMetalMap.MapWithDefault;
-
- _emberMetalCore.default.getProperties = _emberMetalGet_properties.default;
- _emberMetalCore.default.setProperties = _emberMetalSet_properties.default;
-
- _emberMetalCore.default.watchKey = _emberMetalWatch_key.watchKey;
- _emberMetalCore.default.unwatchKey = _emberMetalWatch_key.unwatchKey;
-
- _emberMetalCore.default.flushPendingChains = _emberMetalChains.flushPendingChains;
- _emberMetalCore.default.removeChainWatcher = _emberMetalChains.removeChainWatcher;
- _emberMetalCore.default._ChainNode = _emberMetalChains.ChainNode;
- _emberMetalCore.default.finishChains = _emberMetalChains.finishChains;
-
- _emberMetalCore.default.watchPath = _emberMetalWatch_path.watchPath;
- _emberMetalCore.default.unwatchPath = _emberMetalWatch_path.unwatchPath;
-
- _emberMetalCore.default.watch = _emberMetalWatching.watch;
- _emberMetalCore.default.isWatching = _emberMetalWatching.isWatching;
- _emberMetalCore.default.unwatch = _emberMetalWatching.unwatch;
- _emberMetalCore.default.rewatch = _emberMetalWatching.rewatch;
- _emberMetalCore.default.destroy = _emberMetalWatching.destroy;
-
- _emberMetalCore.default.expandProperties = _emberMetalExpand_properties.default;
-
- _emberMetalCore.default.ComputedProperty = _emberMetalComputed.ComputedProperty;
- _emberMetalCore.default.computed = _emberMetalComputed.computed;
- _emberMetalCore.default.cacheFor = _emberMetalComputed.cacheFor;
-
- _emberMetalCore.default.addObserver = _emberMetalObserver.addObserver;
- _emberMetalCore.default.observersFor = _emberMetalObserver.observersFor;
- _emberMetalCore.default.removeObserver = _emberMetalObserver.removeObserver;
- _emberMetalCore.default._suspendObserver = _emberMetalObserver._suspendObserver;
- _emberMetalCore.default._suspendObservers = _emberMetalObserver._suspendObservers;
-
- _emberMetalCore.default.IS_BINDING = _emberMetalMixin.IS_BINDING;
- _emberMetalCore.default.required = _emberMetalMixin.required;
- _emberMetalCore.default.aliasMethod = _emberMetalMixin.aliasMethod;
- _emberMetalCore.default.observer = _emberMetalMixin.observer;
- _emberMetalCore.default.immediateObserver = _emberMetalMixin._immediateObserver;
- _emberMetalCore.default.mixin = _emberMetalMixin.mixin;
- _emberMetalCore.default.Mixin = _emberMetalMixin.Mixin;
-
- _emberMetalCore.default.bind = _emberMetalBinding.bind;
- _emberMetalCore.default.Binding = _emberMetalBinding.Binding;
- _emberMetalCore.default.isGlobalPath = _emberMetalBinding.isGlobalPath;
-
- _emberMetalCore.default.run = _emberMetalRun_loop.default;
-
- /**
- @class Backburner
- @for Ember
- @private
- */
- _emberMetalCore.default.Backburner = _backburner.default;
- // this is the new go forward, once Ember Data updates to using `_Backburner` we
- // can remove the non-underscored version.
- _emberMetalCore.default._Backburner = _backburner.default;
-
- _emberMetalCore.default.libraries = new _emberMetalLibraries.default();
- _emberMetalCore.default.libraries.registerCoreLibrary('Ember', _emberMetalCore.default.VERSION);
-
- _emberMetalCore.default.isNone = _emberMetalIs_none.default;
- _emberMetalCore.default.isEmpty = _emberMetalIs_empty.default;
- _emberMetalCore.default.isBlank = _emberMetalIs_blank.default;
- _emberMetalCore.default.isPresent = _emberMetalIs_present.default;
-
- _emberMetalCore.default.merge = _emberMetalMerge.default;
-
- _emberMetalCore.default.FEATURES = _emberMetalFeatures.FEATURES;
- _emberMetalCore.default.FEATURES.isEnabled = _emberMetalFeatures.default;
-
- /**
- A function may be assigned to `Ember.onerror` to be called when Ember
- internals encounter an error. This is useful for specialized error handling
- and reporting code.
-
- ```javascript
- Ember.onerror = function(error) {
- Em.$.ajax('/report-error', 'POST', {
- stack: error.stack,
- otherInformation: 'whatever app state you want to provide'
- });
- };
- ```
-
- Internally, `Ember.onerror` is used as Backburner's error handler.
-
- @event onerror
- @for Ember
- @param {Exception} error the error object
- @public
- */
- _emberMetalCore.default.onerror = null;
- // END EXPORTS
-
- // do this for side-effects of updating Ember.assert, warn, etc when
- // ember-debug is present
- // This needs to be called before any deprecateFunc
- if (_emberMetalCore.default.__loader.registry['ember-debug']) {
- requireModule('ember-debug');
- } else {
- _emberMetalCore.default.Debug = {};
-
- _emberMetalCore.default.Debug.registerDeprecationHandler = function () {};
- _emberMetalCore.default.Debug.registerWarnHandler = function () {};
- }
-
- _emberMetalCore.default.create = _emberMetalDebug.deprecateFunc('Ember.create is deprecated in favor of Object.create', { id: 'ember-metal.ember-create', until: '3.0.0' }, Object.create);
- _emberMetalCore.default.keys = _emberMetalDebug.deprecateFunc('Ember.keys is deprecated in favor of Object.keys', { id: 'ember-metal.ember.keys', until: '3.0.0' }, Object.keys);
-
- exports.default = _emberMetalCore.default;
-});
-enifed('ember-template-compiler/compat/precompile', ['exports', 'ember-metal/core', 'ember-template-compiler/system/compile_options'], function (exports, _emberMetalCore, _emberTemplateCompilerSystemCompile_options) {
- /**
- @module ember
@submodule ember-template-compiler
*/
'use strict';
var compile, compileSpec;
exports.default = function (string) {
- if ((!compile || !compileSpec) && _emberMetalCore.default.__loader.registry['htmlbars-compiler/compiler']) {
- var Compiler = requireModule('htmlbars-compiler/compiler');
+ if ((!compile || !compileSpec) && _require.has('htmlbars-compiler/compiler')) {
+ var Compiler = _require.default('htmlbars-compiler/compiler');
compile = Compiler.compile;
compileSpec = Compiler.compileSpec;
}
@@ -11633,10 +11686,38 @@
EmberHandlebars.precompile = _emberTemplateCompilerCompatPrecompile.default;
EmberHandlebars.compile = _emberTemplateCompilerSystemCompile.default;
EmberHandlebars.template = _emberTemplateCompilerSystemTemplate.default;
});
+enifed('ember-template-compiler/index', ['exports', 'ember-metal', 'ember-template-compiler/system/precompile', 'ember-template-compiler/system/compile', 'ember-template-compiler/system/template', 'ember-template-compiler/plugins', 'ember-template-compiler/plugins/transform-old-binding-syntax', 'ember-template-compiler/plugins/transform-old-class-binding-syntax', 'ember-template-compiler/plugins/transform-item-class', 'ember-template-compiler/plugins/transform-component-attrs-into-mut', 'ember-template-compiler/plugins/transform-component-curly-to-readonly', 'ember-template-compiler/plugins/transform-angle-bracket-components', 'ember-template-compiler/plugins/transform-input-on-to-onEvent', 'ember-template-compiler/plugins/transform-top-level-components', 'ember-template-compiler/plugins/transform-each-into-collection', 'ember-template-compiler/plugins/transform-unescaped-inline-link-to', 'ember-template-compiler/plugins/assert-no-view-and-controller-paths', 'ember-template-compiler/plugins/assert-no-view-helper', 'ember-template-compiler/compat'], function (exports, _emberMetal, _emberTemplateCompilerSystemPrecompile, _emberTemplateCompilerSystemCompile, _emberTemplateCompilerSystemTemplate, _emberTemplateCompilerPlugins, _emberTemplateCompilerPluginsTransformOldBindingSyntax, _emberTemplateCompilerPluginsTransformOldClassBindingSyntax, _emberTemplateCompilerPluginsTransformItemClass, _emberTemplateCompilerPluginsTransformComponentAttrsIntoMut, _emberTemplateCompilerPluginsTransformComponentCurlyToReadonly, _emberTemplateCompilerPluginsTransformAngleBracketComponents, _emberTemplateCompilerPluginsTransformInputOnToOnEvent, _emberTemplateCompilerPluginsTransformTopLevelComponents, _emberTemplateCompilerPluginsTransformEachIntoCollection, _emberTemplateCompilerPluginsTransformUnescapedInlineLinkTo, _emberTemplateCompilerPluginsAssertNoViewAndControllerPaths, _emberTemplateCompilerPluginsAssertNoViewHelper, _emberTemplateCompilerCompat) {
+ 'use strict';
+
+ _emberTemplateCompilerPlugins.registerPlugin('ast', _emberTemplateCompilerPluginsTransformOldBindingSyntax.default);
+ _emberTemplateCompilerPlugins.registerPlugin('ast', _emberTemplateCompilerPluginsTransformOldClassBindingSyntax.default);
+ _emberTemplateCompilerPlugins.registerPlugin('ast', _emberTemplateCompilerPluginsTransformItemClass.default);
+ _emberTemplateCompilerPlugins.registerPlugin('ast', _emberTemplateCompilerPluginsTransformComponentAttrsIntoMut.default);
+ _emberTemplateCompilerPlugins.registerPlugin('ast', _emberTemplateCompilerPluginsTransformComponentCurlyToReadonly.default);
+ _emberTemplateCompilerPlugins.registerPlugin('ast', _emberTemplateCompilerPluginsTransformAngleBracketComponents.default);
+ _emberTemplateCompilerPlugins.registerPlugin('ast', _emberTemplateCompilerPluginsTransformInputOnToOnEvent.default);
+ _emberTemplateCompilerPlugins.registerPlugin('ast', _emberTemplateCompilerPluginsTransformTopLevelComponents.default);
+ _emberTemplateCompilerPlugins.registerPlugin('ast', _emberTemplateCompilerPluginsTransformUnescapedInlineLinkTo.default);
+
+ if (_emberMetal.default.ENV._ENABLE_LEGACY_VIEW_SUPPORT) {
+ _emberTemplateCompilerPlugins.registerPlugin('ast', _emberTemplateCompilerPluginsTransformEachIntoCollection.default);
+ } else {
+ _emberTemplateCompilerPlugins.registerPlugin('ast', _emberTemplateCompilerPluginsAssertNoViewAndControllerPaths.default);
+ _emberTemplateCompilerPlugins.registerPlugin('ast', _emberTemplateCompilerPluginsAssertNoViewHelper.default);
+ }
+
+ exports._Ember = _emberMetal.default;
+ exports.precompile = _emberTemplateCompilerSystemPrecompile.default;
+ exports.compile = _emberTemplateCompilerSystemCompile.default;
+ exports.template = _emberTemplateCompilerSystemTemplate.default;
+ exports.registerPlugin = _emberTemplateCompilerPlugins.registerPlugin;
+});
+
+// used for adding Ember.Handlebars.compile for backwards compat
enifed('ember-template-compiler/plugins/assert-no-view-and-controller-paths', ['exports', 'ember-metal/core', 'ember-metal/debug', 'ember-template-compiler/system/calculate-location-display'], function (exports, _emberMetalCore, _emberMetalDebug, _emberTemplateCompilerSystemCalculateLocationDisplay) {
'use strict';
function AssertNoViewAndControllerPaths(options) {
// set later within HTMLBars to the syntax package
@@ -12576,11 +12657,11 @@
}
return moduleInfo;
}
});
-enifed('ember-template-compiler/system/compile', ['exports', 'ember-metal/core', 'ember-template-compiler/system/compile_options', 'ember-template-compiler/system/template'], function (exports, _emberMetalCore, _emberTemplateCompilerSystemCompile_options, _emberTemplateCompilerSystemTemplate) {
+enifed('ember-template-compiler/system/compile', ['exports', 'require', 'ember-template-compiler/system/compile_options', 'ember-template-compiler/system/template'], function (exports, _require, _emberTemplateCompilerSystemCompile_options, _emberTemplateCompilerSystemTemplate) {
/**
@module ember
@submodule ember-template-compiler
*/
@@ -12598,12 +12679,12 @@
@param {String} templateString This is the string to be compiled by HTMLBars.
@param {Object} options This is an options hash to augment the compiler options.
*/
exports.default = function (templateString, options) {
- if (!compile && _emberMetalCore.default.__loader.registry['htmlbars-compiler/compiler']) {
- compile = requireModule('htmlbars-compiler/compiler').compile;
+ if (!compile && _require.has('htmlbars-compiler/compiler')) {
+ compile = _require.default('htmlbars-compiler/compiler').compile;
}
if (!compile) {
throw new Error('Cannot call `compile` without the template compiler loaded. Please load `ember-template-compiler.js` prior to calling `compile`.');
}
@@ -12651,11 +12732,11 @@
options.plugins = plugins;
options.buildMeta = function buildMeta(program) {
return {
fragmentReason: fragmentReason(program),
- revision: 'Ember@2.3.2',
+ revision: 'Ember@2.4.0-beta.2',
loc: program.loc,
moduleName: options.moduleName
};
};
@@ -12717,11 +12798,11 @@
} else {
return false;
}
}
});
-enifed('ember-template-compiler/system/precompile', ['exports', 'ember-metal/core', 'ember-template-compiler/system/compile_options'], function (exports, _emberMetalCore, _emberTemplateCompilerSystemCompile_options) {
+enifed('ember-template-compiler/system/precompile', ['exports', 'require', 'ember-template-compiler/system/compile_options'], function (exports, _require, _emberTemplateCompilerSystemCompile_options) {
/**
@module ember
@submodule ember-template-compiler
*/
'use strict';
@@ -12738,12 +12819,12 @@
@method precompile
@param {String} templateString This is the string to be compiled by HTMLBars.
*/
exports.default = function (templateString, options) {
- if (!compileSpec && _emberMetalCore.default.__loader.registry['htmlbars-compiler/compiler']) {
- compileSpec = requireModule('htmlbars-compiler/compiler').compileSpec;
+ if (!compileSpec && _require.has('htmlbars-compiler/compiler')) {
+ compileSpec = _require.default('htmlbars-compiler/compiler').compileSpec;
}
if (!compileSpec) {
throw new Error('Cannot call `compileSpec` without the template compiler loaded. Please load `ember-template-compiler.js` prior to calling `compileSpec`.');
}
@@ -12777,37 +12858,9 @@
templateSpec.isMethod = false;
return templateSpec;
};
});
-enifed('ember-template-compiler', ['exports', 'ember-metal', 'ember-template-compiler/system/precompile', 'ember-template-compiler/system/compile', 'ember-template-compiler/system/template', 'ember-template-compiler/plugins', 'ember-template-compiler/plugins/transform-old-binding-syntax', 'ember-template-compiler/plugins/transform-old-class-binding-syntax', 'ember-template-compiler/plugins/transform-item-class', 'ember-template-compiler/plugins/transform-component-attrs-into-mut', 'ember-template-compiler/plugins/transform-component-curly-to-readonly', 'ember-template-compiler/plugins/transform-angle-bracket-components', 'ember-template-compiler/plugins/transform-input-on-to-onEvent', 'ember-template-compiler/plugins/transform-top-level-components', 'ember-template-compiler/plugins/transform-each-into-collection', 'ember-template-compiler/plugins/transform-unescaped-inline-link-to', 'ember-template-compiler/plugins/assert-no-view-and-controller-paths', 'ember-template-compiler/plugins/assert-no-view-helper', 'ember-template-compiler/compat'], function (exports, _emberMetal, _emberTemplateCompilerSystemPrecompile, _emberTemplateCompilerSystemCompile, _emberTemplateCompilerSystemTemplate, _emberTemplateCompilerPlugins, _emberTemplateCompilerPluginsTransformOldBindingSyntax, _emberTemplateCompilerPluginsTransformOldClassBindingSyntax, _emberTemplateCompilerPluginsTransformItemClass, _emberTemplateCompilerPluginsTransformComponentAttrsIntoMut, _emberTemplateCompilerPluginsTransformComponentCurlyToReadonly, _emberTemplateCompilerPluginsTransformAngleBracketComponents, _emberTemplateCompilerPluginsTransformInputOnToOnEvent, _emberTemplateCompilerPluginsTransformTopLevelComponents, _emberTemplateCompilerPluginsTransformEachIntoCollection, _emberTemplateCompilerPluginsTransformUnescapedInlineLinkTo, _emberTemplateCompilerPluginsAssertNoViewAndControllerPaths, _emberTemplateCompilerPluginsAssertNoViewHelper, _emberTemplateCompilerCompat) {
- 'use strict';
-
- _emberTemplateCompilerPlugins.registerPlugin('ast', _emberTemplateCompilerPluginsTransformOldBindingSyntax.default);
- _emberTemplateCompilerPlugins.registerPlugin('ast', _emberTemplateCompilerPluginsTransformOldClassBindingSyntax.default);
- _emberTemplateCompilerPlugins.registerPlugin('ast', _emberTemplateCompilerPluginsTransformItemClass.default);
- _emberTemplateCompilerPlugins.registerPlugin('ast', _emberTemplateCompilerPluginsTransformComponentAttrsIntoMut.default);
- _emberTemplateCompilerPlugins.registerPlugin('ast', _emberTemplateCompilerPluginsTransformComponentCurlyToReadonly.default);
- _emberTemplateCompilerPlugins.registerPlugin('ast', _emberTemplateCompilerPluginsTransformAngleBracketComponents.default);
- _emberTemplateCompilerPlugins.registerPlugin('ast', _emberTemplateCompilerPluginsTransformInputOnToOnEvent.default);
- _emberTemplateCompilerPlugins.registerPlugin('ast', _emberTemplateCompilerPluginsTransformTopLevelComponents.default);
- _emberTemplateCompilerPlugins.registerPlugin('ast', _emberTemplateCompilerPluginsTransformUnescapedInlineLinkTo.default);
-
- if (_emberMetal.default.ENV._ENABLE_LEGACY_VIEW_SUPPORT) {
- _emberTemplateCompilerPlugins.registerPlugin('ast', _emberTemplateCompilerPluginsTransformEachIntoCollection.default);
- } else {
- _emberTemplateCompilerPlugins.registerPlugin('ast', _emberTemplateCompilerPluginsAssertNoViewAndControllerPaths.default);
- _emberTemplateCompilerPlugins.registerPlugin('ast', _emberTemplateCompilerPluginsAssertNoViewHelper.default);
- }
-
- exports._Ember = _emberMetal.default;
- exports.precompile = _emberTemplateCompilerSystemPrecompile.default;
- exports.compile = _emberTemplateCompilerSystemCompile.default;
- exports.template = _emberTemplateCompilerSystemTemplate.default;
- exports.registerPlugin = _emberTemplateCompilerPlugins.registerPlugin;
-});
-
-// used for adding Ember.Handlebars.compile for backwards compat
enifed("htmlbars-compiler/compiler", ["exports", "htmlbars-syntax/parser", "htmlbars-compiler/template-compiler", "htmlbars-runtime/hooks", "htmlbars-runtime/render"], function (exports, _htmlbarsSyntaxParser, _htmlbarsCompilerTemplateCompiler, _htmlbarsRuntimeHooks, _htmlbarsRuntimeRender) {
/*jshint evil:true*/
"use strict";
exports.compileSpec = compileSpec;
\ No newline at end of file