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.
- package/CHANGELOG.md +8 -2
- package/build-metadata.json +3 -3
- package/dist/dependencies/router_js.js +66 -31
- package/dist/ember-template-compiler.js +16 -13
- package/dist/ember-template-compiler.map +1 -1
- package/dist/ember-testing.js +1 -1
- package/dist/ember-testing.map +1 -1
- package/dist/ember.debug.js +685 -1223
- package/dist/ember.debug.map +1 -1
- package/dist/header/license.js +1 -1
- package/dist/packages/@ember/-internals/container/index.js +15 -20
- package/dist/packages/@ember/-internals/glimmer/index.js +60 -45
- package/dist/packages/@ember/-internals/meta/lib/meta.js +8 -9
- package/dist/packages/@ember/-internals/metal/index.js +44 -45
- package/dist/packages/@ember/-internals/routing/lib/ext/controller.js +10 -8
- package/dist/packages/@ember/-internals/routing/lib/services/router.js +165 -197
- package/dist/packages/@ember/-internals/routing/lib/system/route-info.js +2 -2
- package/dist/packages/@ember/-internals/routing/lib/system/route.js +96 -375
- package/dist/packages/@ember/-internals/routing/lib/system/router.js +62 -35
- package/dist/packages/@ember/-internals/routing/lib/utils.js +31 -20
- package/dist/packages/@ember/-internals/runtime/lib/mixins/action_handler.js +32 -32
- package/dist/packages/@ember/-internals/utils/index.js +2 -0
- package/dist/packages/@ember/-internals/views/lib/system/utils.js +1 -0
- package/dist/packages/@ember/canary-features/index.js +2 -2
- package/dist/packages/@ember/controller/index.js +3 -54
- package/dist/packages/@ember/instrumentation/index.js +9 -13
- package/dist/packages/@ember/routing/router-service.js +1 -0
- package/dist/packages/@ember/service/index.js +6 -73
- package/dist/packages/ember/version.js +1 -1
- package/docs/data.json +411 -343
- 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
|
|
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 <
|
|
184
|
-
let listener =
|
|
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
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
81
|
-
Service.
|
|
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
|
|
1
|
+
export default "4.3.0";
|