@cyberskill/shared 1.215.0 → 1.216.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.
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const _=require("@antfu/eslint-config"),s=require("lodash-es"),i=require("./config.type.cjs"),y=require("./eslint/index.cjs"),E=require("./vitest/vitest.e2e.cjs"),m=require("./vitest/vitest.unit.cjs");var g=Object.getOwnPropertySymbols,p=Object.prototype.hasOwnProperty,u=Object.prototype.propertyIsEnumerable,T=(e,n)=>{var t={};for(var r in e)p.call(e,r)&&n.indexOf(r)<0&&(t[r]=e[r]);if(e!=null&&g)for(var r of g(e))n.indexOf(r)<0&&u.call(e,r)&&(t[r]=e[r]);return t};const c=(...e)=>{const t=s.merge(y.default,...e.map(o=>o)),{ignores:r}=t,f=T(t,["ignores"]),a=Array.isArray(r)&&r.every(o=>typeof o=="string")?{ignores:r}:void 0,l=[f,...a?[a]:[]];return _({stylistic:{semi:!0,indent:4,quotes:"single"},formatters:{css:!0,html:!0,markdown:"prettier"},yaml:!1,react:!0},...l)},d={[i.E_ConfigType.ESLINT]:e=>c(e),[i.E_ConfigType.COMMITLINT]:e=>s.merge(e),[i.E_ConfigType.LINT_STAGED]:e=>s.merge(e),[i.E_ConfigType.VITEST_REACT_UNIT]:e=>m.vitestUnit(e),[i.E_ConfigType.VITEST_REACT_E2E]:e=>E.vitestE2E(e)};function v(e,...n){const t=d[e];if(!n||n.length===0)return t({});if(!t)throw new Error(`Unknown config type: ${e}`);return t(...n)}exports.mergeConfigs=v;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const g=require("@antfu/eslint-config"),i=require("./config.type.cjs"),o=require("./eslint/index.cjs"),l=require("./vitest/vitest.e2e.cjs"),_=require("./vitest/vitest.unit.cjs"),a=require("../util/object/object.util.cjs");var s=Object.getOwnPropertySymbols,u=Object.prototype.hasOwnProperty,y=Object.prototype.propertyIsEnumerable,p=(e,n)=>{var t={};for(var r in e)u.call(e,r)&&n.indexOf(r)<0&&(t[r]=e[r]);if(e!=null&&s)for(var r of s(e))n.indexOf(r)<0&&y.call(e,r)&&(t[r]=e[r]);return t};const E=(...e)=>{const t=a.deepMerge(...Array.isArray(o.default)?o.default:[o.default],...e),{ignores:r}=t,f=p(t,["ignores"]);return g({stylistic:{semi:!0,indent:4,quotes:"single"},formatters:{css:!0,html:!0,markdown:"prettier"},yaml:!1,react:!0},f,...Array.isArray(r)?[{ignores:r}]:[])},T={[i.E_ConfigType.ESLINT]:e=>E(e),[i.E_ConfigType.COMMITLINT]:e=>a.deepMerge(e),[i.E_ConfigType.LINT_STAGED]:e=>a.deepMerge(e),[i.E_ConfigType.VITEST_REACT_UNIT]:e=>_.vitestUnit(e),[i.E_ConfigType.VITEST_REACT_E2E]:e=>l.vitestE2E(e)};function d(e,...n){const t=T[e];if(!n||n.length===0)return t({});if(!t)throw new Error(`Unknown config type: ${e}`);return t(...n)}exports.mergeConfigs=d;
@@ -1,27 +1,24 @@
1
- import l from "@antfu/eslint-config";
2
- import { merge as a } from "lodash-es";
1
+ import m from "@antfu/eslint-config";
3
2
  import { E_ConfigType as o } from "./config.type.js";
