ember-source 3.28.5 → 4.0.0-beta.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (115) hide show
  1. package/CHANGELOG.md +113 -10
  2. package/blueprints/acceptance-test/qunit-files/tests/acceptance/__name__-test.js +1 -1
  3. package/blueprints/acceptance-test/qunit-rfc-232-files/tests/acceptance/__name__-test.js +1 -1
  4. package/blueprints/component-test/qunit-files/__root__/__testType__/__path__/__test__.js +3 -3
  5. package/blueprints/helper-test/index.js +4 -22
  6. package/blueprints/helper-test/mocha-0.12-files/__root__/__testType__/__collection__/__name__-test.js +1 -13
  7. package/blueprints/helper-test/mocha-files/__root__/__testType__/__collection__/__name__-test.js +0 -13
  8. package/blueprints/helper-test/mocha-rfc-232-files/__root__/__testType__/__collection__/__name__-test.js +2 -12
  9. package/blueprints/helper-test/qunit-files/__root__/__testType__/__collection__/__name__-test.js +2 -13
  10. package/blueprints/helper-test/qunit-rfc-232-files/__root__/__testType__/__collection__/__name__-test.js +2 -14
  11. package/blueprints/initializer/files/__root__/initializers/__name__.js +0 -1
  12. package/blueprints/instance-initializer/files/__root__/instance-initializers/__name__.js +0 -1
  13. package/build-metadata.json +3 -3
  14. package/dist/dependencies/@glimmer/manager.js +19 -98
  15. package/dist/dependencies/@glimmer/opcode-compiler.js +9 -146
  16. package/dist/dependencies/@glimmer/runtime.js +1 -55
  17. package/dist/dependencies/@glimmer/validator.js +19 -51
  18. package/dist/ember-template-compiler.js +3692 -5667
  19. package/dist/ember-template-compiler.map +1 -1
  20. package/dist/ember-testing.js +12 -560
  21. package/dist/ember-testing.map +1 -1
  22. package/dist/ember.debug.js +4357 -12470
  23. package/dist/ember.debug.map +1 -1
  24. package/dist/header/license.js +1 -1
  25. package/dist/packages/@ember/-internals/bootstrap/index.js +2 -55
  26. package/dist/packages/@ember/-internals/container/index.js +35 -206
  27. package/dist/packages/@ember/-internals/environment/index.js +3 -46
  28. package/dist/packages/@ember/-internals/extension-support/lib/container_debug_adapter.js +7 -0
  29. package/dist/packages/@ember/-internals/extension-support/lib/data_adapter.js +1 -2
  30. package/dist/packages/@ember/-internals/glimmer/index.js +4774 -7035
  31. package/dist/packages/@ember/-internals/meta/lib/meta.js +2 -50
  32. package/dist/packages/@ember/-internals/metal/index.js +785 -1109
  33. package/dist/packages/@ember/-internals/overrides/index.js +1 -3
  34. package/dist/packages/@ember/-internals/owner/index.js +1 -19
  35. package/dist/packages/@ember/-internals/routing/lib/location/auto_location.js +1 -51
  36. package/dist/packages/@ember/-internals/routing/lib/location/hash_location.js +1 -0
  37. package/dist/packages/@ember/-internals/routing/lib/location/history_location.js +3 -1
  38. package/dist/packages/@ember/-internals/routing/lib/location/none_location.js +0 -7
  39. package/dist/packages/@ember/-internals/routing/lib/services/router.js +34 -2
  40. package/dist/packages/@ember/-internals/routing/lib/services/routing.js +2 -3
  41. package/dist/packages/@ember/-internals/routing/lib/system/dsl.js +5 -6
  42. package/dist/packages/@ember/-internals/routing/lib/system/route.js +192 -652
  43. package/dist/packages/@ember/-internals/routing/lib/system/router.js +119 -248
  44. package/dist/packages/@ember/-internals/routing/lib/system/router_state.js +1 -2
  45. package/dist/packages/@ember/-internals/routing/lib/utils.js +1 -2
  46. package/dist/packages/@ember/-internals/runtime/index.js +1 -4
  47. package/dist/packages/@ember/-internals/runtime/lib/mixins/array.js +4 -175
  48. package/dist/packages/@ember/-internals/runtime/lib/mixins/observable.js +1 -18
  49. package/dist/packages/@ember/-internals/runtime/lib/mixins/target_action_support.js +3 -43
  50. package/dist/packages/@ember/-internals/runtime/lib/system/array_proxy.js +8 -15
  51. package/dist/packages/@ember/-internals/runtime/lib/system/core_object.js +10 -141
  52. package/dist/packages/@ember/-internals/utils/index.js +3 -59
  53. package/dist/packages/@ember/-internals/views/index.js +0 -2
  54. package/dist/packages/@ember/-internals/views/lib/mixins/action_support.js +1 -121
  55. package/dist/packages/@ember/-internals/views/lib/mixins/view_support.js +4 -40
  56. package/dist/packages/@ember/-internals/views/lib/system/event_dispatcher.js +115 -190
  57. package/dist/packages/@ember/-internals/views/lib/views/states/destroying.js +1 -2
  58. package/dist/packages/@ember/-internals/views/lib/views/states/has_element.js +1 -2
  59. package/dist/packages/@ember/-internals/views/lib/views/states/in_dom.js +1 -2
  60. package/dist/packages/@ember/-internals/views/lib/views/states/pre_render.js +1 -2
  61. package/dist/packages/@ember/application/instance.js +3 -25
  62. package/dist/packages/@ember/application/lib/application.js +14 -32
  63. package/dist/packages/@ember/canary-features/index.js +5 -6
  64. package/dist/packages/@ember/component/index.js +1 -1
  65. package/dist/packages/@ember/component/template-only.js +2 -0
  66. package/dist/packages/@ember/debug/lib/deprecate.js +7 -41
  67. package/dist/packages/@ember/deprecated-features/index.js +1 -14
  68. package/dist/packages/@ember/engine/index.js +3 -17
  69. package/dist/packages/@ember/engine/instance.js +0 -4
  70. package/dist/packages/@ember/helper/index.js +12 -4
  71. package/dist/packages/@ember/object/index.js +3 -101
  72. package/dist/packages/@ember/object/internals.js +0 -1
  73. package/dist/packages/@ember/object/lib/computed/computed_macros.js +12 -384
  74. package/dist/packages/@ember/object/lib/computed/reduce_computed_macros.js +9 -360
  75. package/dist/packages/@ember/polyfills/index.js +1 -6
  76. package/dist/packages/@ember/polyfills/lib/assign.js +12 -28
  77. package/dist/packages/@ember/routing/index.js +1 -1
  78. package/dist/packages/@ember/runloop/index.js +1 -83
  79. package/dist/packages/@ember/string/index.js +1 -206
  80. package/dist/packages/@ember/utils/index.js +0 -1
  81. package/dist/packages/ember/index.js +17 -180
  82. package/dist/packages/ember/version.js +1 -1
  83. package/dist/packages/ember-testing/index.js +0 -2
  84. package/dist/packages/ember-testing/lib/helpers.js +0 -12
  85. package/dist/packages/ember-testing/lib/setup_for_testing.js +0 -10
  86. package/docs/data.json +1637 -3659
  87. package/lib/index.js +14 -59
  88. package/lib/overrides.js +0 -61
  89. package/lib/transforms/inject-babel-helpers.js +1 -3
  90. package/package.json +27 -23
  91. package/dist/packages/@ember/-internals/console/index.js +0 -190
  92. package/dist/packages/@ember/-internals/runtime/lib/copy.js +0 -119
  93. package/dist/packages/@ember/-internals/runtime/lib/ext/function.js +0 -155
  94. package/dist/packages/@ember/-internals/runtime/lib/mixins/copyable.js +0 -31
  95. package/dist/packages/@ember/-internals/views/lib/mixins/text_support.js +0 -357
  96. package/dist/packages/@ember/-internals/views/lib/system/jquery.js +0 -26
  97. package/dist/packages/@ember/-internals/views/lib/system/jquery_event_deprecation.js +0 -60
  98. package/dist/packages/@ember/application/deprecations.js +0 -25
  99. package/dist/packages/@ember/application/globals-resolver.js +0 -434
  100. package/dist/packages/@ember/application/resolver.js +0 -1
  101. package/dist/packages/@ember/component/checkbox.js +0 -17
  102. package/dist/packages/@ember/component/text-area.js +0 -17
  103. package/dist/packages/@ember/component/text-field.js +0 -17
  104. package/dist/packages/@ember/polyfills/lib/merge.js +0 -50
  105. package/dist/packages/@ember/routing/link-component.js +0 -17
  106. package/dist/packages/ember-testing/lib/events.js +0 -102
  107. package/dist/packages/ember-testing/lib/helpers/-is-form-control.js +0 -19
  108. package/dist/packages/ember-testing/lib/helpers/click.js +0 -32
  109. package/dist/packages/ember-testing/lib/helpers/fill_in.js +0 -47
  110. package/dist/packages/ember-testing/lib/helpers/find.js +0 -40
  111. package/dist/packages/ember-testing/lib/helpers/find_with_assert.js +0 -37
  112. package/dist/packages/ember-testing/lib/helpers/key_event.js +0 -37
  113. package/dist/packages/ember-testing/lib/helpers/trigger_event.js +0 -61
  114. package/dist/packages/ember-testing/lib/support.js +0 -57
  115. package/dist/packages/jquery/index.js +0 -2
