ember-source 2.17.2 → 2.18.0.beta.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/dist/ember-runtime.js +302 -253
- data/dist/ember-template-compiler.js +491 -532
- data/dist/ember-testing.js +43 -41
- data/dist/ember-tests.js +1300 -987
- data/dist/ember-tests.prod.js +197 -361
- data/dist/ember.debug.js +6190 -7041
- data/dist/ember.min.js +532 -553
- data/dist/ember.prod.js +3806 -4498
- data/package.json +14 -16
- metadata +5 -5
@@ -6,51 +6,14 @@
|
|
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.
|
9
|
+
* @version 2.18.0-beta.1
|
10
10
|
*/
|
11
11
|
|
12
|
+
/*global process */
|
12
13
|
var enifed, requireModule, Ember;
|
13
14
|
var mainContext = this; // Used in ember-environment/lib/global.js
|
14
15
|
|
15
16
|
(function() {
|
16
|
-
var isNode = typeof window === 'undefined' &&
|
17
|
-
typeof process !== 'undefined' && {}.toString.call(process) === '[object process]';
|
18
|
-
|
19
|
-
if (!isNode) {
|
20
|
-
Ember = this.Ember = this.Ember || {};
|
21
|
-
}
|
22
|
-
|
23
|
-
if (typeof Ember === 'undefined') { Ember = {}; }
|
24
|
-
|
25
|
-
if (typeof Ember.__loader === 'undefined') {
|
26
|
-
var registry = {};
|
27
|
-
var seen = {};
|
28
|
-
|
29
|
-
enifed = function(name, deps, callback) {
|
30
|
-
var value = { };
|
31
|
-
|
32
|
-
if (!callback) {
|
33
|
-
value.deps = [];
|
34
|
-
value.callback = deps;
|
35
|
-
} else {
|
36
|
-
value.deps = deps;
|
37
|
-
value.callback = callback;
|
38
|
-
}
|
39
|
-
|
40
|
-
registry[name] = value;
|
41
|
-
};
|
42
|
-
|
43
|
-
requireModule = function(name) {
|
44
|
-
return internalRequire(name, null);
|
45
|
-
};
|
46
|
-
|
47
|
-
// setup `require` module
|
48
|
-
requireModule['default'] = requireModule;
|
49
|
-
|
50
|
-
requireModule.has = function registryHas(moduleName) {
|
51
|
-
return !!registry[moduleName] || !!registry[moduleName + '/index'];
|
52
|
-
};
|
53
|
-
|
54
17
|
function missingModule(name, referrerName) {
|
55
18
|
if (referrerName) {
|
56
19
|
throw new Error('Could not find module ' + name + ' required by: ' + referrerName);
|
@@ -99,6 +62,44 @@ var mainContext = this; // Used in ember-environment/lib/global.js
|
|
99
62
|
return exports;
|
100
63
|
}
|
101
64
|
|
65
|
+
var isNode = typeof window === 'undefined' &&
|
66
|
+
typeof process !== 'undefined' && {}.toString.call(process) === '[object process]';
|
67
|
+
|
68
|
+
if (!isNode) {
|
69
|
+
Ember = this.Ember = this.Ember || {};
|
70
|
+
}
|
71
|
+
|
72
|
+
if (typeof Ember === 'undefined') { Ember = {}; }
|
73
|
+
|
74
|
+
if (typeof Ember.__loader === 'undefined') {
|
75
|
+
var registry = {};
|
76
|
+
var seen = {};
|
77
|
+
|
78
|
+
enifed = function(name, deps, callback) {
|
79
|
+
var value = { };
|
80
|
+
|
81
|
+
if (!callback) {
|
82
|
+
value.deps = [];
|
83
|
+
value.callback = deps;
|
84
|
+
} else {
|
85
|
+
value.deps = deps;
|
86
|
+
value.callback = callback;
|
87
|
+
}
|
88
|
+
|
89
|
+
registry[name] = value;
|
90
|
+
};
|
91
|
+
|
92
|
+
requireModule = function(name) {
|
93
|
+
return internalRequire(name, null);
|
94
|
+
};
|
95
|
+
|
96
|
+
// setup `require` module
|
97
|
+
requireModule['default'] = requireModule;
|
98
|
+
|
99
|
+
requireModule.has = function registryHas(moduleName) {
|
100
|
+
return !!registry[moduleName] || !!registry[moduleName + '/index'];
|
101
|
+
};
|
102
|
+
|
102
103
|
requireModule._eak_seen = registry;
|
103
104
|
|
104
105
|
Ember.__loader = {
|
@@ -4586,7 +4587,7 @@ enifed('backburner', ['exports'], function (exports) {
|
|
4586
4587
|
var index = -1,
|
4587
4588
|
i,
|
4588
4589
|
l;
|
4589
|
-
for (i = 0, l = collection.length; i < l; i +=
|
4590
|
+
for (i = 0, l = collection.length; i < l; i += 4) {
|
4590
4591
|
if (collection[i] === target && collection[i + 1] === method) {
|
4591
4592
|
index = i;
|
4592
4593
|
break;
|
@@ -4597,9 +4598,9 @@ enifed('backburner', ['exports'], function (exports) {
|
|
4597
4598
|
function findTimer(timer, collection) {
|
4598
4599
|
var index = -1,
|
4599
4600
|
i;
|
4600
|
-
for (i =
|
4601
|
+
for (i = 3; i < collection.length; i += 4) {
|
4601
4602
|
if (collection[i] === timer) {
|
4602
|
-
index = i -
|
4603
|
+
index = i - 3;
|
4603
4604
|
break;
|
4604
4605
|
}
|
4605
4606
|
}
|
@@ -4633,10 +4634,10 @@ enifed('backburner', ['exports'], function (exports) {
|
|
4633
4634
|
var globalOptions = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
|
4634
4635
|
|
4635
4636
|
|
4636
|
-
this._queue = []; // TODO: should be private
|
4637
4637
|
this._queueBeingFlushed = [];
|
4638
4638
|
this.targetQueues = Object.create(null);
|
4639
4639
|
this.index = 0;
|
4640
|
+
this._queue = [];
|
4640
4641
|
this.name = name;
|
4641
4642
|
this.options = options;
|
4642
4643
|
this.globalOptions = globalOptions;
|
@@ -4677,27 +4678,22 @@ enifed('backburner', ['exports'], function (exports) {
|
|
4677
4678
|
var args = void 0;
|
4678
4679
|
var errorRecordedForStack = void 0;
|
4679
4680
|
this.targetQueues = Object.create(null);
|
4680
|
-
|
4681
|
-
|
4682
|
-
queueItems = this._queueBeingFlushed;
|
4683
|
-
} else {
|
4684
|
-
queueItems = this._queueBeingFlushed = this._queue;
|
4681
|
+
if (this._queueBeingFlushed.length === 0) {
|
4682
|
+
this._queueBeingFlushed = this._queue;
|
4685
4683
|
this._queue = [];
|
4686
4684
|
}
|
4687
|
-
if (before) {
|
4685
|
+
if (before !== undefined) {
|
4688
4686
|
before();
|
4689
4687
|
}
|
4690
4688
|
var invoke = void 0;
|
4689
|
+
var queueItems = this._queueBeingFlushed;
|
4691
4690
|
if (queueItems.length > 0) {
|
4692
4691
|
onError = getOnError(this.globalOptions);
|
4693
4692
|
|
4694
4693
|
invoke = onError ? this.invokeWithOnError : this.invoke;
|
4695
4694
|
for (i = this.index; i < queueItems.length; i += 4) {
|
4696
4695
|
this.index += 4;
|
4697
|
-
target = queueItems[i];
|
4698
4696
|
method = queueItems[i + 1];
|
4699
|
-
args = queueItems[i + 2];
|
4700
|
-
errorRecordedForStack = queueItems[i + 3]; // Debugging assistance
|
4701
4697
|
// method could have been nullified / canceled during flush
|
4702
4698
|
if (method !== null) {
|
4703
4699
|
//
|
@@ -4715,6 +4711,9 @@ enifed('backburner', ['exports'], function (exports) {
|
|
4715
4711
|
// One possible long-term solution is the following Chrome issue:
|
4716
4712
|
// https://bugs.chromium.org/p/chromium/issues/detail?id=332624
|
4717
4713
|
//
|
4714
|
+
target = queueItems[i];
|
4715
|
+
args = queueItems[i + 2];
|
4716
|
+
errorRecordedForStack = queueItems[i + 3]; // Debugging assistance
|
4718
4717
|
invoke(target, method, args, onError, errorRecordedForStack);
|
4719
4718
|
}
|
4720
4719
|
if (this.index !== this._queueBeingFlushed.length && this.globalOptions.mustYield && this.globalOptions.mustYield()) {
|
@@ -4722,7 +4721,7 @@ enifed('backburner', ['exports'], function (exports) {
|
|
4722
4721
|
}
|
4723
4722
|
}
|
4724
4723
|
}
|
4725
|
-
if (after) {
|
4724
|
+
if (after !== undefined) {
|
4726
4725
|
after();
|
4727
4726
|
}
|
4728
4727
|
this._queueBeingFlushed.length = 0;
|
@@ -4739,17 +4738,17 @@ enifed('backburner', ['exports'], function (exports) {
|
|
4739
4738
|
|
4740
4739
|
Queue.prototype.cancel = function (_ref) {
|
4741
4740
|
var target = _ref.target,
|
4742
|
-
method = _ref.method
|
4741
|
+
method = _ref.method,
|
4742
|
+
t,
|
4743
|
+
i,
|
4744
|
+
l;
|
4743
4745
|
|
4744
4746
|
var queue = this._queue;
|
4745
|
-
var currentTarget = void 0;
|
4746
|
-
var currentMethod = void 0;
|
4747
|
-
var i = void 0;
|
4748
|
-
var l = void 0;
|
4749
|
-
var t = void 0;
|
4750
4747
|
var guid = this.guidForTarget(target);
|
4751
4748
|
var targetQueue = guid ? this.targetQueues[guid] : undefined;
|
4752
4749
|
if (targetQueue !== undefined) {
|
4750
|
+
t = void 0;
|
4751
|
+
|
4753
4752
|
for (i = 0, l = targetQueue.length; i < l; i += 2) {
|
4754
4753
|
t = targetQueue[i];
|
4755
4754
|
if (t === method) {
|
@@ -4757,26 +4756,18 @@ enifed('backburner', ['exports'], function (exports) {
|
|
4757
4756
|
}
|
4758
4757
|
}
|
4759
4758
|
}
|
4760
|
-
|
4761
|
-
|
4762
|
-
|
4763
|
-
|
4764
|
-
queue.splice(i, 4);
|
4765
|
-
return true;
|
4766
|
-
}
|
4759
|
+
var index = findItem(target, method, queue);
|
4760
|
+
if (index > -1) {
|
4761
|
+
queue.splice(index, 4);
|
4762
|
+
return true;
|
4767
4763
|
}
|
4768
4764
|
// if not found in current queue
|
4769
4765
|
// could be in the queue that is being flushed
|
4770
4766
|
queue = this._queueBeingFlushed;
|
4771
|
-
|
4772
|
-
|
4773
|
-
|
4774
|
-
|
4775
|
-
// don't mess with array during flush
|
4776
|
-
// just nullify the method
|
4777
|
-
queue[i + 1] = null;
|
4778
|
-
return true;
|
4779
|
-
}
|
4767
|
+
index = findItem(target, method, queue);
|
4768
|
+
if (index > -1) {
|
4769
|
+
queue[index + 1] = null;
|
4770
|
+
return true;
|
4780
4771
|
}
|
4781
4772
|
return false;
|
4782
4773
|
};
|
@@ -4796,22 +4787,14 @@ enifed('backburner', ['exports'], function (exports) {
|
|
4796
4787
|
};
|
4797
4788
|
|
4798
4789
|
Queue.prototype.pushUniqueWithoutGuid = function (target, method, args, stack) {
|
4799
|
-
var queue = this._queue
|
4800
|
-
|
4801
|
-
|
4802
|
-
|
4803
|
-
|
4804
|
-
|
4805
|
-
|
4806
|
-
currentMethod = queue[i + 1];
|
4807
|
-
|
4808
|
-
if (currentTarget === target && currentMethod === method) {
|
4809
|
-
queue[i + 2] = args; // replace args
|
4810
|
-
queue[i + 3] = stack; // replace stack
|
4811
|
-
return;
|
4812
|
-
}
|
4790
|
+
var queue = this._queue;
|
4791
|
+
var index = findItem(target, method, queue);
|
4792
|
+
if (index > -1) {
|
4793
|
+
queue[index + 2] = args; // replace args
|
4794
|
+
queue[index + 3] = stack; // replace stack
|
4795
|
+
} else {
|
4796
|
+
queue.push(target, method, args, stack);
|
4813
4797
|
}
|
4814
|
-
queue.push(target, method, args, stack);
|
4815
4798
|
};
|
4816
4799
|
|
4817
4800
|
Queue.prototype.targetQueue = function (_targetQueue, target, method, args, stack) {
|
@@ -4941,6 +4924,30 @@ enifed('backburner', ['exports'], function (exports) {
|
|
4941
4924
|
|
4942
4925
|
var noop = function () {};
|
4943
4926
|
var SET_TIMEOUT = setTimeout;
|
4927
|
+
function parseArgs() {
|
4928
|
+
var length = arguments.length,
|
4929
|
+
i;
|
4930
|
+
var method = void 0;
|
4931
|
+
var target = void 0;
|
4932
|
+
var args = void 0;
|
4933
|
+
if (length === 1) {
|
4934
|
+
method = arguments[0];
|
4935
|
+
target = null;
|
4936
|
+
} else {
|
4937
|
+
target = arguments[0];
|
4938
|
+
method = arguments[1];
|
4939
|
+
if (isString(method)) {
|
4940
|
+
method = target[method];
|
4941
|
+
}
|
4942
|
+
if (length > 2) {
|
4943
|
+
args = new Array(length - 2);
|
4944
|
+
for (i = 0; i < length - 2; i++) {
|
4945
|
+
args[i] = arguments[i + 2];
|
4946
|
+
}
|
4947
|
+
}
|
4948
|
+
}
|
4949
|
+
return [target, method, args];
|
4950
|
+
}
|
4944
4951
|
|
4945
4952
|
var Backburner = function () {
|
4946
4953
|
function Backburner(queueNames) {
|
@@ -5081,32 +5088,17 @@ enifed('backburner', ['exports'], function (exports) {
|
|
5081
5088
|
}
|
5082
5089
|
};
|
5083
5090
|
|
5084
|
-
Backburner.prototype.run = function (
|
5085
|
-
|
5086
|
-
|
5087
|
-
|
5091
|
+
Backburner.prototype.run = function () {
|
5092
|
+
var _parseArgs = parseArgs.apply(undefined, arguments),
|
5093
|
+
target = _parseArgs[0],
|
5094
|
+
method = _parseArgs[1],
|
5095
|
+
args = _parseArgs[2];
|
5088
5096
|
|
5089
|
-
var length = arguments.length,
|
5090
|
-
_len,
|
5091
|
-
args,
|
5092
|
-
_key;
|
5093
|
-
var _method = void 0;
|
5094
|
-
var _target = void 0;
|
5095
|
-
if (length === 1) {
|
5096
|
-
_method = target;
|
5097
|
-
_target = null;
|
5098
|
-
} else {
|
5099
|
-
_method = method;
|
5100
|
-
_target = target;
|
5101
|
-
if (isString(_method)) {
|
5102
|
-
_method = _target[_method];
|
5103
|
-
}
|
5104
|
-
}
|
5105
5097
|
var onError = getOnError(this.options);
|
5106
5098
|
this.begin();
|
5107
5099
|
if (onError) {
|
5108
5100
|
try {
|
5109
|
-
return
|
5101
|
+
return method.apply(target, args);
|
5110
5102
|
} catch (error) {
|
5111
5103
|
onError(error);
|
5112
5104
|
} finally {
|
@@ -5114,7 +5106,7 @@ enifed('backburner', ['exports'], function (exports) {
|
|
5114
5106
|
}
|
5115
5107
|
} else {
|
5116
5108
|
try {
|
5117
|
-
return
|
5109
|
+
return method.apply(target, args);
|
5118
5110
|
} finally {
|
5119
5111
|
this.end();
|
5120
5112
|
}
|
@@ -5125,27 +5117,13 @@ enifed('backburner', ['exports'], function (exports) {
|
|
5125
5117
|
if (this.currentInstance === null) {
|
5126
5118
|
return this.run.apply(this, arguments);
|
5127
5119
|
}
|
5128
|
-
|
5129
|
-
|
5130
|
-
|
5131
|
-
|
5132
|
-
|
5133
|
-
|
5134
|
-
|
5135
|
-
target = null;
|
5136
|
-
} else {
|
5137
|
-
target = arguments[0];
|
5138
|
-
method = arguments[1];
|
5139
|
-
if (isString(method)) {
|
5140
|
-
method = target[method];
|
5141
|
-
}
|
5142
|
-
if (length > 2) {
|
5143
|
-
args = new Array(length - 2);
|
5144
|
-
for (i = 0; i < length - 2; i++) {
|
5145
|
-
args[i] = arguments[i + 2];
|
5146
|
-
}
|
5147
|
-
}
|
5148
|
-
}
|
5120
|
+
|
5121
|
+
var _parseArgs2 = parseArgs.apply(undefined, arguments),
|
5122
|
+
target = _parseArgs2[0],
|
5123
|
+
method = _parseArgs2[1],
|
5124
|
+
args = _parseArgs2[2];
|
5125
|
+
|
5126
|
+
var length = arguments.length;
|
5149
5127
|
if (length === 1) {
|
5150
5128
|
return method();
|
5151
5129
|
} else if (length === 2) {
|
@@ -5160,27 +5138,18 @@ enifed('backburner', ['exports'], function (exports) {
|
|
5160
5138
|
};
|
5161
5139
|
|
5162
5140
|
Backburner.prototype.schedule = function (queueName) {
|
5163
|
-
|
5164
|
-
|
5165
|
-
var method = void 0;
|
5166
|
-
var target = void 0;
|
5167
|
-
var args = void 0;
|
5168
|
-
if (length === 2) {
|
5169
|
-
method = arguments[1];
|
5170
|
-
target = null;
|
5171
|
-
} else {
|
5172
|
-
target = arguments[1];
|
5173
|
-
method = arguments[2];
|
5174
|
-
if (isString(method)) {
|
5175
|
-
method = target[method];
|
5176
|
-
}
|
5177
|
-
if (length > 3) {
|
5178
|
-
args = new Array(length - 3);
|
5179
|
-
for (i = 3; i < length; i++) {
|
5180
|
-
args[i - 3] = arguments[i];
|
5181
|
-
}
|
5182
|
-
}
|
5141
|
+
for (_len = arguments.length, _args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
|
5142
|
+
_args[_key - 1] = arguments[_key];
|
5183
5143
|
}
|
5144
|
+
|
5145
|
+
var _parseArgs3 = parseArgs.apply(undefined, _args),
|
5146
|
+
target = _parseArgs3[0],
|
5147
|
+
method = _parseArgs3[1],
|
5148
|
+
args = _parseArgs3[2],
|
5149
|
+
_len,
|
5150
|
+
_args,
|
5151
|
+
_key;
|
5152
|
+
|
5184
5153
|
var stack = this.DEBUG ? new Error() : undefined;
|
5185
5154
|
return this._ensureInstance().schedule(queueName, target, method, args, false, stack);
|
5186
5155
|
};
|
@@ -5194,28 +5163,19 @@ enifed('backburner', ['exports'], function (exports) {
|
|
5194
5163
|
return this.scheduleOnce.apply(this, arguments);
|
5195
5164
|
};
|
5196
5165
|
|
5197
|
-
Backburner.prototype.scheduleOnce = function (queueName
|
5198
|
-
|
5199
|
-
|
5200
|
-
var method = void 0;
|
5201
|
-
var target = void 0;
|
5202
|
-
var args = void 0;
|
5203
|
-
if (length === 2) {
|
5204
|
-
method = arguments[1];
|
5205
|
-
target = null;
|
5206
|
-
} else {
|
5207
|
-
target = arguments[1];
|
5208
|
-
method = arguments[2];
|
5209
|
-
if (isString(method)) {
|
5210
|
-
method = target[method];
|
5211
|
-
}
|
5212
|
-
if (length > 3) {
|
5213
|
-
args = new Array(length - 3);
|
5214
|
-
for (i = 3; i < length; i++) {
|
5215
|
-
args[i - 3] = arguments[i];
|
5216
|
-
}
|
5217
|
-
}
|
5166
|
+
Backburner.prototype.scheduleOnce = function (queueName) {
|
5167
|
+
for (_len2 = arguments.length, _args = Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {
|
5168
|
+
_args[_key2 - 1] = arguments[_key2];
|
5218
5169
|
}
|
5170
|
+
|
5171
|
+
var _parseArgs4 = parseArgs.apply(undefined, _args),
|
5172
|
+
target = _parseArgs4[0],
|
5173
|
+
method = _parseArgs4[1],
|
5174
|
+
args = _parseArgs4[2],
|
5175
|
+
_len2,
|
5176
|
+
_args,
|
5177
|
+
_key2;
|
5178
|
+
|
5219
5179
|
var stack = this.DEBUG ? new Error() : undefined;
|
5220
5180
|
return this._ensureInstance().schedule(queueName, target, method, args, true, stack);
|
5221
5181
|
};
|
@@ -5225,14 +5185,14 @@ enifed('backburner', ['exports'], function (exports) {
|
|
5225
5185
|
};
|
5226
5186
|
|
5227
5187
|
Backburner.prototype.later = function () {
|
5228
|
-
for (
|
5229
|
-
args[
|
5188
|
+
for (_len3 = arguments.length, args = Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {
|
5189
|
+
args[_key3] = arguments[_key3];
|
5230
5190
|
}
|
5231
5191
|
|
5232
5192
|
var length = args.length,
|
5233
|
-
|
5193
|
+
_len3,
|
5234
5194
|
args,
|
5235
|
-
|
5195
|
+
_key3,
|
5236
5196
|
last;
|
5237
5197
|
var wait = 0;
|
5238
5198
|
var method = void 0;
|
@@ -5296,19 +5256,19 @@ enifed('backburner', ['exports'], function (exports) {
|
|
5296
5256
|
return this._setTimeout(fn, executeAt);
|
5297
5257
|
};
|
5298
5258
|
|
5299
|
-
Backburner.prototype.throttle = function (target, method /*, ...args, wait, [immediate] */
|
5259
|
+
Backburner.prototype.throttle = function (target, method) /*, ...args, wait, [immediate] */{
|
5300
5260
|
var _this2 = this,
|
5301
|
-
|
5261
|
+
_len4,
|
5262
|
+
args,
|
5263
|
+
_key4;
|
5302
5264
|
|
5303
|
-
|
5304
|
-
|
5305
|
-
args[i] = arguments[i];
|
5265
|
+
for (_len4 = arguments.length, args = Array(_len4 > 2 ? _len4 - 2 : 0), _key4 = 2; _key4 < _len4; _key4++) {
|
5266
|
+
args[_key4 - 2] = arguments[_key4];
|
5306
5267
|
}
|
5268
|
+
|
5307
5269
|
var immediate = args.pop();
|
5308
5270
|
var isImmediate = void 0;
|
5309
5271
|
var wait = void 0;
|
5310
|
-
var index = void 0;
|
5311
|
-
var timer = void 0;
|
5312
5272
|
if (isCoercableNumber(immediate)) {
|
5313
5273
|
wait = immediate;
|
5314
5274
|
isImmediate = true;
|
@@ -5317,40 +5277,44 @@ enifed('backburner', ['exports'], function (exports) {
|
|
5317
5277
|
isImmediate = immediate === true;
|
5318
5278
|
}
|
5319
5279
|
wait = parseInt(wait, 10);
|
5320
|
-
index = findItem(target, method, this._throttlers);
|
5280
|
+
var index = findItem(target, method, this._throttlers);
|
5321
5281
|
if (index > -1) {
|
5322
|
-
|
5282
|
+
this._throttlers[index + 2] = args;
|
5283
|
+
return this._throttlers[index + 3];
|
5323
5284
|
} // throttled
|
5324
|
-
timer = this._platform.setTimeout(function () {
|
5285
|
+
var timer = this._platform.setTimeout(function () {
|
5286
|
+
var i = findTimer(timer, _this2._throttlers);
|
5287
|
+
|
5288
|
+
var _throttlers$splice = _this2._throttlers.splice(i, 4),
|
5289
|
+
context = _throttlers$splice[0],
|
5290
|
+
func = _throttlers$splice[1],
|
5291
|
+
params = _throttlers$splice[2];
|
5292
|
+
|
5325
5293
|
if (isImmediate === false) {
|
5326
|
-
_this2.run.apply(_this2,
|
5327
|
-
}
|
5328
|
-
index = findTimer(timer, _this2._throttlers);
|
5329
|
-
if (index > -1) {
|
5330
|
-
_this2._throttlers.splice(index, 3);
|
5294
|
+
_this2.run.apply(_this2, [context, func].concat(params));
|
5331
5295
|
}
|
5332
5296
|
}, wait);
|
5333
5297
|
if (isImmediate) {
|
5334
|
-
this.join.apply(this, args);
|
5298
|
+
this.join.apply(this, [target, method].concat(args));
|
5335
5299
|
}
|
5336
|
-
this._throttlers.push(target, method, timer);
|
5300
|
+
this._throttlers.push(target, method, args, timer);
|
5337
5301
|
return timer;
|
5338
5302
|
};
|
5339
5303
|
|
5340
|
-
Backburner.prototype.debounce = function (target, method /* ,
|
5304
|
+
Backburner.prototype.debounce = function (target, method) /* , wait, [immediate] */{
|
5341
5305
|
var _this3 = this,
|
5342
|
-
|
5306
|
+
_len5,
|
5307
|
+
args,
|
5308
|
+
_key5,
|
5343
5309
|
timerId;
|
5344
5310
|
|
5345
|
-
|
5346
|
-
|
5347
|
-
args[i] = arguments[i];
|
5311
|
+
for (_len5 = arguments.length, args = Array(_len5 > 2 ? _len5 - 2 : 0), _key5 = 2; _key5 < _len5; _key5++) {
|
5312
|
+
args[_key5 - 2] = arguments[_key5];
|
5348
5313
|
}
|
5314
|
+
|
5349
5315
|
var immediate = args.pop();
|
5350
5316
|
var isImmediate = void 0;
|
5351
5317
|
var wait = void 0;
|
5352
|
-
var index = void 0;
|
5353
|
-
var timer = void 0;
|
5354
5318
|
if (isCoercableNumber(immediate)) {
|
5355
5319
|
wait = immediate;
|
5356
5320
|
isImmediate = false;
|
@@ -5360,37 +5324,40 @@ enifed('backburner', ['exports'], function (exports) {
|
|
5360
5324
|
}
|
5361
5325
|
wait = parseInt(wait, 10);
|
5362
5326
|
// Remove debouncee
|
5363
|
-
index = findItem(target, method, this._debouncees);
|
5327
|
+
var index = findItem(target, method, this._debouncees);
|
5364
5328
|
if (index > -1) {
|
5365
|
-
timerId = this._debouncees[index +
|
5329
|
+
timerId = this._debouncees[index + 3];
|
5366
5330
|
|
5367
|
-
this._debouncees.splice(index, 3);
|
5368
5331
|
this._platform.clearTimeout(timerId);
|
5332
|
+
this._debouncees.splice(index, 4);
|
5369
5333
|
}
|
5370
|
-
timer = this._platform.setTimeout(function () {
|
5334
|
+
var timer = this._platform.setTimeout(function () {
|
5335
|
+
var i = findTimer(timer, _this3._debouncees);
|
5336
|
+
|
5337
|
+
var _debouncees$splice = _this3._debouncees.splice(i, 4),
|
5338
|
+
context = _debouncees$splice[0],
|
5339
|
+
func = _debouncees$splice[1],
|
5340
|
+
params = _debouncees$splice[2];
|
5341
|
+
|
5371
5342
|
if (isImmediate === false) {
|
5372
|
-
_this3.run.apply(_this3,
|
5373
|
-
}
|
5374
|
-
index = findTimer(timer, _this3._debouncees);
|
5375
|
-
if (index > -1) {
|
5376
|
-
_this3._debouncees.splice(index, 3);
|
5343
|
+
_this3.run.apply(_this3, [context, func].concat(params));
|
5377
5344
|
}
|
5378
5345
|
}, wait);
|
5379
5346
|
if (isImmediate && index === -1) {
|
5380
|
-
this.join.apply(this, args);
|
5347
|
+
this.join.apply(this, [target, method].concat(args));
|
5381
5348
|
}
|
5382
|
-
this._debouncees.push(target, method, timer);
|
5349
|
+
this._debouncees.push(target, method, args, timer);
|
5383
5350
|
return timer;
|
5384
5351
|
};
|
5385
5352
|
|
5386
5353
|
Backburner.prototype.cancelTimers = function () {
|
5387
5354
|
var i, t;
|
5388
5355
|
|
5389
|
-
for (i =
|
5356
|
+
for (i = 3; i < this._throttlers.length; i += 4) {
|
5390
5357
|
this._platform.clearTimeout(this._throttlers[i]);
|
5391
5358
|
}
|
5392
5359
|
this._throttlers = [];
|
5393
|
-
for (t =
|
5360
|
+
for (t = 3; t < this._debouncees.length; t += 4) {
|
5394
5361
|
this._platform.clearTimeout(this._debouncees[t]);
|
5395
5362
|
}
|
5396
5363
|
this._debouncees = [];
|
@@ -5464,8 +5431,8 @@ enifed('backburner', ['exports'], function (exports) {
|
|
5464
5431
|
Backburner.prototype._cancelItem = function (timer, array) {
|
5465
5432
|
var index = findTimer(timer, array);
|
5466
5433
|
if (index > -1) {
|
5467
|
-
array.splice(index, 3);
|
5468
5434
|
this._platform.clearTimeout(timer);
|
5435
|
+
array.splice(index, 4);
|
5469
5436
|
return true;
|
5470
5437
|
}
|
5471
5438
|
return false;
|
@@ -5577,51 +5544,110 @@ enifed('container', ['exports', 'ember-utils', 'ember-debug', 'ember/features'],
|
|
5577
5544
|
@private
|
5578
5545
|
@class Container
|
5579
5546
|
*/
|
5580
|
-
function Container(registry) {
|
5581
|
-
var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
5582
5547
|
|
5583
|
-
|
5584
|
-
|
5585
|
-
|
5586
|
-
this.factoryManagerCache = (0, _emberUtils.dictionary)(options.factoryManagerCache || null);
|
5587
|
-
this[CONTAINER_OVERRIDE] = undefined;
|
5588
|
-
this.isDestroyed = false;
|
5548
|
+
var Container = function () {
|
5549
|
+
function Container(registry) {
|
5550
|
+
var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
5589
5551
|
|
5590
|
-
this.validationCache = (0, _emberUtils.dictionary)(options.validationCache || null);
|
5591
|
-
}
|
5592
5552
|
|
5593
|
-
|
5594
|
-
|
5595
|
-
|
5553
|
+
this.registry = registry;
|
5554
|
+
this.owner = options.owner || null;
|
5555
|
+
this.cache = (0, _emberUtils.dictionary)(options.cache || null);
|
5556
|
+
this.factoryManagerCache = (0, _emberUtils.dictionary)(options.factoryManagerCache || null);
|
5557
|
+
this[CONTAINER_OVERRIDE] = undefined;
|
5558
|
+
this.isDestroyed = false;
|
5596
5559
|
|
5597
|
-
|
5598
|
-
}
|
5599
|
-
|
5560
|
+
this.validationCache = (0, _emberUtils.dictionary)(options.validationCache || null);
|
5561
|
+
}
|
5562
|
+
|
5563
|
+
/**
|
5564
|
+
@private
|
5565
|
+
@property registry
|
5566
|
+
@type Registry
|
5567
|
+
@since 1.11.0
|
5568
|
+
*/
|
5569
|
+
|
5570
|
+
/**
|
5571
|
+
@private
|
5572
|
+
@property cache
|
5573
|
+
@type InheritingDict
|
5574
|
+
*/
|
5575
|
+
|
5576
|
+
/**
|
5577
|
+
@private
|
5578
|
+
@property validationCache
|
5579
|
+
@type InheritingDict
|
5580
|
+
*/
|
5581
|
+
|
5582
|
+
/**
|
5583
|
+
Given a fullName return a corresponding instance.
|
5584
|
+
The default behavior is for lookup to return a singleton instance.
|
5585
|
+
The singleton is scoped to the container, allowing multiple containers
|
5586
|
+
to all have their own locally scoped singletons.
|
5587
|
+
```javascript
|
5588
|
+
let registry = new Registry();
|
5589
|
+
let container = registry.container();
|
5590
|
+
registry.register('api:twitter', Twitter);
|
5591
|
+
let twitter = container.lookup('api:twitter');
|
5592
|
+
twitter instanceof Twitter; // => true
|
5593
|
+
// by default the container will return singletons
|
5594
|
+
let twitter2 = container.lookup('api:twitter');
|
5595
|
+
twitter2 instanceof Twitter; // => true
|
5596
|
+
twitter === twitter2; //=> true
|
5597
|
+
```
|
5598
|
+
If singletons are not wanted, an optional flag can be provided at lookup.
|
5599
|
+
```javascript
|
5600
|
+
let registry = new Registry();
|
5601
|
+
let container = registry.container();
|
5602
|
+
registry.register('api:twitter', Twitter);
|
5603
|
+
let twitter = container.lookup('api:twitter', { singleton: false });
|
5604
|
+
let twitter2 = container.lookup('api:twitter', { singleton: false });
|
5605
|
+
twitter === twitter2; //=> false
|
5606
|
+
```
|
5607
|
+
@private
|
5608
|
+
@method lookup
|
5609
|
+
@param {String} fullName
|
5610
|
+
@param {Object} [options]
|
5611
|
+
@param {String} [options.source] The fullname of the request source (used for local lookup)
|
5612
|
+
@return {any}
|
5613
|
+
*/
|
5614
|
+
|
5615
|
+
Container.prototype.lookup = function (fullName, options) {
|
5616
|
+
true && !this.registry.isValidFullName(fullName) && (0, _emberDebug.assert)('fullName must be a proper full name', this.registry.isValidFullName(fullName));
|
5617
|
+
|
5618
|
+
return _lookup(this, this.registry.normalize(fullName), options);
|
5619
|
+
};
|
5620
|
+
|
5621
|
+
Container.prototype.destroy = function () {
|
5600
5622
|
destroyDestroyables(this);
|
5601
5623
|
this.isDestroyed = true;
|
5602
|
-
}
|
5603
|
-
|
5624
|
+
};
|
5625
|
+
|
5626
|
+
Container.prototype.reset = function (fullName) {
|
5604
5627
|
if (fullName === undefined) {
|
5605
5628
|
resetCache(this);
|
5606
5629
|
} else {
|
5607
5630
|
resetMember(this, this.registry.normalize(fullName));
|
5608
5631
|
}
|
5609
|
-
}
|
5610
|
-
|
5632
|
+
};
|
5633
|
+
|
5634
|
+
Container.prototype.ownerInjection = function () {
|
5611
5635
|
var _ref;
|
5612
5636
|
|
5613
5637
|
return _ref = {}, _ref[_emberUtils.OWNER] = this.owner, _ref;
|
5614
|
-
}
|
5615
|
-
|
5638
|
+
};
|
5639
|
+
|
5640
|
+
Container.prototype._resolverCacheKey = function (name, options) {
|
5616
5641
|
return this.registry.resolverCacheKey(name, options);
|
5617
|
-
}
|
5618
|
-
|
5642
|
+
};
|
5643
|
+
|
5644
|
+
Container.prototype.factoryFor = function (fullName) {
|
5619
5645
|
var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
|
5620
5646
|
expandedFullName;
|
5621
5647
|
|
5622
5648
|
var normalizedName = this.registry.normalize(fullName);
|
5623
5649
|
|
5624
|
-
true && !this.registry.
|
5650
|
+
true && !this.registry.isValidFullName(normalizedName) && (0, _emberDebug.assert)('fullName must be a proper full name', this.registry.isValidFullName(normalizedName));
|
5625
5651
|
|
5626
5652
|
if (options.source) {
|
5627
5653
|
expandedFullName = this.registry.expandLocalLookup(fullName, options);
|
@@ -5665,8 +5691,10 @@ enifed('container', ['exports', 'ember-utils', 'ember-debug', 'ember/features'],
|
|
5665
5691
|
|
5666
5692
|
this.factoryManagerCache[cacheKey] = manager;
|
5667
5693
|
return manager;
|
5668
|
-
}
|
5669
|
-
|
5694
|
+
};
|
5695
|
+
|
5696
|
+
return Container;
|
5697
|
+
}();
|
5670
5698
|
|
5671
5699
|
/*
|
5672
5700
|
* Wrap a factory manager in a proxy which will not permit properties to be
|
@@ -5709,7 +5737,7 @@ enifed('container', ['exports', 'ember-utils', 'ember-debug', 'ember/features'],
|
|
5709
5737
|
return container.registry.getOption(fullName, 'instantiate') !== false;
|
5710
5738
|
}
|
5711
5739
|
|
5712
|
-
function
|
5740
|
+
function _lookup(container, fullName) {
|
5713
5741
|
var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {},
|
5714
5742
|
expandedFullName,
|
5715
5743
|
cacheKey,
|
@@ -5803,33 +5831,19 @@ enifed('container', ['exports', 'ember-utils', 'ember-debug', 'ember/features'],
|
|
5803
5831
|
throw new Error('Could not create factory');
|
5804
5832
|
}
|
5805
5833
|
|
5806
|
-
function buildInjections(
|
5834
|
+
function buildInjections(container, injections) {
|
5807
5835
|
var hash = {},
|
5808
|
-
container,
|
5809
|
-
injections,
|
5810
5836
|
injection,
|
5811
|
-
i
|
5812
|
-
_i;
|
5837
|
+
i;
|
5813
5838
|
var isDynamic = false;
|
5814
5839
|
|
5815
|
-
if (
|
5816
|
-
container = arguments[0];
|
5817
|
-
injections = [];
|
5818
|
-
injection = void 0;
|
5819
|
-
|
5820
|
-
|
5821
|
-
for (i = 1; i < arguments.length; i++) {
|
5822
|
-
if (arguments[i]) {
|
5823
|
-
injections = injections.concat(arguments[i]);
|
5824
|
-
}
|
5825
|
-
}
|
5826
|
-
|
5840
|
+
if (injections.length > 0) {
|
5827
5841
|
container.registry.validateInjections(injections);
|
5842
|
+
injection = void 0;
|
5828
5843
|
|
5829
|
-
|
5830
|
-
|
5831
|
-
injection =
|
5832
|
-
hash[injection.property] = lookup(container, injection.fullName);
|
5844
|
+
for (i = 0; i < injections.length; i++) {
|
5845
|
+
injection = injections[i];
|
5846
|
+
hash[injection.property] = _lookup(container, injection.fullName);
|
5833
5847
|
if (!isDynamic) {
|
5834
5848
|
isDynamic = !isSingleton(container, injection.fullName);
|
5835
5849
|
}
|
@@ -5841,10 +5855,12 @@ enifed('container', ['exports', 'ember-utils', 'ember-debug', 'ember/features'],
|
|
5841
5855
|
|
5842
5856
|
function injectionsFor(container, fullName) {
|
5843
5857
|
var registry = container.registry;
|
5844
|
-
var splitName = fullName.split(':');
|
5845
|
-
var type = splitName[0];
|
5846
5858
|
|
5847
|
-
|
5859
|
+
var _fullName$split = fullName.split(':'),
|
5860
|
+
type = _fullName$split[0];
|
5861
|
+
|
5862
|
+
var injections = registry.getTypeInjections(type).concat(registry.getInjections(fullName));
|
5863
|
+
return buildInjections(container, injections);
|
5848
5864
|
}
|
5849
5865
|
|
5850
5866
|
function destroyDestroyables(container) {
|
@@ -5977,40 +5993,39 @@ enifed('container', ['exports', 'ember-utils', 'ember-debug', 'ember/features'],
|
|
5977
5993
|
@class Registry
|
5978
5994
|
@since 1.11.0
|
5979
5995
|
*/
|
5980
|
-
function Registry() {
|
5981
|
-
var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
5982
5996
|
|
5983
|
-
|
5997
|
+
var Registry = function () {
|
5998
|
+
function Registry() {
|
5999
|
+
var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
6000
|
+
|
6001
|
+
|
6002
|
+
this.fallback = options.fallback || null;
|
6003
|
+
this.resolver = options.resolver || null;
|
5984
6004
|
|
5985
|
-
if (options.resolver) {
|
5986
|
-
this.resolver = options.resolver;
|
5987
6005
|
if (typeof this.resolver === 'function') {
|
5988
6006
|
deprecateResolverFunction(this);
|
5989
6007
|
}
|
5990
|
-
}
|
5991
6008
|
|
5992
|
-
|
6009
|
+
this.registrations = (0, _emberUtils.dictionary)(options.registrations || null);
|
5993
6010
|
|
5994
|
-
|
5995
|
-
|
6011
|
+
this._typeInjections = (0, _emberUtils.dictionary)(null);
|
6012
|
+
this._injections = (0, _emberUtils.dictionary)(null);
|
5996
6013
|
|
5997
|
-
|
5998
|
-
|
5999
|
-
|
6000
|
-
|
6014
|
+
this._localLookupCache = Object.create(null);
|
6015
|
+
this._normalizeCache = (0, _emberUtils.dictionary)(null);
|
6016
|
+
this._resolveCache = (0, _emberUtils.dictionary)(null);
|
6017
|
+
this._failCache = (0, _emberUtils.dictionary)(null);
|
6001
6018
|
|
6002
|
-
|
6003
|
-
|
6004
|
-
|
6019
|
+
this._options = (0, _emberUtils.dictionary)(null);
|
6020
|
+
this._typeOptions = (0, _emberUtils.dictionary)(null);
|
6021
|
+
}
|
6005
6022
|
|
6006
|
-
Registry.prototype = {
|
6007
6023
|
/**
|
6008
6024
|
A backup registry for resolving registrations when no matches can be found.
|
6009
6025
|
@private
|
6010
6026
|
@property fallback
|
6011
6027
|
@type Registry
|
6012
6028
|
*/
|
6013
|
-
fallback: null,
|
6014
6029
|
|
6015
6030
|
/**
|
6016
6031
|
An object that has a `resolve` method that resolves a name.
|
@@ -6018,80 +6033,76 @@ enifed('container', ['exports', 'ember-utils', 'ember-debug', 'ember/features'],
|
|
6018
6033
|
@property resolver
|
6019
6034
|
@type Resolver
|
6020
6035
|
*/
|
6021
|
-
resolver: null,
|
6022
6036
|
|
6023
6037
|
/**
|
6024
6038
|
@private
|
6025
6039
|
@property registrations
|
6026
6040
|
@type InheritingDict
|
6027
6041
|
*/
|
6028
|
-
registrations: null,
|
6029
6042
|
|
6030
6043
|
/**
|
6031
6044
|
@private
|
6032
6045
|
@property _typeInjections
|
6033
6046
|
@type InheritingDict
|
6034
6047
|
*/
|
6035
|
-
_typeInjections: null,
|
6036
6048
|
|
6037
6049
|
/**
|
6038
6050
|
@private
|
6039
6051
|
@property _injections
|
6040
6052
|
@type InheritingDict
|
6041
6053
|
*/
|
6042
|
-
_injections: null,
|
6043
6054
|
|
6044
6055
|
/**
|
6045
6056
|
@private
|
6046
6057
|
@property _normalizeCache
|
6047
6058
|
@type InheritingDict
|
6048
6059
|
*/
|
6049
|
-
_normalizeCache: null,
|
6050
6060
|
|
6051
6061
|
/**
|
6052
6062
|
@private
|
6053
6063
|
@property _resolveCache
|
6054
6064
|
@type InheritingDict
|
6055
6065
|
*/
|
6056
|
-
_resolveCache: null,
|
6057
6066
|
|
6058
6067
|
/**
|
6059
6068
|
@private
|
6060
6069
|
@property _options
|
6061
6070
|
@type InheritingDict
|
6062
6071
|
*/
|
6063
|
-
_options: null,
|
6064
6072
|
|
6065
6073
|
/**
|
6066
6074
|
@private
|
6067
6075
|
@property _typeOptions
|
6068
6076
|
@type InheritingDict
|
6069
6077
|
*/
|
6070
|
-
_typeOptions: null,
|
6071
6078
|
|
6072
|
-
|
6079
|
+
/**
|
6080
|
+
Creates a container based on this registry.
|
6081
|
+
@private
|
6082
|
+
@method container
|
6083
|
+
@param {Object} options
|
6084
|
+
@return {Container} created container
|
6085
|
+
*/
|
6086
|
+
|
6087
|
+
Registry.prototype.container = function (options) {
|
6073
6088
|
return new Container(this, options);
|
6074
|
-
}
|
6075
|
-
register: function (fullName, factory) {
|
6076
|
-
var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
|
6077
|
-
true && !this.validateFullName(fullName) && (0, _emberDebug.assert)('fullName must be a proper full name', this.validateFullName(fullName));
|
6089
|
+
};
|
6078
6090
|
|
6079
|
-
|
6080
|
-
|
6081
|
-
|
6091
|
+
Registry.prototype.register = function (fullName, factory) {
|
6092
|
+
var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
|
6093
|
+
true && !this.isValidFullName(fullName) && (0, _emberDebug.assert)('fullName must be a proper full name', this.isValidFullName(fullName));
|
6094
|
+
true && !(factory !== undefined) && (0, _emberDebug.assert)('Attempting to register an unknown factory: \'' + fullName + '\'', factory !== undefined);
|
6082
6095
|
|
6083
6096
|
var normalizedName = this.normalize(fullName);
|
6084
|
-
|
6085
|
-
if (this._resolveCache[normalizedName]) {
|
6086
|
-
throw new Error('Cannot re-register: \'' + fullName + '\', as it has already been resolved.');
|
6087
|
-
}
|
6097
|
+
true && !!this._resolveCache[normalizedName] && (0, _emberDebug.assert)('Cannot re-register: \'' + fullName + '\', as it has already been resolved.', !this._resolveCache[normalizedName]);
|
6088
6098
|
|
6089
6099
|
delete this._failCache[normalizedName];
|
6090
6100
|
this.registrations[normalizedName] = factory;
|
6091
6101
|
this._options[normalizedName] = options;
|
6092
|
-
}
|
6093
|
-
|
6094
|
-
|
6102
|
+
};
|
6103
|
+
|
6104
|
+
Registry.prototype.unregister = function (fullName) {
|
6105
|
+
true && !this.isValidFullName(fullName) && (0, _emberDebug.assert)('fullName must be a proper full name', this.isValidFullName(fullName));
|
6095
6106
|
|
6096
6107
|
var normalizedName = this.normalize(fullName);
|
6097
6108
|
|
@@ -6101,83 +6112,94 @@ enifed('container', ['exports', 'ember-utils', 'ember-debug', 'ember/features'],
|
|
6101
6112
|
delete this._resolveCache[normalizedName];
|
6102
6113
|
delete this._failCache[normalizedName];
|
6103
6114
|
delete this._options[normalizedName];
|
6104
|
-
}
|
6105
|
-
|
6106
|
-
|
6115
|
+
};
|
6116
|
+
|
6117
|
+
Registry.prototype.resolve = function (fullName, options) {
|
6118
|
+
true && !this.isValidFullName(fullName) && (0, _emberDebug.assert)('fullName must be a proper full name', this.isValidFullName(fullName));
|
6107
6119
|
|
6108
|
-
var factory =
|
6120
|
+
var factory = _resolve(this, this.normalize(fullName), options),
|
6109
6121
|
_fallback;
|
6110
|
-
if (factory === undefined && this.fallback) {
|
6122
|
+
if (factory === undefined && this.fallback !== null) {
|
6111
6123
|
|
6112
6124
|
factory = (_fallback = this.fallback).resolve.apply(_fallback, arguments);
|
6113
6125
|
}
|
6114
6126
|
return factory;
|
6115
|
-
}
|
6116
|
-
|
6117
|
-
|
6127
|
+
};
|
6128
|
+
|
6129
|
+
Registry.prototype.describe = function (fullName) {
|
6130
|
+
if (this.resolver !== null && this.resolver.lookupDescription) {
|
6118
6131
|
return this.resolver.lookupDescription(fullName);
|
6119
|
-
} else if (this.fallback) {
|
6132
|
+
} else if (this.fallback !== null) {
|
6120
6133
|
return this.fallback.describe(fullName);
|
6121
6134
|
} else {
|
6122
6135
|
return fullName;
|
6123
6136
|
}
|
6124
|
-
}
|
6125
|
-
|
6126
|
-
|
6137
|
+
};
|
6138
|
+
|
6139
|
+
Registry.prototype.normalizeFullName = function (fullName) {
|
6140
|
+
if (this.resolver !== null && this.resolver.normalize) {
|
6127
6141
|
return this.resolver.normalize(fullName);
|
6128
|
-
} else if (this.fallback) {
|
6142
|
+
} else if (this.fallback !== null) {
|
6129
6143
|
return this.fallback.normalizeFullName(fullName);
|
6130
6144
|
} else {
|
6131
6145
|
return fullName;
|
6132
6146
|
}
|
6133
|
-
}
|
6134
|
-
|
6147
|
+
};
|
6148
|
+
|
6149
|
+
Registry.prototype.normalize = function (fullName) {
|
6135
6150
|
return this._normalizeCache[fullName] || (this._normalizeCache[fullName] = this.normalizeFullName(fullName));
|
6136
|
-
}
|
6137
|
-
|
6138
|
-
|
6151
|
+
};
|
6152
|
+
|
6153
|
+
Registry.prototype.makeToString = function (factory, fullName) {
|
6154
|
+
if (this.resolver !== null && this.resolver.makeToString) {
|
6139
6155
|
return this.resolver.makeToString(factory, fullName);
|
6140
|
-
} else if (this.fallback) {
|
6156
|
+
} else if (this.fallback !== null) {
|
6141
6157
|
return this.fallback.makeToString(factory, fullName);
|
6142
6158
|
} else {
|
6143
6159
|
return factory.toString();
|
6144
6160
|
}
|
6145
|
-
}
|
6146
|
-
|
6161
|
+
};
|
6162
|
+
|
6163
|
+
Registry.prototype.has = function (fullName, options) {
|
6147
6164
|
if (!this.isValidFullName(fullName)) {
|
6148
6165
|
return false;
|
6149
6166
|
}
|
6150
6167
|
|
6151
6168
|
var source = options && options.source && this.normalize(options.source);
|
6152
6169
|
|
6153
|
-
return
|
6154
|
-
}
|
6155
|
-
|
6170
|
+
return _has(this, this.normalize(fullName), source);
|
6171
|
+
};
|
6172
|
+
|
6173
|
+
Registry.prototype.optionsForType = function (type, options) {
|
6156
6174
|
this._typeOptions[type] = options;
|
6157
|
-
}
|
6158
|
-
|
6175
|
+
};
|
6176
|
+
|
6177
|
+
Registry.prototype.getOptionsForType = function (type) {
|
6159
6178
|
var optionsForType = this._typeOptions[type];
|
6160
|
-
if (optionsForType === undefined && this.fallback) {
|
6179
|
+
if (optionsForType === undefined && this.fallback !== null) {
|
6161
6180
|
optionsForType = this.fallback.getOptionsForType(type);
|
6162
6181
|
}
|
6163
6182
|
return optionsForType;
|
6164
|
-
}
|
6165
|
-
|
6166
|
-
|
6183
|
+
};
|
6184
|
+
|
6185
|
+
Registry.prototype.options = function (fullName) {
|
6186
|
+
var _options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
6167
6187
|
|
6168
6188
|
var normalizedName = this.normalize(fullName);
|
6169
|
-
this._options[normalizedName] =
|
6170
|
-
}
|
6171
|
-
|
6189
|
+
this._options[normalizedName] = _options;
|
6190
|
+
};
|
6191
|
+
|
6192
|
+
Registry.prototype.getOptions = function (fullName) {
|
6172
6193
|
var normalizedName = this.normalize(fullName);
|
6173
6194
|
var options = this._options[normalizedName];
|
6174
6195
|
|
6175
|
-
if (options === undefined && this.fallback) {
|
6196
|
+
if (options === undefined && this.fallback !== null) {
|
6176
6197
|
options = this.fallback.getOptions(fullName);
|
6177
6198
|
}
|
6178
6199
|
return options;
|
6179
|
-
}
|
6180
|
-
|
6200
|
+
};
|
6201
|
+
|
6202
|
+
Registry.prototype.getOption = function (fullName, optionName) {
|
6181
6203
|
var options = this._options[fullName];
|
6182
6204
|
|
6183
6205
|
if (options && options[optionName] !== undefined) {
|
@@ -6189,39 +6211,41 @@ enifed('container', ['exports', 'ember-utils', 'ember-debug', 'ember/features'],
|
|
6189
6211
|
|
6190
6212
|
if (options && options[optionName] !== undefined) {
|
6191
6213
|
return options[optionName];
|
6192
|
-
} else if (this.fallback) {
|
6214
|
+
} else if (this.fallback !== null) {
|
6193
6215
|
return this.fallback.getOption(fullName, optionName);
|
6194
6216
|
}
|
6195
|
-
}
|
6196
|
-
|
6197
|
-
|
6217
|
+
};
|
6218
|
+
|
6219
|
+
Registry.prototype.typeInjection = function (type, property, fullName) {
|
6220
|
+
true && !this.isValidFullName(fullName) && (0, _emberDebug.assert)('fullName must be a proper full name', this.isValidFullName(fullName));
|
6198
6221
|
|
6199
6222
|
var fullNameType = fullName.split(':')[0];
|
6200
|
-
|
6201
|
-
throw new Error('Cannot inject a \'' + fullName + '\' on other ' + type + '(s).');
|
6202
|
-
}
|
6223
|
+
true && !(fullNameType !== type) && (0, _emberDebug.assert)('Cannot inject a \'' + fullName + '\' on other ' + type + '(s).', fullNameType !== type);
|
6203
6224
|
|
6204
6225
|
var injections = this._typeInjections[type] || (this._typeInjections[type] = []);
|
6205
6226
|
|
6206
6227
|
injections.push({ property: property, fullName: fullName });
|
6207
|
-
}
|
6208
|
-
|
6209
|
-
|
6228
|
+
};
|
6229
|
+
|
6230
|
+
Registry.prototype.injection = function (fullName, property, injectionName) {
|
6231
|
+
true && !this.isValidFullName(injectionName) && (0, _emberDebug.assert)('Invalid injectionName, expected: \'type:name\' got: ' + injectionName, this.isValidFullName(injectionName));
|
6232
|
+
|
6210
6233
|
var normalizedInjectionName = this.normalize(injectionName);
|
6211
6234
|
|
6212
6235
|
if (fullName.indexOf(':') === -1) {
|
6213
6236
|
return this.typeInjection(fullName, property, normalizedInjectionName);
|
6214
6237
|
}
|
6215
6238
|
|
6216
|
-
true && !this.
|
6239
|
+
true && !this.isValidFullName(fullName) && (0, _emberDebug.assert)('fullName must be a proper full name', this.isValidFullName(fullName));
|
6217
6240
|
|
6218
6241
|
var normalizedName = this.normalize(fullName);
|
6219
6242
|
|
6220
6243
|
var injections = this._injections[normalizedName] || (this._injections[normalizedName] = []);
|
6221
6244
|
|
6222
6245
|
injections.push({ property: property, fullName: normalizedInjectionName });
|
6223
|
-
}
|
6224
|
-
|
6246
|
+
};
|
6247
|
+
|
6248
|
+
Registry.prototype.knownForType = function (type) {
|
6225
6249
|
var fallbackKnown = void 0,
|
6226
6250
|
resolverKnown = void 0,
|
6227
6251
|
index,
|
@@ -6240,74 +6264,72 @@ enifed('container', ['exports', 'ember-utils', 'ember-debug', 'ember/features'],
|
|
6240
6264
|
}
|
6241
6265
|
}
|
6242
6266
|
|
6243
|
-
if (this.fallback) {
|
6267
|
+
if (this.fallback !== null) {
|
6244
6268
|
fallbackKnown = this.fallback.knownForType(type);
|
6245
6269
|
}
|
6246
6270
|
|
6247
|
-
if (this.resolver && this.resolver.knownForType) {
|
6271
|
+
if (this.resolver !== null && this.resolver.knownForType) {
|
6248
6272
|
resolverKnown = this.resolver.knownForType(type);
|
6249
6273
|
}
|
6250
6274
|
|
6251
6275
|
return (0, _emberUtils.assign)({}, fallbackKnown, localKnown, resolverKnown);
|
6252
|
-
}
|
6253
|
-
validateFullName: function (fullName) {
|
6254
|
-
if (!this.isValidFullName(fullName)) {
|
6255
|
-
throw new TypeError('Invalid Fullname, expected: \'type:name\' got: ' + fullName);
|
6256
|
-
}
|
6276
|
+
};
|
6257
6277
|
|
6258
|
-
|
6259
|
-
},
|
6260
|
-
isValidFullName: function (fullName) {
|
6278
|
+
Registry.prototype.isValidFullName = function (fullName) {
|
6261
6279
|
return VALID_FULL_NAME_REGEXP.test(fullName);
|
6262
|
-
}
|
6263
|
-
|
6280
|
+
};
|
6281
|
+
|
6282
|
+
Registry.prototype.getInjections = function (fullName) {
|
6264
6283
|
var injections = this._injections[fullName] || [];
|
6265
|
-
if (this.fallback) {
|
6284
|
+
if (this.fallback !== null) {
|
6266
6285
|
injections = injections.concat(this.fallback.getInjections(fullName));
|
6267
6286
|
}
|
6268
6287
|
return injections;
|
6269
|
-
}
|
6270
|
-
|
6288
|
+
};
|
6289
|
+
|
6290
|
+
Registry.prototype.getTypeInjections = function (type) {
|
6271
6291
|
var injections = this._typeInjections[type] || [];
|
6272
|
-
if (this.fallback) {
|
6292
|
+
if (this.fallback !== null) {
|
6273
6293
|
injections = injections.concat(this.fallback.getTypeInjections(type));
|
6274
6294
|
}
|
6275
6295
|
return injections;
|
6276
|
-
}
|
6277
|
-
|
6296
|
+
};
|
6297
|
+
|
6298
|
+
Registry.prototype.resolverCacheKey = function (name, options) {
|
6278
6299
|
if (!_features.EMBER_MODULE_UNIFICATION) {
|
6279
6300
|
return name;
|
6280
6301
|
}
|
6281
6302
|
|
6282
6303
|
return options && options.source ? options.source + ':' + name : name;
|
6283
|
-
}
|
6284
|
-
|
6304
|
+
};
|
6305
|
+
|
6306
|
+
Registry.prototype.expandLocalLookup = function (fullName, options) {
|
6285
6307
|
var normalizedFullName, normalizedSource;
|
6286
6308
|
|
6287
|
-
if (this.resolver && this.resolver.expandLocalLookup) {
|
6288
|
-
true && !this.
|
6309
|
+
if (this.resolver !== null && this.resolver.expandLocalLookup) {
|
6310
|
+
true && !this.isValidFullName(fullName) && (0, _emberDebug.assert)('fullName must be a proper full name', this.isValidFullName(fullName));
|
6289
6311
|
true && !(options && options.source) && (0, _emberDebug.assert)('options.source must be provided to expandLocalLookup', options && options.source);
|
6290
|
-
true && !this.
|
6312
|
+
true && !this.isValidFullName(options.source) && (0, _emberDebug.assert)('options.source must be a proper full name', this.isValidFullName(options.source));
|
6291
6313
|
|
6292
6314
|
normalizedFullName = this.normalize(fullName);
|
6293
6315
|
normalizedSource = this.normalize(options.source);
|
6294
6316
|
|
6295
6317
|
|
6296
|
-
return
|
6297
|
-
} else if (this.fallback) {
|
6318
|
+
return _expandLocalLookup(this, normalizedFullName, normalizedSource);
|
6319
|
+
} else if (this.fallback !== null) {
|
6298
6320
|
return this.fallback.expandLocalLookup(fullName, options);
|
6299
6321
|
} else {
|
6300
6322
|
return null;
|
6301
6323
|
}
|
6302
|
-
}
|
6303
|
-
|
6324
|
+
};
|
6325
|
+
|
6326
|
+
return Registry;
|
6327
|
+
}();
|
6304
6328
|
|
6305
6329
|
function deprecateResolverFunction(registry) {
|
6306
6330
|
true && !false && (0, _emberDebug.deprecate)('Passing a `resolver` function into a Registry is deprecated. Please pass in a Resolver object with a `resolve` method.', false, { id: 'ember-application.registry-resolver-as-function', until: '3.0.0', url: 'https://emberjs.com/deprecations/v2.x#toc_registry-resolver-as-function' });
|
6307
6331
|
|
6308
|
-
registry.resolver = {
|
6309
|
-
resolve: registry.resolver
|
6310
|
-
};
|
6332
|
+
registry.resolver = { resolve: registry.resolver };
|
6311
6333
|
}
|
6312
6334
|
|
6313
6335
|
Registry.prototype.normalizeInjectionsHash = function (hash) {
|
@@ -6315,7 +6337,7 @@ enifed('container', ['exports', 'ember-utils', 'ember-debug', 'ember/features'],
|
|
6315
6337
|
|
6316
6338
|
for (var key in hash) {
|
6317
6339
|
if (hash.hasOwnProperty(key)) {
|
6318
|
-
true && !this.
|
6340
|
+
true && !this.isValidFullName(hash[key]) && (0, _emberDebug.assert)('Expected a proper full name, given \'' + hash[key] + '\'', this.isValidFullName(hash[key]));
|
6319
6341
|
|
6320
6342
|
injections.push({
|
6321
6343
|
property: key,
|
@@ -6343,7 +6365,7 @@ enifed('container', ['exports', 'ember-utils', 'ember-debug', 'ember/features'],
|
|
6343
6365
|
};
|
6344
6366
|
|
6345
6367
|
|
6346
|
-
function
|
6368
|
+
function _expandLocalLookup(registry, normalizedName, normalizedSource) {
|
6347
6369
|
var cache = registry._localLookupCache;
|
6348
6370
|
var normalizedNameCache = cache[normalizedName];
|
6349
6371
|
|
@@ -6362,7 +6384,7 @@ enifed('container', ['exports', 'ember-utils', 'ember-debug', 'ember/features'],
|
|
6362
6384
|
return normalizedNameCache[normalizedSource] = expanded;
|
6363
6385
|
}
|
6364
6386
|
|
6365
|
-
function
|
6387
|
+
function _resolve(registry, normalizedName, options) {
|
6366
6388
|
if (options && options.source) {
|
6367
6389
|
// when `source` is provided expand normalizedName
|
6368
6390
|
// and source into the full normalizedName
|
@@ -6413,7 +6435,7 @@ enifed('container', ['exports', 'ember-utils', 'ember-debug', 'ember/features'],
|
|
6413
6435
|
return resolved;
|
6414
6436
|
}
|
6415
6437
|
|
6416
|
-
function
|
6438
|
+
function _has(registry, fullName, source) {
|
6417
6439
|
return registry.resolve(fullName, { source: source }) !== undefined;
|
6418
6440
|
}
|
6419
6441
|
|
@@ -6436,9 +6458,9 @@ enifed('container', ['exports', 'ember-utils', 'ember-debug', 'ember/features'],
|
|
6436
6458
|
return name;
|
6437
6459
|
}
|
6438
6460
|
|
6439
|
-
var _fullName$
|
6440
|
-
type = _fullName$
|
6441
|
-
rawName = _fullName$
|
6461
|
+
var _fullName$split2 = fullName.split(':'),
|
6462
|
+
type = _fullName$split2[0],
|
6463
|
+
rawName = _fullName$split2[1];
|
6442
6464
|
|
6443
6465
|
return privateNames[fullName] = (0, _emberUtils.intern)(type + ':' + rawName + '-' + privateSuffix);
|
6444
6466
|
};
|
@@ -6526,13 +6548,7 @@ enifed('ember-console', ['exports', 'ember-environment'], function (exports, _em
|
|
6526
6548
|
return;
|
6527
6549
|
}
|
6528
6550
|
|
6529
|
-
|
6530
|
-
return method.bind(consoleObj);
|
6531
|
-
}
|
6532
|
-
|
6533
|
-
return function () {
|
6534
|
-
method.apply(consoleObj, arguments);
|
6535
|
-
};
|
6551
|
+
return method.bind(consoleObj);
|
6536
6552
|
}
|
6537
6553
|
|
6538
6554
|
/**
|
@@ -11126,6 +11142,7 @@ enifed('ember-metal', ['exports', 'ember-environment', 'ember-utils', 'ember-deb
|
|
11126
11142
|
}
|
11127
11143
|
|
11128
11144
|
var ret = this._getter.call(obj, keyName);
|
11145
|
+
|
11129
11146
|
cache[keyName] = ret === undefined ? UNDEFINED : ret;
|
11130
11147
|
|
11131
11148
|
var chainWatchers = meta$$1.readableChainWatchers();
|
@@ -11181,14 +11198,13 @@ enifed('ember-metal', ['exports', 'ember-environment', 'ember-utils', 'ember-deb
|
|
11181
11198
|
ComputedPropertyPrototype._set = function (obj, keyName, value) {
|
11182
11199
|
var meta$$1 = meta(obj);
|
11183
11200
|
var cache = meta$$1.writableCache();
|
11184
|
-
|
11185
|
-
var cachedValue = void 0;
|
11201
|
+
|
11186
11202
|
var val = cache[keyName];
|
11187
|
-
|
11188
|
-
|
11189
|
-
|
11190
|
-
|
11191
|
-
|
11203
|
+
var hadCachedValue = val !== undefined;
|
11204
|
+
|
11205
|
+
var cachedValue = void 0;
|
11206
|
+
if (hadCachedValue && val !== UNDEFINED) {
|
11207
|
+
cachedValue = val;
|
11192
11208
|
}
|
11193
11209
|
|
11194
11210
|
var ret = this._setter.call(obj, keyName, value, cachedValue);
|
@@ -11200,17 +11216,11 @@ enifed('ember-metal', ['exports', 'ember-environment', 'ember-utils', 'ember-deb
|
|
11200
11216
|
|
11201
11217
|
propertyWillChange(obj, keyName, meta$$1);
|
11202
11218
|
|
11203
|
-
if (hadCachedValue) {
|
11204
|
-
cache[keyName] = undefined;
|
11205
|
-
} else {
|
11219
|
+
if (!hadCachedValue) {
|
11206
11220
|
addDependentKeys(this, obj, keyName, meta$$1);
|
11207
11221
|
}
|
11208
11222
|
|
11209
|
-
|
11210
|
-
cache[keyName] = UNDEFINED;
|
11211
|
-
} else {
|
11212
|
-
cache[keyName] = ret;
|
11213
|
-
}
|
11223
|
+
cache[keyName] = ret === undefined ? UNDEFINED : ret;
|
11214
11224
|
|
11215
11225
|
propertyDidChange(obj, keyName, meta$$1);
|
11216
11226
|
|
@@ -12641,17 +12651,7 @@ enifed('ember-metal', ['exports', 'ember-environment', 'ember-utils', 'ember-deb
|
|
12641
12651
|
this._coreLibIndex = 0;
|
12642
12652
|
}
|
12643
12653
|
|
12644
|
-
Libraries.prototype.
|
12645
|
-
return !!this._getLibraryByName(name);
|
12646
|
-
};
|
12647
|
-
|
12648
|
-
return Libraries;
|
12649
|
-
}();
|
12650
|
-
|
12651
|
-
Libraries.prototype = {
|
12652
|
-
constructor: Libraries,
|
12653
|
-
|
12654
|
-
_getLibraryByName: function (name) {
|
12654
|
+
Libraries.prototype._getLibraryByName = function (name) {
|
12655
12655
|
var libs = this._registry,
|
12656
12656
|
i;
|
12657
12657
|
var count = libs.length;
|
@@ -12661,8 +12661,9 @@ enifed('ember-metal', ['exports', 'ember-environment', 'ember-utils', 'ember-deb
|
|
12661
12661
|
return libs[i];
|
12662
12662
|
}
|
12663
12663
|
}
|
12664
|
-
}
|
12665
|
-
|
12664
|
+
};
|
12665
|
+
|
12666
|
+
Libraries.prototype.register = function (name, version, isCoreLibrary) {
|
12666
12667
|
var index = this._registry.length;
|
12667
12668
|
|
12668
12669
|
if (!this._getLibraryByName(name)) {
|
@@ -12673,11 +12674,13 @@ enifed('ember-metal', ['exports', 'ember-environment', 'ember-utils', 'ember-deb
|
|
12673
12674
|
} else {
|
12674
12675
|
true && emberDebug.warn('Library "' + name + '" is already registered with Ember.', false, { id: 'ember-metal.libraries-register' });
|
12675
12676
|
}
|
12676
|
-
}
|
12677
|
-
|
12677
|
+
};
|
12678
|
+
|
12679
|
+
Libraries.prototype.registerCoreLibrary = function (name, version) {
|
12678
12680
|
this.register(name, version, true);
|
12679
|
-
}
|
12680
|
-
|
12681
|
+
};
|
12682
|
+
|
12683
|
+
Libraries.prototype.deRegister = function (name) {
|
12681
12684
|
var lib = this._getLibraryByName(name);
|
12682
12685
|
var index = void 0;
|
12683
12686
|
|
@@ -12685,8 +12688,10 @@ enifed('ember-metal', ['exports', 'ember-environment', 'ember-utils', 'ember-deb
|
|
12685
12688
|
index = this._registry.indexOf(lib);
|
12686
12689
|
this._registry.splice(index, 1);
|
12687
12690
|
}
|
12688
|
-
}
|
12689
|
-
|
12691
|
+
};
|
12692
|
+
|
12693
|
+
return Libraries;
|
12694
|
+
}();
|
12690
12695
|
|
12691
12696
|
if (ember_features.EMBER_LIBRARIES_ISREGISTERED) {
|
12692
12697
|
Libraries.prototype.isRegistered = function (name) {
|
@@ -15681,7 +15686,7 @@ enifed('ember-template-compiler/plugins/transform-dot-component-invocation', ['e
|
|
15681
15686
|
};
|
15682
15687
|
|
15683
15688
|
function isMultipartPath(path) {
|
15684
|
-
return path.parts.length > 1;
|
15689
|
+
return path.parts && path.parts.length > 1;
|
15685
15690
|
}
|
15686
15691
|
|
15687
15692
|
function isInlineInvocation(path, params, hash) {
|
@@ -16434,7 +16439,6 @@ enifed('ember-template-compiler/system/compile-options', ['exports', 'ember-util
|
|
16434
16439
|
var options = (0, _emberUtils.assign)({ meta: {} }, _options),
|
16435
16440
|
meta,
|
16436
16441
|
potententialPugins,
|
16437
|
-
providedPlugins,
|
16438
16442
|
pluginsToAdd;
|
16439
16443
|
|
16440
16444
|
// move `moduleName` into `meta` property
|
@@ -16448,14 +16452,11 @@ enifed('ember-template-compiler/system/compile-options', ['exports', 'ember-util
|
|
16448
16452
|
options.plugins = { ast: [].concat(USER_PLUGINS, _plugins.default) };
|
16449
16453
|
} else {
|
16450
16454
|
potententialPugins = [].concat(USER_PLUGINS, _plugins.default);
|
16451
|
-
providedPlugins = options.plugins.ast.map(function (plugin) {
|
16452
|
-
return wrapLegacyPluginIfNeeded(plugin);
|
16453
|
-
});
|
16454
16455
|
pluginsToAdd = potententialPugins.filter(function (plugin) {
|
16455
16456
|
return options.plugins.ast.indexOf(plugin) === -1;
|
16456
16457
|
});
|
16457
16458
|
|
16458
|
-
options.plugins.ast =
|
16459
|
+
options.plugins.ast = options.plugins.ast.slice().concat(pluginsToAdd);
|
16459
16460
|
}
|
16460
16461
|
|
16461
16462
|
return options;
|
@@ -16465,65 +16466,40 @@ enifed('ember-template-compiler/system/compile-options', ['exports', 'ember-util
|
|
16465
16466
|
throw new Error('Attempting to register ' + _plugin + ' as "' + type + '" which is not a valid Glimmer plugin type.');
|
16466
16467
|
}
|
16467
16468
|
|
16468
|
-
|
16469
|
-
PLUGIN = USER_PLUGINS[i];
|
16470
|
-
|
16471
|
-
if (PLUGIN === _plugin || PLUGIN.__raw === _plugin) {
|
16472
|
-
return;
|
16473
|
-
}
|
16474
|
-
}
|
16475
|
-
|
16476
|
-
var plugin = wrapLegacyPluginIfNeeded(_plugin),
|
16477
|
-
i,
|
16478
|
-
PLUGIN;
|
16479
|
-
|
16480
|
-
USER_PLUGINS = [plugin].concat(USER_PLUGINS);
|
16481
|
-
};
|
16482
|
-
exports.unregisterPlugin = function (type, PluginClass) {
|
16483
|
-
if (type !== 'ast') {
|
16484
|
-
throw new Error('Attempting to unregister ' + PluginClass + ' as "' + type + '" which is not a valid Glimmer plugin type.');
|
16485
|
-
}
|
16486
|
-
|
16487
|
-
USER_PLUGINS = USER_PLUGINS.filter(function (plugin) {
|
16488
|
-
return plugin !== PluginClass && plugin.__raw !== PluginClass;
|
16489
|
-
});
|
16490
|
-
};
|
16491
|
-
|
16492
|
-
var USER_PLUGINS = [];
|
16493
|
-
|
16494
|
-
function wrapLegacyPluginIfNeeded(_plugin) {
|
16495
|
-
var plugin = _plugin;
|
16469
|
+
var plugin = void 0;
|
16496
16470
|
if (_plugin.prototype && _plugin.prototype.transform) {
|
16497
16471
|
plugin = function (env) {
|
16498
|
-
var pluginInstantiated = false;
|
16499
|
-
|
16500
16472
|
return {
|
16501
16473
|
name: _plugin.constructor && _plugin.constructor.name,
|
16502
16474
|
|
16503
16475
|
visitors: {
|
16504
16476
|
Program: function (node) {
|
16505
|
-
var
|
16506
|
-
|
16507
|
-
if (!pluginInstantiated) {
|
16508
|
-
|
16509
|
-
pluginInstantiated = true;
|
16510
|
-
_plugin2 = new _plugin(env);
|
16477
|
+
var plugin = new _plugin(env);
|
16511
16478
|
|
16479
|
+
plugin.syntax = env.syntax;
|
16512
16480
|
|
16513
|
-
|
16514
|
-
|
16515
|
-
return _plugin2.transform(node);
|
16516
|
-
}
|
16481
|
+
return plugin.transform(node);
|
16517
16482
|
}
|
16518
16483
|
}
|
16519
16484
|
};
|
16520
16485
|
};
|
16486
|
+
} else {
|
16487
|
+
plugin = _plugin;
|
16488
|
+
}
|
16521
16489
|
|
16522
|
-
|
16490
|
+
USER_PLUGINS = [plugin].concat(USER_PLUGINS);
|
16491
|
+
};
|
16492
|
+
exports.removePlugin = function (type, PluginClass) {
|
16493
|
+
if (type !== 'ast') {
|
16494
|
+
throw new Error('Attempting to unregister ' + PluginClass + ' as "' + type + '" which is not a valid Glimmer plugin type.');
|
16523
16495
|
}
|
16524
16496
|
|
16525
|
-
|
16526
|
-
|
16497
|
+
USER_PLUGINS = USER_PLUGINS.filter(function (plugin) {
|
16498
|
+
return plugin !== PluginClass;
|
16499
|
+
});
|
16500
|
+
};
|
16501
|
+
|
16502
|
+
var USER_PLUGINS = [];
|
16527
16503
|
});
|
16528
16504
|
enifed('ember-template-compiler/system/compile', ['exports', 'require', 'ember-template-compiler/system/precompile'], function (exports, _require2, _precompile) {
|
16529
16505
|
'use strict';
|
@@ -16677,7 +16653,7 @@ enifed('ember-utils', ['exports'], function (exports) {
|
|
16677
16653
|
@type String
|
16678
16654
|
@final
|
16679
16655
|
*/
|
16680
|
-
|
16656
|
+
|
16681
16657
|
|
16682
16658
|
// Used for guid generation...
|
16683
16659
|
var numberCache = [];
|
@@ -16734,7 +16710,24 @@ enifed('ember-utils', ['exports'], function (exports) {
|
|
16734
16710
|
separate the guid into separate namespaces.
|
16735
16711
|
@return {String} the guid
|
16736
16712
|
*/
|
16713
|
+
function generateGuid(obj) {
|
16714
|
+
var prefix = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'ember';
|
16737
16715
|
|
16716
|
+
var ret = prefix + uuid();
|
16717
|
+
if (obj !== undefined && obj !== null) {
|
16718
|
+
if (obj[GUID_KEY] === null) {
|
16719
|
+
obj[GUID_KEY] = ret;
|
16720
|
+
} else {
|
16721
|
+
GUID_DESC.value = ret;
|
16722
|
+
if (obj.__defineNonEnumerable) {
|
16723
|
+
obj.__defineNonEnumerable(GUID_KEY_PROPERTY);
|
16724
|
+
} else {
|
16725
|
+
Object.defineProperty(obj, GUID_KEY, GUID_DESC);
|
16726
|
+
}
|
16727
|
+
}
|
16728
|
+
}
|
16729
|
+
return ret;
|
16730
|
+
}
|
16738
16731
|
|
16739
16732
|
/**
|
16740
16733
|
Returns a unique id for the object. If the object does not yet have a guid,
|
@@ -16758,7 +16751,7 @@ enifed('ember-utils', ['exports'], function (exports) {
|
|
16758
16751
|
// want to require non-enumerability for this API, which
|
16759
16752
|
// would introduce a large cost.
|
16760
16753
|
var id = GUID_KEY + Math.floor(Math.random() * new Date());
|
16761
|
-
return intern('__' + debugName +
|
16754
|
+
return intern('__' + debugName + id + '__');
|
16762
16755
|
}
|
16763
16756
|
|
16764
16757
|
/**
|
@@ -17151,34 +17144,8 @@ enifed('ember-utils', ['exports'], function (exports) {
|
|
17151
17144
|
exports.GUID_KEY = GUID_KEY;
|
17152
17145
|
exports.GUID_DESC = GUID_DESC;
|
17153
17146
|
exports.GUID_KEY_PROPERTY = GUID_KEY_PROPERTY;
|
17154
|
-
exports.generateGuid =
|
17155
|
-
if (!prefix) {
|
17156
|
-
prefix = GUID_PREFIX;
|
17157
|
-
}
|
17158
|
-
|
17159
|
-
var ret = prefix + uuid();
|
17160
|
-
if (obj) {
|
17161
|
-
if (obj[GUID_KEY] === null) {
|
17162
|
-
obj[GUID_KEY] = ret;
|
17163
|
-
} else {
|
17164
|
-
GUID_DESC.value = ret;
|
17165
|
-
if (obj.__defineNonEnumerable) {
|
17166
|
-
obj.__defineNonEnumerable(GUID_KEY_PROPERTY);
|
17167
|
-
} else {
|
17168
|
-
Object.defineProperty(obj, GUID_KEY, GUID_DESC);
|
17169
|
-
}
|
17170
|
-
}
|
17171
|
-
}
|
17172
|
-
return ret;
|
17173
|
-
};
|
17147
|
+
exports.generateGuid = generateGuid;
|
17174
17148
|
exports.guidFor = function (obj) {
|
17175
|
-
var type = typeof obj;
|
17176
|
-
|
17177
|
-
|
17178
|
-
if ((type === 'object' && obj !== null || type === 'function') && obj[GUID_KEY]) {
|
17179
|
-
return obj[GUID_KEY];
|
17180
|
-
}
|
17181
|
-
|
17182
17149
|
// special cases where we don't want to add a key to object
|
17183
17150
|
if (obj === undefined) {
|
17184
17151
|
return '(undefined)';
|
@@ -17188,8 +17155,12 @@ enifed('ember-utils', ['exports'], function (exports) {
|
|
17188
17155
|
return '(null)';
|
17189
17156
|
}
|
17190
17157
|
|
17191
|
-
var
|
17158
|
+
var type = typeof obj;
|
17159
|
+
if ((type === 'object' || type === 'function') && obj[GUID_KEY]) {
|
17160
|
+
return obj[GUID_KEY];
|
17161
|
+
}
|
17192
17162
|
|
17163
|
+
var ret = void 0;
|
17193
17164
|
// Don't allow prototype changes to String etc. to change the guidFor
|
17194
17165
|
switch (type) {
|
17195
17166
|
case 'number':
|
@@ -17222,20 +17193,7 @@ enifed('ember-utils', ['exports'], function (exports) {
|
|
17222
17193
|
return '(Array)';
|
17223
17194
|
}
|
17224
17195
|
|
17225
|
-
|
17226
|
-
|
17227
|
-
if (obj[GUID_KEY] === null) {
|
17228
|
-
obj[GUID_KEY] = ret;
|
17229
|
-
} else {
|
17230
|
-
GUID_DESC.value = ret;
|
17231
|
-
|
17232
|
-
if (obj.__defineNonEnumerable) {
|
17233
|
-
obj.__defineNonEnumerable(GUID_KEY_PROPERTY);
|
17234
|
-
} else {
|
17235
|
-
Object.defineProperty(obj, GUID_KEY, GUID_DESC);
|
17236
|
-
}
|
17237
|
-
}
|
17238
|
-
return ret;
|
17196
|
+
return generateGuid(obj);
|
17239
17197
|
}
|
17240
17198
|
};
|
17241
17199
|
exports.intern = intern;
|
@@ -17349,7 +17307,7 @@ enifed('ember/features', ['exports', 'ember-environment', 'ember-utils'], functi
|
|
17349
17307
|
enifed("ember/version", ["exports"], function (exports) {
|
17350
17308
|
"use strict";
|
17351
17309
|
|
17352
|
-
exports.default = "2.
|
17310
|
+
exports.default = "2.18.0-beta.1";
|
17353
17311
|
});
|
17354
17312
|
enifed("handlebars", ["exports"], function (exports) {
|
17355
17313
|
"use strict";
|
@@ -18740,16 +18698,17 @@ enifed("handlebars", ["exports"], function (exports) {
|
|
18740
18698
|
return strip.accept(handlebars.parse(input));
|
18741
18699
|
};
|
18742
18700
|
});
|
18701
|
+
/*global enifed */
|
18743
18702
|
enifed('node-module', ['exports'], function(_exports) {
|
18744
18703
|
var IS_NODE = typeof module === 'object' && typeof module.require === 'function';
|
18745
18704
|
if (IS_NODE) {
|
18746
18705
|
_exports.require = module.require;
|
18747
18706
|
_exports.module = module;
|
18748
|
-
_exports.IS_NODE = IS_NODE
|
18707
|
+
_exports.IS_NODE = IS_NODE;
|
18749
18708
|
} else {
|
18750
18709
|
_exports.require = null;
|
18751
18710
|
_exports.module = null;
|
18752
|
-
_exports.IS_NODE = IS_NODE
|
18711
|
+
_exports.IS_NODE = IS_NODE;
|
18753
18712
|
}
|
18754
18713
|
});
|
18755
18714
|
enifed("simple-html-tokenizer", ["exports"], function (exports) {
|