erii 2.0.3 → 2.0.5
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/dist/utils/convert.js +18 -3
- package/dist/utils/convert.js.map +1 -1
- package/package.json +3 -3
- package/src/utils/convert.ts +21 -3
package/dist/utils/convert.js
CHANGED
|
@@ -8,10 +8,10 @@ function toCamelCase(str) {
|
|
|
8
8
|
}
|
|
9
9
|
exports.toCamelCase = toCamelCase;
|
|
10
10
|
function toKebabCase(str) {
|
|
11
|
-
return str[0].toLowerCase() +
|
|
11
|
+
return (str[0].toLowerCase() +
|
|
12
12
|
str
|
|
13
13
|
.slice(1, str.length)
|
|
14
|
-
.replace(/[A-Z]/g, (letter) => `-${letter.toLowerCase()}`);
|
|
14
|
+
.replace(/[A-Z]/g, (letter) => `-${letter.toLowerCase()}`));
|
|
15
15
|
}
|
|
16
16
|
exports.toKebabCase = toKebabCase;
|
|
17
17
|
function convertObjectKey(before) {
|
|
@@ -19,10 +19,25 @@ function convertObjectKey(before) {
|
|
|
19
19
|
}
|
|
20
20
|
exports.convertObjectKey = convertObjectKey;
|
|
21
21
|
function createCamelProxifiedObject(before) {
|
|
22
|
+
const originalObject = before;
|
|
22
23
|
return new Proxy(before, {
|
|
23
24
|
get: (target, key) => {
|
|
24
25
|
var _a;
|
|
25
|
-
return (_a =
|
|
26
|
+
return (_a = originalObject[key]) !== null && _a !== void 0 ? _a : originalObject[toKebabCase(key)];
|
|
27
|
+
},
|
|
28
|
+
set: (target, key, value) => {
|
|
29
|
+
// 如果赋值的是camel case的key,而驼峰形式key是从kebab case的key proxy来的 则赋值其kebab case形式的key的值
|
|
30
|
+
if (!key.includes("-") &&
|
|
31
|
+
(originalObject[key] === undefined ||
|
|
32
|
+
originalObject[key] === null) &&
|
|
33
|
+
originalObject[toKebabCase(key)] !== undefined &&
|
|
34
|
+
originalObject[toKebabCase(key)] !== null) {
|
|
35
|
+
target[toKebabCase(key)] = value;
|
|
36
|
+
}
|
|
37
|
+
else {
|
|
38
|
+
target[key] = value;
|
|
39
|
+
}
|
|
40
|
+
return value;
|
|
26
41
|
},
|
|
27
42
|
});
|
|
28
43
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"convert.js","sourceRoot":"","sources":["../../src/utils/convert.ts"],"names":[],"mappings":";;;AAAA,SAAgB,WAAW,CAAC,GAAW;IACnC,OAAO,GAAG,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC,EAAE,EAAE,EAAE;QACvC,OAAO,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IAC7C,CAAC,CAAC,CAAC;AACP,CAAC;AAJD,kCAIC;AAED,SAAgB,WAAW,CAAC,GAAW;IACnC,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE;
|
|
1
|
+
{"version":3,"file":"convert.js","sourceRoot":"","sources":["../../src/utils/convert.ts"],"names":[],"mappings":";;;AAAA,SAAgB,WAAW,CAAC,GAAW;IACnC,OAAO,GAAG,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC,EAAE,EAAE,EAAE;QACvC,OAAO,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IAC7C,CAAC,CAAC,CAAC;AACP,CAAC;AAJD,kCAIC;AAED,SAAgB,WAAW,CAAC,GAAW;IACnC,OAAO,CACH,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE;QACpB,GAAG;aACE,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC;aACpB,OAAO,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,MAAM,CAAC,WAAW,EAAE,EAAE,CAAC,CACjE,CAAC;AACN,CAAC;AAPD,kCAOC;AAED,SAAgB,gBAAgB,CAAC,MAAgC;IAC7D,OAAO,MAAM,CAAC,WAAW,CACrB,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC,CAC1E,CAAC;AACN,CAAC;AAJD,4CAIC;AAED,SAAgB,0BAA0B,CAAC,MAAgC;IACvE,MAAM,cAAc,GAAG,MAAM,CAAC;IAC9B,OAAO,IAAI,KAAK,CAAC,MAAM,EAAE;QACrB,GAAG,EAAE,CAAC,MAAqB,EAAE,GAAW,EAAE,EAAE;;YACxC,aAAO,cAAc,CAAC,GAAG,CAAC,mCAAI,cAAc,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC;QACnE,CAAC;QACD,GAAG,EAAE,CAAC,MAAqB,EAAE,GAAW,EAAE,KAAU,EAAE,EAAE;YACpD,+EAA+E;YAC/E,IACI,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC;gBAClB,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,SAAS;oBAC9B,cAAc,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC;gBACjC,cAAc,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,KAAK,SAAS;gBAC9C,cAAc,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,KAAK,IAAI,EAC3C;gBACE,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC;aACpC;iBAAM;gBACH,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;aACvB;YACD,OAAO,KAAK,CAAC;QACjB,CAAC;KACJ,CAAC,CAAC;AACP,CAAC;AAtBD,gEAsBC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "erii",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.5",
|
|
4
4
|
"description": "",
|
|
5
5
|
"main": "./dist/index.js",
|
|
6
6
|
"types": "./dist/index.d.ts",
|
|
@@ -20,8 +20,8 @@
|
|
|
20
20
|
"dependencies": {
|
|
21
21
|
"chalk": "^2.4.1",
|
|
22
22
|
"clui": "^0.3.6",
|
|
23
|
-
"validator": "^
|
|
24
|
-
"yargs-parser": "^
|
|
23
|
+
"validator": "^13.7.0",
|
|
24
|
+
"yargs-parser": "^21.0.0"
|
|
25
25
|
},
|
|
26
26
|
"devDependencies": {
|
|
27
27
|
"@types/node": "^10.17.48",
|
package/src/utils/convert.ts
CHANGED
|
@@ -5,10 +5,12 @@ export function toCamelCase(str: string) {
|
|
|
5
5
|
}
|
|
6
6
|
|
|
7
7
|
export function toKebabCase(str: string) {
|
|
8
|
-
return
|
|
8
|
+
return (
|
|
9
|
+
str[0].toLowerCase() +
|
|
9
10
|
str
|
|
10
11
|
.slice(1, str.length)
|
|
11
|
-
.replace(/[A-Z]/g, (letter) => `-${letter.toLowerCase()}`)
|
|
12
|
+
.replace(/[A-Z]/g, (letter) => `-${letter.toLowerCase()}`)
|
|
13
|
+
);
|
|
12
14
|
}
|
|
13
15
|
|
|
14
16
|
export function convertObjectKey(before: { [index: string]: any }) {
|
|
@@ -18,9 +20,25 @@ export function convertObjectKey(before: { [index: string]: any }) {
|
|
|
18
20
|
}
|
|
19
21
|
|
|
20
22
|
export function createCamelProxifiedObject(before: { [index: string]: any }) {
|
|
23
|
+
const originalObject = before;
|
|
21
24
|
return new Proxy(before, {
|
|
22
25
|
get: (target: typeof before, key: string) => {
|
|
23
|
-
return
|
|
26
|
+
return originalObject[key] ?? originalObject[toKebabCase(key)];
|
|
27
|
+
},
|
|
28
|
+
set: (target: typeof before, key: string, value: any) => {
|
|
29
|
+
// 如果赋值的是camel case的key,而驼峰形式key是从kebab case的key proxy来的 则赋值其kebab case形式的key的值
|
|
30
|
+
if (
|
|
31
|
+
!key.includes("-") &&
|
|
32
|
+
(originalObject[key] === undefined ||
|
|
33
|
+
originalObject[key] === null) &&
|
|
34
|
+
originalObject[toKebabCase(key)] !== undefined &&
|
|
35
|
+
originalObject[toKebabCase(key)] !== null
|
|
36
|
+
) {
|
|
37
|
+
target[toKebabCase(key)] = value;
|
|
38
|
+
} else {
|
|
39
|
+
target[key] = value;
|
|
40
|
+
}
|
|
41
|
+
return value;
|
|
24
42
|
},
|
|
25
43
|
});
|
|
26
44
|
}
|