ember-source 4.1.0-alpha.2 → 4.1.0-alpha.6

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 (42) hide show
  1. package/CHANGELOG.md +53 -0
  2. package/blueprints/initializer/files/__root__/initializers/__name__.js +0 -1
  3. package/blueprints/instance-initializer/files/__root__/instance-initializers/__name__.js +0 -1
  4. package/build-metadata.json +3 -3
  5. package/dist/ember-template-compiler.js +25 -274
  6. package/dist/ember-template-compiler.map +1 -1
  7. package/dist/ember-testing.js +4 -1
  8. package/dist/ember-testing.map +1 -1
  9. package/dist/ember.debug.js +227 -1338
  10. package/dist/ember.debug.map +1 -1
  11. package/dist/header/license.js +1 -1
  12. package/dist/header/loader.js +1 -0
  13. package/dist/packages/@ember/-internals/container/index.js +17 -183
  14. package/dist/packages/@ember/-internals/environment/index.js +0 -12
  15. package/dist/packages/@ember/-internals/extension-support/lib/container_debug_adapter.js +7 -0
  16. package/dist/packages/@ember/-internals/glimmer/index.js +34 -71
  17. package/dist/packages/@ember/-internals/metal/index.js +65 -2
  18. package/dist/packages/@ember/-internals/routing/lib/ext/controller.js +1 -0
  19. package/dist/packages/@ember/-internals/routing/lib/services/router.js +16 -8
  20. package/dist/packages/@ember/-internals/routing/lib/system/route.js +2 -1
  21. package/dist/packages/@ember/-internals/routing/lib/system/router.js +10 -45
  22. package/dist/packages/@ember/-internals/runtime/lib/system/core_object.js +4 -90
  23. package/dist/packages/@ember/-internals/views/index.js +0 -1
  24. package/dist/packages/@ember/-internals/views/lib/system/event_dispatcher.js +22 -72
  25. package/dist/packages/@ember/application/instance.js +1 -22
  26. package/dist/packages/@ember/application/lib/application.js +7 -24
  27. package/dist/packages/@ember/canary-features/index.js +4 -2
  28. package/dist/packages/@ember/deprecated-features/index.js +0 -3
  29. package/dist/packages/@ember/engine/index.js +1 -5
  30. package/dist/packages/@ember/engine/instance.js +0 -4
  31. package/dist/packages/@ember/object/lib/computed/computed_macros.js +0 -373
  32. package/dist/packages/@ember/object/lib/computed/reduce_computed_macros.js +0 -351
  33. package/dist/packages/@ember/service/index.js +19 -5
  34. package/dist/packages/@glimmer/tracking/index.js +1 -1
  35. package/dist/packages/ember/index.js +2 -3
  36. package/dist/packages/ember/version.js +1 -1
  37. package/dist/packages/ember-testing/lib/adapters/qunit.js +1 -0
  38. package/docs/data.json +326 -368
  39. package/lib/index.js +11 -48
  40. package/package.json +33 -33
  41. package/dist/packages/@ember/-internals/views/lib/system/jquery.js +0 -26
  42. package/dist/packages/jquery/index.js +0 -2
@@ -6,11 +6,13 @@
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 4.1.0-alpha.2
9
+ * @version 4.1.0-alpha.6
10
10
  */
11
11
  /* eslint-disable no-var */
12
12
 
13
13
  /* globals global globalThis self */
14
+
15
+ /* eslint-disable-next-line no-unused-vars */
14
16
  var define, require;
15
17
 
