ember-source 2.15.3 → 2.16.0.beta.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -6,7 +6,7 @@
6
6
  * Portions Copyright 2008-2011 Apple Inc. All rights reserved.
7
7
  * @license Licensed under MIT license
8
8
  * See https://raw.github.com/emberjs/ember.js/master/LICENSE
9
- * @version 2.15.3
9
+ * @version 2.16.0-beta.1
10
10
  */
11
11
 
12
12
  var enifed, requireModule, Ember;
@@ -9157,6 +9157,7 @@ enifed('backburner', ['exports', 'ember-babel'], function (exports, _emberBabel)
9157
9157
  this.name = name;
9158
9158
  this.options = options;
9159
9159
  this.globalOptions = globalOptions;
9160
+ this.globalOptions.onError = getOnError(globalOptions);
9160
9161
  }
9161
9162
 
9162
9163
  Queue.prototype.push = function push(target, method, args, stack) {
@@ -9191,6 +9192,8 @@ enifed('backburner', ['exports', 'ember-babel'], function (exports, _emberBabel)
9191
9192
  var method = void 0;
9192
9193
  var args = void 0;
9193
9194
  var errorRecordedForStack = void 0;
9195
+ var onError = this.globalOptions.onError;
9196
+ var invoke = onError ? this.invokeWithOnError : this.invoke;
9194
9197
  this.targetQueues = Object.create(null);
9195
9198
  var queueItems = void 0;
9196
9199
  if (this._queueBeingFlushed.length > 0) {
@@ -9202,38 +9205,33 @@ enifed('backburner', ['exports', 'ember-babel'], function (exports, _emberBabel)
9202
9205
  if (before) {
9203
9206
  before();
9204
9207
  }
9205
- var invoke = void 0;
9206
- if (queueItems.length > 0) {
9207
- var onError = getOnError(this.globalOptions);
9208
- invoke = onError ? this.invokeWithOnError : this.invoke;
9209
- for (var i = this.index; i < queueItems.length; i += 4) {
9210
- this.index += 4;
9211
- target = queueItems[i];
9212
- method = queueItems[i + 1];
9213
- args = queueItems[i + 2];
9214
- errorRecordedForStack = queueItems[i + 3]; // Debugging assistance
9215
- // method could have been nullified / canceled during flush
9216
- if (method !== null) {
9217
- //
9218
- // ** Attention intrepid developer **
9219
- //
9220
- // To find out the stack of this task when it was scheduled onto
9221
- // the run loop, add the following to your app.js:
9222
- //
9223
- // Ember.run.backburner.DEBUG = true; // NOTE: This slows your app, don't leave it on in production.
9224
- //
9225
- // Once that is in place, when you are at a breakpoint and navigate
9226
- // here in the stack explorer, you can look at `errorRecordedForStack.stack`,
9227
- // which will be the captured stack when this job was scheduled.
9228
- //
9229
- // One possible long-term solution is the following Chrome issue:
9230
- // https://bugs.chromium.org/p/chromium/issues/detail?id=332624
9231
- //
9232
- invoke(target, method, args, onError, errorRecordedForStack);
9233
- }
9234
- if (this.index !== this._queueBeingFlushed.length && this.globalOptions.mustYield && this.globalOptions.mustYield()) {
9235
- return 1 /* Pause */;
9236
- }
9208
+ for (var i = this.index; i < queueItems.length; i += 4) {
9209
+ this.index += 4;
9210
+ target = queueItems[i];
9211
+ method = queueItems[i + 1];
9212
+ args = queueItems[i + 2];
9213
+ errorRecordedForStack = queueItems[i + 3]; // Debugging assistance
9214
+ // method could have been nullified / canceled during flush
9215
+ if (method !== null) {
9216
+ //
9217
+ // ** Attention intrepid developer **
9218
+ //
9219
+ // To find out the stack of this task when it was scheduled onto
9220
+ // the run loop, add the following to your app.js:
9221
+ //
9222
+ // Ember.run.backburner.DEBUG = true; // NOTE: This slows your app, don't leave it on in production.
9223
+ //
9224
+ // Once that is in place, when you are at a breakpoint and navigate
9225
+ // here in the stack explorer, you can look at `errorRecordedForStack.stack`,
9226
+ // which will be the captured stack when this job was scheduled.
9227
+ //
9228
+ // One possible long-term solution is the following Chrome issue:
9229
+ // https://bugs.chromium.org/p/chromium/issues/detail?id=332624
9230
+ //
9231
+ invoke(target, method, args, onError, errorRecordedForStack);
9232
+ }
9233
+ if (this.index !== this._queueBeingFlushed.length && this.globalOptions.mustYield && this.globalOptions.mustYield()) {
9234
+ return 1 /* Pause */;
9237
9235
  }
9238
9236
  }
9239
9237
  if (after) {
@@ -9434,6 +9432,7 @@ enifed('backburner', ['exports', 'ember-babel'], function (exports, _emberBabel)
9434
9432
 
9435
9433
  // accepts a function that when invoked will return an iterator
9436
9434
  // iterator will drain until completion
9435
+ // accepts a function that when invoked will return an iterator
9437
9436
  var iteratorDrain = function (fn) {
9438
9437
  var iterator = fn();
9439
9438
  var result = iterator.next();
@@ -9443,8 +9442,8 @@ enifed('backburner', ['exports', 'ember-babel'], function (exports, _emberBabel)
9443
9442
  }
9444
9443
  };
9445
9444
 
9445
+ var now = Date.now;
9446
9446
  var noop = function () {};
9447
- var SET_TIMEOUT = setTimeout;
9448
9447
 
9449
9448
  var Backburner = function () {
9450
9449
  function Backburner(queueNames) {
@@ -9481,12 +9480,9 @@ enifed('backburner', ['exports', 'ember-babel'], function (exports, _emberBabel)
9481
9480
  return clearTimeout(id);
9482
9481
  };
9483
9482
  platform.next = _platform.next || function (fn) {
9484
- return SET_TIMEOUT(fn, 0);
9483
+ return platform.setTimeout(fn, 0);
9485
9484
  };
9486
9485
  platform.clearNext = _platform.clearNext || platform.clearTimeout;
9487
- platform.now = _platform.now || function () {
9488
- return Date.now();
9489
- };
9490
9486
  this._platform = platform;
9491
9487
  this._boundRunExpiredTimers = function () {
9492
9488
  _this._runExpiredTimers();
@@ -9772,7 +9768,7 @@ enifed('backburner', ['exports', 'ember-babel'], function (exports, _emberBabel)
9772
9768
  }
9773
9769
  }
9774
9770
  var onError = getOnError(this.options);
9775
- var executeAt = this._platform.now() + wait;
9771
+ var executeAt = now() + wait;
9776
9772
  var fn = void 0;
9777
9773
  if (onError) {
9778
9774
  fn = function () {
@@ -9981,7 +9977,7 @@ enifed('backburner', ['exports', 'ember-babel'], function (exports, _emberBabel)
9981
9977
  var l = timers.length;
9982
9978
  var i = 0;
9983
9979
  var defaultQueue = this.options.defaultQueue;
9984
- var n = this._platform.now();
9980
+ var n = now();
9985
9981
  for (; i < l; i += 2) {
9986
9982
  var executeAt = timers[i];
9987
9983
  if (executeAt <= n) {
@@ -10013,7 +10009,7 @@ enifed('backburner', ['exports', 'ember-babel'], function (exports, _emberBabel)
10013
10009
  return;
10014
10010
  }
10015
10011
  var minExpiresAt = this._timers[0];
10016
- var n = this._platform.now();
10012
+ var n = now();
10017
10013
  var wait = Math.max(0, minExpiresAt - n);
10018
10014
  this._timerTimeoutId = this._platform.setTimeout(this._boundRunExpiredTimers, wait);
10019
10015
  };
@@ -10108,19 +10104,17 @@ enifed('container', ['exports', 'ember-babel', 'ember-utils', 'ember-debug', 'em
10108
10104
  if (options.source) {
10109
10105
  var expandedFullName = this.registry.expandLocalLookup(fullName, options);
10110
10106
  // if expandLocalLookup returns falsey, we do not support local lookup
10111
- if (_features.EMBER_MODULE_UNIFICATION) {
10112
- if (expandedFullName) {
10113
- // with ember-module-unification, if expandLocalLookup returns something,
10114
- // pass it to the resolve without the source
10115
- normalizedName = expandedFullName;
10116
- options = {};
10117
- }
10118
- } else {
10107
+ if (!_features.EMBER_MODULE_UNIFICATION) {
10119
10108
  if (!expandedFullName) {
10120
10109
  return;
10121
10110
  }
10122
10111
 
10123
10112
  normalizedName = expandedFullName;
10113
+ } else if (expandedFullName) {
10114
+ // with ember-module-unification, if expandLocalLookup returns something,
10115
+ // pass it to the resolve without the source
10116
+ normalizedName = expandedFullName;
10117
+ options = {};
10124
10118
  }
10125
10119
  }
10126
10120
 
@@ -10131,12 +10125,7 @@ enifed('container', ['exports', 'ember-babel', 'ember-utils', 'ember-debug', 'em
10131
10125
  return cached;
10132
10126
  }
10133
10127
 
10134
- var factory = void 0;
10135
- if (_features.EMBER_MODULE_UNIFICATION) {
10136
- factory = this.registry.resolve(normalizedName, options);
10137
- } else {
10138
- factory = this.registry.resolve(normalizedName);
10139
- }
10128
+ var factory = _features.EMBER_MODULE_UNIFICATION ? this.registry.resolve(normalizedName, options) : this.registry.resolve(normalizedName);
10140
10129
 
10141
10130
  if (factory === undefined) {
10142
10131
  return;
@@ -10200,20 +10189,18 @@ enifed('container', ['exports', 'ember-babel', 'ember-utils', 'ember-debug', 'em
10200
10189
  if (options.source) {
10201
10190
  var expandedFullName = container.registry.expandLocalLookup(fullName, options);
10202
10191
 
10203
- if (_features.EMBER_MODULE_UNIFICATION) {
10204
- if (expandedFullName) {
10205
- // with ember-module-unification, if expandLocalLookup returns something,
10206
- // pass it to the resolve without the source
10207
- fullName = expandedFullName;
10208
- options = {};
10209
- }
10210
- } else {
10192
+ if (!_features.EMBER_MODULE_UNIFICATION) {
10211
10193
  // if expandLocalLookup returns falsey, we do not support local lookup
10212
10194
  if (!expandedFullName) {
10213
10195
  return;
10214
10196
  }
10215
10197
 
10216
10198
  fullName = expandedFullName;
10199
+ } else if (expandedFullName) {
10200
+ // with ember-module-unification, if expandLocalLookup returns something,
10201
+ // pass it to the resolve without the source
10202
+ fullName = expandedFullName;
10203
+ options = {};
10217
10204
  }
10218
10205
  }
10219
10206
 
@@ -10255,17 +10242,7 @@ enifed('container', ['exports', 'ember-babel', 'ember-utils', 'ember-debug', 'em
10255
10242
  }
10256
10243
 
10257
10244
  function instantiateFactory(container, fullName, options) {
10258
-
10259
- var factoryManager = void 0;
10260
- if (_features.EMBER_MODULE_UNIFICATION) {
10261
- if (options && options.source) {
10262
- factoryManager = container.factoryFor(fullName, options);
10263
- } else {
10264
- factoryManager = container.factoryFor(fullName);
10265
- }
10266
- } else {
10267
- factoryManager = container.factoryFor(fullName);
10268
- }
10245
+ var factoryManager = _features.EMBER_MODULE_UNIFICATION && options && options.source ? container.factoryFor(fullName, options) : container.factoryFor(fullName);
10269
10246
 
10270
10247
  if (factoryManager === undefined) {
10271
10248
  return;
@@ -10785,11 +10762,11 @@ enifed('container', ['exports', 'ember-babel', 'ember-utils', 'ember-debug', 'em
10785
10762
  return injections;
10786
10763
  },
10787
10764
  resolverCacheKey: function (name, options) {
10788
- if (_features.EMBER_MODULE_UNIFICATION) {
10789
- return options && options.source ? options.source + ':' + name : name;
10790
- } else {
10765
+ if (!_features.EMBER_MODULE_UNIFICATION) {
10791
10766
  return name;
10792
10767
  }
10768
+
10769
+ return options && options.source ? options.source + ':' + name : name;
10793
10770
  }
10794
10771
  };
10795
10772
 
@@ -10878,20 +10855,18 @@ enifed('container', ['exports', 'ember-babel', 'ember-utils', 'ember-debug', 'em
10878
10855
  // and source into the full normalizedName
10879
10856
  var expandedNormalizedName = registry.expandLocalLookup(normalizedName, options);
10880
10857
 
10881
- if (_features.EMBER_MODULE_UNIFICATION) {
10882
- if (expandedNormalizedName) {
10883
- // with ember-module-unification, if expandLocalLookup returns something,
10884
- // pass it to the resolve without the source
10885
- normalizedName = expandedNormalizedName;
10886
- options = {};
10887
- }
10888
- } else {
10889
- // if expandLocalLookup returns falsey, we do not support local lookup
10858
+ // if expandLocalLookup returns falsey, we do not support local lookup
10859
+ if (!_features.EMBER_MODULE_UNIFICATION) {
10890
10860
  if (!expandedNormalizedName) {
10891
10861
  return;
10892
10862
  }
10893
10863
 
10894
10864
  normalizedName = expandedNormalizedName;
10865
+ } else if (expandedNormalizedName) {
10866
+ // with ember-module-unification, if expandLocalLookup returns something,
10867
+ // pass it to the resolve without the source
10868
+ normalizedName = expandedNormalizedName;
10869
+ options = {};
10895
10870
  }
10896
10871
  }
10897
10872
 
@@ -12328,11 +12303,7 @@ enifed('ember-application/system/engine-instance', ['exports', 'ember-babel', 'e
12328
12303
  var env = parent.lookup('-environment:main');
12329
12304
  this.register('-environment:main', env, { instantiate: false });
12330
12305
 
12331
- var singletons = ['router:main', (0, _container.privatize)(_templateObject), '-view-registry:main', 'renderer:-' + (env.isInteractive ? 'dom' : 'inert'), 'service:-document'];
12332
-
12333
- if (env.isInteractive) {
12334
- singletons.push('event_dispatcher:main');
12335
- }
12306
+ var singletons = ['router:main', (0, _container.privatize)(_templateObject), '-view-registry:main', 'renderer:-' + (env.isInteractive ? 'dom' : 'inert'), 'service:-document', 'event_dispatcher:main'];
12336
12307
 
12337
12308
  singletons.forEach(function (key) {
12338
12309
  return _this2.register(key, parent.lookup(key), { instantiate: false });
@@ -12893,7 +12864,7 @@ enifed('ember-application/system/resolver', ['exports', 'ember-utils', 'ember-me
12893
12864
  this._parseNameCache = (0, _emberUtils.dictionary)(null);
12894
12865
  },
12895
12866
  normalize: function (fullName) {
12896
- var _fullName$split = fullName.split(':', 2),
12867
+ var _fullName$split = fullName.split(':'),
12897
12868
  type = _fullName$split[0],
12898
12869
  name = _fullName$split[1];
12899
12870
 
@@ -12901,25 +12872,9 @@ enifed('ember-application/system/resolver', ['exports', 'ember-utils', 'ember-me
12901
12872
 
12902
12873
 
12903
12874
  if (type !== 'template') {
12904
- var result = name;
12905
-
12906
- if (result.indexOf('.') > -1) {
12907
- result = result.replace(/\.(.)/g, function (m) {
12908
- return m.charAt(1).toUpperCase();
12909
- });
12910
- }
12911
-
12912
- if (name.indexOf('_') > -1) {
12913
- result = result.replace(/_(.)/g, function (m) {
12914
- return m.charAt(1).toUpperCase();
12915
- });
12916
- }
12917
-
12918
- if (name.indexOf('-') > -1) {
12919
- result = result.replace(/-(.)/g, function (m) {
12920
- return m.charAt(1).toUpperCase();
12921
- });
12922
- }
12875
+ var result = name.replace(/(\.|_|-)./g, function (m) {
12876
+ return m.charAt(1).toUpperCase();
12877
+ });
12923
12878
 
12924
12879
  return type + ':' + result;
12925
12880
  } else {
@@ -13051,9 +13006,10 @@ enifed('ember-application/system/resolver', ['exports', 'ember-utils', 'ember-me
13051
13006
  @protected
13052
13007
  */
13053
13008
  useRouterNaming: function (parsedName) {
13054
- parsedName.name = parsedName.name.replace(/\./g, '_');
13055
13009
  if (parsedName.name === 'basic') {
13056
13010
  parsedName.name = '';
13011
+ } else {
13012
+ parsedName.name = parsedName.name.replace(/\./g, '_');
13057
13013
  }
13058
13014
  },
13059
13015
 
@@ -13161,15 +13117,9 @@ enifed('ember-application/system/resolver', ['exports', 'ember-utils', 'ember-me
13161
13117
  @private
13162
13118
  */
13163
13119
  _logLookup: function (found, parsedName) {
13164
- var symbol = void 0,
13165
- padding = void 0;
13166
-
13167
- if (found) {
13168
- symbol = '[✓]';
13169
- } else {
13170
- symbol = '[ ]';
13171
- }
13120
+ var symbol = found ? '[✓]' : '[ ]';
13172
13121
 
13122
+ var padding = void 0;
13173
13123
  if (parsedName.fullName.length > 60) {
13174
13124
  padding = '.';
13175
13125
  } else {
@@ -14699,12 +14649,8 @@ enifed('ember-extension-support/data_adapter', ['exports', 'ember-utils', 'ember
14699
14649
  }
14700
14650
 
14701
14651
  var observer = {
14702
- didChange: function (array, idx, removedCount, addedCount) {
14703
- // Only re-fetch records if the record count changed
14704
- // (which is all we care about as far as model types are concerned).
14705
- if (removedCount > 0 || addedCount > 0) {
14706
- _emberMetal.run.scheduleOnce('actions', this, onChange);
14707
- }
14652
+ didChange: function () {
14653
+ _emberMetal.run.scheduleOnce('actions', this, onChange);
14708
14654
  },
14709
14655
  willChange: function () {
14710
14656
  return this;
@@ -16898,12 +16844,13 @@ enifed('ember-glimmer/components/link-to', ['exports', 'ember-console', 'ember-d
16898
16844
  queryParams: null,
16899
16845
 
16900
16846
  qualifiedRouteName: (0, _emberMetal.computed)('targetRouteName', '_routing.currentState', function computeLinkToComponentQualifiedRouteName() {
16901
- var params = (0, _emberMetal.get)(this, 'params').slice();
16902
- var lastParam = params[params.length - 1];
16847
+ var params = (0, _emberMetal.get)(this, 'params');
16848
+ var paramsLength = params.length;
16849
+ var lastParam = params[paramsLength - 1];
16903
16850
  if (lastParam && lastParam.isQueryParams) {
16904
- params.pop();
16851
+ paramsLength--;
16905
16852
  }
16906
- var onlyQueryParamsSupplied = this[_component.HAS_BLOCK] ? params.length === 0 : params.length === 1;
16853
+ var onlyQueryParamsSupplied = this[_component.HAS_BLOCK] ? paramsLength === 0 : paramsLength === 1;
16907
16854
  if (onlyQueryParamsSupplied) {
16908
16855
  return (0, _emberMetal.get)(this, '_routing.currentRouteName');
16909
16856
  }
@@ -17561,7 +17508,7 @@ enifed('ember-glimmer/environment', ['exports', 'ember-babel', 'ember-utils', 'e
17561
17508
  (0, _emberBabel.inherits)(Environment, _GlimmerEnvironment);
17562
17509
 
17563
17510
  Environment.create = function create(options) {
17564
- return new Environment(options);
17511
+ return new this(options);
17565
17512
  };
17566
17513
 
17567
17514
  function Environment(_ref) {
@@ -17674,11 +17621,7 @@ enifed('ember-glimmer/environment', ['exports', 'ember-babel', 'ember-utils', 'e
17674
17621
  }
17675
17622
 
17676
17623
  Environment.prototype._resolveLocalLookupName = function _resolveLocalLookupName(name, source, owner) {
17677
- if (_features.EMBER_MODULE_UNIFICATION) {
17678
- return source + ':' + name;
17679
- } else {
17680
- return owner._resolveLocalLookupName(name, source);
17681
- }
17624
+ return _features.EMBER_MODULE_UNIFICATION ? source + ':' + name : owner._resolveLocalLookupName(name, source);
17682
17625
  };
17683
17626
 
17684
17627
  Environment.prototype.macros = function macros() {
@@ -18100,7 +18043,6 @@ enifed('ember-glimmer/helpers/action', ['exports', 'ember-utils', 'ember-metal',
18100
18043
 
18101
18044
 
18102
18045
  var capturedArgs = positional.capture();
18103
- var references = capturedArgs.references;
18104
18046
 
18105
18047
  // The first two argument slots are reserved.
18106
18048
  // pos[0] is the context (or `this`)
@@ -18873,11 +18815,8 @@ enifed('ember-glimmer/helpers/if-unless', ['exports', 'ember-babel', 'ember-debu
18873
18815
  var ConditionalHelperReference = function (_CachedReference) {
18874
18816
  (0, _emberBabel.inherits)(ConditionalHelperReference, _CachedReference);
18875
18817
 
18876
- ConditionalHelperReference.create = function create(_condRef, _truthyRef, _falsyRef) {
18818
+ ConditionalHelperReference.create = function create(_condRef, truthyRef, falsyRef) {
18877
18819
  var condRef = _references.ConditionalReference.create(_condRef);
18878
- var truthyRef = _truthyRef || _references.UNDEFINED_REFERENCE;
18879
- var falsyRef = _falsyRef || _references.UNDEFINED_REFERENCE;
18880
-
18881
18820
  if ((0, _reference.isConst)(condRef)) {
18882
18821
  return condRef.value() ? truthyRef : falsyRef;
18883
18822
  } else {
@@ -18900,12 +18839,7 @@ enifed('ember-glimmer/helpers/if-unless', ['exports', 'ember-babel', 'ember-debu
18900
18839
  }
18901
18840
 
18902
18841
  ConditionalHelperReference.prototype.compute = function compute() {
18903
- var cond = this.cond,
18904
- truthy = this.truthy,
18905
- falsy = this.falsy;
18906
-
18907
-
18908
- var branch = cond.value() ? truthy : falsy;
18842
+ var branch = this.cond.value() ? this.truthy : this.falsy;
18909
18843
 
18910
18844
  this.branchTag.update(branch.tag);
18911
18845
 
@@ -18999,16 +18933,9 @@ enifed('ember-glimmer/helpers/if-unless', ['exports', 'ember-babel', 'ember-debu
18999
18933
  */
19000
18934
  function inlineIf(vm, _ref) {
19001
18935
  var positional = _ref.positional;
18936
+ (true && !(positional.length === 3 || positional.length === 2) && (0, _emberDebug.assert)('The inline form of the `if` helper expects two or three arguments, e.g. ' + '`{{if trialExpired "Expired" expiryDate}}`.', positional.length === 3 || positional.length === 2));
19002
18937
 
19003
- switch (positional.length) {
19004
- case 2:
19005
- return ConditionalHelperReference.create(positional.at(0), positional.at(1), null);
19006
- case 3:
19007
- return ConditionalHelperReference.create(positional.at(0), positional.at(1), positional.at(2));
19008
- default:
19009
- (true && !(false) && (0, _emberDebug.assert)('The inline form of the `if` helper expects two or three arguments, e.g. ' + '`{{if trialExpired "Expired" expiryDate}}`.'));
19010
-
19011
- }
18938
+ return ConditionalHelperReference.create(positional.at(0), positional.at(1), positional.at(2));
19012
18939
  }
19013
18940
 
19014
18941
  /**
@@ -19033,16 +18960,9 @@ enifed('ember-glimmer/helpers/if-unless', ['exports', 'ember-babel', 'ember-debu
19033
18960
  */
19034
18961
  function inlineUnless(vm, _ref2) {
19035
18962
  var positional = _ref2.positional;
18963
+ (true && !(positional.length === 3 || positional.length === 2) && (0, _emberDebug.assert)('The inline form of the `unless` helper expects two or three arguments, e.g. ' + '`{{unless isFirstLogin "Welcome back!"}}`.', positional.length === 3 || positional.length === 2));
19036
18964
 
19037
- switch (positional.length) {
19038
- case 2:
19039
- return ConditionalHelperReference.create(positional.at(0), null, positional.at(1));
19040
- case 3:
19041
- return ConditionalHelperReference.create(positional.at(0), positional.at(2), positional.at(1));
19042
- default:
19043
- (true && !(false) && (0, _emberDebug.assert)('The inline form of the `unless` helper expects two or three arguments, e.g. ' + '`{{unless isFirstLogin "Welcome back!"}}`.'));
19044
-
19045
- }
18965
+ return ConditionalHelperReference.create(positional.at(0), positional.at(2), positional.at(1));
19046
18966
  }
19047
18967
  });
19048
18968
  enifed('ember-glimmer/helpers/loc', ['exports', 'ember-glimmer/utils/references', 'ember-runtime'], function (exports, _references, _emberRuntime) {
@@ -21855,22 +21775,10 @@ enifed('ember-glimmer/utils/process-args', ['exports', 'ember-babel', 'ember-uti
21855
21775
  return MutableCell;
21856
21776
  }();
21857
21777
  });
21858
- enifed('ember-glimmer/utils/references', ['exports', '@glimmer/runtime', 'ember-babel', 'ember-utils', 'ember-metal', '@glimmer/reference', 'ember-glimmer/utils/to-bool', 'ember-glimmer/helper', 'ember/features'], function (exports, _runtime, _emberBabel, _emberUtils, _emberMetal, _reference, _toBool, _helper, _features) {
21778
+ enifed('ember-glimmer/utils/references', ['exports', 'ember-babel', 'ember-utils', 'ember-metal', '@glimmer/reference', '@glimmer/runtime', 'ember-glimmer/utils/to-bool', 'ember-glimmer/helper', 'ember/features'], function (exports, _emberBabel, _emberUtils, _emberMetal, _reference, _runtime, _toBool, _helper, _features) {
21859
21779
  'use strict';
21860
21780
 
21861
- exports.UnboundReference = exports.InternalHelperReference = exports.ClassBasedHelperReference = exports.SimpleHelperReference = exports.ConditionalReference = exports.UpdatablePrimitiveReference = exports.UpdatableReference = exports.NestedPropertyReference = exports.RootPropertyReference = exports.PropertyReference = exports.RootReference = exports.CachedReference = exports.UNDEFINED_REFERENCE = exports.NULL_REFERENCE = exports.UPDATE = undefined;
21862
- Object.defineProperty(exports, 'NULL_REFERENCE', {
21863
- enumerable: true,
21864
- get: function () {
21865
- return _runtime.NULL_REFERENCE;
21866
- }
21867
- });
21868
- Object.defineProperty(exports, 'UNDEFINED_REFERENCE', {
21869
- enumerable: true,
21870
- get: function () {
21871
- return _runtime.UNDEFINED_REFERENCE;
21872
- }
21873
- });
21781
+ exports.UnboundReference = exports.InternalHelperReference = exports.ClassBasedHelperReference = exports.SimpleHelperReference = exports.ConditionalReference = exports.UpdatablePrimitiveReference = exports.UpdatableReference = exports.NestedPropertyReference = exports.RootPropertyReference = exports.PropertyReference = exports.RootReference = exports.CachedReference = exports.UPDATE = undefined;
21874
21782
  var UPDATE = exports.UPDATE = (0, _emberUtils.symbol)('UPDATE');
21875
21783
 
21876
21784
  var maybeFreeze = void 0;
@@ -21952,7 +21860,7 @@ enifed('ember-glimmer/utils/references', ['exports', '@glimmer/runtime', 'ember-
21952
21860
  RootReference.prototype.get = function get(propertyKey) {
21953
21861
  var ref = this.children[propertyKey];
21954
21862
 
21955
- if (!ref) {
21863
+ if (ref === undefined) {
21956
21864
  ref = this.children[propertyKey] = new RootPropertyReference(this.inner, propertyKey);
21957
21865
  }
21958
21866
 
@@ -22234,11 +22142,7 @@ enifed('ember-glimmer/utils/references', ['exports', '@glimmer/runtime', 'ember-
22234
22142
 
22235
22143
  var _result = helper(positionalValue, namedValue);
22236
22144
 
22237
- if (_result === null) {
22238
- return _runtime.NULL_REFERENCE;
22239
- } else if (_result === undefined) {
22240
- return _runtime.UNDEFINED_REFERENCE;
22241
- } else if (typeof _result === 'object' || typeof _result === 'function') {
22145
+ if (typeof _result === 'object' && _result !== null || typeof _result === 'function') {
22242
22146
  return new RootReference(_result);
22243
22147
  } else {
22244
22148
  return _runtime.PrimitiveReference.create(_result);
@@ -22354,11 +22258,7 @@ enifed('ember-glimmer/utils/references', ['exports', '@glimmer/runtime', 'ember-
22354
22258
  }
22355
22259
 
22356
22260
  UnboundReference.create = function create(value) {
22357
- if (value === null) {
22358
- return _runtime.NULL_REFERENCE;
22359
- } else if (value === undefined) {
22360
- return _runtime.UNDEFINED_REFERENCE;
22361
- } else if (typeof value === 'object' || typeof result === 'function') {
22261
+ if (typeof value === 'object' && value !== null || typeof result === 'function') {
22362
22262
  return new UnboundReference(value);
22363
22263
  } else {
22364
22264
  return _runtime.PrimitiveReference.create(value);
@@ -22907,46 +22807,6 @@ enifed('ember-metal', ['exports', 'ember-environment', 'ember-utils', 'ember-deb
22907
22807
 
22908
22808
  */
22909
22809
 
22910
- function indexOf(array, target, method) {
22911
- var index = -1;
22912
- // hashes are added to the end of the event array
22913
- // so it makes sense to start searching at the end
22914
- // of the array and search in reverse
22915
- for (var i = array.length - 3; i >= 0; i -= 3) {
22916
- if (target === array[i] && method === array[i + 1]) {
22917
- index = i;
22918
- break;
22919
- }
22920
- }
22921
- return index;
22922
- }
22923
-
22924
- function accumulateListeners(obj, eventName, otherActions) {
22925
- var meta$$1 = exports.peekMeta(obj);
22926
- if (!meta$$1) {
22927
- return;
22928
- }
22929
- var actions = meta$$1.matchingListeners(eventName);
22930
- if (actions === undefined) {
22931
- return;
22932
- }
22933
- var newActions = [];
22934
-
22935
- for (var i = actions.length - 3; i >= 0; i -= 3) {
22936
- var target = actions[i];
22937
- var method = actions[i + 1];
22938
- var flags = actions[i + 2];
22939
- var actionIndex = indexOf(otherActions, target, method);
22940
-
22941
- if (actionIndex === -1) {
22942
- otherActions.push(target, method, flags);
22943
- newActions.push(target, method, flags);
22944
- }
22945
- }
22946
-
22947
- return newActions;
22948
- }
22949
-
22950
22810
  /**
22951
22811
  Add an event listener
22952
22812
 
@@ -23257,7 +23117,7 @@ enifed('ember-metal', ['exports', 'ember-environment', 'ember-utils', 'ember-deb
23257
23117
  }
23258
23118
 
23259
23119
  if (propertyKey === 'content' && meta$$1.isProxy()) {
23260
- meta$$1.getTag().contentDidChange();
23120
+ objectTag.contentDidChange();
23261
23121
  }
23262
23122
 
23263
23123
  if (objectTag !== undefined || propertyTag !== undefined) {
@@ -23265,14 +23125,14 @@ enifed('ember-metal', ['exports', 'ember-environment', 'ember-utils', 'ember-deb
23265
23125
  }
23266
23126
  }
23267
23127
 
23268
- var run = void 0;
23128
+ var backburner = void 0;
23269
23129
  function ensureRunloop() {
23270
- if (run === undefined) {
23271
- run = require('ember-metal').run;
23130
+ if (backburner === undefined) {
23131
+ backburner = require('ember-metal').run.backburner;
23272
23132
  }
23273
23133
 
23274
23134
  if (hasViews()) {
23275
- run.backburner.ensureInstance();
23135
+ backburner.ensureInstance();
23276
23136
  }
23277
23137
  }
23278
23138
 
@@ -23307,12 +23167,12 @@ enifed('ember-metal', ['exports', 'ember-environment', 'ember-utils', 'ember-deb
23307
23167
  var observers = this.observers;
23308
23168
  var senderGuid = emberUtils.guidFor(sender);
23309
23169
  var keySet = observerSet[senderGuid];
23310
- var index = void 0;
23311
23170
 
23312
- if (!keySet) {
23171
+ if (keySet === undefined) {
23313
23172
  observerSet[senderGuid] = keySet = {};
23314
23173
  }
23315
- index = keySet[keyName];
23174
+
23175
+ var index = keySet[keyName];
23316
23176
  if (index === undefined) {
23317
23177
  index = observers.push({
23318
23178
  sender: sender,
@@ -23327,11 +23187,10 @@ enifed('ember-metal', ['exports', 'ember-environment', 'ember-utils', 'ember-deb
23327
23187
 
23328
23188
  ObserverSet.prototype.flush = function flush() {
23329
23189
  var observers = this.observers;
23330
- var i = void 0,
23331
- observer = void 0,
23190
+ var observer = void 0,
23332
23191
  sender = void 0;
23333
23192
  this.clear();
23334
- for (i = 0; i < observers.length; ++i) {
23193
+ for (var i = 0; i < observers.length; ++i) {
23335
23194
  observer = observers[i];
23336
23195
  sender = observer.sender;
23337
23196
  if (sender.isDestroying || sender.isDestroyed) {
@@ -23466,7 +23325,6 @@ enifed('ember-metal', ['exports', 'ember-environment', 'ember-utils', 'ember-deb
23466
23325
  */
23467
23326
  function propertyWillChange(obj, keyName, _meta) {
23468
23327
  var meta$$1 = _meta || exports.peekMeta(obj);
23469
-
23470
23328
  if (meta$$1 && !meta$$1.isInitialized(obj)) {
23471
23329
  return;
23472
23330
  }
@@ -23520,11 +23378,8 @@ enifed('ember-metal', ['exports', 'ember-environment', 'ember-utils', 'ember-deb
23520
23378
  }
23521
23379
 
23522
23380
  if (hasMeta && meta$$1.peekWatching(keyName) > 0) {
23523
- if (meta$$1.hasDeps(keyName) && !meta$$1.isSourceDestroying()) {
23524
- dependentKeysDidChange(obj, keyName, meta$$1);
23525
- }
23526
-
23527
- chainsDidChange(obj, keyName, meta$$1, false);
23381
+ dependentKeysDidChange(obj, keyName, meta$$1);
23382
+ chainsDidChange(obj, keyName, meta$$1);
23528
23383
  notifyObservers(obj, keyName, meta$$1);
23529
23384
  }
23530
23385
 
@@ -23548,27 +23403,28 @@ enifed('ember-metal', ['exports', 'ember-environment', 'ember-utils', 'ember-deb
23548
23403
  var DID_SEEN = void 0;
23549
23404
  // called whenever a property is about to change to clear the cache of any dependent keys (and notify those properties of changes, etc...)
23550
23405
  function dependentKeysWillChange(obj, depKey, meta$$1) {
23551
- if (meta$$1.isSourceDestroying()) {
23406
+ if (meta$$1.isSourceDestroying() || !meta$$1.hasDeps(depKey)) {
23552
23407
  return;
23553
23408
  }
23554
- if (meta$$1.hasDeps(depKey)) {
23555
- var seen = WILL_SEEN;
23556
- var top = !seen;
23409
+ var seen = WILL_SEEN;
23410
+ var top = !seen;
23557
23411
 
23558
- if (top) {
23559
- seen = WILL_SEEN = {};
23560
- }
23412
+ if (top) {
23413
+ seen = WILL_SEEN = {};
23414
+ }
23561
23415
 
23562
- iterDeps(propertyWillChange, obj, depKey, seen, meta$$1);
23416
+ iterDeps(propertyWillChange, obj, depKey, seen, meta$$1);
23563
23417
 
23564
- if (top) {
23565
- WILL_SEEN = null;
23566
- }
23418
+ if (top) {
23419
+ WILL_SEEN = null;
23567
23420
  }
23568
23421
  }
23569
23422
 
23570
23423
  // called whenever a property has just changed to update dependent keys
23571
23424
  function dependentKeysDidChange(obj, depKey, meta$$1) {
23425
+ if (meta$$1.isSourceDestroying() || !meta$$1.hasDeps(depKey)) {
23426
+ return;
23427
+ }
23572
23428
  var seen = DID_SEEN;
23573
23429
  var top = !seen;
23574
23430
 
@@ -23617,21 +23473,21 @@ enifed('ember-metal', ['exports', 'ember-environment', 'ember-utils', 'ember-deb
23617
23473
 
23618
23474
  function chainsWillChange(obj, keyName, meta$$1) {
23619
23475
  var chainWatchers = meta$$1.readableChainWatchers();
23620
- if (chainWatchers) {
23476
+ if (chainWatchers !== undefined) {
23621
23477
  chainWatchers.notify(keyName, false, propertyWillChange);
23622
23478
  }
23623
23479
  }
23624
23480
 
23625
23481
  function chainsDidChange(obj, keyName, meta$$1) {
23626
23482
  var chainWatchers = meta$$1.readableChainWatchers();
23627
- if (chainWatchers) {
23483
+ if (chainWatchers !== undefined) {
23628
23484
  chainWatchers.notify(keyName, true, propertyDidChange);
23629
23485
  }
23630
23486
  }
23631
23487
 
23632
23488
  function overrideChains(obj, keyName, meta$$1) {
23633
23489
  var chainWatchers = meta$$1.readableChainWatchers();
23634
- if (chainWatchers) {
23490
+ if (chainWatchers !== undefined) {
23635
23491
  chainWatchers.revalidate(keyName);
23636
23492
  }
23637
23493
  }
@@ -23678,8 +23534,44 @@ enifed('ember-metal', ['exports', 'ember-environment', 'ember-utils', 'ember-deb
23678
23534
  try {
23679
23535
  callback.call(binding);
23680
23536
  } finally {
23681
- endPropertyChanges.call(binding);
23537
+ endPropertyChanges();
23538
+ }
23539
+ }
23540
+
23541
+ function indexOf(array, target, method) {
23542
+ var index = -1;
23543
+ // hashes are added to the end of the event array
23544
+ // so it makes sense to start searching at the end
23545
+ // of the array and search in reverse
23546
+ for (var i = array.length - 3; i >= 0; i -= 3) {
23547
+ if (target === array[i] && method === array[i + 1]) {
23548
+ index = i;
23549
+ break;
23550
+ }
23551
+ }
23552
+ return index;
23553
+ }
23554
+
23555
+ function accumulateListeners(obj, eventName, otherActions, meta$$1) {
23556
+ var actions = meta$$1.matchingListeners(eventName);
23557
+ if (actions === undefined) {
23558
+ return;
23682
23559
  }
23560
+ var newActions = [];
23561
+
23562
+ for (var i = actions.length - 3; i >= 0; i -= 3) {
23563
+ var target = actions[i];
23564
+ var method = actions[i + 1];
23565
+ var flags = actions[i + 2];
23566
+ var actionIndex = indexOf(otherActions, target, method);
23567
+
23568
+ if (actionIndex === -1) {
23569
+ otherActions.push(target, method, flags);
23570
+ newActions.push(target, method, flags);
23571
+ }
23572
+ }
23573
+
23574
+ return newActions;
23683
23575
  }
23684
23576
 
23685
23577
  function notifyBeforeObservers(obj, keyName, meta$$1) {
@@ -23690,13 +23582,11 @@ enifed('ember-metal', ['exports', 'ember-environment', 'ember-utils', 'ember-deb
23690
23582
  var eventName = keyName + ':before';
23691
23583
  var listeners = void 0,
23692
23584
  added = void 0;
23693
- if (deferred) {
23585
+ if (deferred > 0) {
23694
23586
  listeners = beforeObserverSet.add(obj, keyName, eventName);
23695
- added = accumulateListeners(obj, eventName, listeners);
23696
- sendEvent(obj, eventName, [obj, keyName], added);
23697
- } else {
23698
- sendEvent(obj, eventName, [obj, keyName]);
23587
+ added = accumulateListeners(obj, eventName, listeners, meta$$1);
23699
23588
  }
23589
+ sendEvent(obj, eventName, [obj, keyName], added);
23700
23590
  }
23701
23591
 
23702
23592
  function notifyObservers(obj, keyName, meta$$1) {
@@ -23706,9 +23596,9 @@ enifed('ember-metal', ['exports', 'ember-environment', 'ember-utils', 'ember-deb
23706
23596
 
23707
23597
  var eventName = keyName + ':change';
23708
23598
  var listeners = void 0;
23709
- if (deferred) {
23599
+ if (deferred > 0) {
23710
23600
  listeners = observerSet.add(obj, keyName, eventName);
23711
- accumulateListeners(obj, eventName, listeners);
23601
+ accumulateListeners(obj, eventName, listeners, meta$$1);
23712
23602
  } else {
23713
23603
  sendEvent(obj, eventName, [obj, keyName]);
23714
23604
  }
@@ -23770,14 +23660,19 @@ enifed('ember-metal', ['exports', 'ember-environment', 'ember-utils', 'ember-deb
23770
23660
  function DEFAULT_GETTER_FUNCTION(name) {
23771
23661
  return function GETTER_FUNCTION() {
23772
23662
  var meta$$1 = exports.peekMeta(this);
23773
- return meta$$1 && meta$$1.peekValues(name);
23663
+ if (meta$$1 !== null && meta$$1 !== undefined) {
23664
+ return meta$$1.peekValues(name);
23665
+ }
23774
23666
  };
23775
23667
  }
23776
23668
 
23777
23669
  function INHERITING_GETTER_FUNCTION(name) {
23778
23670
  function IGETTER_FUNCTION() {
23779
23671
  var meta$$1 = exports.peekMeta(this);
23780
- var val = meta$$1 && meta$$1.readInheritedValue('values', name);
23672
+ var val = void 0;
23673
+ if (meta$$1 !== null && meta$$1 !== undefined) {
23674
+ val = meta$$1.readInheritedValue('values', name);
23675
+ }
23781
23676
 
23782
23677
  if (val === UNDEFINED) {
23783
23678
  var proto = Object.getPrototypeOf(this);
@@ -23837,7 +23732,7 @@ enifed('ember-metal', ['exports', 'ember-environment', 'ember-utils', 'ember-deb
23837
23732
  become the explicit value of this property.
23838
23733
  */
23839
23734
  function defineProperty(obj, keyName, desc, data, meta$$1) {
23840
- if (!meta$$1) {
23735
+ if (meta$$1 === null || meta$$1 === undefined) {
23841
23736
  meta$$1 = meta(obj);
23842
23737
  }
23843
23738
 
@@ -24080,13 +23975,6 @@ enifed('ember-metal', ['exports', 'ember-environment', 'ember-utils', 'ember-deb
24080
23975
  }
24081
23976
  }
24082
23977
 
24083
- // get the chains for the current object. If the current object has
24084
- // chains inherited from the proto they will be cloned and reconfigured for
24085
- // the current object.
24086
- function chainsFor(obj, meta$$1) {
24087
- return (meta$$1 || meta(obj)).writableChains(makeChainNode);
24088
- }
24089
-
24090
23978
  function makeChainNode(obj) {
24091
23979
  return new ChainNode(null, null, obj);
24092
23980
  }
@@ -24101,7 +23989,7 @@ enifed('ember-metal', ['exports', 'ember-environment', 'ember-utils', 'ember-deb
24101
23989
  m.writeWatching(keyPath, counter + 1);
24102
23990
  if (counter === 0) {
24103
23991
  // activate watching first time
24104
- chainsFor(obj, m).add(keyPath);
23992
+ m.writableChains(makeChainNode).add(keyPath);
24105
23993
  }
24106
23994
  }
24107
23995
 
@@ -24117,7 +24005,7 @@ enifed('ember-metal', ['exports', 'ember-environment', 'ember-utils', 'ember-deb
24117
24005
 
24118
24006
  if (counter === 1) {
24119
24007
  m.writeWatching(keyPath, 0);
24120
- chainsFor(obj, m).remove(keyPath);
24008
+ m.readableChains().remove(keyPath);
24121
24009
  } else if (counter > 1) {
24122
24010
  m.writeWatching(keyPath, counter - 1);
24123
24011
  }
@@ -24316,14 +24204,12 @@ enifed('ember-metal', ['exports', 'ember-environment', 'ember-utils', 'ember-deb
24316
24204
  ChainNode.prototype.copy = function copy(obj) {
24317
24205
  var ret = new ChainNode(null, null, obj);
24318
24206
  var paths = this._paths;
24319
- var path = void 0;
24320
24207
  if (paths !== undefined) {
24208
+ var path = void 0;
24321
24209
  for (path in paths) {
24322
- // this check will also catch non-number vals.
24323
- if (paths[path] <= 0) {
24324
- continue;
24210
+ if (paths[path] > 0) {
24211
+ ret.add(path);
24325
24212
  }
24326
- ret.add(path);
24327
24213
  }
24328
24214
  }
24329
24215
  return ret;
@@ -24423,8 +24309,8 @@ enifed('ember-metal', ['exports', 'ember-environment', 'ember-utils', 'ember-deb
24423
24309
 
24424
24310
  // then notify chains...
24425
24311
  var chains = this._chains;
24426
- var node = void 0;
24427
24312
  if (chains !== undefined) {
24313
+ var node = void 0;
24428
24314
  for (var key in chains) {
24429
24315
  node = chains[key];
24430
24316
  if (node !== undefined) {
@@ -24445,10 +24331,8 @@ enifed('ember-metal', ['exports', 'ember-environment', 'ember-utils', 'ember-deb
24445
24331
 
24446
24332
  if (this._parent) {
24447
24333
  this._parent.populateAffected(path, depth + 1, affected);
24448
- } else {
24449
- if (depth > 1) {
24450
- affected.push(this.value(), path);
24451
- }
24334
+ } else if (depth > 1) {
24335
+ affected.push(this.value(), path);
24452
24336
  }
24453
24337
  };
24454
24338
 
@@ -24575,14 +24459,6 @@ enifed('ember-metal', ['exports', 'ember-environment', 'ember-utils', 'ember-deb
24575
24459
  return this.proto !== obj;
24576
24460
  };
24577
24461
 
24578
- Meta.prototype.setTag = function setTag(tag) {
24579
- this._tag = tag;
24580
- };
24581
-
24582
- Meta.prototype.getTag = function getTag(tag) {
24583
- return this._tag;
24584
- };
24585
-
24586
24462
  Meta.prototype.destroy = function destroy() {
24587
24463
  if (this.isMetaDestroyed()) {
24588
24464
  return;
@@ -24593,14 +24469,14 @@ enifed('ember-metal', ['exports', 'ember-environment', 'ember-utils', 'ember-deb
24593
24469
  key = void 0,
24594
24470
  nodeObject = void 0;
24595
24471
  var node = this.readableChains();
24596
- if (node) {
24472
+ if (node !== undefined) {
24597
24473
  NODE_STACK.push(node);
24598
24474
  // process tree
24599
24475
  while (NODE_STACK.length > 0) {
24600
24476
  node = NODE_STACK.pop();
24601
24477
  // push children
24602
24478
  nodes = node._chains;
24603
- if (nodes) {
24479
+ if (nodes !== undefined) {
24604
24480
  for (key in nodes) {
24605
24481
  if (nodes[key] !== undefined) {
24606
24482
  NODE_STACK.push(nodes[key]);
@@ -24611,7 +24487,7 @@ enifed('ember-metal', ['exports', 'ember-environment', 'ember-utils', 'ember-deb
24611
24487
  // remove chainWatcher in node object
24612
24488
  if (node._watching) {
24613
24489
  nodeObject = node._object;
24614
- if (nodeObject) {
24490
+ if (nodeObject !== undefined) {
24615
24491
  var foreignMeta = exports.peekMeta(nodeObject);
24616
24492
  // avoid cleaning up chain watchers when both current and
24617
24493
  // foreign objects are being destroyed
@@ -24824,11 +24700,12 @@ enifed('ember-metal', ['exports', 'ember-environment', 'ember-utils', 'ember-deb
24824
24700
 
24825
24701
  var ret = this._chains;
24826
24702
  if (ret === undefined) {
24827
- if (this.parent) {
24828
- ret = this._chains = this.parent.writableChains(create).copy(this.source);
24703
+ if (this.parent === undefined) {
24704
+ ret = create(this.source);
24829
24705
  } else {
24830
- ret = this._chains = create(this.source);
24706
+ ret = this.parent.writableChains(create).copy(this.source);
24831
24707
  }
24708
+ this._chains = ret;
24832
24709
  }
24833
24710
  return ret;
24834
24711
  };
@@ -24838,7 +24715,7 @@ enifed('ember-metal', ['exports', 'ember-environment', 'ember-utils', 'ember-deb
24838
24715
  };
24839
24716
 
24840
24717
  Meta.prototype.writeWatching = function writeWatching(subkey, value) {
24841
- true && !!this.isMetaDestroyed() && emberDebug.assert('Cannot update watchers for `hello` on `' + emberUtils.toString(this.source) + '` after it has been destroyed.', !this.isMetaDestroyed());
24718
+ true && !!this.isMetaDestroyed() && emberDebug.assert('Cannot update watchers for `' + subkey + '` on `' + emberUtils.toString(this.source) + '` after it has been destroyed.', !this.isMetaDestroyed());
24842
24719
 
24843
24720
  var map = this._getOrCreateOwnMap('_watching');
24844
24721
  map[subkey] = value;
@@ -25041,7 +24918,7 @@ enifed('ember-metal', ['exports', 'ember-environment', 'ember-utils', 'ember-deb
25041
24918
 
25042
24919
  pointer = getPrototypeOf(pointer);
25043
24920
  {
25044
- counters.peakPrototypeWalks++;
24921
+ counters.peekPrototypeWalks++;
25045
24922
  }
25046
24923
  }
25047
24924
  };
@@ -25191,47 +25068,29 @@ enifed('ember-metal', ['exports', 'ember-environment', 'ember-utils', 'ember-deb
25191
25068
  return DefaultStore;
25192
25069
  }();
25193
25070
 
25194
- var IS_GLOBAL = /^[A-Z$]/;
25195
25071
  var IS_GLOBAL_PATH = /^[A-Z$].*[\.]/;
25196
- var HAS_THIS = 'this.';
25197
25072
 
25198
- var isGlobalCache = new Cache(1000, function (key) {
25199
- return IS_GLOBAL.test(key);
25200
- });
25201
25073
  var isGlobalPathCache = new Cache(1000, function (key) {
25202
25074
  return IS_GLOBAL_PATH.test(key);
25203
25075
  });
25204
- var hasThisCache = new Cache(1000, function (key) {
25205
- return key.lastIndexOf(HAS_THIS, 0) === 0;
25206
- });
25207
25076
  var firstDotIndexCache = new Cache(1000, function (key) {
25208
25077
  return key.indexOf('.');
25209
25078
  });
25210
25079
 
25211
25080
  var firstKeyCache = new Cache(1000, function (path) {
25212
25081
  var index = firstDotIndexCache.get(path);
25213
- if (index === -1) {
25214
- return path;
25215
- } else {
25216
- return path.slice(0, index);
25217
- }
25082
+ return index === -1 ? path : path.slice(0, index);
25218
25083
  });
25219
25084
 
25220
25085
  var tailPathCache = new Cache(1000, function (path) {
25221
25086
  var index = firstDotIndexCache.get(path);
25222
- if (index !== -1) {
25223
- return path.slice(index + 1);
25224
- }
25087
+ return index === -1 ? undefined : path.slice(index + 1);
25225
25088
  });
25226
25089
 
25227
25090
  function isGlobalPath(path) {
25228
25091
  return isGlobalPathCache.get(path);
25229
25092
  }
25230
25093
 
25231
- function hasThis(path) {
25232
- return hasThisCache.get(path);
25233
- }
25234
-
25235
25094
  function isPath(path) {
25236
25095
  return firstDotIndexCache.get(path) !== -1;
25237
25096
  }
@@ -25294,7 +25153,7 @@ enifed('ember-metal', ['exports', 'ember-environment', 'ember-utils', 'ember-deb
25294
25153
  true && !(arguments.length === 2) && emberDebug.assert('Get must be called with two arguments; an object and a property key', arguments.length === 2);
25295
25154
  true && !(obj !== undefined && obj !== null) && emberDebug.assert('Cannot call get with \'' + keyName + '\' on an undefined object.', obj !== undefined && obj !== null);
25296
25155
  true && !(typeof keyName === 'string') && emberDebug.assert('The key provided to get must be a string, you passed ' + keyName, typeof keyName === 'string');
25297
- true && !!hasThis(keyName) && emberDebug.assert('\'this\' in paths is not supported', !hasThis(keyName));
25156
+ true && !(keyName.lastIndexOf('this.', 0) !== 0) && emberDebug.assert('\'this\' in paths is not supported', keyName.lastIndexOf('this.', 0) !== 0);
25298
25157
  true && !(keyName !== '') && emberDebug.assert('Cannot call `Ember.get` with an empty string', keyName !== '');
25299
25158
 
25300
25159
  var value = obj[keyName];
@@ -25304,7 +25163,7 @@ enifed('ember-metal', ['exports', 'ember-environment', 'ember-utils', 'ember-deb
25304
25163
  return value.get(obj, keyName);
25305
25164
  } else if (isPath(keyName)) {
25306
25165
  return _getPath(obj, keyName);
25307
- } else if (value === undefined && 'object' === typeof obj && !(keyName in obj) && 'function' === typeof obj.unknownProperty) {
25166
+ } else if (value === undefined && 'object' === typeof obj && !(keyName in obj) && typeof obj.unknownProperty === 'function') {
25308
25167
  return obj.unknownProperty(keyName);
25309
25168
  } else {
25310
25169
  return value;
@@ -25381,7 +25240,7 @@ enifed('ember-metal', ['exports', 'ember-environment', 'ember-utils', 'ember-deb
25381
25240
  true && !(arguments.length === 3 || arguments.length === 4) && emberDebug.assert('Set must be called with three or four arguments; an object, a property key, a value and tolerant true/false', arguments.length === 3 || arguments.length === 4);
25382
25241
  true && !(obj && typeof obj === 'object' || typeof obj === 'function') && emberDebug.assert('Cannot call set with \'' + keyName + '\' on an undefined object.', obj && typeof obj === 'object' || typeof obj === 'function');
25383
25242
  true && !(typeof keyName === 'string') && emberDebug.assert('The key provided to set must be a string, you passed ' + keyName, typeof keyName === 'string');
25384
- true && !!hasThis(keyName) && emberDebug.assert('\'this\' in paths is not supported', !hasThis(keyName));
25243
+ true && !(keyName.lastIndexOf('this.', 0) !== 0) && emberDebug.assert('\'this\' in paths is not supported', keyName.lastIndexOf('this.', 0) !== 0);
25385
25244
  true && !!obj.isDestroyed && emberDebug.assert('calling set on destroyed object: ' + emberUtils.toString(obj) + '.' + keyName + ' = ' + emberUtils.toString(value), !obj.isDestroyed);
25386
25245
 
25387
25246
  if (isPath(keyName)) {
@@ -25394,10 +25253,8 @@ enifed('ember-metal', ['exports', 'ember-environment', 'ember-utils', 'ember-deb
25394
25253
  if (isDescriptor) {
25395
25254
  /* computed property */
25396
25255
  currentValue.set(obj, keyName, value);
25397
- } else if (obj.setUnknownProperty && currentValue === undefined && !(keyName in obj)) {
25256
+ } else if (currentValue === undefined && 'object' === typeof obj && !(keyName in obj) && typeof obj.setUnknownProperty === 'function') {
25398
25257
  /* unknown property */
25399
- true && !(typeof obj.setUnknownProperty === 'function') && emberDebug.assert('setUnknownProperty must be a function', typeof obj.setUnknownProperty === 'function');
25400
-
25401
25258
  obj.setUnknownProperty(keyName, value);
25402
25259
  } else if (currentValue === value) {/* no change */
25403
25260
  } else {
@@ -25437,31 +25294,20 @@ enifed('ember-metal', ['exports', 'ember-environment', 'ember-utils', 'ember-deb
25437
25294
  }
25438
25295
 
25439
25296
  function setPath(root, path, value, tolerant) {
25440
- // get the last part of the path
25441
- var keyName = path.slice(path.lastIndexOf('.') + 1);
25297
+ var parts = path.split('.');
25298
+ var keyName = parts.pop();
25442
25299
 
25443
- // get the first part of the part
25444
- path = path === keyName ? keyName : path.slice(0, path.length - (keyName.length + 1));
25300
+ true && !(keyName.trim().length > 0) && emberDebug.assert('Property set failed: You passed an empty path', keyName.trim().length > 0);
25445
25301
 
25446
- // unless the path is this, look up the first part to
25447
- // get the root
25448
- if (path !== 'this') {
25449
- root = _getPath(root, path);
25450
- }
25302
+ var newPath = parts.join('.');
25451
25303
 
25452
- if (!keyName || keyName.length === 0) {
25453
- throw new emberDebug.Error('Property set failed: You passed an empty path');
25454
- }
25304
+ var newRoot = _getPath(root, newPath);
25455
25305
 
25456
- if (!root) {
25457
- if (tolerant) {
25458
- return;
25459
- } else {
25460
- throw new emberDebug.Error('Property set failed: object in path "' + path + '" could not be found or was destroyed.');
25461
- }
25306
+ if (newRoot) {
25307
+ return set(newRoot, keyName, value);
25308
+ } else if (!tolerant) {
25309
+ throw new emberDebug.Error('Property set failed: object in path "' + newPath + '" could not be found or was destroyed.');
25462
25310
  }
25463
-
25464
- return set(root, keyName, value);
25465
25311
  }
25466
25312
 
25467
25313
  /**
@@ -25511,7 +25357,7 @@ enifed('ember-metal', ['exports', 'ember-environment', 'ember-utils', 'ember-deb
25511
25357
 
25512
25358
  @method expandProperties
25513
25359
  @for Ember
25514
- @private
25360
+ @public
25515
25361
  @param {String} pattern The property pattern to expand.
25516
25362
  @param {Function} callback The callback to invoke. It is invoked once per
25517
25363
  expansion, and is passed the expansion.
@@ -25554,7 +25400,6 @@ enifed('ember-metal', ['exports', 'ember-environment', 'ember-utils', 'ember-deb
25554
25400
  /**
25555
25401
  @module ember-metal
25556
25402
  */
25557
-
25558
25403
  /**
25559
25404
  Starts watching a property on an object. Whenever the property changes,
25560
25405
  invokes `Ember.propertyWillChange` and `Ember.propertyDidChange`. This is the
@@ -25569,19 +25414,15 @@ enifed('ember-metal', ['exports', 'ember-environment', 'ember-utils', 'ember-deb
25569
25414
  @param {String} _keyPath
25570
25415
  */
25571
25416
  function watch(obj, _keyPath, m) {
25572
- if (!isPath(_keyPath)) {
25573
- watchKey(obj, _keyPath, m);
25574
- } else {
25417
+ if (isPath(_keyPath)) {
25575
25418
  watchPath(obj, _keyPath, m);
25419
+ } else {
25420
+ watchKey(obj, _keyPath, m);
25576
25421
  }
25577
25422
  }
25578
25423
 
25579
25424
  function isWatching(obj, key) {
25580
- if (typeof obj !== 'object' || obj === null) {
25581
- return false;
25582
- }
25583
- var meta$$1 = exports.peekMeta(obj);
25584
- return (meta$$1 && meta$$1.peekWatching(key)) > 0;
25425
+ return watcherCount(obj, key) > 0;
25585
25426
  }
25586
25427
 
25587
25428
  function watcherCount(obj, key) {
@@ -25590,27 +25431,13 @@ enifed('ember-metal', ['exports', 'ember-environment', 'ember-utils', 'ember-deb
25590
25431
  }
25591
25432
 
25592
25433
  function unwatch(obj, _keyPath, m) {
25593
- if (!isPath(_keyPath)) {
25594
- unwatchKey(obj, _keyPath, m);
25595
- } else {
25434
+ if (isPath(_keyPath)) {
25596
25435
  unwatchPath(obj, _keyPath, m);
25436
+ } else {
25437
+ unwatchKey(obj, _keyPath, m);
25597
25438
  }
25598
25439
  }
25599
25440
 
25600
- /**
25601
- Tears down the meta on an object so that it can be garbage collected.
25602
- Multiple calls will have no effect.
25603
-
25604
- @method destroy
25605
- @for Ember
25606
- @param {Object} obj the object to destroy
25607
- @return {void}
25608
- @private
25609
- */
25610
- function destroy(obj) {
25611
- deleteMeta(obj);
25612
- }
25613
-
25614
25441
  /**
25615
25442
  @module ember
25616
25443
  @submodule ember-metal
@@ -25623,15 +25450,13 @@ enifed('ember-metal', ['exports', 'ember-environment', 'ember-utils', 'ember-deb
25623
25450
  function addDependentKeys(desc, obj, keyName, meta) {
25624
25451
  // the descriptor has a list of dependent keys, so
25625
25452
  // add all of its dependent keys.
25626
- var idx = void 0,
25627
- depKey = void 0;
25628
25453
  var depKeys = desc._dependentKeys;
25629
- if (!depKeys) {
25454
+ if (depKeys === null || depKeys === undefined) {
25630
25455
  return;
25631
25456
  }
25632
25457
 
25633
- for (idx = 0; idx < depKeys.length; idx++) {
25634
- depKey = depKeys[idx];
25458
+ for (var idx = 0; idx < depKeys.length; idx++) {
25459
+ var depKey = depKeys[idx];
25635
25460
  // Increment the number of times depKey depends on keyName.
25636
25461
  meta.writeDeps(depKey, keyName, (meta.peekDeps(depKey, keyName) || 0) + 1);
25637
25462
  // Watch the depKey
@@ -25643,7 +25468,7 @@ enifed('ember-metal', ['exports', 'ember-environment', 'ember-utils', 'ember-deb
25643
25468
  // the descriptor has a list of dependent keys, so
25644
25469
  // remove all of its dependent keys.
25645
25470
  var depKeys = desc._dependentKeys;
25646
- if (!depKeys) {
25471
+ if (depKeys === null || depKeys === undefined) {
25647
25472
  return;
25648
25473
  }
25649
25474
 
@@ -26647,12 +26472,6 @@ enifed('ember-metal', ['exports', 'ember-environment', 'ember-utils', 'ember-deb
26647
26472
  };
26648
26473
 
26649
26474
  var onerror = void 0;
26650
- var onErrorTarget = {
26651
- get onerror() {
26652
- return dispatchOverride || onerror;
26653
- }
26654
- };
26655
-
26656
26475
  // Ember.onerror getter
26657
26476
  function getOnerror() {
26658
26477
  return onerror;
@@ -26711,113 +26530,122 @@ enifed('ember-metal', ['exports', 'ember-environment', 'ember-utils', 'ember-deb
26711
26530
  * practice, most use cases satisfy this limitation which is why it is included
26712
26531
  * in ember-metal.
26713
26532
  */
26714
- function WeakMap$1(iterable) {
26715
- if (!(this instanceof WeakMap$1)) {
26716
- throw new TypeError('Constructor WeakMap requires \'new\'');
26717
- }
26533
+ var WeakMapPolyfill = function () {
26534
+ function WeakMapPolyfill(iterable) {
26535
+ emberBabel.classCallCheck(this, WeakMapPolyfill);
26718
26536
 
26719
- this._id = emberUtils.GUID_KEY + id++;
26537
+ this._id = emberUtils.GUID_KEY + id++;
26720
26538
 
26721
- if (iterable === null || iterable === undefined) {
26722
- return;
26723
- } else if (Array.isArray(iterable)) {
26724
- for (var i = 0; i < iterable.length; i++) {
26725
- var _iterable$i = iterable[i],
26726
- key = _iterable$i[0],
26727
- value = _iterable$i[1];
26539
+ if (iterable === null || iterable === undefined) {
26540
+ return;
26541
+ } else if (Array.isArray(iterable)) {
26542
+ for (var i = 0; i < iterable.length; i++) {
26543
+ var _iterable$i = iterable[i],
26544
+ key = _iterable$i[0],
26545
+ value = _iterable$i[1];
26728
26546
 
26729
- this.set(key, value);
26547
+ this.set(key, value);
26548
+ }
26549
+ } else {
26550
+ throw new TypeError('The weak map constructor polyfill only supports an array argument');
26730
26551
  }
26731
- } else {
26732
- throw new TypeError('The weak map constructor polyfill only supports an array argument');
26733
26552
  }
26734
- }
26735
26553
 
26736
- /*
26737
- * @method get
26738
- * @param key {Object | Function}
26739
- * @return {Any} stored value
26740
- */
26741
- WeakMap$1.prototype.get = function (obj) {
26742
- if (!isObject$1(obj)) {
26743
- return undefined;
26744
- }
26554
+ /*
26555
+ * @method get
26556
+ * @param key {Object | Function}
26557
+ * @return {Any} stored value
26558
+ */
26745
26559
 
26746
- var meta$$1 = exports.peekMeta(obj);
26747
- if (meta$$1) {
26748
- var map = meta$$1.readableWeak();
26749
- if (map) {
26750
- if (map[this._id] === UNDEFINED) {
26751
- return undefined;
26560
+ WeakMapPolyfill.prototype.get = function get(obj) {
26561
+ if (!isObject$1(obj)) {
26562
+ return undefined;
26563
+ }
26564
+
26565
+ var meta$$1 = exports.peekMeta(obj);
26566
+ if (meta$$1) {
26567
+ var map = meta$$1.readableWeak();
26568
+ if (map !== undefined) {
26569
+ var val = map[this._id];
26570
+ if (val === UNDEFINED) {
26571
+ return undefined;
26572
+ }
26573
+ return val;
26752
26574
  }
26575
+ }
26576
+ };
26577
+
26578
+ /*
26579
+ * @method set
26580
+ * @param key {Object | Function}
26581
+ * @param value {Any}
26582
+ * @return {WeakMap} the weak map
26583
+ */
26753
26584
 
26754
- return map[this._id];
26585
+ WeakMapPolyfill.prototype.set = function set(obj, value) {
26586
+ if (!isObject$1(obj)) {
26587
+ throw new TypeError('Invalid value used as weak map key');
26755
26588
  }
26756
- }
26757
- };
26758
26589
 
26759
- /*
26760
- * @method set
26761
- * @param key {Object | Function}
26762
- * @param value {Any}
26763
- * @return {WeakMap} the weak map
26764
- */
26765
- WeakMap$1.prototype.set = function (obj, value) {
26766
- if (!isObject$1(obj)) {
26767
- throw new TypeError('Invalid value used as weak map key');
26768
- }
26590
+ if (value === undefined) {
26591
+ value = UNDEFINED;
26592
+ }
26769
26593
 
26770
- if (value === undefined) {
26771
- value = UNDEFINED;
26772
- }
26594
+ meta(obj).writableWeak()[this._id] = value;
26773
26595
 
26774
- meta(obj).writableWeak()[this._id] = value;
26596
+ return this;
26597
+ };
26775
26598
 
26776
- return this;
26777
- };
26599
+ /*
26600
+ * @method has
26601
+ * @param key {Object | Function}
26602
+ * @return {boolean} if the key exists
26603
+ */
26604
+
26605
+ WeakMapPolyfill.prototype.has = function has(obj) {
26606
+ if (!isObject$1(obj)) {
26607
+ return false;
26608
+ }
26609
+
26610
+ var meta$$1 = exports.peekMeta(obj);
26611
+ if (meta$$1) {
26612
+ var map = meta$$1.readableWeak();
26613
+ if (map !== undefined) {
26614
+ return map[this._id] !== undefined;
26615
+ }
26616
+ }
26778
26617
 
26779
- /*
26780
- * @method has
26781
- * @param key {Object | Function}
26782
- * @return {boolean} if the key exists
26783
- */
26784
- WeakMap$1.prototype.has = function (obj) {
26785
- if (!isObject$1(obj)) {
26786
26618
  return false;
26787
- }
26619
+ };
26788
26620
 
26789
- var meta$$1 = exports.peekMeta(obj);
26790
- if (meta$$1) {
26791
- var map = meta$$1.readableWeak();
26792
- if (map) {
26793
- return map[this._id] !== undefined;
26621
+ /*
26622
+ * @method delete
26623
+ * @param key {Object | Function}
26624
+ * @return {boolean} if the key was deleted
26625
+ */
26626
+
26627
+ WeakMapPolyfill.prototype.delete = function _delete(obj) {
26628
+ if (this.has(obj)) {
26629
+ delete exports.peekMeta(obj).writableWeak()[this._id];
26630
+ return true;
26631
+ } else {
26632
+ return false;
26794
26633
  }
26795
- }
26634
+ };
26796
26635
 
26797
- return false;
26798
- };
26636
+ /*
26637
+ * @method toString
26638
+ * @return {String}
26639
+ */
26799
26640
 
26800
- /*
26801
- * @method delete
26802
- * @param key {Object | Function}
26803
- * @return {boolean} if the key was deleted
26804
- */
26805
- WeakMap$1.prototype.delete = function (obj) {
26806
- if (this.has(obj)) {
26807
- delete meta(obj).writableWeak()[this._id];
26808
- return true;
26809
- } else {
26810
- return false;
26811
- }
26812
- };
26641
+ WeakMapPolyfill.prototype.toString = function toString$$1() {
26642
+ return '[object WeakMap]';
26643
+ };
26813
26644
 
26814
- /*
26815
- * @method toString
26816
- * @return {String}
26817
- */
26818
- WeakMap$1.prototype.toString = function () {
26819
- return '[object WeakMap]';
26820
- };
26645
+ return WeakMapPolyfill;
26646
+ }();
26647
+
26648
+ var weak_map = emberUtils.HAS_NATIVE_WEAKMAP ? WeakMap : WeakMapPolyfill;
26821
26649
 
26822
26650
  /**
26823
26651
  Returns true if the passed value is null or undefined. This avoids errors
@@ -26965,14 +26793,23 @@ enifed('ember-metal', ['exports', 'ember-environment', 'ember-utils', 'ember-deb
26965
26793
  }
26966
26794
 
26967
26795
  function onBegin(current) {
26968
- run$1.currentRunLoop = current;
26796
+ run.currentRunLoop = current;
26969
26797
  }
26970
26798
 
26971
26799
  function onEnd(current, next) {
26972
- run$1.currentRunLoop = next;
26800
+ run.currentRunLoop = next;
26973
26801
  }
26974
26802
 
26975
- var backburner = new Backburner(['sync', 'actions', 'destroy'], {
26803
+ var onErrorTarget = {
26804
+ get onerror() {
26805
+ return dispatchError;
26806
+ },
26807
+ set onerror(handler) {
26808
+ return setOnerror(handler);
26809
+ }
26810
+ };
26811
+
26812
+ var backburner$1 = new Backburner(['sync', 'actions', 'destroy'], {
26976
26813
  GUID_KEY: emberUtils.GUID_KEY,
26977
26814
  sync: {
26978
26815
  before: beginPropertyChanges,
@@ -27017,8 +26854,8 @@ enifed('ember-metal', ['exports', 'ember-environment', 'ember-utils', 'ember-deb
27017
26854
  @return {Object} return value from invoking the passed function.
27018
26855
  @public
27019
26856
  */
27020
- function run$1() {
27021
- return backburner.run.apply(backburner, arguments);
26857
+ function run() {
26858
+ return backburner$1.run.apply(backburner$1, arguments);
27022
26859
  }
27023
26860
 
27024
26861
  /**
@@ -27059,8 +26896,8 @@ enifed('ember-metal', ['exports', 'ember-environment', 'ember-utils', 'ember-deb
27059
26896
  when called within an existing loop, no return value is possible.
27060
26897
  @public
27061
26898
  */
27062
- run$1.join = function () {
27063
- return backburner.join.apply(backburner, arguments);
26899
+ run.join = function () {
26900
+ return backburner$1.join.apply(backburner$1, arguments);
27064
26901
  };
27065
26902
 
27066
26903
  /**
@@ -27113,7 +26950,7 @@ enifed('ember-metal', ['exports', 'ember-environment', 'ember-utils', 'ember-deb
27113
26950
  @since 1.4.0
27114
26951
  @public
27115
26952
  */
27116
- run$1.bind = function () {
26953
+ run.bind = function () {
27117
26954
  for (var _len = arguments.length, curried = Array(_len), _key = 0; _key < _len; _key++) {
27118
26955
  curried[_key] = arguments[_key];
27119
26956
  }
@@ -27123,13 +26960,13 @@ enifed('ember-metal', ['exports', 'ember-environment', 'ember-utils', 'ember-deb
27123
26960
  args[_key2] = arguments[_key2];
27124
26961
  }
27125
26962
 
27126
- return run$1.join.apply(run$1, curried.concat(args));
26963
+ return run.join.apply(run, curried.concat(args));
27127
26964
  };
27128
26965
  };
27129
26966
 
27130
- run$1.backburner = backburner;
27131
- run$1.currentRunLoop = null;
27132
- run$1.queues = backburner.queueNames;
26967
+ run.backburner = backburner$1;
26968
+ run.currentRunLoop = null;
26969
+ run.queues = backburner$1.queueNames;
27133
26970
 
27134
26971
  /**
27135
26972
  Begins a new RunLoop. Any deferred actions invoked after the begin will
@@ -27146,8 +26983,8 @@ enifed('ember-metal', ['exports', 'ember-environment', 'ember-utils', 'ember-deb
27146
26983
  @return {void}
27147
26984
  @public
27148
26985
  */
27149
- run$1.begin = function () {
27150
- backburner.begin();
26986
+ run.begin = function () {
26987
+ backburner$1.begin();
27151
26988
  };
27152
26989
 
27153
26990
  /**
@@ -27165,8 +27002,8 @@ enifed('ember-metal', ['exports', 'ember-environment', 'ember-utils', 'ember-deb
27165
27002
  @return {void}
27166
27003
  @public
27167
27004
  */
27168
- run$1.end = function () {
27169
- backburner.end();
27005
+ run.end = function () {
27006
+ backburner$1.end();
27170
27007
  };
27171
27008
 
27172
27009
  /**
@@ -27219,20 +27056,20 @@ enifed('ember-metal', ['exports', 'ember-environment', 'ember-utils', 'ember-deb
27219
27056
  @return {*} Timer information for use in canceling, see `run.cancel`.
27220
27057
  @public
27221
27058
  */
27222
- run$1.schedule = function () /* queue, target, method */{
27223
- true && !(run$1.currentRunLoop || !emberDebug.isTesting()) && emberDebug.assert('You have turned on testing mode, which disabled the run-loop\'s autorun. ' + 'You will need to wrap any code with asynchronous side-effects in a run', run$1.currentRunLoop || !emberDebug.isTesting());
27059
+ run.schedule = function () /* queue, target, method */{
27060
+ true && !(run.currentRunLoop || !emberDebug.isTesting()) && emberDebug.assert('You have turned on testing mode, which disabled the run-loop\'s autorun. ' + 'You will need to wrap any code with asynchronous side-effects in a run', run.currentRunLoop || !emberDebug.isTesting());
27224
27061
 
27225
- return backburner.schedule.apply(backburner, arguments);
27062
+ return backburner$1.schedule.apply(backburner$1, arguments);
27226
27063
  };
27227
27064
 
27228
27065
  // Used by global test teardown
27229
- run$1.hasScheduledTimers = function () {
27230
- return backburner.hasTimers();
27066
+ run.hasScheduledTimers = function () {
27067
+ return backburner$1.hasTimers();
27231
27068
  };
27232
27069
 
27233
27070
  // Used by global test teardown
27234
- run$1.cancelTimers = function () {
27235
- backburner.cancelTimers();
27071
+ run.cancelTimers = function () {
27072
+ backburner$1.cancelTimers();
27236
27073
  };
27237
27074
 
27238
27075
  /**
@@ -27252,9 +27089,9 @@ enifed('ember-metal', ['exports', 'ember-environment', 'ember-utils', 'ember-deb
27252
27089
  @return {void}
27253
27090
  @private
27254
27091
  */
27255
- run$1.sync = function () {
27256
- if (backburner.currentInstance) {
27257
- backburner.currentInstance.queues.sync.flush();
27092
+ run.sync = function () {
27093
+ if (backburner$1.currentInstance) {
27094
+ backburner$1.currentInstance.queues.sync.flush();
27258
27095
  }
27259
27096
  };
27260
27097
 
@@ -27284,8 +27121,8 @@ enifed('ember-metal', ['exports', 'ember-environment', 'ember-utils', 'ember-deb
27284
27121
  @return {*} Timer information for use in canceling, see `run.cancel`.
27285
27122
  @public
27286
27123
  */
27287
- run$1.later = function () /*target, method*/{
27288
- return backburner.later.apply(backburner, arguments);
27124
+ run.later = function () /*target, method*/{
27125
+ return backburner$1.later.apply(backburner$1, arguments);
27289
27126
  };
27290
27127
 
27291
27128
  /**
@@ -27301,15 +27138,15 @@ enifed('ember-metal', ['exports', 'ember-environment', 'ember-utils', 'ember-deb
27301
27138
  @return {Object} Timer information for use in canceling, see `run.cancel`.
27302
27139
  @public
27303
27140
  */
27304
- run$1.once = function () {
27305
- true && !(run$1.currentRunLoop || !emberDebug.isTesting()) && emberDebug.assert('You have turned on testing mode, which disabled the run-loop\'s autorun. ' + 'You will need to wrap any code with asynchronous side-effects in a run', run$1.currentRunLoop || !emberDebug.isTesting());
27141
+ run.once = function () {
27142
+ true && !(run.currentRunLoop || !emberDebug.isTesting()) && emberDebug.assert('You have turned on testing mode, which disabled the run-loop\'s autorun. ' + 'You will need to wrap any code with asynchronous side-effects in a run', run.currentRunLoop || !emberDebug.isTesting());
27306
27143
 
27307
27144
  for (var _len3 = arguments.length, args = Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {
27308
27145
  args[_key3] = arguments[_key3];
27309
27146
  }
27310
27147
 
27311
27148
  args.unshift('actions');
27312
- return backburner.scheduleOnce.apply(backburner, args);
27149
+ return backburner$1.scheduleOnce.apply(backburner$1, args);
27313
27150
  };
27314
27151
 
27315
27152
  /**
@@ -27364,10 +27201,10 @@ enifed('ember-metal', ['exports', 'ember-environment', 'ember-utils', 'ember-deb
27364
27201
  @return {Object} Timer information for use in canceling, see `run.cancel`.
27365
27202
  @public
27366
27203
  */
27367
- run$1.scheduleOnce = function () /*queue, target, method*/{
27368
- true && !(run$1.currentRunLoop || !emberDebug.isTesting()) && emberDebug.assert('You have turned on testing mode, which disabled the run-loop\'s autorun. ' + 'You will need to wrap any code with asynchronous side-effects in a run', run$1.currentRunLoop || !emberDebug.isTesting());
27204
+ run.scheduleOnce = function () /*queue, target, method*/{
27205
+ true && !(run.currentRunLoop || !emberDebug.isTesting()) && emberDebug.assert('You have turned on testing mode, which disabled the run-loop\'s autorun. ' + 'You will need to wrap any code with asynchronous side-effects in a run', run.currentRunLoop || !emberDebug.isTesting());
27369
27206
 
27370
- return backburner.scheduleOnce.apply(backburner, arguments);
27207
+ return backburner$1.scheduleOnce.apply(backburner$1, arguments);
27371
27208
  };
27372
27209
 
27373
27210
  /**
@@ -27433,13 +27270,13 @@ enifed('ember-metal', ['exports', 'ember-environment', 'ember-utils', 'ember-deb
27433
27270
  @return {Object} Timer information for use in canceling, see `run.cancel`.
27434
27271
  @public
27435
27272
  */
27436
- run$1.next = function () {
27273
+ run.next = function () {
27437
27274
  for (var _len4 = arguments.length, args = Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {
27438
27275
  args[_key4] = arguments[_key4];
27439
27276
  }
27440
27277
 
27441
27278
  args.push(1);
27442
- return backburner.later.apply(backburner, args);
27279
+ return backburner$1.later.apply(backburner$1, args);
27443
27280
  };
27444
27281
 
27445
27282
  /**
@@ -27497,8 +27334,8 @@ enifed('ember-metal', ['exports', 'ember-environment', 'ember-utils', 'ember-deb
27497
27334
  @return {Boolean} true if canceled or false/undefined if it wasn't found
27498
27335
  @public
27499
27336
  */
27500
- run$1.cancel = function (timer) {
27501
- return backburner.cancel(timer);
27337
+ run.cancel = function (timer) {
27338
+ return backburner$1.cancel(timer);
27502
27339
  };
27503
27340
 
27504
27341
  /**
@@ -27570,8 +27407,8 @@ enifed('ember-metal', ['exports', 'ember-environment', 'ember-utils', 'ember-deb
27570
27407
  @return {Array} Timer information for use in canceling, see `run.cancel`.
27571
27408
  @public
27572
27409
  */
27573
- run$1.debounce = function () {
27574
- return backburner.debounce.apply(backburner, arguments);
27410
+ run.debounce = function () {
27411
+ return backburner$1.debounce.apply(backburner$1, arguments);
27575
27412
  };
27576
27413
 
27577
27414
  /**
@@ -27613,8 +27450,8 @@ enifed('ember-metal', ['exports', 'ember-environment', 'ember-utils', 'ember-deb
27613
27450
  @return {Array} Timer information for use in canceling, see `run.cancel`.
27614
27451
  @public
27615
27452
  */
27616
- run$1.throttle = function () {
27617
- return backburner.throttle.apply(backburner, arguments);
27453
+ run.throttle = function () {
27454
+ return backburner$1.throttle.apply(backburner$1, arguments);
27618
27455
  };
27619
27456
 
27620
27457
  /**
@@ -27627,9 +27464,9 @@ enifed('ember-metal', ['exports', 'ember-environment', 'ember-utils', 'ember-deb
27627
27464
  @param {String} after the name of the queue to add after.
27628
27465
  @private
27629
27466
  */
27630
- run$1._addQueue = function (name, after) {
27631
- if (run$1.queues.indexOf(name) === -1) {
27632
- run$1.queues.splice(run$1.queues.indexOf(after) + 1, 0, name);
27467
+ run._addQueue = function (name, after) {
27468
+ if (run.queues.indexOf(name) === -1) {
27469
+ run.queues.splice(run.queues.indexOf(after) + 1, 0, name);
27633
27470
  }
27634
27471
  };
27635
27472
 
@@ -28579,7 +28416,7 @@ enifed('ember-metal', ['exports', 'ember-environment', 'ember-utils', 'ember-deb
28579
28416
 
28580
28417
  // If we haven't scheduled the binding yet, schedule it.
28581
28418
  if (existingDir === undefined) {
28582
- run$1.schedule('sync', this, '_sync');
28419
+ run.schedule('sync', this, '_sync');
28583
28420
  this._direction = dir;
28584
28421
  }
28585
28422
 
@@ -29873,8 +29710,8 @@ enifed('ember-metal', ['exports', 'ember-environment', 'ember-utils', 'ember-deb
29873
29710
  exports.getWithDefault = getWithDefault;
29874
29711
  exports.set = set;
29875
29712
  exports.trySet = trySet;
29876
- exports.WeakMap = WeakMap$1;
29877
- exports.accumulateListeners = accumulateListeners;
29713
+ exports.WeakMap = weak_map;
29714
+ exports.WeakMapPolyfill = WeakMapPolyfill;
29878
29715
  exports.addListener = addListener;
29879
29716
  exports.hasListeners = hasListeners;
29880
29717
  exports.listenersFor = listenersFor;
@@ -29888,7 +29725,7 @@ enifed('ember-metal', ['exports', 'ember-environment', 'ember-utils', 'ember-deb
29888
29725
  exports.isEmpty = isEmpty;
29889
29726
  exports.isBlank = isBlank;
29890
29727
  exports.isPresent = isPresent;
29891
- exports.run = run$1;
29728
+ exports.run = run;
29892
29729
  exports.ObserverSet = ObserverSet;
29893
29730
  exports.beginPropertyChanges = beginPropertyChanges;
29894
29731
  exports.changeProperties = changeProperties;
@@ -29907,7 +29744,7 @@ enifed('ember-metal', ['exports', 'ember-environment', 'ember-utils', 'ember-deb
29907
29744
  exports.removeChainWatcher = removeChainWatcher;
29908
29745
  exports.watchPath = watchPath;
29909
29746
  exports.unwatchPath = unwatchPath;
29910
- exports.destroy = destroy;
29747
+ exports.destroy = deleteMeta;
29911
29748
  exports.isWatching = isWatching;
29912
29749
  exports.unwatch = unwatch;
29913
29750
  exports.watch = watch;
@@ -31093,24 +30930,9 @@ enifed('ember-routing/location/util', ['exports'], function (exports) {
31093
30930
  location.replace(getOrigin(location) + path);
31094
30931
  }
31095
30932
  });
31096
- enifed('ember-routing/services/router', ['exports', 'ember-runtime', 'ember-utils', 'ember-routing/system/dsl'], function (exports, _emberRuntime, _emberUtils, _dsl) {
30933
+ enifed('ember-routing/services/router', ['exports', 'ember-runtime', 'ember-routing/utils'], function (exports, _emberRuntime, _utils) {
31097
30934
  'use strict';
31098
30935
 
31099
- function shallowEqual(a, b) {
31100
- var k = void 0;
31101
- for (k in a) {
31102
- if (a.hasOwnProperty(k) && a[k] !== b[k]) {
31103
- return false;
31104
- }
31105
- }
31106
- for (k in b) {
31107
- if (b.hasOwnProperty(k) && a[k] !== b[k]) {
31108
- return false;
31109
- }
31110
- }
31111
- return true;
31112
- }
31113
-
31114
30936
  /**
31115
30937
  The Router service is the public API that provides component/view layer
31116
30938
  access to the router.
@@ -31180,7 +31002,7 @@ enifed('ember-routing/services/router', ['exports', 'ember-runtime', 'ember-util
31180
31002
 
31181
31003
  if (hasQueryParams) {
31182
31004
  this._router._prepareQueryParams(routeName, models, queryParams, true /* fromRouterService */);
31183
- return shallowEqual(queryParams, state.queryParams);
31005
+ return (0, _utils.shallowEqual)(queryParams, state.queryParams);
31184
31006
  }
31185
31007
 
31186
31008
  return true;
@@ -33875,8 +33697,6 @@ enifed('ember-routing/system/router', ['exports', 'ember-utils', 'ember-console'
33875
33697
  if (originRoute !== route) {
33876
33698
  var errorRouteName = findRouteStateName(route, 'error');
33877
33699
  if (errorRouteName) {
33878
- var _errorId = (0, _emberUtils.guidFor)(error);
33879
- router._markErrorAsHandled(_errorId);
33880
33700
  router.intermediateTransitionTo(errorRouteName, error);
33881
33701
  return false;
33882
33702
  }
@@ -33885,8 +33705,6 @@ enifed('ember-routing/system/router', ['exports', 'ember-utils', 'ember-console'
33885
33705
  // Check for an 'error' substate route
33886
33706
  var errorSubstateName = findRouteSubstateName(route, 'error');
33887
33707
  if (errorSubstateName) {
33888
- var errorId = (0, _emberUtils.guidFor)(error);
33889
- router._markErrorAsHandled(errorId);
33890
33708
  router.intermediateTransitionTo(errorSubstateName, error);
33891
33709
  return false;
33892
33710
  }
@@ -34310,7 +34128,7 @@ enifed('ember-routing/system/router', ['exports', 'ember-utils', 'ember-console'
34310
34128
 
34311
34129
  exports.default = EmberRouter;
34312
34130
  });
34313
- enifed('ember-routing/system/router_state', ['exports', 'ember-utils', 'ember-metal', 'ember-runtime'], function (exports, _emberUtils, _emberMetal, _emberRuntime) {
34131
+ enifed('ember-routing/system/router_state', ['exports', 'ember-utils', 'ember-routing/utils', 'ember-runtime'], function (exports, _emberUtils, _utils, _emberRuntime) {
34314
34132
  'use strict';
34315
34133
 
34316
34134
  exports.default = _emberRuntime.Object.extend({
@@ -34324,35 +34142,16 @@ enifed('ember-routing/system/router_state', ['exports', 'ember-utils', 'ember-me
34324
34142
  return false;
34325
34143
  }
34326
34144
 
34327
- var emptyQueryParams = (0, _emberMetal.isEmpty)(Object.keys(queryParams));
34328
-
34329
- if (queryParamsMustMatch && !emptyQueryParams) {
34330
- var visibleQueryParams = {};
34331
- (0, _emberUtils.assign)(visibleQueryParams, queryParams);
34145
+ if (queryParamsMustMatch && Object.keys(queryParams).length > 0) {
34146
+ var visibleQueryParams = (0, _emberUtils.assign)({}, queryParams);
34332
34147
 
34333
34148
  this.emberRouter._prepareQueryParams(routeName, models, visibleQueryParams);
34334
- return shallowEqual(visibleQueryParams, state.queryParams);
34149
+ return (0, _utils.shallowEqual)(visibleQueryParams, state.queryParams);
34335
34150
  }
34336
34151
 
34337
34152
  return true;
34338
34153
  }
34339
34154
  });
34340
-
34341
-
34342
- function shallowEqual(a, b) {
34343
- var k = void 0;
34344
- for (k in a) {
34345
- if (a.hasOwnProperty(k) && a[k] !== b[k]) {
34346
- return false;
34347
- }
34348
- }
34349
- for (k in b) {
34350
- if (b.hasOwnProperty(k) && a[k] !== b[k]) {
34351
- return false;
34352
- }
34353
- }
34354
- return true;
34355
- }
34356
34155
  });
34357
34156
  enifed('ember-routing/utils', ['exports', 'ember-utils', 'ember-metal', 'ember-debug'], function (exports, _emberUtils, _emberMetal, _emberDebug) {
34358
34157
  'use strict';
@@ -34363,6 +34162,7 @@ enifed('ember-routing/utils', ['exports', 'ember-utils', 'ember-metal', 'ember-d
34363
34162
  exports.calculateCacheKey = calculateCacheKey;
34364
34163
  exports.normalizeControllerQueryParams = normalizeControllerQueryParams;
34365
34164
  exports.prefixRouteNameArg = prefixRouteNameArg;
34165
+ exports.shallowEqual = shallowEqual;
34366
34166
 
34367
34167
 
34368
34168
  var ALL_PERIODS_REGEX = /\./g;
@@ -34560,6 +34360,28 @@ enifed('ember-routing/utils', ['exports', 'ember-utils', 'ember-metal', 'ember-d
34560
34360
 
34561
34361
  return args;
34562
34362
  }
34363
+
34364
+ function shallowEqual(a, b) {
34365
+ var k = void 0;
34366
+ var aCount = 0;
34367
+ var bCount = 0;
34368
+ for (k in a) {
34369
+ if (a.hasOwnProperty(k)) {
34370
+ if (a[k] !== b[k]) {
34371
+ return false;
34372
+ }
34373
+ aCount++;
34374
+ }
34375
+ }
34376
+
34377
+ for (k in b) {
34378
+ if (b.hasOwnProperty(k)) {
34379
+ bCount++;
34380
+ }
34381
+ }
34382
+
34383
+ return aCount === bCount;
34384
+ }
34563
34385
  });
34564
34386
  enifed('ember-runtime/compare', ['exports', 'ember-runtime/utils', 'ember-runtime/mixins/comparable'], function (exports, _utils, _comparable) {
34565
34387
  'use strict';
@@ -34757,22 +34579,22 @@ enifed('ember-runtime/computed/computed_macros', ['exports', 'ember-metal', 'emb
34757
34579
  properties[_key] = arguments[_key];
34758
34580
  }
34759
34581
 
34760
- var expandedProperties = expandPropertiesToArray(name, properties);
34582
+ var dependentKeys = expandPropertiesToArray(name, properties);
34761
34583
 
34762
- var computedFunc = (0, _emberMetal.computed)(function () {
34763
- var lastIdx = expandedProperties.length - 1;
34584
+ var computedFunc = new _emberMetal.ComputedProperty(function () {
34585
+ var lastIdx = dependentKeys.length - 1;
34764
34586
 
34765
34587
  for (var i = 0; i < lastIdx; i++) {
34766
- var value = (0, _emberMetal.get)(this, expandedProperties[i]);
34588
+ var value = (0, _emberMetal.get)(this, dependentKeys[i]);
34767
34589
  if (!predicate(value)) {
34768
34590
  return value;
34769
34591
  }
34770
34592
  }
34771
34593
 
34772
- return (0, _emberMetal.get)(this, expandedProperties[lastIdx]);
34773
- });
34594
+ return (0, _emberMetal.get)(this, dependentKeys[lastIdx]);
34595
+ }, { dependentKeys: dependentKeys });
34774
34596
 
34775
- return computedFunc.property.apply(computedFunc, expandedProperties);
34597
+ return computedFunc;
34776
34598
  };
34777
34599
  }
34778
34600
 
@@ -34971,8 +34793,7 @@ enifed('ember-runtime/computed/computed_macros', ['exports', 'ember-metal', 'emb
34971
34793
  function match(dependentKey, regexp) {
34972
34794
  return (0, _emberMetal.computed)(dependentKey, function () {
34973
34795
  var value = (0, _emberMetal.get)(this, dependentKey);
34974
-
34975
- return typeof value === 'string' ? regexp.test(value) : false;
34796
+ return regexp.test(value);
34976
34797
  });
34977
34798
  }
34978
34799
 
@@ -35410,19 +35231,15 @@ enifed('ember-runtime/computed/reduce_computed_macros', ['exports', 'ember-utils
35410
35231
  */
35411
35232
 
35412
35233
  function reduceMacro(dependentKey, callback, initialValue) {
35413
- return (0, _emberMetal.computed)(dependentKey + '.[]', function () {
35414
- var _this = this;
35415
-
35234
+ var cp = new _emberMetal.ComputedProperty(function () {
35416
35235
  var arr = (0, _emberMetal.get)(this, dependentKey);
35417
-
35418
35236
  if (arr === null || typeof arr !== 'object') {
35419
35237
  return initialValue;
35420
35238
  }
35239
+ return arr.reduce(callback, initialValue, this);
35240
+ }, { dependentKeys: [dependentKey + '.[]'] });
35421
35241
 
35422
- return arr.reduce(function (previousValue, currentValue, index, array) {
35423
- return callback.call(_this, previousValue, currentValue, index, array);
35424
- }, initialValue);
35425
- }).readOnly();
35242
+ return cp.readOnly();
35426
35243
  }
35427
35244
 
35428
35245
  function arrayMacro(dependentKey, callback) {
@@ -35435,26 +35252,28 @@ enifed('ember-runtime/computed/reduce_computed_macros', ['exports', 'ember-utils
35435
35252
  dependentKey += '.[]';
35436
35253
  }
35437
35254
 
35438
- return (0, _emberMetal.computed)(dependentKey, function () {
35255
+ var cp = new _emberMetal.ComputedProperty(function () {
35439
35256
  var value = (0, _emberMetal.get)(this, propertyName);
35440
35257
  if ((0, _utils.isArray)(value)) {
35441
35258
  return (0, _native_array.A)(callback.call(this, value));
35442
35259
  } else {
35443
35260
  return (0, _native_array.A)();
35444
35261
  }
35445
- }).readOnly();
35262
+ }, { dependentKeys: [dependentKey] });
35263
+
35264
+ return cp.readOnly();
35446
35265
  }
35447
35266
 
35448
- function multiArrayMacro(dependentKeys, callback) {
35449
- var args = dependentKeys.map(function (key) {
35267
+ function multiArrayMacro(_dependentKeys, callback) {
35268
+ var dependentKeys = _dependentKeys.map(function (key) {
35450
35269
  return key + '.[]';
35451
35270
  });
35452
35271
 
35453
- args.push(function () {
35454
- return (0, _native_array.A)(callback.call(this, dependentKeys));
35455
- });
35272
+ var cp = new _emberMetal.ComputedProperty(function () {
35273
+ return (0, _native_array.A)(callback.call(this, _dependentKeys));
35274
+ }, { dependentKeys: dependentKeys });
35456
35275
 
35457
- return _emberMetal.computed.apply(this, args).readOnly();
35276
+ return cp.readOnly();
35458
35277
  }
35459
35278
 
35460
35279
  /**
@@ -35791,12 +35610,12 @@ enifed('ember-runtime/computed/reduce_computed_macros', ['exports', 'ember-utils
35791
35610
  }
35792
35611
 
35793
35612
  return multiArrayMacro(args, function (dependentKeys) {
35794
- var _this2 = this;
35613
+ var _this = this;
35795
35614
 
35796
35615
  var uniq = (0, _native_array.A)();
35797
35616
 
35798
35617
  dependentKeys.forEach(function (dependentKey) {
35799
- var value = (0, _emberMetal.get)(_this2, dependentKey);
35618
+ var value = (0, _emberMetal.get)(_this, dependentKey);
35800
35619
  if ((0, _utils.isArray)(value)) {
35801
35620
  value.forEach(function (item) {
35802
35621
  if (uniq.indexOf(item) === -1) {
@@ -35925,11 +35744,10 @@ enifed('ember-runtime/computed/reduce_computed_macros', ['exports', 'ember-utils
35925
35744
  }
35926
35745
 
35927
35746
  return multiArrayMacro(args, function (dependentKeys) {
35928
- var _this3 = this;
35747
+ var _this2 = this;
35929
35748
 
35930
35749
  var arrays = dependentKeys.map(function (dependentKey) {
35931
- var array = (0, _emberMetal.get)(_this3, dependentKey);
35932
-
35750
+ var array = (0, _emberMetal.get)(_this2, dependentKey);
35933
35751
  return (0, _utils.isArray)(array) ? array : [];
35934
35752
  });
35935
35753
 
@@ -36134,10 +35952,10 @@ enifed('ember-runtime/computed/reduce_computed_macros', ['exports', 'ember-utils
36134
35952
 
36135
35953
  function customSort(itemsKey, comparator) {
36136
35954
  return arrayMacro(itemsKey, function (value) {
36137
- var _this4 = this;
35955
+ var _this3 = this;
36138
35956
 
36139
35957
  return value.slice().sort(function (x, y) {
36140
- return comparator.call(_this4, x, y);
35958
+ return comparator.call(_this3, x, y);
36141
35959
  });
36142
35960
  });
36143
35961
  }
@@ -36146,9 +35964,8 @@ enifed('ember-runtime/computed/reduce_computed_macros', ['exports', 'ember-utils
36146
35964
  // depending on the sortProperties
36147
35965
  function propertySort(itemsKey, sortPropertiesKey) {
36148
35966
  var cp = new _emberMetal.ComputedProperty(function (key) {
36149
- var _this5 = this;
35967
+ var _this4 = this;
36150
35968
 
36151
- var itemsKeyIsAtThis = itemsKey === '@this';
36152
35969
  var sortProperties = (0, _emberMetal.get)(this, sortPropertiesKey);
36153
35970
 
36154
35971
  (true && !((0, _utils.isArray)(sortProperties) && sortProperties.every(function (s) {
@@ -36158,46 +35975,43 @@ enifed('ember-runtime/computed/reduce_computed_macros', ['exports', 'ember-utils
36158
35975
  })));
36159
35976
 
36160
35977
 
36161
- var normalizedSortProperties = normalizeSortProperties(sortProperties);
36162
-
36163
35978
  // Add/remove property observers as required.
36164
35979
  var activeObserversMap = cp._activeObserverMap || (cp._activeObserverMap = new _emberMetal.WeakMap());
36165
35980
  var activeObservers = activeObserversMap.get(this);
36166
35981
 
36167
- if (activeObservers) {
35982
+ if (activeObservers !== undefined) {
36168
35983
  activeObservers.forEach(function (args) {
36169
35984
  return _emberMetal.removeObserver.apply(undefined, args);
36170
35985
  });
36171
35986
  }
36172
35987
 
35988
+ var itemsKeyIsAtThis = itemsKey === '@this';
35989
+ var items = itemsKeyIsAtThis ? this : (0, _emberMetal.get)(this, itemsKey);
35990
+ if (!(0, _utils.isArray)(items)) {
35991
+ return (0, _native_array.A)();
35992
+ }
35993
+
36173
35994
  function sortPropertyDidChange() {
36174
35995
  this.notifyPropertyChange(key);
36175
35996
  }
36176
35997
 
35998
+ var normalizedSortProperties = normalizeSortProperties(sortProperties);
36177
35999
  activeObservers = normalizedSortProperties.map(function (_ref) {
36178
36000
  var prop = _ref[0];
36179
36001
 
36180
36002
  var path = itemsKeyIsAtThis ? '@each.' + prop : itemsKey + '.@each.' + prop;
36181
- var args = [_this5, path, sortPropertyDidChange];
36182
- _emberMetal.addObserver.apply(undefined, args);
36183
- return args;
36003
+ (0, _emberMetal.addObserver)(_this4, path, sortPropertyDidChange);
36004
+ return [_this4, path, sortPropertyDidChange];
36184
36005
  });
36185
36006
 
36186
36007
  activeObserversMap.set(this, activeObservers);
36187
36008
 
36188
- // Sort and return the array.
36189
- var items = itemsKeyIsAtThis ? this : (0, _emberMetal.get)(this, itemsKey);
36190
-
36191
- if ((0, _utils.isArray)(items)) {
36192
- return sortByNormalizedSortProperties(items, normalizedSortProperties);
36193
- } else {
36194
- return (0, _native_array.A)();
36195
- }
36196
- });
36009
+ return sortByNormalizedSortProperties(items, normalizedSortProperties);
36010
+ }, { dependentKeys: [sortPropertiesKey + '.[]'] });
36197
36011
 
36198
36012
  cp._activeObserverMap = undefined;
36199
36013
 
36200
- return cp.property(sortPropertiesKey + '.[]').readOnly();
36014
+ return cp.readOnly();
36201
36015
  }
36202
36016
 
36203
36017
  function normalizeSortProperties(sortProperties) {
@@ -36388,12 +36202,10 @@ enifed('ember-runtime/copy', ['exports', 'ember-debug', 'ember-runtime/system/ob
36388
36202
  enifed('ember-runtime/ext/function', ['ember-environment', 'ember-metal', 'ember-debug'], function (_emberEnvironment, _emberMetal, _emberDebug) {
36389
36203
  'use strict';
36390
36204
 
36391
- var a_slice = Array.prototype.slice; /**
36392
- @module ember
36393
- @submodule ember-runtime
36394
- */
36395
-
36396
- var FunctionPrototype = Function.prototype;
36205
+ var FunctionPrototype = Function.prototype; /**
36206
+ @module ember
36207
+ @submodule ember-runtime
36208
+ */
36397
36209
 
36398
36210
  if (_emberEnvironment.ENV.EXTEND_PROTOTYPES.Function) {
36399
36211
  /**
@@ -36443,10 +36255,7 @@ enifed('ember-runtime/ext/function', ['ember-environment', 'ember-metal', 'ember
36443
36255
  @public
36444
36256
  */
36445
36257
  FunctionPrototype.property = function () {
36446
- var ret = (0, _emberMetal.computed)(this);
36447
- // ComputedProperty.prototype.property expands properties; no need for us to
36448
- // do so here.
36449
- return ret.property.apply(ret, arguments);
36258
+ return _emberMetal.computed.apply(undefined, Array.prototype.slice.call(arguments).concat([this]));
36450
36259
  };
36451
36260
 
36452
36261
  /**
@@ -36470,12 +36279,7 @@ enifed('ember-runtime/ext/function', ['ember-environment', 'ember-metal', 'ember
36470
36279
  @public
36471
36280
  */
36472
36281
  FunctionPrototype.observes = function () {
36473
- for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
36474
- args[_key] = arguments[_key];
36475
- }
36476
-
36477
- args.push(this);
36478
- return _emberMetal.observer.apply(this, args);
36282
+ return _emberMetal.observer.apply(undefined, Array.prototype.slice.call(arguments).concat([this]));
36479
36283
  };
36480
36284
 
36481
36285
  FunctionPrototype._observesImmediately = function () {
@@ -36541,10 +36345,7 @@ enifed('ember-runtime/ext/function', ['ember-environment', 'ember-metal', 'ember
36541
36345
  @public
36542
36346
  */
36543
36347
  FunctionPrototype.on = function () {
36544
- var events = a_slice.call(arguments);
36545
- this.__ember_listens__ = events;
36546
-
36547
- return this;
36348
+ return _emberMetal.on.apply(undefined, Array.prototype.slice.call(arguments).concat([this]));
36548
36349
  };
36549
36350
  }
36550
36351
  });
@@ -37405,7 +37206,9 @@ enifed('ember-runtime/mixins/-proxy', ['exports', 'ember-babel', '@glimmer/refer
37405
37206
  this._super.apply(this, arguments);
37406
37207
  var m = (0, _emberMetal.meta)(this);
37407
37208
  m.setProxy();
37408
- m.setTag(new ProxyTag(this));
37209
+ m.writableTag(function (source) {
37210
+ return new ProxyTag(source);
37211
+ });
37409
37212
  },
37410
37213
 
37411
37214
 
@@ -37655,16 +37458,16 @@ enifed('ember-runtime/mixins/array', ['exports', 'ember-utils', 'ember-metal', '
37655
37458
 
37656
37459
  var normalStartIdx = startIdx < 0 ? previousLength + startIdx : startIdx;
37657
37460
  if (cache.firstObject !== undefined && normalStartIdx === 0) {
37658
- (0, _emberMetal.propertyWillChange)(array, 'firstObject');
37659
- (0, _emberMetal.propertyDidChange)(array, 'firstObject');
37461
+ (0, _emberMetal.propertyWillChange)(array, 'firstObject', meta);
37462
+ (0, _emberMetal.propertyDidChange)(array, 'firstObject', meta);
37660
37463
  }
37661
37464
 
37662
37465
  if (cache.lastObject !== undefined) {
37663
37466
  var previousLastIndex = previousLength - 1;
37664
37467
  var lastAffectedIndex = normalStartIdx + removedAmount;
37665
37468
  if (previousLastIndex < lastAffectedIndex) {
37666
- (0, _emberMetal.propertyWillChange)(array, 'lastObject');
37667
- (0, _emberMetal.propertyDidChange)(array, 'lastObject');
37469
+ (0, _emberMetal.propertyWillChange)(array, 'lastObject', meta);
37470
+ (0, _emberMetal.propertyDidChange)(array, 'lastObject', meta);
37668
37471
  }
37669
37472
  }
37670
37473
  }
@@ -37934,7 +37737,7 @@ enifed('ember-runtime/mixins/array', ['exports', 'ember-utils', 'ember-metal', '
37934
37737
  while (--loc >= idx) {
37935
37738
  var item = objectAt(content, loc);
37936
37739
  if (item) {
37937
- (true && !(typeof item === 'object') && (0, _emberDebug.assert)('When using @each to observe the array ' + content + ', the array must return an object', typeof item === 'object'));
37740
+ (true && !(typeof item === 'object') && (0, _emberDebug.assert)('When using @each to observe the array `' + (0, _emberUtils.toString)(content) + '`, the array must return an object', typeof item === 'object'));
37938
37741
 
37939
37742
  (0, _emberMetal._addBeforeObserver)(item, keyName, proxy, 'contentKeyWillChange');
37940
37743
  (0, _emberMetal.addObserver)(item, keyName, proxy, 'contentKeyDidChange');
@@ -38023,10 +37826,10 @@ enifed('ember-runtime/mixins/container_proxy', ['exports', 'ember-metal'], funct
38023
37826
  */
38024
37827
  exports.default = _emberMetal.Mixin.create(containerProxyMixin);
38025
37828
  });
38026
- enifed('ember-runtime/mixins/controller', ['exports', 'ember-metal', 'ember-runtime/mixins/action_handler', 'ember-runtime/mixins/controller_content_model_alias_deprecation'], function (exports, _emberMetal, _action_handler, _controller_content_model_alias_deprecation) {
37829
+ enifed('ember-runtime/mixins/controller', ['exports', 'ember-metal', 'ember-runtime/computed/computed_macros', 'ember-runtime/mixins/action_handler'], function (exports, _emberMetal, _computed_macros, _action_handler) {
38027
37830
  'use strict';
38028
37831
 
38029
- exports.default = _emberMetal.Mixin.create(_action_handler.default, _controller_content_model_alias_deprecation.default, {
37832
+ exports.default = _emberMetal.Mixin.create(_action_handler.default, {
38030
37833
  /* ducktype as a controller */
38031
37834
  isController: true,
38032
37835
 
@@ -38052,43 +37855,17 @@ enifed('ember-runtime/mixins/controller', ['exports', 'ember-metal', 'ember-runt
38052
37855
  model, this property should be used instead of the `content` property.
38053
37856
  @property model
38054
37857
  @public
38055
- */
38056
- model: null,
38057
-
38058
- /**
38059
- @private
38060
37858
  */
38061
- content: (0, _emberMetal.alias)('model')
38062
-
38063
- });
38064
- });
38065
- enifed('ember-runtime/mixins/controller_content_model_alias_deprecation', ['exports', 'ember-metal', 'ember-debug'], function (exports, _emberMetal, _emberDebug) {
38066
- 'use strict';
37859
+ model: null,
38067
37860
 
38068
- exports.default = _emberMetal.Mixin.create({
38069
37861
  /**
38070
37862
  @private
38071
- Moves `content` to `model` at extend time if a `model` is not also specified.
38072
- Note that this currently modifies the mixin themselves, which is technically
38073
- dubious but is practically of little consequence. This may change in the
38074
- future.
38075
- @method willMergeMixin
38076
- @since 1.4.0
38077
37863
  */
38078
- willMergeMixin: function (props) {
38079
- // Calling super is only OK here since we KNOW that
38080
- // there is another Mixin loaded first.
38081
- this._super.apply(this, arguments);
38082
-
38083
- var modelSpecified = !!props.model;
38084
-
38085
- if (props.content && !modelSpecified) {
38086
- props.model = props.content;
38087
- delete props['content'];
38088
-
38089
- (true && !(false) && (0, _emberDebug.deprecate)('Do not specify `content` on a Controller, use `model` instead.', false, { id: 'ember-runtime.will-merge-mixin', until: '3.0.0' }));
38090
- }
38091
- }
37864
+ content: (0, _computed_macros.deprecatingAlias)('model', {
37865
+ id: 'ember-runtime.controller.content-alias',
37866
+ until: '2.17.0',
37867
+ url: 'https://emberjs.com/deprecations/v2.x/#toc_controller-content-alias'
37868
+ })
38092
37869
  });
38093
37870
  });
38094
37871
  enifed('ember-runtime/mixins/copyable', ['exports', 'ember-metal', 'ember-debug', 'ember-runtime/mixins/freezable'], function (exports, _emberMetal, _emberDebug, _freezable) {
@@ -38143,7 +37920,10 @@ enifed('ember-runtime/mixins/enumerable', ['exports', 'ember-utils', 'ember-meta
38143
37920
  //
38144
37921
 
38145
37922
  function emberA() {
38146
- return (_emberA || (_emberA = (0, _require2.default)('ember-runtime/system/native_array').A))();
37923
+ if (_emberA === undefined) {
37924
+ _emberA = (0, _require2.default)('ember-runtime/system/native_array').A;
37925
+ }
37926
+ return _emberA();
38147
37927
  }
38148
37928
 
38149
37929
  var contexts = [];
@@ -38160,12 +37940,11 @@ enifed('ember-runtime/mixins/enumerable', ['exports', 'ember-utils', 'ember-meta
38160
37940
  function iter(key, value) {
38161
37941
  var valueProvided = arguments.length === 2;
38162
37942
 
38163
- function i(item) {
38164
- var cur = (0, _emberMetal.get)(item, key);
38165
- return valueProvided ? value === cur : !!cur;
38166
- }
38167
-
38168
- return i;
37943
+ return valueProvided ? function (item) {
37944
+ return value === (0, _emberMetal.get)(item, key);
37945
+ } : function (item) {
37946
+ return !!(0, _emberMetal.get)(item, key);
37947
+ };
38169
37948
  }
38170
37949
 
38171
37950
  /**
@@ -38320,9 +38099,8 @@ enifed('ember-runtime/mixins/enumerable', ['exports', 'ember-utils', 'ember-meta
38320
38099
  return found !== undefined;
38321
38100
  },
38322
38101
  forEach: function (callback, target) {
38323
- if (typeof callback !== 'function') {
38324
- throw new TypeError();
38325
- }
38102
+ (true && !(typeof callback === 'function') && (0, _emberDebug.assert)('Enumerable#forEach expects a function as first argument.', typeof callback === 'function'));
38103
+
38326
38104
 
38327
38105
  var context = popCtx();
38328
38106
  var len = (0, _emberMetal.get)(this, 'length');
@@ -38360,6 +38138,9 @@ enifed('ember-runtime/mixins/enumerable', ['exports', 'ember-utils', 'ember-meta
38360
38138
  });
38361
38139
  },
38362
38140
  map: function (callback, target) {
38141
+ (true && !(typeof callback === 'function') && (0, _emberDebug.assert)('Enumerable#map expects a function as first argument.', typeof callback === 'function'));
38142
+
38143
+
38363
38144
  var ret = emberA();
38364
38145
 
38365
38146
  this.forEach(function (x, idx, i) {
@@ -38374,6 +38155,9 @@ enifed('ember-runtime/mixins/enumerable', ['exports', 'ember-utils', 'ember-meta
38374
38155
  });
38375
38156
  },
38376
38157
  filter: function (callback, target) {
38158
+ (true && !(typeof callback === 'function') && (0, _emberDebug.assert)('Enumerable#filter expects a function as first argument.', typeof callback === 'function'));
38159
+
38160
+
38377
38161
  var ret = emberA();
38378
38162
 
38379
38163
  this.forEach(function (x, idx, i) {
@@ -38385,6 +38169,9 @@ enifed('ember-runtime/mixins/enumerable', ['exports', 'ember-utils', 'ember-meta
38385
38169
  return ret;
38386
38170
  },
38387
38171
  reject: function (callback, target) {
38172
+ (true && !(typeof callback === 'function') && (0, _emberDebug.assert)('Enumerable#reject expects a function as first argument.', typeof callback === 'function'));
38173
+
38174
+
38388
38175
  return this.filter(function () {
38389
38176
  return !callback.apply(target, arguments);
38390
38177
  });
@@ -38404,6 +38191,9 @@ enifed('ember-runtime/mixins/enumerable', ['exports', 'ember-utils', 'ember-meta
38404
38191
  return this.reject(use);
38405
38192
  },
38406
38193
  find: function (callback, target) {
38194
+ (true && !(typeof callback === 'function') && (0, _emberDebug.assert)('Enumerable#find expects a function as first argument.', typeof callback === 'function'));
38195
+
38196
+
38407
38197
  var len = (0, _emberMetal.get)(this, 'length');
38408
38198
 
38409
38199
  if (target === undefined) {
@@ -38436,6 +38226,9 @@ enifed('ember-runtime/mixins/enumerable', ['exports', 'ember-utils', 'ember-meta
38436
38226
  return this.find(iter.apply(this, arguments));
38437
38227
  },
38438
38228
  every: function (callback, target) {
38229
+ (true && !(typeof callback === 'function') && (0, _emberDebug.assert)('Enumerable#every expects a function as first argument.', typeof callback === 'function'));
38230
+
38231
+
38439
38232
  return !this.find(function (x, idx, i) {
38440
38233
  return !callback.call(target, x, idx, i);
38441
38234
  });
@@ -38444,6 +38237,9 @@ enifed('ember-runtime/mixins/enumerable', ['exports', 'ember-utils', 'ember-meta
38444
38237
  return this.every(iter.apply(this, arguments));
38445
38238
  },
38446
38239
  any: function (callback, target) {
38240
+ (true && !(typeof callback === 'function') && (0, _emberDebug.assert)('Enumerable#any expects a function as first argument.', typeof callback === 'function'));
38241
+
38242
+
38447
38243
  var len = (0, _emberMetal.get)(this, 'length');
38448
38244
  var context = popCtx();
38449
38245
  var found = false;
@@ -38468,9 +38264,8 @@ enifed('ember-runtime/mixins/enumerable', ['exports', 'ember-utils', 'ember-meta
38468
38264
  return this.any(iter.apply(this, arguments));
38469
38265
  },
38470
38266
  reduce: function (callback, initialValue, reducerProperty) {
38471
- if (typeof callback !== 'function') {
38472
- throw new TypeError();
38473
- }
38267
+ (true && !(typeof callback === 'function') && (0, _emberDebug.assert)('Enumerable#reduce expects a function as first argument.', typeof callback === 'function'));
38268
+
38474
38269
 
38475
38270
  var ret = initialValue;
38476
38271
 
@@ -38491,7 +38286,7 @@ enifed('ember-runtime/mixins/enumerable', ['exports', 'ember-utils', 'ember-meta
38491
38286
  var method = x && x[methodName];
38492
38287
 
38493
38288
  if ('function' === typeof method) {
38494
- ret[idx] = args ? method.apply(x, args) : x[methodName]();
38289
+ ret[idx] = args.length ? method.apply(x, args) : x[methodName]();
38495
38290
  }
38496
38291
  }, this);
38497
38292
 
@@ -39820,7 +39615,7 @@ enifed('ember-runtime/mixins/promise_proxy', ['exports', 'ember-metal', 'ember-d
39820
39615
  let ObjectPromiseProxy = Ember.ObjectProxy.extend(Ember.PromiseProxyMixin);
39821
39616
 
39822
39617
  let proxy = ObjectPromiseProxy.create({
39823
- promise: Ember.RSVP.resolve($.getJSON('/some/remote/data.json'))
39618
+ promise: Ember.RSVP.cast($.getJSON('/some/remote/data.json'))
39824
39619
  });
39825
39620
 
39826
39621
  proxy.then(function(json){
@@ -39843,7 +39638,7 @@ enifed('ember-runtime/mixins/promise_proxy', ['exports', 'ember-metal', 'ember-d
39843
39638
  When the $.getJSON completes, and the promise is fulfilled
39844
39639
  with json, the life cycle attributes will update accordingly.
39845
39640
  Note that $.getJSON doesn't return an ECMA specified promise,
39846
- it is useful to wrap this with an `RSVP.resolve` so that it behaves
39641
+ it is useful to wrap this with an `RSVP.cast` so that it behaves
39847
39642
  as a spec compliant promise.
39848
39643
 
39849
39644
  ```javascript
@@ -41747,7 +41542,7 @@ enifed('ember-runtime/system/string', ['exports', 'ember-metal', 'ember-debug',
41747
41542
  return str.replace(STRING_UNDERSCORE_REGEXP_1, '$1_$2').replace(STRING_UNDERSCORE_REGEXP_2, '_').toLowerCase();
41748
41543
  });
41749
41544
 
41750
- var STRING_CAPITALIZE_REGEXP = /(^|\/)([a-z])/g;
41545
+ var STRING_CAPITALIZE_REGEXP = /(^|\/)([a-z\u00C0-\u024F])/g;
41751
41546
 
41752
41547
  var CAPITALIZE_CACHE = new _emberMetal.Cache(1000, function (str) {
41753
41548
  return str.replace(STRING_CAPITALIZE_REGEXP, function (match, separator, chr) {
@@ -46811,15 +46606,14 @@ enifed("ember-views/system/action_manager", ["exports"], function (exports) {
46811
46606
  */
46812
46607
  ActionManager.registeredActions = {};
46813
46608
  });
46814
- enifed('ember-views/system/event_dispatcher', ['exports', 'ember-utils', 'ember-debug', 'ember-metal', 'ember-runtime', 'ember-views/system/jquery', 'ember-views/system/action_manager', 'ember-views/compat/fallback-view-registry'], function (exports, _emberUtils, _emberDebug, _emberMetal, _emberRuntime, _jquery, _action_manager, _fallbackViewRegistry) {
46609
+ enifed('ember-views/system/event_dispatcher', ['exports', 'ember-utils', 'ember-debug', 'ember-metal', 'ember-runtime', 'ember-views/system/jquery', 'ember-views/system/action_manager', 'ember-environment', 'ember-views/compat/fallback-view-registry'], function (exports, _emberUtils, _emberDebug, _emberMetal, _emberRuntime, _jquery, _action_manager, _emberEnvironment, _fallbackViewRegistry) {
46815
46610
  'use strict';
46816
46611
 
46817
- /**
46818
- @module ember
46819
- @submodule ember-views
46820
- */
46612
+ var ROOT_ELEMENT_CLASS = 'ember-application'; /**
46613
+ @module ember
46614
+ @submodule ember-views
46615
+ */
46821
46616
 
46822
- var ROOT_ELEMENT_CLASS = 'ember-application';
46823
46617
  var ROOT_ELEMENT_SELECTOR = '.' + ROOT_ELEMENT_CLASS;
46824
46618
 
46825
46619
  /**
@@ -46931,18 +46725,8 @@ enifed('ember-views/system/event_dispatcher', ['exports', 'ember-utils', 'ember-
46931
46725
  */
46932
46726
 
46933
46727
  init: function () {
46934
- var _this = this;
46935
-
46936
46728
  this._super();
46937
-
46938
- (true && !(function () {
46939
- var owner = (0, _emberUtils.getOwner)(_this);
46940
- var environment = owner.lookup('-environment:main');
46941
-
46942
- return environment.isInteractive;
46943
- }()) && (0, _emberDebug.assert)('EventDispatcher should never be instantiated in fastboot mode. Please report this as an Ember bug.', function () {
46944
- var owner = (0, _emberUtils.getOwner)(_this);var environment = owner.lookup('-environment:main');return environment.isInteractive;
46945
- }()));
46729
+ (true && !(_emberEnvironment.environment.hasDOM) && (0, _emberDebug.assert)('EventDispatcher should never be instantiated in fastboot mode. Please report this as an Ember bug.', _emberEnvironment.environment.hasDOM));
46946
46730
  (true && !(!('canDispatchToEventManager' in this)) && (0, _emberDebug.deprecate)('`canDispatchToEventManager` has been deprecated in ' + this + '.', !('canDispatchToEventManager' in this), {
46947
46731
  id: 'ember-views.event-dispatcher.canDispatchToEventManager',
46948
46732
  until: '2.17.0'
@@ -47508,15 +47292,14 @@ enifed('ember-views/views/core_view', ['exports', 'ember-runtime', 'ember-views/
47508
47292
  hash.view = this;
47509
47293
  return hash;
47510
47294
  },
47511
- trigger: function () {
47295
+ trigger: function (name) {
47296
+ for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
47297
+ args[_key - 1] = arguments[_key];
47298
+ }
47299
+
47512
47300
  this._super.apply(this, arguments);
47513
- var name = arguments[0];
47514
47301
  var method = this[name];
47515
47302
  if (typeof method === 'function') {
47516
- var args = new Array(arguments.length - 1);
47517
- for (var i = 1; i < arguments.length; i++) {
47518
- args[i - 1] = arguments[i];
47519
- }
47520
47303
  return method.apply(this, args);
47521
47304
  }
47522
47305
  },
@@ -47785,7 +47568,6 @@ enifed('ember/index', ['exports', 'require', 'ember-environment', 'node-module',
47785
47568
  _emberMetal.default.hasListeners = _emberMetal.hasListeners;
47786
47569
  _emberMetal.default.watchedEvents = _emberMetal.watchedEvents;
47787
47570
  _emberMetal.default.listenersFor = _emberMetal.listenersFor;
47788
- _emberMetal.default.accumulateListeners = _emberMetal.accumulateListeners;
47789
47571
  _emberMetal.default.isNone = _emberMetal.isNone;
47790
47572
  _emberMetal.default.isEmpty = _emberMetal.isEmpty;
47791
47573
  _emberMetal.default.isBlank = _emberMetal.isBlank;
@@ -48234,7 +48016,7 @@ enifed('ember/index', ['exports', 'require', 'ember-environment', 'node-module',
48234
48016
  enifed("ember/version", ["exports"], function (exports) {
48235
48017
  "use strict";
48236
48018
 
48237
- exports.default = "2.15.3";
48019
+ exports.default = "2.16.0-beta.1";
48238
48020
  });
48239
48021
  enifed("handlebars", ["exports"], function (exports) {
48240
48022
  "use strict";
@@ -53040,106 +52822,100 @@ enifed('rsvp', ['exports', 'ember-babel', 'node-module'], function (exports, _em
53040
52822
  return child;
53041
52823
  }
53042
52824
 
53043
- var Enumerator = function () {
53044
- function Enumerator(Constructor, input, abortOnReject, label) {
53045
- (0, _emberBabel.classCallCheck)(this, Enumerator);
53046
-
53047
- this._instanceConstructor = Constructor;
53048
- this.promise = new Constructor(noop, label);
53049
- this._abortOnReject = abortOnReject;
53050
-
53051
- this._init.apply(this, arguments);
53052
- }
52825
+ function Enumerator(Constructor, input, abortOnReject, label) {
52826
+ this._instanceConstructor = Constructor;
52827
+ this.promise = new Constructor(noop, label);
52828
+ this._abortOnReject = abortOnReject;
53053
52829
 
53054
- Enumerator.prototype._init = function _init(Constructor, input) {
53055
- var len = input.length || 0;
53056
- this.length = len;
53057
- this._remaining = len;
53058
- this._result = new Array(len);
52830
+ this._init.apply(this, arguments);
52831
+ }
53059
52832
 
53060
- this._enumerate(input);
53061
- if (this._remaining === 0) {
53062
- fulfill(this.promise, this._result);
53063
- }
53064
- };
52833
+ Enumerator.prototype._init = function (Constructor, input) {
52834
+ var len = input.length || 0;
52835
+ this.length = len;
52836
+ this._remaining = len;
52837
+ this._result = new Array(len);
53065
52838
 
53066
- Enumerator.prototype._enumerate = function _enumerate(input) {
53067
- var length = this.length;
53068
- var promise = this.promise;
52839
+ this._enumerate(input);
52840
+ if (this._remaining === 0) {
52841
+ fulfill(this.promise, this._result);
52842
+ }
52843
+ };
53069
52844
 
53070
- for (var i = 0; promise._state === PENDING && i < length; i++) {
53071
- this._eachEntry(input[i], i);
53072
- }
53073
- };
52845
+ Enumerator.prototype._enumerate = function (input) {
52846
+ var length = this.length;
52847
+ var promise = this.promise;
53074
52848
 
53075
- Enumerator.prototype._settleMaybeThenable = function _settleMaybeThenable(entry, i) {
53076
- var c = this._instanceConstructor;
53077
- var resolve$$1 = c.resolve;
52849
+ for (var i = 0; promise._state === PENDING && i < length; i++) {
52850
+ this._eachEntry(input[i], i);
52851
+ }
52852
+ };
53078
52853
 
53079
- if (resolve$$1 === resolve$1) {
53080
- var then$$1 = getThen(entry);
52854
+ Enumerator.prototype._settleMaybeThenable = function (entry, i) {
52855
+ var c = this._instanceConstructor;
52856
+ var resolve$$1 = c.resolve;
53081
52857
 
53082
- if (then$$1 === then && entry._state !== PENDING) {
53083
- entry._onError = null;
53084
- this._settledAt(entry._state, i, entry._result);
53085
- } else if (typeof then$$1 !== 'function') {
53086
- this._remaining--;
53087
- this._result[i] = this._makeResult(FULFILLED, i, entry);
53088
- } else if (c === Promise) {
53089
- var promise = new c(noop);
53090
- handleMaybeThenable(promise, entry, then$$1);
53091
- this._willSettleAt(promise, i);
53092
- } else {
53093
- this._willSettleAt(new c(function (resolve$$1) {
53094
- return resolve$$1(entry);
53095
- }), i);
53096
- }
53097
- } else {
53098
- this._willSettleAt(resolve$$1(entry), i);
53099
- }
53100
- };
52858
+ if (resolve$$1 === resolve$1) {
52859
+ var then$$1 = getThen(entry);
53101
52860
 
53102
- Enumerator.prototype._eachEntry = function _eachEntry(entry, i) {
53103
- if (isMaybeThenable(entry)) {
53104
- this._settleMaybeThenable(entry, i);
53105
- } else {
52861
+ if (then$$1 === then && entry._state !== PENDING) {
52862
+ entry._onError = null;
52863
+ this._settledAt(entry._state, i, entry._result);
52864
+ } else if (typeof then$$1 !== 'function') {
53106
52865
  this._remaining--;
53107
52866
  this._result[i] = this._makeResult(FULFILLED, i, entry);
52867
+ } else if (c === Promise) {
52868
+ var promise = new c(noop);
52869
+ handleMaybeThenable(promise, entry, then$$1);
52870
+ this._willSettleAt(promise, i);
52871
+ } else {
52872
+ this._willSettleAt(new c(function (resolve$$1) {
52873
+ return resolve$$1(entry);
52874
+ }), i);
53108
52875
  }
53109
- };
52876
+ } else {
52877
+ this._willSettleAt(resolve$$1(entry), i);
52878
+ }
52879
+ };
53110
52880
 
53111
- Enumerator.prototype._settledAt = function _settledAt(state, i, value) {
53112
- var promise = this.promise;
52881
+ Enumerator.prototype._eachEntry = function (entry, i) {
52882
+ if (isMaybeThenable(entry)) {
52883
+ this._settleMaybeThenable(entry, i);
52884
+ } else {
52885
+ this._remaining--;
52886
+ this._result[i] = this._makeResult(FULFILLED, i, entry);
52887
+ }
52888
+ };
53113
52889
 
53114
- if (promise._state === PENDING) {
53115
- if (this._abortOnReject && state === REJECTED) {
53116
- reject(promise, value);
53117
- } else {
53118
- this._remaining--;
53119
- this._result[i] = this._makeResult(state, i, value);
53120
- if (this._remaining === 0) {
53121
- fulfill(promise, this._result);
53122
- }
52890
+ Enumerator.prototype._settledAt = function (state, i, value) {
52891
+ var promise = this.promise;
52892
+
52893
+ if (promise._state === PENDING) {
52894
+ if (this._abortOnReject && state === REJECTED) {
52895
+ reject(promise, value);
52896
+ } else {
52897
+ this._remaining--;
52898
+ this._result[i] = this._makeResult(state, i, value);
52899
+ if (this._remaining === 0) {
52900
+ fulfill(promise, this._result);
53123
52901
  }
53124
52902
  }
53125
- };
53126
-
53127
- Enumerator.prototype._makeResult = function _makeResult(state, i, value) {
53128
- return value;
53129
- };
52903
+ }
52904
+ };
53130
52905
 
53131
- Enumerator.prototype._willSettleAt = function _willSettleAt(promise, i) {
53132
- var enumerator = this;
52906
+ Enumerator.prototype._makeResult = function (state, i, value) {
52907
+ return value;
52908
+ };
53133
52909
 
53134
- subscribe(promise, undefined, function (value) {
53135
- return enumerator._settledAt(FULFILLED, i, value);
53136
- }, function (reason) {
53137
- return enumerator._settledAt(REJECTED, i, reason);
53138
- });
53139
- };
52910
+ Enumerator.prototype._willSettleAt = function (promise, i) {
52911
+ var enumerator = this;
53140
52912
 
53141
- return Enumerator;
53142
- }();
52913
+ subscribe(promise, undefined, function (value) {
52914
+ return enumerator._settledAt(FULFILLED, i, value);
52915
+ }, function (reason) {
52916
+ return enumerator._settledAt(REJECTED, i, reason);
52917
+ });
52918
+ };
53143
52919
 
53144
52920
  function makeSettledResult(state, position, value) {
53145
52921
  if (state === FULFILLED) {
@@ -53455,56 +53231,117 @@ enifed('rsvp', ['exports', 'ember-babel', 'node-module'], function (exports, _em
53455
53231
  Useful for tooling.
53456
53232
  @constructor
53457
53233
  */
53234
+ function Promise(resolver, label) {
53235
+ this._id = counter++;
53236
+ this._label = label;
53237
+ this._state = undefined;
53238
+ this._result = undefined;
53239
+ this._subscribers = [];
53458
53240
 
53459
- var Promise = function () {
53460
- function Promise(resolver, label) {
53461
- (0, _emberBabel.classCallCheck)(this, Promise);
53241
+ config.instrument && instrument('created', this);
53462
53242
 
53463
- this._id = counter++;
53464
- this._label = label;
53465
- this._state = undefined;
53466
- this._result = undefined;
53467
- this._subscribers = [];
53243
+ if (noop !== resolver) {
53244
+ typeof resolver !== 'function' && needsResolver();
53245
+ this instanceof Promise ? initializePromise(this, resolver) : needsNew();
53246
+ }
53247
+ }
53468
53248
 
53469
- config.instrument && instrument('created', this);
53249
+ Promise.prototype._onError = function (reason) {
53250
+ var _this = this;
53470
53251
 
53471
- if (noop !== resolver) {
53472
- typeof resolver !== 'function' && needsResolver();
53473
- this instanceof Promise ? initializePromise(this, resolver) : needsNew();
53252
+ config.after(function () {
53253
+ if (_this._onError) {
53254
+ config.trigger('error', reason, _this._label);
53474
53255
  }
53256
+ });
53257
+ };
53258
+
53259
+ /**
53260
+ `catch` is simply sugar for `then(undefined, onRejection)` which makes it the same
53261
+ as the catch block of a try/catch statement.
53262
+
53263
+ ```js
53264
+ function findAuthor(){
53265
+ throw new Error('couldn\'t find that author');
53475
53266
  }
53267
+
53268
+ // synchronous
53269
+ try {
53270
+ findAuthor();
53271
+ } catch(reason) {
53272
+ // something went wrong
53273
+ }
53274
+
53275
+ // async with promises
53276
+ findAuthor().catch(function(reason){
53277
+ // something went wrong
53278
+ });
53279
+ ```
53280
+
53281
+ @method catch
53282
+ @param {Function} onRejection
53283
+ @param {String} label optional string for labeling the promise.
53284
+ Useful for tooling.
53285
+ @return {Promise}
53286
+ */
53287
+ Promise.prototype.catch = function (onRejection, label) {
53288
+ return this.then(undefined, onRejection, label);
53289
+ };
53476
53290
 
53477
- Promise.prototype._onError = function _onError(reason) {
53478
- var _this = this;
53291
+ /**
53292
+ `finally` will be invoked regardless of the promise's fate just as native
53293
+ try/catch/finally behaves
53294
+
53295
+ Synchronous example:
53296
+
53297
+ ```js
53298
+ findAuthor() {
53299
+ if (Math.random() > 0.5) {
53300
+ throw new Error();
53301
+ }
53302
+ return new Author();
53303
+ }
53304
+
53305
+ try {
53306
+ return findAuthor(); // succeed or fail
53307
+ } catch(error) {
53308
+ return findOtherAuthor();
53309
+ } finally {
53310
+ // always runs
53311
+ // doesn't affect the return value
53312
+ }
53313
+ ```
53314
+
53315
+ Asynchronous example:
53316
+
53317
+ ```js
53318
+ findAuthor().catch(function(reason){
53319
+ return findOtherAuthor();
53320
+ }).finally(function(){
53321
+ // author was either found, or not
53322
+ });
53323
+ ```
53324
+
53325
+ @method finally
53326
+ @param {Function} callback
53327
+ @param {String} label optional string for labeling the promise.
53328
+ Useful for tooling.
53329
+ @return {Promise}
53330
+ */
53331
+ Promise.prototype.finally = function (callback, label) {
53332
+ var promise = this;
53333
+ var constructor = promise.constructor;
53479
53334
 
53480
- config.after(function () {
53481
- if (_this._onError) {
53482
- config.trigger('error', reason, _this._label);
53483
- }
53335
+ return promise.then(function (value) {
53336
+ return constructor.resolve(callback()).then(function () {
53337
+ return value;
53484
53338
  });
53485
- };
53486
-
53487
- Promise.prototype.catch = function _catch(onRejection, label) {
53488
- return this.then(undefined, onRejection, label);
53489
- };
53490
-
53491
- Promise.prototype.finally = function _finally(callback, label) {
53492
- var promise = this;
53493
- var constructor = promise.constructor;
53494
-
53495
- return promise.then(function (value) {
53496
- return constructor.resolve(callback()).then(function () {
53497
- return value;
53498
- });
53499
- }, function (reason) {
53500
- return constructor.resolve(callback()).then(function () {
53501
- throw reason;
53502
- });
53503
- }, label);
53504
- };
53505
-
53506
- return Promise;
53507
- }();
53339
+ }, function (reason) {
53340
+ return constructor.resolve(callback()).then(function () {
53341
+ throw reason;
53342
+ });
53343
+ }, label);
53344
+ };
53508
53345
 
53509
53346
  Promise.cast = resolve$1; // deprecated
53510
53347
  Promise.all = all;