@@ -1,3 +1 @@
1
- export let onEmberGlobalAccess;
2
- export let onComputedDotAccess;
3
- export let onRunloopDotAccess;
1
+ export let onEmberGlobalAccess;
@@ -1,7 +1,4 @@
1
1
  import { getOwner as glimmerGetOwner, setOwner as glimmerSetOwner } from '@glimmer/owner';
2
- import { enumerableSymbol } from '@ember/-internals/utils';
3
- import { deprecate } from '@ember/debug';
4
- export const LEGACY_OWNER = enumerableSymbol('LEGACY_OWNER');
5
2
  /**
6
3
  Framework objects in an Ember application (components, services, routes, etc.)
7
4
  are created via a factory and dependency injection system. Each of these
@@ -48,21 +45,7 @@ export const LEGACY_OWNER = enumerableSymbol('LEGACY_OWNER');
48
45
  */
49
46
 
50
47
  export function getOwner(object) {
51
- let owner = glimmerGetOwner(object);
52
-
53
- if (owner === undefined) {
54
- owner = object[LEGACY_OWNER];
55
- deprecate(`You accessed the owner using \`getOwner\` on an object, but it was not set on that object with \`setOwner\`. You must use \`setOwner\` to set the owner on all objects. You cannot use Object.assign().`, owner === undefined, {
56
- id: 'owner.legacy-owner-injection',
57
- until: '3.25.0',
58
- for: 'ember-source',
59
- since: {
60
- enabled: '3.22.0'
61
- }
62
- });
63
- }
64
-
65
- return owner;
48
+ return glimmerGetOwner(object);
66
49
  }