16
18
  (function () {
@@ -500,55 +502,6 @@ define("@ember/-internals/container/index", ["exports", "@ember/-internals/owner
500
502
  throw new Error('Could not create factory');
501
503
  }
502
504
 
503
- function processInjections(container, injections, result) {
504
- if (true
505
- /* DEBUG */
506
- ) {
507
- container.registry.validateInjections(injections);
508
- }
509
-
510
- var hash = result.injections;
511
-
512
- for (var i = 0; i < injections.length; i++) {
513
- var {
514
- property,
515
- specifier
516
- } = injections[i];
517
- hash[property] = lookup(container, specifier);
518
-
519
- if (!result.isDynamic) {
520
- result.isDynamic = !isSingleton(container, specifier);
521
- }
522
- }
523
- }
524
-
525
- function buildInjections(container, typeInjections, injections) {
526
- var injectionsHash = {};
527
- (0, _owner.setOwner)(injectionsHash, container.owner);
528
- var result = {
529
- injections: injectionsHash,
530
- isDynamic: false
531
- };
532
-
533
- if (typeInjections !== undefined) {
534
- processInjections(container, typeInjections, result);
535
- }
536
-
537
- if (injections !== undefined) {
538
- processInjections(container, injections, result);
539
- }
540
-
541
- return result;
542
- }
543
-
544
- function injectionsFor(container, fullName) {
545
- var registry = container.registry;
546
- var [type] = fullName.split(':');
547
- var typeInjections = registry.getTypeInjections(type);
548
- var injections = registry.getInjections(fullName);
549
- return buildInjections(container, typeInjections, injections);
550
- }
551
-
552
505
  function destroyDestroyables(container) {
553
506
  var cache = container.cache;
554
507
  var keys = Object.keys(cache);
@@ -603,7 +556,7 @@ define("@ember/-internals/container/index", ["exports", "@ember/-internals/owner
603
556
  this.injections = undefined;
604
557
  setFactoryFor(this, this);
605
558
 
606
- if (factory) {
559
+ if (isInstantiatable(container, fullName)) {
607
560
  setFactoryFor(factory, this);
608
561
  }
609
562
  }
@@ -625,20 +578,9 @@ define("@ember/-internals/container/index", ["exports", "@ember/-internals/owner
625
578
  throw new Error(`Can not create new instances after the owner has been destroyed (you attempted to create ${this.fullName})`);
626
579
  }
627
580
 
628
- var props = this.injections;
629
-
630
- if (props === undefined) {
631
- var {
632
- injections,
633
- isDynamic
634
- } = injectionsFor(this.container, this.normalizedName);
635
- setFactoryFor(injections, this);
636
- props = injections;
637
-
638
- if (!isDynamic) {
639
- this.injections = injections;
640
- }
641
- }
581
+ var props = {};
582
+ (0, _owner.setOwner)(props, container.owner);
583
+ setFactoryFor(props, this);
642
584
 
643
585
  if (options !== undefined) {
644
586
  props = Object.assign({}, props, options);
@@ -685,8 +627,6 @@ define("@ember/-internals/container/index", ["exports", "@ember/-internals/owner
685
627
  this.fallback = options.fallback || null;
686
628
  this.resolver = options.resolver || null;
687
629
  this.registrations = (0, _utils.dictionary)(options.registrations || null);
688
- this._typeInjections = (0, _utils.dictionary)(null);
689
- this._injections = (0, _utils.dictionary)(null);
690
630
  this._localLookupCache = Object.create(null);
691
631
  this._normalizeCache = (0, _utils.dictionary)(null);
692
632
  this._resolveCache = (0, _utils.dictionary)(null);
@@ -714,18 +654,6 @@ define("@ember/-internals/container/index", ["exports", "@ember/-internals/owner
714
654
  @type InheritingDict
715
655
  */
716
656
 
717
- /**
718
- @private
719
- @property _typeInjections
720
- @type InheritingDict
721
- */
722
-
723
- /**
724
- @private
725
- @property _injections
726
- @type InheritingDict
727
- */
728
-
729
657
  /**
730
658
  @private
731
659
  @property _normalizeCache
@@ -1024,94 +952,28 @@ define("@ember/-internals/container/index", ["exports", "@ember/-internals/owner
1024
952
  return undefined;
1025
953
  }
1026
954
  /**
1027
- Used only via `injection`.
1028
- Provides a specialized form of injection, specifically enabling
1029
- all objects of one type to be injected with a reference to another
1030
- object.
1031
- For example, provided each object of type `controller` needed a `router`.
1032
- one would do the following:
1033
- ```javascript
1034
- let registry = new Registry();
1035
- let container = registry.container();
1036
- registry.register('router:main', Router);
1037
- registry.register('controller:user', UserController);
1038
- registry.register('controller:post', PostController);
1039
- registry.typeInjection('controller', 'router', 'router:main');
1040
- let user = container.lookup('controller:user');
1041
- let post = container.lookup('controller:post');
1042
- user.router instanceof Router; //=> true
1043
- post.router instanceof Router; //=> true
1044
- // both controllers share the same router
1045
- user.router === post.router; //=> true
1046
- ```
1047
- @private
1048
- @method typeInjection
1049
- @param {String} type
1050
- @param {String} property
1051
- @param {String} fullName
1052
- */
1053
-
1054
-
1055
- typeInjection(type, property, fullName) {
1056
- (true && !(this.isValidFullName(fullName)) && (0, _debug.assert)('fullName must be a proper full name', this.isValidFullName(fullName)));
1057
- var fullNameType = fullName.split(':')[0];
1058
- (true && !(fullNameType !== type) && (0, _debug.assert)(`Cannot inject a '${fullName}' on other ${type}(s).`, fullNameType !== type));
1059
- var injections = this._typeInjections[type] || (this._typeInjections[type] = []);
1060
- injections.push({
1061
- property,
1062
- specifier: fullName
1063
- });
1064
- }
1065
- /**
1066
- Defines injection rules.
1067
- These rules are used to inject dependencies onto objects when they
1068
- are instantiated.
1069
- Two forms of injections are possible:
1070
- * Injecting one fullName on another fullName
1071
- * Injecting one fullName on a type
1072
- Example:
1073
- ```javascript
1074
- let registry = new Registry();
1075
- let container = registry.container();
1076
- registry.register('source:main', Source);
1077
- registry.register('model:user', User);
1078
- registry.register('model:post', Post);
1079
- // injecting one fullName on another fullName
1080
- // eg. each user model gets a post model
1081
- registry.injection('model:user', 'post', 'model:post');
1082
- // injecting one fullName on another type
1083
- registry.injection('model', 'source', 'source:main');
1084
- let user = container.lookup('model:user');
1085
- let post = container.lookup('model:post');
1086
- user.source instanceof Source; //=> true
1087
- post.source instanceof Source; //=> true
1088
- user.post instanceof Post; //=> true
1089
- // and both models share the same source
1090
- user.source === post.source; //=> true
955
+ This is deprecated in favor of explicit injection of dependencies.
956
+ Reference: https://deprecations.emberjs.com/v3.x#toc_implicit-injections
1091
957
  ```
1092
958
  @private
1093
959
  @method injection
1094
960
  @param {String} factoryName
1095
961
  @param {String} property
1096
962
  @param {String} injectionName
963
+ @deprecated
1097
964
  */
1098
965
 
1099
966
 
1100
- injection(fullName, property, injectionName) {
1101
- (true && !(this.isValidFullName(injectionName)) && (0, _debug.assert)(`Invalid injectionName, expected: 'type:name' got: ${injectionName}`, this.isValidFullName(injectionName)));
1102
- var normalizedInjectionName = this.normalize(injectionName);
1103
-
1104
- if (fullName.indexOf(':') === -1) {
1105
- return this.typeInjection(fullName, property, normalizedInjectionName);
1106
- }
1107
-
1108
- (true && !(this.isValidFullName(fullName)) && (0, _debug.assert)('fullName must be a proper full name', this.isValidFullName(fullName)));
1109
- var normalizedName = this.normalize(fullName);
1110
- var injections = this._injections[normalizedName] || (this._injections[normalizedName] = []);
1111
- injections.push({
1112
- property,
1113
- specifier: normalizedInjectionName
1114
- });
967
+ injection(fullName, property) {
968
+ (true && !(false) && (0, _debug.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, {
969
+ id: 'remove-owner-inject',
970
+ until: '5.0.0',
971
+ url: 'https://deprecations.emberjs.com/v4.x#toc_implicit-injections',
972
+ for: 'ember-source',
973
+ since: {
974
+ enabled: '4.0.0'
975
+ }
976
+ }));
1115
977
  }
1116
978
  /**
1117
979
  @private
@@ -1150,34 +1012,6 @@ define("@ember/-internals/container/index", ["exports", "@ember/-internals/owner
1150
1012
  return VALID_FULL_NAME_REGEXP.test(fullName);
1151
1013
  }
1152
1014
 
1153
- getInjections(fullName) {
1154
- var injections = this._injections[fullName];
1155
-
1156
- if (this.fallback !== null) {
1157
- var fallbackInjections = this.fallback.getInjections(fullName);
1158
-
1159
- if (fallbackInjections !== undefined) {
1160
- injections = injections === undefined ? fallbackInjections : injections.concat(fallbackInjections);
1161
- }
1162
- }
1163
-
1164
- return injections;
1165
- }
1166
-
1167
- getTypeInjections(type) {
1168
- var injections = this._typeInjections[type];
1169
-
1170
- if (this.fallback !== null) {
1171
- var fallbackInjections = this.fallback.getTypeInjections(type);
1172
-
1173
- if (fallbackInjections !== undefined) {
1174
- injections = injections === undefined ? fallbackInjections : injections.concat(fallbackInjections);
1175
- }
1176
- }
1177
-
1178
- return injections;
1179
- }
1180
-
1181
1015
  }
1182
1016
 
1183
1017
  _exports.Registry = Registry;
@@ -1440,18 +1274,6 @@ define("@ember/-internals/environment/index", ["exports"], function (_exports) {
1440
1274
  /* DEBUG */
1441
1275
  ,
1442
1276
 
1443
- /**
1444
- Whether the app is using jQuery. See RFC #294.
1445
- This is not intended to be set directly, as the implementation may change in
1446
- the future. Use `@ember/optional-features` instead.
1447
- @property _JQUERY_INTEGRATION
1448
- @for EmberENV
1449
- @type Boolean
1450
- @default true
1451
- @private
1452
- */
1453
- _JQUERY_INTEGRATION: true,
1454
-
1455
1277
  /**
1456
1278
  Whether the app defaults to using async observers.
1457
1279
  This is not intended to be set directly, as the implementation may change in
@@ -1619,7 +1441,7 @@ define("@ember/-internals/extension-support/index", ["exports", "@ember/-interna
1619
1441
  }
1620
1442
  });
1621
1443
  });
1622
- define("@ember/-internals/extension-support/lib/container_debug_adapter", ["exports", "@ember/string", "@ember/-internals/runtime"], function (_exports, _string, _runtime) {
1444
+ define("@ember/-internals/extension-support/lib/container_debug_adapter", ["exports", "@ember/string", "@ember/-internals/runtime", "@ember/-internals/owner"], function (_exports, _string, _runtime, _owner) {
1623
1445
  "use strict";
1624
1446
 
1625
1447
  Object.defineProperty(_exports, "__esModule", {
@@ -1666,6 +1488,12 @@ define("@ember/-internals/extension-support/lib/container_debug_adapter", ["expo
1666
1488
  @public
1667
1489
  */
1668
1490
  var _default = _runtime.Object.extend({
1491
+ init() {
1492
+ this._super(...arguments);
1493
+
1494
+ this.resolver = (0, _owner.getOwner)(this).lookup('resolver-for-debugging:main');
1495
+ },
1496
+
1669
1497
  /**
1670
1498
  The resolver instance of the application
1671
1499
  being debugged. This property will be injected
@@ -2788,7 +2616,7 @@ define("@ember/-internals/glimmer/index", ["exports", "@glimmer/opcode-compiler"
2788
2616
 
2789
2617
  ```app/controllers/application.js
2790
2618
  import Controller from '@ember/controller';
2791
- import { inject as service } from '@ember/service';
2619
+ import { service } from '@ember/service';
2792
2620
 
2793
2621
  export default class extends Controller {
2794
2622
  @service someService;
@@ -4120,34 +3948,6 @@ define("@ember/-internals/glimmer/index", ["exports", "@glimmer/opcode-compiler"
4120
3948
  (true && !(!eventNames.length) && (0, _debug.assert)( // tslint:disable-next-line:max-line-length
4121
3949
  `You can not define \`${eventNames}\` function(s) to handle DOM event in the \`${this}\` tagless component since it doesn't have any DOM element.`, !eventNames.length));
4122
3950
  }
4123
-
4124
- (true && !(this.mouseEnter === undefined) && (0, _debug.deprecate)(`${this}: Using \`mouseEnter\` event handler methods in components has been deprecated.`, this.mouseEnter === undefined, {
4125
- id: 'ember-views.event-dispatcher.mouseenter-leave-move',
4126
- until: '4.0.0',
4127
- url: 'https://deprecations.emberjs.com/v3.x#toc_component-mouseenter-leave-move',
4128
- for: 'ember-source',
4129
- since: {
4130
- enabled: '3.13.0-beta.1'
4131
- }
4132
- }));
4133
- (true && !(this.mouseLeave === undefined) && (0, _debug.deprecate)(`${this}: Using \`mouseLeave\` event handler methods in components has been deprecated.`, this.mouseLeave === undefined, {
4134
- id: 'ember-views.event-dispatcher.mouseenter-leave-move',
4135
- until: '4.0.0',
4136
- url: 'https://deprecations.emberjs.com/v3.x#toc_component-mouseenter-leave-move',
4137
- for: 'ember-source',
4138
- since: {
4139
- enabled: '3.13.0-beta.1'
4140
- }
4141
- }));
4142
- (true && !(this.mouseMove === undefined) && (0, _debug.deprecate)(`${this}: Using \`mouseMove\` event handler methods in components has been deprecated.`, this.mouseMove === undefined, {
4143
- id: 'ember-views.event-dispatcher.mouseenter-leave-move',
4144
- until: '4.0.0',
4145
- url: 'https://deprecations.emberjs.com/v3.x#toc_component-mouseenter-leave-move',
4146
- for: 'ember-source',
4147
- since: {
4148
- enabled: '3.13.0-beta.1'
4149
- }
4150
- }));
4151
3951
  },
4152
3952
 
4153
3953
  get _dispatcher() {
@@ -4425,8 +4225,11 @@ define("@ember/-internals/glimmer/index", ["exports", "@glimmer/opcode-compiler"
4425
4225
  (true && !(false) && (0, _debug.deprecate)('Reopening the Ember.Component super class itself is deprecated. ' + 'Consider alternatives such as installing event listeners on ' + 'the document or add the customizations to specific subclasses.', false, {
4426
4226
  id: 'ember.component.reopen',
4427
4227
  for: 'ember-source',
4428
- since: {},
4429
- until: '4.0.0'
4228
+ since: {
4229
+ enabled: '4.0.0'
4230
+ },
4231
+ url: 'https://deprecations.emberjs.com/v4.x#toc_ember-component-reopen',
4232
+ until: '5.0.0'
4430
4233
  }));
4431
4234
  Component._wasReopened = true;
4432
4235
  }
@@ -4443,8 +4246,11 @@ define("@ember/-internals/glimmer/index", ["exports", "@glimmer/opcode-compiler"
4443
4246
  (true && !(false) && (0, _debug.deprecate)('Reopening the Ember.Component super class itself is deprecated. ' + 'Consider alternatives such as installing event listeners on ' + 'the document or add the customizations to specific subclasses.', false, {
4444
4247
  id: 'ember.component.reopen',
4445
4248
  for: 'ember-source',
4446
- since: {},
4447
- until: '4.0.0'
4249
+ url: 'https://deprecations.emberjs.com/v4.x#toc_ember-component-reopen',
4250
+ since: {
4251
+ enabled: '4.0.0'
4252
+ },
4253
+ until: '5.0.0'
4448
4254
  }));
4449
4255
  Component._wasReopened = true;
4450
4256
  }
@@ -5411,7 +5217,7 @@ define("@ember/-internals/glimmer/index", ["exports", "@glimmer/opcode-compiler"
5411
5217
  this.on(eventName, this, this._invoke);
5412
5218
  },
5413
5219
 
5414
- _routing: (0, _service.inject)('-routing'),
5220
+ _routing: (0, _service.service)('-routing'),
5415
5221
  _currentRoute: (0, _metal.alias)('_routing.currentRouteName'),
5416
5222
  _currentRouterState: (0, _metal.alias)('_routing.currentState'),
5417
5223
  _targetRouterState: (0, _metal.alias)('_routing.targetState'),
@@ -7126,7 +6932,7 @@ define("@ember/-internals/glimmer/index", ["exports", "@glimmer/opcode-compiler"
7126
6932
  session service changes:
7127
6933
  ```app/helpers/current-user-email.js
7128
6934
  import Helper from '@ember/component/helper'
7129
- import { inject as service } from '@ember/service'
6935
+ import { service } from '@ember/service'
7130
6936
  import { observer } from '@ember/object'
7131
6937
  export default Helper.extend({
7132
6938
  session: service(),
@@ -8825,17 +8631,7 @@ define("@ember/-internals/glimmer/index", ["exports", "@glimmer/opcode-compiler"
8825
8631
  }
8826
8632
 
8827
8633
  var actionId = (0, _utils.uuid)();
8828
- var actionState = new ActionState(element, owner, actionId, actionArgs, named, positional);
8829
- (true && !(actionState.eventName !== 'mouseEnter' && actionState.eventName !== 'mouseLeave' && actionState.eventName !== 'mouseMove') && (0, _debug.deprecate)(`Using the \`{{action}}\` modifier with \`${actionState.eventName}\` events has been deprecated.`, actionState.eventName !== 'mouseEnter' && actionState.eventName !== 'mouseLeave' && actionState.eventName !== 'mouseMove', {
8830
- id: 'ember-views.event-dispatcher.mouseenter-leave-move',
8831
- until: '4.0.0',
8832
- url: 'https://deprecations.emberjs.com/v3.x#toc_action-mouseenter-leave-move',
8833
- for: 'ember-source',
8834
- since: {
8835
- enabled: '3.13.0-beta.1'
8836
- }
8837
- }));
8838
- return actionState;
8634
+ return new ActionState(element, owner, actionId, actionArgs, named, positional);
8839
8635
  }
8840
8636
 
8841
8637
  getDebugName() {
@@ -9709,7 +9505,7 @@ define("@ember/-internals/glimmer/index", ["exports", "@glimmer/opcode-compiler"
9709
9505
  this._destroyed = false;
9710
9506
  this._owner = owner;
9711
9507
  this._rootTemplate = rootTemplate(owner);
9712
- this._viewRegistry = viewRegistry;
9508
+ this._viewRegistry = viewRegistry || owner.lookup('-view-registry:main');
9713
9509
  this._roots = [];
9714
9510
  this._removedRoots = [];
9715
9511
  this._builder = builder;
@@ -9727,12 +9523,13 @@ define("@ember/-internals/glimmer/index", ["exports", "@glimmer/opcode-compiler"
9727
9523
 
9728
9524
  static create(props) {
9729
9525
  var {
9730
- document,
9731
- env,
9732
- rootTemplate,
9733
- _viewRegistry,
9734
- builder
9526
+ _viewRegistry
9735
9527
  } = props;
9528
+ var document = (0, _owner2.getOwner)(props).lookup('service:-document');
9529
+ var env = (0, _owner2.getOwner)(props).lookup('-environment:main');
9530
+ var owner = (0, _owner2.getOwner)(props);
9531
+ var rootTemplate = owner.lookup((0, _container.privatize)`template:-root`);
9532
+ var builder = owner.lookup('service:-dom-builder');
9736
9533
  return new this((0, _owner2.getOwner)(props), document, env, rootTemplate, _viewRegistry, builder);
9737
9534
  }
9738
9535
 
@@ -10301,7 +10098,7 @@ define("@ember/-internals/glimmer/index", ["exports", "@glimmer/opcode-compiler"
10301
10098
 
10302
10099
  }
10303
10100
 
10304
- __decorate$3([(0, _service.inject)('-routing')], LinkTo.prototype, "routing", void 0);
10101
+ __decorate$3([(0, _service.service)('-routing')], LinkTo.prototype, "routing", void 0);
10305
10102
 
10306
10103
  __decorate$3([_object.action], LinkTo.prototype, "click", null); // Deprecated features
10307
10104
 
@@ -10482,6 +10279,7 @@ define("@ember/-internals/glimmer/index", ["exports", "@glimmer/opcode-compiler"
10482
10279
  (true && !(false) && (0, _debug.deprecate)('Passing the `@disabledWhen` argument to <LinkTo> is deprecated. ' + 'Use the `@disabled` argument instead.', false, {
10483
10280
  id: 'ember.link-to.disabled-when',
10484
10281
  for: 'ember-source',
10282
+ url: 'https://deprecations.emberjs.com/v4.x#toc_ember-link-to-disabled-when',
10485
10283
  since: {},
10486
10284
  until: '4.0.0'
10487
10285
  }));
@@ -10503,6 +10301,7 @@ define("@ember/-internals/glimmer/index", ["exports", "@glimmer/opcode-compiler"
10503
10301
  (true && !(false) && (0, _debug.deprecate)('Passing the `@disabledWhen` argument to <LinkTo> is deprecated. ' + 'Use the `@disabled` argument instead.', false, {
10504
10302
  id: 'ember.link-to.disabled-when',
10505
10303
  for: 'ember-source',
10304
+ url: 'https://deprecations.emberjs.com/v4.x#toc_ember-link-to-disabled-when',
10506
10305
  since: {},
10507
10306
  until: '4.0.0'
10508
10307
  }));
@@ -10604,10 +10403,11 @@ define("@ember/-internals/glimmer/index", ["exports", "@glimmer/opcode-compiler"
10604
10403
  var TOP_LEVEL_OUTLET = 'main';
10605
10404
 
10606
10405
  class OutletView {
10607
- constructor(_environment, owner, template) {
10406
+ constructor(_environment, owner, template, namespace) {
10608
10407
  this._environment = _environment;
10609
10408
  this.owner = owner;
10610
10409
  this.template = template;
10410
+ this.namespace = namespace;
10611
10411
  var outletStateTag = (0, _validator.createTag)();
10612
10412
  var outletState = {
10613
10413
  outlets: {
@@ -10659,12 +10459,13 @@ define("@ember/-internals/glimmer/index", ["exports", "@glimmer/opcode-compiler"
10659
10459
 
10660
10460
  static create(options) {
10661
10461
  var {
10662
- _environment,
10462
+ environment: _environment,
10463
+ application: namespace,
10663
10464
  template: templateFactory$$1
10664
10465
  } = options;
10665
10466
  var owner = (0, _owner2.getOwner)(options);
10666
10467
  var template = templateFactory$$1(owner);
10667
- return new OutletView(_environment, owner, template);
10468
+ return new OutletView(_environment, owner, template, namespace);
10668
10469
  }
10669
10470
 
10670
10471
  appendTo(selector) {
@@ -10697,19 +10498,14 @@ define("@ember/-internals/glimmer/index", ["exports", "@glimmer/opcode-compiler"
10697
10498
  _exports.OutletView = OutletView;
10698
10499
 
10699
10500
  function setupApplicationRegistry(registry) {
10700
- registry.injection('renderer', 'env', '-environment:main'); // because we are using injections we can't use instantiate false
10501
+ // because we are using injections we can't use instantiate false
10701
10502
  // we need to use bind() to copy the function so factory for
10702
10503
  // association won't leak
10703
-
10704
10504
  registry.register('service:-dom-builder', {
10705
- create({
10706
- bootOptions
10707
- }) {
10708
- var {
10709
- _renderMode
10710
- } = bootOptions;
10505
+ create(props) {
10506
+ var env = (0, _owner2.getOwner)(props).lookup('-environment:main');
10711
10507
 
10712
- switch (_renderMode) {
10508
+ switch (env._renderMode) {
10713
10509
  case 'serialize':
10714
10510
  return _node.serializeBuilder.bind(null);
10715
10511
 
@@ -10722,12 +10518,8 @@ define("@ember/-internals/glimmer/index", ["exports", "@glimmer/opcode-compiler"
10722
10518
  }
10723
10519
 
10724
10520
  });
10725
- registry.injection('service:-dom-builder', 'bootOptions', '-environment:main');
10726
- registry.injection('renderer', 'builder', 'service:-dom-builder');
10727
10521
  registry.register((0, _container.privatize)`template:-root`, RootTemplate);
10728
- registry.injection('renderer', 'rootTemplate', (0, _container.privatize)`template:-root`);
10729
10522
  registry.register('renderer:-dom', Renderer);
10730
- registry.injection('renderer', 'document', 'service:-document');
10731
10523
  }
10732
10524
 
10733
10525
  function setupEngineRegistry(registry) {
@@ -10736,7 +10528,6 @@ define("@ember/-internals/glimmer/index", ["exports", "@glimmer/opcode-compiler"
10736
10528
  });
10737
10529
  registry.register('view:-outlet', OutletView);
10738
10530
  registry.register('template:-outlet', OutletTemplate);
10739
- registry.injection('view:-outlet', 'template', 'template:-outlet');
10740
10531
  registry.optionsForType('helper', {
10741
10532
  instantiate: false
10742
10533
  });
@@ -11651,7 +11442,7 @@ define("@ember/-internals/metal/index", ["exports", "@ember/-internals/meta", "@
11651
11442
  return _validator.isConst;
11652
11443
  }
11653
11444
  });
11654
- _exports.NAMESPACES_BY_ID = _exports.NAMESPACES = _exports.TrackedDescriptor = _exports.DEBUG_INJECTION_FUNCTIONS = _exports.Mixin = _exports.SYNC_OBSERVERS = _exports.ASYNC_OBSERVERS = _exports.Libraries = _exports.libraries = _exports.PROPERTY_DID_CHANGE = _exports.PROXY_CONTENT = _exports.ComputedProperty = void 0;
11445
+ _exports.NAMESPACES_BY_ID = _exports.NAMESPACES = _exports.cached = _exports.TrackedDescriptor = _exports.DEBUG_INJECTION_FUNCTIONS = _exports.Mixin = _exports.SYNC_OBSERVERS = _exports.ASYNC_OBSERVERS = _exports.Libraries = _exports.libraries = _exports.PROPERTY_DID_CHANGE = _exports.PROXY_CONTENT = _exports.ComputedProperty = void 0;
11655
11446
 
11656
11447
  /**
11657
11448
  @module @ember/object
@@ -13964,7 +13755,7 @@ define("@ember/-internals/metal/index", ["exports", "@ember/-internals/meta", "@
13964
13755
  return none;
13965
13756
  }
13966
13757
 
13967
- if (typeof obj.size === 'number') {
13758
+ if (typeof obj.unknownProperty !== 'function' && typeof obj.size === 'number') {
13968
13759
  return !obj.size;
13969
13760
  }
13970
13761
 
@@ -15236,7 +15027,71 @@ define("@ember/-internals/metal/index", ["exports", "@ember/-internals/meta", "@
15236
15027
  this._set.call(obj, value);
15237
15028
  }
15238
15029
 
15239
- }
15030
+ } // NOTE: copied from: https://github.com/glimmerjs/glimmer.js/pull/358
15031
+
15032
+ /**
15033
+ * @decorator
15034
+ *
15035
+ * The `@cached` decorator can be used on getters in order to cache the return
15036
+ * value of the getter. This is useful when a getter is expensive and used very
15037
+ * often.
15038
+ *
15039
+ *
15040
+ * @example
15041
+ *
15042
+ * in this guest list class, we have the `sortedGuests`
15043
+ * getter that sorts the guests alphabetically:
15044
+ *
15045
+ * ```js
15046
+ * import { tracked } from '@glimmer/tracking';
15047
+ *
15048
+ * class GuestList {
15049
+ * @tracked guests = ['Zoey', 'Tomster'];
15050
+ *
15051
+ * get sortedGuests() {
15052
+ * return this.guests.slice().sort()
15053
+ * }
15054
+ * }
15055
+ * ```
15056
+ *
15057
+ * Every time `sortedGuests` is accessed, a new array will be created and sorted,
15058
+ * because JavaScript getters do not cache by default. When the guest list is
15059
+ * small, like the one in the example, this is not a problem. However, if the guest
15060
+ * list were to grow very large, it would mean that we would be doing a large
15061
+ * amount of work each time we accessed `sortedGetters`. With `@cached`, we can
15062
+ * cache the value instead:
15063
+ *
15064
+ * ```js
15065
+ * import { tracked, cached } from '@glimmer/tracking';
15066
+ *
15067
+ * class GuestList {
15068
+ * @tracked guests = ['Zoey', 'Tomster'];
15069
+ *
15070
+ * @cached
15071
+ * get sortedGuests() {
15072
+ * return this.guests.slice().sort()
15073
+ * }
15074
+ * }
15075
+ * ```
15076
+ *
15077
+ * Now the `sortedGuests` getter will be cached based on _autotracking_. It will
15078
+ * only rerun and create a new sorted array when the `guests` tracked property is
15079
+ * updated.
15080
+ *
15081
+ * In general, you should avoid using `@cached` unless you have confirmed that the
15082
+ * getter you are decorating is computationally expensive. `@cached` adds a small
15083
+ * amount of overhead to the getter, making it more expensive. While this overhead
15084
+ * is small, if `@cached` is overused it can add up to a large impact overall in
15085
+ * your app. Many getters and tracked properties are only accessed once, rendered,
15086
+ * and then never rerendered, so adding `@cached` when it is unnecessary can
15087
+ * negatively impact performance.
15088
+ */
15089
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
15090
+
15091
+
15092
+ _exports.TrackedDescriptor = TrackedDescriptor;
15093
+
15094
+ var cached = (...args) => {};
15240
15095
  /**
15241
15096
  Ember uses caching based on trackable values to avoid updating large portions
15242
15097
  of the application. This caching is exposed via a cache primitive that can be
@@ -15360,7 +15215,7 @@ define("@ember/-internals/metal/index", ["exports", "@ember/-internals/meta", "@
15360
15215
  */
15361
15216
 
15362
15217
 
15363
- _exports.TrackedDescriptor = TrackedDescriptor;
15218
+ _exports.cached = cached;
15364
15219
  });
15365
15220
  define("@ember/-internals/overrides/index", ["exports"], function (_exports) {
15366
15221
  "use strict";
@@ -15751,6 +15606,7 @@ define("@ember/-internals/routing/lib/ext/controller", ["exports", "@ember/-inte
15751
15606
  @method replaceRoute
15752
15607
  @return {Transition} the transition object associated with this
15753
15608
  attempted transition
15609
+ @deprecated Use replaceWith from the Router service instead.
15754
15610
  @public
15755
15611
  */
15756
15612
  replaceRoute(...args) {
@@ -16867,7 +16723,7 @@ define("@ember/-internals/routing/lib/services/router", ["exports", "@ember/-int
16867
16723
  ```app/components/example.js
16868
16724
  import Component from '@glimmer/component';
16869
16725
  import { action } from '@ember/object';
16870
- import { inject as service } from '@ember/service';
16726
+ import { service } from '@ember/service';
16871
16727
 
16872
16728
  export default class ExampleComponent extends Component {
16873
16729
  @service router;
@@ -16917,7 +16773,7 @@ define("@ember/-internals/routing/lib/services/router", ["exports", "@ember/-int
16917
16773
  ```app/components/example.js
16918
16774
  import Component from '@glimmer/component';
16919
16775
  import { action } from '@ember/object';
16920
- import { inject as service } from '@ember/service';
16776
+ import { service } from '@ember/service';
16921
16777
  export default class extends Component {
16922
16778
  @service router;
16923
16779
  @action
@@ -17011,7 +16867,7 @@ define("@ember/-internals/routing/lib/services/router", ["exports", "@ember/-int
17011
16867
  ```
17012
16868
  ```app/components/copy-link.js
17013
16869
  import Component from '@glimmer/component';
17014
- import { inject as service } from '@ember/service';
16870
+ import { service } from '@ember/service';
17015
16871
  import { action } from '@ember/object';
17016
16872
  export default class CopyLinkComponent extends Component {
17017
16873
  @service router;
@@ -17033,7 +16889,7 @@ define("@ember/-internals/routing/lib/services/router", ["exports", "@ember/-int
17033
16889
  ```
17034
16890
  ```app/components/copy-link.js
17035
16891
  import Component from '@glimmer/component';
17036
- import { inject as service } from '@ember/service';
16892
+ import { service } from '@ember/service';
17037
16893
  import { action } from '@ember/object';
17038
16894
  export default class CopyLinkComponent extends Component {
17039
16895
  @service router;
@@ -17062,6 +16918,8 @@ define("@ember/-internals/routing/lib/services/router", ["exports", "@ember/-int
17062
16918
 
17063
16919
 
17064
16920
  urlFor(routeName, ...args) {
16921
+ this._router.setupRouter();
16922
+
17065
16923
  return this._router.generate(routeName, ...args);
17066
16924
  }
17067
16925
  /**
@@ -17071,7 +16929,7 @@ define("@ember/-internals/routing/lib/services/router", ["exports", "@ember/-int
17071
16929
  In the following example, `isActive` will return `true` if the current route is `/posts`.
17072
16930
  ```app/components/posts.js
17073
16931
  import Component from '@glimmer/component';
17074
- import { inject as service } from '@ember/service';
16932
+ import { service } from '@ember/service';
17075
16933
  export default class extends Component {
17076
16934
  @service router;
17077
16935
  displayComments() {
@@ -17083,7 +16941,7 @@ define("@ember/-internals/routing/lib/services/router", ["exports", "@ember/-int
17083
16941
  assuming the post has an id of 1:
17084
16942
  ```app/components/posts.js
17085
16943
  import Component from '@glimmer/component';
17086
- import { inject as service } from '@ember/service';
16944
+ import { service } from '@ember/service';
17087
16945
  export default class extends Component {
17088
16946
  @service router;
17089
16947
  displayComments(post) {
@@ -17162,7 +17020,7 @@ define("@ember/-internals/routing/lib/services/router", ["exports", "@ember/-int
17162
17020
  application before transitioning to it.
17163
17021
  ```
17164
17022
  import Component from '@ember/component';
17165
- import { inject as service } from '@ember/service';
17023
+ import { service } from '@ember/service';
17166
17024
  export default class extends Component {
17167
17025
  @service router;
17168
17026
  path = '/';
@@ -17181,6 +17039,9 @@ define("@ember/-internals/routing/lib/services/router", ["exports", "@ember/-int
17181
17039
 
17182
17040
  recognize(url) {
17183
17041
  (true && !(url.indexOf(this.rootURL) === 0) && (0, _debug.assert)(`You must pass a url that begins with the application's rootURL "${this.rootURL}"`, url.indexOf(this.rootURL) === 0));
17042
+
17043
+ this._router.setupRouter();
17044
+
17184
17045
  var internalURL = cleanURL(url, this.rootURL);
17185
17046
  return this._router._routerMicrolib.recognize(internalURL);
17186
17047
  }
@@ -17198,6 +17059,9 @@ define("@ember/-internals/routing/lib/services/router", ["exports", "@ember/-int
17198
17059
 
17199
17060
  recognizeAndLoad(url) {
17200
17061
  (true && !(url.indexOf(this.rootURL) === 0) && (0, _debug.assert)(`You must pass a url that begins with the application's rootURL "${this.rootURL}"`, url.indexOf(this.rootURL) === 0));
17062
+
17063
+ this._router.setupRouter();
17064
+
17201
17065
  var internalURL = cleanURL(url, this.rootURL);
17202
17066
  return this._router._routerMicrolib.recognizeAndLoad(internalURL);
17203
17067
  }
@@ -17353,7 +17217,7 @@ define("@ember/-internals/routing/lib/services/router", ["exports", "@ember/-int
17353
17217
  Usage example:
17354
17218
  ```app/components/header.js
17355
17219
  import Component from '@glimmer/component';
17356
- import { inject as service } from '@ember/service';
17220
+ import { service } from '@ember/service';
17357
17221
  import { notEmpty } from '@ember/object/computed';
17358
17222
  export default class extends Component {
17359
17223
  @service router;
@@ -18872,6 +18736,7 @@ define("@ember/-internals/routing/lib/system/route", ["exports", "@ember/-intern
18872
18736
  @return {Transition} the transition object associated with this
18873
18737
  attempted transition
18874
18738
  @since 1.0.0
18739
+ @deprecated Use replaceWith from the Router service instead.
18875
18740
  @public
18876
18741
  */
18877
18742
 
@@ -19408,7 +19273,7 @@ define("@ember/-internals/routing/lib/system/route", ["exports", "@ember/-intern
19408
19273
  ```
19409
19274
  ```app/routes/application.js
19410
19275
  import Route from '@ember/routing/route';
19411
- import { inject as service } from '@ember/service';
19276
+ import { service } from '@ember/service';
19412
19277
  export default class ApplicationRoute extends Route {
19413
19278
  @service router
19414
19279
  constructor() {
@@ -20658,7 +20523,14 @@ define("@ember/-internals/routing/lib/system/router", ["exports", "@ember/-inter
20658
20523
  if (!this._toplevelView) {
20659
20524
  var owner = (0, _owner.getOwner)(this);
20660
20525
  var OutletView = owner.factoryFor('view:-outlet');
20661
- this._toplevelView = OutletView.create();
20526
+ var application = owner.lookup('application:main');
20527
+ var environment = owner.lookup('-environment:main');
20528
+ var template = owner.lookup('template:-outlet');
20529
+ this._toplevelView = OutletView.create({
20530
+ environment,
20531
+ template,
20532
+ application
20533
+ });
20662
20534
 
20663
20535
  this._toplevelView.setOutletState(liveRoutes);
20664
20536
 
@@ -21632,48 +21504,6 @@ define("@ember/-internals/routing/lib/system/router", ["exports", "@ember/-inter
21632
21504
  // actually been entered at that point.
21633
21505
  return;
21634
21506
  }
21635
-
21636
- if (_deprecatedFeatures.APP_CTRL_ROUTER_PROPS) {
21637
- if (!('currentPath' in appController)) {
21638
- Object.defineProperty(appController, 'currentPath', {
21639
- get() {
21640
- (true && !(false) && (0, _debug.deprecate)('Accessing `currentPath` on `controller:application` is deprecated, use the `currentPath` property on `service:router` instead.', false, {
21641
- id: 'application-controller.router-properties',
21642
- until: '4.0.0',
21643
- url: 'https://deprecations.emberjs.com/v3.x#toc_application-controller-router-properties',
21644
- for: 'ember-source',
21645
- since: {
21646
- enabled: '3.10.0-beta.1'
21647
- }
21648
- }));
21649
- return (0, _metal.get)(router, 'currentPath');
21650
- }
21651
-
21652
- });
21653
- }
21654
-
21655
- (0, _metal.notifyPropertyChange)(appController, 'currentPath');
21656
-
21657
- if (!('currentRouteName' in appController)) {
21658
- Object.defineProperty(appController, 'currentRouteName', {
21659
- get() {
21660
- (true && !(false) && (0, _debug.deprecate)('Accessing `currentRouteName` on `controller:application` is deprecated, use the `currentRouteName` property on `service:router` instead.', false, {
21661
- id: 'application-controller.router-properties',
21662
- until: '4.0.0',
21663
- url: 'https://deprecations.emberjs.com/v3.x#toc_application-controller-router-properties',
21664
- for: 'ember-source',
21665
- since: {
21666
- enabled: '3.10.0-beta.1'
21667
- }
21668
- }));
21669
- return (0, _metal.get)(router, 'currentRouteName');
21670
- }
21671
-
21672
- });
21673
- }
21674
-
21675
- (0, _metal.notifyPropertyChange)(appController, 'currentRouteName');
21676
- }
21677
21507
  }
21678
21508
 
21679
21509
  function didBeginTransition(transition, router) {
@@ -26683,24 +26513,6 @@ define("@ember/-internals/runtime/lib/system/core_object", ["exports", "@ember/-
26683
26513
  if (properties !== undefined) {
26684
26514
  (true && !(typeof properties === 'object' && properties !== null) && (0, _debug.assert)('EmberObject.create only accepts objects.', typeof properties === 'object' && properties !== null));
26685
26515
  (true && !(!(properties instanceof _metal.Mixin)) && (0, _debug.assert)('EmberObject.create no longer supports mixing in other ' + 'definitions, use .extend & .create separately instead.', !(properties instanceof _metal.Mixin)));
26686
- var injectedProperties;
26687
-
26688
- if (true
26689
- /* DEBUG */
26690
- ) {
26691
- // these are all the implicit injectinos
26692
- injectedProperties = [];
26693
- var factory = (0, _container.getFactoryFor)(obj);
26694
-
26695
- if (factory) {
26696
- for (var injection in factory.injections) {
26697
- if (factory.injections[injection] === properties[injection]) {
26698
- injectedProperties.push(injection);
26699
- }
26700
- }
26701
- }
26702
- }
26703
-
26704
26516
  var concatenatedProperties = obj.concatenatedProperties;
26705
26517
  var mergedProperties = obj.mergedProperties;
26706
26518
  var hasConcatenatedProps = concatenatedProperties !== undefined && concatenatedProperties.length > 0;
@@ -26734,26 +26546,6 @@ define("@ember/-internals/runtime/lib/system/core_object", ["exports", "@ember/-
26734
26546
  }
26735
26547
 
26736
26548
  if (isDescriptor) {
26737
- if (true
26738
- /* DEBUG */
26739
- && injectedProperties.indexOf(keyName) !== -1) {
26740
- // need to check if implicit injection owner.inject('component:my-component', 'foo', 'service:bar') does not match explicit injection @service foo
26741
- // implicit injection takes precedence so need to tell user to rename property on obj
26742
- var isInjectedProperty = _metal.DEBUG_INJECTION_FUNCTIONS.has(possibleDesc._getter);
26743
-
26744
- if (isInjectedProperty && value !== possibleDesc.get(obj, keyName)) {
26745
- implicitInjectionDeprecation(keyName, `You have explicitly defined a service injection for the '${keyName}' property on ${(0, _utils.inspect)(obj)}. However, a different service or value was injected via implicit injections which overrode your explicit injection. Implicit injections have been deprecated, and will be removed in the near future. In order to prevent breakage, you should inject the same value explicitly that is currently being injected implicitly.`);
26746
- } else if (possibleDesc instanceof _metal.TrackedDescriptor) {
26747
- var descValue = possibleDesc.get(obj, keyName);
26748
-
26749
- if (value !== descValue) {
26750
- implicitInjectionDeprecation(keyName, `A value was injected implicitly on the '${keyName}' tracked property of an instance of ${(0, _utils.inspect)(obj)}, overwriting the original value which was ${(0, _utils.inspect)(descValue)}. Implicit injection is now deprecated, please add an explicit injection for this value. If the injected value is a service, consider using the @service decorator.`);
26751
- }
26752
- } else if (possibleDesc._setter === undefined) {
26753
- implicitInjectionDeprecation(keyName, `A value was injected implicitly on the '${keyName}' computed property of an instance of ${(0, _utils.inspect)(obj)}. Implicit injection is now deprecated, please add an explicit injection for this value. If the injected value is a service, consider using the @service decorator.`);
26754
- }
26755
- }
26756
-
26757
26549
  possibleDesc.set(obj, keyName, value);
26758
26550
  } else if (typeof obj.setUnknownProperty === 'function' && !(keyName in obj)) {
26759
26551
  obj.setUnknownProperty(keyName, value);
@@ -26761,30 +26553,7 @@ define("@ember/-internals/runtime/lib/system/core_object", ["exports", "@ember/-
26761
26553
  if (true
26762
26554
  /* DEBUG */
26763
26555
  ) {
26764
- // If deprecation, either 1) an accessor descriptor or 2) class field declaration 3) only an implicit injection
26765
- var desc = (0, _utils.lookupDescriptor)(obj, keyName);
26766
-
26767
- if (injectedProperties.indexOf(keyName) === -1) {
26768
- // Value was not an injected property, define in like normal
26769
- (0, _metal.defineProperty)(obj, keyName, null, value, m); // setup mandatory setter
26770
- } else if (desc) {
26771
- // If the property is a value prop, and it isn't the expected value,
26772
- // then we can warn the user when they attempt to use the value
26773
- if ('value' in desc && desc.value !== value) {
26774
- // implicit injection does not match value descriptor set on object
26775
- defineSelfDestructingImplicitInjectionGetter(obj, keyName, value, `A value was injected implicitly on the '${keyName}' property of an instance of ${(0, _utils.inspect)(obj)}, overwriting the original value which was ${(0, _utils.inspect)(desc.value)}. Implicit injection is now deprecated, please add an explicit injection for this value. If the injected value is a service, consider using the @service decorator.`);
26776
- } else {
26777
- // Otherwise, the value is either a getter/setter, or it is the correct value.
26778
- // If it is a getter/setter, then we don't know what activating it might do - it could
26779
- // be that the user only defined a getter, and so the value will not be set at all. It
26780
- // could be that the setter is a no-op that does nothing. Both of these are valid ways
26781
- // to "override" an implicit injection, so we can't really warn here. So, assign the
26782
- // value like we would normally.
26783
- obj[keyName] = value;
26784
- }
26785
- } else {
26786
- defineSelfDestructingImplicitInjectionGetter(obj, keyName, value, `A value was injected implicitly on the '${keyName}' property of an instance of ${(0, _utils.inspect)(obj)}. Implicit injection is now deprecated, please add an explicit injection for this value. If the injected value is a service, consider using the @service decorator.`);
26787
- }
26556
+ (0, _metal.defineProperty)(obj, keyName, null, value, m); // setup mandatory setter
26788
26557
  } else {
26789
26558
  obj[keyName] = value;
26790
26559
  }
@@ -26811,23 +26580,6 @@ define("@ember/-internals/runtime/lib/system/core_object", ["exports", "@ember/-
26811
26580
 
26812
26581
  (0, _metal.sendEvent)(obj, 'init', undefined, undefined, undefined, m);
26813
26582
  }
26814
-
26815
- function defineSelfDestructingImplicitInjectionGetter(obj, keyName, value, message) {
26816
- Object.defineProperty(obj, keyName, {
26817
- configurable: true,
26818
- enumerable: true,
26819
-
26820
- get() {
26821
- // only want to deprecate on first access so we make this self destructing
26822
- Object.defineProperty(obj, keyName, {
26823
- value
26824
- });
26825
- implicitInjectionDeprecation(keyName, message);
26826
- return value;
26827
- }
26828
-
26829
- });
26830
- }
26831
26583
  /**
26832
26584
  `CoreObject` is the base class for all Ember constructs. It establishes a
26833
26585
  class system based on Ember's Mixin system, and provides the basis for the
@@ -27653,18 +27405,6 @@ define("@ember/-internals/runtime/lib/system/core_object", ["exports", "@ember/-
27653
27405
  };
27654
27406
  }
27655
27407
 
27656
- function implicitInjectionDeprecation(keyName, msg = null) {
27657
- (true && !(false) && (0, _debug.deprecate)(msg, false, {
27658
- id: 'implicit-injections',
27659
- until: '4.0.0',
27660
- url: 'https://deprecations.emberjs.com/v3.x#toc_implicit-injections',
27661
- for: 'ember-source',
27662
- since: {
27663
- enabled: '3.26.0'
27664
- }
27665
- }));
27666
- }
27667
-
27668
27408
  var _default = CoreObject;
27669
27409
  _exports.default = _default;
27670
27410
  });
@@ -28904,24 +28644,12 @@ define("@ember/-internals/utils/index", ["exports", "@glimmer/util", "@ember/deb
28904
28644
  */
28905
28645
 
28906
28646
  });
28907
- define("@ember/-internals/views/index", ["exports", "@ember/-internals/views/lib/system/jquery", "@ember/-internals/views/lib/system/utils", "@ember/-internals/views/lib/system/event_dispatcher", "@ember/-internals/views/lib/component_lookup", "@ember/-internals/views/lib/mixins/text_support", "@ember/-internals/views/lib/views/core_view", "@ember/-internals/views/lib/mixins/class_names_support", "@ember/-internals/views/lib/mixins/child_views_support", "@ember/-internals/views/lib/mixins/view_state_support", "@ember/-internals/views/lib/mixins/view_support", "@ember/-internals/views/lib/mixins/action_support", "@ember/-internals/views/lib/compat/attrs", "@ember/-internals/views/lib/system/action_manager"], function (_exports, _jquery, _utils, _event_dispatcher, _component_lookup, _text_support, _core_view, _class_names_support, _child_views_support, _view_state_support, _view_support, _action_support, _attrs, _action_manager) {
28647
+ define("@ember/-internals/views/index", ["exports", "@ember/-internals/views/lib/system/utils", "@ember/-internals/views/lib/system/event_dispatcher", "@ember/-internals/views/lib/component_lookup", "@ember/-internals/views/lib/mixins/text_support", "@ember/-internals/views/lib/views/core_view", "@ember/-internals/views/lib/mixins/class_names_support", "@ember/-internals/views/lib/mixins/child_views_support", "@ember/-internals/views/lib/mixins/view_state_support", "@ember/-internals/views/lib/mixins/view_support", "@ember/-internals/views/lib/mixins/action_support", "@ember/-internals/views/lib/compat/attrs", "@ember/-internals/views/lib/system/action_manager"], function (_exports, _utils, _event_dispatcher, _component_lookup, _text_support, _core_view, _class_names_support, _child_views_support, _view_state_support, _view_support, _action_support, _attrs, _action_manager) {
28908
28648
  "use strict";
28909
28649
 
28910
28650
  Object.defineProperty(_exports, "__esModule", {
28911
28651
  value: true
28912
28652
  });
28913
- Object.defineProperty(_exports, "jQuery", {
28914
- enumerable: true,
28915
- get: function () {
28916
- return _jquery.jQuery;
28917
- }
28918
- });
28919
- Object.defineProperty(_exports, "jQueryDisabled", {
28920
- enumerable: true,
28921
- get: function () {
28922
- return _jquery.jQueryDisabled;
28923
- }
28924
- });
28925
28653
  Object.defineProperty(_exports, "addChildView", {
28926
28654
  enumerable: true,
28927
28655
  get: function () {
@@ -30088,7 +29816,7 @@ define("@ember/-internals/views/lib/system/action_manager", ["exports"], functio
30088
29816
 
30089
29817
  ActionManager.registeredActions = {};
30090
29818
  });
30091
- define("@ember/-internals/views/lib/system/event_dispatcher", ["exports", "@ember/-internals/owner", "@ember/debug", "@ember/-internals/metal", "@ember/-internals/runtime", "@ember/-internals/views", "@ember/-internals/views/lib/system/action_manager", "@ember/-internals/views/lib/system/utils", "@ember/deprecated-features"], function (_exports, _owner, _debug, _metal, _runtime, _views, _action_manager, _utils, _deprecatedFeatures) {
29819
+ define("@ember/-internals/views/lib/system/event_dispatcher", ["exports", "@ember/-internals/owner", "@ember/debug", "@ember/-internals/metal", "@ember/-internals/runtime", "@ember/-internals/views", "@ember/-internals/views/lib/system/action_manager"], function (_exports, _owner, _debug, _metal, _runtime, _views, _action_manager) {
30092
29820
  "use strict";
30093
29821
 
30094
29822
  Object.defineProperty(_exports, "__esModule", {
@@ -30101,10 +29829,6 @@ define("@ember/-internals/views/lib/system/event_dispatcher", ["exports", "@embe
30101
29829
  */
30102
29830
  var ROOT_ELEMENT_CLASS = 'ember-application';
30103
29831
  var ROOT_ELEMENT_SELECTOR = `.${ROOT_ELEMENT_CLASS}`;
30104
- var EVENT_MAP = {
30105
- mouseenter: 'mouseover',
30106
- mouseleave: 'mouseout'
30107
- };
30108
29832
  /**
30109
29833
  `Ember.EventDispatcher` handles delegating browser events to their
30110
29834
  corresponding `Ember.Views.` For example, when you click on a view,
@@ -30145,7 +29869,7 @@ define("@ember/-internals/views/lib/system/event_dispatcher", ["exports", "@embe
30145
29869
  @type Object
30146
29870
  @private
30147
29871
  */
30148
- events: Object.assign({
29872
+ events: {
30149
29873
  touchstart: 'touchStart',
30150
29874
  touchmove: 'touchMove',
30151
29875
  touchend: 'touchEnd',
@@ -30170,11 +29894,7 @@ define("@ember/-internals/views/lib/system/event_dispatcher", ["exports", "@embe
30170
29894
  dragover: 'dragOver',
30171
29895
  drop: 'drop',
30172
29896
  dragend: 'dragEnd'
30173
- }, _deprecatedFeatures.MOUSE_ENTER_LEAVE_MOVE_EVENTS ? {
30174
- mouseenter: 'mouseEnter',
30175
- mouseleave: 'mouseLeave',
30176
- mousemove: 'mouseMove'
30177
- } : {}),
29897
+ },
30178
29898
 
30179
29899
  /**
30180
29900
  The root DOM element to which event listeners should be attached. Event
@@ -30368,71 +30088,31 @@ define("@ember/-internals/views/lib/system/event_dispatcher", ["exports", "@embe
30368
30088
  }
30369
30089
 
30370
30090
  return result;
30371
- }; // Special handling of events that don't bubble (event delegation does not work).
30372
- // Mimics the way this is handled in jQuery,
30373
- // see https://github.com/jquery/jquery/blob/899c56f6ada26821e8af12d9f35fa039100e838e/src/event.js#L666-L700
30374
-
30375
-
30376
- if (_deprecatedFeatures.MOUSE_ENTER_LEAVE_MOVE_EVENTS && EVENT_MAP[event] !== undefined) {
30377
- var mappedEventType = EVENT_MAP[event];
30378
- var origEventType = event;
30379
-
30380
- var createFakeEvent = (eventType, event) => {
30381
- var fakeEvent = document.createEvent('MouseEvent');
30382
- fakeEvent.initMouseEvent(eventType, false, false, event.view, event.detail, event.screenX, event.screenY, event.clientX, event.clientY, event.ctrlKey, event.altKey, event.shiftKey, event.metaKey, event.button, event.relatedTarget); // fake event.target as we don't dispatch the event
30383
-
30384
- Object.defineProperty(fakeEvent, 'target', {
30385
- value: event.target,
30386
- enumerable: true
30387
- });
30388
- return fakeEvent;
30389
- };
30390
-
30391
- var handleMappedEvent = this._eventHandlers[mappedEventType] = event => {
30392
- var target = event.target;
30393
- var related = event.relatedTarget;
30394
-
30395
- while (target && target.nodeType === 1 && (related === null || related !== target && !(0, _utils.contains)(target, related))) {
30396
- // mouseEnter/Leave don't bubble, so there is no logic to prevent it as with other events
30397
- if ((0, _views.getElementView)(target)) {
30398
- viewHandler(target, createFakeEvent(origEventType, event));
30399
- } else if (target.hasAttribute('data-ember-action')) {
30400
- actionHandler(target, createFakeEvent(origEventType, event));
30401
- } // separate mouseEnter/Leave events are dispatched for each listening element
30402
- // until the element (related) has been reached that the pointing device exited from/to
30403
-
30091
+ };
30404
30092
 
30405
- target = target.parentNode;
30406
- }
30407
- };
30093
+ var handleEvent = this._eventHandlers[event] = event => {
30094
+ var target = event.target;
30408
30095
 
30409
- rootElement.addEventListener(mappedEventType, handleMappedEvent);
30410
- } else {
30411
- var handleEvent = this._eventHandlers[event] = event => {
30412
- var target = event.target;
30413
-
30414
- do {
30415
- if ((0, _views.getElementView)(target)) {
30416
- if (viewHandler(target, event) === false) {
30417
- event.preventDefault();
30418
- event.stopPropagation();
30419
- break;
30420
- } else if (event.cancelBubble === true) {
30421
- break;
30422
- }
30423
- } else if (typeof target.hasAttribute === 'function' && target.hasAttribute('data-ember-action')) {
30424
- if (actionHandler(target, event) === false) {
30425
- break;
30426
- }
30096
+ do {
30097
+ if ((0, _views.getElementView)(target)) {
30098
+ if (viewHandler(target, event) === false) {
30099
+ event.preventDefault();
30100
+ event.stopPropagation();
30101
+ break;
30102
+ } else if (event.cancelBubble === true) {
30103
+ break;
30427
30104
  }
30105
+ } else if (typeof target.hasAttribute === 'function' && target.hasAttribute('data-ember-action')) {
30106
+ if (actionHandler(target, event) === false) {
30107
+ break;
30108
+ }
30109
+ }
30428
30110
 
30429
- target = target.parentNode;
30430
- } while (target && target.nodeType === 1);
30431
- };
30432
-
30433
- rootElement.addEventListener(event, handleEvent);
30434
- }
30111
+ target = target.parentNode;
30112
+ } while (target && target.nodeType === 1);
30113
+ };
30435
30114
 
30115
+ rootElement.addEventListener(event, handleEvent);
30436
30116
  this.lazyEvents.delete(event);
30437
30117
  },
30438
30118
 
@@ -30470,38 +30150,6 @@ define("@ember/-internals/views/lib/system/event_dispatcher", ["exports", "@embe
30470
30150
 
30471
30151
  _exports.default = _default;
30472
30152
  });
30473
- define("@ember/-internals/views/lib/system/jquery", ["exports", "@ember/-internals/environment", "@ember/-internals/browser-environment", "@ember/deprecated-features"], function (_exports, _environment, _browserEnvironment, _deprecatedFeatures) {
30474
- "use strict";
30475
-
30476
- Object.defineProperty(_exports, "__esModule", {
30477
- value: true
30478
- });
30479
- _exports.jQueryDisabled = _exports.jQuery = void 0;
30480
- var jQuery;
30481
- _exports.jQuery = jQuery;
30482
- var jQueryDisabled = !_deprecatedFeatures.JQUERY_INTEGRATION || _environment.ENV._JQUERY_INTEGRATION === false;
30483
- _exports.jQueryDisabled = jQueryDisabled;
30484
-
30485
- if (_deprecatedFeatures.JQUERY_INTEGRATION && _browserEnvironment.hasDOM) {
30486
- _exports.jQuery = jQuery = _environment.context.imports.jQuery;
30487
-
30488
- if (!jQueryDisabled && jQuery) {
30489
- if (jQuery.event.addProp) {
30490
- jQuery.event.addProp('dataTransfer');
30491
- } else {
30492
- // http://www.whatwg.org/specs/web-apps/current-work/multipage/dnd.html#dndevents
30493
- ['dragstart', 'drag', 'dragenter', 'dragleave', 'dragover', 'drop', 'dragend'].forEach(eventName => {
30494
- jQuery.event.fixHooks[eventName] = {
30495
- props: ['dataTransfer']
30496
- };
30497
- });
30498
- }
30499
- } else {
30500
- _exports.jQuery = jQuery = undefined;
30501
- _exports.jQueryDisabled = jQueryDisabled = true;
30502
- }
30503
- }
30504
- });
30505
30153
  define("@ember/-internals/views/lib/system/utils", ["exports", "@ember/-internals/owner", "@ember/-internals/utils", "@ember/debug"], function (_exports, _owner, _utils, _debug) {
30506
30154
  "use strict";
30507
30155
 
@@ -31054,7 +30702,7 @@ define("@ember/application/index", ["exports", "@ember/-internals/owner", "@embe
31054
30702
  }
31055
30703
  });
31056
30704
  });
31057
- define("@ember/application/instance", ["exports", "@ember/-internals/metal", "@ember/-internals/browser-environment", "@ember/-internals/views", "@ember/engine/instance", "@ember/-internals/glimmer"], function (_exports, _metal, environment, _views, _instance, _glimmer) {
30705
+ define("@ember/application/instance", ["exports", "@ember/-internals/metal", "@ember/-internals/browser-environment", "@ember/engine/instance", "@ember/-internals/glimmer"], function (_exports, _metal, environment, _instance, _glimmer) {
31058
30706
  "use strict";
31059
30707
 
31060
30708
  Object.defineProperty(_exports, "__esModule", {
@@ -31111,8 +30759,7 @@ define("@ember/application/instance", ["exports", "@ember/-internals/metal", "@e
31111
30759
 
31112
30760
  /**
31113
30761
  The root DOM element of the Application as an element or a
31114
- [jQuery-compatible selector
31115
- string](http://api.jquery.com/category/selectors/).
30762
+ CSS selector.
31116
30763
  @private
31117
30764
  @property {String|DOMElement} rootElement
31118
30765
  */
@@ -31362,18 +31009,6 @@ define("@ember/application/instance", ["exports", "@ember/-internals/metal", "@e
31362
31009
 
31363
31010
  class BootOptions {
31364
31011
  constructor(options = {}) {
31365
- /**
31366
- Provide a specific instance of jQuery. This is useful in conjunction with
31367
- the `document` option, as it allows you to use a copy of `jQuery` that is
31368
- appropriately bound to the foreign `document` (e.g. a jsdom).
31369
- This is highly experimental and support very incomplete at the moment.
31370
- @property jQuery
31371
- @type Object
31372
- @default auto-detected
31373
- @private
31374
- */
31375
- this.jQuery = _views.jQuery; // This default is overridable below
31376
-
31377
31012
  /**
31378
31013
  Interactive mode: whether we need to set up event delegation and invoke
31379
31014
  lifecycle callbacks on Components.
@@ -31382,7 +31017,6 @@ define("@ember/application/instance", ["exports", "@ember/-internals/metal", "@e
31382
31017
  @default auto-detected
31383
31018
  @private
31384
31019
  */
31385
-
31386
31020
  this.isInteractive = environment.hasDOM; // This default is overridable below
31387
31021
 
31388
31022
  /**
@@ -31419,7 +31053,6 @@ define("@ember/application/instance", ["exports", "@ember/-internals/metal", "@e
31419
31053
  }
31420
31054
 
31421
31055
  if (!this.isBrowser) {
31422
- this.jQuery = null;
31423
31056
  this.isInteractive = false;
31424
31057
  this.location = 'none';
31425
31058
  }
@@ -31442,7 +31075,6 @@ define("@ember/application/instance", ["exports", "@ember/-internals/metal", "@e
31442
31075
  }
31443
31076
 
31444
31077
  if (!this.shouldRender) {
31445
- this.jQuery = null;
31446
31078
  this.isInteractive = false;
31447
31079
  }
31448
31080
  /**
@@ -31507,10 +31139,6 @@ define("@ember/application/instance", ["exports", "@ember/-internals/metal", "@e
31507
31139
  this.location = options.location;
31508
31140
  }
31509
31141
 
31510
- if (options.jQuery !== undefined) {
31511
- this.jQuery = options.jQuery;
31512
- }
31513
-
31514
31142
  if (options.isInteractive !== undefined) {
31515
31143
  this.isInteractive = Boolean(options.isInteractive);
31516
31144
  }
@@ -31532,7 +31160,7 @@ define("@ember/application/instance", ["exports", "@ember/-internals/metal", "@e
31532
31160
  var _default = ApplicationInstance;
31533
31161
  _exports.default = _default;
31534
31162
  });
31535
- define("@ember/application/lib/application", ["exports", "@ember/-internals/utils", "@ember/-internals/environment", "@ember/-internals/browser-environment", "@ember/debug", "@ember/runloop", "@ember/-internals/metal", "@ember/application/lib/lazy_load", "@ember/-internals/runtime", "@ember/-internals/views", "@ember/-internals/routing", "@ember/application/instance", "@ember/engine", "@ember/-internals/container", "@ember/-internals/glimmer", "@ember/deprecated-features"], function (_exports, _utils, _environment, _browserEnvironment, _debug, _runloop, _metal, _lazy_load, _runtime, _views, _routing, _instance, _engine, _container, _glimmer, _deprecatedFeatures) {
31163
+ define("@ember/application/lib/application", ["exports", "@ember/-internals/utils", "@ember/-internals/environment", "@ember/-internals/browser-environment", "@ember/debug", "@ember/runloop", "@ember/-internals/metal", "@ember/application/lib/lazy_load", "@ember/-internals/runtime", "@ember/-internals/views", "@ember/-internals/routing", "@ember/application/instance", "@ember/engine", "@ember/-internals/container", "@ember/-internals/glimmer"], function (_exports, _utils, _environment, _browserEnvironment, _debug, _runloop, _metal, _lazy_load, _runtime, _views, _routing, _instance, _engine, _container, _glimmer) {
31536
31164
  "use strict";
31537
31165
 
31538
31166
  Object.defineProperty(_exports, "__esModule", {
@@ -31543,7 +31171,7 @@ define("@ember/application/lib/application", ["exports", "@ember/-internals/util
31543
31171
  /**
31544
31172
  @module @ember/application
31545
31173
  */
31546
- var librariesRegistered = false;
31174
+
31547
31175
  /**
31548
31176
  An instance of `Application` is the starting point for every Ember
31549
31177
  application. It instantiates, initializes and coordinates the
@@ -31697,7 +31325,6 @@ define("@ember/application/lib/application", ["exports", "@ember/-internals/util
31697
31325
  @uses RegistryProxyMixin
31698
31326
  @public
31699
31327
  */
31700
-
31701
31328
  var Application = _engine.default.extend({
31702
31329
  /**
31703
31330
  The root DOM element of the Application. This can be specified as an
@@ -31841,12 +31468,6 @@ define("@ember/application/lib/application", ["exports", "@ember/-internals/util
31841
31468
  // eslint-disable-line no-unused-vars
31842
31469
  this._super(...arguments);
31843
31470
 
31844
- if (!this.$) {
31845
- this.$ = _views.jQuery;
31846
- }
31847
-
31848
- registerLibraries();
31849
-
31850
31471
  if (true
31851
31472
  /* DEBUG */
31852
31473
  ) {
@@ -32391,7 +32012,6 @@ define("@ember/application/lib/application", ["exports", "@ember/-internals/util
32391
32012
  } else { // node
32392
32013
  application.register('service:network', NodeNetworkService);
32393
32014
  }
32394
- application.inject('route', 'network', 'service:network');
32395
32015
  };
32396
32016
  export default {
32397
32017
  name: 'network-service',
@@ -32400,11 +32020,13 @@ define("@ember/application/lib/application", ["exports", "@ember/-internals/util
32400
32020
  ```
32401
32021
  ```app/routes/post.js
32402
32022
  import Route from '@ember/routing/route';
32023
+ import { service } from '@ember/service';
32403
32024
  // An example of how the (hypothetical) service is used in routes.
32404
- export default Route.extend({
32405
- model(params) {
32025
+ export default class IndexRoute extends Route {
32026
+ @service network;
32027
+ model(params) {
32406
32028
  return this.network.fetch(`/api/posts/${params.post_id}.json`);
32407
- },
32029
+ }
32408
32030
  afterModel(post) {
32409
32031
  if (post.isExternalContent) {
32410
32032
  return this.network.fetch(`/api/external/?url=${post.externalURL}`);
@@ -32412,7 +32034,7 @@ define("@ember/application/lib/application", ["exports", "@ember/-internals/util
32412
32034
  return post;
32413
32035
  }
32414
32036
  }
32415
- });
32037
+ }
32416
32038
  ```
32417
32039
  ```javascript
32418
32040
  // Finally, put all the pieces together
@@ -32500,16 +32122,6 @@ define("@ember/application/lib/application", ["exports", "@ember/-internals/util
32500
32122
  registry.register('service:router', _routing.RouterService);
32501
32123
  }
32502
32124
 
32503
- function registerLibraries() {
32504
- if (!librariesRegistered) {
32505
- librariesRegistered = true;
32506
-
32507
- if (_deprecatedFeatures.JQUERY_INTEGRATION && _browserEnvironment.hasDOM && !_views.jQueryDisabled) {
32508
- _metal.libraries.registerCoreLibrary('jQuery', (0, _views.jQuery)().jquery);
32509
- }
32510
- }
32511
- }
32512
-
32513
32125
  var _default = Application;
32514
32126
  _exports.default = _default;
32515
32127
  });
@@ -32672,7 +32284,7 @@ define("@ember/canary-features/index", ["exports", "@ember/-internals/environmen
32672
32284
  value: true
32673
32285
  });
32674
32286
  _exports.isEnabled = isEnabled;
32675
- _exports.EMBER_ROUTING_ROUTER_SERVICE_REFRESH = _exports.EMBER_DYNAMIC_HELPERS_AND_MODIFIERS = _exports.EMBER_STRICT_MODE = _exports.EMBER_MODERNIZED_BUILT_IN_COMPONENTS = _exports.EMBER_GLIMMER_INVOKE_HELPER = _exports.EMBER_GLIMMER_HELPER_MANAGER = _exports.EMBER_NAMED_BLOCKS = _exports.EMBER_IMPROVED_INSTRUMENTATION = _exports.EMBER_LIBRARIES_ISREGISTERED = _exports.FEATURES = _exports.DEFAULT_FEATURES = void 0;
32287
+ _exports.EMBER_CACHED = _exports.EMBER_ROUTING_ROUTER_SERVICE_REFRESH = _exports.EMBER_DYNAMIC_HELPERS_AND_MODIFIERS = _exports.EMBER_STRICT_MODE = _exports.EMBER_MODERNIZED_BUILT_IN_COMPONENTS = _exports.EMBER_GLIMMER_INVOKE_HELPER = _exports.EMBER_GLIMMER_HELPER_MANAGER = _exports.EMBER_NAMED_BLOCKS = _exports.EMBER_IMPROVED_INSTRUMENTATION = _exports.EMBER_LIBRARIES_ISREGISTERED = _exports.FEATURES = _exports.DEFAULT_FEATURES = void 0;
32676
32288
 
32677
32289
  /**
32678
32290
  Set `EmberENV.FEATURES` in your application's `config/environment.js` file
@@ -32693,7 +32305,8 @@ define("@ember/canary-features/index", ["exports", "@ember/-internals/environmen
32693
32305
  EMBER_MODERNIZED_BUILT_IN_COMPONENTS: true,
32694
32306
  EMBER_STRICT_MODE: true,
32695
32307
  EMBER_DYNAMIC_HELPERS_AND_MODIFIERS: true,
32696
- EMBER_ROUTING_ROUTER_SERVICE_REFRESH: null
32308
+ EMBER_ROUTING_ROUTER_SERVICE_REFRESH: null,
32309
+ EMBER_CACHED: null
32697
32310
  };
32698
32311
  /**
32699
32312
  The hash of enabled Canary features. Add to this, any canary features
@@ -32763,6 +32376,8 @@ define("@ember/canary-features/index", ["exports", "@ember/-internals/environmen
32763
32376
  _exports.EMBER_DYNAMIC_HELPERS_AND_MODIFIERS = EMBER_DYNAMIC_HELPERS_AND_MODIFIERS;
32764
32377
  var EMBER_ROUTING_ROUTER_SERVICE_REFRESH = featureValue(FEATURES.EMBER_ROUTING_ROUTER_SERVICE_REFRESH);
32765
32378
  _exports.EMBER_ROUTING_ROUTER_SERVICE_REFRESH = EMBER_ROUTING_ROUTER_SERVICE_REFRESH;
32379
+ var EMBER_CACHED = featureValue(FEATURES.EMBER_CACHED);
32380
+ _exports.EMBER_CACHED = EMBER_CACHED;
32766
32381
  });
32767
32382
  define("@ember/component/checkbox", ["exports", "@ember/debug", "@ember/-internals/glimmer"], function (_exports, _debug, _glimmer) {
32768
32383
  "use strict";
@@ -33792,19 +33407,13 @@ define("@ember/deprecated-features/index", ["exports"], function (_exports) {
33792
33407
  Object.defineProperty(_exports, "__esModule", {
33793
33408
  value: true
33794
33409
  });
33795
- _exports.ASSIGN = _exports.MOUSE_ENTER_LEAVE_MOVE_EVENTS = _exports.APP_CTRL_ROUTER_PROPS = _exports.JQUERY_INTEGRATION = _exports.ROUTER_EVENTS = void 0;
33410
+ _exports.ASSIGN = _exports.ROUTER_EVENTS = void 0;
33796
33411
 
33797
33412
  /* eslint-disable no-implicit-coercion */
33798
33413
  // These versions should be the version that the deprecation was _introduced_,
33799
33414
  // not the version that the feature will be removed.
33800
33415
  var ROUTER_EVENTS = !!'4.0.0';
33801
33416
  _exports.ROUTER_EVENTS = ROUTER_EVENTS;
33802
- var JQUERY_INTEGRATION = !!'3.9.0';
33803
- _exports.JQUERY_INTEGRATION = JQUERY_INTEGRATION;
33804
- var APP_CTRL_ROUTER_PROPS = !!'3.10.0-beta.1';
33805
- _exports.APP_CTRL_ROUTER_PROPS = APP_CTRL_ROUTER_PROPS;
33806
- var MOUSE_ENTER_LEAVE_MOVE_EVENTS = !!'3.13.0-beta.1';
33807
- _exports.MOUSE_ENTER_LEAVE_MOVE_EVENTS = MOUSE_ENTER_LEAVE_MOVE_EVENTS;
33808
33417
  var ASSIGN = !!'4.0.0-beta.1';
33809
33418
  _exports.ASSIGN = ASSIGN;
33810
33419
  });
@@ -34516,17 +34125,13 @@ define("@ember/engine/index", ["exports", "@ember/engine/lib/engine-parent", "@e
34516
34125
  });
34517
34126
  registry.register('controller:basic', _controller.default, {
34518
34127
  instantiate: false
34519
- });
34520
- registry.injection('renderer', '_viewRegistry', '-view-registry:main');
34521
- registry.injection('view:-outlet', 'namespace', 'application:main'); // Register the routing service...
34128
+ }); // Register the routing service...
34522
34129
 
34523
34130
  registry.register('service:-routing', _routing.RoutingService); // DEBUGGING
34524
34131
 
34525
34132
  registry.register('resolver-for-debugging:main', registry.resolver, {
34526
34133
  instantiate: false
34527
34134
  });
34528
- registry.injection('container-debug-adapter:main', 'resolver', 'resolver-for-debugging:main'); // Custom resolver authors may want to register their own ContainerDebugAdapter with this key
34529
-
34530
34135
  registry.register('container-debug-adapter:main', _extensionSupport.ContainerDebugAdapter);
34531
34136
  registry.register('component-lookup:main', _views.ComponentLookup);
34532
34137
  }
@@ -34694,8 +34299,6 @@ define("@ember/engine/instance", ["exports", "@ember/-internals/runtime", "@embe
34694
34299
  singletons.forEach(key => this.register(key, parent.lookup(key), {
34695
34300
  instantiate: false
34696
34301
  }));
34697
- this.inject('view', '_environment', '-environment:main');
34698
- this.inject('route', '_environment', '-environment:main');
34699
34302
  }
34700
34303
 
34701
34304
  });
@@ -34712,8 +34315,6 @@ define("@ember/engine/instance", ["exports", "@ember/-internals/runtime", "@embe
34712
34315
  if (!options) {
34713
34316
  return;
34714
34317
  }
34715
-
34716
- registry.injection('view', '_environment', '-environment:main');
34717
34318
  }
34718
34319
 
34719
34320
  });
@@ -35830,25 +35431,6 @@ define("@ember/object/lib/computed/computed_macros", ["exports", "@ember/-intern
35830
35431
  todoList.isDone; // true
35831
35432
  ```
35832
35433
 
35833
- Classic Class Example:
35834
-
35835
- ```javascript
35836
- import EmberObject, { set } from '@ember/object';
35837
- import { empty } from '@ember/object/computed';
35838
-
35839
- let ToDoList = EmberObject.extend({
35840
- isDone: empty('todos')
35841
- });
35842
-
35843
- let todoList = ToDoList.create({
35844
- todos: ['Unit Test', 'Documentation', 'Release']
35845
- });
35846
-
35847
- todoList.isDone; // false
35848
- set(todoList, 'todos', []);
35849
- todoList.isDone; // true
35850
- ```
35851
-
35852
35434
  @since 1.6.0
35853
35435
  @method empty
35854
35436
  @static
@@ -35895,25 +35477,6 @@ define("@ember/object/lib/computed/computed_macros", ["exports", "@ember/-intern
35895
35477
  hamster.hasStuff; // false
35896
35478
  ```
35897
35479
 
35898
- Classic Class Example:
35899
-
35900
- ```javascript
35901
- import EmberObject, { set } from '@ember/object';
35902
- import { notEmpty } from '@ember/object/computed';
35903
-
35904
- let Hamster = EmberObject.extend({
35905
- hasStuff: notEmpty('backpack')
35906
- });
35907
-
35908
- let hamster = Hamster.create({
35909
- backpack: ['Food', 'Sleeping Bag', 'Tent']
35910
- });
35911
-
35912
- hamster.hasStuff; // true
35913
- set(hamster, 'backpack', []);
35914
- hamster.hasStuff; // false
35915
- ```
35916
-
35917
35480
  @method notEmpty
35918
35481
  @static
35919
35482
  @for @ember/object/computed
@@ -35954,27 +35517,6 @@ define("@ember/object/lib/computed/computed_macros", ["exports", "@ember/-intern
35954
35517
  hamster.isHungry; // true
35955
35518
  ```
35956
35519
 
35957
- Classic Class Example:
35958
-
35959
- ```javascript
35960
- import EmberObject, { set } from '@ember/object';
35961
- import { none } from '@ember/object/computed';
35962
-
35963
- let Hamster = EmberObject.extend({
35964
- isHungry: none('food')
35965
- });
35966
-
35967
- let hamster = Hamster.create();
35968
-
35969
- hamster.isHungry; // true
35970
-
35971
- set(hamster, 'food', 'Banana');
35972
- hamster.isHungry; // false
35973
-
35974
- set(hamster, 'food', null);
35975
- hamster.isHungry; // true
35976
- ```
35977
-
35978
35520
  @method none
35979
35521
  @static
35980
35522
  @for @ember/object/computed
@@ -36014,25 +35556,6 @@ define("@ember/object/lib/computed/computed_macros", ["exports", "@ember/-intern
36014
35556
  user.isAnonymous; // false
36015
35557
  ```
36016
35558
 
36017
- Classic Class Example:
36018
-
36019
- ```javascript
36020
- import EmberObject, { set } from '@ember/object';
36021
- import { not } from '@ember/object/computed';
36022
-
36023
- let User = EmberObject.extend({
36024
- loggedIn: false,
36025
-
36026
- isAnonymous: not('loggedIn')
36027
- });
36028
-
36029
- let user = User.create();
36030
-
36031
- user.isAnonymous; // true
36032
- set(user, 'loggedIn', true);
36033
- user.isAnonymous; // false
36034
- ```
36035
-
36036
35559
  @method not
36037
35560
  @static
36038
35561
  @for @ember/object/computed
@@ -36078,31 +35601,6 @@ define("@ember/object/lib/computed/computed_macros", ["exports", "@ember/-intern
36078
35601
  hamster.hasBananas; // false
36079
35602
  ```
36080
35603
 
36081
- Classic Class Example:
36082
-
36083
- ```javascript
36084
- import EmberObject, { set } from '@ember/object';
36085
- import { bool } from '@ember/object/computed';
36086
-
36087
-
36088
- let Hamster = EmberObject.extend({
36089
- hasBananas: bool('numBananas')
36090
- });
36091
-
36092
- let hamster = Hamster.create();
36093
-
36094
- hamster.hasBananas; // false
36095
-
36096
- set(hamster, 'numBananas', 0);
36097
- hamster.hasBananas; // false
36098
-
36099
- set(hamster, 'numBananas', 1);
36100
- hamster.hasBananas; // true
36101
-
36102
- set(hamster, 'numBananas', null);
36103
- hamster.hasBananas; // false
36104
- ```
36105
-
36106
35604
  @method bool
36107
35605
  @static
36108
35606
  @for @ember/object/computed
@@ -36145,27 +35643,6 @@ define("@ember/object/lib/computed/computed_macros", ["exports", "@ember/-intern
36145
35643
  user.hasValidEmail; // true
36146
35644
  ```
36147
35645
 
36148
- Classic Class Example:
36149
-
36150
- ```javascript
36151
- import EmberObject, { set } from '@ember/object';
36152
- import { match } from '@ember/object/computed';
36153
-
36154
- let User = EmberObject.extend({
36155
- hasValidEmail: match('email', /^.+@.+\..+$/)
36156
- });
36157
-
36158
- let user = User.create();
36159
-
36160
- user.hasValidEmail; // false
36161
-
36162
- set(user, 'email', '');
36163
- user.hasValidEmail; // false
36164
-
36165
- set(user, 'email', 'ember_hamster@example.com');
36166
- user.hasValidEmail; // true
36167
- ```
36168
-
36169
35646
  @method match
36170
35647
  @static
36171
35648
  @for @ember/object/computed
@@ -36209,27 +35686,6 @@ define("@ember/object/lib/computed/computed_macros", ["exports", "@ember/-intern
36209
35686
  hamster.satisfied; // false
36210
35687
  ```
36211
35688
 
36212
- Classic Class Example:
36213
-
36214
- ```javascript
36215
- import EmberObject, { set } from '@ember/object';
36216
- import { equal } from '@ember/object/computed';
36217
-
36218
- let Hamster = EmberObject.extend({
36219
- satisfied: equal('percentCarrotsEaten', 100)
36220
- });
36221
-
36222
- let hamster = Hamster.create();
36223
-
36224
- hamster.satisfied; // false
36225
-
36226
- set(hamster, 'percentCarrotsEaten', 100);
36227
- hamster.satisfied; // true
36228
-
36229
- set(hamster, 'percentCarrotsEaten', 50);
36230
- hamster.satisfied; // false
36231
- ```
36232
-
36233
35689
  @method equal
36234
35690
  @static
36235
35691
  @for @ember/object/computed
@@ -36272,27 +35728,6 @@ define("@ember/object/lib/computed/computed_macros", ["exports", "@ember/-intern
36272
35728
  hamster.hasTooManyBananas; // true
36273
35729
  ```
36274
35730
 
36275
- Classic Class Example:
36276
-
36277
- ```javascript
36278
- import EmberObject, { set } from '@ember/object';
36279
- import { gt } from '@ember/object/computed';
36280
-
36281
- let Hamster = EmberObject.extend({
36282
- hasTooManyBananas: gt('numBananas', 10)
36283
- });
36284
-
36285
- let hamster = Hamster.create();
36286
-
36287
- hamster.hasTooManyBananas; // false
36288
-
36289
- set(hamster, 'numBananas', 3);
36290
- hamster.hasTooManyBananas; // false
36291
-
36292
- set(hamster, 'numBananas', 11);
36293
- hamster.hasTooManyBananas; // true
36294
- ```
36295
-
36296
35731
  @method gt
36297
35732
  @static
36298
35733
  @for @ember/object/computed
@@ -36335,27 +35770,6 @@ define("@ember/object/lib/computed/computed_macros", ["exports", "@ember/-intern
36335
35770
  hamster.hasTooManyBananas; // true
36336
35771
  ```
36337
35772
 
36338
- Classic Class Example:
36339
-
36340
- ```javascript
36341
- import EmberObject, { set } from '@ember/object';
36342
- import { gte } from '@ember/object/computed';
36343
-
36344
- let Hamster = EmberObject.extend({
36345
- hasTooManyBananas: gte('numBananas', 10)
36346
- });
36347
-
36348
- let hamster = Hamster.create();
36349
-
36350
- hamster.hasTooManyBananas; // false
36351
-
36352
- set(hamster, 'numBananas', 3);
36353
- hamster.hasTooManyBananas; // false
36354
-
36355
- set(hamster, 'numBananas', 10);
36356
- hamster.hasTooManyBananas; // true
36357
- ```
36358
-
36359
35773
  @method gte
36360
35774
  @static
36361
35775
  @for @ember/object/computed
@@ -36398,27 +35812,6 @@ define("@ember/object/lib/computed/computed_macros", ["exports", "@ember/-intern
36398
35812
  hamster.needsMoreBananas; // true
36399
35813
  ```
36400
35814
 
36401
- Classic Class Example:
36402
-
36403
- ```javascript
36404
- import EmberObject, { set } from '@ember/object';
36405
- import { lt } from '@ember/object/computed';
36406
-
36407
- let Hamster = EmberObject.extend({
36408
- needsMoreBananas: lt('numBananas', 3)
36409
- });
36410
-
36411
- let hamster = Hamster.create();
36412
-
36413
- hamster.needsMoreBananas; // true
36414
-
36415
- set(hamster, 'numBananas', 3);
36416
- hamster.needsMoreBananas; // false
36417
-
36418
- set(hamster, 'numBananas', 2);
36419
- hamster.needsMoreBananas; // true
36420
- ```
36421
-
36422
35815
  @method lt
36423
35816
  @static
36424
35817
  @for @ember/object/computed
@@ -36461,27 +35854,6 @@ define("@ember/object/lib/computed/computed_macros", ["exports", "@ember/-intern
36461
35854
  hamster.needsMoreBananas; // true
36462
35855
  ```
36463
35856
 
36464
- Classic Class Example:
36465
-
36466
- ```javascript
36467
- import EmberObject, { set } from '@ember/object';
36468
- import { lte } from '@ember/object/computed';
36469
-
36470
- let Hamster = EmberObject.extend({
36471
- needsMoreBananas: lte('numBananas', 3)
36472
- });
36473
-
36474
- let hamster = Hamster.create();
36475
-
36476
- hamster.needsMoreBananas; // true
36477
-
36478
- set(hamster, 'numBananas', 5);
36479
- hamster.needsMoreBananas; // false
36480
-
36481
- set(hamster, 'numBananas', 3);
36482
- hamster.needsMoreBananas; // true
36483
- ```
36484
-
36485
35857
  @method lte
36486
35858
  @static
36487
35859
  @for @ember/object/computed
@@ -36535,34 +35907,6 @@ define("@ember/object/lib/computed/computed_macros", ["exports", "@ember/-intern
36535
35907
  tomster.readyForHike; // null
36536
35908
  ```
36537
35909
 
36538
- Classic Class Example:
36539
-
36540
- ```javascript
36541
- import EmberObject, { set } from '@ember/object';
36542
- import { and } from '@ember/object/computed';
36543
-
36544
- let Hamster = EmberObject.extend({
36545
- readyForCamp: and('hasTent', 'hasBackpack'),
36546
- readyForHike: and('hasWalkingStick', 'hasBackpack')
36547
- });
36548
-
36549
- let tomster = Hamster.create();
36550
-
36551
- tomster.readyForCamp; // false
36552
-
36553
- set(tomster, 'hasTent', true);
36554
- tomster.readyForCamp; // false
36555
-
36556
- set(tomster, 'hasBackpack', true);
36557
- tomster.readyForCamp; // true
36558
-
36559
- set(tomster, 'hasBackpack', 'Yes');
36560
- tomster.readyForCamp; // 'Yes'
36561
-
36562
- set(tomster, 'hasWalkingStick', null);
36563
- tomster.readyForHike; // null
36564
- ```
36565
-
36566
35910
  @method and
36567
35911
  @static
36568
35912
  @for @ember/object/computed
@@ -36607,31 +35951,6 @@ define("@ember/object/lib/computed/computed_macros", ["exports", "@ember/-intern
36607
35951
  tomster.readyForBeach; // 'Check'
36608
35952
  ```
36609
35953
 
36610
- Classic Class Example:
36611
-
36612
- ```javascript
36613
- import EmberObject, { set } from '@ember/object';
36614
- import { or } from '@ember/object/computed';
36615
-
36616
- let Hamster = EmberObject.extend({
36617
- readyForRain: or('hasJacket', 'hasUmbrella'),
36618
- readyForBeach: or('hasSunscreen', 'hasUmbrella')
36619
- });
36620
-
36621
- let tomster = Hamster.create();
36622
-
36623
- tomster.readyForRain; // undefined
36624
-
36625
- set(tomster, 'hasUmbrella', true);
36626
- tomster.readyForRain; // true
36627
-
36628
- set(tomster, 'hasJacket', 'Yes');
36629
- tomster.readyForRain; // 'Yes'
36630
-
36631
- set(tomster, 'hasSunscreen', 'Check');
36632
- tomster.readyForBeach; // 'Check'
36633
- ```
36634
-
36635
35954
  @method or
36636
35955
  @static
36637
35956
  @for @ember/object/computed
@@ -36669,27 +35988,6 @@ define("@ember/object/lib/computed/computed_macros", ["exports", "@ember/-intern
36669
35988
  alex.name; // '@machty'
36670
35989
  ```
36671
35990
 
36672
- Classic Class Example:
36673
-
36674
- ```javascript
36675
- import EmberObject, { set } from '@ember/object';
36676
- import { alias } from '@ember/object/computed';
36677
-
36678
- let Person = EmberObject.extend({
36679
- name: 'Alex Matchneer',
36680
-
36681
- nomen: alias('name')
36682
- });
36683
-
36684
- let alex = Person.create();
36685
-
36686
- alex.nomen; // 'Alex Matchneer'
36687
- alex.name; // 'Alex Matchneer'
36688
-
36689
- set(alex, 'nomen', '@machty');
36690
- alex.name; // '@machty'
36691
- ```
36692
-
36693
35991
  @method alias
36694
35992
  @static
36695
35993
  @for @ember/object/computed
@@ -36730,31 +36028,6 @@ define("@ember/object/lib/computed/computed_macros", ["exports", "@ember/-intern
36730
36028
  teddy.nickName; // 'TeddyBear'
36731
36029
  ```
36732
36030
 
36733
- Classic Class Example:
36734
-
36735
- ```javascript
36736
- import EmberObject, { set } from '@ember/object';
36737
- import { oneWay } from '@ember/object/computed';
36738
-
36739
- let User = EmberObject.extend({
36740
- firstName: null,
36741
- lastName: null,
36742
-
36743
- nickName: oneWay('firstName')
36744
- });
36745
-
36746
- let teddy = User.create({
36747
- firstName: 'Teddy',
36748
- lastName: 'Zeenny'
36749
- });
36750
-
36751
- teddy.nickName; // 'Teddy'
36752
-
36753
- set(teddy, 'nickName', 'TeddyBear'); // 'TeddyBear'
36754
- teddy.firstName; // 'Teddy'
36755
- teddy.nickName; // 'TeddyBear'
36756
- ```
36757
-
36758
36031
  @method oneWay
36759
36032
  @static
36760
36033
  @for @ember/object/computed
@@ -36816,32 +36089,6 @@ define("@ember/object/lib/computed/computed_macros", ["exports", "@ember/-intern
36816
36089
  teddy.firstName; // 'Teddy'
36817
36090
  ```
36818
36091
 
36819
- Classic Class Example:
36820
-
36821
- ```javascript
36822
- import EmberObject, { set } from '@ember/object';
36823
- import { readOnly } from '@ember/object/computed';
36824
-
36825
- let User = EmberObject.extend({
36826
- firstName: null,
36827
- lastName: null,
36828
-
36829
- nickName: readOnly('firstName')
36830
- });
36831
-
36832
- let teddy = User.create({
36833
- firstName: 'Teddy',
36834
- lastName: 'Zeenny'
36835
- });
36836
-
36837
- teddy.nickName; // 'Teddy'
36838
-
36839
- set(teddy, 'nickName', 'TeddyBear'); // throws Exception
36840
- // throw new EmberError('Cannot Set: nickName on: <User:ember27288>' );`
36841
-
36842
- teddy.firstName; // 'Teddy'
36843
- ```
36844
-
36845
36092
  @method readOnly
36846
36093
  @static
36847
36094
  @for @ember/object/computed
@@ -36882,25 +36129,6 @@ define("@ember/object/lib/computed/computed_macros", ["exports", "@ember/-intern
36882
36129
  hamster.cavendishCount; // 5
36883
36130
  ```
36884
36131
 
36885
- Classic Class Example:
36886
-
36887
- ```javascript
36888
- import EmberObject, { set } from '@ember/object';
36889
- import { deprecatingAlias } from '@ember/object/computed';
36890
-
36891
- let Hamster = EmberObject.extend({
36892
- bananaCount: deprecatingAlias('cavendishCount', {
36893
- id: 'hamster.deprecate-banana',
36894
- until: '3.0.0'
36895
- })
36896
- });
36897
-
36898
- let hamster = Hamster.create();
36899
-
36900
- set(hamster, 'bananaCount', 5); // Prints a deprecation warning.
36901
- hamster.cavendishCount; // 5
36902
- ```
36903
-
36904
36132
  @method deprecatingAlias
36905
36133
  @static
36906
36134
  @for @ember/object/computed
@@ -37017,23 +36245,6 @@ define("@ember/object/lib/computed/reduce_computed_macros", ["exports", "@ember/
37017
36245
  invoice.total; // 13.49
37018
36246
  ```
37019
36247
 
37020
- Classic Class Example:
37021
-
37022
- ```javascript
37023
- import EmberObject from '@ember/object';
37024
- import { sum } from '@ember/object/computed';
37025
-
37026
- let Invoice = EmberObject.extend({
37027
- lineItems: [1.00, 2.50, 9.99],
37028
-
37029
- total: sum('lineItems')
37030
- })
37031
-
37032
- let invoice = Invoice.create();
37033
-
37034
- invoice.total; // 13.49
37035
- ```
37036
-
37037
36248
  @method sum
37038
36249
  @for @ember/object/computed
37039
36250
  @static
@@ -37091,42 +36302,6 @@ define("@ember/object/lib/computed/reduce_computed_macros", ["exports", "@ember/
37091
36302
  lordByron.maxChildAge; // 8
37092
36303
  ```
37093
36304
 
37094
- Classic Class Example:
37095
-
37096
- ```javascript
37097
- import EmberObject, { set } from '@ember/object';
37098
- import { mapBy, max } from '@ember/object/computed';
37099
-
37100
- let Person = EmberObject.extend({
37101
- childAges: mapBy('children', 'age'),
37102
- maxChildAge: max('childAges')
37103
- });
37104
-
37105
- let lordByron = Person.create({ children: [] });
37106
-
37107
- lordByron.maxChildAge; // -Infinity
37108
-
37109
- set(lordByron, 'children', [
37110
- {
37111
- name: 'Augusta Ada Byron',
37112
- age: 7
37113
- }
37114
- ]);
37115
- lordByron.maxChildAge; // 7
37116
-
37117
- set(lordByron, 'children', [
37118
- ...lordByron.children,
37119
- {
37120
- name: 'Allegra Byron',
37121
- age: 5
37122
- }, {
37123
- name: 'Elizabeth Medora Leigh',
37124
- age: 8
37125
- }
37126
- ]);
37127
- lordByron.maxChildAge; // 8
37128
- ```
37129
-
37130
36305
  If the types of the arguments are not numbers, they will be converted to
37131
36306
  numbers and the type of the return value will always be `Number`. For example,
37132
36307
  the max of a list of Date objects will be the highest timestamp as a `Number`.
@@ -37188,42 +36363,6 @@ define("@ember/object/lib/computed/reduce_computed_macros", ["exports", "@ember/
37188
36363
  lordByron.minChildAge; // 5
37189
36364
  ```
37190
36365
 
37191
- Classic Class Example:
37192
-
37193
- ```javascript
37194
- import EmberObject, { set } from '@ember/object';
37195
- import { mapBy, min } from '@ember/object/computed';
37196
-
37197
- let Person = EmberObject.extend({
37198
- childAges: mapBy('children', 'age'),
37199
- minChildAge: min('childAges')
37200
- });
37201
-
37202
- let lordByron = Person.create({ children: [] });
37203
-
37204
- lordByron.minChildAge; // Infinity
37205
-
37206
- set(lordByron, 'children', [
37207
- {
37208
- name: 'Augusta Ada Byron',
37209
- age: 7
37210
- }
37211
- ]);
37212
- lordByron.minChildAge; // 7
37213
-
37214
- set(lordByron, 'children', [
37215
- ...lordByron.children,
37216
- {
37217
- name: 'Allegra Byron',
37218
- age: 5
37219
- }, {
37220
- name: 'Elizabeth Medora Leigh',
37221
- age: 8
37222
- }
37223
- ]);
37224
- lordByron.minChildAge; // 5
37225
- ```
37226
-
37227
36366
  If the types of the arguments are not numbers, they will be converted to
37228
36367
  numbers and the type of the return value will always be `Number`. For example,
37229
36368
  the min of a list of Date objects will be the lowest timestamp as a `Number`.
@@ -37275,25 +36414,6 @@ define("@ember/object/lib/computed/reduce_computed_macros", ["exports", "@ember/
37275
36414
  hamster.excitingChores; // ['CLEAN!', 'WRITE MORE UNIT TESTS!']
37276
36415
  ```
37277
36416
 
37278
- Classic Class Example:
37279
-
37280
- ```javascript
37281
- import EmberObject from '@ember/object';
37282
- import { map } from '@ember/object/computed';
37283
-
37284
- let Hamster = EmberObject.extend({
37285
- excitingChores: map('chores', function(chore, index) {
37286
- return `${chore.toUpperCase()}!`;
37287
- })
37288
- });
37289
-
37290
- let hamster = Hamster.create({
37291
- chores: ['clean', 'write more unit tests']
37292
- });
37293
-
37294
- hamster.excitingChores; // ['CLEAN!', 'WRITE MORE UNIT TESTS!']
37295
- ```
37296
-
37297
36417
  You can optionally pass an array of additional dependent keys as the second
37298
36418
  parameter to the macro, if your map function relies on any external values:
37299
36419
 
@@ -37392,41 +36512,6 @@ define("@ember/object/lib/computed/reduce_computed_macros", ["exports", "@ember/
37392
36512
  lordByron.childAges; // [7, 5, 8]
37393
36513
  ```
37394
36514
 
37395
- Classic Class Example:
37396
-
37397
- ```javascript
37398
- import EmberObject, { set } from '@ember/object';
37399
- import { mapBy } from '@ember/object/computed';
37400
-
37401
- let Person = EmberObject.extend({
37402
- childAges: mapBy('children', 'age')
37403
- });
37404
-
37405
- let lordByron = Person.create({ children: [] });
37406
-
37407
- lordByron.childAges; // []
37408
-
37409
- set(lordByron, 'children', [
37410
- {
37411
- name: 'Augusta Ada Byron',
37412
- age: 7
37413
- }
37414
- ]);
37415
- lordByron.childAges; // [7]
37416
-
37417
- set(lordByron, 'children', [
37418
- ...lordByron.children,
37419
- {
37420
- name: 'Allegra Byron',
37421
- age: 5
37422
- }, {
37423
- name: 'Elizabeth Medora Leigh',
37424
- age: 8
37425
- }
37426
- ]);
37427
- lordByron.childAges; // [7, 5, 8]
37428
- ```
37429
-
37430
36515
  @method mapBy
37431
36516
  @for @ember/object/computed
37432
36517
  @static
@@ -37481,29 +36566,6 @@ define("@ember/object/lib/computed/reduce_computed_macros", ["exports", "@ember/
37481
36566
  hamster.remainingChores; // [{name: 'write more unit tests', done: false}]
37482
36567
  ```
37483
36568
 
37484
- Classic Class Example:
37485
-
37486
- ```javascript
37487
- import EmberObject from '@ember/object';
37488
- import { filter } from '@ember/object/computed';
37489
-
37490
- let Hamster = EmberObject.extend({
37491
- remainingChores: filter('chores', function(chore, index, array) {
37492
- return !chore.done;
37493
- })
37494
- });
37495
-
37496
- let hamster = Hamster.create({
37497
- chores: [
37498
- { name: 'cook', done: true },
37499
- { name: 'clean', done: true },
37500
- { name: 'write more unit tests', done: false }
37501
- ]
37502
- });
37503
-
37504
- hamster.remainingChores; // [{name: 'write more unit tests', done: false}]
37505
- ```
37506
-
37507
36569
  You can also use `@each.property` in your dependent key, the callback will
37508
36570
  still use the underlying array:
37509
36571
 
@@ -37613,27 +36675,6 @@ define("@ember/object/lib/computed/reduce_computed_macros", ["exports", "@ember/
37613
36675
  hamster.remainingChores; // [{ name: 'write more unit tests', done: false }]
37614
36676
  ```
37615
36677
 
37616
- Classic Class Example:
37617
-
37618
- ```javascript
37619
- import EmberObject from '@ember/object';
37620
- import { filterBy } from '@ember/object/computed';
37621
-
37622
- let Hamster = EmberObject.extend({
37623
- remainingChores: filterBy('chores', 'done', false)
37624
- });
37625
-
37626
- let hamster = Hamster.create({
37627
- chores: [
37628
- { name: 'cook', done: true },
37629
- { name: 'clean', done: true },
37630
- { name: 'write more unit tests', done: false }
37631
- ]
37632
- });
37633
-
37634
- hamster.remainingChores; // [{ name: 'write more unit tests', done: false }]
37635
- ```
37636
-
37637
36678
  @method filterBy
37638
36679
  @for @ember/object/computed
37639
36680
  @static
@@ -37686,28 +36727,6 @@ define("@ember/object/lib/computed/reduce_computed_macros", ["exports", "@ember/
37686
36727
  hamster.uniqueFruits; // ['banana', 'grape', 'kale']
37687
36728
  ```
37688
36729
 
37689
- Classic Class Example:
37690
-
37691
- ```javascript
37692
- import EmberObject from '@ember/object';
37693
- import { uniq } from '@ember/object/computed';
37694
-
37695
- let Hamster = EmberObject.extend({
37696
- uniqueFruits: uniq('fruits')
37697
- });
37698
-
37699
- let hamster = Hamster.create({
37700
- fruits: [
37701
- 'banana',
37702
- 'grape',
37703
- 'kale',
37704
- 'banana'
37705
- ]
37706
- });
37707
-
37708
- hamster.uniqueFruits; // ['banana', 'grape', 'kale']
37709
- ```
37710
-
37711
36730
  @method uniq
37712
36731
  @for @ember/object/computed
37713
36732
  @static
@@ -37766,28 +36785,6 @@ define("@ember/object/lib/computed/reduce_computed_macros", ["exports", "@ember/
37766
36785
  hamster.uniqueFruits; // [ { id: 1, 'banana' }, { id: 2, 'grape' }, { id: 3, 'peach' }]
37767
36786
  ```
37768
36787
 
37769
- Classic Class Example:
37770
-
37771
- ```javascript
37772
- import EmberObject from '@ember/object';
37773
- import { uniqBy } from '@ember/object/computed';
37774
-
37775
- let Hamster = EmberObject.extend({
37776
- uniqueFruits: uniqBy('fruits', 'id')
37777
- });
37778
-
37779
- let hamster = Hamster.create({
37780
- fruits: [
37781
- { id: 1, 'banana' },
37782
- { id: 2, 'grape' },
37783
- { id: 3, 'peach' },
37784
- { id: 1, 'banana' }
37785
- ]
37786
- });
37787
-
37788
- hamster.uniqueFruits; // [ { id: 1, 'banana' }, { id: 2, 'grape' }, { id: 3, 'peach' }]
37789
- ```
37790
-
37791
36788
  @method uniqBy
37792
36789
  @for @ember/object/computed
37793
36790
  @static
@@ -37844,34 +36841,6 @@ define("@ember/object/lib/computed/reduce_computed_macros", ["exports", "@ember/
37844
36841
  hamster.uniqueFruits; // ['banana', 'grape', 'kale', 'tomato', 'carrot', 'lettuce']
37845
36842
  ```
37846
36843
 
37847
- Classic Class Example:
37848
-
37849
- ```javascript
37850
- import EmberObject from '@ember/object';
37851
- import { union } from '@ember/object/computed';
37852
-
37853
- let Hamster = EmberObject.extend({
37854
- uniqueFruits: union('fruits', 'vegetables')
37855
- });
37856
-
37857
- let hamster = Hamster.create({
37858
- fruits: [
37859
- 'banana',
37860
- 'grape',
37861
- 'kale',
37862
- 'banana',
37863
- 'tomato'
37864
- ],
37865
- vegetables: [
37866
- 'tomato',
37867
- 'carrot',
37868
- 'lettuce'
37869
- ]
37870
- });
37871
-
37872
- hamster.uniqueFruits; // ['banana', 'grape', 'kale', 'tomato', 'carrot', 'lettuce']
37873
- ```
37874
-
37875
36844
  @method union
37876
36845
  @for @ember/object/computed
37877
36846
  @static
@@ -37910,24 +36879,6 @@ define("@ember/object/lib/computed/reduce_computed_macros", ["exports", "@ember/
37910
36879
  groups.friendsInCommon; // ['William King', 'Mary Somerville']
37911
36880
  ```
37912
36881
 
37913
- Classic Class Example:
37914
-
37915
- ```javascript
37916
- import EmberObject from '@ember/object';
37917
- import { intersect } from '@ember/object/computed';
37918
-
37919
- let FriendGroups = EmberObject.extend({
37920
- friendsInCommon: intersect('adaFriends', 'charlesFriends')
37921
- });
37922
-
37923
- let groups = FriendGroups.create({
37924
- adaFriends: ['Charles Babbage', 'John Hobhouse', 'William King', 'Mary Somerville'],
37925
- charlesFriends: ['William King', 'Mary Somerville', 'Ada Lovelace', 'George Peacock']
37926
- });
37927
-
37928
- groups.friendsInCommon; // ['William King', 'Mary Somerville']
37929
- ```
37930
-
37931
36882
  @method intersect
37932
36883
  @for @ember/object/computed
37933
36884
  @static
@@ -38002,31 +36953,6 @@ define("@ember/object/lib/computed/reduce_computed_macros", ["exports", "@ember/
38002
36953
  hamster.wants; // ['banana']
38003
36954
  ```
38004
36955
 
38005
- Classic Class Example:
38006
-
38007
- ```javascript
38008
- import EmberObject from '@ember/object';
38009
- import { setDiff } from '@ember/object/computed';
38010
-
38011
- let Hamster = EmberObject.extend({
38012
- wants: setDiff('likes', 'fruits')
38013
- });
38014
-
38015
- let hamster = Hamster.create({
38016
- likes: [
38017
- 'banana',
38018
- 'grape',
38019
- 'kale'
38020
- ],
38021
- fruits: [
38022
- 'grape',
38023
- 'kale',
38024
- ]
38025
- });
38026
-
38027
- hamster.wants; // ['banana']
38028
- ```
38029
-
38030
36956
  @method setDiff
38031
36957
  @for @ember/object/computed
38032
36958
  @static
@@ -38080,25 +37006,6 @@ define("@ember/object/lib/computed/reduce_computed_macros", ["exports", "@ember/
38080
37006
  hamster.clothes; // ['Camp Hat', 'Camp Shirt']
38081
37007
  ```
38082
37008
 
38083
- Classic Class Example:
38084
-
38085
- ```javascript
38086
- import EmberObject, { set } from '@ember/object';
38087
- import { collect } from '@ember/object/computed';
38088
-
38089
- let Hamster = EmberObject.extend({
38090
- clothes: collect('hat', 'shirt')
38091
- });
38092
-
38093
- let hamster = Hamster.create();
38094
-
38095
- hamster.clothes; // [null, null]
38096
-
38097
- set(hamster, 'hat', 'Camp Hat');
38098
- set(hamster, 'shirt', 'Camp Shirt');
38099
- hamster.clothes; // ['Camp Hat', 'Camp Shirt']
38100
- ```
38101
-
38102
37009
  @method collect
38103
37010
  @for @ember/object/computed
38104
37011
  @static
@@ -38179,36 +37086,6 @@ define("@ember/object/lib/computed/reduce_computed_macros", ["exports", "@ember/
38179
37086
  todoList.priorityTodos; // [{ name:'Release', priority:1 }, { name:'Unit Test', priority:2 }, { name:'Documentation', priority:3 }]
38180
37087
  ```
38181
37088
 
38182
- Classic Class Example:
38183
-
38184
- ```javascript
38185
- import EmberObject from '@ember/object';
38186
- import { sort } from '@ember/object/computed';
38187
-
38188
- let ToDoList = EmberObject.extend({
38189
- // using a custom sort function
38190
- priorityTodos: sort('todos', function(a, b){
38191
- if (a.priority > b.priority) {
38192
- return 1;
38193
- } else if (a.priority < b.priority) {
38194
- return -1;
38195
- }
38196
-
38197
- return 0;
38198
- })
38199
- });
38200
-
38201
- let todoList = ToDoList.create({
38202
- todos: [
38203
- { name: 'Unit Test', priority: 2 },
38204
- { name: 'Documentation', priority: 3 },
38205
- { name: 'Release', priority: 1 }
38206
- ]
38207
- });
38208
-
38209
- todoList.priorityTodos; // [{ name:'Release', priority:1 }, { name:'Unit Test', priority:2 }, { name:'Documentation', priority:3 }]
38210
- ```
38211
-
38212
37089
  You can also optionally pass an array of additional dependent keys as the
38213
37090
  second parameter, if your sort function is dependent on additional values that
38214
37091
  could changes:
@@ -39422,6 +38299,7 @@ define("@ember/service/index", ["exports", "@ember/-internals/runtime", "@ember/
39422
38299
  value: true
39423
38300
  });
39424
38301
  _exports.inject = inject;
38302
+ _exports.service = service;
39425
38303
  _exports.default = void 0;
39426
38304
 
39427
38305
  /**
@@ -39429,6 +38307,19 @@ define("@ember/service/index", ["exports", "@ember/-internals/runtime", "@ember/
39429
38307
  @public
39430
38308
  */
39431
38309
 
38310
+ /**
38311
+ @method inject
38312
+ @static
38313
+ @since 1.10.0
38314
+ @for @ember/service
38315
+ @param {String} name (optional) name of the service to inject, defaults to
38316
+ the property's name
38317
+ @return {ComputedDecorator} injection decorator instance
38318
+ @public
38319
+ */
38320
+ function inject() {
38321
+ return (0, _metal.inject)('service', ...arguments);
38322
+ }
39432
38323
  /**
39433
38324
  Creates a property that lazily looks up a service in the container. There are
39434
38325
  no restrictions as to what objects a service can be injected into.
@@ -39437,7 +38328,7 @@ define("@ember/service/index", ["exports", "@ember/-internals/runtime", "@ember/
39437
38328
 
39438
38329
  ```app/routes/application.js
39439
38330
  import Route from '@ember/routing/route';
39440
- import { inject as service } from '@ember/service';
38331
+ import { service } from '@ember/service';
39441
38332
 
39442
38333
  export default class ApplicationRoute extends Route {
39443
38334
  @service('auth') authManager;
@@ -39452,7 +38343,7 @@ define("@ember/service/index", ["exports", "@ember/-internals/runtime", "@ember/
39452
38343
 
39453
38344
  ```app/routes/application.js
39454
38345
  import Route from '@ember/routing/route';
39455
- import { inject as service } from '@ember/service';
38346
+ import { service } from '@ember/service';
39456
38347
 
39457
38348
  export default Route.extend({
39458
38349
  authManager: service('auth'),
@@ -39467,16 +38358,18 @@ define("@ember/service/index", ["exports", "@ember/-internals/runtime", "@ember/
39467
38358
  that looks up the `auth` service in the container, making it easily accessible
39468
38359
  in the `model` hook.
39469
38360
 
39470
- @method inject
38361
+ @method service
39471
38362
  @static
39472
- @since 1.10.0
38363
+ @since 4.1.0
39473
38364
  @for @ember/service
39474
38365
  @param {String} name (optional) name of the service to inject, defaults to
39475
38366
  the property's name
39476
38367
  @return {ComputedDecorator} injection decorator instance
39477
38368
  @public
39478
38369
  */
39479
- function inject() {
38370
+
38371
+
38372
+ function service() {
39480
38373
  return (0, _metal.inject)('service', ...arguments);
39481
38374
  }
39482
38375
  /**
@@ -53603,6 +52496,12 @@ define("@glimmer/tracking/index", ["exports", "@ember/-internals/metal"], functi
53603
52496
  return _metal.tracked;
53604
52497
  }
53605
52498
  });
52499
+ Object.defineProperty(_exports, "cached", {
52500
+ enumerable: true,
52501
+ get: function () {
52502
+ return _metal.cached;
52503
+ }
52504
+ });
53606
52505
  });
53607
52506
  define("@glimmer/tracking/primitives/cache", ["exports", "@ember/-internals/metal"], function (_exports, _metal) {
53608
52507
  "use strict";
@@ -57666,6 +56565,7 @@ define("ember-testing/lib/adapters/qunit", ["exports", "@ember/-internals/utils"
57666
56565
  asyncStart() {
57667
56566
  if (typeof QUnit.stop === 'function') {
57668
56567
  // very old QUnit version
56568
+ // eslint-disable-next-line qunit/no-qunit-stop
57669
56569
  QUnit.stop();
57670
56570
  } else {
57671
56571
  this.doneCallbacks.push(QUnit.config.current ? QUnit.config.current.assert.async() : null);
@@ -59060,7 +57960,7 @@ define("ember/index", ["exports", "require", "@ember/-internals/environment", "@
59060
57960
  (true && !(false) && (0, EmberDebug.assert)(`Injected properties must be created through helpers, see '${Object.keys(inject).map(k => `'inject.${k}'`).join(' or ')}'`));
59061
57961
  };
59062
57962
 
59063
- Ember.inject.service = _service.inject;
57963
+ Ember.inject.service = _service.service;
59064
57964
  Ember.inject.controller = _controller.inject;
59065
57965
  Ember.Array = _runtime.Array;
59066
57966
  Ember.Comparable = _runtime.Comparable;
@@ -59313,7 +58213,6 @@ define("ember/index", ["exports", "require", "@ember/-internals/environment", "@
59313
58213
  var templateCompiler = (0, _require.default)("ember-template-compiler");
59314
58214
  EmberHTMLBars.precompile = EmberHandlebars.precompile = templateCompiler.precompile;
59315
58215
  EmberHTMLBars.compile = EmberHandlebars.compile = templateCompiler.compile;
59316
- EmberHTMLBars.registerPlugin = templateCompiler.registerPlugin;
59317
58216
  Object.defineProperty(Ember, 'HTMLBars', {
59318
58217
  configurable: true,
59319
58218
  writable: true,
@@ -59406,17 +58305,7 @@ define("ember/version", ["exports"], function (_exports) {
59406
58305
  value: true
59407
58306
  });
59408
58307
  _exports.default = void 0;
59409
- var _default = "4.1.0-alpha.2";
59410
- _exports.default = _default;
59411
- });
59412
- define("jquery/index", ["exports", "@ember/-internals/views"], function (_exports, _views) {
59413
- "use strict";
59414
-
59415
- Object.defineProperty(_exports, "__esModule", {
59416
- value: true
59417
- });
59418
- _exports.default = void 0;
59419
- var _default = _views.jQuery;
58308
+ var _default = "4.1.0-alpha.6";
59420
58309
  _exports.default = _default;
59421
58310
  });
59422
58311
  define("route-recognizer", ["exports"], function (_exports) {