@yamada-ui/utils 2.0.1 → 2.0.2-dev-20251022085720

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
- {"version":3,"file":"calc.cjs","names":[],"sources":["../../src/calc.ts"],"sourcesContent":["type Operator = \"*\" | \"+\" | \"-\" | \"/\"\n\nexport type Operand = number | string\n\nfunction toExpression(operator: Operator, ...args: Operand[]) {\n return args.join(` ${operator} `).replace(/calc/g, \"\")\n}\n\nfunction add(...args: Operand[]) {\n return `calc(${toExpression(\"+\", ...args)})`\n}\n\nfunction subtract(...args: Operand[]) {\n return `calc(${toExpression(\"-\", ...args)})`\n}\n\nfunction multiply(...args: Operand[]) {\n return `calc(${toExpression(\"*\", ...args)})`\n}\n\nfunction divide(...args: Operand[]) {\n return `calc(${toExpression(\"/\", ...args)})`\n}\n\nfunction negate(value: Operand) {\n if (!isNaN(parseFloat(value.toString())))\n return String(value).startsWith(\"-\") ? String(value).slice(1) : `-${value}`\n\n return multiply(value, -1)\n}\n\ninterface Calc {\n add: (...args: Operand[]) => Calc\n divide: (...args: Operand[]) => Calc\n multiply: (...args: Operand[]) => Calc\n negate: () => Calc\n subtract: (...args: Operand[]) => Calc\n toString: () => string\n}\n\nexport const calc = Object.assign(\n (x: Operand): Calc => ({\n add: (...args) => calc(add(x, ...args)),\n divide: (...args) => calc(divide(x, ...args)),\n multiply: (...args) => calc(multiply(x, ...args)),\n negate: () => calc(negate(x)),\n subtract: (...args) => calc(subtract(x, ...args)),\n toString: () => x.toString(),\n }),\n {\n add,\n divide,\n multiply,\n negate,\n subtract,\n },\n)\n"],"mappings":";;AAIA,SAAS,aAAa,UAAoB,GAAG,MAAiB;AAC5D,QAAO,KAAK,KAAK,IAAI,SAAS,GAAG,CAAC,QAAQ,SAAS,GAAG;;AAGxD,SAAS,IAAI,GAAG,MAAiB;AAC/B,QAAO,QAAQ,aAAa,KAAK,GAAG,KAAK,CAAC;;AAG5C,SAAS,SAAS,GAAG,MAAiB;AACpC,QAAO,QAAQ,aAAa,KAAK,GAAG,KAAK,CAAC;;AAG5C,SAAS,SAAS,GAAG,MAAiB;AACpC,QAAO,QAAQ,aAAa,KAAK,GAAG,KAAK,CAAC;;AAG5C,SAAS,OAAO,GAAG,MAAiB;AAClC,QAAO,QAAQ,aAAa,KAAK,GAAG,KAAK,CAAC;;AAG5C,SAAS,OAAO,OAAgB;AAC9B,KAAI,CAAC,MAAM,WAAW,MAAM,UAAU,CAAC,CAAC,CACtC,QAAO,OAAO,MAAM,CAAC,WAAW,IAAI,GAAG,OAAO,MAAM,CAAC,MAAM,EAAE,GAAG,IAAI;AAEtE,QAAO,SAAS,OAAO,GAAG;;AAY5B,MAAa,OAAO,OAAO,QACxB,OAAsB;CACrB,MAAM,GAAG,SAAS,KAAK,IAAI,GAAG,GAAG,KAAK,CAAC;CACvC,SAAS,GAAG,SAAS,KAAK,OAAO,GAAG,GAAG,KAAK,CAAC;CAC7C,WAAW,GAAG,SAAS,KAAK,SAAS,GAAG,GAAG,KAAK,CAAC;CACjD,cAAc,KAAK,OAAO,EAAE,CAAC;CAC7B,WAAW,GAAG,SAAS,KAAK,SAAS,GAAG,GAAG,KAAK,CAAC;CACjD,gBAAgB,EAAE,UAAU;CAC7B,GACD;CACE;CACA;CACA;CACA;CACA;CACD,CACF"}
1
+ {"version":3,"file":"calc.cjs","names":[],"sources":["../../src/calc.ts"],"sourcesContent":["type Operator = \"*\" | \"+\" | \"-\" | \"/\"\ntype Operand = number | string\n\nfunction toExpression(operator: Operator, ...args: Operand[]) {\n return args.join(` ${operator} `).replace(/calc/g, \"\")\n}\n\nfunction add(...args: Operand[]) {\n return `calc(${toExpression(\"+\", ...args)})`\n}\n\nfunction subtract(...args: Operand[]) {\n return `calc(${toExpression(\"-\", ...args)})`\n}\n\nfunction multiply(...args: Operand[]) {\n return `calc(${toExpression(\"*\", ...args)})`\n}\n\nfunction divide(...args: Operand[]) {\n return `calc(${toExpression(\"/\", ...args)})`\n}\n\nfunction negate(value: Operand) {\n if (!isNaN(parseFloat(value.toString())))\n return String(value).startsWith(\"-\") ? String(value).slice(1) : `-${value}`\n\n return multiply(value, -1)\n}\n\ninterface Calc {\n add: (...args: Operand[]) => Calc\n divide: (...args: Operand[]) => Calc\n multiply: (...args: Operand[]) => Calc\n negate: () => Calc\n subtract: (...args: Operand[]) => Calc\n toString: () => string\n}\n\nexport const calc = Object.assign(\n (x: Operand): Calc => ({\n add: (...args) => calc(add(x, ...args)),\n divide: (...args) => calc(divide(x, ...args)),\n multiply: (...args) => calc(multiply(x, ...args)),\n negate: () => calc(negate(x)),\n subtract: (...args) => calc(subtract(x, ...args)),\n toString: () => x.toString(),\n }),\n {\n add,\n divide,\n multiply,\n negate,\n subtract,\n },\n)\n"],"mappings":";;AAGA,SAAS,aAAa,UAAoB,GAAG,MAAiB;AAC5D,QAAO,KAAK,KAAK,IAAI,SAAS,GAAG,CAAC,QAAQ,SAAS,GAAG;;AAGxD,SAAS,IAAI,GAAG,MAAiB;AAC/B,QAAO,QAAQ,aAAa,KAAK,GAAG,KAAK,CAAC;;AAG5C,SAAS,SAAS,GAAG,MAAiB;AACpC,QAAO,QAAQ,aAAa,KAAK,GAAG,KAAK,CAAC;;AAG5C,SAAS,SAAS,GAAG,MAAiB;AACpC,QAAO,QAAQ,aAAa,KAAK,GAAG,KAAK,CAAC;;AAG5C,SAAS,OAAO,GAAG,MAAiB;AAClC,QAAO,QAAQ,aAAa,KAAK,GAAG,KAAK,CAAC;;AAG5C,SAAS,OAAO,OAAgB;AAC9B,KAAI,CAAC,MAAM,WAAW,MAAM,UAAU,CAAC,CAAC,CACtC,QAAO,OAAO,MAAM,CAAC,WAAW,IAAI,GAAG,OAAO,MAAM,CAAC,MAAM,EAAE,GAAG,IAAI;AAEtE,QAAO,SAAS,OAAO,GAAG;;AAY5B,MAAa,OAAO,OAAO,QACxB,OAAsB;CACrB,MAAM,GAAG,SAAS,KAAK,IAAI,GAAG,GAAG,KAAK,CAAC;CACvC,SAAS,GAAG,SAAS,KAAK,OAAO,GAAG,GAAG,KAAK,CAAC;CAC7C,WAAW,GAAG,SAAS,KAAK,SAAS,GAAG,GAAG,KAAK,CAAC;CACjD,cAAc,KAAK,OAAO,EAAE,CAAC;CAC7B,WAAW,GAAG,SAAS,KAAK,SAAS,GAAG,GAAG,KAAK,CAAC;CACjD,gBAAgB,EAAE,UAAU;CAC7B,GACD;CACE;CACA;CACA;CACA;CACA;CACD,CACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"object.cjs","names":["result: Dict","picked: Dict","omitted: Dict","isFunction","isObject","targetValue: any","isArray","isString","isUndefined"],"sources":["../../src/object.ts"],"sourcesContent":["import type { Dict } from \"./index.types\"\nimport {\n isArray,\n isFunction,\n isObject,\n isString,\n isUndefined,\n} from \"./assertion\"\n\nexport function omitObject<Y extends Dict, M extends keyof Y>(\n obj: Y,\n keys: M[] | readonly M[],\n): Omit<Y, M> {\n if (!keys.length) return obj\n\n const result: Dict = {}\n\n Object.keys(obj).forEach((key) => {\n if (keys.includes(key as M)) return\n\n result[key] = obj[key]\n })\n\n return result as Omit<Y, M>\n}\n\nexport function pickObject<Y extends Dict, M extends keyof Y>(\n obj: Y,\n keys: M[] | readonly M[],\n): { [D in M]: Y[D] } {\n if (!keys.length) return {} as { [D in M]: Y[D] }\n\n const result = {} as { [D in M]: Y[D] }\n\n keys.forEach((key) => {\n if (key in obj) result[key] = obj[key]\n })\n\n return result\n}\n\nexport function splitObject<Y extends Dict, M extends keyof Y>(\n obj: Y,\n funcOrKeys?: M[] | readonly M[],\n): [{ [D in M]: Y[D] }, Omit<Y, M>]\n\nexport function splitObject<Y extends Dict, M extends Dict>(\n obj: Dict,\n funcOrKeys?: (key: string) => boolean,\n): [Y, M]\n\nexport function splitObject<Y extends Dict, M extends keyof Y>(\n obj: Y,\n funcOrKeys?: ((key: string) => boolean) | M[] | readonly M[],\n) {\n const picked: Dict = {}\n const omitted: Dict = {}\n\n for (const [key, value] of Object.entries(obj)) {\n if (\n isFunction(funcOrKeys) ? funcOrKeys(key) : funcOrKeys?.includes(key as M)\n ) {\n picked[key] = value\n } else {\n omitted[key] = value\n }\n }\n\n return [picked, omitted] as [{ [D in M]: Y[D] }, Omit<Y, M>]\n}\n\nexport function filterObject<Y extends Dict, M extends Dict>(\n obj: Y,\n func: (key: keyof Y, value: Y[keyof Y], obj: Y) => boolean,\n): M {\n const result: Dict = {}\n\n Object.entries(obj).forEach(([key, value]) => {\n const shouldPass = func(key, value, obj)\n\n if (shouldPass) result[key] = value\n })\n\n return result as M\n}\n\nexport function filterUndefined<Y extends Dict>(obj: Y): Y {\n return filterObject(obj, (_, val) => val !== null && val !== undefined)\n}\n\nexport interface mergeOptions {\n debug?: boolean\n mergeArray?: boolean\n shouldProcess?: (value: any) => boolean\n}\n\nexport function merge<Y extends Dict>(\n target: any,\n source: any,\n options: mergeOptions = { mergeArray: false, shouldProcess: () => true },\n): Y {\n let result = Object.assign({}, target)\n\n if (isObject(source) && options.shouldProcess?.(source)) {\n if (isObject(target)) {\n for (const [sourceKey, sourceValue] of Object.entries(source)) {\n const targetValue: any = target[sourceKey]\n\n if (options.shouldProcess(sourceValue)) {\n if (\n options.mergeArray &&\n isArray(sourceValue) &&\n isArray(targetValue)\n ) {\n result[sourceKey] = targetValue.concat(...sourceValue)\n } else if (\n !isFunction(sourceValue) &&\n isObject(sourceValue) &&\n target.hasOwnProperty(sourceKey)\n ) {\n result[sourceKey] = merge(targetValue, sourceValue, options)\n } else {\n Object.assign(result, { [sourceKey]: sourceValue })\n }\n } else {\n Object.assign(result, { [sourceKey]: sourceValue })\n }\n }\n } else {\n result = source\n }\n }\n\n return result as Y\n}\n\nexport interface FlattenObjectOptions {\n maxDepth?: number\n separator?: string\n shouldProcess?: (value: any) => boolean\n}\n\nexport function flattenObject<Y extends Dict>(\n obj: any,\n {\n maxDepth = Infinity,\n separator = \".\",\n shouldProcess = () => true,\n }: FlattenObjectOptions = {},\n): Y {\n if (!isObject(obj) && !isArray(obj)) return obj\n\n return Object.entries(obj).reduce<any>((result, [key, value]) => {\n if (isObject(value) && shouldProcess(value) && maxDepth > 1) {\n Object.entries(\n flattenObject(value, {\n maxDepth: maxDepth - 1,\n separator,\n shouldProcess,\n }),\n ).forEach(([childKey, childValue]) => {\n result[`${key}${separator}${childKey}`] = childValue\n })\n } else {\n result[key] = value\n }\n\n return result\n }, {}) as Y\n}\n\nexport function objectKeys<Y extends object>(obj: Y): (keyof Y)[] {\n return Object.keys(obj) as (keyof Y)[]\n}\n\nexport function replaceObject<Y = any>(\n objOrArray: Y,\n callBack: (value: any) => any,\n): Y {\n if (isArray(objOrArray)) {\n return objOrArray.map(callBack) as Y\n } else if (isObject(objOrArray)) {\n return Object.entries(objOrArray).reduce<Dict>((obj, [key, value]) => {\n obj[key] = callBack(value)\n\n return obj\n }, {}) as Y\n } else {\n return callBack(objOrArray)\n }\n}\n\nexport function getObject(\n obj: Dict | undefined,\n path: number | string,\n fallback?: any,\n) {\n const keys = isString(path)\n ? path.split(/\\[(.*?)\\]|\\./).filter(Boolean)\n : [path]\n\n for (const key of keys) {\n if (!obj) break\n\n obj = obj[key]\n }\n\n return obj === undefined ? fallback : obj\n}\n\nexport function memoizeObject(func: typeof getObject) {\n const cache = new WeakMap()\n\n function memoizedFunc<Y>(\n obj: Dict,\n path: number | string,\n fallback?: any,\n ): Y {\n if (isUndefined(obj)) return func(obj, path, fallback)\n\n if (!cache.has(obj)) cache.set(obj, new Map())\n\n const map = cache.get(obj)\n\n if (map.has(path)) return map.get(path)\n\n const value = func(obj, path, fallback)\n\n map.set(path, value)\n\n return value as Y\n }\n\n return memoizedFunc\n}\n\nexport const getMemoizedObject = memoizeObject(getObject)\n\nexport function wrapWithKey<Y>(obj: Y, key?: string) {\n if (key) {\n return { [key]: obj }\n } else {\n return obj\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"object.cjs","names":["result: Dict","picked: Dict","omitted: Dict","isFunction","isObject","targetValue: any","isArray","isString","isUndefined"],"sources":["../../src/object.ts"],"sourcesContent":["import type { Dict } from \"./index.types\"\nimport {\n isArray,\n isFunction,\n isObject,\n isString,\n isUndefined,\n} from \"./assertion\"\n\nexport function omitObject<Y extends Dict, M extends keyof Y>(\n obj: Y,\n keys: M[] | readonly M[],\n): Omit<Y, M> {\n if (!keys.length) return obj\n\n const result: Dict = {}\n\n Object.keys(obj).forEach((key) => {\n if (keys.includes(key as M)) return\n\n result[key] = obj[key]\n })\n\n return result as Omit<Y, M>\n}\n\nexport function pickObject<Y extends Dict, M extends keyof Y>(\n obj: Y,\n keys: M[] | readonly M[],\n): { [D in M]: Y[D] } {\n if (!keys.length) return {} as { [D in M]: Y[D] }\n\n const result = {} as { [D in M]: Y[D] }\n\n keys.forEach((key) => {\n if (key in obj) result[key] = obj[key]\n })\n\n return result\n}\n\nexport function splitObject<Y extends Dict, M extends keyof Y>(\n obj: Y,\n funcOrKeys?: M[] | readonly M[],\n): [{ [D in M]: Y[D] }, Omit<Y, M>]\n\nexport function splitObject<Y extends Dict, M extends Dict>(\n obj: Dict,\n funcOrKeys?: (key: string) => boolean,\n): [Y, M]\n\nexport function splitObject<Y extends Dict, M extends keyof Y>(\n obj: Y,\n funcOrKeys?: ((key: string) => boolean) | M[] | readonly M[],\n) {\n const picked: Dict = {}\n const omitted: Dict = {}\n\n for (const [key, value] of Object.entries(obj)) {\n if (\n isFunction(funcOrKeys) ? funcOrKeys(key) : funcOrKeys?.includes(key as M)\n ) {\n picked[key] = value\n } else {\n omitted[key] = value\n }\n }\n\n return [picked, omitted] as [{ [D in M]: Y[D] }, Omit<Y, M>]\n}\n\nexport function filterObject<Y extends Dict, M extends Dict>(\n obj: Y,\n func: (key: keyof Y, value: Y[keyof Y], obj: Y) => boolean,\n): M {\n const result: Dict = {}\n\n Object.entries(obj).forEach(([key, value]) => {\n const shouldPass = func(key, value, obj)\n\n if (shouldPass) result[key] = value\n })\n\n return result as M\n}\n\nexport function filterUndefined<Y extends Dict>(obj: Y): Y {\n return filterObject(obj, (_, val) => val !== null && val !== undefined)\n}\n\nexport interface MergeOptions {\n debug?: boolean\n mergeArray?: boolean\n shouldProcess?: (value: any) => boolean\n}\n\nexport function merge<Y extends Dict>(\n target: any,\n source: any,\n options: MergeOptions = { mergeArray: false, shouldProcess: () => true },\n): Y {\n let result = Object.assign({}, target)\n\n if (isObject(source) && options.shouldProcess?.(source)) {\n if (isObject(target)) {\n for (const [sourceKey, sourceValue] of Object.entries(source)) {\n const targetValue: any = target[sourceKey]\n\n if (options.shouldProcess(sourceValue)) {\n if (\n options.mergeArray &&\n isArray(sourceValue) &&\n isArray(targetValue)\n ) {\n result[sourceKey] = targetValue.concat(...sourceValue)\n } else if (\n !isFunction(sourceValue) &&\n isObject(sourceValue) &&\n target.hasOwnProperty(sourceKey)\n ) {\n result[sourceKey] = merge(targetValue, sourceValue, options)\n } else {\n Object.assign(result, { [sourceKey]: sourceValue })\n }\n } else {\n Object.assign(result, { [sourceKey]: sourceValue })\n }\n }\n } else {\n result = source\n }\n }\n\n return result as Y\n}\n\nexport interface FlattenObjectOptions {\n maxDepth?: number\n separator?: string\n shouldProcess?: (value: any) => boolean\n}\n\nexport function flattenObject<Y extends Dict>(\n obj: any,\n {\n maxDepth = Infinity,\n separator = \".\",\n shouldProcess = () => true,\n }: FlattenObjectOptions = {},\n): Y {\n if (!isObject(obj) && !isArray(obj)) return obj\n\n return Object.entries(obj).reduce<any>((result, [key, value]) => {\n if (isObject(value) && shouldProcess(value) && maxDepth > 1) {\n Object.entries(\n flattenObject(value, {\n maxDepth: maxDepth - 1,\n separator,\n shouldProcess,\n }),\n ).forEach(([childKey, childValue]) => {\n result[`${key}${separator}${childKey}`] = childValue\n })\n } else {\n result[key] = value\n }\n\n return result\n }, {}) as Y\n}\n\nexport function objectKeys<Y extends object>(obj: Y): (keyof Y)[] {\n return Object.keys(obj) as (keyof Y)[]\n}\n\nexport function replaceObject<Y = any>(\n objOrArray: Y,\n callBack: (value: any) => any,\n): Y {\n if (isArray(objOrArray)) {\n return objOrArray.map(callBack) as Y\n } else if (isObject(objOrArray)) {\n return Object.entries(objOrArray).reduce<Dict>((obj, [key, value]) => {\n obj[key] = callBack(value)\n\n return obj\n }, {}) as Y\n } else {\n return callBack(objOrArray)\n }\n}\n\nexport function getObject(\n obj: Dict | undefined,\n path: number | string,\n fallback?: any,\n) {\n const keys = isString(path)\n ? path.split(/\\[(.*?)\\]|\\./).filter(Boolean)\n : [path]\n\n for (const key of keys) {\n if (!obj) break\n\n obj = obj[key]\n }\n\n return obj === undefined ? fallback : obj\n}\n\nexport function memoizeObject(func: typeof getObject) {\n const cache = new WeakMap()\n\n function memoizedFunc<Y>(\n obj: Dict,\n path: number | string,\n fallback?: any,\n ): Y {\n if (isUndefined(obj)) return func(obj, path, fallback)\n\n if (!cache.has(obj)) cache.set(obj, new Map())\n\n const map = cache.get(obj)\n\n if (map.has(path)) return map.get(path)\n\n const value = func(obj, path, fallback)\n\n map.set(path, value)\n\n return value as Y\n }\n\n return memoizedFunc\n}\n\nexport const getMemoizedObject = memoizeObject(getObject)\n\nexport function wrapWithKey<Y>(obj: Y, key?: string) {\n if (key) {\n return { [key]: obj }\n } else {\n return obj\n }\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"calc.js","names":[],"sources":["../../src/calc.ts"],"sourcesContent":["type Operator = \"*\" | \"+\" | \"-\" | \"/\"\n\nexport type Operand = number | string\n\nfunction toExpression(operator: Operator, ...args: Operand[]) {\n return args.join(` ${operator} `).replace(/calc/g, \"\")\n}\n\nfunction add(...args: Operand[]) {\n return `calc(${toExpression(\"+\", ...args)})`\n}\n\nfunction subtract(...args: Operand[]) {\n return `calc(${toExpression(\"-\", ...args)})`\n}\n\nfunction multiply(...args: Operand[]) {\n return `calc(${toExpression(\"*\", ...args)})`\n}\n\nfunction divide(...args: Operand[]) {\n return `calc(${toExpression(\"/\", ...args)})`\n}\n\nfunction negate(value: Operand) {\n if (!isNaN(parseFloat(value.toString())))\n return String(value).startsWith(\"-\") ? String(value).slice(1) : `-${value}`\n\n return multiply(value, -1)\n}\n\ninterface Calc {\n add: (...args: Operand[]) => Calc\n divide: (...args: Operand[]) => Calc\n multiply: (...args: Operand[]) => Calc\n negate: () => Calc\n subtract: (...args: Operand[]) => Calc\n toString: () => string\n}\n\nexport const calc = Object.assign(\n (x: Operand): Calc => ({\n add: (...args) => calc(add(x, ...args)),\n divide: (...args) => calc(divide(x, ...args)),\n multiply: (...args) => calc(multiply(x, ...args)),\n negate: () => calc(negate(x)),\n subtract: (...args) => calc(subtract(x, ...args)),\n toString: () => x.toString(),\n }),\n {\n add,\n divide,\n multiply,\n negate,\n subtract,\n },\n)\n"],"mappings":";AAIA,SAAS,aAAa,UAAoB,GAAG,MAAiB;AAC5D,QAAO,KAAK,KAAK,IAAI,SAAS,GAAG,CAAC,QAAQ,SAAS,GAAG;;AAGxD,SAAS,IAAI,GAAG,MAAiB;AAC/B,QAAO,QAAQ,aAAa,KAAK,GAAG,KAAK,CAAC;;AAG5C,SAAS,SAAS,GAAG,MAAiB;AACpC,QAAO,QAAQ,aAAa,KAAK,GAAG,KAAK,CAAC;;AAG5C,SAAS,SAAS,GAAG,MAAiB;AACpC,QAAO,QAAQ,aAAa,KAAK,GAAG,KAAK,CAAC;;AAG5C,SAAS,OAAO,GAAG,MAAiB;AAClC,QAAO,QAAQ,aAAa,KAAK,GAAG,KAAK,CAAC;;AAG5C,SAAS,OAAO,OAAgB;AAC9B,KAAI,CAAC,MAAM,WAAW,MAAM,UAAU,CAAC,CAAC,CACtC,QAAO,OAAO,MAAM,CAAC,WAAW,IAAI,GAAG,OAAO,MAAM,CAAC,MAAM,EAAE,GAAG,IAAI;AAEtE,QAAO,SAAS,OAAO,GAAG;;AAY5B,MAAa,OAAO,OAAO,QACxB,OAAsB;CACrB,MAAM,GAAG,SAAS,KAAK,IAAI,GAAG,GAAG,KAAK,CAAC;CACvC,SAAS,GAAG,SAAS,KAAK,OAAO,GAAG,GAAG,KAAK,CAAC;CAC7C,WAAW,GAAG,SAAS,KAAK,SAAS,GAAG,GAAG,KAAK,CAAC;CACjD,cAAc,KAAK,OAAO,EAAE,CAAC;CAC7B,WAAW,GAAG,SAAS,KAAK,SAAS,GAAG,GAAG,KAAK,CAAC;CACjD,gBAAgB,EAAE,UAAU;CAC7B,GACD;CACE;CACA;CACA;CACA;CACA;CACD,CACF"}
1
+ {"version":3,"file":"calc.js","names":[],"sources":["../../src/calc.ts"],"sourcesContent":["type Operator = \"*\" | \"+\" | \"-\" | \"/\"\ntype Operand = number | string\n\nfunction toExpression(operator: Operator, ...args: Operand[]) {\n return args.join(` ${operator} `).replace(/calc/g, \"\")\n}\n\nfunction add(...args: Operand[]) {\n return `calc(${toExpression(\"+\", ...args)})`\n}\n\nfunction subtract(...args: Operand[]) {\n return `calc(${toExpression(\"-\", ...args)})`\n}\n\nfunction multiply(...args: Operand[]) {\n return `calc(${toExpression(\"*\", ...args)})`\n}\n\nfunction divide(...args: Operand[]) {\n return `calc(${toExpression(\"/\", ...args)})`\n}\n\nfunction negate(value: Operand) {\n if (!isNaN(parseFloat(value.toString())))\n return String(value).startsWith(\"-\") ? String(value).slice(1) : `-${value}`\n\n return multiply(value, -1)\n}\n\ninterface Calc {\n add: (...args: Operand[]) => Calc\n divide: (...args: Operand[]) => Calc\n multiply: (...args: Operand[]) => Calc\n negate: () => Calc\n subtract: (...args: Operand[]) => Calc\n toString: () => string\n}\n\nexport const calc = Object.assign(\n (x: Operand): Calc => ({\n add: (...args) => calc(add(x, ...args)),\n divide: (...args) => calc(divide(x, ...args)),\n multiply: (...args) => calc(multiply(x, ...args)),\n negate: () => calc(negate(x)),\n subtract: (...args) => calc(subtract(x, ...args)),\n toString: () => x.toString(),\n }),\n {\n add,\n divide,\n multiply,\n negate,\n subtract,\n },\n)\n"],"mappings":";AAGA,SAAS,aAAa,UAAoB,GAAG,MAAiB;AAC5D,QAAO,KAAK,KAAK,IAAI,SAAS,GAAG,CAAC,QAAQ,SAAS,GAAG;;AAGxD,SAAS,IAAI,GAAG,MAAiB;AAC/B,QAAO,QAAQ,aAAa,KAAK,GAAG,KAAK,CAAC;;AAG5C,SAAS,SAAS,GAAG,MAAiB;AACpC,QAAO,QAAQ,aAAa,KAAK,GAAG,KAAK,CAAC;;AAG5C,SAAS,SAAS,GAAG,MAAiB;AACpC,QAAO,QAAQ,aAAa,KAAK,GAAG,KAAK,CAAC;;AAG5C,SAAS,OAAO,GAAG,MAAiB;AAClC,QAAO,QAAQ,aAAa,KAAK,GAAG,KAAK,CAAC;;AAG5C,SAAS,OAAO,OAAgB;AAC9B,KAAI,CAAC,MAAM,WAAW,MAAM,UAAU,CAAC,CAAC,CACtC,QAAO,OAAO,MAAM,CAAC,WAAW,IAAI,GAAG,OAAO,MAAM,CAAC,MAAM,EAAE,GAAG,IAAI;AAEtE,QAAO,SAAS,OAAO,GAAG;;AAY5B,MAAa,OAAO,OAAO,QACxB,OAAsB;CACrB,MAAM,GAAG,SAAS,KAAK,IAAI,GAAG,GAAG,KAAK,CAAC;CACvC,SAAS,GAAG,SAAS,KAAK,OAAO,GAAG,GAAG,KAAK,CAAC;CAC7C,WAAW,GAAG,SAAS,KAAK,SAAS,GAAG,GAAG,KAAK,CAAC;CACjD,cAAc,KAAK,OAAO,EAAE,CAAC;CAC7B,WAAW,GAAG,SAAS,KAAK,SAAS,GAAG,GAAG,KAAK,CAAC;CACjD,gBAAgB,EAAE,UAAU;CAC7B,GACD;CACE;CACA;CACA;CACA;CACA;CACD,CACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"object.js","names":["result: Dict","picked: Dict","omitted: Dict","targetValue: any"],"sources":["../../src/object.ts"],"sourcesContent":["import type { Dict } from \"./index.types\"\nimport {\n isArray,\n isFunction,\n isObject,\n isString,\n isUndefined,\n} from \"./assertion\"\n\nexport function omitObject<Y extends Dict, M extends keyof Y>(\n obj: Y,\n keys: M[] | readonly M[],\n): Omit<Y, M> {\n if (!keys.length) return obj\n\n const result: Dict = {}\n\n Object.keys(obj).forEach((key) => {\n if (keys.includes(key as M)) return\n\n result[key] = obj[key]\n })\n\n return result as Omit<Y, M>\n}\n\nexport function pickObject<Y extends Dict, M extends keyof Y>(\n obj: Y,\n keys: M[] | readonly M[],\n): { [D in M]: Y[D] } {\n if (!keys.length) return {} as { [D in M]: Y[D] }\n\n const result = {} as { [D in M]: Y[D] }\n\n keys.forEach((key) => {\n if (key in obj) result[key] = obj[key]\n })\n\n return result\n}\n\nexport function splitObject<Y extends Dict, M extends keyof Y>(\n obj: Y,\n funcOrKeys?: M[] | readonly M[],\n): [{ [D in M]: Y[D] }, Omit<Y, M>]\n\nexport function splitObject<Y extends Dict, M extends Dict>(\n obj: Dict,\n funcOrKeys?: (key: string) => boolean,\n): [Y, M]\n\nexport function splitObject<Y extends Dict, M extends keyof Y>(\n obj: Y,\n funcOrKeys?: ((key: string) => boolean) | M[] | readonly M[],\n) {\n const picked: Dict = {}\n const omitted: Dict = {}\n\n for (const [key, value] of Object.entries(obj)) {\n if (\n isFunction(funcOrKeys) ? funcOrKeys(key) : funcOrKeys?.includes(key as M)\n ) {\n picked[key] = value\n } else {\n omitted[key] = value\n }\n }\n\n return [picked, omitted] as [{ [D in M]: Y[D] }, Omit<Y, M>]\n}\n\nexport function filterObject<Y extends Dict, M extends Dict>(\n obj: Y,\n func: (key: keyof Y, value: Y[keyof Y], obj: Y) => boolean,\n): M {\n const result: Dict = {}\n\n Object.entries(obj).forEach(([key, value]) => {\n const shouldPass = func(key, value, obj)\n\n if (shouldPass) result[key] = value\n })\n\n return result as M\n}\n\nexport function filterUndefined<Y extends Dict>(obj: Y): Y {\n return filterObject(obj, (_, val) => val !== null && val !== undefined)\n}\n\nexport interface mergeOptions {\n debug?: boolean\n mergeArray?: boolean\n shouldProcess?: (value: any) => boolean\n}\n\nexport function merge<Y extends Dict>(\n target: any,\n source: any,\n options: mergeOptions = { mergeArray: false, shouldProcess: () => true },\n): Y {\n let result = Object.assign({}, target)\n\n if (isObject(source) && options.shouldProcess?.(source)) {\n if (isObject(target)) {\n for (const [sourceKey, sourceValue] of Object.entries(source)) {\n const targetValue: any = target[sourceKey]\n\n if (options.shouldProcess(sourceValue)) {\n if (\n options.mergeArray &&\n isArray(sourceValue) &&\n isArray(targetValue)\n ) {\n result[sourceKey] = targetValue.concat(...sourceValue)\n } else if (\n !isFunction(sourceValue) &&\n isObject(sourceValue) &&\n target.hasOwnProperty(sourceKey)\n ) {\n result[sourceKey] = merge(targetValue, sourceValue, options)\n } else {\n Object.assign(result, { [sourceKey]: sourceValue })\n }\n } else {\n Object.assign(result, { [sourceKey]: sourceValue })\n }\n }\n } else {\n result = source\n }\n }\n\n return result as Y\n}\n\nexport interface FlattenObjectOptions {\n maxDepth?: number\n separator?: string\n shouldProcess?: (value: any) => boolean\n}\n\nexport function flattenObject<Y extends Dict>(\n obj: any,\n {\n maxDepth = Infinity,\n separator = \".\",\n shouldProcess = () => true,\n }: FlattenObjectOptions = {},\n): Y {\n if (!isObject(obj) && !isArray(obj)) return obj\n\n return Object.entries(obj).reduce<any>((result, [key, value]) => {\n if (isObject(value) && shouldProcess(value) && maxDepth > 1) {\n Object.entries(\n flattenObject(value, {\n maxDepth: maxDepth - 1,\n separator,\n shouldProcess,\n }),\n ).forEach(([childKey, childValue]) => {\n result[`${key}${separator}${childKey}`] = childValue\n })\n } else {\n result[key] = value\n }\n\n return result\n }, {}) as Y\n}\n\nexport function objectKeys<Y extends object>(obj: Y): (keyof Y)[] {\n return Object.keys(obj) as (keyof Y)[]\n}\n\nexport function replaceObject<Y = any>(\n objOrArray: Y,\n callBack: (value: any) => any,\n): Y {\n if (isArray(objOrArray)) {\n return objOrArray.map(callBack) as Y\n } else if (isObject(objOrArray)) {\n return Object.entries(objOrArray).reduce<Dict>((obj, [key, value]) => {\n obj[key] = callBack(value)\n\n return obj\n }, {}) as Y\n } else {\n return callBack(objOrArray)\n }\n}\n\nexport function getObject(\n obj: Dict | undefined,\n path: number | string,\n fallback?: any,\n) {\n const keys = isString(path)\n ? path.split(/\\[(.*?)\\]|\\./).filter(Boolean)\n : [path]\n\n for (const key of keys) {\n if (!obj) break\n\n obj = obj[key]\n }\n\n return obj === undefined ? fallback : obj\n}\n\nexport function memoizeObject(func: typeof getObject) {\n const cache = new WeakMap()\n\n function memoizedFunc<Y>(\n obj: Dict,\n path: number | string,\n fallback?: any,\n ): Y {\n if (isUndefined(obj)) return func(obj, path, fallback)\n\n if (!cache.has(obj)) cache.set(obj, new Map())\n\n const map = cache.get(obj)\n\n if (map.has(path)) return map.get(path)\n\n const value = func(obj, path, fallback)\n\n map.set(path, value)\n\n return value as Y\n }\n\n return memoizedFunc\n}\n\nexport const getMemoizedObject = memoizeObject(getObject)\n\nexport function wrapWithKey<Y>(obj: Y, key?: string) {\n if (key) {\n return { [key]: obj }\n } else {\n return obj\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"object.js","names":["result: Dict","picked: Dict","omitted: Dict","targetValue: any"],"sources":["../../src/object.ts"],"sourcesContent":["import type { Dict } from \"./index.types\"\nimport {\n isArray,\n isFunction,\n isObject,\n isString,\n isUndefined,\n} from \"./assertion\"\n\nexport function omitObject<Y extends Dict, M extends keyof Y>(\n obj: Y,\n keys: M[] | readonly M[],\n): Omit<Y, M> {\n if (!keys.length) return obj\n\n const result: Dict = {}\n\n Object.keys(obj).forEach((key) => {\n if (keys.includes(key as M)) return\n\n result[key] = obj[key]\n })\n\n return result as Omit<Y, M>\n}\n\nexport function pickObject<Y extends Dict, M extends keyof Y>(\n obj: Y,\n keys: M[] | readonly M[],\n): { [D in M]: Y[D] } {\n if (!keys.length) return {} as { [D in M]: Y[D] }\n\n const result = {} as { [D in M]: Y[D] }\n\n keys.forEach((key) => {\n if (key in obj) result[key] = obj[key]\n })\n\n return result\n}\n\nexport function splitObject<Y extends Dict, M extends keyof Y>(\n obj: Y,\n funcOrKeys?: M[] | readonly M[],\n): [{ [D in M]: Y[D] }, Omit<Y, M>]\n\nexport function splitObject<Y extends Dict, M extends Dict>(\n obj: Dict,\n funcOrKeys?: (key: string) => boolean,\n): [Y, M]\n\nexport function splitObject<Y extends Dict, M extends keyof Y>(\n obj: Y,\n funcOrKeys?: ((key: string) => boolean) | M[] | readonly M[],\n) {\n const picked: Dict = {}\n const omitted: Dict = {}\n\n for (const [key, value] of Object.entries(obj)) {\n if (\n isFunction(funcOrKeys) ? funcOrKeys(key) : funcOrKeys?.includes(key as M)\n ) {\n picked[key] = value\n } else {\n omitted[key] = value\n }\n }\n\n return [picked, omitted] as [{ [D in M]: Y[D] }, Omit<Y, M>]\n}\n\nexport function filterObject<Y extends Dict, M extends Dict>(\n obj: Y,\n func: (key: keyof Y, value: Y[keyof Y], obj: Y) => boolean,\n): M {\n const result: Dict = {}\n\n Object.entries(obj).forEach(([key, value]) => {\n const shouldPass = func(key, value, obj)\n\n if (shouldPass) result[key] = value\n })\n\n return result as M\n}\n\nexport function filterUndefined<Y extends Dict>(obj: Y): Y {\n return filterObject(obj, (_, val) => val !== null && val !== undefined)\n}\n\nexport interface MergeOptions {\n debug?: boolean\n mergeArray?: boolean\n shouldProcess?: (value: any) => boolean\n}\n\nexport function merge<Y extends Dict>(\n target: any,\n source: any,\n options: MergeOptions = { mergeArray: false, shouldProcess: () => true },\n): Y {\n let result = Object.assign({}, target)\n\n if (isObject(source) && options.shouldProcess?.(source)) {\n if (isObject(target)) {\n for (const [sourceKey, sourceValue] of Object.entries(source)) {\n const targetValue: any = target[sourceKey]\n\n if (options.shouldProcess(sourceValue)) {\n if (\n options.mergeArray &&\n isArray(sourceValue) &&\n isArray(targetValue)\n ) {\n result[sourceKey] = targetValue.concat(...sourceValue)\n } else if (\n !isFunction(sourceValue) &&\n isObject(sourceValue) &&\n target.hasOwnProperty(sourceKey)\n ) {\n result[sourceKey] = merge(targetValue, sourceValue, options)\n } else {\n Object.assign(result, { [sourceKey]: sourceValue })\n }\n } else {\n Object.assign(result, { [sourceKey]: sourceValue })\n }\n }\n } else {\n result = source\n }\n }\n\n return result as Y\n}\n\nexport interface FlattenObjectOptions {\n maxDepth?: number\n separator?: string\n shouldProcess?: (value: any) => boolean\n}\n\nexport function flattenObject<Y extends Dict>(\n obj: any,\n {\n maxDepth = Infinity,\n separator = \".\",\n shouldProcess = () => true,\n }: FlattenObjectOptions = {},\n): Y {\n if (!isObject(obj) && !isArray(obj)) return obj\n\n return Object.entries(obj).reduce<any>((result, [key, value]) => {\n if (isObject(value) && shouldProcess(value) && maxDepth > 1) {\n Object.entries(\n flattenObject(value, {\n maxDepth: maxDepth - 1,\n separator,\n shouldProcess,\n }),\n ).forEach(([childKey, childValue]) => {\n result[`${key}${separator}${childKey}`] = childValue\n })\n } else {\n result[key] = value\n }\n\n return result\n }, {}) as Y\n}\n\nexport function objectKeys<Y extends object>(obj: Y): (keyof Y)[] {\n return Object.keys(obj) as (keyof Y)[]\n}\n\nexport function replaceObject<Y = any>(\n objOrArray: Y,\n callBack: (value: any) => any,\n): Y {\n if (isArray(objOrArray)) {\n return objOrArray.map(callBack) as Y\n } else if (isObject(objOrArray)) {\n return Object.entries(objOrArray).reduce<Dict>((obj, [key, value]) => {\n obj[key] = callBack(value)\n\n return obj\n }, {}) as Y\n } else {\n return callBack(objOrArray)\n }\n}\n\nexport function getObject(\n obj: Dict | undefined,\n path: number | string,\n fallback?: any,\n) {\n const keys = isString(path)\n ? path.split(/\\[(.*?)\\]|\\./).filter(Boolean)\n : [path]\n\n for (const key of keys) {\n if (!obj) break\n\n obj = obj[key]\n }\n\n return obj === undefined ? fallback : obj\n}\n\nexport function memoizeObject(func: typeof getObject) {\n const cache = new WeakMap()\n\n function memoizedFunc<Y>(\n obj: Dict,\n path: number | string,\n fallback?: any,\n ): Y {\n if (isUndefined(obj)) return func(obj, path, fallback)\n\n if (!cache.has(obj)) cache.set(obj, new Map())\n\n const map = cache.get(obj)\n\n if (map.has(path)) return map.get(path)\n\n const value = func(obj, path, fallback)\n\n map.set(path, value)\n\n return value as Y\n }\n\n return memoizedFunc\n}\n\nexport const getMemoizedObject = memoizeObject(getObject)\n\nexport function wrapWithKey<Y>(obj: Y, key?: string) {\n if (key) {\n return { [key]: obj }\n } else {\n return obj\n }\n}\n"],"mappings":"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"}
@@ -21,5 +21,5 @@ declare const calc: ((x: Operand) => Calc) & {
21
21
  subtract: typeof subtract;
22
22
  };