67
50
  /**
68
51
  `setOwner` forces a new owner on a given object instance. This is primarily
@@ -79,5 +62,4 @@ export function getOwner(object) {
79
62
 
80
63
  export function setOwner(object, owner) {
81
64
  glimmerSetOwner(object, owner);
82
- object[LEGACY_OWNER] = owner;
83
65
  }
@@ -100,13 +100,6 @@ export default class AutoLocation extends EmberObject {
100
100
 
101
101
  }
102
102
  AutoLocation.reopen({
103
- /**
104
- @private
105
- Will be pre-pended to path upon state change.
106
- @since 1.5.1
107
- @property rootURL
108
- @default '/'
109
- */
110
103
  rootURL: '/',
111
104
  initState: delegateToConcreteImplementation('initState'),
112
105
  getURL: delegateToConcreteImplementation('getURL'),
@@ -114,53 +107,10 @@ AutoLocation.reopen({
114
107
  replaceURL: delegateToConcreteImplementation('replaceURL'),
115
108
  onUpdateURL: delegateToConcreteImplementation('onUpdateURL'),
116
109
  formatURL: delegateToConcreteImplementation('formatURL'),
117
-
118
- /**
119
- @private
120
- The browser's `location` object. This is typically equivalent to
121
- `window.location`, but may be overridden for testing.
122
- @property location
123
- @default environment.location
124
- */
125
110
  location: location,
126
-
127
- /**
128
- @private
129
- The browser's `history` object. This is typically equivalent to
130
- `window.history`, but may be overridden for testing.
131
- @since 1.5.1
132
- @property history
133
- @default environment.history
134
- */
135
111
  history: history,
136
-
137
- /**
138
- @private
139
- The user agent's global variable. In browsers, this will be `window`.
140
- @since 1.11
141
- @property global
142
- @default window
143
- */
144
112
  global: window,
145
-
146
- /**
147
- @private
148
- The browser's `userAgent`. This is typically equivalent to
149
- `navigator.userAgent`, but may be overridden for testing.
150
- @since 1.5.1
151
- @property userAgent
152
- @default environment.history
153
- */
154
113
  userAgent: userAgent,
155
-
156
- /**
157
- @private
158
- This property is used by the router to know whether to cancel the routing
159
- setup process, which is needed while we redirect the browser.
160
- @since 1.5.1
161
- @property cancelRouterSetup
162
- @default false
163
- */
164
114
  cancelRouterSetup: false
165
115
  });
