ember-source 4.3.0-alpha.4 → 4.3.0

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 (31) hide show
  1. package/CHANGELOG.md +8 -2
  2. package/build-metadata.json +3 -3
  3. package/dist/dependencies/router_js.js +66 -31
  4. package/dist/ember-template-compiler.js +16 -13
  5. package/dist/ember-template-compiler.map +1 -1
  6. package/dist/ember-testing.js +1 -1
  7. package/dist/ember-testing.map +1 -1
  8. package/dist/ember.debug.js +685 -1223
  9. package/dist/ember.debug.map +1 -1
  10. package/dist/header/license.js +1 -1
  11. package/dist/packages/@ember/-internals/container/index.js +15 -20
  12. package/dist/packages/@ember/-internals/glimmer/index.js +60 -45
  13. package/dist/packages/@ember/-internals/meta/lib/meta.js +8 -9
  14. package/dist/packages/@ember/-internals/metal/index.js +44 -45
  15. package/dist/packages/@ember/-internals/routing/lib/ext/controller.js +10 -8
  16. package/dist/packages/@ember/-internals/routing/lib/services/router.js +165 -197
  17. package/dist/packages/@ember/-internals/routing/lib/system/route-info.js +2 -2
  18. package/dist/packages/@ember/-internals/routing/lib/system/route.js +96 -375
  19. package/dist/packages/@ember/-internals/routing/lib/system/router.js +62 -35
  20. package/dist/packages/@ember/-internals/routing/lib/utils.js +31 -20
  21. package/dist/packages/@ember/-internals/runtime/lib/mixins/action_handler.js +32 -32
  22. package/dist/packages/@ember/-internals/utils/index.js +2 -0
  23. package/dist/packages/@ember/-internals/views/lib/system/utils.js +1 -0
  24. package/dist/packages/@ember/canary-features/index.js +2 -2
  25. package/dist/packages/@ember/controller/index.js +3 -54
  26. package/dist/packages/@ember/instrumentation/index.js +9 -13
  27. package/dist/packages/@ember/routing/router-service.js +1 -0
  28. package/dist/packages/@ember/service/index.js +6 -73
  29. package/dist/packages/ember/version.js +1 -1
  30. package/docs/data.json +411 -343
  31. package/package.json +5 -8
@@ -2,7 +2,7 @@
2
2
 
3
3
  /* global console */
4
4
  import { ENV } from '@ember/-internals/environment';
5
-
5
+ import { assert } from '@ember/debug';
6
6
  /**
7
7
  @module @ember/instrumentation
8
8
  @private
@@ -58,16 +58,14 @@ import { ENV } from '@ember/-internals/environment';
58
58
  @static
59
59
  @private
60
60
  */
61
+
61
62
  export let subscribers = [];
62
63
  let cache = {};
63
64
 
64
65
  function populateListeners(name) {
65
66
  let listeners = [];
66
- let subscriber;
67
-
68
- for (let i = 0; i < subscribers.length; i++) {
69
- subscriber = subscribers[i];
70
67
 
68
+ for (let subscriber of subscribers) {
71
69
  if (subscriber.regex.test(name)) {
72
70
  listeners.push(subscriber.object);
73
71
  }
@@ -172,16 +170,17 @@ export function _instrumentStart(name, payloadFunc, payloadArg) {
172
170
  let beforeValues = [];
173
171
  let timestamp = time();
174
172
 
175
- for (let i = 0; i < listeners.length; i++) {
176
- let listener = listeners[i];
173
+ for (let listener of listeners) {
177
174
  beforeValues.push(listener.before(name, timestamp, payload));
178
175
  }
179
176
 
177
+ const constListeners = listeners;
180
178
  return function _instrumentEnd() {
181
179
  let timestamp = time();
182
180
 
183
- for (let i = 0; i < listeners.length; i++) {
184
- let listener = listeners[i];
181
+ for (let i = 0; i < constListeners.length; i++) {
182
+ let listener = constListeners[i];
183
+ assert('has listener', listener); // Iterating over values
185
184
 
186
185
  if (typeof listener.after === 'function') {
187
186
  listener.after(name, timestamp, payload, beforeValues[i]);
@@ -209,12 +208,9 @@ export function _instrumentStart(name, payloadFunc, payloadArg) {
209
208
 
210
209
  export function subscribe(pattern, object) {
211
210
  let paths = pattern.split('.');
212
- let path;
213
211
  let regexes = [];
214
212
 
215
- for (let i = 0; i < paths.length; i++) {
216
- path = paths[i];
217
-
213
+ for (let path of paths) {
218
214
  if (path === '*') {
219
215
  regexes.push('[^\\.]*');
220
216
  } else {
@@ -0,0 +1 @@
1
+ export { RouterService as default } from '@ember/-internals/routing';
@@ -1,74 +1,10 @@
1
1
  import { FrameworkObject } from '@ember/-internals/runtime';
2
2
  import { inject as metalInject } from '@ember/-internals/metal';
3
- /**
4
- @module @ember/service
5
- @public
6
- */
7
-
8
- /**
9
- @method inject
10
- @static
11
- @since 1.10.0
12
- @for @ember/service
13
- @param {String} name (optional) name of the service to inject, defaults to
14
- the property's name
15
- @return {ComputedDecorator} injection decorator instance
16
- @public
17
- */
18
-
19
- export function inject() {
20
- return metalInject('service', ...arguments);
3
+ export function inject(...args) {
4
+ return metalInject('service', ...args);
21
5
  }
22
- /**
23
- Creates a property that lazily looks up a service in the container. There are
24
- no restrictions as to what objects a service can be injected into.
25
-
26
- Example:
27
-
28
- ```app/routes/application.js
29
- import Route from '@ember/routing/route';
30
- import { service } from '@ember/service';
31
-
32
- export default class ApplicationRoute extends Route {
33
- @service('auth') authManager;
34
-
35
- model() {
36
- return this.authManager.findCurrentUser();
37
- }
38
- }
39
- ```
40
-
41
- Classic Class Example:
42
-
43
- ```app/routes/application.js
44
- import Route from '@ember/routing/route';
45
- import { service } from '@ember/service';
46
-
47
- export default Route.extend({
48
- authManager: service('auth'),
49
-
50
- model() {
51
- return this.get('authManager').findCurrentUser();
52
- }
53
- });
54
- ```
55
-
56
- This example will create an `authManager` property on the application route
57
- that looks up the `auth` service in the container, making it easily accessible
58
- in the `model` hook.
59
-
60
- @method service
61
- @static
62
- @since 4.1.0
63
- @for @ember/service
64
- @param {String} name (optional) name of the service to inject, defaults to
65
- the property's name
66
- @return {ComputedDecorator} injection decorator instance
67
- @public
68
- */
69
-
70
- export function service() {
71
- return metalInject('service', ...arguments);
6
+ export function service(...args) {
7
+ return metalInject('service', ...args);
72
8
  }
73
9
  /**
74
10
  @class Service
@@ -77,8 +13,5 @@ export function service() {
77
13
  @public
78
14
  */
79
15
 
80
- const Service = FrameworkObject.extend();
81
- Service.reopenClass({
82
- isServiceFactory: true
83
- });
84
- export default Service;
16
+ export default class Service extends FrameworkObject {}
17
+ Service.isServiceFactory = true;
@@ -1 +1 @@
1
- export default "4.3.0-alpha.4";
1
+ export default "4.3.0";