23
23
  //#endregion
24
- export { Operand, calc };
24
+ export { calc };
25
25
  //# sourceMappingURL=calc.d.ts.map
@@ -1,7 +1,7 @@
1
1
  import { filterEmpty, toArray } from "./array.js";
2
2
  import { AnyString, Booleanish, DeepMerge, DeepPartial, Dict, FunctionOrValue, Length, Merge, Path, Prettify, Primitive, Value } from "./index.types.js";
3
3
  import { cast, is, isArray, isBoolean, isBooleanish, isDate, isEmpty, isEmptyObject, isFunction, isNotNumber, isNull, isNumber, isNumeric, isObject, isRegExp, isString, isUndefined, isUnit } from "./assertion.js";
4
- import { Operand, calc } from "./calc.js";
4
+ import { calc } from "./calc.js";
5
5
  import { COLOR_SCHEMES, ColorFormat, DEFAULT_COLOR_SCHEMES, SEMANTIC_COLOR_SCHEMES, TONES, alphaToHex, calcFormat, convertColor, getAlpha, hslaTo, hsvTo, parseToHsla, parseToHsv, parseToRgba, rgbaTo, sameColor } from "./color.js";
6
6
  import { ariaAttr, contains, createdDom, dataAttr, getActiveElement, getDocument, getDocumentElement, getFirstFocusableElement, getFirstTabbableElement, getFocusableElements, getLastTabbableElement, getNextTabbableElement, getNodeName, getParentNode, getPlatform, getPx, getTabIndex, getTabbableElementEdges, getTabbableElements, getUserAgent, getWindow, isActiveElement, isAndroid, isApple, isChrome, isDisabledElement, isDocument, isEditableElement, isFirefox, isFocusableElement, isFrame, isHTMLElement, isHiddenElement, isIPad, isIPhone, isInputElement, isIos, isMac, isNode, isSafari, isShadowRoot, isTabbableElement, isTouchDevice, isTruthyDataAttr, isVisibleElement, isVisualViewport, isWebKit, isWindow, platform, scrollLock, setAttribute, setStyle, userAgent, uuid, vendor } from "./dom.js";
