ember-source 1.8.0.beta.3 → 1.8.0.beta.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/VERSION +1 -1
- data/dist/ember-runtime.js +215 -89
- data/dist/ember-tests.js +353 -15
- data/dist/ember-tests.prod.js +353 -15
- data/dist/ember.js +318 -182
- data/dist/ember.min.js +12 -12
- data/dist/ember.prod.js +316 -182
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 1ffeb5cdfb2eb08e6473fc492c7492620bb6dab8
|
4
|
+
data.tar.gz: 097e80d0bed3b23bc532d963ac4236d2bc68003e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 633d7ca1d371f1a22efc8647b307c03e682ae4ec52c557e200f5a84b6bfc460f7cbd8a2019e451d6b15abdd1154445d4b5833bc776832caff8f4340552c37c02
|
7
|
+
data.tar.gz: 9c16f7819ee9d7cea4deb894fcc2be592063eff8e6abb1c7d1b63949f079f92fb55ce8ad99c9a1a5e7742a1ec116efc34888bb821f78d677b35493630186cec4
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
1.8.0-beta.
|
1
|
+
1.8.0-beta.4
|
data/dist/ember-runtime.js
CHANGED
@@ -5,7 +5,7 @@
|
|
5
5
|
* Portions Copyright 2008-2011 Apple Inc. All rights reserved.
|
6
6
|
* @license Licensed under MIT license
|
7
7
|
* See https://raw.github.com/emberjs/ember.js/master/LICENSE
|
8
|
-
* @version 1.8.0-beta.
|
8
|
+
* @version 1.8.0-beta.4
|
9
9
|
*/
|
10
10
|
|
11
11
|
(function() {
|
@@ -82,6 +82,7 @@ define("backburner",
|
|
82
82
|
var isNumber = __dependency1__.isNumber;
|
83
83
|
var isCoercableNumber = __dependency1__.isCoercableNumber;
|
84
84
|
var wrapInTryCatch = __dependency1__.wrapInTryCatch;
|
85
|
+
var now = __dependency1__.now;
|
85
86
|
|
86
87
|
var needsIETryCatchFix = __dependency2__.needsIETryCatchFix;
|
87
88
|
|
@@ -251,9 +252,11 @@ define("backburner",
|
|
251
252
|
setTimeout: function() {
|
252
253
|
var l = arguments.length;
|
253
254
|
var args = new Array(l);
|
255
|
+
|
254
256
|
for (var x = 0; x < l; x++) {
|
255
257
|
args[x] = arguments[x];
|
256
258
|
}
|
259
|
+
|
257
260
|
var length = args.length,
|
258
261
|
method, wait, target,
|
259
262
|
methodOrTarget, methodOrWait, methodOrArgs;
|
@@ -300,7 +303,7 @@ define("backburner",
|
|
300
303
|
}
|
301
304
|
}
|
302
305
|
|
303
|
-
var executeAt = (
|
306
|
+
var executeAt = now() + parseInt(wait, 10);
|
304
307
|
|
305
308
|
if (isString(method)) {
|
306
309
|
method = target[method];
|
@@ -331,7 +334,7 @@ define("backburner",
|
|
331
334
|
},
|
332
335
|
|
333
336
|
throttle: function(target, method /* , args, wait, [immediate] */) {
|
334
|
-
var
|
337
|
+
var backburner = this;
|
335
338
|
var args = arguments;
|
336
339
|
var immediate = pop.call(args);
|
337
340
|
var wait, throttler, index, timer;
|
@@ -350,16 +353,16 @@ define("backburner",
|
|
350
353
|
|
351
354
|
timer = global.setTimeout(function() {
|
352
355
|
if (!immediate) {
|
353
|
-
|
356
|
+
backburner.run.apply(backburner, args);
|
354
357
|
}
|
355
|
-
var index = findThrottler(target, method,
|
358
|
+
var index = findThrottler(target, method, backburner._throttlers);
|
356
359
|
if (index > -1) {
|
357
|
-
|
360
|
+
backburner._throttlers.splice(index, 1);
|
358
361
|
}
|
359
362
|
}, wait);
|
360
363
|
|
361
364
|
if (immediate) {
|
362
|
-
|
365
|
+
this.run.apply(this, args);
|
363
366
|
}
|
364
367
|
|
365
368
|
throttler = [target, method, timer];
|
@@ -370,7 +373,7 @@ define("backburner",
|
|
370
373
|
},
|
371
374
|
|
372
375
|
debounce: function(target, method /* , args, wait, [immediate] */) {
|
373
|
-
var
|
376
|
+
var backburner = this;
|
374
377
|
var args = arguments;
|
375
378
|
var immediate = pop.call(args);
|
376
379
|
var wait, index, debouncee, timer;
|
@@ -394,16 +397,16 @@ define("backburner",
|
|
394
397
|
|
395
398
|
timer = global.setTimeout(function() {
|
396
399
|
if (!immediate) {
|
397
|
-
|
400
|
+
backburner.run.apply(backburner, args);
|
398
401
|
}
|
399
|
-
var index = findDebouncee(target, method,
|
402
|
+
var index = findDebouncee(target, method, backburner._debouncees);
|
400
403
|
if (index > -1) {
|
401
|
-
|
404
|
+
backburner._debouncees.splice(index, 1);
|
402
405
|
}
|
403
406
|
}, wait);
|
404
407
|
|
405
408
|
if (immediate && index === -1) {
|
406
|
-
|
409
|
+
backburner.run.apply(backburner, args);
|
407
410
|
}
|
408
411
|
|
409
412
|
debouncee = [
|
@@ -412,7 +415,7 @@ define("backburner",
|
|
412
415
|
timer
|
413
416
|
];
|
414
417
|
|
415
|
-
|
418
|
+
backburner._debouncees.push(debouncee);
|
416
419
|
|
417
420
|
return debouncee;
|
418
421
|
},
|
@@ -459,7 +462,7 @@ define("backburner",
|
|
459
462
|
this._laterTimer = null;
|
460
463
|
}
|
461
464
|
if (this._timers.length > 0) { // Update to next available timer when available
|
462
|
-
updateLaterTimer(this, this._timers[0], this._timers[0] - (
|
465
|
+
updateLaterTimer(this, this._timers[0], this._timers[0] - now());
|
463
466
|
}
|
464
467
|
}
|
465
468
|
return true;
|
@@ -519,48 +522,48 @@ define("backburner",
|
|
519
522
|
});
|
520
523
|
}
|
521
524
|
|
522
|
-
function updateLaterTimer(
|
523
|
-
var
|
524
|
-
if (!
|
525
|
+
function updateLaterTimer(backburner, executeAt, wait) {
|
526
|
+
var n = now();
|
527
|
+
if (!backburner._laterTimer || executeAt < backburner._laterTimerExpiresAt || backburner._laterTimerExpiresAt < n) {
|
525
528
|
|
526
|
-
if (
|
529
|
+
if (backburner._laterTimer) {
|
527
530
|
// Clear when:
|
528
531
|
// - Already expired
|
529
532
|
// - New timer is earlier
|
530
|
-
clearTimeout(
|
533
|
+
clearTimeout(backburner._laterTimer);
|
531
534
|
|
532
|
-
if (
|
535
|
+
if (backburner._laterTimerExpiresAt < n) { // If timer was never triggered
|
533
536
|
// Calculate the left-over wait-time
|
534
|
-
wait = Math.max(0, executeAt -
|
537
|
+
wait = Math.max(0, executeAt - n);
|
535
538
|
}
|
536
539
|
}
|
537
540
|
|
538
|
-
|
539
|
-
|
540
|
-
|
541
|
-
executeTimers(
|
541
|
+
backburner._laterTimer = global.setTimeout(function() {
|
542
|
+
backburner._laterTimer = null;
|
543
|
+
backburner._laterTimerExpiresAt = null;
|
544
|
+
executeTimers(backburner);
|
542
545
|
}, wait);
|
543
546
|
|
544
|
-
|
547
|
+
backburner._laterTimerExpiresAt = n + wait;
|
545
548
|
}
|
546
549
|
}
|
547
550
|
|
548
|
-
function executeTimers(
|
549
|
-
var
|
551
|
+
function executeTimers(backburner) {
|
552
|
+
var n = now();
|
550
553
|
var fns, i, l;
|
551
554
|
|
552
|
-
|
553
|
-
i = searchTimer(
|
555
|
+
backburner.run(function() {
|
556
|
+
i = searchTimer(n, backburner._timers);
|
554
557
|
|
555
|
-
fns =
|
558
|
+
fns = backburner._timers.splice(0, i);
|
556
559
|
|
557
560
|
for (i = 1, l = fns.length; i < l; i += 2) {
|
558
|
-
|
561
|
+
backburner.schedule(backburner.options.defaultQueue, null, fns[i]);
|
559
562
|
}
|
560
563
|
});
|
561
564
|
|
562
|
-
if (
|
563
|
-
updateLaterTimer(
|
565
|
+
if (backburner._timers.length) {
|
566
|
+
updateLaterTimer(backburner, backburner._timers[0], backburner._timers[0] - n);
|
564
567
|
}
|
565
568
|
}
|
566
569
|
|
@@ -713,7 +716,9 @@ define("backburner/deferred-action-queues",
|
|
713
716
|
var queueIndex = 0;
|
714
717
|
var numberOfQueueItems = queueItems.length;
|
715
718
|
|
716
|
-
if (numberOfQueueItems && before) {
|
719
|
+
if (numberOfQueueItems && before) {
|
720
|
+
before();
|
721
|
+
}
|
717
722
|
|
718
723
|
while (queueIndex < numberOfQueueItems) {
|
719
724
|
target = queueItems[queueIndex];
|
@@ -721,10 +726,26 @@ define("backburner/deferred-action-queues",
|
|
721
726
|
args = queueItems[queueIndex+2];
|
722
727
|
errorRecordedForStack = queueItems[queueIndex+3]; // Debugging assistance
|
723
728
|
|
724
|
-
|
729
|
+
//
|
730
|
+
|
731
|
+
if (isString(method)) {
|
732
|
+
method = target[method];
|
733
|
+
}
|
725
734
|
|
726
735
|
// method could have been nullified / canceled during flush
|
727
736
|
if (method) {
|
737
|
+
//
|
738
|
+
// ** Attention intrepid developer **
|
739
|
+
//
|
740
|
+
// To find out the stack of this task when it was scheduled onto
|
741
|
+
// the run loop, add the following to your app.js:
|
742
|
+
//
|
743
|
+
// Ember.run.backburner.DEBUG = true; // NOTE: This slows your app, don't leave it on in production.
|
744
|
+
//
|
745
|
+
// Once that is in place, when you are at a breakpoint and navigate
|
746
|
+
// here in the stack explorer, you can look at `errorRecordedForStack.stack`,
|
747
|
+
// which will be the captured stack when this job was scheduled.
|
748
|
+
//
|
728
749
|
invoke(target, method, args, onError, errorRecordedForStack);
|
729
750
|
}
|
730
751
|
|
@@ -732,7 +753,9 @@ define("backburner/deferred-action-queues",
|
|
732
753
|
}
|
733
754
|
|
734
755
|
queue._queueBeingFlushed = null;
|
735
|
-
if (numberOfQueueItems && after) {
|
756
|
+
if (numberOfQueueItems && after) {
|
757
|
+
after();
|
758
|
+
}
|
736
759
|
|
737
760
|
if ((priorQueueNameIndex = indexOfPriorQueueWithActions(this, queueNameIndex)) !== -1) {
|
738
761
|
queueNameIndex = priorQueueNameIndex;
|
@@ -927,12 +950,28 @@ define("backburner/queue",
|
|
927
950
|
|
928
951
|
cancel: function(actionToCancel) {
|
929
952
|
var queue = this._queue, currentTarget, currentMethod, i, l;
|
953
|
+
var target = actionToCancel.target;
|
954
|
+
var method = actionToCancel.method;
|
955
|
+
var GUID_KEY = this.globalOptions.GUID_KEY;
|
956
|
+
|
957
|
+
if (GUID_KEY && this.targetQueues && target) {
|
958
|
+
var targetQueue = this.targetQueues[target[GUID_KEY]];
|
959
|
+
|
960
|
+
if (targetQueue) {
|
961
|
+
for (i = 0, l = targetQueue.length; i < l; i++) {
|
962
|
+
if (targetQueue[i] === method) {
|
963
|
+
targetQueue.splice(i, 1);
|
964
|
+
}
|
965
|
+
}
|
966
|
+
}
|
967
|
+
}
|
930
968
|
|
931
969
|
for (i = 0, l = queue.length; i < l; i += 4) {
|
932
970
|
currentTarget = queue[i];
|
933
971
|
currentMethod = queue[i+1];
|
934
972
|
|
935
|
-
if (currentTarget ===
|
973
|
+
if (currentTarget === target &&
|
974
|
+
currentMethod === method) {
|
936
975
|
queue.splice(i, 4);
|
937
976
|
return true;
|
938
977
|
}
|
@@ -948,7 +987,8 @@ define("backburner/queue",
|
|
948
987
|
currentTarget = queue[i];
|
949
988
|
currentMethod = queue[i+1];
|
950
989
|
|
951
|
-
if (currentTarget ===
|
990
|
+
if (currentTarget === target &&
|
991
|
+
currentMethod === method) {
|
952
992
|
// don't mess with array during flush
|
953
993
|
// just nullify the method
|
954
994
|
queue[i+1] = null;
|
@@ -972,7 +1012,11 @@ define("backburner/utils",
|
|
972
1012
|
}
|
973
1013
|
}
|
974
1014
|
|
975
|
-
__exports__.each = each
|
1015
|
+
__exports__.each = each;// Date.now is not available in browsers < IE9
|
1016
|
+
// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/now#Compatibility
|
1017
|
+
var now = Date.now || function() { return new Date().getTime(); };
|
1018
|
+
__exports__.now = now;
|
1019
|
+
function isString(suspect) {
|
976
1020
|
return typeof suspect === 'string';
|
977
1021
|
}
|
978
1022
|
|
@@ -2473,7 +2517,7 @@ define("ember-metal/binding",
|
|
2473
2517
|
var set = __dependency3__.set;
|
2474
2518
|
var trySet = __dependency3__.trySet;
|
2475
2519
|
var guidFor = __dependency4__.guidFor;
|
2476
|
-
var Map = __dependency5__
|
2520
|
+
var Map = __dependency5__["default"];
|
2477
2521
|
var addObserver = __dependency6__.addObserver;
|
2478
2522
|
var removeObserver = __dependency6__.removeObserver;
|
2479
2523
|
var _suspendObserver = __dependency6__._suspendObserver;
|
@@ -2525,7 +2569,7 @@ define("ember-metal/binding",
|
|
2525
2569
|
this._direction = 'fwd';
|
2526
2570
|
this._from = fromPath;
|
2527
2571
|
this._to = toPath;
|
2528
|
-
this._directionMap = Map
|
2572
|
+
this._directionMap = new Map();
|
2529
2573
|
this._readyToSync = undefined;
|
2530
2574
|
this._oneWay = undefined;
|
2531
2575
|
}
|
@@ -2711,7 +2755,7 @@ define("ember-metal/binding",
|
|
2711
2755
|
var fromPath = this._from;
|
2712
2756
|
var toPath = this._to;
|
2713
2757
|
|
2714
|
-
directionMap.
|
2758
|
+
directionMap.delete(obj);
|
2715
2759
|
|
2716
2760
|
// if we're synchronizing from the remote object...
|
2717
2761
|
if (direction === 'fwd') {
|
@@ -3006,7 +3050,7 @@ define("ember-metal/cache",
|
|
3006
3050
|
value = this.set(key, this.func(key));
|
3007
3051
|
} else if (value === UNDEFINED) {
|
3008
3052
|
this.hits ++;
|
3009
|
-
value =
|
3053
|
+
value = undefined;
|
3010
3054
|
} else {
|
3011
3055
|
this.hits ++;
|
3012
3056
|
// nothing to translate
|
@@ -4725,7 +4769,7 @@ define("ember-metal/core",
|
|
4725
4769
|
|
4726
4770
|
@class Ember
|
4727
4771
|
@static
|
4728
|
-
@version 1.8.0-beta.
|
4772
|
+
@version 1.8.0-beta.4
|
4729
4773
|
*/
|
4730
4774
|
|
4731
4775
|
if ('undefined' === typeof Ember) {
|
@@ -4752,10 +4796,10 @@ define("ember-metal/core",
|
|
4752
4796
|
/**
|
4753
4797
|
@property VERSION
|
4754
4798
|
@type String
|
4755
|
-
@default '1.8.0-beta.
|
4799
|
+
@default '1.8.0-beta.4'
|
4756
4800
|
@static
|
4757
4801
|
*/
|
4758
|
-
Ember.VERSION = '1.8.0-beta.
|
4802
|
+
Ember.VERSION = '1.8.0-beta.4';
|
4759
4803
|
|
4760
4804
|
/**
|
4761
4805
|
Standard environmental variables. You can define these in a global `EmberENV`
|
@@ -6541,8 +6585,8 @@ define("ember-metal/logger",
|
|
6541
6585
|
};
|
6542
6586
|
});
|
6543
6587
|
define("ember-metal/map",
|
6544
|
-
["ember-metal/utils","ember-metal/array","ember-metal/platform","exports"],
|
6545
|
-
function(__dependency1__, __dependency2__, __dependency3__, __exports__) {
|
6588
|
+
["ember-metal/utils","ember-metal/array","ember-metal/platform","ember-metal/deprecate_property","exports"],
|
6589
|
+
function(__dependency1__, __dependency2__, __dependency3__, __dependency4__, __exports__) {
|
6546
6590
|
"use strict";
|
6547
6591
|
/**
|
6548
6592
|
@module ember-metal
|
@@ -6559,9 +6603,7 @@ define("ember-metal/map",
|
|
6559
6603
|
|
6560
6604
|
This implementation follows the current iteration of the ES6 proposal for
|
6561
6605
|
maps (http://wiki.ecmascript.org/doku.php?id=harmony:simple_maps_and_sets),
|
6562
|
-
with
|
6563
|
-
on older browsers, we do not use the `delete` name (using `remove` instead).
|
6564
|
-
Second, as we do not have the luxury of in-VM iteration, we implement a
|
6606
|
+
with one exception: as we do not have the luxury of in-VM iteration, we implement a
|
6565
6607
|
forEach method for iteration.
|
6566
6608
|
|
6567
6609
|
Map is mocked out to look like an Ember object, so you can do
|
@@ -6571,6 +6613,7 @@ define("ember-metal/map",
|
|
6571
6613
|
var guidFor = __dependency1__.guidFor;
|
6572
6614
|
var indexOf = __dependency2__.indexOf;
|
6573
6615
|
var create = __dependency3__.create;
|
6616
|
+
var deprecateProperty = __dependency4__.deprecateProperty;
|
6574
6617
|
|
6575
6618
|
function missingFunction(fn) {
|
6576
6619
|
throw new TypeError('' + Object.prototype.toString.call(fn) + " is not a function");
|
@@ -6616,6 +6659,7 @@ define("ember-metal/map",
|
|
6616
6659
|
|
6617
6660
|
if (this instanceof OrderedSet) {
|
6618
6661
|
this.clear();
|
6662
|
+
this._silenceRemoveDeprecation = false;
|
6619
6663
|
} else {
|
6620
6664
|
missingNew("OrderedSet");
|
6621
6665
|
}
|
@@ -6674,7 +6718,9 @@ define("ember-metal/map",
|
|
6674
6718
|
@return {Boolean}
|
6675
6719
|
*/
|
6676
6720
|
remove: function(obj, _guid) {
|
6677
|
-
|
6721
|
+
Ember.deprecate('Calling `OrderedSet.prototype.remove` has been deprecated, please use `OrderedSet.prototype.delete` instead.', this._silenceRemoveDeprecation);
|
6722
|
+
|
6723
|
+
return this.delete(obj, _guid);
|
6678
6724
|
},
|
6679
6725
|
|
6680
6726
|
/**
|
@@ -6683,7 +6729,7 @@ define("ember-metal/map",
|
|
6683
6729
|
@param _guid (optional and for internal use only)
|
6684
6730
|
@return {Boolean}
|
6685
6731
|
*/
|
6686
|
-
|
6732
|
+
delete: function(obj, _guid) {
|
6687
6733
|
var guid = _guid || guidFor(obj);
|
6688
6734
|
var presenceSet = this.presenceSet;
|
6689
6735
|
var list = this.list;
|
@@ -6715,6 +6761,8 @@ define("ember-metal/map",
|
|
6715
6761
|
@return {Boolean}
|
6716
6762
|
*/
|
6717
6763
|
has: function(obj) {
|
6764
|
+
if (this.size === 0) { return false; }
|
6765
|
+
|
6718
6766
|
var guid = guidFor(obj);
|
6719
6767
|
var presenceSet = this.presenceSet;
|
6720
6768
|
|
@@ -6726,14 +6774,20 @@ define("ember-metal/map",
|
|
6726
6774
|
@param {Function} fn
|
6727
6775
|
@param self
|
6728
6776
|
*/
|
6729
|
-
forEach: function(fn
|
6777
|
+
forEach: function(fn /*, thisArg*/) {
|
6778
|
+
if (typeof fn !== 'function') {
|
6779
|
+
missingFunction(fn);
|
6780
|
+
}
|
6781
|
+
|
6782
|
+
if (this.size === 0) { return; }
|
6783
|
+
|
6730
6784
|
var list = this.list;
|
6731
6785
|
var length = arguments.length;
|
6732
6786
|
var i;
|
6733
6787
|
|
6734
6788
|
if (length === 2) {
|
6735
6789
|
for (i = 0; i < list.length; i++) {
|
6736
|
-
fn.call(
|
6790
|
+
fn.call(arguments[1], list[i]);
|
6737
6791
|
}
|
6738
6792
|
} else {
|
6739
6793
|
for (i = 0; i < list.length; i++) {
|
@@ -6758,13 +6812,17 @@ define("ember-metal/map",
|
|
6758
6812
|
var Constructor = this.constructor;
|
6759
6813
|
var set = new Constructor();
|
6760
6814
|
|
6815
|
+
set._silenceRemoveDeprecation = this._silenceRemoveDeprecation;
|
6761
6816
|
set.presenceSet = copyNull(this.presenceSet);
|
6762
6817
|
set.list = this.toArray();
|
6818
|
+
set.size = this.size;
|
6763
6819
|
|
6764
6820
|
return set;
|
6765
6821
|
}
|
6766
6822
|
};
|
6767
6823
|
|
6824
|
+
deprecateProperty(OrderedSet.prototype, 'length', 'size');
|
6825
|
+
|
6768
6826
|
/**
|
6769
6827
|
A Map stores values indexed by keys. Unlike JavaScript's
|
6770
6828
|
default Objects, the keys of a Map can be any JavaScript
|
@@ -6788,6 +6846,7 @@ define("ember-metal/map",
|
|
6788
6846
|
function Map() {
|
6789
6847
|
if (this instanceof this.constructor) {
|
6790
6848
|
this.keys = OrderedSet.create();
|
6849
|
+
this.keys._silenceRemoveDeprecation = true;
|
6791
6850
|
this.values = Object.create(null);
|
6792
6851
|
this.size = 0;
|
6793
6852
|
} else {
|
@@ -6826,6 +6885,8 @@ define("ember-metal/map",
|
|
6826
6885
|
@return {*} the value associated with the key, or `undefined`
|
6827
6886
|
*/
|
6828
6887
|
get: function(key) {
|
6888
|
+
if (this.size === 0) { return; }
|
6889
|
+
|
6829
6890
|
var values = this.values;
|
6830
6891
|
var guid = guidFor(key);
|
6831
6892
|
|
@@ -6846,7 +6907,11 @@ define("ember-metal/map",
|
|
6846
6907
|
var values = this.values;
|
6847
6908
|
var guid = guidFor(key);
|
6848
6909
|
|
6849
|
-
|
6910
|
+
// ensure we don't store -0
|
6911
|
+
var k = key === -0 ? 0 : key;
|
6912
|
+
|
6913
|
+
keys.add(k, guid);
|
6914
|
+
|
6850
6915
|
values[guid] = value;
|
6851
6916
|
|
6852
6917
|
this.size = keys.size;
|
@@ -6863,7 +6928,9 @@ define("ember-metal/map",
|
|
6863
6928
|
@return {Boolean} true if an item was removed, false otherwise
|
6864
6929
|
*/
|
6865
6930
|
remove: function(key) {
|
6866
|
-
|
6931
|
+
Ember.deprecate('Calling `Map.prototype.remove` has been deprecated, please use `Map.prototype.delete` instead.');
|
6932
|
+
|
6933
|
+
return this.delete(key);
|
6867
6934
|
},
|
6868
6935
|
|
6869
6936
|
/**
|
@@ -6873,7 +6940,8 @@ define("ember-metal/map",
|
|
6873
6940
|
@param {*} key
|
6874
6941
|
@return {Boolean} true if an item was removed, false otherwise
|
6875
6942
|
*/
|
6876
|
-
|
6943
|
+
delete: function(key) {
|
6944
|
+
if (this.size === 0) { return false; }
|
6877
6945
|
// don't use ES6 "delete" because it will be annoying
|
6878
6946
|
// to use in browsers that are not ES6 friendly;
|
6879
6947
|
var keys = this.keys;
|
@@ -6881,7 +6949,7 @@ define("ember-metal/map",
|
|
6881
6949
|
var guid = guidFor(key);
|
6882
6950
|
|
6883
6951
|
if (values[guid]) {
|
6884
|
-
keys.
|
6952
|
+
keys.delete(key, guid);
|
6885
6953
|
delete values[guid];
|
6886
6954
|
this.size = keys.size;
|
6887
6955
|
return true;
|
@@ -6898,6 +6966,7 @@ define("ember-metal/map",
|
|
6898
6966
|
@return {Boolean} true if the item was present, false otherwise
|
6899
6967
|
*/
|
6900
6968
|
has: function(key) {
|
6969
|
+
if (this.size === 0) { return false; }
|
6901
6970
|
return this.keys.has(key);
|
6902
6971
|
},
|
6903
6972
|
|
@@ -6912,16 +6981,19 @@ define("ember-metal/map",
|
|
6912
6981
|
@param {*} self if passed, the `this` value inside the
|
6913
6982
|
callback. By default, `this` is the map.
|
6914
6983
|
*/
|
6915
|
-
forEach: function(callback
|
6984
|
+
forEach: function(callback /*, thisArg*/) {
|
6916
6985
|
if (typeof callback !== 'function') {
|
6917
6986
|
missingFunction(callback);
|
6918
6987
|
}
|
6919
6988
|
|
6989
|
+
if (this.size === 0) { return; }
|
6990
|
+
|
6920
6991
|
var length = arguments.length;
|
6921
6992
|
var map = this;
|
6922
|
-
var cb;
|
6993
|
+
var cb, thisArg;
|
6923
6994
|
|
6924
6995
|
if (length === 2) {
|
6996
|
+
thisArg = arguments[1];
|
6925
6997
|
cb = function(key) {
|
6926
6998
|
callback.call(thisArg, map.get(key), key);
|
6927
6999
|
};
|
@@ -6934,6 +7006,15 @@ define("ember-metal/map",
|
|
6934
7006
|
this.keys.forEach(cb);
|
6935
7007
|
},
|
6936
7008
|
|
7009
|
+
/**
|
7010
|
+
@method clear
|
7011
|
+
*/
|
7012
|
+
clear: function() {
|
7013
|
+
this.keys.clear();
|
7014
|
+
this.values = Object.create(null);
|
7015
|
+
this.size = 0;
|
7016
|
+
},
|
7017
|
+
|
6937
7018
|
/**
|
6938
7019
|
@method copy
|
6939
7020
|
@return {Ember.Map}
|
@@ -6943,6 +7024,8 @@ define("ember-metal/map",
|
|
6943
7024
|
}
|
6944
7025
|
};
|
6945
7026
|
|
7027
|
+
deprecateProperty(Map.prototype, 'length', 'size');
|
7028
|
+
|
6946
7029
|
/**
|
6947
7030
|
@class MapWithDefault
|
6948
7031
|
@namespace Ember
|
@@ -7008,6 +7091,8 @@ define("ember-metal/map",
|
|
7008
7091
|
}));
|
7009
7092
|
};
|
7010
7093
|
|
7094
|
+
__exports__["default"] = Map;
|
7095
|
+
|
7011
7096
|
__exports__.OrderedSet = OrderedSet;
|
7012
7097
|
__exports__.Map = Map;
|
7013
7098
|
__exports__.MapWithDefault = MapWithDefault;
|
@@ -9421,8 +9506,7 @@ define("ember-metal/run_loop",
|
|
9421
9506
|
target at the time the method is invoked.
|
9422
9507
|
@param {Object} [args*] Optional arguments to pass to the timeout.
|
9423
9508
|
@param {Number} wait Number of milliseconds to wait.
|
9424
|
-
@return {
|
9425
|
-
`run.cancel` later.
|
9509
|
+
@return {Object} Timer information for use in cancelling, see `run.cancel`.
|
9426
9510
|
*/
|
9427
9511
|
run.later = function(target, method) {
|
9428
9512
|
return apply(backburner, backburner.later, arguments);
|
@@ -9738,11 +9822,12 @@ define("ember-metal/run_loop",
|
|
9738
9822
|
};
|
9739
9823
|
});
|
9740
9824
|
define("ember-metal/set_properties",
|
9741
|
-
["ember-metal/property_events","ember-metal/property_set","exports"],
|
9742
|
-
function(__dependency1__, __dependency2__, __exports__) {
|
9825
|
+
["ember-metal/property_events","ember-metal/property_set","ember-metal/keys","exports"],
|
9826
|
+
function(__dependency1__, __dependency2__, __dependency3__, __exports__) {
|
9743
9827
|
"use strict";
|
9744
9828
|
var changeProperties = __dependency1__.changeProperties;
|
9745
9829
|
var set = __dependency2__.set;
|
9830
|
+
var keys = __dependency3__["default"];
|
9746
9831
|
|
9747
9832
|
/**
|
9748
9833
|
Set a list of properties on an object. These properties are set inside
|
@@ -9766,8 +9851,13 @@ define("ember-metal/set_properties",
|
|
9766
9851
|
*/
|
9767
9852
|
__exports__["default"] = function setProperties(self, hash) {
|
9768
9853
|
changeProperties(function() {
|
9769
|
-
|
9770
|
-
|
9854
|
+
var props = keys(hash);
|
9855
|
+
var prop;
|
9856
|
+
|
9857
|
+
for (var i = 0, l = props.length; i < l; i++) {
|
9858
|
+
prop = props[i];
|
9859
|
+
|
9860
|
+
set(self, prop, hash[prop]);
|
9771
9861
|
}
|
9772
9862
|
});
|
9773
9863
|
return self;
|
@@ -21577,10 +21667,10 @@ define("rsvp.umd",
|
|
21577
21667
|
};
|
21578
21668
|
|
21579
21669
|
/* global define:true module:true window: true */
|
21580
|
-
if (typeof define === 'function' && define
|
21670
|
+
if (typeof define === 'function' && define['amd']) {
|
21581
21671
|
define(function() { return RSVP; });
|
21582
|
-
} else if (typeof module !== 'undefined' && module
|
21583
|
-
module
|
21672
|
+
} else if (typeof module !== 'undefined' && module['exports']) {
|
21673
|
+
module['exports'] = RSVP;
|
21584
21674
|
} else if (typeof this !== 'undefined') {
|
21585
21675
|
this['RSVP'] = RSVP;
|
21586
21676
|
}
|
@@ -21596,6 +21686,10 @@ define("rsvp/-internal",
|
|
21596
21686
|
|
21597
21687
|
var config = __dependency3__.config;
|
21598
21688
|
|
21689
|
+
function withOwnPromise() {
|
21690
|
+
return new TypeError('A promises callback cannot return that same promise.');
|
21691
|
+
}
|
21692
|
+
|
21599
21693
|
function noop() {}
|
21600
21694
|
|
21601
21695
|
var PENDING = void 0;
|
@@ -21795,7 +21889,7 @@ define("rsvp/-internal",
|
|
21795
21889
|
}
|
21796
21890
|
|
21797
21891
|
if (promise === value) {
|
21798
|
-
reject(promise,
|
21892
|
+
reject(promise, withOwnPromise());
|
21799
21893
|
return;
|
21800
21894
|
}
|
21801
21895
|
|
@@ -21956,7 +22050,8 @@ define("rsvp/asap",
|
|
21956
22050
|
}
|
21957
22051
|
}
|
21958
22052
|
|
21959
|
-
var
|
22053
|
+
var browserWindow = (typeof window !== 'undefined') ? window : undefined
|
22054
|
+
var browserGlobal = browserWindow || {};
|
21960
22055
|
var BrowserMutationObserver = browserGlobal.MutationObserver || browserGlobal.WebKitMutationObserver;
|
21961
22056
|
|
21962
22057
|
// test for web worker but not in IE10
|
@@ -21971,6 +22066,13 @@ define("rsvp/asap",
|
|
21971
22066
|
};
|
21972
22067
|
}
|
21973
22068
|
|
22069
|
+
// vertx
|
22070
|
+
function useVertxTimer() {
|
22071
|
+
return function() {
|
22072
|
+
vertxNext(flush);
|
22073
|
+
};
|
22074
|
+
}
|
22075
|
+
|
21974
22076
|
function useMutationObserver() {
|
21975
22077
|
var iterations = 0;
|
21976
22078
|
var observer = new BrowserMutationObserver(flush);
|
@@ -22012,8 +22114,17 @@ define("rsvp/asap",
|
|
22012
22114
|
len = 0;
|
22013
22115
|
}
|
22014
22116
|
|
22015
|
-
|
22117
|
+
function attemptVertex() {
|
22118
|
+
try {
|
22119
|
+
var vertx = require('vertx');
|
22120
|
+
var vertxNext = vertx.runOnLoop || vertx.runOnContext;
|
22121
|
+
return useVertxTimer();
|
22122
|
+
} catch(e) {
|
22123
|
+
return useSetTimeout();
|
22124
|
+
}
|
22125
|
+
}
|
22016
22126
|
|
22127
|
+
var scheduleFlush;
|
22017
22128
|
// Decide what async method to use to triggering processing of queued callbacks:
|
22018
22129
|
if (typeof process !== 'undefined' && {}.toString.call(process) === '[object process]') {
|
22019
22130
|
scheduleFlush = useNextTick();
|
@@ -22021,6 +22132,8 @@ define("rsvp/asap",
|
|
22021
22132
|
scheduleFlush = useMutationObserver();
|
22022
22133
|
} else if (isWorker) {
|
22023
22134
|
scheduleFlush = useMessageChannel();
|
22135
|
+
} else if (browserWindow === undefined && typeof require === 'function') {
|
22136
|
+
scheduleFlush = attemptVertex();
|
22024
22137
|
} else {
|
22025
22138
|
scheduleFlush = useSetTimeout();
|
22026
22139
|
}
|
@@ -22098,9 +22211,9 @@ define("rsvp/defer",
|
|
22098
22211
|
__exports__["default"] = function defer(label) {
|
22099
22212
|
var deferred = { };
|
22100
22213
|
|
22101
|
-
deferred
|
22102
|
-
deferred
|
22103
|
-
deferred
|
22214
|
+
deferred['promise'] = new Promise(function(resolve, reject) {
|
22215
|
+
deferred['resolve'] = resolve;
|
22216
|
+
deferred['reject'] = reject;
|
22104
22217
|
}, label);
|
22105
22218
|
|
22106
22219
|
return deferred;
|
@@ -22796,27 +22909,40 @@ define("rsvp/instrument",
|
|
22796
22909
|
|
22797
22910
|
var queue = [];
|
22798
22911
|
|
22912
|
+
function scheduleFlush() {
|
22913
|
+
setTimeout(function() {
|
22914
|
+
var entry;
|
22915
|
+
for (var i = 0; i < queue.length; i++) {
|
22916
|
+
entry = queue[i];
|
22917
|
+
|
22918
|
+
var payload = entry.payload;
|
22919
|
+
|
22920
|
+
payload.guid = payload.key + payload.id;
|
22921
|
+
payload.childGuid = payload.key + payload.childId;
|
22922
|
+
if (payload.error) {
|
22923
|
+
payload.stack = payload.error.stack;
|
22924
|
+
}
|
22925
|
+
|
22926
|
+
config.trigger(entry.name, entry.payload);
|
22927
|
+
}
|
22928
|
+
queue.length = 0;
|
22929
|
+
}, 50);
|
22930
|
+
}
|
22931
|
+
|
22799
22932
|
__exports__["default"] = function instrument(eventName, promise, child) {
|
22800
22933
|
if (1 === queue.push({
|
22801
22934
|
name: eventName,
|
22802
22935
|
payload: {
|
22803
|
-
|
22936
|
+
key: promise._guidKey,
|
22937
|
+
id: promise._id,
|
22804
22938
|
eventName: eventName,
|
22805
22939
|
detail: promise._result,
|
22806
|
-
|
22940
|
+
childId: child && child._id,
|
22807
22941
|
label: promise._label,
|
22808
22942
|
timeStamp: now(),
|
22809
|
-
|
22943
|
+
error: config["instrument-with-stack"] ? new Error(promise._label) : null
|
22810
22944
|
}})) {
|
22811
|
-
|
22812
|
-
setTimeout(function() {
|
22813
|
-
var entry;
|
22814
|
-
for (var i = 0; i < queue.length; i++) {
|
22815
|
-
entry = queue[i];
|
22816
|
-
config.trigger(entry.name, entry.payload);
|
22817
|
-
}
|
22818
|
-
queue.length = 0;
|
22819
|
-
}, 50);
|
22945
|
+
scheduleFlush();
|
22820
22946
|
}
|
22821
22947
|
}
|
22822
22948
|
});
|