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.
- checksums.yaml +4 -4
- data/VERSION +1 -1
- data/dist/ember-runtime.js +130 -192
- data/dist/ember-template-compiler.js +16 -25
- data/dist/ember-testing.js +10 -12
- data/dist/ember-tests.js +122 -25
- data/dist/ember-tests.prod.js +122 -25
- data/dist/ember.debug.js +233 -223
- data/dist/ember.min.js +437 -437
- data/dist/ember.prod.js +341 -305
- metadata +3 -3
data/dist/ember.debug.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.
|
9
|
+
* @version 2.15.0-beta.2
|
10
10
|
*/
|
11
11
|
|
12
12
|
var enifed, requireModule, Ember;
|
@@ -8488,7 +8488,6 @@ enifed('@glimmer/util', ['exports'], function (exports) {
|
|
8488
8488
|
|
8489
8489
|
// import Logger from './logger';
|
8490
8490
|
// let alreadyWarned = false;
|
8491
|
-
// import Logger from './logger';
|
8492
8491
|
function debugAssert(test, msg) {
|
8493
8492
|
// if (!alreadyWarned) {
|
8494
8493
|
// alreadyWarned = true;
|
@@ -12294,7 +12293,7 @@ enifed('ember-application/system/engine-instance', ['exports', 'ember-babel', 'e
|
|
12294
12293
|
|
12295
12294
|
var parent = (0, _engineParent.getEngineParent)(this);
|
12296
12295
|
|
12297
|
-
var registrations = ['route:basic', '
|
12296
|
+
var registrations = ['route:basic', 'service:-routing', 'service:-glimmer-environment'];
|
12298
12297
|
|
12299
12298
|
registrations.forEach(function (key) {
|
12300
12299
|
return _this2.register(key, parent.resolveRegistration(key));
|
@@ -12303,7 +12302,7 @@ enifed('ember-application/system/engine-instance', ['exports', 'ember-babel', 'e
|
|
12303
12302
|
var env = parent.lookup('-environment:main');
|
12304
12303
|
this.register('-environment:main', env, { instantiate: false });
|
12305
12304
|
|
12306
|
-
var singletons = ['router:main', (0, _container.privatize)(_templateObject), '-view-registry:main', 'renderer:-' + (env.isInteractive ? 'dom' : 'inert'), 'service:-document'];
|
12305
|
+
var singletons = ['router:main', (0, _container.privatize)(_templateObject), '-view-registry:main', 'renderer:-' + (env.isInteractive ? 'dom' : 'inert'), 'service:-document', 'event_dispatcher:main'];
|
12307
12306
|
|
12308
12307
|
singletons.forEach(function (key) {
|
12309
12308
|
return _this2.register(key, parent.lookup(key), { instantiate: false });
|
@@ -13485,6 +13484,7 @@ enifed('ember-debug/deprecate', ['exports', 'ember-debug/error', 'ember-console'
|
|
13485
13484
|
@public
|
13486
13485
|
@static
|
13487
13486
|
@method registerDeprecationHandler
|
13487
|
+
@for Ember.Debug
|
13488
13488
|
@param handler {Function} A function to handle deprecation calls.
|
13489
13489
|
@since 2.1.0
|
13490
13490
|
*/
|
@@ -13671,13 +13671,7 @@ enifed("ember-debug/error", ["exports", "ember-babel"], function (exports, _embe
|
|
13671
13671
|
}
|
13672
13672
|
|
13673
13673
|
var error = Error.call(_this, message);
|
13674
|
-
|
13675
|
-
if (Error.captureStackTrace) {
|
13676
|
-
Error.captureStackTrace(_this, EmberError);
|
13677
|
-
} else {
|
13678
|
-
_this.stack = error.stack;
|
13679
|
-
}
|
13680
|
-
|
13674
|
+
_this.stack = error.stack;
|
13681
13675
|
_this.description = error.description;
|
13682
13676
|
_this.fileName = error.fileName;
|
13683
13677
|
_this.lineNumber = error.lineNumber;
|
@@ -14148,6 +14142,7 @@ enifed('ember-debug/warn', ['exports', 'ember-console', 'ember-debug/deprecate',
|
|
14148
14142
|
@public
|
14149
14143
|
@static
|
14150
14144
|
@method registerWarnHandler
|
14145
|
+
@for Ember.Debug
|
14151
14146
|
@param handler {Function} A function to handle warnings.
|
14152
14147
|
@since 2.1.0
|
14153
14148
|
*/
|
@@ -16337,6 +16332,34 @@ enifed('ember-glimmer/component', ['exports', 'ember-utils', 'ember-views', 'emb
|
|
16337
16332
|
See [Ember.Templates.helpers.yield](/api/classes/Ember.Templates.helpers.html#method_yield)
|
16338
16333
|
for more information.
|
16339
16334
|
|
16335
|
+
Layout can be used to wrap content in a component. In addition
|
16336
|
+
to wrapping content in a Component's template, you can also use
|
16337
|
+
the public layout API in your Component JavaScript.
|
16338
|
+
|
16339
|
+
```app/templates/components/person-profile.hbs
|
16340
|
+
<h1>Person's Title</h1>
|
16341
|
+
<div class='details'>{{yield}}</div>
|
16342
|
+
```
|
16343
|
+
|
16344
|
+
```app/components/person-profile.js
|
16345
|
+
import Ember from 'ember';
|
16346
|
+
import layout from '../templates/components/person-profile';
|
16347
|
+
|
16348
|
+
export default Ember.Component.extend({
|
16349
|
+
layout
|
16350
|
+
});
|
16351
|
+
```
|
16352
|
+
|
16353
|
+
The above will result in the following HTML output:
|
16354
|
+
|
16355
|
+
```html
|
16356
|
+
<h1>Person's Title</h1>
|
16357
|
+
<div class="details">
|
16358
|
+
<h2>Chief Basket Weaver</h2>
|
16359
|
+
<h3>Fisherman Industries</h3>
|
16360
|
+
</div>
|
16361
|
+
```
|
16362
|
+
|
16340
16363
|
|
16341
16364
|
## Responding to Browser Events
|
16342
16365
|
|
@@ -17899,7 +17922,17 @@ enifed('ember-glimmer/helper', ['exports', 'ember-utils', 'ember-runtime', '@gli
|
|
17899
17922
|
recompute: function () {
|
17900
17923
|
this[RECOMPUTE_TAG].dirty();
|
17901
17924
|
}
|
17902
|
-
}
|
17925
|
+
}
|
17926
|
+
|
17927
|
+
/**
|
17928
|
+
Override this function when writing a class-based helper.
|
17929
|
+
@method compute
|
17930
|
+
@param {Array} params The positional arguments to the helper
|
17931
|
+
@param {Object} hash The named arguments to the helper
|
17932
|
+
@public
|
17933
|
+
@since 1.13.0
|
17934
|
+
*/
|
17935
|
+
);
|
17903
17936
|
|
17904
17937
|
Helper.reopenClass({
|
17905
17938
|
isHelperFactory: true
|
@@ -18790,11 +18823,11 @@ enifed('ember-glimmer/helpers/get', ['exports', 'ember-babel', 'ember-metal', 'e
|
|
18790
18823
|
}(_references.CachedReference);
|
18791
18824
|
});
|
18792
18825
|
enifed("ember-glimmer/helpers/hash", ["exports"], function (exports) {
|
18793
|
-
|
18826
|
+
"use strict";
|
18794
18827
|
|
18795
|
-
|
18796
|
-
|
18797
|
-
|
18828
|
+
exports.default = function (vm, args) {
|
18829
|
+
return args.named.capture();
|
18830
|
+
};
|
18798
18831
|
});
|
18799
18832
|
enifed('ember-glimmer/helpers/if-unless', ['exports', 'ember-babel', 'ember-debug', 'ember-glimmer/utils/references', '@glimmer/reference'], function (exports, _emberBabel, _emberDebug, _references, _reference) {
|
18800
18833
|
'use strict';
|
@@ -24964,10 +24997,7 @@ enifed('ember-metal', ['exports', 'ember-environment', 'ember-utils', 'ember-deb
|
|
24964
24997
|
{
|
24965
24998
|
counters.peekCalls++;
|
24966
24999
|
}
|
24967
|
-
|
24968
|
-
// that means the meta was deleted
|
24969
|
-
// any other truthy value is a "real" meta
|
24970
|
-
if (meta === null || meta !== undefined) {
|
25000
|
+
if (meta !== undefined) {
|
24971
25001
|
return meta;
|
24972
25002
|
}
|
24973
25003
|
|
@@ -24979,14 +25009,10 @@ enifed('ember-metal', ['exports', 'ember-environment', 'ember-utils', 'ember-deb
|
|
24979
25009
|
};
|
24980
25010
|
} else {
|
24981
25011
|
setMeta = function Fallback_setMeta(obj, meta) {
|
24982
|
-
|
24983
|
-
|
24984
|
-
|
24985
|
-
|
24986
|
-
obj.__defineNonEnumerable(EMBER_META_PROPERTY);
|
24987
|
-
} else {
|
24988
|
-
Object.defineProperty(obj, META_FIELD, META_DESC);
|
24989
|
-
}
|
25012
|
+
if (obj.__defineNonEnumerable) {
|
25013
|
+
obj.__defineNonEnumerable(EMBER_META_PROPERTY);
|
25014
|
+
} else {
|
25015
|
+
Object.defineProperty(obj, META_FIELD, META_DESC);
|
24990
25016
|
}
|
24991
25017
|
|
24992
25018
|
obj[META_FIELD] = meta;
|
@@ -25035,7 +25061,7 @@ enifed('ember-metal', ['exports', 'ember-environment', 'ember-utils', 'ember-deb
|
|
25035
25061
|
var parent = void 0;
|
25036
25062
|
|
25037
25063
|
// remove this code, in-favor of explicit parent
|
25038
|
-
if (maybeMeta !== undefined
|
25064
|
+
if (maybeMeta !== undefined) {
|
25039
25065
|
if (maybeMeta.source === obj) {
|
25040
25066
|
return maybeMeta;
|
25041
25067
|
}
|
@@ -30548,10 +30574,32 @@ enifed('ember-routing/location/history_location', ['exports', 'ember-metal', 'em
|
|
30548
30574
|
Ember.HistoryLocation implements the location API using the browser's
|
30549
30575
|
history.pushState API.
|
30550
30576
|
|
30577
|
+
Using `HistoryLocation` results in URLs that are indistinguishable from a
|
30578
|
+
standard URL. This relies upon the browser's `history` API.
|
30579
|
+
|
30580
|
+
Example:
|
30581
|
+
|
30582
|
+
```javascript
|
30583
|
+
App.Router.map(function() {
|
30584
|
+
this.route('posts', function() {
|
30585
|
+
this.route('new');
|
30586
|
+
});
|
30587
|
+
});
|
30588
|
+
|
30589
|
+
App.Router.reopen({
|
30590
|
+
location: 'history'
|
30591
|
+
});
|
30592
|
+
```
|
30593
|
+
|
30594
|
+
This will result in a posts.new url of `/posts/new`.
|
30595
|
+
|
30596
|
+
Keep in mind that your server must serve the Ember app at all the routes you
|
30597
|
+
define.
|
30598
|
+
|
30551
30599
|
@class HistoryLocation
|
30552
30600
|
@namespace Ember
|
30553
30601
|
@extends Ember.Object
|
30554
|
-
@
|
30602
|
+
@protected
|
30555
30603
|
*/
|
30556
30604
|
exports.default = _emberRuntime.Object.extend({
|
30557
30605
|
implementation: 'history',
|
@@ -37559,17 +37607,29 @@ enifed('ember-runtime/mixins/array', ['exports', 'ember-utils', 'ember-metal', '
|
|
37559
37607
|
|
37560
37608
|
var meta = (0, _emberMetal.peekMeta)(array);
|
37561
37609
|
var cache = meta && meta.readableCache();
|
37610
|
+
if (cache !== undefined) {
|
37611
|
+
var length = (0, _emberMetal.get)(array, 'length');
|
37612
|
+
var addedAmount = addAmt === -1 ? 0 : addAmt;
|
37613
|
+
var removedAmount = removeAmt === -1 ? 0 : removeAmt;
|
37614
|
+
var delta = addedAmount - removedAmount;
|
37615
|
+
var previousLength = length - delta;
|
37562
37616
|
|
37563
|
-
|
37564
|
-
if (cache.firstObject !== undefined &&
|
37565
|
-
(0, _emberMetal.propertyWillChange)(array, 'firstObject'
|
37566
|
-
(0, _emberMetal.propertyDidChange)(array, 'firstObject'
|
37617
|
+
var normalStartIdx = startIdx < 0 ? previousLength + startIdx : startIdx;
|
37618
|
+
if (cache.firstObject !== undefined && normalStartIdx === 0) {
|
37619
|
+
(0, _emberMetal.propertyWillChange)(array, 'firstObject');
|
37620
|
+
(0, _emberMetal.propertyDidChange)(array, 'firstObject');
|
37567
37621
|
}
|
37568
|
-
|
37569
|
-
|
37570
|
-
|
37622
|
+
|
37623
|
+
if (cache.lastObject !== undefined) {
|
37624
|
+
var previousLastIndex = previousLength - 1;
|
37625
|
+
var lastAffectedIndex = normalStartIdx + removedAmount;
|
37626
|
+
if (previousLastIndex < lastAffectedIndex) {
|
37627
|
+
(0, _emberMetal.propertyWillChange)(array, 'lastObject');
|
37628
|
+
(0, _emberMetal.propertyDidChange)(array, 'lastObject');
|
37629
|
+
}
|
37571
37630
|
}
|
37572
37631
|
}
|
37632
|
+
|
37573
37633
|
return array;
|
37574
37634
|
}
|
37575
37635
|
|
@@ -37761,7 +37821,7 @@ enifed('ember-runtime/mixins/array', ['exports', 'ember-utils', 'ember-metal', '
|
|
37761
37821
|
function EachProxy(content) {
|
37762
37822
|
this._content = content;
|
37763
37823
|
this._keys = undefined;
|
37764
|
-
this
|
37824
|
+
(0, _emberMetal.meta)(this);
|
37765
37825
|
}
|
37766
37826
|
|
37767
37827
|
EachProxy.prototype = {
|
@@ -44796,16 +44856,18 @@ enifed('ember-testing/test/promise', ['exports', 'ember-babel', 'ember-runtime',
|
|
44796
44856
|
return _this;
|
44797
44857
|
}
|
44798
44858
|
|
44799
|
-
TestPromise.prototype.then = function then(
|
44859
|
+
TestPromise.prototype.then = function then(_onFulfillment) {
|
44800
44860
|
var _RSVP$Promise$prototy;
|
44801
44861
|
|
44862
|
+
var onFulfillment = typeof _onFulfillment === 'function' ? function (result) {
|
44863
|
+
return isolate(_onFulfillment, result);
|
44864
|
+
} : undefined;
|
44865
|
+
|
44802
44866
|
for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
|
44803
44867
|
args[_key - 1] = arguments[_key];
|
44804
44868
|
}
|
44805
44869
|
|
44806
|
-
return (_RSVP$Promise$prototy = _RSVP$Promise.prototype.then).call.apply(_RSVP$Promise$prototy, [this,
|
44807
|
-
return isolate(onFulfillment, result);
|
44808
|
-
}].concat(args));
|
44870
|
+
return (_RSVP$Promise$prototy = _RSVP$Promise.prototype.then).call.apply(_RSVP$Promise$prototy, [this, onFulfillment].concat(args));
|
44809
44871
|
};
|
44810
44872
|
|
44811
44873
|
return TestPromise;
|
@@ -48121,12 +48183,12 @@ enifed('ember/index', ['exports', 'require', 'ember-environment', 'node-module',
|
|
48121
48183
|
enifed("ember/version", ["exports"], function (exports) {
|
48122
48184
|
"use strict";
|
48123
48185
|
|
48124
|
-
exports.default = "2.15.0-beta.
|
48186
|
+
exports.default = "2.15.0-beta.2";
|
48125
48187
|
});
|
48126
48188
|
enifed("handlebars", ["exports"], function (exports) {
|
48127
48189
|
"use strict";
|
48128
48190
|
|
48129
|
-
|
48191
|
+
// File ignored in coverage tests via setting in .istanbul.yml
|
48130
48192
|
/* Jison generated parser */
|
48131
48193
|
var handlebars = function () {
|
48132
48194
|
var parser = { trace: function trace() {},
|
@@ -48889,7 +48951,10 @@ enifed("handlebars", ["exports"], function (exports) {
|
|
48889
48951
|
// Work around issue under safari where we can't directly set the column value
|
48890
48952
|
/* istanbul ignore next */
|
48891
48953
|
if (Object.defineProperty) {
|
48892
|
-
Object.defineProperty(this, 'column', {
|
48954
|
+
Object.defineProperty(this, 'column', {
|
48955
|
+
value: column,
|
48956
|
+
enumerable: true
|
48957
|
+
});
|
48893
48958
|
} else {
|
48894
48959
|
this.column = column;
|
48895
48960
|
}
|
@@ -52924,100 +52989,106 @@ enifed('rsvp', ['exports', 'ember-babel', 'node-module'], function (exports, _em
|
|
52924
52989
|
return child;
|
52925
52990
|
}
|
52926
52991
|
|
52927
|
-
|
52928
|
-
|
52929
|
-
|
52930
|
-
this._abortOnReject = abortOnReject;
|
52931
|
-
|
52932
|
-
this._init.apply(this, arguments);
|
52933
|
-
}
|
52992
|
+
var Enumerator = function () {
|
52993
|
+
function Enumerator(Constructor, input, abortOnReject, label) {
|
52994
|
+
(0, _emberBabel.classCallCheck)(this, Enumerator);
|
52934
52995
|
|
52935
|
-
|
52936
|
-
|
52937
|
-
|
52938
|
-
this._remaining = len;
|
52939
|
-
this._result = new Array(len);
|
52996
|
+
this._instanceConstructor = Constructor;
|
52997
|
+
this.promise = new Constructor(noop, label);
|
52998
|
+
this._abortOnReject = abortOnReject;
|
52940
52999
|
|
52941
|
-
|
52942
|
-
if (this._remaining === 0) {
|
52943
|
-
fulfill(this.promise, this._result);
|
53000
|
+
this._init.apply(this, arguments);
|
52944
53001
|
}
|
52945
|
-
};
|
52946
|
-
|
52947
|
-
Enumerator.prototype._enumerate = function (input) {
|
52948
|
-
var length = this.length;
|
52949
|
-
var promise = this.promise;
|
52950
53002
|
|
52951
|
-
|
52952
|
-
|
52953
|
-
|
52954
|
-
|
53003
|
+
Enumerator.prototype._init = function _init(Constructor, input) {
|
53004
|
+
var len = input.length || 0;
|
53005
|
+
this.length = len;
|
53006
|
+
this._remaining = len;
|
53007
|
+
this._result = new Array(len);
|
52955
53008
|
|
52956
|
-
|
52957
|
-
|
52958
|
-
|
53009
|
+
this._enumerate(input);
|
53010
|
+
if (this._remaining === 0) {
|
53011
|
+
fulfill(this.promise, this._result);
|
53012
|
+
}
|
53013
|
+
};
|
52959
53014
|
|
52960
|
-
|
52961
|
-
var
|
53015
|
+
Enumerator.prototype._enumerate = function _enumerate(input) {
|
53016
|
+
var length = this.length;
|
53017
|
+
var promise = this.promise;
|
52962
53018
|
|
52963
|
-
|
52964
|
-
|
52965
|
-
this._settledAt(entry._state, i, entry._result);
|
52966
|
-
} else if (typeof then$$1 !== 'function') {
|
52967
|
-
this._remaining--;
|
52968
|
-
this._result[i] = this._makeResult(FULFILLED, i, entry);
|
52969
|
-
} else if (c === Promise) {
|
52970
|
-
var promise = new c(noop);
|
52971
|
-
handleMaybeThenable(promise, entry, then$$1);
|
52972
|
-
this._willSettleAt(promise, i);
|
52973
|
-
} else {
|
52974
|
-
this._willSettleAt(new c(function (resolve$$1) {
|
52975
|
-
return resolve$$1(entry);
|
52976
|
-
}), i);
|
53019
|
+
for (var i = 0; promise._state === PENDING && i < length; i++) {
|
53020
|
+
this._eachEntry(input[i], i);
|
52977
53021
|
}
|
52978
|
-
}
|
52979
|
-
this._willSettleAt(resolve$$1(entry), i);
|
52980
|
-
}
|
52981
|
-
};
|
53022
|
+
};
|
52982
53023
|
|
52983
|
-
|
52984
|
-
|
52985
|
-
|
52986
|
-
} else {
|
52987
|
-
this._remaining--;
|
52988
|
-
this._result[i] = this._makeResult(FULFILLED, i, entry);
|
52989
|
-
}
|
52990
|
-
};
|
53024
|
+
Enumerator.prototype._settleMaybeThenable = function _settleMaybeThenable(entry, i) {
|
53025
|
+
var c = this._instanceConstructor;
|
53026
|
+
var resolve$$1 = c.resolve;
|
52991
53027
|
|
52992
|
-
|
52993
|
-
|
53028
|
+
if (resolve$$1 === resolve$1) {
|
53029
|
+
var then$$1 = getThen(entry);
|
52994
53030
|
|
52995
|
-
|
52996
|
-
|
52997
|
-
|
53031
|
+
if (then$$1 === then && entry._state !== PENDING) {
|
53032
|
+
entry._onError = null;
|
53033
|
+
this._settledAt(entry._state, i, entry._result);
|
53034
|
+
} else if (typeof then$$1 !== 'function') {
|
53035
|
+
this._remaining--;
|
53036
|
+
this._result[i] = this._makeResult(FULFILLED, i, entry);
|
53037
|
+
} else if (c === Promise) {
|
53038
|
+
var promise = new c(noop);
|
53039
|
+
handleMaybeThenable(promise, entry, then$$1);
|
53040
|
+
this._willSettleAt(promise, i);
|
53041
|
+
} else {
|
53042
|
+
this._willSettleAt(new c(function (resolve$$1) {
|
53043
|
+
return resolve$$1(entry);
|
53044
|
+
}), i);
|
53045
|
+
}
|
53046
|
+
} else {
|
53047
|
+
this._willSettleAt(resolve$$1(entry), i);
|
53048
|
+
}
|
53049
|
+
};
|
53050
|
+
|
53051
|
+
Enumerator.prototype._eachEntry = function _eachEntry(entry, i) {
|
53052
|
+
if (isMaybeThenable(entry)) {
|
53053
|
+
this._settleMaybeThenable(entry, i);
|
52998
53054
|
} else {
|
52999
53055
|
this._remaining--;
|
53000
|
-
this._result[i] = this._makeResult(
|
53001
|
-
|
53002
|
-
|
53056
|
+
this._result[i] = this._makeResult(FULFILLED, i, entry);
|
53057
|
+
}
|
53058
|
+
};
|
53059
|
+
|
53060
|
+
Enumerator.prototype._settledAt = function _settledAt(state, i, value) {
|
53061
|
+
var promise = this.promise;
|
53062
|
+
|
53063
|
+
if (promise._state === PENDING) {
|
53064
|
+
if (this._abortOnReject && state === REJECTED) {
|
53065
|
+
reject(promise, value);
|
53066
|
+
} else {
|
53067
|
+
this._remaining--;
|
53068
|
+
this._result[i] = this._makeResult(state, i, value);
|
53069
|
+
if (this._remaining === 0) {
|
53070
|
+
fulfill(promise, this._result);
|
53071
|
+
}
|
53003
53072
|
}
|
53004
53073
|
}
|
53005
|
-
}
|
53006
|
-
};
|
53074
|
+
};
|
53007
53075
|
|
53008
|
-
|
53009
|
-
|
53010
|
-
|
53076
|
+
Enumerator.prototype._makeResult = function _makeResult(state, i, value) {
|
53077
|
+
return value;
|
53078
|
+
};
|
53011
53079
|
|
53012
|
-
|
53013
|
-
|
53080
|
+
Enumerator.prototype._willSettleAt = function _willSettleAt(promise, i) {
|
53081
|
+
var enumerator = this;
|
53014
53082
|
|
53015
|
-
|
53016
|
-
|
53017
|
-
|
53018
|
-
|
53019
|
-
|
53020
|
-
|
53083
|
+
subscribe(promise, undefined, function (value) {
|
53084
|
+
return enumerator._settledAt(FULFILLED, i, value);
|
53085
|
+
}, function (reason) {
|
53086
|
+
return enumerator._settledAt(REJECTED, i, reason);
|
53087
|
+
});
|
53088
|
+
};
|
53089
|
+
|
53090
|
+
return Enumerator;
|
53091
|
+
}();
|
53021
53092
|
|
53022
53093
|
function makeSettledResult(state, position, value) {
|
53023
53094
|
if (state === FULFILLED) {
|
@@ -53333,117 +53404,56 @@ enifed('rsvp', ['exports', 'ember-babel', 'node-module'], function (exports, _em
|
|
53333
53404
|
Useful for tooling.
|
53334
53405
|
@constructor
|
53335
53406
|
*/
|
53336
|
-
function Promise(resolver, label) {
|
53337
|
-
this._id = counter++;
|
53338
|
-
this._label = label;
|
53339
|
-
this._state = undefined;
|
53340
|
-
this._result = undefined;
|
53341
|
-
this._subscribers = [];
|
53342
53407
|
|
53343
|
-
|
53408
|
+
var Promise = function () {
|
53409
|
+
function Promise(resolver, label) {
|
53410
|
+
(0, _emberBabel.classCallCheck)(this, Promise);
|
53344
53411
|
|
53345
|
-
|
53346
|
-
|
53347
|
-
this
|
53348
|
-
|
53349
|
-
|
53412
|
+
this._id = counter++;
|
53413
|
+
this._label = label;
|
53414
|
+
this._state = undefined;
|
53415
|
+
this._result = undefined;
|
53416
|
+
this._subscribers = [];
|
53350
53417
|
|
53351
|
-
|
53352
|
-
var _this = this;
|
53418
|
+
config.instrument && instrument('created', this);
|
53353
53419
|
|
53354
|
-
|
53355
|
-
|
53356
|
-
|
53420
|
+
if (noop !== resolver) {
|
53421
|
+
typeof resolver !== 'function' && needsResolver();
|
53422
|
+
this instanceof Promise ? initializePromise(this, resolver) : needsNew();
|
53357
53423
|
}
|
53358
|
-
});
|
53359
|
-
};
|
53360
|
-
|
53361
|
-
/**
|
53362
|
-
`catch` is simply sugar for `then(undefined, onRejection)` which makes it the same
|
53363
|
-
as the catch block of a try/catch statement.
|
53364
|
-
|
53365
|
-
```js
|
53366
|
-
function findAuthor(){
|
53367
|
-
throw new Error('couldn\'t find that author');
|
53368
53424
|
}
|
53369
|
-
|
53370
|
-
// synchronous
|
53371
|
-
try {
|
53372
|
-
findAuthor();
|
53373
|
-
} catch(reason) {
|
53374
|
-
// something went wrong
|
53375
|
-
}
|
53376
|
-
|
53377
|
-
// async with promises
|
53378
|
-
findAuthor().catch(function(reason){
|
53379
|
-
// something went wrong
|
53380
|
-
});
|
53381
|
-
```
|
53382
|
-
|
53383
|
-
@method catch
|
53384
|
-
@param {Function} onRejection
|
53385
|
-
@param {String} label optional string for labeling the promise.
|
53386
|
-
Useful for tooling.
|
53387
|
-
@return {Promise}
|
53388
|
-
*/
|
53389
|
-
Promise.prototype.catch = function (onRejection, label) {
|
53390
|
-
return this.then(undefined, onRejection, label);
|
53391
|
-
};
|
53392
53425
|
|
53393
|
-
|
53394
|
-
|
53395
|
-
try/catch/finally behaves
|
53396
|
-
|
53397
|
-
Synchronous example:
|
53398
|
-
|
53399
|
-
```js
|
53400
|
-
findAuthor() {
|
53401
|
-
if (Math.random() > 0.5) {
|
53402
|
-
throw new Error();
|
53403
|
-
}
|
53404
|
-
return new Author();
|
53405
|
-
}
|
53406
|
-
|
53407
|
-
try {
|
53408
|
-
return findAuthor(); // succeed or fail
|
53409
|
-
} catch(error) {
|
53410
|
-
return findOtherAuthor();
|
53411
|
-
} finally {
|
53412
|
-
// always runs
|
53413
|
-
// doesn't affect the return value
|
53414
|
-
}
|
53415
|
-
```
|
53416
|
-
|
53417
|
-
Asynchronous example:
|
53418
|
-
|
53419
|
-
```js
|
53420
|
-
findAuthor().catch(function(reason){
|
53421
|
-
return findOtherAuthor();
|
53422
|
-
}).finally(function(){
|
53423
|
-
// author was either found, or not
|
53424
|
-
});
|
53425
|
-
```
|
53426
|
-
|
53427
|
-
@method finally
|
53428
|
-
@param {Function} callback
|
53429
|
-
@param {String} label optional string for labeling the promise.
|
53430
|
-
Useful for tooling.
|
53431
|
-
@return {Promise}
|
53432
|
-
*/
|
53433
|
-
Promise.prototype.finally = function (callback, label) {
|
53434
|
-
var promise = this;
|
53435
|
-
var constructor = promise.constructor;
|
53426
|
+
Promise.prototype._onError = function _onError(reason) {
|
53427
|
+
var _this = this;
|
53436
53428
|
|
53437
|
-
|
53438
|
-
|
53439
|
-
|
53440
|
-
|
53441
|
-
}, function (reason) {
|
53442
|
-
return constructor.resolve(callback()).then(function () {
|
53443
|
-
throw reason;
|
53429
|
+
config.after(function () {
|
53430
|
+
if (_this._onError) {
|
53431
|
+
config.trigger('error', reason, _this._label);
|
53432
|
+
}
|
53444
53433
|
});
|
53445
|
-
}
|
53446
|
-
|
53434
|
+
};
|
53435
|
+
|
53436
|
+
Promise.prototype.catch = function _catch(onRejection, label) {
|
53437
|
+
return this.then(undefined, onRejection, label);
|
53438
|
+
};
|
53439
|
+
|
53440
|
+
Promise.prototype.finally = function _finally(callback, label) {
|
53441
|
+
var promise = this;
|
53442
|
+
var constructor = promise.constructor;
|
53443
|
+
|
53444
|
+
return promise.then(function (value) {
|
53445
|
+
return constructor.resolve(callback()).then(function () {
|
53446
|
+
return value;
|
53447
|
+
});
|
53448
|
+
}, function (reason) {
|
53449
|
+
return constructor.resolve(callback()).then(function () {
|
53450
|
+
throw reason;
|
53451
|
+
});
|
53452
|
+
}, label);
|
53453
|
+
};
|
53454
|
+
|
53455
|
+
return Promise;
|
53456
|
+
}();
|
53447
53457
|
|
53448
53458
|
Promise.cast = resolve$1; // deprecated
|
53449
53459
|
Promise.all = all;
|