7
7
  import { AnyPointerEvent, EventMap, EventType, Point, addDomEvent, focusTransfer, focusTrap, getEventPoint, getEventWindow, isMouseEvent, isMultiTouchEvent, isTouchEvent, pointFromMouse, pointFromTouch } from "./event.js";
@@ -9,6 +9,6 @@ import { fnAll, handlerAll, noop, runIfFn } from "./function.js";
9
9
  import { isRtl } from "./i18n.js";
10
10
  import { interopDefault } from "./module.js";
11
11
  import { clampNumber, countDecimal, percentToValue, roundNumberToStep, toNumber, toPrecision, valueToPercent } from "./number.js";
12
- import { FlattenObjectOptions, filterObject, filterUndefined, flattenObject, getMemoizedObject, getObject, memoizeObject, merge, mergeOptions, objectKeys, omitObject, pickObject, replaceObject, splitObject, wrapWithKey } from "./object.js";
12
+ import { FlattenObjectOptions, MergeOptions, filterObject, filterUndefined, flattenObject, getMemoizedObject, getObject, memoizeObject, merge, objectKeys, omitObject, pickObject, replaceObject, splitObject, wrapWithKey } from "./object.js";
13
13
  import { antonym, bem, cx, escape, isSize, toCamelCase, toKebabCase, toPascalCase, toTitleCase, transformSize } from "./string.js";
