ember-source 2.15.0.beta.1 → 2.15.0.beta.2

Sign up to get free protection for your applications and to get access to all the features.
data/dist/ember.prod.js CHANGED
@@ -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.0-beta.1
9
+ * @version 2.15.0-beta.2
10
10
  */
11
11
 
12
12
  var enifed, requireModule, Ember;
@@ -8800,7 +8800,6 @@ enifed('@glimmer/util', ['exports'], function (exports) {
8800
8800
 
8801
8801
  // import Logger from './logger';
8802
8802
  // let alreadyWarned = false;
8803
- // import Logger from './logger';
8804
8803
 
8805
8804
 
8806
8805
  function _classCallCheck(instance, Constructor) {
@@ -12563,14 +12562,14 @@ enifed('ember-application/system/engine-instance', ['exports', 'ember-babel', 'e
12563
12562
 
12564
12563
  var parent = (0, _engineParent.getEngineParent)(this);
12565
12564
 
12566
- ['route:basic', 'event_dispatcher:main', 'service:-routing', 'service:-glimmer-environment'].forEach(function (key) {
12565
+ ['route:basic', 'service:-routing', 'service:-glimmer-environment'].forEach(function (key) {
12567
12566
  return _this2.register(key, parent.resolveRegistration(key));
12568
12567
  });
12569
12568
 
12570
12569
  var env = parent.lookup('-environment:main');
12571
12570
  this.register('-environment:main', env, { instantiate: false });
12572
12571
 
12573
- var singletons = ['router:main', (0, _container.privatize)(_templateObject), '-view-registry:main', 'renderer:-' + (env.isInteractive ? 'dom' : 'inert'), 'service:-document'];
12572
+ var singletons = ['router:main', (0, _container.privatize)(_templateObject), '-view-registry:main', 'renderer:-' + (env.isInteractive ? 'dom' : 'inert'), 'service:-document', 'event_dispatcher:main'];
12574
12573
 
12575
12574
  singletons.forEach(function (key) {
12576
12575
  return _this2.register(key, parent.lookup(key), { instantiate: false });
@@ -13729,6 +13728,7 @@ enifed('ember-debug/deprecate', ['exports', 'ember-debug/error', 'ember-console'
13729
13728
  @public
13730
13729
  @static
13731
13730
  @method registerDeprecationHandler
13731
+ @for Ember.Debug
13732
13732
  @param handler {Function} A function to handle deprecation calls.
13733
13733
  @since 2.1.0
13734
13734
  */
@@ -13767,13 +13767,7 @@ enifed("ember-debug/error", ["exports", "ember-babel"], function (exports, _embe
13767
13767
  }
13768
13768
 
13769
13769
  var error = Error.call(_this, message);
13770
-
13771
- if (Error.captureStackTrace) {
13772
- Error.captureStackTrace(_this, EmberError);
13773
- } else {
13774
- _this.stack = error.stack;
13775
- }
13776
-
13770
+ _this.stack = error.stack;
13777
13771
  _this.description = error.description;
13778
13772
  _this.fileName = error.fileName;
13779
13773
  _this.lineNumber = error.lineNumber;
@@ -15946,6 +15940,34 @@ enifed('ember-glimmer/component', ['exports', 'ember-utils', 'ember-views', 'emb
15946
15940
  See [Ember.Templates.helpers.yield](/api/classes/Ember.Templates.helpers.html#method_yield)
15947
15941
  for more information.
15948
15942
 
15943
+ Layout can be used to wrap content in a component. In addition
15944
+ to wrapping content in a Component's template, you can also use
15945
+ the public layout API in your Component JavaScript.
15946
+
15947
+ ```app/templates/components/person-profile.hbs
15948
+ <h1>Person's Title</h1>
15949
+ <div class='details'>{{yield}}</div>
15950
+ ```
15951
+
15952
+ ```app/components/person-profile.js
15953
+ import Ember from 'ember';
15954
+ import layout from '../templates/components/person-profile';
15955
+
15956
+ export default Ember.Component.extend({
15957
+ layout
15958
+ });
15959
+ ```
15960
+
15961
+ The above will result in the following HTML output:
15962
+
15963
+ ```html
15964
+ <h1>Person's Title</h1>
15965
+ <div class="details">
15966
+ <h2>Chief Basket Weaver</h2>
15967
+ <h3>Fisherman Industries</h3>
15968
+ </div>
15969
+ ```
15970
+
15949
15971
 
15950
15972
  ## Responding to Browser Events
15951
15973
 
@@ -17456,6 +17478,15 @@ enifed('ember-glimmer/helper', ['exports', 'ember-utils', 'ember-runtime', '@gli
17456
17478
  recompute: function () {
17457
17479
  this[RECOMPUTE_TAG].dirty();
17458
17480
  }
17481
+
17482
+ /**
17483
+ Override this function when writing a class-based helper.
17484
+ @method compute
17485
+ @param {Array} params The positional arguments to the helper
17486
+ @param {Object} hash The named arguments to the helper
17487
+ @public
17488
+ @since 1.13.0
17489
+ */
17459
17490
  });
17460
17491
 
17461
17492
  Helper.reopenClass({
@@ -18314,11 +18345,11 @@ enifed('ember-glimmer/helpers/get', ['exports', 'ember-babel', 'ember-metal', 'e
18314
18345
  }(_references.CachedReference);
18315
18346
  });
18316
18347
  enifed("ember-glimmer/helpers/hash", ["exports"], function (exports) {
18317
- "use strict";
18348
+ "use strict";
18318
18349
 
18319
- exports.default = function (vm, args) {
18320
- return args.named.capture();
18321
- };
18350
+ exports.default = function (vm, args) {
18351
+ return args.named.capture();
18352
+ };
18322
18353
  });
18323
18354
  enifed('ember-glimmer/helpers/if-unless', ['exports', 'ember-babel', 'ember-debug', 'ember-glimmer/utils/references', '@glimmer/reference'], function (exports, _emberBabel, _emberDebug, _references, _reference) {
18324
18355
  'use strict';
@@ -23953,7 +23984,7 @@ enifed('ember-metal', ['exports', 'ember-environment', 'ember-utils', 'ember-deb
23953
23984
  while (pointer !== undefined && pointer !== null) {
23954
23985
  meta = metaStore.get(pointer);
23955
23986
  // jshint loopfunc:true
23956
- if (meta === null || meta !== undefined) {
23987
+ if (meta !== undefined) {
23957
23988
  return meta;
23958
23989
  }
23959
23990
 
@@ -23962,14 +23993,10 @@ enifed('ember-metal', ['exports', 'ember-environment', 'ember-utils', 'ember-deb
23962
23993
  };
23963
23994
  } else {
23964
23995
  setMeta = function (obj, meta) {
23965
- // if `null` already, just set it to the new value
23966
- // otherwise define property first
23967
- if (obj[META_FIELD] !== null) {
23968
- if (obj.__defineNonEnumerable) {
23969
- obj.__defineNonEnumerable(EMBER_META_PROPERTY);
23970
- } else {
23971
- Object.defineProperty(obj, META_FIELD, META_DESC);
23972
- }
23996
+ if (obj.__defineNonEnumerable) {
23997
+ obj.__defineNonEnumerable(EMBER_META_PROPERTY);
23998
+ } else {
23999
+ Object.defineProperty(obj, META_FIELD, META_DESC);
23973
24000
  }
23974
24001
 
23975
24002
  obj[META_FIELD] = meta;
@@ -24010,7 +24037,7 @@ enifed('ember-metal', ['exports', 'ember-environment', 'ember-utils', 'ember-deb
24010
24037
  var parent = void 0;
24011
24038
 
24012
24039
  // remove this code, in-favor of explicit parent
24013
- if (maybeMeta !== undefined && maybeMeta !== null) {
24040
+ if (maybeMeta !== undefined) {
24014
24041
  if (maybeMeta.source === obj) {
24015
24042
  return maybeMeta;
24016
24043
  }
@@ -29578,10 +29605,32 @@ enifed('ember-routing/location/history_location', ['exports', 'ember-metal', 'em
29578
29605
  Ember.HistoryLocation implements the location API using the browser's
29579
29606
  history.pushState API.
29580
29607
 
29608
+ Using `HistoryLocation` results in URLs that are indistinguishable from a
29609
+ standard URL. This relies upon the browser's `history` API.
29610
+
29611
+ Example:
29612
+
29613
+ ```javascript
29614
+ App.Router.map(function() {
29615
+ this.route('posts', function() {
29616
+ this.route('new');
29617
+ });
29618
+ });
29619
+
29620
+ App.Router.reopen({
29621
+ location: 'history'
29622
+ });
29623
+ ```
29624
+
29625
+ This will result in a posts.new url of `/posts/new`.
29626
+
29627
+ Keep in mind that your server must serve the Ember app at all the routes you
29628
+ define.
29629
+
29581
29630
  @class HistoryLocation
29582
29631
  @namespace Ember
29583
29632
  @extends Ember.Object
29584
- @private
29633
+ @protected
29585
29634
  */
29586
29635
  exports.default = _emberRuntime.Object.extend({
29587
29636
  implementation: 'history',
@@ -36738,7 +36787,12 @@ enifed('ember-runtime/mixins/array', ['exports', 'ember-utils', 'ember-metal', '
36738
36787
 
36739
36788
  var adding = void 0,
36740
36789
  lim,
36741
- idx;
36790
+ idx,
36791
+ length,
36792
+ addedAmount,
36793
+ removedAmount,
36794
+ previousLength,
36795
+ normalStartIdx;
36742
36796
  if (startIdx >= 0 && addAmt >= 0 && (0, _emberMetal.get)(array, 'hasEnumerableObservers')) {
36743
36797
  adding = [];
36744
36798
  lim = startIdx + addAmt;
@@ -36761,17 +36815,26 @@ enifed('ember-runtime/mixins/array', ['exports', 'ember-utils', 'ember-metal', '
36761
36815
 
36762
36816
  var meta = (0, _emberMetal.peekMeta)(array);
36763
36817
  var cache = meta && meta.readableCache();
36818
+ if (cache !== undefined) {
36819
+ length = (0, _emberMetal.get)(array, 'length');
36820
+ addedAmount = addAmt === -1 ? 0 : addAmt;
36821
+ removedAmount = removeAmt === -1 ? 0 : removeAmt;
36822
+ previousLength = length - (addedAmount - removedAmount);
36823
+ normalStartIdx = startIdx < 0 ? previousLength + startIdx : startIdx;
36764
36824
 
36765
- if (cache) {
36766
- if (cache.firstObject !== undefined && objectAt(array, 0) !== _emberMetal.cacheFor.get(cache, 'firstObject')) {
36767
- (0, _emberMetal.propertyWillChange)(array, 'firstObject', meta);
36768
- (0, _emberMetal.propertyDidChange)(array, 'firstObject', meta);
36825
+ if (cache.firstObject !== undefined && normalStartIdx === 0) {
36826
+ (0, _emberMetal.propertyWillChange)(array, 'firstObject');
36827
+ (0, _emberMetal.propertyDidChange)(array, 'firstObject');
36769
36828
  }
36770
- if (cache.lastObject !== undefined && objectAt(array, (0, _emberMetal.get)(array, 'length') - 1) !== _emberMetal.cacheFor.get(cache, 'lastObject')) {
36771
- (0, _emberMetal.propertyWillChange)(array, 'lastObject', meta);
36772
- (0, _emberMetal.propertyDidChange)(array, 'lastObject', meta);
36829
+
36830
+ if (cache.lastObject !== undefined) {
36831
+ if (previousLength - 1 < normalStartIdx + removedAmount) {
36832
+ (0, _emberMetal.propertyWillChange)(array, 'lastObject');
36833
+ (0, _emberMetal.propertyDidChange)(array, 'lastObject');
36834
+ }
36773
36835
  }
36774
36836
  }
36837
+
36775
36838
  return array;
36776
36839
  }
36777
36840
 
@@ -36923,7 +36986,7 @@ enifed('ember-runtime/mixins/array', ['exports', 'ember-utils', 'ember-metal', '
36923
36986
  function EachProxy(content) {
36924
36987
  this._content = content;
36925
36988
  this._keys = undefined;
36926
- this.__ember_meta__ = null;
36989
+ (0, _emberMetal.meta)(this);
36927
36990
  }
36928
36991
 
36929
36992
  EachProxy.prototype = {
@@ -43704,21 +43767,21 @@ enifed('ember-views/views/states/pre_render', ['exports', 'ember-views/views/sta
43704
43767
  enifed('ember/features', ['exports', 'ember-environment', 'ember-utils'], function (exports, _emberEnvironment, _emberUtils) {
43705
43768
  'use strict';
43706
43769
 
43707
- exports.EMBER_GLIMMER_DETECT_BACKTRACKING_RERENDER = exports.MANDATORY_SETTER = exports.GLIMMER_CUSTOM_COMPONENT_MANAGER = exports.EMBER_MODULE_UNIFICATION = exports.EMBER_ENGINES_MOUNT_PARAMS = exports.EMBER_ROUTING_ROUTER_SERVICE = exports.EMBER_GLIMMER_ALLOW_BACKTRACKING_RERENDER = exports.EMBER_METAL_WEAKMAP = exports.EMBER_IMPROVED_INSTRUMENTATION = exports.EMBER_LIBRARIES_ISREGISTERED = exports.FEATURES_STRIPPED_TEST = exports.FEATURES = exports.DEFAULT_FEATURES = undefined;
43770
+ exports.FEATURES = exports.DEFAULT_FEATURES = undefined;
43708
43771
  var DEFAULT_FEATURES = exports.DEFAULT_FEATURES = { "features-stripped-test": false, "ember-libraries-isregistered": false, "ember-improved-instrumentation": false, "ember-metal-weakmap": false, "ember-glimmer-allow-backtracking-rerender": false, "ember-routing-router-service": true, "ember-engines-mount-params": true, "ember-module-unification": false, "glimmer-custom-component-manager": false, "mandatory-setter": false, "ember-glimmer-detect-backtracking-rerender": false };
43709
43772
  var FEATURES = exports.FEATURES = (0, _emberUtils.assign)(DEFAULT_FEATURES, _emberEnvironment.ENV.FEATURES);
43710
43773
 
43711
- var FEATURES_STRIPPED_TEST = exports.FEATURES_STRIPPED_TEST = FEATURES["features-stripped-test"];
43712
- var EMBER_LIBRARIES_ISREGISTERED = exports.EMBER_LIBRARIES_ISREGISTERED = FEATURES["ember-libraries-isregistered"];
43713
- var EMBER_IMPROVED_INSTRUMENTATION = exports.EMBER_IMPROVED_INSTRUMENTATION = FEATURES["ember-improved-instrumentation"];
43714
- var EMBER_METAL_WEAKMAP = exports.EMBER_METAL_WEAKMAP = FEATURES["ember-metal-weakmap"];
43715
- var EMBER_GLIMMER_ALLOW_BACKTRACKING_RERENDER = exports.EMBER_GLIMMER_ALLOW_BACKTRACKING_RERENDER = FEATURES["ember-glimmer-allow-backtracking-rerender"];
43716
- var EMBER_ROUTING_ROUTER_SERVICE = exports.EMBER_ROUTING_ROUTER_SERVICE = FEATURES["ember-routing-router-service"];
43717
- var EMBER_ENGINES_MOUNT_PARAMS = exports.EMBER_ENGINES_MOUNT_PARAMS = FEATURES["ember-engines-mount-params"];
43718
- var EMBER_MODULE_UNIFICATION = exports.EMBER_MODULE_UNIFICATION = FEATURES["ember-module-unification"];
43719
- var GLIMMER_CUSTOM_COMPONENT_MANAGER = exports.GLIMMER_CUSTOM_COMPONENT_MANAGER = FEATURES["glimmer-custom-component-manager"];
43720
- var MANDATORY_SETTER = exports.MANDATORY_SETTER = FEATURES["mandatory-setter"];
43721
- var EMBER_GLIMMER_DETECT_BACKTRACKING_RERENDER = exports.EMBER_GLIMMER_DETECT_BACKTRACKING_RERENDER = FEATURES["ember-glimmer-detect-backtracking-rerender"];
43774
+ false;
43775
+ false;
43776
+ false;
43777
+ false;
43778
+ false;
43779
+ true;
43780
+ true;
43781
+ false;
43782
+ false;
43783
+ false;
43784
+ false;
43722
43785
  });
43723
43786
  enifed('ember/index', ['exports', 'require', 'ember-environment', 'node-module', 'ember-utils', 'container', 'ember-metal', 'ember/features', 'ember-debug', 'backburner', 'ember-console', 'ember-runtime', 'ember-glimmer', 'ember/version', 'ember-views', 'ember-routing', 'ember-application', 'ember-extension-support'], function (exports, _require2, _emberEnvironment, _nodeModule, _emberUtils, _container, _emberMetal, _features, _emberDebug, _backburner, _emberConsole, _emberRuntime, _emberGlimmer, _version, _emberViews, _emberRouting, _emberApplication, _emberExtensionSupport) {
43724
43787
  'use strict';
@@ -44232,7 +44295,7 @@ enifed('ember/index', ['exports', 'require', 'ember-environment', 'node-module',
44232
44295
  enifed("ember/version", ["exports"], function (exports) {
44233
44296
  "use strict";
44234
44297
 
44235
- exports.default = "2.15.0-beta.1";
44298
+ exports.default = "2.15.0-beta.2";
44236
44299
  });
44237
44300
  enifed('node-module', ['exports'], function(_exports) {
44238
44301
  var IS_NODE = typeof module === 'object' && typeof module.require === 'function';
@@ -47289,10 +47352,12 @@ enifed('rsvp', ['exports', 'ember-babel', 'node-module'], function (exports, _em
47289
47352
 
47290
47353
  exports.filter = exports.async = exports.map = exports.reject = exports.resolve = exports.off = exports.on = exports.configure = exports.denodeify = exports.defer = exports.rethrow = exports.hashSettled = exports.hash = exports.race = exports.allSettled = exports.all = exports.EventTarget = exports.Promise = exports.cast = exports.asap = undefined;
47291
47354
 
47292
- var _rsvp;
47355
+ var _rsvp, callbacks;
47293
47356
 
47294
47357
  function indexOf(callbacks, callback) {
47295
- for (var i = 0, l = callbacks.length; i < l; i++) {
47358
+ var i, l;
47359
+
47360
+ for (i = 0, l = callbacks.length; i < l; i++) {
47296
47361
  if (callbacks[i] === callback) {
47297
47362
  return i;
47298
47363
  }
@@ -47361,11 +47426,12 @@ enifed('rsvp', ['exports', 'ember-babel', 'node-module'], function (exports, _em
47361
47426
  trigger: function (eventName, options, label) {
47362
47427
  var allCallbacks = callbacksFor(this),
47363
47428
  callbacks = void 0,
47364
- callback = void 0;
47429
+ callback = void 0,
47430
+ i;
47365
47431
 
47366
47432
  if (callbacks = allCallbacks[eventName]) {
47367
47433
  // Don't cache the callbacks.length since it may grow
47368
- for (var i = 0; i < callbacks.length; i++) {
47434
+ for (i = 0; i < callbacks.length; i++) {
47369
47435
  callback = callbacks[i];
47370
47436
 
47371
47437
  callback(options, label);
@@ -47426,10 +47492,12 @@ enifed('rsvp', ['exports', 'ember-babel', 'node-module'], function (exports, _em
47426
47492
 
47427
47493
  function scheduleFlush() {
47428
47494
  setTimeout(function () {
47429
- for (var i = 0; i < queue.length; i++) {
47430
- var entry = queue[i];
47495
+ var i, entry, payload;
47496
+
47497
+ for (i = 0; i < queue.length; i++) {
47498
+ entry = queue[i];
47499
+ payload = entry.payload;
47431
47500
 
47432
- var payload = entry.payload;
47433
47501
 
47434
47502
  payload.guid = payload.key + payload.id;
47435
47503
  payload.childGuid = payload.key + payload.childId;
@@ -47657,7 +47725,8 @@ enifed('rsvp', ['exports', 'ember-babel', 'node-module'], function (exports, _em
47657
47725
  }
47658
47726
 
47659
47727
  function publish(promise) {
47660
- var subscribers = promise._subscribers;
47728
+ var subscribers = promise._subscribers,
47729
+ i;
47661
47730
  var settled = promise._state;
47662
47731
 
47663
47732
  if (config.instrument) {
@@ -47672,7 +47741,7 @@ enifed('rsvp', ['exports', 'ember-babel', 'node-module'], function (exports, _em
47672
47741
  callback = void 0,
47673
47742
  result = promise._result;
47674
47743
 
47675
- for (var i = 0; i < subscribers.length; i += 3) {
47744
+ for (i = 0; i < subscribers.length; i += 3) {
47676
47745
  child = subscribers[i];
47677
47746
  callback = subscribers[i + settled];
47678
47747
 
@@ -47755,7 +47824,8 @@ enifed('rsvp', ['exports', 'ember-babel', 'node-module'], function (exports, _em
47755
47824
  }
47756
47825
 
47757
47826
  function then(onFulfillment, onRejection, label) {
47758
- var parent = this;
47827
+ var parent = this,
47828
+ callback;
47759
47829
  var state = parent._state;
47760
47830
 
47761
47831
  if (state === FULFILLED && !onFulfillment || state === REJECTED && !onRejection) {
@@ -47773,7 +47843,8 @@ enifed('rsvp', ['exports', 'ember-babel', 'node-module'], function (exports, _em
47773
47843
  if (state === PENDING) {
47774
47844
  subscribe(parent, child, onFulfillment, onRejection);
47775
47845
  } else {
47776
- var callback = state === FULFILLED ? onFulfillment : onRejection;
47846
+ callback = state === FULFILLED ? onFulfillment : onRejection;
47847
+
47777
47848
  config.async(function () {
47778
47849
  return invokeCallback(state, child, callback, result);
47779
47850
  });
@@ -47782,100 +47853,110 @@ enifed('rsvp', ['exports', 'ember-babel', 'node-module'], function (exports, _em
47782
47853
  return child;
47783
47854
  }
47784
47855
 
47785
- function Enumerator(Constructor, input, abortOnReject, label) {
47786
- this._instanceConstructor = Constructor;
47787
- this.promise = new Constructor(noop, label);
47788
- this._abortOnReject = abortOnReject;
47789
-
47790
- this._init.apply(this, arguments);
47791
- }
47856
+ var Enumerator = function () {
47857
+ function Enumerator(Constructor, input, abortOnReject, label) {
47792
47858
 
47793
- Enumerator.prototype._init = function (Constructor, input) {
47794
- var len = input.length || 0;
47795
- this.length = len;
47796
- this._remaining = len;
47797
- this._result = new Array(len);
47859
+ this._instanceConstructor = Constructor;
47860
+ this.promise = new Constructor(noop, label);
47861
+ this._abortOnReject = abortOnReject;
47798
47862
 
47799
- this._enumerate(input);
47800
- if (this._remaining === 0) {
47801
- fulfill(this.promise, this._result);
47863
+ this._init.apply(this, arguments);
47802
47864
  }
47803
- };
47804
47865
 
47805
- Enumerator.prototype._enumerate = function (input) {
47806
- var length = this.length;
47807
- var promise = this.promise;
47808
-
47809
- for (var i = 0; promise._state === PENDING && i < length; i++) {
47810
- this._eachEntry(input[i], i);
47811
- }
47812
- };
47866
+ Enumerator.prototype._init = function (Constructor, input) {
47867
+ var len = input.length || 0;
47868
+ this.length = len;
47869
+ this._remaining = len;
47870
+ this._result = new Array(len);
47813
47871
 
47814
- Enumerator.prototype._settleMaybeThenable = function (entry, i) {
47815
- var c = this._instanceConstructor;
47816
- var resolve$$1 = c.resolve;
47872
+ this._enumerate(input);
47873
+ if (this._remaining === 0) {
47874
+ fulfill(this.promise, this._result);
47875
+ }
47876
+ };
47817
47877
 
47818
- if (resolve$$1 === resolve$1) {
47819
- var then$$1 = getThen(entry);
47878
+ Enumerator.prototype._enumerate = function (input) {
47879
+ var length = this.length,
47880
+ i;
47881
+ var promise = this.promise;
47820
47882
 
47821
- if (then$$1 === then && entry._state !== PENDING) {
47822
- entry._onError = null;
47823
- this._settledAt(entry._state, i, entry._result);
47824
- } else if (typeof then$$1 !== 'function') {
47825
- this._remaining--;
47826
- this._result[i] = this._makeResult(FULFILLED, i, entry);
47827
- } else if (c === Promise) {
47828
- var promise = new c(noop);
47829
- handleMaybeThenable(promise, entry, then$$1);
47830
- this._willSettleAt(promise, i);
47831
- } else {
47832
- this._willSettleAt(new c(function (resolve$$1) {
47833
- return resolve$$1(entry);
47834
- }), i);
47883
+ for (i = 0; promise._state === PENDING && i < length; i++) {
47884
+ this._eachEntry(input[i], i);
47835
47885
  }
47836
- } else {
47837
- this._willSettleAt(resolve$$1(entry), i);
47838
- }
47839
- };
47886
+ };
47887
+
47888
+ Enumerator.prototype._settleMaybeThenable = function (entry, i) {
47889
+ var c = this._instanceConstructor,
47890
+ then$$1,
47891
+ promise;
47892
+ var resolve$$1 = c.resolve;
47893
+
47894
+ if (resolve$$1 === resolve$1) {
47895
+ then$$1 = getThen(entry);
47840
47896
 
47841
- Enumerator.prototype._eachEntry = function (entry, i) {
47842
- if (isMaybeThenable(entry)) {
47843
- this._settleMaybeThenable(entry, i);
47844
- } else {
47845
- this._remaining--;
47846
- this._result[i] = this._makeResult(FULFILLED, i, entry);
47847
- }
47848
- };
47849
47897
 
47850
- Enumerator.prototype._settledAt = function (state, i, value) {
47851
- var promise = this.promise;
47898
+ if (then$$1 === then && entry._state !== PENDING) {
47899
+ entry._onError = null;
47900
+ this._settledAt(entry._state, i, entry._result);
47901
+ } else if (typeof then$$1 !== 'function') {
47902
+ this._remaining--;
47903
+ this._result[i] = this._makeResult(FULFILLED, i, entry);
47904
+ } else if (c === Promise) {
47905
+ promise = new c(noop);
47852
47906
 
47853
- if (promise._state === PENDING) {
47854
- if (this._abortOnReject && state === REJECTED) {
47855
- reject(promise, value);
47907
+ handleMaybeThenable(promise, entry, then$$1);
47908
+ this._willSettleAt(promise, i);
47909
+ } else {
47910
+ this._willSettleAt(new c(function (resolve$$1) {
47911
+ return resolve$$1(entry);
47912
+ }), i);
47913
+ }
47914
+ } else {
47915
+ this._willSettleAt(resolve$$1(entry), i);
47916
+ }
47917
+ };
47918
+
47919
+ Enumerator.prototype._eachEntry = function (entry, i) {
47920
+ if (isMaybeThenable(entry)) {
47921
+ this._settleMaybeThenable(entry, i);
47856
47922
  } else {
47857
47923
  this._remaining--;
47858
- this._result[i] = this._makeResult(state, i, value);
47859
- if (this._remaining === 0) {
47860
- fulfill(promise, this._result);
47924
+ this._result[i] = this._makeResult(FULFILLED, i, entry);
47925
+ }
47926
+ };
47927
+
47928
+ Enumerator.prototype._settledAt = function (state, i, value) {
47929
+ var promise = this.promise;
47930
+
47931
+ if (promise._state === PENDING) {
47932
+ if (this._abortOnReject && state === REJECTED) {
47933
+ reject(promise, value);
47934
+ } else {
47935
+ this._remaining--;
47936
+ this._result[i] = this._makeResult(state, i, value);
47937
+ if (this._remaining === 0) {
47938
+ fulfill(promise, this._result);
47939
+ }
47861
47940
  }
47862
47941
  }
47863
- }
47864
- };
47942
+ };
47865
47943
 
47866
- Enumerator.prototype._makeResult = function (state, i, value) {
47867
- return value;
47868
- };
47944
+ Enumerator.prototype._makeResult = function (state, i, value) {
47945
+ return value;
47946
+ };
47869
47947
 
47870
- Enumerator.prototype._willSettleAt = function (promise, i) {
47871
- var enumerator = this;
47948
+ Enumerator.prototype._willSettleAt = function (promise, i) {
47949
+ var enumerator = this;
47872
47950
 
47873
- subscribe(promise, undefined, function (value) {
47874
- return enumerator._settledAt(FULFILLED, i, value);
47875
- }, function (reason) {
47876
- return enumerator._settledAt(REJECTED, i, reason);
47877
- });
47878
- };
47951
+ subscribe(promise, undefined, function (value) {
47952
+ return enumerator._settledAt(FULFILLED, i, value);
47953
+ }, function (reason) {
47954
+ return enumerator._settledAt(REJECTED, i, reason);
47955
+ });
47956
+ };
47957
+
47958
+ return Enumerator;
47959
+ }();
47879
47960
 
47880
47961
  function makeSettledResult(state, position, value) {
47881
47962
  if (state === FULFILLED) {
@@ -47938,12 +48019,7 @@ enifed('rsvp', ['exports', 'ember-babel', 'node-module'], function (exports, _em
47938
48019
  fulfilled, or rejected if any of them become rejected.
47939
48020
  @static
47940
48021
  */
47941
- function all(entries, label) {
47942
- if (!isArray(entries)) {
47943
- return this.reject(new TypeError("Promise.all must be called with an array"), label);
47944
- }
47945
- return new Enumerator(this, entries, true /* abort on reject */, label).promise;
47946
- }
48022
+
47947
48023
 
47948
48024
  /**
47949
48025
  `RSVP.Promise.race` returns a new promise which is settled in the same way as the
@@ -48011,27 +48087,7 @@ enifed('rsvp', ['exports', 'ember-babel', 'node-module'], function (exports, _em
48011
48087
  @return {Promise} a promise which settles in the same way as the first passed
48012
48088
  promise to settle.
48013
48089
  */
48014
- function race(entries, label) {
48015
- /*jshint validthis:true */
48016
- var Constructor = this;
48017
-
48018
- var promise = new Constructor(noop, label);
48019
-
48020
- if (!isArray(entries)) {
48021
- reject(promise, new TypeError('Promise.race must be called with an array'));
48022
- return promise;
48023
- }
48024
-
48025
- for (var i = 0; promise._state === PENDING && i < entries.length; i++) {
48026
- subscribe(Constructor.resolve(entries[i]), undefined, function (value) {
48027
- return resolve(promise, value);
48028
- }, function (reason) {
48029
- return reject(promise, reason);
48030
- });
48031
- }
48032
48090
 
48033
- return promise;
48034
- }
48035
48091
 
48036
48092
  /**
48037
48093
  `RSVP.Promise.reject` returns a promise rejected with the passed `reason`.
@@ -48068,13 +48124,7 @@ enifed('rsvp', ['exports', 'ember-babel', 'node-module'], function (exports, _em
48068
48124
  Useful for tooling.
48069
48125
  @return {Promise} a promise rejected with the given `reason`.
48070
48126
  */
48071
- function reject$1(reason, label) {
48072
- /*jshint validthis:true */
48073
- var Constructor = this;
48074
- var promise = new Constructor(noop, label);
48075
- reject(promise, reason);
48076
- return promise;
48077
- }
48127
+
48078
48128
 
48079
48129
  var guidKey = 'rsvp_' + now() + '-';
48080
48130
  var counter = 0;
@@ -48191,123 +48241,93 @@ enifed('rsvp', ['exports', 'ember-babel', 'node-module'], function (exports, _em
48191
48241
  Useful for tooling.
48192
48242
  @constructor
48193
48243
  */
48194
- function Promise(resolver, label) {
48195
- this._id = counter++;
48196
- this._label = label;
48197
- this._state = undefined;
48198
- this._result = undefined;
48199
- this._subscribers = [];
48200
48244
 
48201
- config.instrument && instrument('created', this);
48245
+ var Promise = function () {
48246
+ function Promise(resolver, label) {
48202
48247
 
48203
- if (noop !== resolver) {
48204
- typeof resolver !== 'function' && needsResolver();
48205
- this instanceof Promise ? initializePromise(this, resolver) : needsNew();
48206
- }
48207
- }
48248
+ this._id = counter++;
48249
+ this._label = label;
48250
+ this._state = undefined;
48251
+ this._result = undefined;
48252
+ this._subscribers = [];
48208
48253
 
48209
- Promise.prototype._onError = function (reason) {
48210
- var _this = this;
48254
+ config.instrument && instrument('created', this);
48211
48255
 
48212
- config.after(function () {
48213
- if (_this._onError) {
48214
- config.trigger('error', reason, _this._label);
48256
+ if (noop !== resolver) {
48257
+ typeof resolver !== 'function' && needsResolver();
48258
+ this instanceof Promise ? initializePromise(this, resolver) : needsNew();
48215
48259
  }
48216
- });
48217
- };
48218
-
48219
- /**
48220
- `catch` is simply sugar for `then(undefined, onRejection)` which makes it the same
48221
- as the catch block of a try/catch statement.
48222
-
48223
- ```js
48224
- function findAuthor(){
48225
- throw new Error('couldn\'t find that author');
48226
48260
  }
48227
-
48228
- // synchronous
48229
- try {
48230
- findAuthor();
48231
- } catch(reason) {
48232
- // something went wrong
48261
+
48262
+ Promise.prototype._onError = function (reason) {
48263
+ var _this = this;
48264
+
48265
+ config.after(function () {
48266
+ if (_this._onError) {
48267
+ config.trigger('error', reason, _this._label);
48268
+ }
48269
+ });
48270
+ };
48271
+
48272
+ Promise.prototype.catch = function (onRejection, label) {
48273
+ return this.then(undefined, onRejection, label);
48274
+ };
48275
+
48276
+ Promise.prototype.finally = function (callback, label) {
48277
+ var promise = this;
48278
+ var constructor = promise.constructor;
48279
+
48280
+ return promise.then(function (value) {
48281
+ return constructor.resolve(callback()).then(function () {
48282
+ return value;
48283
+ });
48284
+ }, function (reason) {
48285
+ return constructor.resolve(callback()).then(function () {
48286
+ throw reason;
48287
+ });
48288
+ }, label);
48289
+ };
48290
+
48291
+ return Promise;
48292
+ }();
48293
+
48294
+ Promise.cast = resolve$1; // deprecated
48295
+ Promise.all = function (entries, label) {
48296
+ if (!isArray(entries)) {
48297
+ return this.reject(new TypeError("Promise.all must be called with an array"), label);
48233
48298
  }
48234
-
48235
- // async with promises
48236
- findAuthor().catch(function(reason){
48237
- // something went wrong
48238
- });
48239
- ```
48240
-
48241
- @method catch
48242
- @param {Function} onRejection
48243
- @param {String} label optional string for labeling the promise.
48244
- Useful for tooling.
48245
- @return {Promise}
48246
- */
48247
- Promise.prototype.catch = function (onRejection, label) {
48248
- return this.then(undefined, onRejection, label);
48299
+ return new Enumerator(this, entries, true /* abort on reject */, label).promise;
48249
48300
  };
48301
+ Promise.race = function (entries, label) {
48302
+ /*jshint validthis:true */
48303
+ var Constructor = this,
48304
+ i;
48250
48305
 
48251
- /**
48252
- `finally` will be invoked regardless of the promise's fate just as native
48253
- try/catch/finally behaves
48254
-
48255
- Synchronous example:
48256
-
48257
- ```js
48258
- findAuthor() {
48259
- if (Math.random() > 0.5) {
48260
- throw new Error();
48261
- }
48262
- return new Author();
48263
- }
48264
-
48265
- try {
48266
- return findAuthor(); // succeed or fail
48267
- } catch(error) {
48268
- return findOtherAuthor();
48269
- } finally {
48270
- // always runs
48271
- // doesn't affect the return value
48306
+ var promise = new Constructor(noop, label);
48307
+
48308
+ if (!isArray(entries)) {
48309
+ reject(promise, new TypeError('Promise.race must be called with an array'));
48310
+ return promise;
48272
48311
  }
48273
- ```
48274
-
48275
- Asynchronous example:
48276
-
48277
- ```js
48278
- findAuthor().catch(function(reason){
48279
- return findOtherAuthor();
48280
- }).finally(function(){
48281
- // author was either found, or not
48282
- });
48283
- ```
48284
-
48285
- @method finally
48286
- @param {Function} callback
48287
- @param {String} label optional string for labeling the promise.
48288
- Useful for tooling.
48289
- @return {Promise}
48290
- */
48291
- Promise.prototype.finally = function (callback, label) {
48292
- var promise = this;
48293
- var constructor = promise.constructor;
48294
48312
 
48295
- return promise.then(function (value) {
48296
- return constructor.resolve(callback()).then(function () {
48297
- return value;
48298
- });
48299
- }, function (reason) {
48300
- return constructor.resolve(callback()).then(function () {
48301
- throw reason;
48313
+ for (i = 0; promise._state === PENDING && i < entries.length; i++) {
48314
+ subscribe(Constructor.resolve(entries[i]), undefined, function (value) {
48315
+ return resolve(promise, value);
48316
+ }, function (reason) {
48317
+ return reject(promise, reason);
48302
48318
  });
48303
- }, label);
48304
- };
48319
+ }
48305
48320
 
48306
- Promise.cast = resolve$1; // deprecated
48307
- Promise.all = all;
48308
- Promise.race = race;
48321
+ return promise;
48322
+ };
48309
48323
  Promise.resolve = resolve$1;
48310
- Promise.reject = reject$1;
48324
+ Promise.reject = function (reason, label) {
48325
+ /*jshint validthis:true */
48326
+ var Constructor = this;
48327
+ var promise = new Constructor(noop, label);
48328
+ reject(promise, reason);
48329
+ return promise;
48330
+ };
48311
48331
 
48312
48332
  Promise.prototype._guidKey = guidKey;
48313
48333
 
@@ -48533,16 +48553,20 @@ enifed('rsvp', ['exports', 'ember-babel', 'node-module'], function (exports, _em
48533
48553
  }
48534
48554
 
48535
48555
  function makeObject(_, argumentNames) {
48536
- var obj = {};
48556
+ var obj = {},
48557
+ x,
48558
+ i,
48559
+ name;
48537
48560
  var length = _.length;
48538
48561
  var args = new Array(length);
48539
48562
 
48540
- for (var x = 0; x < length; x++) {
48563
+ for (x = 0; x < length; x++) {
48541
48564
  args[x] = _[x];
48542
48565
  }
48543
48566
 
48544
- for (var i = 0; i < argumentNames.length; i++) {
48545
- var name = argumentNames[i];
48567
+ for (i = 0; i < argumentNames.length; i++) {
48568
+ name = argumentNames[i];
48569
+
48546
48570
  obj[name] = args[i + 1];
48547
48571
  }
48548
48572
 
@@ -48550,10 +48574,11 @@ enifed('rsvp', ['exports', 'ember-babel', 'node-module'], function (exports, _em
48550
48574
  }
48551
48575
 
48552
48576
  function arrayResult(_) {
48553
- var length = _.length;
48577
+ var length = _.length,
48578
+ i;
48554
48579
  var args = new Array(length - 1);
48555
48580
 
48556
- for (var i = 1; i < length; i++) {
48581
+ for (i = 1; i < length; i++) {
48557
48582
  args[i - 1] = _[i];
48558
48583
  }
48559
48584
 
@@ -48698,19 +48723,24 @@ enifed('rsvp', ['exports', 'ember-babel', 'node-module'], function (exports, _em
48698
48723
  */
48699
48724
  function denodeify(nodeFunc, options) {
48700
48725
  var fn = function () {
48701
- var self = this;
48726
+ var self = this,
48727
+ i,
48728
+ arg,
48729
+ p;
48702
48730
  var l = arguments.length;
48703
48731
  var args = new Array(l + 1);
48704
48732
  var promiseInput = false;
48705
48733
 
48706
- for (var i = 0; i < l; ++i) {
48707
- var arg = arguments[i];
48734
+ for (i = 0; i < l; ++i) {
48735
+ arg = arguments[i];
48736
+
48708
48737
 
48709
48738
  if (!promiseInput) {
48710
48739
  // TODO: clean this up
48711
48740
  promiseInput = needsPromiseInput(arg);
48712
48741
  if (promiseInput === GET_THEN_ERROR$1) {
48713
- var p = new Promise(noop);
48742
+ p = new Promise(noop);
48743
+
48714
48744
  reject(p, GET_THEN_ERROR$1.value);
48715
48745
  return p;
48716
48746
  } else if (promiseInput && promiseInput !== true) {
@@ -48735,7 +48765,6 @@ enifed('rsvp', ['exports', 'ember-babel', 'node-module'], function (exports, _em
48735
48765
 
48736
48766
  (0, _emberBabel.defaults)(fn, nodeFunc);
48737
48767
 
48738
-
48739
48768
  return fn;
48740
48769
  }
48741
48770
 
@@ -48787,7 +48816,6 @@ enifed('rsvp', ['exports', 'ember-babel', 'node-module'], function (exports, _em
48787
48816
  (0, _emberBabel.inherits)(AllSettled, _Enumerator);
48788
48817
 
48789
48818
  function AllSettled(Constructor, entries, label) {
48790
- (0, _emberBabel.classCallCheck)(this, AllSettled);
48791
48819
  return (0, _emberBabel.possibleConstructorReturn)(this, _Enumerator.call(this, Constructor, entries, false /* don't abort on reject */, label));
48792
48820
  }
48793
48821
 
@@ -48871,11 +48899,11 @@ enifed('rsvp', ['exports', 'ember-babel', 'node-module'], function (exports, _em
48871
48899
  function PromiseHash(Constructor, object) {
48872
48900
  var abortOnReject = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;
48873
48901
  var label = arguments[3];
48874
- (0, _emberBabel.classCallCheck)(this, PromiseHash);
48902
+
48875
48903
  return (0, _emberBabel.possibleConstructorReturn)(this, _Enumerator2.call(this, Constructor, object, abortOnReject, label));
48876
48904
  }
48877
48905
 
48878
- PromiseHash.prototype._init = function _init(Constructor, object) {
48906
+ PromiseHash.prototype._init = function (Constructor, object) {
48879
48907
  this._result = {};
48880
48908
 
48881
48909
  this._enumerate(object);
@@ -48884,8 +48912,9 @@ enifed('rsvp', ['exports', 'ember-babel', 'node-module'], function (exports, _em
48884
48912
  }
48885
48913
  };
48886
48914
 
48887
- PromiseHash.prototype._enumerate = function _enumerate(input) {
48888
- var promise = this.promise;
48915
+ PromiseHash.prototype._enumerate = function (input) {
48916
+ var promise = this.promise,
48917
+ i;
48889
48918
  var results = [];
48890
48919
 
48891
48920
  for (var key in input) {
@@ -48901,7 +48930,7 @@ enifed('rsvp', ['exports', 'ember-babel', 'node-module'], function (exports, _em
48901
48930
  this._remaining = length;
48902
48931
  var result = void 0;
48903
48932
 
48904
- for (var i = 0; promise._state === PENDING && i < length; i++) {
48933
+ for (i = 0; promise._state === PENDING && i < length; i++) {
48905
48934
  result = results[i];
48906
48935
  this._eachEntry(result.entry, result.position);
48907
48936
  }
@@ -49010,7 +49039,6 @@ enifed('rsvp', ['exports', 'ember-babel', 'node-module'], function (exports, _em
49010
49039
  (0, _emberBabel.inherits)(HashSettled, _PromiseHash);
49011
49040
 
49012
49041
  function HashSettled(Constructor, object, label) {
49013
- (0, _emberBabel.classCallCheck)(this, HashSettled);
49014
49042
  return (0, _emberBabel.possibleConstructorReturn)(this, _PromiseHash.call(this, Constructor, object, false, label));
49015
49043
  }
49016
49044
 
@@ -49308,10 +49336,11 @@ enifed('rsvp', ['exports', 'ember-babel', 'node-module'], function (exports, _em
49308
49336
  }
49309
49337
 
49310
49338
  return Promise.all(promises, label).then(function (values) {
49311
- var length = values.length;
49339
+ var length = values.length,
49340
+ i;
49312
49341
  var results = new Array(length);
49313
49342
 
49314
- for (var i = 0; i < length; i++) {
49343
+ for (i = 0; i < length; i++) {
49315
49344
  results[i] = mapFn(values[i]);
49316
49345
  }
49317
49346
 
@@ -49457,18 +49486,20 @@ enifed('rsvp', ['exports', 'ember-babel', 'node-module'], function (exports, _em
49457
49486
 
49458
49487
  var promise = isArray(promises) ? resolveAll(promises, label) : resolveSingle(promises, label);
49459
49488
  return promise.then(function (values) {
49460
- var length = values.length;
49489
+ var length = values.length,
49490
+ i;
49461
49491
  var filtered = new Array(length);
49462
49492
 
49463
- for (var i = 0; i < length; i++) {
49493
+ for (i = 0; i < length; i++) {
49464
49494
  filtered[i] = filterFn(values[i]);
49465
49495
  }
49466
49496
 
49467
49497
  return resolveAll(filtered, label).then(function (filtered) {
49468
- var results = new Array(length);
49498
+ var results = new Array(length),
49499
+ _i;
49469
49500
  var newLength = 0;
49470
49501
 
49471
- for (var _i = 0; _i < length; _i++) {
49502
+ for (_i = 0; _i < length; _i++) {
49472
49503
  if (filtered[_i]) {
49473
49504
  results[newLength] = values[_i];
49474
49505
  newLength++;
@@ -49557,9 +49588,12 @@ enifed('rsvp', ['exports', 'ember-babel', 'node-module'], function (exports, _em
49557
49588
  var queue$1 = new Array(1000);
49558
49589
 
49559
49590
  function flush() {
49560
- for (var i = 0; i < len; i += 2) {
49561
- var callback = queue$1[i];
49562
- var arg = queue$1[i + 1];
49591
+ var i, callback, arg;
49592
+
49593
+ for (i = 0; i < len; i += 2) {
49594
+ callback = queue$1[i];
49595
+ arg = queue$1[i + 1];
49596
+
49563
49597
 
49564
49598
  callback(arg);
49565
49599
 
@@ -49571,9 +49605,12 @@ enifed('rsvp', ['exports', 'ember-babel', 'node-module'], function (exports, _em
49571
49605
  }
49572
49606
 
49573
49607
  function attemptVertex() {
49608
+ var r, vertx;
49609
+
49574
49610
  try {
49575
- var r = _nodeModule.require;
49576
- var vertx = r('vertx');
49611
+ r = _nodeModule.require;
49612
+ vertx = r('vertx');
49613
+
49577
49614
  vertxNext = vertx.runOnLoop || vertx.runOnContext;
49578
49615
  return useVertxTimer();
49579
49616
  } catch (e) {
@@ -49595,15 +49632,13 @@ enifed('rsvp', ['exports', 'ember-babel', 'node-module'], function (exports, _em
49595
49632
  scheduleFlush$1 = useSetTimeout();
49596
49633
  }
49597
49634
 
49598
- var platform = void 0;
49599
-
49600
49635
  /* global self */
49601
49636
  if (typeof self === 'object') {
49602
- platform = self;
49637
+ self;
49603
49638
 
49604
49639
  /* global global */
49605
49640
  } else if (typeof global === 'object') {
49606
- platform = global;
49641
+ global;
49607
49642
  } else {
49608
49643
  throw new Error('no global: `self` or `global` found');
49609
49644
  }
@@ -49629,7 +49664,8 @@ enifed('rsvp', ['exports', 'ember-babel', 'node-module'], function (exports, _em
49629
49664
 
49630
49665
  // Set up instrumentation through `window.__PROMISE_INTRUMENTATION__`
49631
49666
  if (typeof window !== 'undefined' && typeof window['__PROMISE_INSTRUMENTATION__'] === 'object') {
49632
- var callbacks = window['__PROMISE_INSTRUMENTATION__'];
49667
+ callbacks = window['__PROMISE_INSTRUMENTATION__'];
49668
+
49633
49669
  configure('instrument', true);
49634
49670
  for (var eventName in callbacks) {
49635
49671
  if (callbacks.hasOwnProperty(eventName)) {