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.
Files changed (115) hide show
  1. package/CHANGELOG.md +113 -10
  2. package/blueprints/acceptance-test/qunit-files/tests/acceptance/__name__-test.js +1 -1
  3. package/blueprints/acceptance-test/qunit-rfc-232-files/tests/acceptance/__name__-test.js +1 -1
  4. package/blueprints/component-test/qunit-files/__root__/__testType__/__path__/__test__.js +3 -3
  5. package/blueprints/helper-test/index.js +4 -22
  6. package/blueprints/helper-test/mocha-0.12-files/__root__/__testType__/__collection__/__name__-test.js +1 -13
  7. package/blueprints/helper-test/mocha-files/__root__/__testType__/__collection__/__name__-test.js +0 -13
  8. package/blueprints/helper-test/mocha-rfc-232-files/__root__/__testType__/__collection__/__name__-test.js +2 -12
  9. package/blueprints/helper-test/qunit-files/__root__/__testType__/__collection__/__name__-test.js +2 -13
  10. package/blueprints/helper-test/qunit-rfc-232-files/__root__/__testType__/__collection__/__name__-test.js +2 -14
  11. package/blueprints/initializer/files/__root__/initializers/__name__.js +0 -1
  12. package/blueprints/instance-initializer/files/__root__/instance-initializers/__name__.js +0 -1
  13. package/build-metadata.json +3 -3
  14. package/dist/dependencies/@glimmer/manager.js +19 -98
  15. package/dist/dependencies/@glimmer/opcode-compiler.js +9 -146
  16. package/dist/dependencies/@glimmer/runtime.js +1 -55
  17. package/dist/dependencies/@glimmer/validator.js +19 -51
  18. package/dist/ember-template-compiler.js +3692 -5667
  19. package/dist/ember-template-compiler.map +1 -1
  20. package/dist/ember-testing.js +12 -560
  21. package/dist/ember-testing.map +1 -1
  22. package/dist/ember.debug.js +4357 -12470
  23. package/dist/ember.debug.map +1 -1
  24. package/dist/header/license.js +1 -1
  25. package/dist/packages/@ember/-internals/bootstrap/index.js +2 -55
  26. package/dist/packages/@ember/-internals/container/index.js +35 -206
  27. package/dist/packages/@ember/-internals/environment/index.js +3 -46
  28. package/dist/packages/@ember/-internals/extension-support/lib/container_debug_adapter.js +7 -0
  29. package/dist/packages/@ember/-internals/extension-support/lib/data_adapter.js +1 -2
  30. package/dist/packages/@ember/-internals/glimmer/index.js +4774 -7035
  31. package/dist/packages/@ember/-internals/meta/lib/meta.js +2 -50
  32. package/dist/packages/@ember/-internals/metal/index.js +785 -1109
  33. package/dist/packages/@ember/-internals/overrides/index.js +1 -3
  34. package/dist/packages/@ember/-internals/owner/index.js +1 -19
  35. package/dist/packages/@ember/-internals/routing/lib/location/auto_location.js +1 -51
  36. package/dist/packages/@ember/-internals/routing/lib/location/hash_location.js +1 -0
  37. package/dist/packages/@ember/-internals/routing/lib/location/history_location.js +3 -1
  38. package/dist/packages/@ember/-internals/routing/lib/location/none_location.js +0 -7
  39. package/dist/packages/@ember/-internals/routing/lib/services/router.js +34 -2
  40. package/dist/packages/@ember/-internals/routing/lib/services/routing.js +2 -3
  41. package/dist/packages/@ember/-internals/routing/lib/system/dsl.js +5 -6
  42. package/dist/packages/@ember/-internals/routing/lib/system/route.js +192 -652
  43. package/dist/packages/@ember/-internals/routing/lib/system/router.js +119 -248
  44. package/dist/packages/@ember/-internals/routing/lib/system/router_state.js +1 -2
  45. package/dist/packages/@ember/-internals/routing/lib/utils.js +1 -2
  46. package/dist/packages/@ember/-internals/runtime/index.js +1 -4
  47. package/dist/packages/@ember/-internals/runtime/lib/mixins/array.js +4 -175
  48. package/dist/packages/@ember/-internals/runtime/lib/mixins/observable.js +1 -18
  49. package/dist/packages/@ember/-internals/runtime/lib/mixins/target_action_support.js +3 -43
  50. package/dist/packages/@ember/-internals/runtime/lib/system/array_proxy.js +8 -15
  51. package/dist/packages/@ember/-internals/runtime/lib/system/core_object.js +10 -141
  52. package/dist/packages/@ember/-internals/utils/index.js +3 -59
  53. package/dist/packages/@ember/-internals/views/index.js +0 -2
  54. package/dist/packages/@ember/-internals/views/lib/mixins/action_support.js +1 -121
  55. package/dist/packages/@ember/-internals/views/lib/mixins/view_support.js +4 -40
  56. package/dist/packages/@ember/-internals/views/lib/system/event_dispatcher.js +115 -190
  57. package/dist/packages/@ember/-internals/views/lib/views/states/destroying.js +1 -2
  58. package/dist/packages/@ember/-internals/views/lib/views/states/has_element.js +1 -2
  59. package/dist/packages/@ember/-internals/views/lib/views/states/in_dom.js +1 -2
  60. package/dist/packages/@ember/-internals/views/lib/views/states/pre_render.js +1 -2
  61. package/dist/packages/@ember/application/instance.js +3 -25
  62. package/dist/packages/@ember/application/lib/application.js +14 -32
  63. package/dist/packages/@ember/canary-features/index.js +5 -6
  64. package/dist/packages/@ember/component/index.js +1 -1
  65. package/dist/packages/@ember/component/template-only.js +2 -0
  66. package/dist/packages/@ember/debug/lib/deprecate.js +7 -41
  67. package/dist/packages/@ember/deprecated-features/index.js +1 -14
  68. package/dist/packages/@ember/engine/index.js +3 -17
  69. package/dist/packages/@ember/engine/instance.js +0 -4
  70. package/dist/packages/@ember/helper/index.js +12 -4
  71. package/dist/packages/@ember/object/index.js +3 -101
  72. package/dist/packages/@ember/object/internals.js +0 -1
  73. package/dist/packages/@ember/object/lib/computed/computed_macros.js +12 -384
  74. package/dist/packages/@ember/object/lib/computed/reduce_computed_macros.js +9 -360
  75. package/dist/packages/@ember/polyfills/index.js +1 -6
  76. package/dist/packages/@ember/polyfills/lib/assign.js +12 -28
  77. package/dist/packages/@ember/routing/index.js +1 -1
  78. package/dist/packages/@ember/runloop/index.js +1 -83
  79. package/dist/packages/@ember/string/index.js +1 -206
  80. package/dist/packages/@ember/utils/index.js +0 -1
  81. package/dist/packages/ember/index.js +17 -180
  82. package/dist/packages/ember/version.js +1 -1
  83. package/dist/packages/ember-testing/index.js +0 -2
  84. package/dist/packages/ember-testing/lib/helpers.js +0 -12
  85. package/dist/packages/ember-testing/lib/setup_for_testing.js +0 -10
  86. package/docs/data.json +1637 -3659
  87. package/lib/index.js +14 -59
  88. package/lib/overrides.js +0 -61
  89. package/lib/transforms/inject-babel-helpers.js +1 -3
  90. package/package.json +27 -23
  91. package/dist/packages/@ember/-internals/console/index.js +0 -190
  92. package/dist/packages/@ember/-internals/runtime/lib/copy.js +0 -119
  93. package/dist/packages/@ember/-internals/runtime/lib/ext/function.js +0 -155
  94. package/dist/packages/@ember/-internals/runtime/lib/mixins/copyable.js +0 -31
  95. package/dist/packages/@ember/-internals/views/lib/mixins/text_support.js +0 -357
  96. package/dist/packages/@ember/-internals/views/lib/system/jquery.js +0 -26
  97. package/dist/packages/@ember/-internals/views/lib/system/jquery_event_deprecation.js +0 -60
  98. package/dist/packages/@ember/application/deprecations.js +0 -25
  99. package/dist/packages/@ember/application/globals-resolver.js +0 -434
  100. package/dist/packages/@ember/application/resolver.js +0 -1
  101. package/dist/packages/@ember/component/checkbox.js +0 -17
  102. package/dist/packages/@ember/component/text-area.js +0 -17
  103. package/dist/packages/@ember/component/text-field.js +0 -17
  104. package/dist/packages/@ember/polyfills/lib/merge.js +0 -50
  105. package/dist/packages/@ember/routing/link-component.js +0 -17
  106. package/dist/packages/ember-testing/lib/events.js +0 -102
  107. package/dist/packages/ember-testing/lib/helpers/-is-form-control.js +0 -19
  108. package/dist/packages/ember-testing/lib/helpers/click.js +0 -32
  109. package/dist/packages/ember-testing/lib/helpers/fill_in.js +0 -47
  110. package/dist/packages/ember-testing/lib/helpers/find.js +0 -40
  111. package/dist/packages/ember-testing/lib/helpers/find_with_assert.js +0 -37
  112. package/dist/packages/ember-testing/lib/helpers/key_event.js +0 -37
  113. package/dist/packages/ember-testing/lib/helpers/trigger_event.js +0 -61
  114. package/dist/packages/ember-testing/lib/support.js +0 -57
  115. package/dist/packages/jquery/index.js +0 -2
