@ngrx/store-devtools 7.0.0 → 7.4.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/bundles/store-devtools.umd.js +20 -9
- package/bundles/store-devtools.umd.js.map +1 -1
- package/bundles/store-devtools.umd.min.js +2 -2
- package/bundles/store-devtools.umd.min.js.map +1 -1
- package/esm2015/index.js +1 -2
- package/esm2015/public_api.js +1 -2
- package/esm2015/src/actions.js +2 -6
- package/esm2015/src/config.js +2 -18
- package/esm2015/src/devtools-dispatcher.js +1 -2
- package/esm2015/src/devtools.js +31 -14
- package/esm2015/src/extension.js +151 -42
- package/esm2015/src/index.js +1 -2
- package/esm2015/src/instrument.js +4 -5
- package/esm2015/src/reducer.js +91 -54
- package/esm2015/src/utils.js +43 -13
- package/esm2015/store-devtools.js +0 -1
- package/esm5/index.js +0 -1
- package/esm5/public_api.js +0 -1
- package/esm5/src/actions.js +0 -1
- package/esm5/src/config.js +0 -1
- package/esm5/src/devtools-dispatcher.js +0 -1
- package/esm5/src/devtools.js +2 -3
- package/esm5/src/extension.js +0 -1
- package/esm5/src/index.js +0 -1
- package/esm5/src/instrument.js +0 -1
- package/esm5/src/reducer.js +6 -5
- package/esm5/src/utils.js +13 -5
- package/esm5/store-devtools.js +0 -1
- package/fesm2015/store-devtools.js +214 -58
- package/fesm2015/store-devtools.js.map +1 -1
- package/fesm5/store-devtools.js +20 -9
- package/fesm5/store-devtools.js.map +1 -1
- package/migrations/6_0_0/index.js +2 -2
- package/package.json +2 -2
- package/schematics/ng-add/index.js +24 -61
- package/schematics/ng-add/schema.json +5 -0
- package/schematics-core/index.d.ts +1 -2
- package/schematics-core/index.js +4 -5
- package/schematics-core/utility/ast-utils.d.ts +10 -0
- package/schematics-core/utility/ast-utils.js +153 -154
- package/schematics-core/utility/change.js +39 -46
- package/schematics-core/utility/config.js +8 -8
- package/schematics-core/utility/find-module.js +22 -22
- package/schematics-core/utility/libs-version.d.ts +1 -1
- package/schematics-core/utility/libs-version.js +2 -2
- package/schematics-core/utility/ngrx-utils.d.ts +2 -0
- package/schematics-core/utility/ngrx-utils.js +83 -142
- package/schematics-core/utility/package.js +3 -3
- package/schematics-core/utility/parse-name.js +4 -4
- package/schematics-core/utility/project.js +11 -8
- package/schematics-core/utility/strings.d.ts +12 -0
- package/schematics-core/utility/strings.js +27 -12
- package/schematics-core/utility/update.js +13 -13
- package/store-devtools.metadata.json +1 -1
- package/schematics-core/utility/route-utils.d.ts +0 -20
- package/schematics-core/utility/route-utils.js +0 -84
|
@@ -16,11 +16,11 @@
|
|
|
16
16
|
* Use of this source code is governed by an MIT-style license that can be
|
|
17
17
|
* found in the LICENSE file at https://angular.io/license
|
|
18
18
|
*/
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
19
|
+
const STRING_DASHERIZE_REGEXP = /[ _]/g;
|
|
20
|
+
const STRING_DECAMELIZE_REGEXP = /([a-z\d])([A-Z])/g;
|
|
21
|
+
const STRING_CAMELIZE_REGEXP = /(-|_|\.|\s)+(.)?/g;
|
|
22
|
+
const STRING_UNDERSCORE_REGEXP_1 = /([a-z\d])([A-Z]+)/g;
|
|
23
|
+
const STRING_UNDERSCORE_REGEXP_2 = /-|\s+/g;
|
|
24
24
|
/**
|
|
25
25
|
* Converts a camelized string into all lower case separated by underscores.
|
|
26
26
|
*
|
|
@@ -62,10 +62,10 @@
|
|
|
62
62
|
*/
|
|
63
63
|
function camelize(str) {
|
|
64
64
|
return str
|
|
65
|
-
.replace(STRING_CAMELIZE_REGEXP,
|
|
65
|
+
.replace(STRING_CAMELIZE_REGEXP, (_match, _separator, chr) => {
|
|
66
66
|
return chr ? chr.toUpperCase() : '';
|
|
67
67
|
})
|
|
68
|
-
.replace(/^([A-Z])/,
|
|
68
|
+
.replace(/^([A-Z])/, (match) => match.toLowerCase());
|
|
69
69
|
}
|
|
70
70
|
exports.camelize = camelize;
|
|
71
71
|
/**
|
|
@@ -81,7 +81,7 @@
|
|
|
81
81
|
function classify(str) {
|
|
82
82
|
return str
|
|
83
83
|
.split('.')
|
|
84
|
-
.map(
|
|
84
|
+
.map(part => capitalize(camelize(part)))
|
|
85
85
|
.join('.');
|
|
86
86
|
}
|
|
87
87
|
exports.classify = classify;
|
|
@@ -117,16 +117,31 @@
|
|
|
117
117
|
return str.charAt(0).toUpperCase() + str.substr(1);
|
|
118
118
|
}
|
|
119
119
|
exports.capitalize = capitalize;
|
|
120
|
+
/**
|
|
121
|
+
Returns the plural form of a string
|
|
122
|
+
|
|
123
|
+
```javascript
|
|
124
|
+
'innerHTML'.pluralize() // 'InnerHTMLs'
|
|
125
|
+
'action_name'.pluralize() // 'actionNames'
|
|
126
|
+
'css-class-name'.pluralize() // 'cssClassNames'
|
|
127
|
+
'regex'.pluralize() // 'regexes'
|
|
128
|
+
'user'.pluralize() // 'users'
|
|
129
|
+
```
|
|
130
|
+
*/
|
|
131
|
+
function pluralize(str) {
|
|
132
|
+
return camelize([/([^aeiou])y$/, /()fe?$/, /([^aeiou]o|[sxz]|[cs]h)$/].map((c, i) => (str = str.replace(c, `$1${'iv'[i] || ''}e`))) && str + 's');
|
|
133
|
+
}
|
|
134
|
+
exports.pluralize = pluralize;
|
|
120
135
|
function group(name, group) {
|
|
121
|
-
return group ? group
|
|
136
|
+
return group ? `${group}/${name}` : name;
|
|
122
137
|
}
|
|
123
138
|
exports.group = group;
|
|
124
139
|
function featurePath(group, flat, path, name) {
|
|
125
140
|
if (group && !flat) {
|
|
126
|
-
return
|
|
141
|
+
return `../../${path}/${name}/`;
|
|
127
142
|
}
|
|
128
|
-
return group ?
|
|
143
|
+
return group ? `../${path}/` : './';
|
|
129
144
|
}
|
|
130
145
|
exports.featurePath = featurePath;
|
|
131
146
|
});
|
|
132
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
147
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RyaW5ncy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL21vZHVsZXMvc3RvcmUtZGV2dG9vbHMvc2NoZW1hdGljcy1jb3JlL3V0aWxpdHkvc3RyaW5ncy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztJQUFBOzs7Ozs7T0FNRztJQUNILE1BQU0sdUJBQXVCLEdBQUcsT0FBTyxDQUFDO0lBQ3hDLE1BQU0sd0JBQXdCLEdBQUcsbUJBQW1CLENBQUM7SUFDckQsTUFBTSxzQkFBc0IsR0FBRyxtQkFBbUIsQ0FBQztJQUNuRCxNQUFNLDBCQUEwQixHQUFHLG9CQUFvQixDQUFDO0lBQ3hELE1BQU0sMEJBQTBCLEdBQUcsUUFBUSxDQUFDO0lBRTVDOzs7Ozs7Ozs7T0FTRztJQUNILFNBQWdCLFVBQVUsQ0FBQyxHQUFXO1FBQ3BDLE9BQU8sR0FBRyxDQUFDLE9BQU8sQ0FBQyx3QkFBd0IsRUFBRSxPQUFPLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUN0RSxDQUFDO0lBRkQsZ0NBRUM7SUFFRDs7Ozs7Ozs7O09BU0c7SUFDSCxTQUFnQixTQUFTLENBQUMsR0FBWTtRQUNwQyxPQUFPLFVBQVUsQ0FBQyxHQUFHLElBQUksRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLHVCQUF1QixFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQ3JFLENBQUM7SUFGRCw4QkFFQztJQUVEOzs7Ozs7Ozs7O09BVUc7SUFDSCxTQUFnQixRQUFRLENBQUMsR0FBVztRQUNsQyxPQUFPLEdBQUc7YUFDUCxPQUFPLENBQ04sc0JBQXNCLEVBQ3RCLENBQUMsTUFBYyxFQUFFLFVBQWtCLEVBQUUsR0FBVyxFQUFFLEVBQUU7WUFDbEQsT0FBTyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQ3RDLENBQUMsQ0FDRjthQUNBLE9BQU8sQ0FBQyxVQUFVLEVBQUUsQ0FBQyxLQUFhLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO0lBQ2pFLENBQUM7SUFURCw0QkFTQztJQUVEOzs7Ozs7Ozs7T0FTRztJQUNILFNBQWdCLFFBQVEsQ0FBQyxHQUFXO1FBQ2xDLE9BQU8sR0FBRzthQUNQLEtBQUssQ0FBQyxHQUFHLENBQUM7YUFDVixHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7YUFDdkMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ2YsQ0FBQztJQUxELDRCQUtDO0lBRUQ7Ozs7Ozs7Ozs7T0FVRztJQUNILFNBQWdCLFVBQVUsQ0FBQyxHQUFXO1FBQ3BDLE9BQU8sR0FBRzthQUNQLE9BQU8sQ0FBQywwQkFBMEIsRUFBRSxPQUFPLENBQUM7YUFDNUMsT0FBTyxDQUFDLDBCQUEwQixFQUFFLEdBQUcsQ0FBQzthQUN4QyxXQUFXLEVBQUUsQ0FBQztJQUNuQixDQUFDO0lBTEQsZ0NBS0M7SUFFRDs7Ozs7Ozs7O09BU0c7SUFDSCxTQUFnQixVQUFVLENBQUMsR0FBVztRQUNwQyxPQUFPLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNyRCxDQUFDO0lBRkQsZ0NBRUM7SUFFRDs7Ozs7Ozs7OztPQVVHO0lBQ0gsU0FBZ0IsU0FBUyxDQUFDLEdBQVc7UUFDbkMsT0FBTyxRQUFRLENBQ2IsQ0FBQyxjQUFjLEVBQUUsUUFBUSxFQUFFLDBCQUEwQixDQUFDLENBQUMsR0FBRyxDQUN4RCxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUFFLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FDeEQsSUFBSSxHQUFHLEdBQUcsR0FBRyxDQUNmLENBQUM7SUFDSixDQUFDO0lBTkQsOEJBTUM7SUFFRCxTQUFnQixLQUFLLENBQUMsSUFBWSxFQUFFLEtBQXlCO1FBQzNELE9BQU8sS0FBSyxDQUFDLENBQUMsQ0FBQyxHQUFHLEtBQUssSUFBSSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0lBQzNDLENBQUM7SUFGRCxzQkFFQztJQUVELFNBQWdCLFdBQVcsQ0FDekIsS0FBMEIsRUFDMUIsSUFBeUIsRUFDekIsSUFBWSxFQUNaLElBQVk7UUFFWixJQUFJLEtBQUssSUFBSSxDQUFDLElBQUksRUFBRTtZQUNsQixPQUFPLFNBQVMsSUFBSSxJQUFJLElBQUksR0FBRyxDQUFDO1NBQ2pDO1FBRUQsT0FBTyxLQUFLLENBQUMsQ0FBQyxDQUFDLE1BQU0sSUFBSSxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUN0QyxDQUFDO0lBWEQsa0NBV0MiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZVxuICovXG5jb25zdCBTVFJJTkdfREFTSEVSSVpFX1JFR0VYUCA9IC9bIF9dL2c7XG5jb25zdCBTVFJJTkdfREVDQU1FTElaRV9SRUdFWFAgPSAvKFthLXpcXGRdKShbQS1aXSkvZztcbmNvbnN0IFNUUklOR19DQU1FTElaRV9SRUdFWFAgPSAvKC18X3xcXC58XFxzKSsoLik/L2c7XG5jb25zdCBTVFJJTkdfVU5ERVJTQ09SRV9SRUdFWFBfMSA9IC8oW2EtelxcZF0pKFtBLVpdKykvZztcbmNvbnN0IFNUUklOR19VTkRFUlNDT1JFX1JFR0VYUF8yID0gLy18XFxzKy9nO1xuXG4vKipcbiAqIENvbnZlcnRzIGEgY2FtZWxpemVkIHN0cmluZyBpbnRvIGFsbCBsb3dlciBjYXNlIHNlcGFyYXRlZCBieSB1bmRlcnNjb3Jlcy5cbiAqXG4gYGBgamF2YXNjcmlwdFxuIGRlY2FtZWxpemUoJ2lubmVySFRNTCcpOyAgICAgICAgIC8vICdpbm5lcl9odG1sJ1xuIGRlY2FtZWxpemUoJ2FjdGlvbl9uYW1lJyk7ICAgICAgIC8vICdhY3Rpb25fbmFtZSdcbiBkZWNhbWVsaXplKCdjc3MtY2xhc3MtbmFtZScpOyAgICAvLyAnY3NzLWNsYXNzLW5hbWUnXG4gZGVjYW1lbGl6ZSgnbXkgZmF2b3JpdGUgaXRlbXMnKTsgLy8gJ215IGZhdm9yaXRlIGl0ZW1zJ1xuIGBgYFxuICovXG5leHBvcnQgZnVuY3Rpb24gZGVjYW1lbGl6ZShzdHI6IHN0cmluZyk6IHN0cmluZyB7XG4gIHJldHVybiBzdHIucmVwbGFjZShTVFJJTkdfREVDQU1FTElaRV9SRUdFWFAsICckMV8kMicpLnRvTG93ZXJDYXNlKCk7XG59XG5cbi8qKlxuIFJlcGxhY2VzIHVuZGVyc2NvcmVzLCBzcGFjZXMsIG9yIGNhbWVsQ2FzZSB3aXRoIGRhc2hlcy5cblxuIGBgYGphdmFzY3JpcHRcbiBkYXNoZXJpemUoJ2lubmVySFRNTCcpOyAgICAgICAgIC8vICdpbm5lci1odG1sJ1xuIGRhc2hlcml6ZSgnYWN0aW9uX25hbWUnKTsgICAgICAgLy8gJ2FjdGlvbi1uYW1lJ1xuIGRhc2hlcml6ZSgnY3NzLWNsYXNzLW5hbWUnKTsgICAgLy8gJ2Nzcy1jbGFzcy1uYW1lJ1xuIGRhc2hlcml6ZSgnbXkgZmF2b3JpdGUgaXRlbXMnKTsgLy8gJ215LWZhdm9yaXRlLWl0ZW1zJ1xuIGBgYFxuICovXG5leHBvcnQgZnVuY3Rpb24gZGFzaGVyaXplKHN0cj86IHN0cmluZyk6IHN0cmluZyB7XG4gIHJldHVybiBkZWNhbWVsaXplKHN0ciB8fCAnJykucmVwbGFjZShTVFJJTkdfREFTSEVSSVpFX1JFR0VYUCwgJy0nKTtcbn1cblxuLyoqXG4gUmV0dXJucyB0aGUgbG93ZXJDYW1lbENhc2UgZm9ybSBvZiBhIHN0cmluZy5cblxuIGBgYGphdmFzY3JpcHRcbiBjYW1lbGl6ZSgnaW5uZXJIVE1MJyk7ICAgICAgICAgIC8vICdpbm5lckhUTUwnXG4gY2FtZWxpemUoJ2FjdGlvbl9uYW1lJyk7ICAgICAgICAvLyAnYWN0aW9uTmFtZSdcbiBjYW1lbGl6ZSgnY3NzLWNsYXNzLW5hbWUnKTsgICAgIC8vICdjc3NDbGFzc05hbWUnXG4gY2FtZWxpemUoJ215IGZhdm9yaXRlIGl0ZW1zJyk7ICAvLyAnbXlGYXZvcml0ZUl0ZW1zJ1xuIGNhbWVsaXplKCdNeSBGYXZvcml0ZSBJdGVtcycpOyAgLy8gJ215RmF2b3JpdGVJdGVtcydcbiBgYGBcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNhbWVsaXplKHN0cjogc3RyaW5nKTogc3RyaW5nIHtcbiAgcmV0dXJuIHN0clxuICAgIC5yZXBsYWNlKFxuICAgICAgU1RSSU5HX0NBTUVMSVpFX1JFR0VYUCxcbiAgICAgIChfbWF0Y2g6IHN0cmluZywgX3NlcGFyYXRvcjogc3RyaW5nLCBjaHI6IHN0cmluZykgPT4ge1xuICAgICAgICByZXR1cm4gY2hyID8gY2hyLnRvVXBwZXJDYXNlKCkgOiAnJztcbiAgICAgIH1cbiAgICApXG4gICAgLnJlcGxhY2UoL14oW0EtWl0pLywgKG1hdGNoOiBzdHJpbmcpID0+IG1hdGNoLnRvTG93ZXJDYXNlKCkpO1xufVxuXG4vKipcbiBSZXR1cm5zIHRoZSBVcHBlckNhbWVsQ2FzZSBmb3JtIG9mIGEgc3RyaW5nLlxuXG4gYGBgamF2YXNjcmlwdFxuICdpbm5lckhUTUwnLmNsYXNzaWZ5KCk7ICAgICAgICAgIC8vICdJbm5lckhUTUwnXG4gJ2FjdGlvbl9uYW1lJy5jbGFzc2lmeSgpOyAgICAgICAgLy8gJ0FjdGlvbk5hbWUnXG4gJ2Nzcy1jbGFzcy1uYW1lJy5jbGFzc2lmeSgpOyAgICAgLy8gJ0Nzc0NsYXNzTmFtZSdcbiAnbXkgZmF2b3JpdGUgaXRlbXMnLmNsYXNzaWZ5KCk7ICAvLyAnTXlGYXZvcml0ZUl0ZW1zJ1xuIGBgYFxuICovXG5leHBvcnQgZnVuY3Rpb24gY2xhc3NpZnkoc3RyOiBzdHJpbmcpOiBzdHJpbmcge1xuICByZXR1cm4gc3RyXG4gICAgLnNwbGl0KCcuJylcbiAgICAubWFwKHBhcnQgPT4gY2FwaXRhbGl6ZShjYW1lbGl6ZShwYXJ0KSkpXG4gICAgLmpvaW4oJy4nKTtcbn1cblxuLyoqXG4gTW9yZSBnZW5lcmFsIHRoYW4gZGVjYW1lbGl6ZS4gUmV0dXJucyB0aGUgbG93ZXJcXF9jYXNlXFxfYW5kXFxfdW5kZXJzY29yZWRcbiBmb3JtIG9mIGEgc3RyaW5nLlxuXG4gYGBgamF2YXNjcmlwdFxuICdpbm5lckhUTUwnLnVuZGVyc2NvcmUoKTsgICAgICAgICAgLy8gJ2lubmVyX2h0bWwnXG4gJ2FjdGlvbl9uYW1lJy51bmRlcnNjb3JlKCk7ICAgICAgICAvLyAnYWN0aW9uX25hbWUnXG4gJ2Nzcy1jbGFzcy1uYW1lJy51bmRlcnNjb3JlKCk7ICAgICAvLyAnY3NzX2NsYXNzX25hbWUnXG4gJ215IGZhdm9yaXRlIGl0ZW1zJy51bmRlcnNjb3JlKCk7ICAvLyAnbXlfZmF2b3JpdGVfaXRlbXMnXG4gYGBgXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB1bmRlcnNjb3JlKHN0cjogc3RyaW5nKTogc3RyaW5nIHtcbiAgcmV0dXJuIHN0clxuICAgIC5yZXBsYWNlKFNUUklOR19VTkRFUlNDT1JFX1JFR0VYUF8xLCAnJDFfJDInKVxuICAgIC5yZXBsYWNlKFNUUklOR19VTkRFUlNDT1JFX1JFR0VYUF8yLCAnXycpXG4gICAgLnRvTG93ZXJDYXNlKCk7XG59XG5cbi8qKlxuIFJldHVybnMgdGhlIENhcGl0YWxpemVkIGZvcm0gb2YgYSBzdHJpbmdcblxuIGBgYGphdmFzY3JpcHRcbiAnaW5uZXJIVE1MJy5jYXBpdGFsaXplKCkgICAgICAgICAvLyAnSW5uZXJIVE1MJ1xuICdhY3Rpb25fbmFtZScuY2FwaXRhbGl6ZSgpICAgICAgIC8vICdBY3Rpb25fbmFtZSdcbiAnY3NzLWNsYXNzLW5hbWUnLmNhcGl0YWxpemUoKSAgICAvLyAnQ3NzLWNsYXNzLW5hbWUnXG4gJ215IGZhdm9yaXRlIGl0ZW1zJy5jYXBpdGFsaXplKCkgLy8gJ015IGZhdm9yaXRlIGl0ZW1zJ1xuIGBgYFxuICovXG5leHBvcnQgZnVuY3Rpb24gY2FwaXRhbGl6ZShzdHI6IHN0cmluZyk6IHN0cmluZyB7XG4gIHJldHVybiBzdHIuY2hhckF0KDApLnRvVXBwZXJDYXNlKCkgKyBzdHIuc3Vic3RyKDEpO1xufVxuXG4vKipcbiBSZXR1cm5zIHRoZSBwbHVyYWwgZm9ybSBvZiBhIHN0cmluZ1xuXG4gYGBgamF2YXNjcmlwdFxuICdpbm5lckhUTUwnLnBsdXJhbGl6ZSgpICAgICAgICAgLy8gJ0lubmVySFRNTHMnXG4gJ2FjdGlvbl9uYW1lJy5wbHVyYWxpemUoKSAgICAgICAvLyAnYWN0aW9uTmFtZXMnXG4gJ2Nzcy1jbGFzcy1uYW1lJy5wbHVyYWxpemUoKSAgICAvLyAnY3NzQ2xhc3NOYW1lcydcbiAncmVnZXgnLnBsdXJhbGl6ZSgpICAgICAgICAgICAgLy8gJ3JlZ2V4ZXMnXG4gJ3VzZXInLnBsdXJhbGl6ZSgpICAgICAgICAgICAgIC8vICd1c2VycydcbiBgYGBcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHBsdXJhbGl6ZShzdHI6IHN0cmluZyk6IHN0cmluZyB7XG4gIHJldHVybiBjYW1lbGl6ZShcbiAgICBbLyhbXmFlaW91XSl5JC8sIC8oKWZlPyQvLCAvKFteYWVpb3Vdb3xbc3h6XXxbY3NdaCkkL10ubWFwKFxuICAgICAgKGMsIGkpID0+IChzdHIgPSBzdHIucmVwbGFjZShjLCBgJDEkeydpdidbaV0gfHwgJyd9ZWApKVxuICAgICkgJiYgc3RyICsgJ3MnXG4gICk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBncm91cChuYW1lOiBzdHJpbmcsIGdyb3VwOiBzdHJpbmcgfCB1bmRlZmluZWQpIHtcbiAgcmV0dXJuIGdyb3VwID8gYCR7Z3JvdXB9LyR7bmFtZX1gIDogbmFtZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGZlYXR1cmVQYXRoKFxuICBncm91cDogYm9vbGVhbiB8IHVuZGVmaW5lZCxcbiAgZmxhdDogYm9vbGVhbiB8IHVuZGVmaW5lZCxcbiAgcGF0aDogc3RyaW5nLFxuICBuYW1lOiBzdHJpbmdcbikge1xuICBpZiAoZ3JvdXAgJiYgIWZsYXQpIHtcbiAgICByZXR1cm4gYC4uLy4uLyR7cGF0aH0vJHtuYW1lfS9gO1xuICB9XG5cbiAgcmV0dXJuIGdyb3VwID8gYC4uLyR7cGF0aH0vYCA6ICcuLyc7XG59XG4iXX0=
|
|
@@ -9,26 +9,26 @@
|
|
|
9
9
|
})(function (require, exports) {
|
|
10
10
|
"use strict";
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
|
|
12
|
+
const schematics_1 = require("@angular-devkit/schematics");
|
|
13
13
|
function updatePackage(name) {
|
|
14
|
-
return
|
|
15
|
-
|
|
16
|
-
|
|
14
|
+
return (tree, context) => {
|
|
15
|
+
const pkgPath = '/package.json';
|
|
16
|
+
const buffer = tree.read(pkgPath);
|
|
17
17
|
if (buffer === null) {
|
|
18
18
|
throw new schematics_1.SchematicsException('Could not read package.json');
|
|
19
19
|
}
|
|
20
|
-
|
|
21
|
-
|
|
20
|
+
const content = buffer.toString();
|
|
21
|
+
const pkg = JSON.parse(content);
|
|
22
22
|
if (pkg === null || typeof pkg !== 'object' || Array.isArray(pkg)) {
|
|
23
23
|
throw new schematics_1.SchematicsException('Error reading package.json');
|
|
24
24
|
}
|
|
25
|
-
|
|
26
|
-
dependencyCategories.forEach(
|
|
27
|
-
|
|
25
|
+
const dependencyCategories = ['dependencies', 'devDependencies'];
|
|
26
|
+
dependencyCategories.forEach(category => {
|
|
27
|
+
const packageName = `@ngrx/${name}`;
|
|
28
28
|
if (pkg[category] && pkg[category][packageName]) {
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
pkg[category][packageName] = suffix
|
|
29
|
+
const firstChar = pkg[category][packageName][0];
|
|
30
|
+
const suffix = match(firstChar, '^') || match(firstChar, '~');
|
|
31
|
+
pkg[category][packageName] = `${suffix}6.0.0`;
|
|
32
32
|
}
|
|
33
33
|
});
|
|
34
34
|
tree.overwrite(pkgPath, JSON.stringify(pkg, null, 2));
|
|
@@ -40,4 +40,4 @@
|
|
|
40
40
|
return value === test ? test : '';
|
|
41
41
|
}
|
|
42
42
|
});
|
|
43
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
43
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBkYXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbW9kdWxlcy9zdG9yZS1kZXZ0b29scy9zY2hlbWF0aWNzLWNvcmUvdXRpbGl0eS91cGRhdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7SUFBQSwyREFLb0M7SUFFcEMsU0FBZ0IsYUFBYSxDQUFDLElBQVk7UUFDeEMsT0FBTyxDQUFDLElBQVUsRUFBRSxPQUF5QixFQUFFLEVBQUU7WUFDL0MsTUFBTSxPQUFPLEdBQUcsZUFBZSxDQUFDO1lBQ2hDLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDbEMsSUFBSSxNQUFNLEtBQUssSUFBSSxFQUFFO2dCQUNuQixNQUFNLElBQUksZ0NBQW1CLENBQUMsNkJBQTZCLENBQUMsQ0FBQzthQUM5RDtZQUNELE1BQU0sT0FBTyxHQUFHLE1BQU0sQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNsQyxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBRWhDLElBQUksR0FBRyxLQUFLLElBQUksSUFBSSxPQUFPLEdBQUcsS0FBSyxRQUFRLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRTtnQkFDakUsTUFBTSxJQUFJLGdDQUFtQixDQUFDLDRCQUE0QixDQUFDLENBQUM7YUFDN0Q7WUFFRCxNQUFNLG9CQUFvQixHQUFHLENBQUMsY0FBYyxFQUFFLGlCQUFpQixDQUFDLENBQUM7WUFFakUsb0JBQW9CLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxFQUFFO2dCQUN0QyxNQUFNLFdBQVcsR0FBRyxTQUFTLElBQUksRUFBRSxDQUFDO2dCQUVwQyxJQUFJLEdBQUcsQ0FBQyxRQUFRLENBQUMsSUFBSSxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUMsV0FBVyxDQUFDLEVBQUU7b0JBQy9DLE1BQU0sU0FBUyxHQUFHLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztvQkFDaEQsTUFBTSxNQUFNLEdBQUcsS0FBSyxDQUFDLFNBQVMsRUFBRSxHQUFHLENBQUMsSUFBSSxLQUFLLENBQUMsU0FBUyxFQUFFLEdBQUcsQ0FBQyxDQUFDO29CQUU5RCxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUMsV0FBVyxDQUFDLEdBQUcsR0FBRyxNQUFNLE9BQU8sQ0FBQztpQkFDL0M7WUFDSCxDQUFDLENBQUMsQ0FBQztZQUVILElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBRXRELE9BQU8sSUFBSSxDQUFDO1FBQ2QsQ0FBQyxDQUFDO0lBQ0osQ0FBQztJQS9CRCxzQ0ErQkM7SUFFRCxTQUFTLEtBQUssQ0FBQyxLQUFhLEVBQUUsSUFBWTtRQUN4QyxPQUFPLEtBQUssS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0lBQ3BDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBSdWxlLFxuICBTY2hlbWF0aWNDb250ZXh0LFxuICBUcmVlLFxuICBTY2hlbWF0aWNzRXhjZXB0aW9uLFxufSBmcm9tICdAYW5ndWxhci1kZXZraXQvc2NoZW1hdGljcyc7XG5cbmV4cG9ydCBmdW5jdGlvbiB1cGRhdGVQYWNrYWdlKG5hbWU6IHN0cmluZyk6IFJ1bGUge1xuICByZXR1cm4gKHRyZWU6IFRyZWUsIGNvbnRleHQ6IFNjaGVtYXRpY0NvbnRleHQpID0+IHtcbiAgICBjb25zdCBwa2dQYXRoID0gJy9wYWNrYWdlLmpzb24nO1xuICAgIGNvbnN0IGJ1ZmZlciA9IHRyZWUucmVhZChwa2dQYXRoKTtcbiAgICBpZiAoYnVmZmVyID09PSBudWxsKSB7XG4gICAgICB0aHJvdyBuZXcgU2NoZW1hdGljc0V4Y2VwdGlvbignQ291bGQgbm90IHJlYWQgcGFja2FnZS5qc29uJyk7XG4gICAgfVxuICAgIGNvbnN0IGNvbnRlbnQgPSBidWZmZXIudG9TdHJpbmcoKTtcbiAgICBjb25zdCBwa2cgPSBKU09OLnBhcnNlKGNvbnRlbnQpO1xuXG4gICAgaWYgKHBrZyA9PT0gbnVsbCB8fCB0eXBlb2YgcGtnICE9PSAnb2JqZWN0JyB8fCBBcnJheS5pc0FycmF5KHBrZykpIHtcbiAgICAgIHRocm93IG5ldyBTY2hlbWF0aWNzRXhjZXB0aW9uKCdFcnJvciByZWFkaW5nIHBhY2thZ2UuanNvbicpO1xuICAgIH1cblxuICAgIGNvbnN0IGRlcGVuZGVuY3lDYXRlZ29yaWVzID0gWydkZXBlbmRlbmNpZXMnLCAnZGV2RGVwZW5kZW5jaWVzJ107XG5cbiAgICBkZXBlbmRlbmN5Q2F0ZWdvcmllcy5mb3JFYWNoKGNhdGVnb3J5ID0+IHtcbiAgICAgIGNvbnN0IHBhY2thZ2VOYW1lID0gYEBuZ3J4LyR7bmFtZX1gO1xuXG4gICAgICBpZiAocGtnW2NhdGVnb3J5XSAmJiBwa2dbY2F0ZWdvcnldW3BhY2thZ2VOYW1lXSkge1xuICAgICAgICBjb25zdCBmaXJzdENoYXIgPSBwa2dbY2F0ZWdvcnldW3BhY2thZ2VOYW1lXVswXTtcbiAgICAgICAgY29uc3Qgc3VmZml4ID0gbWF0Y2goZmlyc3RDaGFyLCAnXicpIHx8IG1hdGNoKGZpcnN0Q2hhciwgJ34nKTtcblxuICAgICAgICBwa2dbY2F0ZWdvcnldW3BhY2thZ2VOYW1lXSA9IGAke3N1ZmZpeH02LjAuMGA7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICB0cmVlLm92ZXJ3cml0ZShwa2dQYXRoLCBKU09OLnN0cmluZ2lmeShwa2csIG51bGwsIDIpKTtcblxuICAgIHJldHVybiB0cmVlO1xuICB9O1xufVxuXG5mdW5jdGlvbiBtYXRjaCh2YWx1ZTogc3RyaW5nLCB0ZXN0OiBzdHJpbmcpIHtcbiAgcmV0dXJuIHZhbHVlID09PSB0ZXN0ID8gdGVzdCA6ICcnO1xufVxuIl19
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"__symbolic":"module","version":4,"metadata":{"ɵngrx_modules_store_devtools_store_devtools_a":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":20,"character":51},"arguments":["Is Devtools Extension or Monitor Present"]},"ɵngrx_modules_store_devtools_store_devtools_b":{"__symbolic":"function","parameters":["extension","config"],"value":{"__symbolic":"binop","operator":"||","left":{"__symbolic":"call","expression":{"__symbolic":"reference","name":"Boolean"},"arguments":[{"__symbolic":"reference","name":"extension"}]},"right":{"__symbolic":"binop","operator":"!==","left":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"config"},"member":"monitor"},"right":{"__symbolic":"reference","name":"ɵngrx_modules_store_devtools_store_devtools_g"}}}},"ɵngrx_modules_store_devtools_store_devtools_c":{"__symbolic":"function"},"ɵngrx_modules_store_devtools_store_devtools_d":{"__symbolic":"function","parameters":["devtools"],"value":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"devtools"},"member":"state"}},"ɵngrx_modules_store_devtools_store_devtools_e":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":28,"character":41},"arguments":["@ngrx/devtools Options"]},"ɵngrx_modules_store_devtools_store_devtools_f":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":31,"character":35},"arguments":["@ngrx/devtools Initial Config"]},"ɵngrx_modules_store_devtools_store_devtools_g":{"__symbolic":"function","parameters":[],"value":null},"ɵngrx_modules_store_devtools_store_devtools_h":{"__symbolic":"function"},"StoreDevtoolsModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":50,"character":1},"arguments":[{}]}],"members":{},"statics":{"instrument":{"__symbolic":"function","parameters":["options"],"defaults":[{}],"value":{"ngModule":{"__symbolic":"reference","name":"StoreDevtoolsModule"},"providers":[{"__symbolic":"reference","name":"ɵngrx_modules_store_devtools_store_devtools_j"},{"__symbolic":"reference","name":"ɵngrx_modules_store_devtools_store_devtools_k"},{"__symbolic":"reference","name":"StoreDevtools"},{"provide":{"__symbolic":"reference","name":"ɵngrx_modules_store_devtools_store_devtools_f"},"useValue":{"__symbolic":"reference","name":"options"}},{"provide":{"__symbolic":"reference","name":"ɵngrx_modules_store_devtools_store_devtools_a"},"deps":[{"__symbolic":"reference","name":"ɵngrx_modules_store_devtools_store_devtools_i"},{"__symbolic":"reference","name":"ɵngrx_modules_store_devtools_store_devtools_e"}],"useFactory":{"__symbolic":"reference","name":"ɵngrx_modules_store_devtools_store_devtools_b"}},{"provide":{"__symbolic":"reference","name":"ɵngrx_modules_store_devtools_store_devtools_i"},"useFactory":{"__symbolic":"reference","name":"ɵngrx_modules_store_devtools_store_devtools_c"}},{"provide":{"__symbolic":"reference","name":"ɵngrx_modules_store_devtools_store_devtools_e"},"deps":[{"__symbolic":"reference","name":"ɵngrx_modules_store_devtools_store_devtools_f"}],"useFactory":{"__symbolic":"reference","name":"ɵngrx_modules_store_devtools_store_devtools_h"}},{"provide":{"__symbolic":"reference","module":"@ngrx/store","name":"StateObservable","line":80,"character":19},"deps":[{"__symbolic":"reference","name":"StoreDevtools"}],"useFactory":{"__symbolic":"reference","name":"ɵngrx_modules_store_devtools_store_devtools_d"}},{"provide":{"__symbolic":"reference","module":"@ngrx/store","name":"ReducerManagerDispatcher","line":85,"character":19},"useExisting":{"__symbolic":"reference","name":"ɵngrx_modules_store_devtools_store_devtools_k"}}]}}}},"LiftedState":{"__symbolic":"interface"},"RECOMPUTE":"@ngrx/store-devtools/recompute","StoreDevtools":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":
|
|
1
|
+
{"__symbolic":"module","version":4,"metadata":{"ɵngrx_modules_store_devtools_store_devtools_a":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":20,"character":51},"arguments":["Is Devtools Extension or Monitor Present"]},"ɵngrx_modules_store_devtools_store_devtools_b":{"__symbolic":"function","parameters":["extension","config"],"value":{"__symbolic":"binop","operator":"||","left":{"__symbolic":"call","expression":{"__symbolic":"reference","name":"Boolean"},"arguments":[{"__symbolic":"reference","name":"extension"}]},"right":{"__symbolic":"binop","operator":"!==","left":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"config"},"member":"monitor"},"right":{"__symbolic":"reference","name":"ɵngrx_modules_store_devtools_store_devtools_g"}}}},"ɵngrx_modules_store_devtools_store_devtools_c":{"__symbolic":"function"},"ɵngrx_modules_store_devtools_store_devtools_d":{"__symbolic":"function","parameters":["devtools"],"value":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"devtools"},"member":"state"}},"ɵngrx_modules_store_devtools_store_devtools_e":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":28,"character":41},"arguments":["@ngrx/devtools Options"]},"ɵngrx_modules_store_devtools_store_devtools_f":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":31,"character":35},"arguments":["@ngrx/devtools Initial Config"]},"ɵngrx_modules_store_devtools_store_devtools_g":{"__symbolic":"function","parameters":[],"value":null},"ɵngrx_modules_store_devtools_store_devtools_h":{"__symbolic":"function"},"StoreDevtoolsModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":50,"character":1},"arguments":[{}]}],"members":{},"statics":{"instrument":{"__symbolic":"function","parameters":["options"],"defaults":[{}],"value":{"ngModule":{"__symbolic":"reference","name":"StoreDevtoolsModule"},"providers":[{"__symbolic":"reference","name":"ɵngrx_modules_store_devtools_store_devtools_j"},{"__symbolic":"reference","name":"ɵngrx_modules_store_devtools_store_devtools_k"},{"__symbolic":"reference","name":"StoreDevtools"},{"provide":{"__symbolic":"reference","name":"ɵngrx_modules_store_devtools_store_devtools_f"},"useValue":{"__symbolic":"reference","name":"options"}},{"provide":{"__symbolic":"reference","name":"ɵngrx_modules_store_devtools_store_devtools_a"},"deps":[{"__symbolic":"reference","name":"ɵngrx_modules_store_devtools_store_devtools_i"},{"__symbolic":"reference","name":"ɵngrx_modules_store_devtools_store_devtools_e"}],"useFactory":{"__symbolic":"reference","name":"ɵngrx_modules_store_devtools_store_devtools_b"}},{"provide":{"__symbolic":"reference","name":"ɵngrx_modules_store_devtools_store_devtools_i"},"useFactory":{"__symbolic":"reference","name":"ɵngrx_modules_store_devtools_store_devtools_c"}},{"provide":{"__symbolic":"reference","name":"ɵngrx_modules_store_devtools_store_devtools_e"},"deps":[{"__symbolic":"reference","name":"ɵngrx_modules_store_devtools_store_devtools_f"}],"useFactory":{"__symbolic":"reference","name":"ɵngrx_modules_store_devtools_store_devtools_h"}},{"provide":{"__symbolic":"reference","module":"@ngrx/store","name":"StateObservable","line":80,"character":19},"deps":[{"__symbolic":"reference","name":"StoreDevtools"}],"useFactory":{"__symbolic":"reference","name":"ɵngrx_modules_store_devtools_store_devtools_d"}},{"provide":{"__symbolic":"reference","module":"@ngrx/store","name":"ReducerManagerDispatcher","line":85,"character":19},"useExisting":{"__symbolic":"reference","name":"ɵngrx_modules_store_devtools_store_devtools_k"}}]}}}},"LiftedState":{"__symbolic":"interface"},"RECOMPUTE":"@ngrx/store-devtools/recompute","StoreDevtools":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":32,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[null,null,null,null,null,null,[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":47,"character":5},"arguments":[{"__symbolic":"reference","module":"@ngrx/store","name":"INITIAL_STATE","line":47,"character":12}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":48,"character":5},"arguments":[{"__symbolic":"reference","name":"ɵngrx_modules_store_devtools_store_devtools_e"}]}]],"parameters":[{"__symbolic":"reference","name":"ɵngrx_modules_store_devtools_store_devtools_k"},{"__symbolic":"reference","module":"@ngrx/store","name":"ActionsSubject","line":42,"character":14},{"__symbolic":"reference","module":"@ngrx/store","name":"ReducerObservable","line":43,"character":15},{"__symbolic":"reference","name":"ɵngrx_modules_store_devtools_store_devtools_j"},{"__symbolic":"reference","module":"@ngrx/store","name":"ScannedActionsSubject","line":45,"character":20},{"__symbolic":"reference","module":"@angular/core","name":"ErrorHandler","line":46,"character":18},{"__symbolic":"reference","name":"any"},{"__symbolic":"reference","name":"StoreDevtoolsConfig"}]}],"dispatch":[{"__symbolic":"method"}],"next":[{"__symbolic":"method"}],"error":[{"__symbolic":"method"}],"complete":[{"__symbolic":"method"}],"performAction":[{"__symbolic":"method"}],"refresh":[{"__symbolic":"method"}],"reset":[{"__symbolic":"method"}],"rollback":[{"__symbolic":"method"}],"commit":[{"__symbolic":"method"}],"sweep":[{"__symbolic":"method"}],"toggleAction":[{"__symbolic":"method"}],"jumpToAction":[{"__symbolic":"method"}],"jumpToState":[{"__symbolic":"method"}],"importState":[{"__symbolic":"method"}],"lockChanges":[{"__symbolic":"method"}],"pauseRecording":[{"__symbolic":"method"}]}},"StoreDevtoolsConfig":{"__symbolic":"class","members":{}},"StoreDevtoolsOptions":{"__symbolic":"interface"},"ɵngrx_modules_store_devtools_store_devtools_i":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":43,"character":44},"arguments":["Redux Devtools Extension"]},"ɵngrx_modules_store_devtools_store_devtools_j":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":68,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":78,"character":5},"arguments":[{"__symbolic":"reference","name":"ɵngrx_modules_store_devtools_store_devtools_i"}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":79,"character":5},"arguments":[{"__symbolic":"reference","name":"ɵngrx_modules_store_devtools_store_devtools_e"}]}],null],"parameters":[{"__symbolic":"reference","name":"any"},{"__symbolic":"reference","name":"StoreDevtoolsConfig"},{"__symbolic":"reference","name":"ɵngrx_modules_store_devtools_store_devtools_k"}]}],"notify":[{"__symbolic":"method"}],"createChangesObservable":[{"__symbolic":"method"}],"createActionStreams":[{"__symbolic":"method"}],"unwrapAction":[{"__symbolic":"method"}],"getExtensionConfig":[{"__symbolic":"method"}],"sendToReduxDevtools":[{"__symbolic":"method"}]}},"ɵngrx_modules_store_devtools_store_devtools_k":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"@ngrx/store","name":"ActionsSubject","line":4,"character":40},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":3,"character":1}}],"members":{}}},"origins":{"ɵngrx_modules_store_devtools_store_devtools_a":"./src/instrument","ɵngrx_modules_store_devtools_store_devtools_b":"./src/instrument","ɵngrx_modules_store_devtools_store_devtools_c":"./src/instrument","ɵngrx_modules_store_devtools_store_devtools_d":"./src/instrument","ɵngrx_modules_store_devtools_store_devtools_e":"./src/config","ɵngrx_modules_store_devtools_store_devtools_f":"./src/config","ɵngrx_modules_store_devtools_store_devtools_g":"./src/config","ɵngrx_modules_store_devtools_store_devtools_h":"./src/config","StoreDevtoolsModule":"./src/instrument","LiftedState":"./src/reducer","RECOMPUTE":"./src/reducer","StoreDevtools":"./src/devtools","StoreDevtoolsConfig":"./src/config","StoreDevtoolsOptions":"./src/config","ɵngrx_modules_store_devtools_store_devtools_i":"./src/extension","ɵngrx_modules_store_devtools_store_devtools_j":"./src/extension","ɵngrx_modules_store_devtools_store_devtools_k":"./src/devtools-dispatcher"},"importAs":"@ngrx/store-devtools"}
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
/// <amd-module name="@ngrx/store-devtools/schematics-core/utility/route-utils" />
|
|
2
|
-
/**
|
|
3
|
-
* @license
|
|
4
|
-
* Copyright Google Inc. All Rights Reserved.
|
|
5
|
-
*
|
|
6
|
-
* Use of this source code is governed by an MIT-style license that can be
|
|
7
|
-
* found in the LICENSE file at https://angular.io/license
|
|
8
|
-
*/
|
|
9
|
-
import * as ts from 'typescript';
|
|
10
|
-
import { Change } from './change';
|
|
11
|
-
/**
|
|
12
|
-
* Add Import `import { symbolName } from fileName` if the import doesn't exit
|
|
13
|
-
* already. Assumes fileToEdit can be resolved and accessed.
|
|
14
|
-
* @param fileToEdit (file we want to add import to)
|
|
15
|
-
* @param symbolName (item to import)
|
|
16
|
-
* @param fileName (path to the file)
|
|
17
|
-
* @param isDefault (if true, import follows style for importing default exports)
|
|
18
|
-
* @return Change
|
|
19
|
-
*/
|
|
20
|
-
export declare function insertImport(source: ts.SourceFile, fileToEdit: string, symbolName: string, fileName: string, isDefault?: boolean): Change;
|
|
@@ -1,84 +0,0 @@
|
|
|
1
|
-
(function (factory) {
|
|
2
|
-
if (typeof module === "object" && typeof module.exports === "object") {
|
|
3
|
-
var v = factory(require, exports);
|
|
4
|
-
if (v !== undefined) module.exports = v;
|
|
5
|
-
}
|
|
6
|
-
else if (typeof define === "function" && define.amd) {
|
|
7
|
-
define("@ngrx/store-devtools/schematics-core/utility/route-utils", ["require", "exports", "typescript", "@ngrx/store-devtools/schematics-core/utility/ast-utils", "@ngrx/store-devtools/schematics-core/utility/change"], factory);
|
|
8
|
-
}
|
|
9
|
-
})(function (require, exports) {
|
|
10
|
-
"use strict";
|
|
11
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
/**
|
|
13
|
-
* @license
|
|
14
|
-
* Copyright Google Inc. All Rights Reserved.
|
|
15
|
-
*
|
|
16
|
-
* Use of this source code is governed by an MIT-style license that can be
|
|
17
|
-
* found in the LICENSE file at https://angular.io/license
|
|
18
|
-
*/
|
|
19
|
-
var ts = require("typescript");
|
|
20
|
-
var ast_utils_1 = require("@ngrx/store-devtools/schematics-core/utility/ast-utils");
|
|
21
|
-
var change_1 = require("@ngrx/store-devtools/schematics-core/utility/change");
|
|
22
|
-
/**
|
|
23
|
-
* Add Import `import { symbolName } from fileName` if the import doesn't exit
|
|
24
|
-
* already. Assumes fileToEdit can be resolved and accessed.
|
|
25
|
-
* @param fileToEdit (file we want to add import to)
|
|
26
|
-
* @param symbolName (item to import)
|
|
27
|
-
* @param fileName (path to the file)
|
|
28
|
-
* @param isDefault (if true, import follows style for importing default exports)
|
|
29
|
-
* @return Change
|
|
30
|
-
*/
|
|
31
|
-
function insertImport(source, fileToEdit, symbolName, fileName, isDefault) {
|
|
32
|
-
if (isDefault === void 0) { isDefault = false; }
|
|
33
|
-
var rootNode = source;
|
|
34
|
-
var allImports = ast_utils_1.findNodes(rootNode, ts.SyntaxKind.ImportDeclaration);
|
|
35
|
-
// get nodes that map to import statements from the file fileName
|
|
36
|
-
var relevantImports = allImports.filter(function (node) {
|
|
37
|
-
// StringLiteral of the ImportDeclaration is the import file (fileName in this case).
|
|
38
|
-
var importFiles = node
|
|
39
|
-
.getChildren()
|
|
40
|
-
.filter(function (child) { return child.kind === ts.SyntaxKind.StringLiteral; })
|
|
41
|
-
.map(function (n) { return n.text; });
|
|
42
|
-
return importFiles.filter(function (file) { return file === fileName; }).length === 1;
|
|
43
|
-
});
|
|
44
|
-
if (relevantImports.length > 0) {
|
|
45
|
-
var importsAsterisk_1 = false;
|
|
46
|
-
// imports from import file
|
|
47
|
-
var imports_1 = [];
|
|
48
|
-
relevantImports.forEach(function (n) {
|
|
49
|
-
Array.prototype.push.apply(imports_1, ast_utils_1.findNodes(n, ts.SyntaxKind.Identifier));
|
|
50
|
-
if (ast_utils_1.findNodes(n, ts.SyntaxKind.AsteriskToken).length > 0) {
|
|
51
|
-
importsAsterisk_1 = true;
|
|
52
|
-
}
|
|
53
|
-
});
|
|
54
|
-
// if imports * from fileName, don't add symbolName
|
|
55
|
-
if (importsAsterisk_1) {
|
|
56
|
-
return new change_1.NoopChange();
|
|
57
|
-
}
|
|
58
|
-
var importTextNodes = imports_1.filter(function (n) { return n.text === symbolName; });
|
|
59
|
-
// insert import if it's not there
|
|
60
|
-
if (importTextNodes.length === 0) {
|
|
61
|
-
var fallbackPos_1 = ast_utils_1.findNodes(relevantImports[0], ts.SyntaxKind.CloseBraceToken)[0].getStart() ||
|
|
62
|
-
ast_utils_1.findNodes(relevantImports[0], ts.SyntaxKind.FromKeyword)[0].getStart();
|
|
63
|
-
return ast_utils_1.insertAfterLastOccurrence(imports_1, ", " + symbolName, fileToEdit, fallbackPos_1);
|
|
64
|
-
}
|
|
65
|
-
return new change_1.NoopChange();
|
|
66
|
-
}
|
|
67
|
-
// no such import declaration exists
|
|
68
|
-
var useStrict = ast_utils_1.findNodes(rootNode, ts.SyntaxKind.StringLiteral).filter(function (n) { return n.getText() === 'use strict'; });
|
|
69
|
-
var fallbackPos = 0;
|
|
70
|
-
if (useStrict.length > 0) {
|
|
71
|
-
fallbackPos = useStrict[0].end;
|
|
72
|
-
}
|
|
73
|
-
var open = isDefault ? '' : '{ ';
|
|
74
|
-
var close = isDefault ? '' : ' }';
|
|
75
|
-
// if there are no imports or 'use strict' statement, insert import at beginning of file
|
|
76
|
-
var insertAtBeginning = allImports.length === 0 && useStrict.length === 0;
|
|
77
|
-
var separator = insertAtBeginning ? '' : ';\n';
|
|
78
|
-
var toInsert = separator + "import " + open + symbolName + close +
|
|
79
|
-
(" from '" + fileName + "'" + (insertAtBeginning ? ';\n' : ''));
|
|
80
|
-
return ast_utils_1.insertAfterLastOccurrence(allImports, toInsert, fileToEdit, fallbackPos, ts.SyntaxKind.StringLiteral);
|
|
81
|
-
}
|
|
82
|
-
exports.insertImport = insertImport;
|
|
83
|
-
});
|
|
84
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUtdXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9tb2R1bGVzL3N0b3JlLWRldnRvb2xzL3NjaGVtYXRpY3MtY29yZS91dGlsaXR5L3JvdXRlLXV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0lBQUE7Ozs7OztPQU1HO0lBQ0gsK0JBQWlDO0lBQ2pDLG9GQUFtRTtJQUNuRSw4RUFBOEM7SUFFOUM7Ozs7Ozs7O09BUUc7SUFFSCxTQUFnQixZQUFZLENBQzFCLE1BQXFCLEVBQ3JCLFVBQWtCLEVBQ2xCLFVBQWtCLEVBQ2xCLFFBQWdCLEVBQ2hCLFNBQWlCO1FBQWpCLDBCQUFBLEVBQUEsaUJBQWlCO1FBRWpCLElBQU0sUUFBUSxHQUFHLE1BQU0sQ0FBQztRQUN4QixJQUFNLFVBQVUsR0FBRyxxQkFBUyxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsVUFBVSxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFFeEUsaUVBQWlFO1FBQ2pFLElBQU0sZUFBZSxHQUFHLFVBQVUsQ0FBQyxNQUFNLENBQUMsVUFBQSxJQUFJO1lBQzVDLHFGQUFxRjtZQUNyRixJQUFNLFdBQVcsR0FBRyxJQUFJO2lCQUNyQixXQUFXLEVBQUU7aUJBQ2IsTUFBTSxDQUFDLFVBQUEsS0FBSyxJQUFJLE9BQUEsS0FBSyxDQUFDLElBQUksS0FBSyxFQUFFLENBQUMsVUFBVSxDQUFDLGFBQWEsRUFBMUMsQ0FBMEMsQ0FBQztpQkFDM0QsR0FBRyxDQUFDLFVBQUEsQ0FBQyxJQUFJLE9BQUMsQ0FBc0IsQ0FBQyxJQUFJLEVBQTVCLENBQTRCLENBQUMsQ0FBQztZQUUxQyxPQUFPLFdBQVcsQ0FBQyxNQUFNLENBQUMsVUFBQSxJQUFJLElBQUksT0FBQSxJQUFJLEtBQUssUUFBUSxFQUFqQixDQUFpQixDQUFDLENBQUMsTUFBTSxLQUFLLENBQUMsQ0FBQztRQUNwRSxDQUFDLENBQUMsQ0FBQztRQUVILElBQUksZUFB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LENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FDNUIsQ0FBQztJQUNKLENBQUM7SUF4RkQsb0NBd0ZDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEdvb2dsZSBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2VcbiAqL1xuaW1wb3J0ICogYXMgdHMgZnJvbSAndHlwZXNjcmlwdCc7XG5pbXBvcnQgeyBmaW5kTm9kZXMsIGluc2VydEFmdGVyTGFzdE9jY3VycmVuY2UgfSBmcm9tICcuL2FzdC11dGlscyc7XG5pbXBvcnQgeyBDaGFuZ2UsIE5vb3BDaGFuZ2UgfSBmcm9tICcuL2NoYW5nZSc7XG5cbi8qKlxuICogQWRkIEltcG9ydCBgaW1wb3J0IHsgc3ltYm9sTmFtZSB9IGZyb20gZmlsZU5hbWVgIGlmIHRoZSBpbXBvcnQgZG9lc24ndCBleGl0XG4gKiBhbHJlYWR5LiBBc3N1bWVzIGZpbGVUb0VkaXQgY2FuIGJlIHJlc29sdmVkIGFuZCBhY2Nlc3NlZC5cbiAqIEBwYXJhbSBmaWxlVG9FZGl0IChmaWxlIHdlIHdhbnQgdG8gYWRkIGltcG9ydCB0bylcbiAqIEBwYXJhbSBzeW1ib2xOYW1lIChpdGVtIHRvIGltcG9ydClcbiAqIEBwYXJhbSBmaWxlTmFtZSAocGF0aCB0byB0aGUgZmlsZSlcbiAqIEBwYXJhbSBpc0RlZmF1bHQgKGlmIHRydWUsIGltcG9ydCBmb2xsb3dzIHN0eWxlIGZvciBpbXBvcnRpbmcgZGVmYXVsdCBleHBvcnRzKVxuICogQHJldHVybiBDaGFuZ2VcbiAqL1xuXG5leHBvcnQgZnVuY3Rpb24gaW5zZXJ0SW1wb3J0KFxuICBzb3VyY2U6IHRzLlNvdXJjZUZpbGUsXG4gIGZpbGVUb0VkaXQ6IHN0cmluZyxcbiAgc3ltYm9sTmFtZTogc3RyaW5nLFxuICBmaWxlTmFtZTogc3RyaW5nLFxuICBpc0RlZmF1bHQgPSBmYWxzZVxuKTogQ2hhbmdlIHtcbiAgY29uc3Qgcm9vdE5vZGUgPSBzb3VyY2U7XG4gIGNvbnN0IGFsbEltcG9ydHMgPSBmaW5kTm9kZXMocm9vdE5vZGUsIHRzLlN5bnRheEtpbmQuSW1wb3J0RGVjbGFyYXRpb24pO1xuXG4gIC8vIGdldCBub2RlcyB0aGF0IG1hcCB0byBpbXBvcnQgc3RhdGVtZW50cyBmcm9tIHRoZSBmaWxlIGZpbGVOYW1lXG4gIGNvbnN0IHJlbGV2YW50SW1wb3J0cyA9IGFsbEltcG9ydHMuZmlsdGVyKG5vZGUgPT4ge1xuICAgIC8vIFN0cmluZ0xpdGVyYWwgb2YgdGhlIEltcG9ydERlY2xhcmF0aW9uIGlzIHRoZSBpbXBvcnQgZmlsZSAoZmlsZU5hbWUgaW4gdGhpcyBjYXNlKS5cbiAgICBjb25zdCBpbXBvcnRGaWxlcyA9IG5vZGVcbiAgICAgIC5nZXRDaGlsZHJlbigpXG4gICAgICAuZmlsdGVyKGNoaWxkID0+IGNoaWxkLmtpbmQgPT09IHRzLlN5bnRheEtpbmQuU3RyaW5nTGl0ZXJhbClcbiAgICAgIC5tYXAobiA9PiAobiBhcyB0cy5TdHJpbmdMaXRlcmFsKS50ZXh0KTtcblxuICAgIHJldHVybiBpbXBvcnRGaWxlcy5maWx0ZXIoZmlsZSA9PiBmaWxlID09PSBmaWxlTmFtZSkubGVuZ3RoID09PSAxO1xuICB9KTtcblxuICBpZiAocmVsZXZhbnRJbXBvcnRzLmxlbmd0aCA+IDApIHtcbiAgICBsZXQgaW1wb3J0c0FzdGVyaXNrID0gZmFsc2U7XG4gICAgLy8gaW1wb3J0cyBmcm9tIGltcG9ydCBmaWxlXG4gICAgY29uc3QgaW1wb3J0czogdHMuTm9kZVtdID0gW107XG4gICAgcmVsZXZhbnRJbXBvcnRzLmZvckVhY2gobiA9PiB7XG4gICAgICBBcnJheS5wcm90b3R5cGUucHVzaC5hcHBseShcbiAgICAgICAgaW1wb3J0cyxcbiAgICAgICAgZmluZE5vZGVzKG4sIHRzLlN5bnRheEtpbmQuSWRlbnRpZmllcilcbiAgICAgICk7XG4gICAgICBpZiAoZmluZE5vZGVzKG4sIHRzLlN5bnRheEtpbmQuQXN0ZXJpc2tUb2tlbikubGVuZ3RoID4gMCkge1xuICAgICAgICBpbXBvcnRzQXN0ZXJpc2sgPSB0cnVlO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgLy8gaWYgaW1wb3J0cyAqIGZyb20gZmlsZU5hbWUsIGRvbid0IGFkZCBzeW1ib2xOYW1lXG4gICAgaWYgKGltcG9ydHNBc3Rlcmlzaykge1xuICAgICAgcmV0dXJuIG5ldyBOb29wQ2hhbmdlKCk7XG4gICAgfVxuXG4gICAgY29uc3QgaW1wb3J0VGV4dE5vZGVzID0gaW1wb3J0cy5maWx0ZXIoXG4gICAgICBuID0+IChuIGFzIHRzLklkZW50aWZpZXIpLnRleHQgPT09IHN5bWJvbE5hbWVcbiAgICApO1xuXG4gICAgLy8gaW5zZXJ0IGltcG9ydCBpZiBpdCdzIG5vdCB0aGVyZVxuICAgIGlmIChpbXBvcnRUZXh0Tm9kZXMubGVuZ3RoID09PSAwKSB7XG4gICAgICBjb25zdCBmYWxsYmFja1BvcyA9XG4gICAgICAgIGZpbmROb2RlcyhcbiAgICAgICAgICByZWxldmFudEltcG9ydHNbMF0sXG4gICAgICAgICAgdHMuU3ludGF4S2luZC5DbG9zZUJyYWNlVG9rZW5cbiAgICAgICAgKVswXS5nZXRTdGFydCgpIHx8XG4gICAgICAgIGZpbmROb2RlcyhyZWxldmFudEltcG9ydHNbMF0sIHRzLlN5bnRheEtpbmQuRnJvbUtleXdvcmQpWzBdLmdldFN0YXJ0KCk7XG5cbiAgICAgIHJldHVybiBpbnNlcnRBZnRlckxhc3RPY2N1cnJlbmNlKFxuICAgICAgICBpbXBvcnRzLFxuICAgICAgICBgLCAke3N5bWJvbE5hbWV9YCxcbiAgICAgICAgZmlsZVRvRWRpdCxcbiAgICAgICAgZmFsbGJhY2tQb3NcbiAgICAgICk7XG4gICAgfVxuXG4gICAgcmV0dXJuIG5ldyBOb29wQ2hhbmdlKCk7XG4gIH1cblxuICAvLyBubyBzdWNoIGltcG9ydCBkZWNsYXJhdGlvbiBleGlzdHNcbiAgY29uc3QgdXNlU3RyaWN0ID0gZmluZE5vZGVzKHJvb3ROb2RlLCB0cy5TeW50YXhLaW5kLlN0cmluZ0xpdGVyYWwpLmZpbHRlcihcbiAgICBuID0+IG4uZ2V0VGV4dCgpID09PSAndXNlIHN0cmljdCdcbiAgKTtcbiAgbGV0IGZhbGxiYWNrUG9zID0gMDtcbiAgaWYgKHVzZVN0cmljdC5sZW5ndGggPiAwKSB7XG4gICAgZmFsbGJhY2tQb3MgPSB1c2VTdHJpY3RbMF0uZW5kO1xuICB9XG4gIGNvbnN0IG9wZW4gPSBpc0RlZmF1bHQgPyAnJyA6ICd7ICc7XG4gIGNvbnN0IGNsb3NlID0gaXNEZWZhdWx0ID8gJycgOiAnIH0nO1xuICAvLyBpZiB0aGVyZSBhcmUgbm8gaW1wb3J0cyBvciAndXNlIHN0cmljdCcgc3RhdGVtZW50LCBpbnNlcnQgaW1wb3J0IGF0IGJlZ2lubmluZyBvZiBmaWxlXG4gIGNvbnN0IGluc2VydEF0QmVnaW5uaW5nID0gYWxsSW1wb3J0cy5sZW5ndGggPT09IDAgJiYgdXNlU3RyaWN0Lmxlbmd0aCA9PT0gMDtcbiAgY29uc3Qgc2VwYXJhdG9yID0gaW5zZXJ0QXRCZWdpbm5pbmcgPyAnJyA6ICc7XFxuJztcbiAgY29uc3QgdG9JbnNlcnQgPVxuICAgIGAke3NlcGFyYXRvcn1pbXBvcnQgJHtvcGVufSR7c3ltYm9sTmFtZX0ke2Nsb3NlfWAgK1xuICAgIGAgZnJvbSAnJHtmaWxlTmFtZX0nJHtpbnNlcnRBdEJlZ2lubmluZyA/ICc7XFxuJyA6ICcnfWA7XG5cbiAgcmV0dXJuIGluc2VydEFmdGVyTGFzdE9jY3VycmVuY2UoXG4gICAgYWxsSW1wb3J0cyxcbiAgICB0b0luc2VydCxcbiAgICBmaWxlVG9FZGl0LFxuICAgIGZhbGxiYWNrUG9zLFxuICAgIHRzLlN5bnRheEtpbmQuU3RyaW5nTGl0ZXJhbFxuICApO1xufVxuIl19
|