{"version":3,"file":"utils.mjs","sources":["../../../../packages/shared/utils.ts"],"sourcesContent":["// @eslint-disabled\nexport const getProp = (target: any, path: any, defVal?: any) => {\n  let result\n  try {\n    path = path.replace(/\\[(\\w+)\\]/g, '.$1')\n    result = path\n      .split('.')\n      .filter((f: string) => f !== '')\n      .reduce((a: any, v: string) => {\n        return a[v]\n      }, target)\n    if (result === undefined) {\n      result = defVal\n    }\n  } catch (e) {\n    result = defVal\n  }\n  return result\n}\n\nexport const setProp = (target: any, path: any, value: any) => {\n  if (!path) return path\n  path = path.replace(/\\[(\\w+)\\]/g, `.$1`)\n  const paths = path.split('.')\n  paths.reduce((a: any, v: any, i: number) => {\n    if (!a[v]) {\n      a[v] = {}\n    }\n    if (i === paths.length - 1) {\n      a[v] = value\n    }\n    return a[v]\n  }, target)\n  return target\n}\n\nexport const deepClone = (obj: any, set?: any) => {\n  if (!obj) return obj\n  if (typeof obj !== 'object' || obj === null) return obj\n  set = set || new Set()\n  if (set.has(obj)) {\n    return obj\n  }\n  set.add(obj)\n  const Ctor = obj.constructor\n  const newObj = new Ctor()\n  for (const key in obj) {\n    if (Object.prototype.hasOwnProperty.call(obj, key)) {\n      newObj[key] = obj[key] instanceof Object ? deepClone(obj[key], set) : obj[key]\n    }\n  }\n  return newObj\n}\n\nexport const NOOP = () => {}\n\nconst unitArr = ['px', '%', 'vh', 'vw', 'calc']\n\nexport const addUnit = (value: string | number | undefined, unit = 'px'): string => {\n  if (value === void 0) return ''\n  const str = String(value)\n  if (unitArr.some((u) => str.includes(u))) {\n    return str\n  }\n  return str + unit\n}\n\nexport const upperFirstChar = (text: string) => {\n  text = text.trim()\n  if (!text) return\n  return text.slice(0, 1).toUpperCase() + text.slice(1)\n}\n\nexport const compose = <T>(...fns: ((...v: T[]) => T)[]) => {\n  return fns.reduce(\n    (a, v) =>\n      (...args: any[]) =>\n        a(v(...args))\n  )\n}\n\nexport const pipe = <T>(...fns: ((...v: T[]) => T)[]) => {\n  return fns.reduceRight(\n    (a, v) =>\n      (...args: any[]) =>\n        a(v(...args))\n  )\n}\n\nexport const findLastIndex = (\n  arr = [],\n  callback: (item: any, i: number, origin: any[]) => boolean\n) => {\n  let lastIndex = -1\n  for (let i = arr.length - 1; i >= 0; i--) {\n    if (callback(arr[i], i, arr)) {\n      lastIndex = i\n      break\n    }\n  }\n  return lastIndex\n}\n\nconst getRandom = (start = 0, end = 1) => {\n  return Math.floor(Math.random() * (end - start)) + start\n}\n\nexport const getUniqueId = (size = 6) => {\n  const code = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'\n  let ret = ''\n  for (let i = 1; i <= size; i++) {\n    ret += code[getRandom(0, 25)]\n  }\n  return ret\n}\n\nexport const genMatrix = (list: any[], row: number) => {\n  if (!row) return list\n  let offset = 0\n  const rows: any[][] = []\n  while (offset < list.length - 1) {\n    rows.push(list.slice(offset, (offset = offset + row)))\n  }\n  return rows\n}\n\nexport const sleep = (delay = 0) => new Promise((resolve) => setTimeout(resolve, delay))\n"],"names":[],"mappings":"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"}