@@ -5,5 +5,5 @@
5
5
  * Portions Copyright 2008-2011 Apple Inc. All rights reserved.
6
6
  * @license Licensed under MIT license
7
7
  * See https://raw.github.com/emberjs/ember.js/master/LICENSE
8
- * @version 3.28.5
8
+ * @version 4.0.0-beta.10
9
9
  */
@@ -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
- let Ember;
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 = Ember = require('ember').default;
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, HAS_NATIVE_PROXY, HAS_NATIVE_SYMBOL, symbol, intern } from '@ember/-internals/utils';
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
- if (HAS_NATIVE_PROXY) {
219
- let validator = {
220
- set(_obj, prop) {
221
- throw new Error(`You attempted to set "${prop}" on a factory manager created by container#factoryFor. A factory manager is a read-only construct.`);
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
- let m = manager;
229
- let proxiedManager = {
230
- class: m.class,
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
- create(props) {
233
- return m.create(props);
234
- }
226
+ let m = manager;
227
+ let proxiedManager = {
228
+ class: m.class,
235
229
 
236
- };
237
- return new Proxy(proxiedManager, validator);
238
- }
230
+ create(props) {
231
+ return m.create(props);
232
+ }
239
233
 
240
- return manager;
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) && (HAS_NATIVE_SYMBOL || INIT_FACTORY in factory)) {
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 = this.injections;
476
-
477
- if (props === undefined) {
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
- Used only via `injection`.
873
- Provides a specialized form of injection, specifically enabling
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, injectionName) {
946
- assert(`Invalid injectionName, expected: 'type:name' got: ${injectionName}`, this.isValidFullName(injectionName));
947
- let normalizedInjectionName = this.normalize(injectionName);
948
-
949
- if (fullName.indexOf(':') === -1) {
950
- return this.typeInjection(fullName, property, normalizedInjectionName);
951
- }
952
-
953
- assert('fullName must be a proper full name', this.isValidFullName(fullName));
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`, `Function`, and `String`
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
- let isEnabled = EXTEND_PROTOTYPES !== false;
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 (HAS_NATIVE_SYMBOL && Symbol.iterator in arr) {
9
+ if (Symbol.iterator in arr) {
11
10
  for (let item of arr) {
12
11
  fn(item);
13
12
  }