ember-source 3.28.5 → 4.0.0-beta.10
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.
- package/CHANGELOG.md +113 -10
- package/blueprints/acceptance-test/qunit-files/tests/acceptance/__name__-test.js +1 -1
- package/blueprints/acceptance-test/qunit-rfc-232-files/tests/acceptance/__name__-test.js +1 -1
- package/blueprints/component-test/qunit-files/__root__/__testType__/__path__/__test__.js +3 -3
- package/blueprints/helper-test/index.js +4 -22
- package/blueprints/helper-test/mocha-0.12-files/__root__/__testType__/__collection__/__name__-test.js +1 -13
- package/blueprints/helper-test/mocha-files/__root__/__testType__/__collection__/__name__-test.js +0 -13
- package/blueprints/helper-test/mocha-rfc-232-files/__root__/__testType__/__collection__/__name__-test.js +2 -12
- package/blueprints/helper-test/qunit-files/__root__/__testType__/__collection__/__name__-test.js +2 -13
- package/blueprints/helper-test/qunit-rfc-232-files/__root__/__testType__/__collection__/__name__-test.js +2 -14
- package/blueprints/initializer/files/__root__/initializers/__name__.js +0 -1
- package/blueprints/instance-initializer/files/__root__/instance-initializers/__name__.js +0 -1
- package/build-metadata.json +3 -3
- package/dist/dependencies/@glimmer/manager.js +19 -98
- package/dist/dependencies/@glimmer/opcode-compiler.js +9 -146
- package/dist/dependencies/@glimmer/runtime.js +1 -55
- package/dist/dependencies/@glimmer/validator.js +19 -51
- package/dist/ember-template-compiler.js +3692 -5667
- package/dist/ember-template-compiler.map +1 -1
- package/dist/ember-testing.js +12 -560
- package/dist/ember-testing.map +1 -1
- package/dist/ember.debug.js +4357 -12470
- package/dist/ember.debug.map +1 -1
- package/dist/header/license.js +1 -1
- package/dist/packages/@ember/-internals/bootstrap/index.js +2 -55
- package/dist/packages/@ember/-internals/container/index.js +35 -206
- package/dist/packages/@ember/-internals/environment/index.js +3 -46
- package/dist/packages/@ember/-internals/extension-support/lib/container_debug_adapter.js +7 -0
- package/dist/packages/@ember/-internals/extension-support/lib/data_adapter.js +1 -2
- package/dist/packages/@ember/-internals/glimmer/index.js +4774 -7035
- package/dist/packages/@ember/-internals/meta/lib/meta.js +2 -50
- package/dist/packages/@ember/-internals/metal/index.js +785 -1109
- package/dist/packages/@ember/-internals/overrides/index.js +1 -3
- package/dist/packages/@ember/-internals/owner/index.js +1 -19
- package/dist/packages/@ember/-internals/routing/lib/location/auto_location.js +1 -51
- package/dist/packages/@ember/-internals/routing/lib/location/hash_location.js +1 -0
- package/dist/packages/@ember/-internals/routing/lib/location/history_location.js +3 -1
- package/dist/packages/@ember/-internals/routing/lib/location/none_location.js +0 -7
- package/dist/packages/@ember/-internals/routing/lib/services/router.js +34 -2
- package/dist/packages/@ember/-internals/routing/lib/services/routing.js +2 -3
- package/dist/packages/@ember/-internals/routing/lib/system/dsl.js +5 -6
- package/dist/packages/@ember/-internals/routing/lib/system/route.js +192 -652
- package/dist/packages/@ember/-internals/routing/lib/system/router.js +119 -248
- package/dist/packages/@ember/-internals/routing/lib/system/router_state.js +1 -2
- package/dist/packages/@ember/-internals/routing/lib/utils.js +1 -2
- package/dist/packages/@ember/-internals/runtime/index.js +1 -4
- package/dist/packages/@ember/-internals/runtime/lib/mixins/array.js +4 -175
- package/dist/packages/@ember/-internals/runtime/lib/mixins/observable.js +1 -18
- package/dist/packages/@ember/-internals/runtime/lib/mixins/target_action_support.js +3 -43
- package/dist/packages/@ember/-internals/runtime/lib/system/array_proxy.js +8 -15
- package/dist/packages/@ember/-internals/runtime/lib/system/core_object.js +10 -141
- package/dist/packages/@ember/-internals/utils/index.js +3 -59
- package/dist/packages/@ember/-internals/views/index.js +0 -2
- package/dist/packages/@ember/-internals/views/lib/mixins/action_support.js +1 -121
- package/dist/packages/@ember/-internals/views/lib/mixins/view_support.js +4 -40
- package/dist/packages/@ember/-internals/views/lib/system/event_dispatcher.js +115 -190
- package/dist/packages/@ember/-internals/views/lib/views/states/destroying.js +1 -2
- package/dist/packages/@ember/-internals/views/lib/views/states/has_element.js +1 -2
- package/dist/packages/@ember/-internals/views/lib/views/states/in_dom.js +1 -2
- package/dist/packages/@ember/-internals/views/lib/views/states/pre_render.js +1 -2
- package/dist/packages/@ember/application/instance.js +3 -25
- package/dist/packages/@ember/application/lib/application.js +14 -32
- package/dist/packages/@ember/canary-features/index.js +5 -6
- package/dist/packages/@ember/component/index.js +1 -1
- package/dist/packages/@ember/component/template-only.js +2 -0
- package/dist/packages/@ember/debug/lib/deprecate.js +7 -41
- package/dist/packages/@ember/deprecated-features/index.js +1 -14
- package/dist/packages/@ember/engine/index.js +3 -17
- package/dist/packages/@ember/engine/instance.js +0 -4
- package/dist/packages/@ember/helper/index.js +12 -4
- package/dist/packages/@ember/object/index.js +3 -101
- package/dist/packages/@ember/object/internals.js +0 -1
- package/dist/packages/@ember/object/lib/computed/computed_macros.js +12 -384
- package/dist/packages/@ember/object/lib/computed/reduce_computed_macros.js +9 -360
- package/dist/packages/@ember/polyfills/index.js +1 -6
- package/dist/packages/@ember/polyfills/lib/assign.js +12 -28
- package/dist/packages/@ember/routing/index.js +1 -1
- package/dist/packages/@ember/runloop/index.js +1 -83
- package/dist/packages/@ember/string/index.js +1 -206
- package/dist/packages/@ember/utils/index.js +0 -1
- package/dist/packages/ember/index.js +17 -180
- package/dist/packages/ember/version.js +1 -1
- package/dist/packages/ember-testing/index.js +0 -2
- package/dist/packages/ember-testing/lib/helpers.js +0 -12
- package/dist/packages/ember-testing/lib/setup_for_testing.js +0 -10
- package/docs/data.json +1637 -3659
- package/lib/index.js +14 -59
- package/lib/overrides.js +0 -61
- package/lib/transforms/inject-babel-helpers.js +1 -3
- package/package.json +27 -23
- package/dist/packages/@ember/-internals/console/index.js +0 -190
- package/dist/packages/@ember/-internals/runtime/lib/copy.js +0 -119
- package/dist/packages/@ember/-internals/runtime/lib/ext/function.js +0 -155
- package/dist/packages/@ember/-internals/runtime/lib/mixins/copyable.js +0 -31
- package/dist/packages/@ember/-internals/views/lib/mixins/text_support.js +0 -357
- package/dist/packages/@ember/-internals/views/lib/system/jquery.js +0 -26
- package/dist/packages/@ember/-internals/views/lib/system/jquery_event_deprecation.js +0 -60
- package/dist/packages/@ember/application/deprecations.js +0 -25
- package/dist/packages/@ember/application/globals-resolver.js +0 -434
- package/dist/packages/@ember/application/resolver.js +0 -1
- package/dist/packages/@ember/component/checkbox.js +0 -17
- package/dist/packages/@ember/component/text-area.js +0 -17
- package/dist/packages/@ember/component/text-field.js +0 -17
- package/dist/packages/@ember/polyfills/lib/merge.js +0 -50
- package/dist/packages/@ember/routing/link-component.js +0 -17
- package/dist/packages/ember-testing/lib/events.js +0 -102
- package/dist/packages/ember-testing/lib/helpers/-is-form-control.js +0 -19
- package/dist/packages/ember-testing/lib/helpers/click.js +0 -32
- package/dist/packages/ember-testing/lib/helpers/fill_in.js +0 -47
- package/dist/packages/ember-testing/lib/helpers/find.js +0 -40
- package/dist/packages/ember-testing/lib/helpers/find_with_assert.js +0 -37
- package/dist/packages/ember-testing/lib/helpers/key_event.js +0 -37
- package/dist/packages/ember-testing/lib/helpers/trigger_event.js +0 -61
- package/dist/packages/ember-testing/lib/support.js +0 -57
- package/dist/packages/jquery/index.js +0 -2
package/dist/header/license.js
CHANGED
|
@@ -1,63 +1,10 @@
|
|
|
1
|
-
import { context } from '@ember/-internals/environment';
|
|
2
|
-
import { onEmberGlobalAccess } from '@ember/-internals/overrides';
|
|
3
|
-
import { deprecate } from '@ember/debug';
|
|
4
|
-
import { DEBUG } from '@glimmer/env';
|
|
5
1
|
import require from 'require';
|
|
6
2
|
|
|
7
3
|
(function bootstrap() {
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
let get = () => {
|
|
11
|
-
if (!Ember) {
|
|
12
|
-
// tslint:disable-next-line: no-require-imports
|
|
13
|
-
Ember = require('ember').default;
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
return Ember;
|
|
17
|
-
};
|
|
18
|
-
|
|
19
|
-
if (DEBUG) {
|
|
20
|
-
let defaultHandler = () => {
|
|
21
|
-
return 'Usage of the Ember Global is deprecated. You should import the Ember module or the specific API instead.';
|
|
22
|
-
};
|
|
23
|
-
|
|
24
|
-
let handler = onEmberGlobalAccess || defaultHandler;
|
|
25
|
-
let _get = get;
|
|
26
|
-
|
|
27
|
-
get = () => {
|
|
28
|
-
let message = handler();
|
|
29
|
-
|
|
30
|
-
if (message !== null) {
|
|
31
|
-
deprecate(message, false, {
|
|
32
|
-
id: 'ember-global',
|
|
33
|
-
until: '4.0.0',
|
|
34
|
-
url: 'https://deprecations.emberjs.com/v3.x/#toc_ember-global',
|
|
35
|
-
for: 'ember-source',
|
|
36
|
-
since: {
|
|
37
|
-
enabled: '3.27.0'
|
|
38
|
-
}
|
|
39
|
-
});
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
return _get();
|
|
43
|
-
};
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
function defineEmber(key) {
|
|
47
|
-
Object.defineProperty(context.exports, key, {
|
|
48
|
-
enumerable: true,
|
|
49
|
-
configurable: true,
|
|
50
|
-
get
|
|
51
|
-
});
|
|
52
|
-
} // Bootstrap the global
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
defineEmber('Ember');
|
|
56
|
-
defineEmber('Em'); // Bootstrap Node module
|
|
4
|
+
// Bootstrap Node module
|
|
57
5
|
// eslint-disable-next-line no-undef
|
|
58
|
-
|
|
59
6
|
if (typeof module === 'object' && typeof module.require === 'function') {
|
|
60
7
|
// tslint:disable-next-line: no-require-imports
|
|
61
|
-
module.exports =
|
|
8
|
+
module.exports = require('ember').default;
|
|
62
9
|
}
|
|
63
10
|
})();
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { setOwner } from '@ember/-internals/owner';
|
|
2
|
-
import { dictionary,
|
|
3
|
-
import { assert } from '@ember/debug';
|
|
4
|
-
import { assign } from '@ember/polyfills';
|
|
2
|
+
import { dictionary, symbol, intern } from '@ember/-internals/utils';
|
|
3
|
+
import { assert, deprecate } from '@ember/debug';
|
|
5
4
|
import { DEBUG } from '@glimmer/env';
|
|
6
5
|
|
|
7
6
|
let leakTracking;
|
|
@@ -215,29 +214,25 @@ if (DEBUG) {
|
|
|
215
214
|
|
|
216
215
|
|
|
217
216
|
function wrapManagerInDeprecationProxy(manager) {
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
}
|
|
223
|
-
|
|
224
|
-
}; // Note:
|
|
225
|
-
// We have to proxy access to the manager here so that private property
|
|
226
|
-
// access doesn't cause the above errors to occur.
|
|
217
|
+
let validator = {
|
|
218
|
+
set(_obj, prop) {
|
|
219
|
+
throw new Error(`You attempted to set "${prop}" on a factory manager created by container#factoryFor. A factory manager is a read-only construct.`);
|
|
220
|
+
}
|
|
227
221
|
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
222
|
+
}; // Note:
|
|
223
|
+
// We have to proxy access to the manager here so that private property
|
|
224
|
+
// access doesn't cause the above errors to occur.
|
|
231
225
|
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
226
|
+
let m = manager;
|
|
227
|
+
let proxiedManager = {
|
|
228
|
+
class: m.class,
|
|
235
229
|
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
230
|
+
create(props) {
|
|
231
|
+
return m.create(props);
|
|
232
|
+
}
|
|
239
233
|
|
|
240
|
-
|
|
234
|
+
};
|
|
235
|
+
return new Proxy(proxiedManager, validator);
|
|
241
236
|
}
|
|
242
237
|
|
|
243
238
|
function isSingleton(container, fullName) {
|
|
@@ -352,53 +347,6 @@ function instantiateFactory(container, normalizedName, fullName, options) {
|
|
|
352
347
|
throw new Error('Could not create factory');
|
|
353
348
|
}
|
|
354
349
|
|
|
355
|
-
function processInjections(container, injections, result) {
|
|
356
|
-
if (DEBUG) {
|
|
357
|
-
container.registry.validateInjections(injections);
|
|
358
|
-
}
|
|
359
|
-
|
|
360
|
-
let hash = result.injections;
|
|
361
|
-
|
|
362
|
-
for (let i = 0; i < injections.length; i++) {
|
|
363
|
-
let {
|
|
364
|
-
property,
|
|
365
|
-
specifier
|
|
366
|
-
} = injections[i];
|
|
367
|
-
hash[property] = lookup(container, specifier);
|
|
368
|
-
|
|
369
|
-
if (!result.isDynamic) {
|
|
370
|
-
result.isDynamic = !isSingleton(container, specifier);
|
|
371
|
-
}
|
|
372
|
-
}
|
|
373
|
-
}
|
|
374
|
-
|
|
375
|
-
function buildInjections(container, typeInjections, injections) {
|
|
376
|
-
let injectionsHash = {};
|
|
377
|
-
setOwner(injectionsHash, container.owner);
|
|
378
|
-
let result = {
|
|
379
|
-
injections: injectionsHash,
|
|
380
|
-
isDynamic: false
|
|
381
|
-
};
|
|
382
|
-
|
|
383
|
-
if (typeInjections !== undefined) {
|
|
384
|
-
processInjections(container, typeInjections, result);
|
|
385
|
-
}
|
|
386
|
-
|
|
387
|
-
if (injections !== undefined) {
|
|
388
|
-
processInjections(container, injections, result);
|
|
389
|
-
}
|
|
390
|
-
|
|
391
|
-
return result;
|
|
392
|
-
}
|
|
393
|
-
|
|
394
|
-
function injectionsFor(container, fullName) {
|
|
395
|
-
let registry = container.registry;
|
|
396
|
-
let [type] = fullName.split(':');
|
|
397
|
-
let typeInjections = registry.getTypeInjections(type);
|
|
398
|
-
let injections = registry.getInjections(fullName);
|
|
399
|
-
return buildInjections(container, typeInjections, injections);
|
|
400
|
-
}
|
|
401
|
-
|
|
402
350
|
function destroyDestroyables(container) {
|
|
403
351
|
let cache = container.cache;
|
|
404
352
|
let keys = Object.keys(cache);
|
|
@@ -450,7 +398,7 @@ class FactoryManager {
|
|
|
450
398
|
this.injections = undefined;
|
|
451
399
|
setFactoryFor(this, this);
|
|
452
400
|
|
|
453
|
-
if (isInstantiatable(container, fullName)
|
|
401
|
+
if (isInstantiatable(container, fullName)) {
|
|
454
402
|
setFactoryFor(factory, this);
|
|
455
403
|
}
|
|
456
404
|
}
|
|
@@ -472,23 +420,12 @@ class FactoryManager {
|
|
|
472
420
|
throw new Error(`Can not create new instances after the owner has been destroyed (you attempted to create ${this.fullName})`);
|
|
473
421
|
}
|
|
474
422
|
|
|
475
|
-
let props =
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
let {
|
|
479
|
-
injections,
|
|
480
|
-
isDynamic
|
|
481
|
-
} = injectionsFor(this.container, this.normalizedName);
|
|
482
|
-
setFactoryFor(injections, this);
|
|
483
|
-
props = injections;
|
|
484
|
-
|
|
485
|
-
if (!isDynamic) {
|
|
486
|
-
this.injections = injections;
|
|
487
|
-
}
|
|
488
|
-
}
|
|
423
|
+
let props = {};
|
|
424
|
+
setOwner(props, container.owner);
|
|
425
|
+
setFactoryFor(props, this);
|
|
489
426
|
|
|
490
427
|
if (options !== undefined) {
|
|
491
|
-
props = assign({}, props, options);
|
|
428
|
+
props = Object.assign({}, props, options);
|
|
492
429
|
}
|
|
493
430
|
|
|
494
431
|
if (DEBUG) {
|
|
@@ -530,8 +467,6 @@ class Registry {
|
|
|
530
467
|
this.fallback = options.fallback || null;
|
|
531
468
|
this.resolver = options.resolver || null;
|
|
532
469
|
this.registrations = dictionary(options.registrations || null);
|
|
533
|
-
this._typeInjections = dictionary(null);
|
|
534
|
-
this._injections = dictionary(null);
|
|
535
470
|
this._localLookupCache = Object.create(null);
|
|
536
471
|
this._normalizeCache = dictionary(null);
|
|
537
472
|
this._resolveCache = dictionary(null);
|
|
@@ -559,18 +494,6 @@ class Registry {
|
|
|
559
494
|
@type InheritingDict
|
|
560
495
|
*/
|
|
561
496
|
|
|
562
|
-
/**
|
|
563
|
-
@private
|
|
564
|
-
@property _typeInjections
|
|
565
|
-
@type InheritingDict
|
|
566
|
-
*/
|
|
567
|
-
|
|
568
|
-
/**
|
|
569
|
-
@private
|
|
570
|
-
@property _injections
|
|
571
|
-
@type InheritingDict
|
|
572
|
-
*/
|
|
573
|
-
|
|
574
497
|
/**
|
|
575
498
|
@private
|
|
576
499
|
@property _normalizeCache
|
|
@@ -869,93 +792,27 @@ class Registry {
|
|
|
869
792
|
return undefined;
|
|
870
793
|
}
|
|
871
794
|
/**
|
|
872
|
-
|
|
873
|
-
|
|
874
|
-
all objects of one type to be injected with a reference to another
|
|
875
|
-
object.
|
|
876
|
-
For example, provided each object of type `controller` needed a `router`.
|
|
877
|
-
one would do the following:
|
|
878
|
-
```javascript
|
|
879
|
-
let registry = new Registry();
|
|
880
|
-
let container = registry.container();
|
|
881
|
-
registry.register('router:main', Router);
|
|
882
|
-
registry.register('controller:user', UserController);
|
|
883
|
-
registry.register('controller:post', PostController);
|
|
884
|
-
registry.typeInjection('controller', 'router', 'router:main');
|
|
885
|
-
let user = container.lookup('controller:user');
|
|
886
|
-
let post = container.lookup('controller:post');
|
|
887
|
-
user.router instanceof Router; //=> true
|
|
888
|
-
post.router instanceof Router; //=> true
|
|
889
|
-
// both controllers share the same router
|
|
890
|
-
user.router === post.router; //=> true
|
|
891
|
-
```
|
|
892
|
-
@private
|
|
893
|
-
@method typeInjection
|
|
894
|
-
@param {String} type
|
|
895
|
-
@param {String} property
|
|
896
|
-
@param {String} fullName
|
|
897
|
-
*/
|
|
898
|
-
|
|
899
|
-
|
|
900
|
-
typeInjection(type, property, fullName) {
|
|
901
|
-
assert('fullName must be a proper full name', this.isValidFullName(fullName));
|
|
902
|
-
let fullNameType = fullName.split(':')[0];
|
|
903
|
-
assert(`Cannot inject a '${fullName}' on other ${type}(s).`, fullNameType !== type);
|
|
904
|
-
let injections = this._typeInjections[type] || (this._typeInjections[type] = []);
|
|
905
|
-
injections.push({
|
|
906
|
-
property,
|
|
907
|
-
specifier: fullName
|
|
908
|
-
});
|
|
909
|
-
}
|
|
910
|
-
/**
|
|
911
|
-
Defines injection rules.
|
|
912
|
-
These rules are used to inject dependencies onto objects when they
|
|
913
|
-
are instantiated.
|
|
914
|
-
Two forms of injections are possible:
|
|
915
|
-
* Injecting one fullName on another fullName
|
|
916
|
-
* Injecting one fullName on a type
|
|
917
|
-
Example:
|
|
918
|
-
```javascript
|
|
919
|
-
let registry = new Registry();
|
|
920
|
-
let container = registry.container();
|
|
921
|
-
registry.register('source:main', Source);
|
|
922
|
-
registry.register('model:user', User);
|
|
923
|
-
registry.register('model:post', Post);
|
|
924
|
-
// injecting one fullName on another fullName
|
|
925
|
-
// eg. each user model gets a post model
|
|
926
|
-
registry.injection('model:user', 'post', 'model:post');
|
|
927
|
-
// injecting one fullName on another type
|
|
928
|
-
registry.injection('model', 'source', 'source:main');
|
|
929
|
-
let user = container.lookup('model:user');
|
|
930
|
-
let post = container.lookup('model:post');
|
|
931
|
-
user.source instanceof Source; //=> true
|
|
932
|
-
post.source instanceof Source; //=> true
|
|
933
|
-
user.post instanceof Post; //=> true
|
|
934
|
-
// and both models share the same source
|
|
935
|
-
user.source === post.source; //=> true
|
|
795
|
+
This is deprecated in favor of explicit injection of dependencies.
|
|
796
|
+
Reference: https://deprecations.emberjs.com/v3.x#toc_implicit-injections
|
|
936
797
|
```
|
|
937
798
|
@private
|
|
938
799
|
@method injection
|
|
939
800
|
@param {String} factoryName
|
|
940
801
|
@param {String} property
|
|
941
802
|
@param {String} injectionName
|
|
803
|
+
@deprecated
|
|
942
804
|
*/
|
|
943
805
|
|
|
944
806
|
|
|
945
|
-
injection(fullName, property
|
|
946
|
-
|
|
947
|
-
|
|
948
|
-
|
|
949
|
-
|
|
950
|
-
|
|
951
|
-
|
|
952
|
-
|
|
953
|
-
|
|
954
|
-
let normalizedName = this.normalize(fullName);
|
|
955
|
-
let injections = this._injections[normalizedName] || (this._injections[normalizedName] = []);
|
|
956
|
-
injections.push({
|
|
957
|
-
property,
|
|
958
|
-
specifier: normalizedInjectionName
|
|
807
|
+
injection(fullName, property) {
|
|
808
|
+
deprecate(`As of Ember 4.0.0, owner.inject no longer injects values into resolved instances, and calling the method has been deprecated. Since this method no longer does anything, it is fully safe to remove this injection. As an alternative to this API, you can refactor to explicitly inject \`${property}\` on \`${fullName}\`, or look it up directly using the \`getOwner\` API.`, false, {
|
|
809
|
+
id: 'remove-owner-inject',
|
|
810
|
+
until: '5.0.0',
|
|
811
|
+
url: 'https://deprecations.emberjs.com/v4.x#toc_implicit-injections',
|
|
812
|
+
for: 'ember-source',
|
|
813
|
+
since: {
|
|
814
|
+
enabled: '4.0.0'
|
|
815
|
+
}
|
|
959
816
|
});
|
|
960
817
|
}
|
|
961
818
|
/**
|
|
@@ -988,41 +845,13 @@ class Registry {
|
|
|
988
845
|
resolverKnown = this.resolver.knownForType(type);
|
|
989
846
|
}
|
|
990
847
|
|
|
991
|
-
return assign({}, fallbackKnown, localKnown, resolverKnown);
|
|
848
|
+
return Object.assign({}, fallbackKnown, localKnown, resolverKnown);
|
|
992
849
|
}
|
|
993
850
|
|
|
994
851
|
isValidFullName(fullName) {
|
|
995
852
|
return VALID_FULL_NAME_REGEXP.test(fullName);
|
|
996
853
|
}
|
|
997
854
|
|
|
998
|
-
getInjections(fullName) {
|
|
999
|
-
let injections = this._injections[fullName];
|
|
1000
|
-
|
|
1001
|
-
if (this.fallback !== null) {
|
|
1002
|
-
let fallbackInjections = this.fallback.getInjections(fullName);
|
|
1003
|
-
|
|
1004
|
-
if (fallbackInjections !== undefined) {
|
|
1005
|
-
injections = injections === undefined ? fallbackInjections : injections.concat(fallbackInjections);
|
|
1006
|
-
}
|
|
1007
|
-
}
|
|
1008
|
-
|
|
1009
|
-
return injections;
|
|
1010
|
-
}
|
|
1011
|
-
|
|
1012
|
-
getTypeInjections(type) {
|
|
1013
|
-
let injections = this._typeInjections[type];
|
|
1014
|
-
|
|
1015
|
-
if (this.fallback !== null) {
|
|
1016
|
-
let fallbackInjections = this.fallback.getTypeInjections(type);
|
|
1017
|
-
|
|
1018
|
-
if (fallbackInjections !== undefined) {
|
|
1019
|
-
injections = injections === undefined ? fallbackInjections : injections.concat(fallbackInjections);
|
|
1020
|
-
}
|
|
1021
|
-
}
|
|
1022
|
-
|
|
1023
|
-
return injections;
|
|
1024
|
-
}
|
|
1025
|
-
|
|
1026
855
|
}
|
|
1027
856
|
|
|
1028
857
|
if (DEBUG) {
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { FUNCTION_PROTOTYPE_EXTENSIONS } from '@ember/deprecated-features';
|
|
2
1
|
import { DEBUG } from '@glimmer/env';
|
|
3
2
|
|
|
4
3
|
// from lodash to catch fake globals
|
|
@@ -52,7 +51,7 @@ const ENV = {
|
|
|
52
51
|
ENABLE_OPTIONAL_FEATURES: false,
|
|
53
52
|
|
|
54
53
|
/**
|
|
55
|
-
Determines whether Ember should add to `Array
|
|
54
|
+
Determines whether Ember should add to `Array`
|
|
56
55
|
native object prototypes, a few extra methods in order to provide a more
|
|
57
56
|
friendly API.
|
|
58
57
|
We generally recommend leaving this option set to true however, if you need
|
|
@@ -68,9 +67,7 @@ const ENV = {
|
|
|
68
67
|
@public
|
|
69
68
|
*/
|
|
70
69
|
EXTEND_PROTOTYPES: {
|
|
71
|
-
Array: true
|
|
72
|
-
Function: true,
|
|
73
|
-
String: true
|
|
70
|
+
Array: true
|
|
74
71
|
},
|
|
75
72
|
|
|
76
73
|
/**
|
|
@@ -148,18 +145,6 @@ const ENV = {
|
|
|
148
145
|
*/
|
|
149
146
|
_DEBUG_RENDER_TREE: DEBUG,
|
|
150
147
|
|
|
151
|
-
/**
|
|
152
|
-
Whether the app is using jQuery. See RFC #294.
|
|
153
|
-
This is not intended to be set directly, as the implementation may change in
|
|
154
|
-
the future. Use `@ember/optional-features` instead.
|
|
155
|
-
@property _JQUERY_INTEGRATION
|
|
156
|
-
@for EmberENV
|
|
157
|
-
@type Boolean
|
|
158
|
-
@default true
|
|
159
|
-
@private
|
|
160
|
-
*/
|
|
161
|
-
_JQUERY_INTEGRATION: true,
|
|
162
|
-
|
|
163
148
|
/**
|
|
164
149
|
Whether the app defaults to using async observers.
|
|
165
150
|
This is not intended to be set directly, as the implementation may change in
|
|
@@ -183,21 +168,6 @@ const ENV = {
|
|
|
183
168
|
@private
|
|
184
169
|
*/
|
|
185
170
|
_RERENDER_LOOP_LIMIT: 1000,
|
|
186
|
-
|
|
187
|
-
/**
|
|
188
|
-
Allows disabling the implicit this property fallback deprecation. This could be useful
|
|
189
|
-
as a way to control the volume of deprecations that are issued by temporarily disabling
|
|
190
|
-
the implicit this fallback deprecations, which would allow the other deprecations to be more easily
|
|
191
|
-
identified in the console).
|
|
192
|
-
NOTE: The fallback behavior **will be removed** in Ember 4.0.0, disabling **_IS NOT_**
|
|
193
|
-
a viable strategy for handling this deprecation.
|
|
194
|
-
@property _DISABLE_PROPERTY_FALLBACK_DEPRECATION
|
|
195
|
-
@for EmberENV
|
|
196
|
-
@type boolean
|
|
197
|
-
@default false
|
|
198
|
-
@private
|
|
199
|
-
*/
|
|
200
|
-
_DISABLE_PROPERTY_FALLBACK_DEPRECATION: false,
|
|
201
171
|
EMBER_LOAD_HOOKS: {},
|
|
202
172
|
FEATURES: {}
|
|
203
173
|
};
|
|
@@ -222,22 +192,9 @@ const ENV = {
|
|
|
222
192
|
|
|
223
193
|
if (EXTEND_PROTOTYPES !== undefined) {
|
|
224
194
|
if (typeof EXTEND_PROTOTYPES === 'object' && EXTEND_PROTOTYPES !== null) {
|
|
225
|
-
ENV.EXTEND_PROTOTYPES.String = EXTEND_PROTOTYPES.String !== false;
|
|
226
|
-
|
|
227
|
-
if (FUNCTION_PROTOTYPE_EXTENSIONS) {
|
|
228
|
-
ENV.EXTEND_PROTOTYPES.Function = EXTEND_PROTOTYPES.Function !== false;
|
|
229
|
-
}
|
|
230
|
-
|
|
231
195
|
ENV.EXTEND_PROTOTYPES.Array = EXTEND_PROTOTYPES.Array !== false;
|
|
232
196
|
} else {
|
|
233
|
-
|
|
234
|
-
ENV.EXTEND_PROTOTYPES.String = isEnabled;
|
|
235
|
-
|
|
236
|
-
if (FUNCTION_PROTOTYPE_EXTENSIONS) {
|
|
237
|
-
ENV.EXTEND_PROTOTYPES.Function = isEnabled;
|
|
238
|
-
}
|
|
239
|
-
|
|
240
|
-
ENV.EXTEND_PROTOTYPES.Array = isEnabled;
|
|
197
|
+
ENV.EXTEND_PROTOTYPES.Array = EXTEND_PROTOTYPES !== false;
|
|
241
198
|
}
|
|
242
199
|
} // TODO this does not seem to be used by anything,
|
|
243
200
|
// can we remove it? do we need to deprecate it?
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { classify, dasherize } from '@ember/string';
|
|
2
2
|
import { A as emberA, typeOf, Namespace, Object as EmberObject } from '@ember/-internals/runtime';
|
|
3
|
+
import { getOwner } from '@ember/-internals/owner';
|
|
3
4
|
/**
|
|
4
5
|
@module @ember/debug
|
|
5
6
|
*/
|
|
@@ -40,6 +41,12 @@ import { A as emberA, typeOf, Namespace, Object as EmberObject } from '@ember/-i
|
|
|
40
41
|
*/
|
|
41
42
|
|
|
42
43
|
export default EmberObject.extend({
|
|
44
|
+
init() {
|
|
45
|
+
this._super(...arguments);
|
|
46
|
+
|
|
47
|
+
this.resolver = getOwner(this).lookup('resolver-for-debugging:main');
|
|
48
|
+
},
|
|
49
|
+
|
|
43
50
|
/**
|
|
44
51
|
The resolver instance of the application
|
|
45
52
|
being debugged. This property will be injected
|
|
@@ -2,12 +2,11 @@ import { getOwner } from '@ember/-internals/owner';
|
|
|
2
2
|
import { _backburner } from '@ember/runloop';
|
|
3
3
|
import { get } from '@ember/-internals/metal';
|
|
4
4
|
import { dasherize } from '@ember/string';
|
|
5
|
-
import { HAS_NATIVE_SYMBOL } from '@ember/-internals/utils';
|
|
6
5
|
import { Namespace, Object as EmberObject, A as emberA } from '@ember/-internals/runtime';
|
|
7
6
|
import { consumeTag, createCache, getValue, tagFor, untrack } from '@glimmer/validator';
|
|
8
7
|
|
|
9
8
|
function iterate(arr, fn) {
|
|
10
|
-
if (
|
|
9
|
+
if (Symbol.iterator in arr) {
|
|
11
10
|
for (let item of arr) {
|
|
12
11
|
fn(item);
|
|
13
12
|
}
|