4
- import p from "./eslint/index.js";
5
- import { vitestE2E as y } from "./vitest/vitest.e2e.js";
6
- import { vitestUnit as E } from "./vitest/vitest.unit.js";
7
- var f = Object.getOwnPropertySymbols, _ = Object.prototype.hasOwnProperty, T = Object.prototype.propertyIsEnumerable, v = (r, n) => {
3
+ import i from "./eslint/index.js";
4
+ import { vitestE2E as l } from "./vitest/vitest.e2e.js";
5
+ import { vitestUnit as p } from "./vitest/vitest.unit.js";
6
+ import { deepMerge as a } from "../util/object/object.util.js";
7
+ var f = Object.getOwnPropertySymbols, g = Object.prototype.hasOwnProperty, E = Object.prototype.propertyIsEnumerable, _ = (r, n) => {
8
8
  var e = {};
9
9
  for (var t in r)
10
- _.call(r, t) && n.indexOf(t) < 0 && (e[t] = r[t]);
10
+ g.call(r, t) && n.indexOf(t) < 0 && (e[t] = r[t]);
11
11
  if (r != null && f)
12
12
  for (var t of f(r))
13
- n.indexOf(t) < 0 && T.call(r, t) && (e[t] = r[t]);
13
+ n.indexOf(t) < 0 && E.call(r, t) && (e[t] = r[t]);
14
14
  return e;
15
15
  };
16
- const c = (...r) => {
16
+ const y = (...r) => {
17
17
  const e = a(
18
- p,
19
- ...r.map((i) => i)
20
- ), { ignores: t } = e, m = v(e, ["ignores"]), s = Array.isArray(t) && t.every((i) => typeof i == "string") ? { ignores: t } : void 0, g = [
21
- m,
22
- ...s ? [s] : []
23
- ];
24
- return l(
18
+ ...Array.isArray(i) ? i : [i],
19
+ ...r
20
+ ), { ignores: t } = e, s = _(e, ["ignores"]);
21
+ return m(
25
22
  {
26
23
  stylistic: {
27
24
  semi: !0,
@@ -36,17 +33,18 @@ const c = (...r) => {
36
33
  yaml: !1,
37
34
  react: !0
38
35
  },
39
- ...g
36
+ s,
37
+ ...Array.isArray(t) ? [{ ignores: t }] : []
40
38
  );
41
- }, d = {
42
- [o.ESLINT]: (r) => c(r),
39
+ }, T = {
40
+ [o.ESLINT]: (r) => y(r),
43
41
  [o.COMMITLINT]: (r) => a(r),
44
42
  [o.LINT_STAGED]: (r) => a(r),
45
- [o.VITEST_REACT_UNIT]: (r) => E(r),
46
- [o.VITEST_REACT_E2E]: (r) => y(r)
43
+ [o.VITEST_REACT_UNIT]: (r) => p(r),
44
+ [o.VITEST_REACT_E2E]: (r) => l(r)
47
45
  };
48
- function u(r, ...n) {
49
- const e = d[r];
46
+ function b(r, ...n) {
47
+ const e = T[r];
50
48
  if (!n || n.length === 0)
51
49
  return e({});
52
50
  if (!e)
@@ -54,5 +52,5 @@ function u(r, ...n) {
54
52
  return e(...n);
55
53
  }
56
54
  export {
57
- u as mergeConfigs
55
+ b as mergeConfigs
58
56
  };
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("./common/common.util.cjs"),t=require("./object/object.util.cjs"),a=require("./serializer/serializer.util.cjs"),e=require("./string/string.util.cjs"),i=require("./validate/validate.util.cjs");exports.mapEnvironment=r.mapEnvironment;exports.regexSearchMapper=r.regexSearchMapper;exports.removeAccent=r.removeAccent;exports.uniqueArray=r.uniqueArray;exports.getNestedValue=t.getNestedValue;exports.isJSON=t.isJSON;exports.setNestedValue=t.setNestedValue;exports.serializer=a.serializer;exports.generateRandomPassword=e.generateRandomPassword;exports.generateShortId=e.generateShortId;exports.generateSlug=e.generateSlug;exports.getFileName=e.getFileName;exports.substringBetween=e.substringBetween;exports.validate=i.validate;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("./common/common.util.cjs"),t=require("./object/object.util.cjs"),a=require("./serializer/serializer.util.cjs"),e=require("./string/string.util.cjs"),i=require("./validate/validate.util.cjs");exports.mapEnvironment=r.mapEnvironment;exports.regexSearchMapper=r.regexSearchMapper;exports.removeAccent=r.removeAccent;exports.uniqueArray=r.uniqueArray;exports.deepMerge=t.deepMerge;exports.getNestedValue=t.getNestedValue;exports.isJSON=t.isJSON;exports.setNestedValue=t.setNestedValue;exports.serializer=a.serializer;exports.generateRandomPassword=e.generateRandomPassword;exports.generateShortId=e.generateShortId;exports.generateSlug=e.generateSlug;exports.getFileName=e.getFileName;exports.substringBetween=e.substringBetween;exports.validate=i.validate;
@@ -1,21 +1,22 @@
1
1
  import { mapEnvironment as t, regexSearchMapper as a, removeAccent as o, uniqueArray as n } from "./common/common.util.js";
2
- import { getNestedValue as s, isJSON as g, setNestedValue as i } from "./object/object.util.js";
3
- import { serializer as d } from "./serializer/serializer.util.js";
4
- import { generateRandomPassword as u, generateShortId as x, generateSlug as f, getFileName as N, substringBetween as S } from "./string/string.util.js";
5
- import { validate as v } from "./validate/validate.util.js";
2
+ import { deepMerge as g, getNestedValue as p, isJSON as s, setNestedValue as i } from "./object/object.util.js";
3
+ import { serializer as l } from "./serializer/serializer.util.js";
4
+ import { generateRandomPassword as x, generateShortId as f, generateSlug as N, getFileName as S, substringBetween as c } from "./string/string.util.js";
5
+ import { validate as h } from "./validate/validate.util.js";
6
6
  export {
7
- u as generateRandomPassword,
8
- x as generateShortId,
9
- f as generateSlug,
10
- N as getFileName,
11
- s as getNestedValue,
12
- g as isJSON,
7
+ g as deepMerge,
8
+ x as generateRandomPassword,
9
+ f as generateShortId,
10
+ N as generateSlug,
11
+ S as getFileName,
12
+ p as getNestedValue,
13
+ s as isJSON,
13
14
  t as mapEnvironment,
14
15
  a as regexSearchMapper,
15
16
  o as removeAccent,
16
- d as serializer,
17
+ l as serializer,
17
18
  i as setNestedValue,
18
- S as substringBetween,
19
+ c as substringBetween,
19
20
  n as uniqueArray,
20
- v as validate
21
+ h as validate
21
22
  };
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./object.util.cjs");exports.getNestedValue=e.getNestedValue;exports.isJSON=e.isJSON;exports.setNestedValue=e.setNestedValue;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./object.util.cjs");exports.deepMerge=e.deepMerge;exports.getNestedValue=e.getNestedValue;exports.isJSON=e.isJSON;exports.setNestedValue=e.setNestedValue;
@@ -1,6 +1,7 @@
1
- import { getNestedValue as s, isJSON as N, setNestedValue as a } from "./object.util.js";
1
+ import { deepMerge as s, getNestedValue as d, isJSON as r, setNestedValue as N } from "./object.util.js";
2
2
  export {
3
- s as getNestedValue,
4
- N as isJSON,
5
- a as setNestedValue
3
+ s as deepMerge,
4
+ d as getNestedValue,
5
+ r as isJSON,
6
+ N as setNestedValue
6
7
  };
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});var l=Object.defineProperty,c=Object.defineProperties,_=Object.getOwnPropertyDescriptors,u=Object.getOwnPropertySymbols,d=Object.prototype.hasOwnProperty,O=Object.prototype.propertyIsEnumerable,a=(r,e,t)=>e in r?l(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,i=(r,e)=>{for(var t in e||(e={}))d.call(e,t)&&a(r,t,e[t]);if(u)for(var t of u(e))O.call(e,t)&&a(r,t,e[t]);return r},p=(r,e)=>c(r,_(e));function P(r){try{return JSON.parse(r),!0}catch(e){return!1}}function g(r,e){return e.reduce((t,n)=>{if(t&&typeof t=="object"&&n in t)return t[n]},r)}function f(r,e,t){if(e.length===0)return r;const[n,...s]=e;if(s.length===0)return p(i({},r),{[n]:t});const o=r[n];return p(i({},r),{[n]:f(typeof o=="object"&&o!==null?o:{},s,t)})}exports.getNestedValue=g;exports.isJSON=P;exports.setNestedValue=f;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("lodash-es");var l=Object.defineProperty,d=Object.defineProperties,y=Object.getOwnPropertyDescriptors,u=Object.getOwnPropertySymbols,_=Object.prototype.hasOwnProperty,O=Object.prototype.propertyIsEnumerable,a=(e,r,t)=>r in e?l(e,r,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[r]=t,p=(e,r)=>{for(var t in r||(r={}))_.call(r,t)&&a(e,t,r[t]);if(u)for(var t of u(r))O.call(r,t)&&a(e,t,r[t]);return e},f=(e,r)=>d(e,y(r));function P(e){try{return JSON.parse(e),!0}catch(r){return!1}}function g(e,r){return r.reduce((t,n)=>{if(t&&typeof t=="object"&&n in t)return t[n]},e)}function c(e,r,t){if(r.length===0)return e;const[n,...i]=r;if(i.length===0)return f(p({},e),{[n]:t});const s=e[n];return f(p({},e),{[n]:c(typeof s=="object"&&s!==null?s:{},i,t)})}function v(...e){if(e.every(o.isArray))return[].concat(...e);if(e.every(o.isPlainObject))return o.mergeWith({},...e,(r,t)=>{if(o.isArray(r)&&o.isArray(t))return r.concat(t)});throw new Error("deepMerge: All arguments must be either arrays or objects of the same type.")}exports.deepMerge=v;exports.getNestedValue=g;exports.isJSON=P;exports.setNestedValue=c;
@@ -20,3 +20,10 @@ export declare function getNestedValue<T>(obj: T, path: (string | number)[]): un
20
20
  * @returns The updated object.
21
21
  */
22
22
  export declare function setNestedValue<T>(obj: T, path: (string | number)[], value: unknown): T;
23
+ /**
24
+ * Deep merges multiple objects or arrays into a single object or array.
25
+ * If all arguments are arrays, concatenates them.
26
+ * If all are objects, deeply merges (concatenating arrays within objects).
27
+ * Throws if mixed types.
28
+ */
29
+ export declare function deepMerge<T = unknown>(...args: T[]): T;
@@ -1,43 +1,55 @@
1
- var i = Object.defineProperty, _ = Object.defineProperties, l = Object.getOwnPropertyDescriptors, p = Object.getOwnPropertySymbols, c = Object.prototype.hasOwnProperty, O = Object.prototype.propertyIsEnumerable, u = (e, r, t) => r in e ? i(e, r, { enumerable: !0, configurable: !0, writable: !0, value: t }) : e[r] = t, a = (e, r) => {
1
+ import { isArray as i, isPlainObject as c, mergeWith as l } from "lodash-es";
2
+ var _ = Object.defineProperty, O = Object.defineProperties, d = Object.getOwnPropertyDescriptors, s = Object.getOwnPropertySymbols, y = Object.prototype.hasOwnProperty, P = Object.prototype.propertyIsEnumerable, u = (e, r, t) => r in e ? _(e, r, { enumerable: !0, configurable: !0, writable: !0, value: t }) : e[r] = t, f = (e, r) => {
2
3
  for (var t in r || (r = {}))
3
- c.call(r, t) && u(e, t, r[t]);
4
- if (p)
5
- for (var t of p(r))
6
- O.call(r, t) && u(e, t, r[t]);
4
+ y.call(r, t) && u(e, t, r[t]);
5
+ if (s)
6
+ for (var t of s(r))
7
+ P.call(r, t) && u(e, t, r[t]);
7
8
  return e;
8
- }, f = (e, r) => _(e, l(r));
9
- function P(e) {
9
+ }, a = (e, r) => O(e, d(r));
10
+ function g(e) {
10
11
  try {
11
12
  return JSON.parse(e), !0;
12
13
  } catch (r) {
13
14
  return !1;
14
15
  }
15
16
  }
16
- function v(e, r) {
17
+ function h(e, r) {
17
18
  return r.reduce((t, n) => {
18
19
  if (t && typeof t == "object" && n in t)
19
20
  return t[n];
20
21
  }, e);
21
22
  }
22
- function d(e, r, t) {
23
+ function m(e, r, t) {
23
24
  if (r.length === 0)
24
25
  return e;
25
- const [n, ...s] = r;
26
- if (s.length === 0)
27
- return f(a({}, e), {
26
+ const [n, ...p] = r;
27
+ if (p.length === 0)
28
+ return a(f({}, e), {
28
29
  [n]: t
29
30
  });
30
31
  const o = e[n];
31
- return f(a({}, e), {
32
- [n]: d(
32
+ return a(f({}, e), {
33
+ [n]: m(
33
34
  typeof o == "object" && o !== null ? o : {},
34
- s,
35
+ p,
35
36
  t
36
37
  )
37
38
  });
38
39
  }
40
+ function w(...e) {
41
+ if (e.every(i))
42
+ return [].concat(...e);
43
+ if (e.every(c))
44
+ return l({}, ...e, (r, t) => {
45
+ if (i(r) && i(t))
46
+ return r.concat(t);
47
+ });
48
+ throw new Error("deepMerge: All arguments must be either arrays or objects of the same type.");
49
+ }
39
50
  export {
40
- v as getNestedValue,
41
- P as isJSON,
42
- d as setNestedValue
51
+ w as deepMerge,
52
+ h as getNestedValue,
53
+ g as isJSON,
54
+ m as setNestedValue
43
55
  };
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@cyberskill/shared",
3
3
  "type": "module",
4
- "version": "1.215.0",
4
+ "version": "1.216.0",
5
5
  "description": "CyberSkill Shared",
6
6
  "author": "Stephen Cheng",
7
7
  "license": "MIT",