erii 2.0.4 → 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.
@@ -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 = target[key]) !== null && _a !== void 0 ? _a : target[toKebabCase(key)];
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;QACvB,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,CAAC;AACvE,CAAC;AALD,kCAKC;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,OAAO,IAAI,KAAK,CAAC,MAAM,EAAE;QACrB,GAAG,EAAE,CAAC,MAAqB,EAAE,GAAW,EAAE,EAAE;;YACxC,aAAO,MAAM,CAAC,GAAG,CAAC,mCAAI,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC;QACnD,CAAC;KACJ,CAAC,CAAC;AACP,CAAC;AAND,gEAMC"}
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.4",
3
+ "version": "2.0.5",
4
4
  "description": "",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",
@@ -5,10 +5,12 @@ export function toCamelCase(str: string) {
5
5
  }
6
6
 
7
7
  export function toKebabCase(str: string) {
8
- return str[0].toLowerCase() +
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 target[key] ?? target[toKebabCase(key)];
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
  }