14
- export { AnyPointerEvent, AnyString, Booleanish, COLOR_SCHEMES, ColorFormat, DEFAULT_COLOR_SCHEMES, DeepMerge, DeepPartial, Dict, EventMap, EventType, FlattenObjectOptions, FunctionOrValue, Length, Merge, Operand, Path, Point, Prettify, Primitive, SEMANTIC_COLOR_SCHEMES, TONES, Value, addDomEvent, alphaToHex, antonym, ariaAttr, bem, calc, calcFormat, cast, clampNumber, contains, convertColor, countDecimal, createdDom, cx, dataAttr, escape, filterEmpty, filterObject, filterUndefined, flattenObject, fnAll, focusTransfer, focusTrap, getActiveElement, getAlpha, getDocument, getDocumentElement, getEventPoint, getEventWindow, getFirstFocusableElement, getFirstTabbableElement, getFocusableElements, getLastTabbableElement, getMemoizedObject, getNextTabbableElement, getNodeName, getObject, getParentNode, getPlatform, getPx, getTabIndex, getTabbableElementEdges, getTabbableElements, getUserAgent, getWindow, handlerAll, hslaTo, hsvTo, interopDefault, is, isActiveElement, isAndroid, isApple, isArray, isBoolean, isBooleanish, isChrome, isDate, isDisabledElement, isDocument, isEditableElement, isEmpty, isEmptyObject, isFirefox, isFocusableElement, isFrame, isFunction, isHTMLElement, isHiddenElement, isIPad, isIPhone, isInputElement, isIos, isMac, isMouseEvent, isMultiTouchEvent, isNode, isNotNumber, isNull, isNumber, isNumeric, isObject, isRegExp, isRtl, isSafari, isShadowRoot, isSize, isString, isTabbableElement, isTouchDevice, isTouchEvent, isTruthyDataAttr, isUndefined, isUnit, isVisibleElement, isVisualViewport, isWebKit, isWindow, memoizeObject, merge, mergeOptions, noop, objectKeys, omitObject, parseToHsla, parseToHsv, parseToRgba, percentToValue, pickObject, platform, pointFromMouse, pointFromTouch, replaceObject, rgbaTo, roundNumberToStep, runIfFn, sameColor, scrollLock, setAttribute, setStyle, splitObject, toArray, toCamelCase, toKebabCase, toNumber, toPascalCase, toPrecision, toTitleCase, transformSize, userAgent, uuid, valueToPercent, vendor, wrapWithKey };
14
+ export { AnyPointerEvent, AnyString, Booleanish, COLOR_SCHEMES, ColorFormat, DEFAULT_COLOR_SCHEMES, DeepMerge, DeepPartial, Dict, EventMap, EventType, FlattenObjectOptions, FunctionOrValue, Length, Merge, MergeOptions, Path, Point, Prettify, Primitive, SEMANTIC_COLOR_SCHEMES, TONES, Value, addDomEvent, alphaToHex, antonym, ariaAttr, bem, calc, calcFormat, cast, clampNumber, contains, convertColor, countDecimal, createdDom, cx, dataAttr, escape, filterEmpty, filterObject, filterUndefined, flattenObject, fnAll, focusTransfer, focusTrap, getActiveElement, getAlpha, getDocument, getDocumentElement, getEventPoint, getEventWindow, getFirstFocusableElement, getFirstTabbableElement, getFocusableElements, getLastTabbableElement, getMemoizedObject, getNextTabbableElement, getNodeName, getObject, getParentNode, getPlatform, getPx, getTabIndex, getTabbableElementEdges, getTabbableElements, getUserAgent, getWindow, handlerAll, hslaTo, hsvTo, interopDefault, is, isActiveElement, isAndroid, isApple, isArray, isBoolean, isBooleanish, isChrome, isDate, isDisabledElement, isDocument, isEditableElement, isEmpty, isEmptyObject, isFirefox, isFocusableElement, isFrame, isFunction, isHTMLElement, isHiddenElement, isIPad, isIPhone, isInputElement, isIos, isMac, isMouseEvent, isMultiTouchEvent, isNode, isNotNumber, isNull, isNumber, isNumeric, isObject, isRegExp, isRtl, isSafari, isShadowRoot, isSize, isString, isTabbableElement, isTouchDevice, isTouchEvent, isTruthyDataAttr, isUndefined, isUnit, isVisibleElement, isVisualViewport, isWebKit, isWindow, memoizeObject, merge, noop, objectKeys, omitObject, parseToHsla, parseToHsv, parseToRgba, percentToValue, pickObject, platform, pointFromMouse, pointFromTouch, replaceObject, rgbaTo, roundNumberToStep, runIfFn, sameColor, scrollLock, setAttribute, setStyle, splitObject, toArray, toCamelCase, toKebabCase, toNumber, toPascalCase, toPrecision, toTitleCase, transformSize, userAgent, uuid, valueToPercent, vendor, wrapWithKey };
@@ -7,12 +7,12 @@ declare function splitObject<Y extends Dict, M extends keyof Y>(obj: Y, funcOrKe
7
7
  declare function splitObject<Y extends Dict, M extends Dict>(obj: Dict, funcOrKeys?: (key: string) => boolean): [Y, M];
8
8
  declare function filterObject<Y extends Dict, M extends Dict>(obj: Y, func: (key: keyof Y, value: Y[keyof Y], obj: Y) => boolean): M;
9
9
  declare function filterUndefined<Y extends Dict>(obj: Y): Y;
10
- interface mergeOptions {
10
+ interface MergeOptions {
11
11
  debug?: boolean;
12
12
  mergeArray?: boolean;
13
13
  shouldProcess?: (value: any) => boolean;
14
14
  }
15
- declare function merge<Y extends Dict>(target: any, source: any, options?: mergeOptions): Y;
15
+ declare function merge<Y extends Dict>(target: any, source: any, options?: MergeOptions): Y;
16
16
  interface FlattenObjectOptions {
17
17
  maxDepth?: number;
18
18
  separator?: string;
@@ -32,5 +32,5 @@ declare function wrapWithKey<Y>(obj: Y, key?: string): Y | {
32
32
  [key]: Y;
33
33
  };
34
34
  //#endregion
35
- export { FlattenObjectOptions, filterObject, filterUndefined, flattenObject, getMemoizedObject, getObject, memoizeObject, merge, mergeOptions, objectKeys, omitObject, pickObject, replaceObject, splitObject, wrapWithKey };
35
+ export { FlattenObjectOptions, MergeOptions, filterObject, filterUndefined, flattenObject, getMemoizedObject, getObject, memoizeObject, merge, objectKeys, omitObject, pickObject, replaceObject, splitObject, wrapWithKey };
36
36
  //# sourceMappingURL=object.d.ts.map
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@yamada-ui/utils",
3
3
  "type": "module",
4
- "version": "2.0.1",
4
+ "version": "2.0.2-dev-20251022085720",
5
5
  "description": "The utilities for Yamada UI projects",
6
6
  "keywords": [
7
7
  "utils",