magic-renamer 18.0.10 → 18.0.13
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/assets/shared/shared_folder_info.txt +1 -1
- package/browser/esm2022/lib/index.mjs +2 -1
- package/browser/esm2022/lib/magic-renamer.mjs +4 -1
- package/browser/esm2022/lib/rename-rule.mjs +105 -0
- package/browser/fesm2022/magic-renamer.mjs +109 -2
- package/browser/fesm2022/magic-renamer.mjs.map +1 -1
- package/browser/lib/index.d.ts +1 -0
- package/browser/lib/rename-rule.d.ts +32 -0
- package/client/esm2022/lib/index.mjs +2 -1
- package/client/esm2022/lib/magic-renamer.mjs +4 -1
- package/client/esm2022/lib/rename-rule.mjs +105 -0
- package/client/fesm2022/magic-renamer.mjs +109 -2
- package/client/fesm2022/magic-renamer.mjs.map +1 -1
- package/client/lib/index.d.ts +1 -0
- package/client/lib/rename-rule.d.ts +32 -0
- package/lib/index._auto-generated_.d.ts +0 -0
- package/lib/index._auto-generated_.js +6 -0
- package/lib/index._auto-generated_.js.map +1 -0
- package/lib/index.d.ts +1 -0
- package/lib/index.js +1 -0
- package/lib/index.js.map +1 -1
- package/lib/magic-renamer.d.ts +1 -1
- package/lib/magic-renamer.js +24 -27
- package/lib/magic-renamer.js.map +1 -1
- package/lib/{rename-rule.backend.d.ts → rename-rule.d.ts} +14 -1
- package/lib/{rename-rule.backend.js → rename-rule.js} +42 -6
- package/lib/rename-rule.js.map +1 -0
- package/package.json +3 -3
- package/tmp-environment.json +32 -29
- package/websql/esm2022/lib/index.mjs +2 -1
- package/websql/esm2022/lib/magic-renamer.mjs +4 -1
- package/websql/esm2022/lib/rename-rule.mjs +105 -0
- package/websql/fesm2022/magic-renamer.mjs +109 -2
- package/websql/fesm2022/magic-renamer.mjs.map +1 -1
- package/websql/lib/index.d.ts +1 -0
- package/websql/lib/rename-rule.d.ts +32 -0
- package/lib/rename-rule.backend.js.map +0 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
THIS FILE IS GENERATED. THIS FILE IS GENERATED. THIS FILE IS GENERATED.
|
|
2
2
|
|
|
3
|
-
Assets from this folder are being shipped with this npm package (magic-renamer@18.0.
|
|
3
|
+
Assets from this folder are being shipped with this npm package (magic-renamer@18.0.13)
|
|
4
4
|
created from this project.
|
|
5
5
|
|
|
6
6
|
THIS FILE IS GENERATED.THIS FILE IS GENERATED. THIS FILE IS GENERATED.
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
+
export * from './rename-rule';
|
|
1
2
|
export * from './magic-renamer';
|
|
2
3
|
;
|
|
3
4
|
({}); // @--end-of-file-for-module=magic-renamer lib/index.ts
|
|
4
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi90bXAtbGlicy1mb3ItZGlzdC9tYWdpYy1yZW5hbWVyL3Byb2plY3RzL21hZ2ljLXJlbmFtZXIvc3JjL2xpYi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxjQUFjLGVBQWUsQ0FBQztBQUM5QixjQUFjLGlCQUFpQixDQUFDO0FBRS9CLENBQUM7QUFBQSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsdURBQXVEIiwic291cmNlc0NvbnRlbnQiOlsiXG5cbmV4cG9ydCAqIGZyb20gJy4vcmVuYW1lLXJ1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9tYWdpYy1yZW5hbWVyJztcblxuIDsoe30pOyAvLyBALS1lbmQtb2YtZmlsZS1mb3ItbW9kdWxlPW1hZ2ljLXJlbmFtZXIgbGliL2luZGV4LnRzIl19
|
|
@@ -25,6 +25,9 @@ export class MagicRenamer {
|
|
|
25
25
|
/* */
|
|
26
26
|
/* */
|
|
27
27
|
/* */
|
|
28
|
+
/* */
|
|
29
|
+
/* */
|
|
30
|
+
/* */
|
|
28
31
|
;
|
|
29
32
|
({}); // @--end-of-file-for-module=magic-renamer lib/magic-renamer.ts
|
|
30
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
33
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFnaWMtcmVuYW1lci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3RtcC1saWJzLWZvci1kaXN0L21hZ2ljLXJlbmFtZXIvcHJvamVjdHMvbWFnaWMtcmVuYW1lci9zcmMvbGliL21hZ2ljLXJlbmFtZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsT0FBTyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNoRCxNQUFNLEdBQUcsR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFDLGVBQWUsRUFBRSxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUM7QUFFekQsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFJTCxNQUFNLE9BQU8sWUFBWTtDQStKeEI7QUFFRCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFHSixDQUFDO0FBQUEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLCtEQUErRCIsInNvdXJjZXNDb250ZW50IjpbIlxuXG5cbmltcG9ydCB7IExvZywgTGV2ZWwgfSBmcm9tICduZzItbG9nZ2VyL2Jyb3dzZXInO1xuY29uc3QgbG9nID0gTG9nLmNyZWF0ZSgnbWFnaWMtcmVuZW1lcicsIExldmVsLl9fTk9USElORyk7XG5cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICBcblxuXG5leHBvcnQgY2xhc3MgTWFnaWNSZW5hbWVyIHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gIFxufVxuXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gIFxuXG4gOyh7fSk7IC8vIEAtLWVuZC1vZi1maWxlLWZvci1tb2R1bGU9bWFnaWMtcmVuYW1lciBsaWIvbWFnaWMtcmVuYW1lci50cyJdfQ==
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
import { Helpers } from 'tnp-helpers/browser';
|
|
2
|
+
import { _, UtilsString } from 'tnp-core/browser';
|
|
3
|
+
import { Log, Level } from 'ng2-logger/browser';
|
|
4
|
+
const log = Log.create('magic-renemer', Level.__NOTHING);
|
|
5
|
+
export class RenameRule {
|
|
6
|
+
static from(pArgs) {
|
|
7
|
+
pArgs = pArgs.replace(/\=\>/g, '->');
|
|
8
|
+
let args = pArgs.split(/(\'|\")(\ )+(\'|\")/).filter(f => !!f);
|
|
9
|
+
log.d('---- Rules ----');
|
|
10
|
+
args.forEach(a => {
|
|
11
|
+
log.d(a);
|
|
12
|
+
});
|
|
13
|
+
log.d('---------------');
|
|
14
|
+
return args
|
|
15
|
+
.filter(a => a.search('->') !== -1)
|
|
16
|
+
.map(a => {
|
|
17
|
+
const [from, to] = a.split('->');
|
|
18
|
+
if (!from || !to) {
|
|
19
|
+
Helpers.error(`Incorrect rule
|
|
20
|
+
"${from}" -> "${to}"
|
|
21
|
+
please follow pattern: 'test name -> my new name '`, false, true);
|
|
22
|
+
}
|
|
23
|
+
return new RenameRule(from.trim(), to.trim());
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
constructor(from, to) {
|
|
27
|
+
this.from = from;
|
|
28
|
+
this.to = to;
|
|
29
|
+
this.toString = () => {
|
|
30
|
+
return `${this.from} => ${this.to}`;
|
|
31
|
+
};
|
|
32
|
+
this.fromWhiteSpaceReplaced = from.trim().toLowerCase().replace(/\W/g, ' ');
|
|
33
|
+
this.toWhiteSpaceReplaced = to.trim().toLowerCase().replace(/\W/g, ' ');
|
|
34
|
+
}
|
|
35
|
+
applyTo(s) {
|
|
36
|
+
s = s.trim().toLowerCase().replace(/\W/g, '');
|
|
37
|
+
const res = s.search(this.from.replace(/\W/g, '')) !== -1;
|
|
38
|
+
return res;
|
|
39
|
+
}
|
|
40
|
+
includes(orgString) {
|
|
41
|
+
return !_.isUndefined(this.combinations.find(v => {
|
|
42
|
+
const [from, to] = v;
|
|
43
|
+
return orgString === to;
|
|
44
|
+
}));
|
|
45
|
+
}
|
|
46
|
+
get combinations() {
|
|
47
|
+
const thisTo = this.toWhiteSpaceReplaced;
|
|
48
|
+
const thisFrom = this.fromWhiteSpaceReplaced;
|
|
49
|
+
return [
|
|
50
|
+
[
|
|
51
|
+
UtilsString.kebabCaseNoSplitNumbers(thisFrom),
|
|
52
|
+
UtilsString.kebabCaseNoSplitNumbers(thisTo),
|
|
53
|
+
], // my-entity => hello1-kitty
|
|
54
|
+
[_.kebabCase(thisFrom), _.kebabCase(thisTo)], // my-entity => hello-kitty
|
|
55
|
+
[_.camelCase(thisFrom), _.camelCase(thisTo)], // myEntity => helloKitty
|
|
56
|
+
[_.upperFirst(_.camelCase(thisFrom)), _.upperFirst(_.camelCase(thisTo))], // MyEntity => HelloKitty
|
|
57
|
+
[_.snakeCase(thisFrom), _.snakeCase(thisTo)], // my_entity => hello_kitty
|
|
58
|
+
[_.snakeCase(thisFrom).toUpperCase(), _.snakeCase(thisTo).toUpperCase()], // MY_ENTITY => HELLO_KITTY
|
|
59
|
+
[_.startCase(thisFrom), _.startCase(thisTo)], // My Entity => Hello Kitty
|
|
60
|
+
[_.upperCase(thisFrom), _.upperCase(thisTo)], // MY ENTITY => HELLO KITTY
|
|
61
|
+
[_.lowerCase(thisFrom), _.lowerCase(thisTo)], // my entity => hello kitty
|
|
62
|
+
[
|
|
63
|
+
_.camelCase(thisFrom).toLocaleLowerCase(),
|
|
64
|
+
_.camelCase(thisTo).toLocaleLowerCase(),
|
|
65
|
+
], // myentity => hellokitty
|
|
66
|
+
];
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* @param orgString input string
|
|
70
|
+
* @returns string with all possible combinations replaced
|
|
71
|
+
*/
|
|
72
|
+
replaceInString(orgString) {
|
|
73
|
+
return this.replace({
|
|
74
|
+
orgString,
|
|
75
|
+
replaceallPossibliliteis: true,
|
|
76
|
+
});
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
*
|
|
80
|
+
* @param orgString (file name OR file content)
|
|
81
|
+
* @param replaceallPossibliliteis when changin file notent (not name only)
|
|
82
|
+
* @returns
|
|
83
|
+
*/
|
|
84
|
+
replace(options) {
|
|
85
|
+
let { fileName, orgString, replaceallPossibliliteis } = options;
|
|
86
|
+
replaceallPossibliliteis = !!replaceallPossibliliteis;
|
|
87
|
+
const combinations = this.combinations;
|
|
88
|
+
for (let index = 0; index < combinations.length; index++) {
|
|
89
|
+
const v = combinations[index];
|
|
90
|
+
let [from, to] = v;
|
|
91
|
+
if (orgString.search(from) !== -1) {
|
|
92
|
+
const regex = new RegExp(Helpers.escapeStringForRegEx(from));
|
|
93
|
+
log.i(`apply! "${regex.source}" to file ${fileName} => "${to}"`);
|
|
94
|
+
orgString = orgString.replace(new RegExp(Helpers.escapeStringForRegEx(from), 'g'), to);
|
|
95
|
+
if (!replaceallPossibliliteis) {
|
|
96
|
+
return orgString;
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
return orgString;
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
;
|
|
104
|
+
({}); // @--end-of-file-for-module=magic-renamer lib/rename-rule.ts
|
|
105
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVuYW1lLXJ1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi90bXAtbGlicy1mb3ItZGlzdC9tYWdpYy1yZW5hbWVyL3Byb2plY3RzL21hZ2ljLXJlbmFtZXIvc3JjL2xpYi9yZW5hbWUtcnVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDOUMsT0FBTyxFQUFFLENBQUMsRUFBRSxXQUFXLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ2hELE1BQU0sR0FBRyxHQUFHLEdBQUcsQ0FBQyxNQUFNLENBQUMsZUFBZSxFQUFFLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQztBQUV6RCxNQUFNLE9BQU8sVUFBVTtJQUNyQixNQUFNLENBQUMsSUFBSSxDQUFDLEtBQWE7UUFDdkIsS0FBSyxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ3JDLElBQUksSUFBSSxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMscUJBQXFCLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFhLENBQUM7UUFDM0UsR0FBRyxDQUFDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBQ3pCLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDZixHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ1gsQ0FBQyxDQUFDLENBQUM7UUFDSCxHQUFHLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDekIsT0FBTyxJQUFJO2FBQ1IsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FB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QU0sWUFBWSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUM7UUFDdkMsS0FBSyxJQUFJLEtBQUssR0FBRyxDQUFDLEVBQUUsS0FBSyxHQUFHLFlBQVksQ0FBQyxNQUFNLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQztZQUN6RCxNQUFNLENBQUMsR0FBRyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDOUIsSUFBSSxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDbkIsSUFBSSxTQUFTLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUM7Z0JBQ2xDLE1BQU0sS0FBSyxHQUFHLElBQUksTUFBTSxDQUFDLE9BQU8sQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO2dCQUM3RCxHQUFHLENBQUMsQ0FBQyxDQUFDLFdBQVcsS0FBSyxDQUFDLE1BQU0sYUFBYSxRQUFRLFFBQVEsRUFBRSxHQUFHLENBQUMsQ0FBQztnQkFDakUsU0FBUyxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQzNCLElBQUksTUFBTSxDQUFDLE9BQU8sQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsRUFBRSxHQUFHLENBQUMsRUFDbkQsRUFBRSxDQUNILENBQUM7Z0JBQ0YsSUFBSSxDQUFDLHdCQUF3QixFQUFFLENBQUM7b0JBQzlCLE9BQU8sU0FBUyxDQUFDO2dCQUNuQixDQUFDO1lBQ0gsQ0FBQztRQUNILENBQUM7UUFDRCxPQUFPLFNBQVMsQ0FBQztJQUNuQixDQUFDO0NBQ0Y7QUFFQSxDQUFDO0FBQUEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLDZEQUE2RCIsInNvdXJjZXNDb250ZW50IjpbIlxuXG5pbXBvcnQgeyBIZWxwZXJzIH0gZnJvbSAndG5wLWhlbHBlcnMvYnJvd3Nlcic7XG5pbXBvcnQgeyBfLCBVdGlsc1N0cmluZyB9IGZyb20gJ3RucC1jb3JlL2Jyb3dzZXInO1xuaW1wb3J0IHsgTG9nLCBMZXZlbCB9IGZyb20gJ25nMi1sb2dnZXIvYnJvd3Nlcic7XG5jb25zdCBsb2cgPSBMb2cuY3JlYXRlKCdtYWdpYy1yZW5lbWVyJywgTGV2ZWwuX19OT1RISU5HKTtcblxuZXhwb3J0IGNsYXNzIFJlbmFtZVJ1bGUge1xuICBzdGF0aWMgZnJvbShwQXJnczogc3RyaW5nKTogUmVuYW1lUnVsZVtdIHtcbiAgICBwQXJncyA9IHBBcmdzLnJlcGxhY2UoL1xcPVxcPi9nLCAnLT4nKTtcbiAgICBsZXQgYXJncyA9IHBBcmdzLnNwbGl0KC8oXFwnfFxcXCIpKFxcICkrKFxcJ3xcXFwiKS8pLmZpbHRlcihmID0+ICEhZikgYXMgc3RyaW5nW107XG4gICAgbG9nLmQoJy0tLS0gUnVsZXMgLS0tLScpO1xuICAgIGFyZ3MuZm9yRWFjaChhID0+IHtcbiAgICAgIGxvZy5kKGEpO1xuICAgIH0pO1xuICAgIGxvZy5kKCctLS0tLS0tLS0tLS0tLS0nKTtcbiAgICByZXR1cm4gYXJnc1xuICAgICAgLmZpbHRlcihhID0+IGEuc2VhcmNoKCctPicpICE9PSAtMSlcbiAgICAgIC5tYXAoYSA9PiB7XG4gICAgICAgIGNvbnN0IFtmcm9tLCB0b10gPSBhLnNwbGl0KCctPicpO1xuICAgICAgICBpZiAoIWZyb20gfHwgIXRvKSB7XG4gICAgICAgICAgSGVscGVycy5lcnJvcihcbiAgICAgICAgICAgIGBJbmNvcnJlY3QgcnVsZVxuICAgICAgICBcIiR7ZnJvbX1cIiAtPiBcIiR7dG99XCJcbiAgICAgICAgcGxlYXNlIGZvbGxvdyBwYXR0ZXJuOiAndGVzdCBuYW1lIC0+IG15IG5ldyBuYW1lICdgLFxuICAgICAgICAgICAgZmFsc2UsXG4gICAgICAgICAgICB0cnVlLFxuICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG5ldyBSZW5hbWVSdWxlKGZyb20udHJpbSgpLCB0by50cmltKCkpO1xuICAgICAgfSk7XG4gIH1cblxuICBwdWJsaWMgcmVhZG9ubHkgZnJvbVdoaXRlU3BhY2VSZXBsYWNlZDogc3RyaW5nO1xuICBwdWJsaWMgcmVhZG9ubHkgdG9XaGl0ZVNwYWNlUmVwbGFjZWQ6IHN0cmluZztcbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIHJlYWRvbmx5IGZyb206IHN0cmluZyxcbiAgICBwdWJsaWMgcmVhZG9ubHkgdG86IHN0cmluZyxcbiAgKSB7XG4gICAgdGhpcy5mcm9tV2hpdGVTcGFjZVJlcGxhY2VkID0gZnJvbS50cmltKCkudG9Mb3dlckNhc2UoKS5yZXBsYWNlKC9cXFcvZywgJyAnKTtcbiAgICB0aGlzLnRvV2hpdGVTcGFjZVJlcGxhY2VkID0gdG8udHJpbSgpLnRvTG93ZXJDYXNlKCkucmVwbGFjZSgvXFxXL2csICcgJyk7XG4gIH1cblxuICBhcHBseVRvKHM6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHMgPSBzLnRyaW0oKS50b0xvd2VyQ2FzZSgpLnJlcGxhY2UoL1xcVy9nLCAnJyk7XG4gICAgY29uc3QgcmVzID0gcy5zZWFyY2godGhpcy5mcm9tLnJlcGxhY2UoL1xcVy9nLCAnJykpICE9PSAtMTtcbiAgICByZXR1cm4gcmVzO1xuICB9XG5cbiAgdG9TdHJpbmcgPSAoKSA9PiB7XG4gICAgcmV0dXJuIGAke3RoaXMuZnJvbX0gPT4gJHt0aGlzLnRvfWA7XG4gIH07XG5cbiAgaW5jbHVkZXMob3JnU3RyaW5nKSB7XG4gICAgcmV0dXJuICFfLmlzVW5kZWZpbmVkKFxuICAgICAgdGhpcy5jb21iaW5hdGlvbnMuZmluZCh2ID0+IHtcbiAgICAgICAgY29uc3QgW2Zyb20sIHRvXSA9IHY7XG4gICAgICAgIHJldHVybiBvcmdTdHJpbmcgPT09IHRvO1xuICAgICAgfSksXG4gICAgKTtcbiAgfVxuXG4gIGdldCBjb21iaW5hdGlvbnMoKSB7XG4gICAgY29uc3QgdGhpc1RvID0gdGhpcy50b1doaXRlU3BhY2VSZXBsYWNlZDtcbiAgICBjb25zdCB0aGlzRnJvbSA9IHRoaXMuZnJvbVdoaXRlU3BhY2VSZXBsYWNlZDtcbiAgICByZXR1cm4gW1xuXG4gICAgICBbXG4gICAgICAgIFV0aWxzU3RyaW5nLmtlYmFiQ2FzZU5vU3BsaXROdW1iZXJzKHRoaXNGcm9tKSxcbiAgICAgICAgVXRpbHNTdHJpbmcua2ViYWJDYXNlTm9TcGxpdE51bWJlcnModGhpc1RvKSxcbiAgICAgIF0sIC8vIG15LWVudGl0eSA9PiBoZWxsbzEta2l0dHlcbiAgICAgIFtfLmtlYmFiQ2FzZSh0aGlzRnJvbSksIF8ua2ViYWJDYXNlKHRoaXNUbyldLCAvLyBteS1lbnRpdHkgPT4gaGVsbG8ta2l0dHlcbiAgICAgIFtfLmNhbWVsQ2FzZSh0aGlzRnJvbSksIF8uY2FtZWxDYXNlKHRoaXNUbyldLCAvLyBteUVudGl0eSA9PiBoZWxsb0tpdHR5XG4gICAgICBbXy51cHBlckZpcnN0KF8uY2FtZWxDYXNlKHRoaXNGcm9tKSksIF8udXBwZXJGaXJzdChfLmNhbWVsQ2FzZSh0aGlzVG8pKV0sIC8vIE15RW50aXR5ID0+IEhlbGxvS2l0dHlcbiAgICAgIFtfLnNuYWtlQ2FzZSh0aGlzRnJvbSksIF8uc25ha2VDYXNlKHRoaXNUbyldLCAvLyBteV9lbnRpdHkgPT4gaGVsbG9fa2l0dHlcbiAgICAgIFtfLnNuYWtlQ2FzZSh0aGlzRnJvbSkudG9VcHBlckNhc2UoKSwgXy5zbmFrZUNhc2UodGhpc1RvKS50b1VwcGVyQ2FzZSgpXSwgLy8gTVlfRU5USVRZID0+IEhFTExPX0tJVFRZXG4gICAgICBbXy5zdGFydENhc2UodGhpc0Zyb20pLCBfLnN0YXJ0Q2FzZSh0aGlzVG8pXSwgLy8gTXkgRW50aXR5ID0+IEhlbGxvIEtpdHR5XG4gICAgICBbXy51cHBlckNhc2UodGhpc0Zyb20pLCBfLnVwcGVyQ2FzZSh0aGlzVG8pXSwgLy8gTVkgRU5USVRZID0+IEhFTExPIEtJVFRZXG4gICAgICBbXy5sb3dlckNhc2UodGhpc0Zyb20pLCBfLmxvd2VyQ2FzZSh0aGlzVG8pXSwgLy8gbXkgZW50aXR5ID0+IGhlbGxvIGtpdHR5XG4gICAgICBbXG4gICAgICAgIF8uY2FtZWxDYXNlKHRoaXNGcm9tKS50b0xvY2FsZUxvd2VyQ2FzZSgpLFxuICAgICAgICBfLmNhbWVsQ2FzZSh0aGlzVG8pLnRvTG9jYWxlTG93ZXJDYXNlKCksXG4gICAgICBdLCAvLyBteWVudGl0eSA9PiBoZWxsb2tpdHR5XG4gICAgXTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0gb3JnU3RyaW5nIGlucHV0IHN0cmluZ1xuICAgKiBAcmV0dXJucyBzdHJpbmcgd2l0aCBhbGwgcG9zc2libGUgY29tYmluYXRpb25zIHJlcGxhY2VkXG4gICAqL1xuICByZXBsYWNlSW5TdHJpbmcob3JnU3RyaW5nOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnJlcGxhY2Uoe1xuICAgICAgb3JnU3RyaW5nLFxuICAgICAgcmVwbGFjZWFsbFBvc3NpYmxpbGl0ZWlzOiB0cnVlLFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqXG4gICAqIEBwYXJhbSBvcmdTdHJpbmcgKGZpbGUgbmFtZSBPUiBmaWxlIGNvbnRlbnQpXG4gICAqIEBwYXJhbSByZXBsYWNlYWxsUG9zc2libGlsaXRlaXMgd2hlbiBjaGFuZ2luIGZpbGUgbm90ZW50IChub3QgbmFtZSBvbmx5KVxuICAgKiBAcmV0dXJuc1xuICAgKi9cbiAgcmVwbGFjZShvcHRpb25zOiB7XG4gICAgLyoqXG4gICAgICogZmlsZSBuYW1lIGZvciBkZWJ1Z2dpbmdcbiAgICAgKi9cbiAgICBmaWxlTmFtZT86IHN0cmluZztcbiAgICBvcmdTdHJpbmc6IHN0cmluZztcbiAgICByZXBsYWNlYWxsUG9zc2libGlsaXRlaXM/OiBib29sZWFuO1xuICB9KSB7XG4gICAgbGV0IHsgZmlsZU5hbWUsIG9yZ1N0cmluZywgcmVwbGFjZWFsbFBvc3NpYmxpbGl0ZWlzIH0gPSBvcHRpb25zO1xuICAgIHJlcGxhY2VhbGxQb3NzaWJsaWxpdGVpcyA9ICEhcmVwbGFjZWFsbFBvc3NpYmxpbGl0ZWlzO1xuICAgIGNvbnN0IGNvbWJpbmF0aW9ucyA9IHRoaXMuY29tYmluYXRpb25zO1xuICAgIGZvciAobGV0IGluZGV4ID0gMDsgaW5kZXggPCBjb21iaW5hdGlvbnMubGVuZ3RoOyBpbmRleCsrKSB7XG4gICAgICBjb25zdCB2ID0gY29tYmluYXRpb25zW2luZGV4XTtcbiAgICAgIGxldCBbZnJvbSwgdG9dID0gdjtcbiAgICAgIGlmIChvcmdTdHJpbmcuc2VhcmNoKGZyb20pICE9PSAtMSkge1xuICAgICAgICBjb25zdCByZWdleCA9IG5ldyBSZWdFeHAoSGVscGVycy5lc2NhcGVTdHJpbmdGb3JSZWdFeChmcm9tKSk7XG4gICAgICAgIGxvZy5pKGBhcHBseSEgXCIke3JlZ2V4LnNvdXJjZX1cIiB0byBmaWxlICR7ZmlsZU5hbWV9ID0+IFwiJHt0b31cImApO1xuICAgICAgICBvcmdTdHJpbmcgPSBvcmdTdHJpbmcucmVwbGFjZShcbiAgICAgICAgICBuZXcgUmVnRXhwKEhlbHBlcnMuZXNjYXBlU3RyaW5nRm9yUmVnRXgoZnJvbSksICdnJyksXG4gICAgICAgICAgdG8sXG4gICAgICAgICk7XG4gICAgICAgIGlmICghcmVwbGFjZWFsbFBvc3NpYmxpbGl0ZWlzKSB7XG4gICAgICAgICAgcmV0dXJuIG9yZ1N0cmluZztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gb3JnU3RyaW5nO1xuICB9XG59XG5cbiA7KHt9KTsgLy8gQC0tZW5kLW9mLWZpbGUtZm9yLW1vZHVsZT1tYWdpYy1yZW5hbWVyIGxpYi9yZW5hbWUtcnVsZS50cyJdfQ==
|
|
@@ -1,5 +1,109 @@
|
|
|
1
|
+
import { Helpers } from 'tnp-helpers/browser';
|
|
2
|
+
import { _, UtilsString } from 'tnp-core/browser';
|
|
1
3
|
import { Log, Level } from 'ng2-logger/browser';
|
|
2
4
|
|
|
5
|
+
const log$1 = Log.create('magic-renemer', Level.__NOTHING);
|
|
6
|
+
class RenameRule {
|
|
7
|
+
static from(pArgs) {
|
|
8
|
+
pArgs = pArgs.replace(/\=\>/g, '->');
|
|
9
|
+
let args = pArgs.split(/(\'|\")(\ )+(\'|\")/).filter(f => !!f);
|
|
10
|
+
log$1.d('---- Rules ----');
|
|
11
|
+
args.forEach(a => {
|
|
12
|
+
log$1.d(a);
|
|
13
|
+
});
|
|
14
|
+
log$1.d('---------------');
|
|
15
|
+
return args
|
|
16
|
+
.filter(a => a.search('->') !== -1)
|
|
17
|
+
.map(a => {
|
|
18
|
+
const [from, to] = a.split('->');
|
|
19
|
+
if (!from || !to) {
|
|
20
|
+
Helpers.error(`Incorrect rule
|
|
21
|
+
"${from}" -> "${to}"
|
|
22
|
+
please follow pattern: 'test name -> my new name '`, false, true);
|
|
23
|
+
}
|
|
24
|
+
return new RenameRule(from.trim(), to.trim());
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
constructor(from, to) {
|
|
28
|
+
this.from = from;
|
|
29
|
+
this.to = to;
|
|
30
|
+
this.toString = () => {
|
|
31
|
+
return `${this.from} => ${this.to}`;
|
|
32
|
+
};
|
|
33
|
+
this.fromWhiteSpaceReplaced = from.trim().toLowerCase().replace(/\W/g, ' ');
|
|
34
|
+
this.toWhiteSpaceReplaced = to.trim().toLowerCase().replace(/\W/g, ' ');
|
|
35
|
+
}
|
|
36
|
+
applyTo(s) {
|
|
37
|
+
s = s.trim().toLowerCase().replace(/\W/g, '');
|
|
38
|
+
const res = s.search(this.from.replace(/\W/g, '')) !== -1;
|
|
39
|
+
return res;
|
|
40
|
+
}
|
|
41
|
+
includes(orgString) {
|
|
42
|
+
return !_.isUndefined(this.combinations.find(v => {
|
|
43
|
+
const [from, to] = v;
|
|
44
|
+
return orgString === to;
|
|
45
|
+
}));
|
|
46
|
+
}
|
|
47
|
+
get combinations() {
|
|
48
|
+
const thisTo = this.toWhiteSpaceReplaced;
|
|
49
|
+
const thisFrom = this.fromWhiteSpaceReplaced;
|
|
50
|
+
return [
|
|
51
|
+
[
|
|
52
|
+
UtilsString.kebabCaseNoSplitNumbers(thisFrom),
|
|
53
|
+
UtilsString.kebabCaseNoSplitNumbers(thisTo),
|
|
54
|
+
], // my-entity => hello1-kitty
|
|
55
|
+
[_.kebabCase(thisFrom), _.kebabCase(thisTo)], // my-entity => hello-kitty
|
|
56
|
+
[_.camelCase(thisFrom), _.camelCase(thisTo)], // myEntity => helloKitty
|
|
57
|
+
[_.upperFirst(_.camelCase(thisFrom)), _.upperFirst(_.camelCase(thisTo))], // MyEntity => HelloKitty
|
|
58
|
+
[_.snakeCase(thisFrom), _.snakeCase(thisTo)], // my_entity => hello_kitty
|
|
59
|
+
[_.snakeCase(thisFrom).toUpperCase(), _.snakeCase(thisTo).toUpperCase()], // MY_ENTITY => HELLO_KITTY
|
|
60
|
+
[_.startCase(thisFrom), _.startCase(thisTo)], // My Entity => Hello Kitty
|
|
61
|
+
[_.upperCase(thisFrom), _.upperCase(thisTo)], // MY ENTITY => HELLO KITTY
|
|
62
|
+
[_.lowerCase(thisFrom), _.lowerCase(thisTo)], // my entity => hello kitty
|
|
63
|
+
[
|
|
64
|
+
_.camelCase(thisFrom).toLocaleLowerCase(),
|
|
65
|
+
_.camelCase(thisTo).toLocaleLowerCase(),
|
|
66
|
+
], // myentity => hellokitty
|
|
67
|
+
];
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* @param orgString input string
|
|
71
|
+
* @returns string with all possible combinations replaced
|
|
72
|
+
*/
|
|
73
|
+
replaceInString(orgString) {
|
|
74
|
+
return this.replace({
|
|
75
|
+
orgString,
|
|
76
|
+
replaceallPossibliliteis: true,
|
|
77
|
+
});
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
*
|
|
81
|
+
* @param orgString (file name OR file content)
|
|
82
|
+
* @param replaceallPossibliliteis when changin file notent (not name only)
|
|
83
|
+
* @returns
|
|
84
|
+
*/
|
|
85
|
+
replace(options) {
|
|
86
|
+
let { fileName, orgString, replaceallPossibliliteis } = options;
|
|
87
|
+
replaceallPossibliliteis = !!replaceallPossibliliteis;
|
|
88
|
+
const combinations = this.combinations;
|
|
89
|
+
for (let index = 0; index < combinations.length; index++) {
|
|
90
|
+
const v = combinations[index];
|
|
91
|
+
let [from, to] = v;
|
|
92
|
+
if (orgString.search(from) !== -1) {
|
|
93
|
+
const regex = new RegExp(Helpers.escapeStringForRegEx(from));
|
|
94
|
+
log$1.i(`apply! "${regex.source}" to file ${fileName} => "${to}"`);
|
|
95
|
+
orgString = orgString.replace(new RegExp(Helpers.escapeStringForRegEx(from), 'g'), to);
|
|
96
|
+
if (!replaceallPossibliliteis) {
|
|
97
|
+
return orgString;
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
return orgString;
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
;
|
|
105
|
+
({}); // @--end-of-file-for-module=magic-renamer lib/rename-rule.ts
|
|
106
|
+
|
|
3
107
|
const log = Log.create('magic-renemer', Level.__NOTHING);
|
|
4
108
|
/* */
|
|
5
109
|
/* */
|
|
@@ -26,9 +130,12 @@ class MagicRenamer {
|
|
|
26
130
|
/* */
|
|
27
131
|
/* */
|
|
28
132
|
/* */
|
|
133
|
+
/* */
|
|
134
|
+
/* */
|
|
135
|
+
/* */
|
|
29
136
|
;
|
|
30
137
|
({}); // @--end-of-file-for-module=magic-renamer lib/magic-renamer.ts
|
|
31
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
138
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFnaWMtcmVuYW1lci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3RtcC1saWJzLWZvci1kaXN0L21hZ2ljLXJlbmFtZXIvcHJvamVjdHMvbWFnaWMtcmVuYW1lci9zcmMvbGliL21hZ2ljLXJlbmFtZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsT0FBTyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNoRCxNQUFNLEdBQUcsR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFDLGVBQWUsRUFBRSxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUM7QUFFekQsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFJTCxNQUFNLE9BQU8sWUFBWTtDQStKeEI7QUFFRCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFHSixDQUFDO0FBQUEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLCtEQUErRCIsInNvdXJjZXNDb250ZW50IjpbIlxuXG5cbmltcG9ydCB7IExvZywgTGV2ZWwgfSBmcm9tICduZzItbG9nZ2VyL2Jyb3dzZXInO1xuY29uc3QgbG9nID0gTG9nLmNyZWF0ZSgnbWFnaWMtcmVuZW1lcicsIExldmVsLl9fTk9USElORyk7XG5cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICBcblxuXG5leHBvcnQgY2xhc3MgTWFnaWNSZW5hbWVyIHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gIFxufVxuXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gIFxuXG4gOyh7fSk7IC8vIEAtLWVuZC1vZi1maWxlLWZvci1tb2R1bGU9bWFnaWMtcmVuYW1lciBsaWIvbWFnaWMtcmVuYW1lci50cyJdfQ==
|
|
32
139
|
|
|
33
140
|
;
|
|
34
141
|
({}); // @--end-of-file-for-module=magic-renamer lib/index.ts
|
|
@@ -37,5 +144,5 @@ class MagicRenamer {
|
|
|
37
144
|
* Generated bundle index. Do not edit.
|
|
38
145
|
*/
|
|
39
146
|
|
|
40
|
-
export { MagicRenamer };
|
|
147
|
+
export { MagicRenamer, RenameRule };
|
|
41
148
|
//# sourceMappingURL=magic-renamer.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"magic-renamer.mjs","sources":["../../../tmp-libs-for-dist/magic-renamer/projects/magic-renamer/src/lib/magic-renamer.ts","../../../tmp-libs-for-dist/magic-renamer/projects/magic-renamer/src/lib/index.ts","../../../tmp-libs-for-dist/magic-renamer/projects/magic-renamer/src/magic-renamer.ts"],"sourcesContent":["\n\n\nimport { Log, Level } from 'ng2-logger/browser';\nconst log = Log.create('magic-renemer',\n Level.__NOTHING\n)\n\n\n/* */\n/* */\n/* */\n/* */\n/* */\n \n\n\nexport class MagicRenamer {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n}\n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n\n ;({}); // @--end-of-file-for-module=magic-renamer lib/magic-renamer.ts","\n\nexport * from './magic-renamer';\n\n ;({}); // @--end-of-file-for-module=magic-renamer lib/index.ts","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;AAIA,MAAM,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,eAAe,EACpC,KAAK,CAAC,SAAS,CAChB,CAAA;AAGD;AACA;AACA;AACA;AACA;MAIa,YAAY,CAAA;AA8JxB,CAAA;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAGC,CAAC;AAAA,CAAC,EAAE,EAAE;;;ACjMN,CAAC;AAAA,CAAC,EAAE,EAAE;;ACJP;;AAEG;;;;"}
|
|
1
|
+
{"version":3,"file":"magic-renamer.mjs","sources":["../../../tmp-libs-for-dist/magic-renamer/projects/magic-renamer/src/lib/rename-rule.ts","../../../tmp-libs-for-dist/magic-renamer/projects/magic-renamer/src/lib/magic-renamer.ts","../../../tmp-libs-for-dist/magic-renamer/projects/magic-renamer/src/lib/index.ts","../../../tmp-libs-for-dist/magic-renamer/projects/magic-renamer/src/magic-renamer.ts"],"sourcesContent":["\n\nimport { Helpers } from 'tnp-helpers/browser';\nimport { _, UtilsString } from 'tnp-core/browser';\nimport { Log, Level } from 'ng2-logger/browser';\nconst log = Log.create('magic-renemer', Level.__NOTHING);\n\nexport class RenameRule {\n static from(pArgs: string): RenameRule[] {\n pArgs = pArgs.replace(/\\=\\>/g, '->');\n let args = pArgs.split(/(\\'|\\\")(\\ )+(\\'|\\\")/).filter(f => !!f) as string[];\n log.d('---- Rules ----');\n args.forEach(a => {\n log.d(a);\n });\n log.d('---------------');\n return args\n .filter(a => a.search('->') !== -1)\n .map(a => {\n const [from, to] = a.split('->');\n if (!from || !to) {\n Helpers.error(\n `Incorrect rule\n \"${from}\" -> \"${to}\"\n please follow pattern: 'test name -> my new name '`,\n false,\n true,\n );\n }\n return new RenameRule(from.trim(), to.trim());\n });\n }\n\n public readonly fromWhiteSpaceReplaced: string;\n public readonly toWhiteSpaceReplaced: string;\n constructor(\n public readonly from: string,\n public readonly to: string,\n ) {\n this.fromWhiteSpaceReplaced = from.trim().toLowerCase().replace(/\\W/g, ' ');\n this.toWhiteSpaceReplaced = to.trim().toLowerCase().replace(/\\W/g, ' ');\n }\n\n applyTo(s: string): boolean {\n s = s.trim().toLowerCase().replace(/\\W/g, '');\n const res = s.search(this.from.replace(/\\W/g, '')) !== -1;\n return res;\n }\n\n toString = () => {\n return `${this.from} => ${this.to}`;\n };\n\n includes(orgString) {\n return !_.isUndefined(\n this.combinations.find(v => {\n const [from, to] = v;\n return orgString === to;\n }),\n );\n }\n\n get combinations() {\n const thisTo = this.toWhiteSpaceReplaced;\n const thisFrom = this.fromWhiteSpaceReplaced;\n return [\n\n [\n UtilsString.kebabCaseNoSplitNumbers(thisFrom),\n UtilsString.kebabCaseNoSplitNumbers(thisTo),\n ], // my-entity => hello1-kitty\n [_.kebabCase(thisFrom), _.kebabCase(thisTo)], // my-entity => hello-kitty\n [_.camelCase(thisFrom), _.camelCase(thisTo)], // myEntity => helloKitty\n [_.upperFirst(_.camelCase(thisFrom)), _.upperFirst(_.camelCase(thisTo))], // MyEntity => HelloKitty\n [_.snakeCase(thisFrom), _.snakeCase(thisTo)], // my_entity => hello_kitty\n [_.snakeCase(thisFrom).toUpperCase(), _.snakeCase(thisTo).toUpperCase()], // MY_ENTITY => HELLO_KITTY\n [_.startCase(thisFrom), _.startCase(thisTo)], // My Entity => Hello Kitty\n [_.upperCase(thisFrom), _.upperCase(thisTo)], // MY ENTITY => HELLO KITTY\n [_.lowerCase(thisFrom), _.lowerCase(thisTo)], // my entity => hello kitty\n [\n _.camelCase(thisFrom).toLocaleLowerCase(),\n _.camelCase(thisTo).toLocaleLowerCase(),\n ], // myentity => hellokitty\n ];\n }\n\n /**\n * @param orgString input string\n * @returns string with all possible combinations replaced\n */\n replaceInString(orgString: string): string {\n return this.replace({\n orgString,\n replaceallPossibliliteis: true,\n });\n }\n\n /**\n *\n * @param orgString (file name OR file content)\n * @param replaceallPossibliliteis when changin file notent (not name only)\n * @returns\n */\n replace(options: {\n /**\n * file name for debugging\n */\n fileName?: string;\n orgString: string;\n replaceallPossibliliteis?: boolean;\n }) {\n let { fileName, orgString, replaceallPossibliliteis } = options;\n replaceallPossibliliteis = !!replaceallPossibliliteis;\n const combinations = this.combinations;\n for (let index = 0; index < combinations.length; index++) {\n const v = combinations[index];\n let [from, to] = v;\n if (orgString.search(from) !== -1) {\n const regex = new RegExp(Helpers.escapeStringForRegEx(from));\n log.i(`apply! \"${regex.source}\" to file ${fileName} => \"${to}\"`);\n orgString = orgString.replace(\n new RegExp(Helpers.escapeStringForRegEx(from), 'g'),\n to,\n );\n if (!replaceallPossibliliteis) {\n return orgString;\n }\n }\n }\n return orgString;\n }\n}\n\n ;({}); // @--end-of-file-for-module=magic-renamer lib/rename-rule.ts","\n\n\nimport { Log, Level } from 'ng2-logger/browser';\nconst log = Log.create('magic-renemer', Level.__NOTHING);\n\n/* */\n/* */\n/* */\n/* */\n/* */\n \n\n\nexport class MagicRenamer {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n}\n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n\n ;({}); // @--end-of-file-for-module=magic-renamer lib/magic-renamer.ts","\n\nexport * from './rename-rule';\nexport * from './magic-renamer';\n\n ;({}); // @--end-of-file-for-module=magic-renamer lib/index.ts","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["log"],"mappings":"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"}
|
package/browser/lib/index.d.ts
CHANGED
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
// @ts-nocheck
|
|
2
|
+
export declare class RenameRule {
|
|
3
|
+
readonly from: string;
|
|
4
|
+
readonly to: string;
|
|
5
|
+
static from(pArgs: string): RenameRule[];
|
|
6
|
+
readonly fromWhiteSpaceReplaced: string;
|
|
7
|
+
readonly toWhiteSpaceReplaced: string;
|
|
8
|
+
constructor(from: string, to: string);
|
|
9
|
+
applyTo(s: string): boolean;
|
|
10
|
+
toString: () => string;
|
|
11
|
+
includes(orgString: any): boolean;
|
|
12
|
+
get combinations(): string[][];
|
|
13
|
+
/**
|
|
14
|
+
* @param orgString input string
|
|
15
|
+
* @returns string with all possible combinations replaced
|
|
16
|
+
*/
|
|
17
|
+
replaceInString(orgString: string): string;
|
|
18
|
+
/**
|
|
19
|
+
*
|
|
20
|
+
* @param orgString (file name OR file content)
|
|
21
|
+
* @param replaceallPossibliliteis when changin file notent (not name only)
|
|
22
|
+
* @returns
|
|
23
|
+
*/
|
|
24
|
+
replace(options: {
|
|
25
|
+
/**
|
|
26
|
+
* file name for debugging
|
|
27
|
+
*/
|
|
28
|
+
fileName?: string;
|
|
29
|
+
orgString: string;
|
|
30
|
+
replaceallPossibliliteis?: boolean;
|
|
31
|
+
}): string;
|
|
32
|
+
}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
+
export * from './rename-rule';
|
|
1
2
|
export * from './magic-renamer';
|
|
2
3
|
;
|
|
3
4
|
({}); // @--end-of-file-for-module=magic-renamer lib/index.ts
|
|
4
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi90bXAtbGlicy1mb3ItZGlzdC9tYWdpYy1yZW5hbWVyL3Byb2plY3RzL21hZ2ljLXJlbmFtZXIvc3JjL2xpYi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxjQUFjLGVBQWUsQ0FBQztBQUM5QixjQUFjLGlCQUFpQixDQUFDO0FBRS9CLENBQUM7QUFBQSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsdURBQXVEIiwic291cmNlc0NvbnRlbnQiOlsiXG5cbmV4cG9ydCAqIGZyb20gJy4vcmVuYW1lLXJ1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9tYWdpYy1yZW5hbWVyJztcblxuIDsoe30pOyAvLyBALS1lbmQtb2YtZmlsZS1mb3ItbW9kdWxlPW1hZ2ljLXJlbmFtZXIgbGliL2luZGV4LnRzIl19
|
|
@@ -25,6 +25,9 @@ export class MagicRenamer {
|
|
|
25
25
|
/* */
|
|
26
26
|
/* */
|
|
27
27
|
/* */
|
|
28
|
+
/* */
|
|
29
|
+
/* */
|
|
30
|
+
/* */
|
|
28
31
|
;
|
|
29
32
|
({}); // @--end-of-file-for-module=magic-renamer lib/magic-renamer.ts
|
|
30
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
33
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFnaWMtcmVuYW1lci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3RtcC1saWJzLWZvci1kaXN0L21hZ2ljLXJlbmFtZXIvcHJvamVjdHMvbWFnaWMtcmVuYW1lci9zcmMvbGliL21hZ2ljLXJlbmFtZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsT0FBTyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNoRCxNQUFNLEdBQUcsR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFDLGVBQWUsRUFBRSxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUM7QUFFekQsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFJTCxNQUFNLE9BQU8sWUFBWTtDQStKeEI7QUFFRCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFHSixDQUFDO0FBQUEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLCtEQUErRCIsInNvdXJjZXNDb250ZW50IjpbIlxuXG5cbmltcG9ydCB7IExvZywgTGV2ZWwgfSBmcm9tICduZzItbG9nZ2VyL2Jyb3dzZXInO1xuY29uc3QgbG9nID0gTG9nLmNyZWF0ZSgnbWFnaWMtcmVuZW1lcicsIExldmVsLl9fTk9USElORyk7XG5cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICBcblxuXG5leHBvcnQgY2xhc3MgTWFnaWNSZW5hbWVyIHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gIFxufVxuXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gIFxuXG4gOyh7fSk7IC8vIEAtLWVuZC1vZi1maWxlLWZvci1tb2R1bGU9bWFnaWMtcmVuYW1lciBsaWIvbWFnaWMtcmVuYW1lci50cyJdfQ==
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
import { Helpers } from 'tnp-helpers/browser';
|
|
2
|
+
import { _, UtilsString } from 'tnp-core/browser';
|
|
3
|
+
import { Log, Level } from 'ng2-logger/browser';
|
|
4
|
+
const log = Log.create('magic-renemer', Level.__NOTHING);
|
|
5
|
+
export class RenameRule {
|
|
6
|
+
static from(pArgs) {
|
|
7
|
+
pArgs = pArgs.replace(/\=\>/g, '->');
|
|
8
|
+
let args = pArgs.split(/(\'|\")(\ )+(\'|\")/).filter(f => !!f);
|
|
9
|
+
log.d('---- Rules ----');
|
|
10
|
+
args.forEach(a => {
|
|
11
|
+
log.d(a);
|
|
12
|
+
});
|
|
13
|
+
log.d('---------------');
|
|
14
|
+
return args
|
|
15
|
+
.filter(a => a.search('->') !== -1)
|
|
16
|
+
.map(a => {
|
|
17
|
+
const [from, to] = a.split('->');
|
|
18
|
+
if (!from || !to) {
|
|
19
|
+
Helpers.error(`Incorrect rule
|
|
20
|
+
"${from}" -> "${to}"
|
|
21
|
+
please follow pattern: 'test name -> my new name '`, false, true);
|
|
22
|
+
}
|
|
23
|
+
return new RenameRule(from.trim(), to.trim());
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
constructor(from, to) {
|
|
27
|
+
this.from = from;
|
|
28
|
+
this.to = to;
|
|
29
|
+
this.toString = () => {
|
|
30
|
+
return `${this.from} => ${this.to}`;
|
|
31
|
+
};
|
|
32
|
+
this.fromWhiteSpaceReplaced = from.trim().toLowerCase().replace(/\W/g, ' ');
|
|
33
|
+
this.toWhiteSpaceReplaced = to.trim().toLowerCase().replace(/\W/g, ' ');
|
|
34
|
+
}
|
|
35
|
+
applyTo(s) {
|
|
36
|
+
s = s.trim().toLowerCase().replace(/\W/g, '');
|
|
37
|
+
const res = s.search(this.from.replace(/\W/g, '')) !== -1;
|
|
38
|
+
return res;
|
|
39
|
+
}
|
|
40
|
+
includes(orgString) {
|
|
41
|
+
return !_.isUndefined(this.combinations.find(v => {
|
|
42
|
+
const [from, to] = v;
|
|
43
|
+
return orgString === to;
|
|
44
|
+
}));
|
|
45
|
+
}
|
|
46
|
+
get combinations() {
|
|
47
|
+
const thisTo = this.toWhiteSpaceReplaced;
|
|
48
|
+
const thisFrom = this.fromWhiteSpaceReplaced;
|
|
49
|
+
return [
|
|
50
|
+
[
|
|
51
|
+
UtilsString.kebabCaseNoSplitNumbers(thisFrom),
|
|
52
|
+
UtilsString.kebabCaseNoSplitNumbers(thisTo),
|
|
53
|
+
], // my-entity => hello1-kitty
|
|
54
|
+
[_.kebabCase(thisFrom), _.kebabCase(thisTo)], // my-entity => hello-kitty
|
|
55
|
+
[_.camelCase(thisFrom), _.camelCase(thisTo)], // myEntity => helloKitty
|
|
56
|
+
[_.upperFirst(_.camelCase(thisFrom)), _.upperFirst(_.camelCase(thisTo))], // MyEntity => HelloKitty
|
|
57
|
+
[_.snakeCase(thisFrom), _.snakeCase(thisTo)], // my_entity => hello_kitty
|
|
58
|
+
[_.snakeCase(thisFrom).toUpperCase(), _.snakeCase(thisTo).toUpperCase()], // MY_ENTITY => HELLO_KITTY
|
|
59
|
+
[_.startCase(thisFrom), _.startCase(thisTo)], // My Entity => Hello Kitty
|
|
60
|
+
[_.upperCase(thisFrom), _.upperCase(thisTo)], // MY ENTITY => HELLO KITTY
|
|
61
|
+
[_.lowerCase(thisFrom), _.lowerCase(thisTo)], // my entity => hello kitty
|
|
62
|
+
[
|
|
63
|
+
_.camelCase(thisFrom).toLocaleLowerCase(),
|
|
64
|
+
_.camelCase(thisTo).toLocaleLowerCase(),
|
|
65
|
+
], // myentity => hellokitty
|
|
66
|
+
];
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* @param orgString input string
|
|
70
|
+
* @returns string with all possible combinations replaced
|
|
71
|
+
*/
|
|
72
|
+
replaceInString(orgString) {
|
|
73
|
+
return this.replace({
|
|
74
|
+
orgString,
|
|
75
|
+
replaceallPossibliliteis: true,
|
|
76
|
+
});
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
*
|
|
80
|
+
* @param orgString (file name OR file content)
|
|
81
|
+
* @param replaceallPossibliliteis when changin file notent (not name only)
|
|
82
|
+
* @returns
|
|
83
|
+
*/
|
|
84
|
+
replace(options) {
|
|
85
|
+
let { fileName, orgString, replaceallPossibliliteis } = options;
|
|
86
|
+
replaceallPossibliliteis = !!replaceallPossibliliteis;
|
|
87
|
+
const combinations = this.combinations;
|
|
88
|
+
for (let index = 0; index < combinations.length; index++) {
|
|
89
|
+
const v = combinations[index];
|
|
90
|
+
let [from, to] = v;
|
|
91
|
+
if (orgString.search(from) !== -1) {
|
|
92
|
+
const regex = new RegExp(Helpers.escapeStringForRegEx(from));
|
|
93
|
+
log.i(`apply! "${regex.source}" to file ${fileName} => "${to}"`);
|
|
94
|
+
orgString = orgString.replace(new RegExp(Helpers.escapeStringForRegEx(from), 'g'), to);
|
|
95
|
+
if (!replaceallPossibliliteis) {
|
|
96
|
+
return orgString;
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
return orgString;
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
;
|
|
104
|
+
({}); // @--end-of-file-for-module=magic-renamer lib/rename-rule.ts
|
|
105
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVuYW1lLXJ1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi90bXAtbGlicy1mb3ItZGlzdC9tYWdpYy1yZW5hbWVyL3Byb2plY3RzL21hZ2ljLXJlbmFtZXIvc3JjL2xpYi9yZW5hbWUtcnVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDOUMsT0FBTyxFQUFFLENBQUMsRUFBRSxXQUFXLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ2hELE1BQU0sR0FBRyxHQUFHLEdBQUcsQ0FBQyxNQUFNLENBQUMsZUFBZSxFQUFFLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQztBQUV6RCxNQUFNLE9BQU8sVUFBVTtJQUNyQixNQUFNLENBQUMsSUFBSSxDQUFDLEtBQWE7UUFDdkIsS0FBSyxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ3JDLElBQUksSUFBSSxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMscUJBQXFCLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFhLENBQUM7UUFDM0UsR0FBRyxDQUFDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBQ3pCLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDZixHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ1gsQ0FBQyxDQUFDLENBQUM7UUFDSCxHQUFHLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDekIsT0FBTyxJQUFJO2FBQ1IsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FB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QU0sWUFBWSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUM7UUFDdkMsS0FBSyxJQUFJLEtBQUssR0FBRyxDQUFDLEVBQUUsS0FBSyxHQUFHLFlBQVksQ0FBQyxNQUFNLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQztZQUN6RCxNQUFNLENBQUMsR0FBRyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDOUIsSUFBSSxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDbkIsSUFBSSxTQUFTLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUM7Z0JBQ2xDLE1BQU0sS0FBSyxHQUFHLElBQUksTUFBTSxDQUFDLE9BQU8sQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO2dCQUM3RCxHQUFHLENBQUMsQ0FBQyxDQUFDLFdBQVcsS0FBSyxDQUFDLE1BQU0sYUFBYSxRQUFRLFFBQVEsRUFBRSxHQUFHLENBQUMsQ0FBQztnQkFDakUsU0FBUyxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQzNCLElBQUksTUFBTSxDQUFDLE9BQU8sQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsRUFBRSxHQUFHLENBQUMsRUFDbkQsRUFBRSxDQUNILENBQUM7Z0JBQ0YsSUFBSSxDQUFDLHdCQUF3QixFQUFFLENBQUM7b0JBQzlCLE9BQU8sU0FBUyxDQUFDO2dCQUNuQixDQUFDO1lBQ0gsQ0FBQztRQUNILENBQUM7UUFDRCxPQUFPLFNBQVMsQ0FBQztJQUNuQixDQUFDO0NBQ0Y7QUFFQSxDQUFDO0FBQUEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLDZEQUE2RCIsInNvdXJjZXNDb250ZW50IjpbIlxuXG5pbXBvcnQgeyBIZWxwZXJzIH0gZnJvbSAndG5wLWhlbHBlcnMvYnJvd3Nlcic7XG5pbXBvcnQgeyBfLCBVdGlsc1N0cmluZyB9IGZyb20gJ3RucC1jb3JlL2Jyb3dzZXInO1xuaW1wb3J0IHsgTG9nLCBMZXZlbCB9IGZyb20gJ25nMi1sb2dnZXIvYnJvd3Nlcic7XG5jb25zdCBsb2cgPSBMb2cuY3JlYXRlKCdtYWdpYy1yZW5lbWVyJywgTGV2ZWwuX19OT1RISU5HKTtcblxuZXhwb3J0IGNsYXNzIFJlbmFtZVJ1bGUge1xuICBzdGF0aWMgZnJvbShwQXJnczogc3RyaW5nKTogUmVuYW1lUnVsZVtdIHtcbiAgICBwQXJncyA9IHBBcmdzLnJlcGxhY2UoL1xcPVxcPi9nLCAnLT4nKTtcbiAgICBsZXQgYXJncyA9IHBBcmdzLnNwbGl0KC8oXFwnfFxcXCIpKFxcICkrKFxcJ3xcXFwiKS8pLmZpbHRlcihmID0+ICEhZikgYXMgc3RyaW5nW107XG4gICAgbG9nLmQoJy0tLS0gUnVsZXMgLS0tLScpO1xuICAgIGFyZ3MuZm9yRWFjaChhID0+IHtcbiAgICAgIGxvZy5kKGEpO1xuICAgIH0pO1xuICAgIGxvZy5kKCctLS0tLS0tLS0tLS0tLS0nKTtcbiAgICByZXR1cm4gYXJnc1xuICAgICAgLmZpbHRlcihhID0+IGEuc2VhcmNoKCctPicpICE9PSAtMSlcbiAgICAgIC5tYXAoYSA9PiB7XG4gICAgICAgIGNvbnN0IFtmcm9tLCB0b10gPSBhLnNwbGl0KCctPicpO1xuICAgICAgICBpZiAoIWZyb20gfHwgIXRvKSB7XG4gICAgICAgICAgSGVscGVycy5lcnJvcihcbiAgICAgICAgICAgIGBJbmNvcnJlY3QgcnVsZVxuICAgICAgICBcIiR7ZnJvbX1cIiAtPiBcIiR7dG99XCJcbiAgICAgICAgcGxlYXNlIGZvbGxvdyBwYXR0ZXJuOiAndGVzdCBuYW1lIC0+IG15IG5ldyBuYW1lICdgLFxuICAgICAgICAgICAgZmFsc2UsXG4gICAgICAgICAgICB0cnVlLFxuICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG5ldyBSZW5hbWVSdWxlKGZyb20udHJpbSgpLCB0by50cmltKCkpO1xuICAgICAgfSk7XG4gIH1cblxuICBwdWJsaWMgcmVhZG9ubHkgZnJvbVdoaXRlU3BhY2VSZXBsYWNlZDogc3RyaW5nO1xuICBwdWJsaWMgcmVhZG9ubHkgdG9XaGl0ZVNwYWNlUmVwbGFjZWQ6IHN0cmluZztcbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIHJlYWRvbmx5IGZyb206IHN0cmluZyxcbiAgICBwdWJsaWMgcmVhZG9ubHkgdG86IHN0cmluZyxcbiAgKSB7XG4gICAgdGhpcy5mcm9tV2hpdGVTcGFjZVJlcGxhY2VkID0gZnJvbS50cmltKCkudG9Mb3dlckNhc2UoKS5yZXBsYWNlKC9cXFcvZywgJyAnKTtcbiAgICB0aGlzLnRvV2hpdGVTcGFjZVJlcGxhY2VkID0gdG8udHJpbSgpLnRvTG93ZXJDYXNlKCkucmVwbGFjZSgvXFxXL2csICcgJyk7XG4gIH1cblxuICBhcHBseVRvKHM6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHMgPSBzLnRyaW0oKS50b0xvd2VyQ2FzZSgpLnJlcGxhY2UoL1xcVy9nLCAnJyk7XG4gICAgY29uc3QgcmVzID0gcy5zZWFyY2godGhpcy5mcm9tLnJlcGxhY2UoL1xcVy9nLCAnJykpICE9PSAtMTtcbiAgICByZXR1cm4gcmVzO1xuICB9XG5cbiAgdG9TdHJpbmcgPSAoKSA9PiB7XG4gICAgcmV0dXJuIGAke3RoaXMuZnJvbX0gPT4gJHt0aGlzLnRvfWA7XG4gIH07XG5cbiAgaW5jbHVkZXMob3JnU3RyaW5nKSB7XG4gICAgcmV0dXJuICFfLmlzVW5kZWZpbmVkKFxuICAgICAgdGhpcy5jb21iaW5hdGlvbnMuZmluZCh2ID0+IHtcbiAgICAgICAgY29uc3QgW2Zyb20sIHRvXSA9IHY7XG4gICAgICAgIHJldHVybiBvcmdTdHJpbmcgPT09IHRvO1xuICAgICAgfSksXG4gICAgKTtcbiAgfVxuXG4gIGdldCBjb21iaW5hdGlvbnMoKSB7XG4gICAgY29uc3QgdGhpc1RvID0gdGhpcy50b1doaXRlU3BhY2VSZXBsYWNlZDtcbiAgICBjb25zdCB0aGlzRnJvbSA9IHRoaXMuZnJvbVdoaXRlU3BhY2VSZXBsYWNlZDtcbiAgICByZXR1cm4gW1xuXG4gICAgICBbXG4gICAgICAgIFV0aWxzU3RyaW5nLmtlYmFiQ2FzZU5vU3BsaXROdW1iZXJzKHRoaXNGcm9tKSxcbiAgICAgICAgVXRpbHNTdHJpbmcua2ViYWJDYXNlTm9TcGxpdE51bWJlcnModGhpc1RvKSxcbiAgICAgIF0sIC8vIG15LWVudGl0eSA9PiBoZWxsbzEta2l0dHlcbiAgICAgIFtfLmtlYmFiQ2FzZSh0aGlzRnJvbSksIF8ua2ViYWJDYXNlKHRoaXNUbyldLCAvLyBteS1lbnRpdHkgPT4gaGVsbG8ta2l0dHlcbiAgICAgIFtfLmNhbWVsQ2FzZSh0aGlzRnJvbSksIF8uY2FtZWxDYXNlKHRoaXNUbyldLCAvLyBteUVudGl0eSA9PiBoZWxsb0tpdHR5XG4gICAgICBbXy51cHBlckZpcnN0KF8uY2FtZWxDYXNlKHRoaXNGcm9tKSksIF8udXBwZXJGaXJzdChfLmNhbWVsQ2FzZSh0aGlzVG8pKV0sIC8vIE15RW50aXR5ID0+IEhlbGxvS2l0dHlcbiAgICAgIFtfLnNuYWtlQ2FzZSh0aGlzRnJvbSksIF8uc25ha2VDYXNlKHRoaXNUbyldLCAvLyBteV9lbnRpdHkgPT4gaGVsbG9fa2l0dHlcbiAgICAgIFtfLnNuYWtlQ2FzZSh0aGlzRnJvbSkudG9VcHBlckNhc2UoKSwgXy5zbmFrZUNhc2UodGhpc1RvKS50b1VwcGVyQ2FzZSgpXSwgLy8gTVlfRU5USVRZID0+IEhFTExPX0tJVFRZXG4gICAgICBbXy5zdGFydENhc2UodGhpc0Zyb20pLCBfLnN0YXJ0Q2FzZSh0aGlzVG8pXSwgLy8gTXkgRW50aXR5ID0+IEhlbGxvIEtpdHR5XG4gICAgICBbXy51cHBlckNhc2UodGhpc0Zyb20pLCBfLnVwcGVyQ2FzZSh0aGlzVG8pXSwgLy8gTVkgRU5USVRZID0+IEhFTExPIEtJVFRZXG4gICAgICBbXy5sb3dlckNhc2UodGhpc0Zyb20pLCBfLmxvd2VyQ2FzZSh0aGlzVG8pXSwgLy8gbXkgZW50aXR5ID0+IGhlbGxvIGtpdHR5XG4gICAgICBbXG4gICAgICAgIF8uY2FtZWxDYXNlKHRoaXNGcm9tKS50b0xvY2FsZUxvd2VyQ2FzZSgpLFxuICAgICAgICBfLmNhbWVsQ2FzZSh0aGlzVG8pLnRvTG9jYWxlTG93ZXJDYXNlKCksXG4gICAgICBdLCAvLyBteWVudGl0eSA9PiBoZWxsb2tpdHR5XG4gICAgXTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0gb3JnU3RyaW5nIGlucHV0IHN0cmluZ1xuICAgKiBAcmV0dXJucyBzdHJpbmcgd2l0aCBhbGwgcG9zc2libGUgY29tYmluYXRpb25zIHJlcGxhY2VkXG4gICAqL1xuICByZXBsYWNlSW5TdHJpbmcob3JnU3RyaW5nOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnJlcGxhY2Uoe1xuICAgICAgb3JnU3RyaW5nLFxuICAgICAgcmVwbGFjZWFsbFBvc3NpYmxpbGl0ZWlzOiB0cnVlLFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqXG4gICAqIEBwYXJhbSBvcmdTdHJpbmcgKGZpbGUgbmFtZSBPUiBmaWxlIGNvbnRlbnQpXG4gICAqIEBwYXJhbSByZXBsYWNlYWxsUG9zc2libGlsaXRlaXMgd2hlbiBjaGFuZ2luIGZpbGUgbm90ZW50IChub3QgbmFtZSBvbmx5KVxuICAgKiBAcmV0dXJuc1xuICAgKi9cbiAgcmVwbGFjZShvcHRpb25zOiB7XG4gICAgLyoqXG4gICAgICogZmlsZSBuYW1lIGZvciBkZWJ1Z2dpbmdcbiAgICAgKi9cbiAgICBmaWxlTmFtZT86IHN0cmluZztcbiAgICBvcmdTdHJpbmc6IHN0cmluZztcbiAgICByZXBsYWNlYWxsUG9zc2libGlsaXRlaXM/OiBib29sZWFuO1xuICB9KSB7XG4gICAgbGV0IHsgZmlsZU5hbWUsIG9yZ1N0cmluZywgcmVwbGFjZWFsbFBvc3NpYmxpbGl0ZWlzIH0gPSBvcHRpb25zO1xuICAgIHJlcGxhY2VhbGxQb3NzaWJsaWxpdGVpcyA9ICEhcmVwbGFjZWFsbFBvc3NpYmxpbGl0ZWlzO1xuICAgIGNvbnN0IGNvbWJpbmF0aW9ucyA9IHRoaXMuY29tYmluYXRpb25zO1xuICAgIGZvciAobGV0IGluZGV4ID0gMDsgaW5kZXggPCBjb21iaW5hdGlvbnMubGVuZ3RoOyBpbmRleCsrKSB7XG4gICAgICBjb25zdCB2ID0gY29tYmluYXRpb25zW2luZGV4XTtcbiAgICAgIGxldCBbZnJvbSwgdG9dID0gdjtcbiAgICAgIGlmIChvcmdTdHJpbmcuc2VhcmNoKGZyb20pICE9PSAtMSkge1xuICAgICAgICBjb25zdCByZWdleCA9IG5ldyBSZWdFeHAoSGVscGVycy5lc2NhcGVTdHJpbmdGb3JSZWdFeChmcm9tKSk7XG4gICAgICAgIGxvZy5pKGBhcHBseSEgXCIke3JlZ2V4LnNvdXJjZX1cIiB0byBmaWxlICR7ZmlsZU5hbWV9ID0+IFwiJHt0b31cImApO1xuICAgICAgICBvcmdTdHJpbmcgPSBvcmdTdHJpbmcucmVwbGFjZShcbiAgICAgICAgICBuZXcgUmVnRXhwKEhlbHBlcnMuZXNjYXBlU3RyaW5nRm9yUmVnRXgoZnJvbSksICdnJyksXG4gICAgICAgICAgdG8sXG4gICAgICAgICk7XG4gICAgICAgIGlmICghcmVwbGFjZWFsbFBvc3NpYmxpbGl0ZWlzKSB7XG4gICAgICAgICAgcmV0dXJuIG9yZ1N0cmluZztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gb3JnU3RyaW5nO1xuICB9XG59XG5cbiA7KHt9KTsgLy8gQC0tZW5kLW9mLWZpbGUtZm9yLW1vZHVsZT1tYWdpYy1yZW5hbWVyIGxpYi9yZW5hbWUtcnVsZS50cyJdfQ==
|