ember-source 2.17.2 → 2.18.0.beta.1
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/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
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 0a1f07f335db8b7372bb82060ed1f93972af30747e3936b4c31fbaf1a968e4e3
|
4
|
+
data.tar.gz: 182d672ee9a3b25cc581d83dea780304026b8d962cfb2b84763372312ef18627
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 536178cc4558abdeeea5ddbf3b01e1b635307d023f6eb0bfe3fb010e4e7714c71b948fb7d8c4757b13df184e9595a3acf65ef0b3b63130f0ca58e4a010f76cbf
|
7
|
+
data.tar.gz: 0c94bd7e28233c9ba2a900a2f2febcd8dab734ec53dd03b33d48ac67cd1656a411c454cb580bf7706cf14954d22fd7354b17752fa9c79cdba8ce0966cf3b2100
|
data/dist/ember-runtime.js
CHANGED
@@ -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 = {
|
@@ -134,52 +135,112 @@ enifed('container', ['exports', 'ember-babel', 'ember-utils', 'ember-debug', 'em
|
|
134
135
|
@private
|
135
136
|
@class Container
|
136
137
|
*/
|
137
|
-
function Container(registry) {
|
138
|
-
var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
139
138
|
|
140
|
-
|
141
|
-
|
142
|
-
|
143
|
-
|
144
|
-
|
145
|
-
|
139
|
+
var Container = function () {
|
140
|
+
function Container(registry) {
|
141
|
+
var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
142
|
+
(0, _emberBabel.classCallCheck)(this, Container);
|
143
|
+
|
144
|
+
this.registry = registry;
|
145
|
+
this.owner = options.owner || null;
|
146
|
+
this.cache = (0, _emberUtils.dictionary)(options.cache || null);
|
147
|
+
this.factoryManagerCache = (0, _emberUtils.dictionary)(options.factoryManagerCache || null);
|
148
|
+
this[CONTAINER_OVERRIDE] = undefined;
|
149
|
+
this.isDestroyed = false;
|
146
150
|
|
147
|
-
|
148
|
-
|
151
|
+
if (true) {
|
152
|
+
this.validationCache = (0, _emberUtils.dictionary)(options.validationCache || null);
|
153
|
+
}
|
149
154
|
}
|
150
|
-
}
|
151
155
|
|
152
|
-
|
153
|
-
|
154
|
-
|
156
|
+
/**
|
157
|
+
@private
|
158
|
+
@property registry
|
159
|
+
@type Registry
|
160
|
+
@since 1.11.0
|
161
|
+
*/
|
155
162
|
|
156
|
-
|
157
|
-
|
158
|
-
|
163
|
+
/**
|
164
|
+
@private
|
165
|
+
@property cache
|
166
|
+
@type InheritingDict
|
167
|
+
*/
|
168
|
+
|
169
|
+
/**
|
170
|
+
@private
|
171
|
+
@property validationCache
|
172
|
+
@type InheritingDict
|
173
|
+
*/
|
174
|
+
|
175
|
+
/**
|
176
|
+
Given a fullName return a corresponding instance.
|
177
|
+
The default behavior is for lookup to return a singleton instance.
|
178
|
+
The singleton is scoped to the container, allowing multiple containers
|
179
|
+
to all have their own locally scoped singletons.
|
180
|
+
```javascript
|
181
|
+
let registry = new Registry();
|
182
|
+
let container = registry.container();
|
183
|
+
registry.register('api:twitter', Twitter);
|
184
|
+
let twitter = container.lookup('api:twitter');
|
185
|
+
twitter instanceof Twitter; // => true
|
186
|
+
// by default the container will return singletons
|
187
|
+
let twitter2 = container.lookup('api:twitter');
|
188
|
+
twitter2 instanceof Twitter; // => true
|
189
|
+
twitter === twitter2; //=> true
|
190
|
+
```
|
191
|
+
If singletons are not wanted, an optional flag can be provided at lookup.
|
192
|
+
```javascript
|
193
|
+
let registry = new Registry();
|
194
|
+
let container = registry.container();
|
195
|
+
registry.register('api:twitter', Twitter);
|
196
|
+
let twitter = container.lookup('api:twitter', { singleton: false });
|
197
|
+
let twitter2 = container.lookup('api:twitter', { singleton: false });
|
198
|
+
twitter === twitter2; //=> false
|
199
|
+
```
|
200
|
+
@private
|
201
|
+
@method lookup
|
202
|
+
@param {String} fullName
|
203
|
+
@param {Object} [options]
|
204
|
+
@param {String} [options.source] The fullname of the request source (used for local lookup)
|
205
|
+
@return {any}
|
206
|
+
*/
|
207
|
+
|
208
|
+
|
209
|
+
Container.prototype.lookup = function lookup(fullName, options) {
|
210
|
+
(true && !(this.registry.isValidFullName(fullName)) && (0, _emberDebug.assert)('fullName must be a proper full name', this.registry.isValidFullName(fullName)));
|
211
|
+
|
212
|
+
return _lookup(this, this.registry.normalize(fullName), options);
|
213
|
+
};
|
214
|
+
|
215
|
+
Container.prototype.destroy = function destroy() {
|
159
216
|
destroyDestroyables(this);
|
160
217
|
this.isDestroyed = true;
|
161
|
-
}
|
162
|
-
|
218
|
+
};
|
219
|
+
|
220
|
+
Container.prototype.reset = function reset(fullName) {
|
163
221
|
if (fullName === undefined) {
|
164
222
|
resetCache(this);
|
165
223
|
} else {
|
166
224
|
resetMember(this, this.registry.normalize(fullName));
|
167
225
|
}
|
168
|
-
}
|
169
|
-
|
226
|
+
};
|
227
|
+
|
228
|
+
Container.prototype.ownerInjection = function ownerInjection() {
|
170
229
|
var _ref;
|
171
230
|
|
172
231
|
return _ref = {}, _ref[_emberUtils.OWNER] = this.owner, _ref;
|
173
|
-
}
|
174
|
-
|
232
|
+
};
|
233
|
+
|
234
|
+
Container.prototype._resolverCacheKey = function _resolverCacheKey(name, options) {
|
175
235
|
return this.registry.resolverCacheKey(name, options);
|
176
|
-
}
|
177
|
-
|
236
|
+
};
|
237
|
+
|
238
|
+
Container.prototype.factoryFor = function factoryFor(fullName) {
|
178
239
|
var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
179
240
|
|
180
241
|
var normalizedName = this.registry.normalize(fullName);
|
181
242
|
|
182
|
-
(true && !(this.registry.
|
243
|
+
(true && !(this.registry.isValidFullName(normalizedName)) && (0, _emberDebug.assert)('fullName must be a proper full name', this.registry.isValidFullName(normalizedName)));
|
183
244
|
|
184
245
|
|
185
246
|
if (options.source) {
|
@@ -224,8 +285,10 @@ enifed('container', ['exports', 'ember-babel', 'ember-utils', 'ember-debug', 'em
|
|
224
285
|
|
225
286
|
this.factoryManagerCache[cacheKey] = manager;
|
226
287
|
return manager;
|
227
|
-
}
|
228
|
-
|
288
|
+
};
|
289
|
+
|
290
|
+
return Container;
|
291
|
+
}();
|
229
292
|
|
230
293
|
/*
|
231
294
|
* Wrap a factory manager in a proxy which will not permit properties to be
|
@@ -264,7 +327,7 @@ enifed('container', ['exports', 'ember-babel', 'ember-utils', 'ember-debug', 'em
|
|
264
327
|
return container.registry.getOption(fullName, 'instantiate') !== false;
|
265
328
|
}
|
266
329
|
|
267
|
-
function
|
330
|
+
function _lookup(container, fullName) {
|
268
331
|
var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
|
269
332
|
|
270
333
|
if (options.source) {
|
@@ -351,28 +414,19 @@ enifed('container', ['exports', 'ember-babel', 'ember-utils', 'ember-debug', 'em
|
|
351
414
|
throw new Error('Could not create factory');
|
352
415
|
}
|
353
416
|
|
354
|
-
function buildInjections(
|
417
|
+
function buildInjections(container, injections) {
|
355
418
|
var hash = {};
|
356
419
|
var isDynamic = false;
|
357
420
|
|
358
|
-
if (
|
359
|
-
var container = arguments[0];
|
360
|
-
var injections = [];
|
361
|
-
var injection = void 0;
|
362
|
-
|
363
|
-
for (var i = 1; i < arguments.length; i++) {
|
364
|
-
if (arguments[i]) {
|
365
|
-
injections = injections.concat(arguments[i]);
|
366
|
-
}
|
367
|
-
}
|
368
|
-
|
421
|
+
if (injections.length > 0) {
|
369
422
|
if (true) {
|
370
423
|
container.registry.validateInjections(injections);
|
371
424
|
}
|
372
425
|
|
373
|
-
|
374
|
-
|
375
|
-
|
426
|
+
var injection = void 0;
|
427
|
+
for (var i = 0; i < injections.length; i++) {
|
428
|
+
injection = injections[i];
|
429
|
+
hash[injection.property] = _lookup(container, injection.fullName);
|
376
430
|
if (!isDynamic) {
|
377
431
|
isDynamic = !isSingleton(container, injection.fullName);
|
378
432
|
}
|
@@ -384,10 +438,12 @@ enifed('container', ['exports', 'ember-babel', 'ember-utils', 'ember-debug', 'em
|
|
384
438
|
|
385
439
|
function injectionsFor(container, fullName) {
|
386
440
|
var registry = container.registry;
|
387
|
-
var splitName = fullName.split(':');
|
388
|
-
var type = splitName[0];
|
389
441
|
|
390
|
-
|
442
|
+
var _fullName$split = fullName.split(':'),
|
443
|
+
type = _fullName$split[0];
|
444
|
+
|
445
|
+
var injections = registry.getTypeInjections(type).concat(registry.getInjections(fullName));
|
446
|
+
return buildInjections(container, injections);
|
391
447
|
}
|
392
448
|
|
393
449
|
function destroyDestroyables(container) {
|
@@ -516,40 +572,39 @@ enifed('container', ['exports', 'ember-babel', 'ember-utils', 'ember-debug', 'em
|
|
516
572
|
@class Registry
|
517
573
|
@since 1.11.0
|
518
574
|
*/
|
519
|
-
function Registry() {
|
520
|
-
var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
521
575
|
|
522
|
-
|
576
|
+
var Registry = function () {
|
577
|
+
function Registry() {
|
578
|
+
var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
579
|
+
(0, _emberBabel.classCallCheck)(this, Registry);
|
580
|
+
|
581
|
+
this.fallback = options.fallback || null;
|
582
|
+
this.resolver = options.resolver || null;
|
523
583
|
|
524
|
-
if (options.resolver) {
|
525
|
-
this.resolver = options.resolver;
|
526
584
|
if (typeof this.resolver === 'function') {
|
527
585
|
deprecateResolverFunction(this);
|
528
586
|
}
|
529
|
-
}
|
530
587
|
|
531
|
-
|
588
|
+
this.registrations = (0, _emberUtils.dictionary)(options.registrations || null);
|
532
589
|
|
533
|
-
|
534
|
-
|
590
|
+
this._typeInjections = (0, _emberUtils.dictionary)(null);
|
591
|
+
this._injections = (0, _emberUtils.dictionary)(null);
|
535
592
|
|
536
|
-
|
537
|
-
|
538
|
-
|
539
|
-
|
593
|
+
this._localLookupCache = Object.create(null);
|
594
|
+
this._normalizeCache = (0, _emberUtils.dictionary)(null);
|
595
|
+
this._resolveCache = (0, _emberUtils.dictionary)(null);
|
596
|
+
this._failCache = (0, _emberUtils.dictionary)(null);
|
540
597
|
|
541
|
-
|
542
|
-
|
543
|
-
|
598
|
+
this._options = (0, _emberUtils.dictionary)(null);
|
599
|
+
this._typeOptions = (0, _emberUtils.dictionary)(null);
|
600
|
+
}
|
544
601
|
|
545
|
-
Registry.prototype = {
|
546
602
|
/**
|
547
603
|
A backup registry for resolving registrations when no matches can be found.
|
548
604
|
@private
|
549
605
|
@property fallback
|
550
606
|
@type Registry
|
551
607
|
*/
|
552
|
-
fallback: null,
|
553
608
|
|
554
609
|
/**
|
555
610
|
An object that has a `resolve` method that resolves a name.
|
@@ -557,81 +612,79 @@ enifed('container', ['exports', 'ember-babel', 'ember-utils', 'ember-debug', 'em
|
|
557
612
|
@property resolver
|
558
613
|
@type Resolver
|
559
614
|
*/
|
560
|
-
resolver: null,
|
561
615
|
|
562
616
|
/**
|
563
617
|
@private
|
564
618
|
@property registrations
|
565
619
|
@type InheritingDict
|
566
620
|
*/
|
567
|
-
registrations: null,
|
568
621
|
|
569
622
|
/**
|
570
623
|
@private
|
571
624
|
@property _typeInjections
|
572
625
|
@type InheritingDict
|
573
626
|
*/
|
574
|
-
_typeInjections: null,
|
575
627
|
|
576
628
|
/**
|
577
629
|
@private
|
578
630
|
@property _injections
|
579
631
|
@type InheritingDict
|
580
632
|
*/
|
581
|
-
_injections: null,
|
582
633
|
|
583
634
|
/**
|
584
635
|
@private
|
585
636
|
@property _normalizeCache
|
586
637
|
@type InheritingDict
|
587
638
|
*/
|
588
|
-
_normalizeCache: null,
|
589
639
|
|
590
640
|
/**
|
591
641
|
@private
|
592
642
|
@property _resolveCache
|
593
643
|
@type InheritingDict
|
594
644
|
*/
|
595
|
-
_resolveCache: null,
|
596
645
|
|
597
646
|
/**
|
598
647
|
@private
|
599
648
|
@property _options
|
600
649
|
@type InheritingDict
|
601
650
|
*/
|
602
|
-
_options: null,
|
603
651
|
|
604
652
|
/**
|
605
653
|
@private
|
606
654
|
@property _typeOptions
|
607
655
|
@type InheritingDict
|
608
656
|
*/
|
609
|
-
_typeOptions: null,
|
610
657
|
|
611
|
-
|
658
|
+
/**
|
659
|
+
Creates a container based on this registry.
|
660
|
+
@private
|
661
|
+
@method container
|
662
|
+
@param {Object} options
|
663
|
+
@return {Container} created container
|
664
|
+
*/
|
665
|
+
|
666
|
+
|
667
|
+
Registry.prototype.container = function container(options) {
|
612
668
|
return new Container(this, options);
|
613
|
-
}
|
614
|
-
|
669
|
+
};
|
670
|
+
|
671
|
+
Registry.prototype.register = function register(fullName, factory) {
|
615
672
|
var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
|
616
|
-
(true && !(this.
|
673
|
+
(true && !(this.isValidFullName(fullName)) && (0, _emberDebug.assert)('fullName must be a proper full name', this.isValidFullName(fullName)));
|
674
|
+
(true && !(factory !== undefined) && (0, _emberDebug.assert)('Attempting to register an unknown factory: \'' + fullName + '\'', factory !== undefined));
|
617
675
|
|
618
676
|
|
619
|
-
if (factory === undefined) {
|
620
|
-
throw new TypeError('Attempting to register an unknown factory: \'' + fullName + '\'');
|
621
|
-
}
|
622
|
-
|
623
677
|
var normalizedName = this.normalize(fullName);
|
678
|
+
(true && !(!this._resolveCache[normalizedName]) && (0, _emberDebug.assert)('Cannot re-register: \'' + fullName + '\', as it has already been resolved.', !this._resolveCache[normalizedName]));
|
624
679
|
|
625
|
-
if (this._resolveCache[normalizedName]) {
|
626
|
-
throw new Error('Cannot re-register: \'' + fullName + '\', as it has already been resolved.');
|
627
|
-
}
|
628
680
|
|
629
681
|
delete this._failCache[normalizedName];
|
630
682
|
this.registrations[normalizedName] = factory;
|
631
683
|
this._options[normalizedName] = options;
|
632
|
-
}
|
633
|
-
|
634
|
-
|
684
|
+
};
|
685
|
+
|
686
|
+
Registry.prototype.unregister = function unregister(fullName) {
|
687
|
+
(true && !(this.isValidFullName(fullName)) && (0, _emberDebug.assert)('fullName must be a proper full name', this.isValidFullName(fullName)));
|
635
688
|
|
636
689
|
|
637
690
|
var normalizedName = this.normalize(fullName);
|
@@ -642,83 +695,94 @@ enifed('container', ['exports', 'ember-babel', 'ember-utils', 'ember-debug', 'em
|
|
642
695
|
delete this._resolveCache[normalizedName];
|
643
696
|
delete this._failCache[normalizedName];
|
644
697
|
delete this._options[normalizedName];
|
645
|
-
}
|
646
|
-
|
647
|
-
|
698
|
+
};
|
699
|
+
|
700
|
+
Registry.prototype.resolve = function resolve(fullName, options) {
|
701
|
+
(true && !(this.isValidFullName(fullName)) && (0, _emberDebug.assert)('fullName must be a proper full name', this.isValidFullName(fullName)));
|
648
702
|
|
649
|
-
var factory =
|
650
|
-
if (factory === undefined && this.fallback) {
|
703
|
+
var factory = _resolve(this, this.normalize(fullName), options);
|
704
|
+
if (factory === undefined && this.fallback !== null) {
|
651
705
|
var _fallback;
|
652
706
|
|
653
707
|
factory = (_fallback = this.fallback).resolve.apply(_fallback, arguments);
|
654
708
|
}
|
655
709
|
return factory;
|
656
|
-
}
|
657
|
-
|
658
|
-
|
710
|
+
};
|
711
|
+
|
712
|
+
Registry.prototype.describe = function describe(fullName) {
|
713
|
+
if (this.resolver !== null && this.resolver.lookupDescription) {
|
659
714
|
return this.resolver.lookupDescription(fullName);
|
660
|
-
} else if (this.fallback) {
|
715
|
+
} else if (this.fallback !== null) {
|
661
716
|
return this.fallback.describe(fullName);
|
662
717
|
} else {
|
663
718
|
return fullName;
|
664
719
|
}
|
665
|
-
}
|
666
|
-
|
667
|
-
|
720
|
+
};
|
721
|
+
|
722
|
+
Registry.prototype.normalizeFullName = function normalizeFullName(fullName) {
|
723
|
+
if (this.resolver !== null && this.resolver.normalize) {
|
668
724
|
return this.resolver.normalize(fullName);
|
669
|
-
} else if (this.fallback) {
|
725
|
+
} else if (this.fallback !== null) {
|
670
726
|
return this.fallback.normalizeFullName(fullName);
|
671
727
|
} else {
|
672
728
|
return fullName;
|
673
729
|
}
|
674
|
-
}
|
675
|
-
|
730
|
+
};
|
731
|
+
|
732
|
+
Registry.prototype.normalize = function normalize(fullName) {
|
676
733
|
return this._normalizeCache[fullName] || (this._normalizeCache[fullName] = this.normalizeFullName(fullName));
|
677
|
-
}
|
678
|
-
|
679
|
-
|
734
|
+
};
|
735
|
+
|
736
|
+
Registry.prototype.makeToString = function makeToString(factory, fullName) {
|
737
|
+
if (this.resolver !== null && this.resolver.makeToString) {
|
680
738
|
return this.resolver.makeToString(factory, fullName);
|
681
|
-
} else if (this.fallback) {
|
739
|
+
} else if (this.fallback !== null) {
|
682
740
|
return this.fallback.makeToString(factory, fullName);
|
683
741
|
} else {
|
684
742
|
return factory.toString();
|
685
743
|
}
|
686
|
-
}
|
687
|
-
|
744
|
+
};
|
745
|
+
|
746
|
+
Registry.prototype.has = function has(fullName, options) {
|
688
747
|
if (!this.isValidFullName(fullName)) {
|
689
748
|
return false;
|
690
749
|
}
|
691
750
|
|
692
751
|
var source = options && options.source && this.normalize(options.source);
|
693
752
|
|
694
|
-
return
|
695
|
-
}
|
696
|
-
|
753
|
+
return _has(this, this.normalize(fullName), source);
|
754
|
+
};
|
755
|
+
|
756
|
+
Registry.prototype.optionsForType = function optionsForType(type, options) {
|
697
757
|
this._typeOptions[type] = options;
|
698
|
-
}
|
699
|
-
|
758
|
+
};
|
759
|
+
|
760
|
+
Registry.prototype.getOptionsForType = function getOptionsForType(type) {
|
700
761
|
var optionsForType = this._typeOptions[type];
|
701
|
-
if (optionsForType === undefined && this.fallback) {
|
762
|
+
if (optionsForType === undefined && this.fallback !== null) {
|
702
763
|
optionsForType = this.fallback.getOptionsForType(type);
|
703
764
|
}
|
704
765
|
return optionsForType;
|
705
|
-
}
|
706
|
-
|
707
|
-
|
766
|
+
};
|
767
|
+
|
768
|
+
Registry.prototype.options = function options(fullName) {
|
769
|
+
var _options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
708
770
|
|
709
771
|
var normalizedName = this.normalize(fullName);
|
710
|
-
this._options[normalizedName] =
|
711
|
-
}
|
712
|
-
|
772
|
+
this._options[normalizedName] = _options;
|
773
|
+
};
|
774
|
+
|
775
|
+
Registry.prototype.getOptions = function getOptions(fullName) {
|
713
776
|
var normalizedName = this.normalize(fullName);
|
714
777
|
var options = this._options[normalizedName];
|
715
778
|
|
716
|
-
if (options === undefined && this.fallback) {
|
779
|
+
if (options === undefined && this.fallback !== null) {
|
717
780
|
options = this.fallback.getOptions(fullName);
|
718
781
|
}
|
719
782
|
return options;
|
720
|
-
}
|
721
|
-
|
783
|
+
};
|
784
|
+
|
785
|
+
Registry.prototype.getOption = function getOption(fullName, optionName) {
|
722
786
|
var options = this._options[fullName];
|
723
787
|
|
724
788
|
if (options && options[optionName] !== undefined) {
|
@@ -730,40 +794,44 @@ enifed('container', ['exports', 'ember-babel', 'ember-utils', 'ember-debug', 'em
|
|
730
794
|
|
731
795
|
if (options && options[optionName] !== undefined) {
|
732
796
|
return options[optionName];
|
733
|
-
} else if (this.fallback) {
|
797
|
+
} else if (this.fallback !== null) {
|
734
798
|
return this.fallback.getOption(fullName, optionName);
|
735
799
|
}
|
736
|
-
}
|
737
|
-
|
738
|
-
|
800
|
+
};
|
801
|
+
|
802
|
+
Registry.prototype.typeInjection = function typeInjection(type, property, fullName) {
|
803
|
+
(true && !(this.isValidFullName(fullName)) && (0, _emberDebug.assert)('fullName must be a proper full name', this.isValidFullName(fullName)));
|
739
804
|
|
740
805
|
|
741
806
|
var fullNameType = fullName.split(':')[0];
|
742
|
-
|
743
|
-
|
744
|
-
}
|
807
|
+
(true && !(fullNameType !== type) && (0, _emberDebug.assert)('Cannot inject a \'' + fullName + '\' on other ' + type + '(s).', fullNameType !== type));
|
808
|
+
|
745
809
|
|
746
810
|
var injections = this._typeInjections[type] || (this._typeInjections[type] = []);
|
747
811
|
|
748
812
|
injections.push({ property: property, fullName: fullName });
|
749
|
-
}
|
750
|
-
|
751
|
-
|
813
|
+
};
|
814
|
+
|
815
|
+
Registry.prototype.injection = function injection(fullName, property, injectionName) {
|
816
|
+
(true && !(this.isValidFullName(injectionName)) && (0, _emberDebug.assert)('Invalid injectionName, expected: \'type:name\' got: ' + injectionName, this.isValidFullName(injectionName)));
|
817
|
+
|
818
|
+
|
752
819
|
var normalizedInjectionName = this.normalize(injectionName);
|
753
820
|
|
754
821
|
if (fullName.indexOf(':') === -1) {
|
755
822
|
return this.typeInjection(fullName, property, normalizedInjectionName);
|
756
823
|
}
|
757
824
|
|
758
|
-
(true && !(this.
|
825
|
+
(true && !(this.isValidFullName(fullName)) && (0, _emberDebug.assert)('fullName must be a proper full name', this.isValidFullName(fullName)));
|
759
826
|
|
760
827
|
var normalizedName = this.normalize(fullName);
|
761
828
|
|
762
829
|
var injections = this._injections[normalizedName] || (this._injections[normalizedName] = []);
|
763
830
|
|
764
831
|
injections.push({ property: property, fullName: normalizedInjectionName });
|
765
|
-
}
|
766
|
-
|
832
|
+
};
|
833
|
+
|
834
|
+
Registry.prototype.knownForType = function knownForType(type) {
|
767
835
|
var fallbackKnown = void 0,
|
768
836
|
resolverKnown = void 0;
|
769
837
|
|
@@ -778,72 +846,70 @@ enifed('container', ['exports', 'ember-babel', 'ember-utils', 'ember-debug', 'em
|
|
778
846
|
}
|
779
847
|
}
|
780
848
|
|
781
|
-
if (this.fallback) {
|
849
|
+
if (this.fallback !== null) {
|
782
850
|
fallbackKnown = this.fallback.knownForType(type);
|
783
851
|
}
|
784
852
|
|
785
|
-
if (this.resolver && this.resolver.knownForType) {
|
853
|
+
if (this.resolver !== null && this.resolver.knownForType) {
|
786
854
|
resolverKnown = this.resolver.knownForType(type);
|
787
855
|
}
|
788
856
|
|
789
857
|
return (0, _emberUtils.assign)({}, fallbackKnown, localKnown, resolverKnown);
|
790
|
-
}
|
791
|
-
validateFullName: function (fullName) {
|
792
|
-
if (!this.isValidFullName(fullName)) {
|
793
|
-
throw new TypeError('Invalid Fullname, expected: \'type:name\' got: ' + fullName);
|
794
|
-
}
|
858
|
+
};
|
795
859
|
|
796
|
-
|
797
|
-
},
|
798
|
-
isValidFullName: function (fullName) {
|
860
|
+
Registry.prototype.isValidFullName = function isValidFullName(fullName) {
|
799
861
|
return VALID_FULL_NAME_REGEXP.test(fullName);
|
800
|
-
}
|
801
|
-
|
862
|
+
};
|
863
|
+
|
864
|
+
Registry.prototype.getInjections = function getInjections(fullName) {
|
802
865
|
var injections = this._injections[fullName] || [];
|
803
|
-
if (this.fallback) {
|
866
|
+
if (this.fallback !== null) {
|
804
867
|
injections = injections.concat(this.fallback.getInjections(fullName));
|
805
868
|
}
|
806
869
|
return injections;
|
807
|
-
}
|
808
|
-
|
870
|
+
};
|
871
|
+
|
872
|
+
Registry.prototype.getTypeInjections = function getTypeInjections(type) {
|
809
873
|
var injections = this._typeInjections[type] || [];
|
810
|
-
if (this.fallback) {
|
874
|
+
if (this.fallback !== null) {
|
811
875
|
injections = injections.concat(this.fallback.getTypeInjections(type));
|
812
876
|
}
|
813
877
|
return injections;
|
814
|
-
}
|
815
|
-
|
878
|
+
};
|
879
|
+
|
880
|
+
Registry.prototype.resolverCacheKey = function resolverCacheKey(name, options) {
|
816
881
|
if (!_features.EMBER_MODULE_UNIFICATION) {
|
817
882
|
return name;
|
818
883
|
}
|
819
884
|
|
820
885
|
return options && options.source ? options.source + ':' + name : name;
|
821
|
-
}
|
822
|
-
|
823
|
-
|
824
|
-
|
886
|
+
};
|
887
|
+
|
888
|
+
Registry.prototype.expandLocalLookup = function expandLocalLookup(fullName, options) {
|
889
|
+
if (this.resolver !== null && this.resolver.expandLocalLookup) {
|
890
|
+
(true && !(this.isValidFullName(fullName)) && (0, _emberDebug.assert)('fullName must be a proper full name', this.isValidFullName(fullName)));
|
825
891
|
(true && !(options && options.source) && (0, _emberDebug.assert)('options.source must be provided to expandLocalLookup', options && options.source));
|
826
|
-
(true && !(this.
|
892
|
+
(true && !(this.isValidFullName(options.source)) && (0, _emberDebug.assert)('options.source must be a proper full name', this.isValidFullName(options.source)));
|
827
893
|
|
828
894
|
|
829
895
|
var normalizedFullName = this.normalize(fullName);
|
830
896
|
var normalizedSource = this.normalize(options.source);
|
831
897
|
|
832
|
-
return
|
833
|
-
} else if (this.fallback) {
|
898
|
+
return _expandLocalLookup(this, normalizedFullName, normalizedSource);
|
899
|
+
} else if (this.fallback !== null) {
|
834
900
|
return this.fallback.expandLocalLookup(fullName, options);
|
835
901
|
} else {
|
836
902
|
return null;
|
837
903
|
}
|
838
|
-
}
|
839
|
-
|
904
|
+
};
|
905
|
+
|
906
|
+
return Registry;
|
907
|
+
}();
|
840
908
|
|
841
909
|
function deprecateResolverFunction(registry) {
|
842
910
|
(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' }));
|
843
911
|
|
844
|
-
registry.resolver = {
|
845
|
-
resolve: registry.resolver
|
846
|
-
};
|
912
|
+
registry.resolver = { resolve: registry.resolver };
|
847
913
|
}
|
848
914
|
|
849
915
|
if (true) {
|
@@ -852,7 +918,7 @@ enifed('container', ['exports', 'ember-babel', 'ember-utils', 'ember-debug', 'em
|
|
852
918
|
|
853
919
|
for (var key in hash) {
|
854
920
|
if (hash.hasOwnProperty(key)) {
|
855
|
-
(true && !(this.
|
921
|
+
(true && !(this.isValidFullName(hash[key])) && (0, _emberDebug.assert)('Expected a proper full name, given \'' + hash[key] + '\'', this.isValidFullName(hash[key])));
|
856
922
|
|
857
923
|
|
858
924
|
injections.push({
|
@@ -880,7 +946,7 @@ enifed('container', ['exports', 'ember-babel', 'ember-utils', 'ember-debug', 'em
|
|
880
946
|
};
|
881
947
|
}
|
882
948
|
|
883
|
-
function
|
949
|
+
function _expandLocalLookup(registry, normalizedName, normalizedSource) {
|
884
950
|
var cache = registry._localLookupCache;
|
885
951
|
var normalizedNameCache = cache[normalizedName];
|
886
952
|
|
@@ -899,7 +965,7 @@ enifed('container', ['exports', 'ember-babel', 'ember-utils', 'ember-debug', 'em
|
|
899
965
|
return normalizedNameCache[normalizedSource] = expanded;
|
900
966
|
}
|
901
967
|
|
902
|
-
function
|
968
|
+
function _resolve(registry, normalizedName, options) {
|
903
969
|
if (options && options.source) {
|
904
970
|
// when `source` is provided expand normalizedName
|
905
971
|
// and source into the full normalizedName
|
@@ -948,7 +1014,7 @@ enifed('container', ['exports', 'ember-babel', 'ember-utils', 'ember-debug', 'em
|
|
948
1014
|
return resolved;
|
949
1015
|
}
|
950
1016
|
|
951
|
-
function
|
1017
|
+
function _has(registry, fullName, source) {
|
952
1018
|
return registry.resolve(fullName, { source: source }) !== undefined;
|
953
1019
|
}
|
954
1020
|
|
@@ -963,9 +1029,9 @@ enifed('container', ['exports', 'ember-babel', 'ember-utils', 'ember-debug', 'em
|
|
963
1029
|
return name;
|
964
1030
|
}
|
965
1031
|
|
966
|
-
var _fullName$
|
967
|
-
type = _fullName$
|
968
|
-
rawName = _fullName$
|
1032
|
+
var _fullName$split2 = fullName.split(':'),
|
1033
|
+
type = _fullName$split2[0],
|
1034
|
+
rawName = _fullName$split2[1];
|
969
1035
|
|
970
1036
|
return privateNames[fullName] = (0, _emberUtils.intern)(type + ':' + rawName + '-' + privateSuffix);
|
971
1037
|
}
|
@@ -1074,13 +1140,7 @@ enifed('ember-console', ['exports', 'ember-environment'], function (exports, _em
|
|
1074
1140
|
return;
|
1075
1141
|
}
|
1076
1142
|
|
1077
|
-
|
1078
|
-
return method.bind(consoleObj);
|
1079
|
-
}
|
1080
|
-
|
1081
|
-
return function () {
|
1082
|
-
method.apply(consoleObj, arguments);
|
1083
|
-
};
|
1143
|
+
return method.bind(consoleObj);
|
1084
1144
|
}
|
1085
1145
|
|
1086
1146
|
function assertPolyfill(test, message) {
|
@@ -4850,6 +4910,7 @@ enifed('ember-metal', ['exports', 'ember-environment', 'ember-utils', 'ember-deb
|
|
4850
4910
|
}
|
4851
4911
|
|
4852
4912
|
var ret = this._getter.call(obj, keyName);
|
4913
|
+
|
4853
4914
|
cache[keyName] = ret === undefined ? UNDEFINED : ret;
|
4854
4915
|
|
4855
4916
|
var chainWatchers = meta$$1.readableChainWatchers();
|
@@ -4905,14 +4966,13 @@ enifed('ember-metal', ['exports', 'ember-environment', 'ember-utils', 'ember-deb
|
|
4905
4966
|
ComputedPropertyPrototype._set = function computedPropertySet(obj, keyName, value) {
|
4906
4967
|
var meta$$1 = meta(obj);
|
4907
4968
|
var cache = meta$$1.writableCache();
|
4908
|
-
|
4909
|
-
var cachedValue = void 0;
|
4969
|
+
|
4910
4970
|
var val = cache[keyName];
|
4911
|
-
|
4912
|
-
|
4913
|
-
|
4914
|
-
|
4915
|
-
|
4971
|
+
var hadCachedValue = val !== undefined;
|
4972
|
+
|
4973
|
+
var cachedValue = void 0;
|
4974
|
+
if (hadCachedValue && val !== UNDEFINED) {
|
4975
|
+
cachedValue = val;
|
4916
4976
|
}
|
4917
4977
|
|
4918
4978
|
var ret = this._setter.call(obj, keyName, value, cachedValue);
|
@@ -4924,17 +4984,11 @@ enifed('ember-metal', ['exports', 'ember-environment', 'ember-utils', 'ember-deb
|
|
4924
4984
|
|
4925
4985
|
propertyWillChange(obj, keyName, meta$$1);
|
4926
4986
|
|
4927
|
-
if (hadCachedValue) {
|
4928
|
-
cache[keyName] = undefined;
|
4929
|
-
} else {
|
4987
|
+
if (!hadCachedValue) {
|
4930
4988
|
addDependentKeys(this, obj, keyName, meta$$1);
|
4931
4989
|
}
|
4932
4990
|
|
4933
|
-
|
4934
|
-
cache[keyName] = UNDEFINED;
|
4935
|
-
} else {
|
4936
|
-
cache[keyName] = ret;
|
4937
|
-
}
|
4991
|
+
cache[keyName] = ret === undefined ? UNDEFINED : ret;
|
4938
4992
|
|
4939
4993
|
propertyDidChange(obj, keyName, meta$$1);
|
4940
4994
|
|
@@ -6461,17 +6515,7 @@ enifed('ember-metal', ['exports', 'ember-environment', 'ember-utils', 'ember-deb
|
|
6461
6515
|
this._coreLibIndex = 0;
|
6462
6516
|
}
|
6463
6517
|
|
6464
|
-
Libraries.prototype.
|
6465
|
-
return !!this._getLibraryByName(name);
|
6466
|
-
};
|
6467
|
-
|
6468
|
-
return Libraries;
|
6469
|
-
}();
|
6470
|
-
|
6471
|
-
Libraries.prototype = {
|
6472
|
-
constructor: Libraries,
|
6473
|
-
|
6474
|
-
_getLibraryByName: function (name) {
|
6518
|
+
Libraries.prototype._getLibraryByName = function _getLibraryByName(name) {
|
6475
6519
|
var libs = this._registry;
|
6476
6520
|
var count = libs.length;
|
6477
6521
|
|
@@ -6480,8 +6524,9 @@ enifed('ember-metal', ['exports', 'ember-environment', 'ember-utils', 'ember-deb
|
|
6480
6524
|
return libs[i];
|
6481
6525
|
}
|
6482
6526
|
}
|
6483
|
-
}
|
6484
|
-
|
6527
|
+
};
|
6528
|
+
|
6529
|
+
Libraries.prototype.register = function register(name, version, isCoreLibrary) {
|
6485
6530
|
var index = this._registry.length;
|
6486
6531
|
|
6487
6532
|
if (!this._getLibraryByName(name)) {
|
@@ -6492,11 +6537,13 @@ enifed('ember-metal', ['exports', 'ember-environment', 'ember-utils', 'ember-deb
|
|
6492
6537
|
} else {
|
6493
6538
|
true && emberDebug.warn('Library "' + name + '" is already registered with Ember.', false, { id: 'ember-metal.libraries-register' });
|
6494
6539
|
}
|
6495
|
-
}
|
6496
|
-
|
6540
|
+
};
|
6541
|
+
|
6542
|
+
Libraries.prototype.registerCoreLibrary = function registerCoreLibrary(name, version) {
|
6497
6543
|
this.register(name, version, true);
|
6498
|
-
}
|
6499
|
-
|
6544
|
+
};
|
6545
|
+
|
6546
|
+
Libraries.prototype.deRegister = function deRegister(name) {
|
6500
6547
|
var lib = this._getLibraryByName(name);
|
6501
6548
|
var index = void 0;
|
6502
6549
|
|
@@ -6504,8 +6551,10 @@ enifed('ember-metal', ['exports', 'ember-environment', 'ember-utils', 'ember-deb
|
|
6504
6551
|
index = this._registry.indexOf(lib);
|
6505
6552
|
this._registry.splice(index, 1);
|
6506
6553
|
}
|
6507
|
-
}
|
6508
|
-
|
6554
|
+
};
|
6555
|
+
|
6556
|
+
return Libraries;
|
6557
|
+
}();
|
6509
6558
|
|
6510
6559
|
if (ember_features.EMBER_LIBRARIES_ISREGISTERED) {
|
6511
6560
|
Libraries.prototype.isRegistered = function (name) {
|