166
116
 
@@ -171,7 +121,7 @@ function delegateToConcreteImplementation(methodName) {
171
121
  let {
172
122
  concreteImplementation
173
123
  } = this;
174
- assert("AutoLocation's detect() method should be called before calling any other hooks.", Boolean(concreteImplementation));
124
+ assert("AutoLocation's detect() method should be called before calling any other hooks.", concreteImplementation);
175
125
  return (_a = concreteImplementation[methodName]) === null || _a === void 0 ? void 0 : _a.call(concreteImplementation, ...args);
176
126
  };
177
127
  }
@@ -39,6 +39,7 @@ export default class HashLocation extends EmberObject {
39
39
  constructor() {
40
40
  super(...arguments);
41
41
  this.implementation = 'hash';
42
+ this.lastSetURL = null;
42
43
  }
43
44
 
44
45
  init() {
@@ -82,13 +82,15 @@ export default class HistoryLocation extends EmberObject {
82
82
  }
83
83
 
84
84
  init() {
85
+ var _a;
86
+
85
87
  this._super(...arguments);
86
88
 
87
89
  let base = document.querySelector('base');
88
90
  let baseURL = '';
89
91
 
90
92
  if (base !== null && base.hasAttribute('href')) {
91
- baseURL = base.getAttribute('href');
93
+ baseURL = (_a = base.getAttribute('href')) !== null && _a !== void 0 ? _a : '';
92
94
  }
93
95
 
94
96
  set(this, 'baseURL', baseURL);
@@ -115,12 +115,5 @@ export default class NoneLocation extends EmberObject {
115
115
  }
116
116
  NoneLocation.reopen({
117
117
  path: '',
118
-
119
- /**
120
- Will be pre-pended to path.
121
- @private
122
- @property rootURL
123
- @default '/'
124
- */
125
118
  rootURL: '/'
126
119
  });
@@ -3,7 +3,6 @@ import { Evented } from '@ember/-internals/runtime';
3
3
  import { symbol } from '@ember/-internals/utils';
4
4
  import { assert } from '@ember/debug';
5
5
  import { readOnly } from '@ember/object/computed';
6
- import { assign } from '@ember/polyfills';
7
6
  import Service from '@ember/service';
8
7
  import { consumeTag, tagFor } from '@glimmer/validator';
9
8
  import { extractRouteArgs, resemblesURL, shallowEqual } from '../utils';
@@ -297,7 +296,7 @@ export default class RouterService extends Service {
297
296
  let hasQueryParams = Object.keys(queryParams).length > 0;
298
297
 
299
298
  if (hasQueryParams) {
300
- queryParams = assign({}, queryParams);
299
+ queryParams = Object.assign({}, queryParams);
301
300
 
302
301
  this._router._prepareQueryParams( // UNSAFE: casting `routeName as string` here encodes the existing
303
302
  // assumption but may be wrong: `extractRouteArgs` correctly returns it
@@ -373,6 +372,39 @@ export default class RouterService extends Service {
373
372
  }
374
373
 
375
374
  }
375
+
376
+ if (false
377
+ /* EMBER_ROUTING_ROUTER_SERVICE_REFRESH */
378
+ ) {
379
+ RouterService.reopen({
380
+ /**
381
+ * Refreshes all currently active routes, doing a full transition.
382
+ * If a route name is provided and refers to a currently active route,
383
+ * it will refresh only that route and its descendents.
384
+ * Returns a promise that will be resolved once the refresh is complete.
385
+ * All resetController, beforeModel, model, afterModel, redirect, and setupController
386
+ * hooks will be called again. You will get new data from the model hook.
387
+ *
388
+ * @method refresh
389
+ * @param {String} [routeName] the route to refresh (along with all child routes)
390
+ * @return Transition
391
+ * @category EMBER_ROUTING_ROUTER_SERVICE_REFRESH
392
+ * @public
393
+ */
394
+ refresh(pivotRouteName) {
395
+ if (!pivotRouteName) {
396
+ return this._router._routerMicrolib.refresh();
397
+ }
398
+
399
+ assert(`The route "${pivotRouteName}" was not found`, this._router.hasRoute(pivotRouteName));
400
+ assert(`The route "${pivotRouteName}" is currently not active`, this.isActive(pivotRouteName));
401
+ let pivotRoute = getOwner(this).lookup(`route:${pivotRouteName}`);
402
+ return this._router._routerMicrolib.refresh(pivotRoute);
403
+ }
404
+
405
+ });
406
+ }
407
+
376
408
  RouterService.reopen(Evented, {
377
409
  /**
378
410
  Name of the current route.
@@ -4,11 +4,10 @@
4
4
  import { getOwner } from '@ember/-internals/owner';
5
5
  import { symbol } from '@ember/-internals/utils';
6
6
  import { readOnly } from '@ember/object/computed';
7
- import { assign } from '@ember/polyfills';
8
7
  import Service from '@ember/service';
9
8
  const ROUTER = symbol('ROUTER');
10
9
  /**
11
- The Routing service is used by LinkComponent, and provides facilities for
10
+ The Routing service is used by LinkTo, and provides facilities for
12
11
  the component/view layer to interact with the router.
13
12
 
14
13
  This is a private service for internal usage only. For public usage,
@@ -54,7 +53,7 @@ export default class RoutingService extends Service {
54
53
  let visibleQueryParams = {};
55
54
 
56
55
  if (queryParams) {
57
- assign(visibleQueryParams, queryParams);
56
+ Object.assign(visibleQueryParams, queryParams);
58
57
  this.normalizeQueryParams(routeName, models, visibleQueryParams);
59
58
  }
60
59
 
@@ -1,5 +1,4 @@
1
1
  import { assert } from '@ember/debug';
2
- import { assign } from '@ember/polyfills';
3
2
  let uuid = 0;
4
3
 
5
4
  function isCallback(value) {
@@ -75,7 +74,7 @@ export default class DSLImpl {
75
74
 
76
75
  if (this.options.engineInfo) {
77
76
  let localFullName = name.slice(this.options.engineInfo.fullName.length + 1);
78
- let routeInfo = assign({
77
+ let routeInfo = Object.assign({
79
78
  localFullName
80
79
  }, this.options.engineInfo);
81
80
 
@@ -144,7 +143,7 @@ export default class DSLImpl {
144
143
  this.options.engineInfo = engineInfo;
145
144
  }
146
145
 
147
- let optionsForChild = assign({
146
+ let optionsForChild = Object.assign({
148
147
  engineInfo
149
148
  }, this.options);
150
149
  let childDSL = new DSLImpl(fullName, optionsForChild);
@@ -161,7 +160,7 @@ export default class DSLImpl {
161
160
  }
162
161
 
163
162
  let localFullName = 'application';
164
- let routeInfo = assign({
163
+ let routeInfo = Object.assign({
165
164
  localFullName
166
165
  }, engineInfo);
167
166
 
@@ -170,7 +169,7 @@ export default class DSLImpl {
170
169
  // proper names for the Router and within the Engine's registry.
171
170
  let substateName = `${name}_loading`;
172
171
  let localFullName = `application_loading`;
173
- let routeInfo = assign({
172
+ let routeInfo = Object.assign({
174
173
  localFullName
175
174
  }, engineInfo);
176
175
  createRoute(this, substateName, {
@@ -179,7 +178,7 @@ export default class DSLImpl {
179
178
  this.options.addRouteForEngine(substateName, routeInfo);
180
179
  substateName = `${name}_error`;
181
180
  localFullName = `application_error`;
182
- routeInfo = assign({
181
+ routeInfo = Object.assign({
183
182
  localFullName
184
183
  }, engineInfo);
185
184
  createRoute(this, substateName, {