@yamada-ui/utils 2.1.7-dev-20261005132826 → 2.1.7-dev-20261005223346

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":"assertion.cjs","names":[],"sources":["../../src/assertion.ts"],"sourcesContent":["import type { Dict } from \"./index.types\"\n\nexport function is(x: any, y: any) {\n return (x === y && (x !== 0 || 1 / x === 1 / y)) || (x !== x && y !== y)\n}\n\nexport function isNumber(value: any): value is number {\n return typeof value === \"number\"\n}\n\nexport function isNotNumber(value: any): boolean {\n return (\n typeof value !== \"number\" || Number.isNaN(value) || !Number.isFinite(value)\n )\n}\n\nexport function isNumeric(value: any): boolean {\n return (\n !isNaN(parseFloat(String(value))) &&\n isFinite(Number(value)) &&\n /^-?\\d*\\.?\\d+$/.test(String(value))\n )\n}\n\nexport function isString(value: any): value is string {\n return Object.prototype.toString.call(value) === \"[object String]\"\n}\n\nexport function isBooleanish(value: any): value is boolean {\n return isBoolean(value) || value === \"true\" || value === \"false\"\n}\n\nexport function isBoolean(value: any): value is boolean {\n return typeof value === \"boolean\"\n}\n\nexport function isUndefined(value: any): value is undefined {\n return typeof value === \"undefined\"\n}\n\nexport function isNull(value: any): value is null {\n return value === null\n}\n\nexport function isRegExp(value: any): value is RegExp {\n return value instanceof RegExp\n}\n\nexport function isObject<Y extends Dict>(value: any): value is Y {\n return (\n value != null &&\n (typeof value === \"object\" || typeof value === \"function\") &&\n !isArray(value)\n )\n}\n\nexport function isDate(value: any): value is Date {\n return value instanceof Date\n}\nexport function isArray<Y extends any[]>(value: any): value is Y {\n return Array.isArray(value)\n}\n\nexport function isEmpty(value: any): boolean {\n return !isArray(value) || !value.length || value.every((v) => v == null)\n}\n\nexport function isEmptyObject(value: any): boolean {\n return isObject(value) && !Object.keys(value).length\n}\n\nexport function isFunction<Y extends Function = Function>(\n value: any,\n): value is Y {\n return typeof value === \"function\"\n}\n\nexport function isUnit(value: any): boolean {\n return /[0-9].*(em|rem|ex|rex|cap|rcap|ch|rch|ic|ric|lh|rlh|vw|svw|lvw|dvw|vh|svh|lvh|dvh|vi|svi|lvi|dvi|vb|svb|lvb|dvb|vmin|svmin|lvmin|dvmin|vmax|svmax|lvmax|dvmax|cm|mm|Q|in|pc|pt|px|%|cqw|cqh|cqi|cqb|cqmin|cqmax)$/.test(\n value,\n )\n}\n\nexport function cast<Y>(value: any) {\n return value as Y\n}\n"],"mappings":";AAEA,SAAgB,GAAG,GAAQ,GAAQ;CACjC,OAAQ,MAAM,MAAM,MAAM,KAAK,IAAI,MAAM,IAAI,MAAQ,MAAM,KAAK,MAAM;AACxE;AAEA,SAAgB,SAAS,OAA6B;CACpD,OAAO,OAAO,UAAU;AAC1B;AAEA,SAAgB,YAAY,OAAqB;CAC/C,OACE,OAAO,UAAU,YAAY,OAAO,MAAM,KAAK,KAAK,CAAC,OAAO,SAAS,KAAK;AAE9E;AAEA,SAAgB,UAAU,OAAqB;CAC7C,OACE,CAAC,MAAM,WAAW,OAAO,KAAK,CAAC,CAAC,KAChC,SAAS,OAAO,KAAK,CAAC,KACtB,gBAAgB,KAAK,OAAO,KAAK,CAAC;AAEtC;AAEA,SAAgB,SAAS,OAA6B;CACpD,OAAO,OAAO,UAAU,SAAS,KAAK,KAAK,MAAM;AACnD;AAEA,SAAgB,aAAa,OAA8B;CACzD,OAAO,UAAU,KAAK,KAAK,UAAU,UAAU,UAAU;AAC3D;AAEA,SAAgB,UAAU,OAA8B;CACtD,OAAO,OAAO,UAAU;AAC1B;AAEA,SAAgB,YAAY,OAAgC;CAC1D,OAAO,OAAO,UAAU;AAC1B;AAEA,SAAgB,OAAO,OAA2B;CAChD,OAAO,UAAU;AACnB;AAEA,SAAgB,SAAS,OAA6B;CACpD,OAAO,iBAAiB;AAC1B;AAEA,SAAgB,SAAyB,OAAwB;CAC/D,OACE,SAAS,SACR,OAAO,UAAU,YAAY,OAAO,UAAU,eAC/C,CAAC,QAAQ,KAAK;AAElB;AAEA,SAAgB,OAAO,OAA2B;CAChD,OAAO,iBAAiB;AAC1B;AACA,SAAgB,QAAyB,OAAwB;CAC/D,OAAO,MAAM,QAAQ,KAAK;AAC5B;AAEA,SAAgB,QAAQ,OAAqB;CAC3C,OAAO,CAAC,QAAQ,KAAK,KAAK,CAAC,MAAM,UAAU,MAAM,OAAO,MAAM,KAAK,IAAI;AACzE;AAEA,SAAgB,cAAc,OAAqB;CACjD,OAAO,SAAS,KAAK,KAAK,CAAC,OAAO,KAAK,KAAK,CAAC,CAAC;AAChD;AAEA,SAAgB,WACd,OACY;CACZ,OAAO,OAAO,UAAU;AAC1B;AAEA,SAAgB,OAAO,OAAqB;CAC1C,OAAO,oNAAoN,KACzN,KACF;AACF;AAEA,SAAgB,KAAQ,OAAY;CAClC,OAAO;AACT"}
1
+ {"version":3,"file":"assertion.cjs","names":[],"sources":["../../src/assertion.ts"],"sourcesContent":["import type { Dict } from \"./index.type\"\n\nexport function is(x: any, y: any) {\n return (x === y && (x !== 0 || 1 / x === 1 / y)) || (x !== x && y !== y)\n}\n\nexport function isNumber(value: any): value is number {\n return typeof value === \"number\"\n}\n\nexport function isNotNumber(value: any): boolean {\n return (\n typeof value !== \"number\" || Number.isNaN(value) || !Number.isFinite(value)\n )\n}\n\nexport function isNumeric(value: any): boolean {\n return (\n !isNaN(parseFloat(String(value))) &&\n isFinite(Number(value)) &&\n /^-?\\d*\\.?\\d+$/.test(String(value))\n )\n}\n\nexport function isString(value: any): value is string {\n return Object.prototype.toString.call(value) === \"[object String]\"\n}\n\nexport function isBooleanish(value: any): value is boolean {\n return isBoolean(value) || value === \"true\" || value === \"false\"\n}\n\nexport function isBoolean(value: any): value is boolean {\n return typeof value === \"boolean\"\n}\n\nexport function isUndefined(value: any): value is undefined {\n return typeof value === \"undefined\"\n}\n\nexport function isNull(value: any): value is null {\n return value === null\n}\n\nexport function isRegExp(value: any): value is RegExp {\n return value instanceof RegExp\n}\n\nexport function isObject<Y extends Dict>(value: any): value is Y {\n return (\n value != null &&\n (typeof value === \"object\" || typeof value === \"function\") &&\n !isArray(value)\n )\n}\n\nexport function isDate(value: any): value is Date {\n return value instanceof Date\n}\nexport function isArray<Y extends any[]>(value: any): value is Y {\n return Array.isArray(value)\n}\n\nexport function isEmpty(value: any): boolean {\n return !isArray(value) || !value.length || value.every((v) => v == null)\n}\n\nexport function isEmptyObject(value: any): boolean {\n return isObject(value) && !Object.keys(value).length\n}\n\nexport function isFunction<Y extends Function = Function>(\n value: any,\n): value is Y {\n return typeof value === \"function\"\n}\n\nexport function isUnit(value: any): boolean {\n return /[0-9].*(em|rem|ex|rex|cap|rcap|ch|rch|ic|ric|lh|rlh|vw|svw|lvw|dvw|vh|svh|lvh|dvh|vi|svi|lvi|dvi|vb|svb|lvb|dvb|vmin|svmin|lvmin|dvmin|vmax|svmax|lvmax|dvmax|cm|mm|Q|in|pc|pt|px|%|cqw|cqh|cqi|cqb|cqmin|cqmax)$/.test(\n value,\n )\n}\n\nexport function cast<Y>(value: any) {\n return value as Y\n}\n"],"mappings":";AAEA,SAAgB,GAAG,GAAQ,GAAQ;CACjC,OAAQ,MAAM,MAAM,MAAM,KAAK,IAAI,MAAM,IAAI,MAAQ,MAAM,KAAK,MAAM;AACxE;AAEA,SAAgB,SAAS,OAA6B;CACpD,OAAO,OAAO,UAAU;AAC1B;AAEA,SAAgB,YAAY,OAAqB;CAC/C,OACE,OAAO,UAAU,YAAY,OAAO,MAAM,KAAK,KAAK,CAAC,OAAO,SAAS,KAAK;AAE9E;AAEA,SAAgB,UAAU,OAAqB;CAC7C,OACE,CAAC,MAAM,WAAW,OAAO,KAAK,CAAC,CAAC,KAChC,SAAS,OAAO,KAAK,CAAC,KACtB,gBAAgB,KAAK,OAAO,KAAK,CAAC;AAEtC;AAEA,SAAgB,SAAS,OAA6B;CACpD,OAAO,OAAO,UAAU,SAAS,KAAK,KAAK,MAAM;AACnD;AAEA,SAAgB,aAAa,OAA8B;CACzD,OAAO,UAAU,KAAK,KAAK,UAAU,UAAU,UAAU;AAC3D;AAEA,SAAgB,UAAU,OAA8B;CACtD,OAAO,OAAO,UAAU;AAC1B;AAEA,SAAgB,YAAY,OAAgC;CAC1D,OAAO,OAAO,UAAU;AAC1B;AAEA,SAAgB,OAAO,OAA2B;CAChD,OAAO,UAAU;AACnB;AAEA,SAAgB,SAAS,OAA6B;CACpD,OAAO,iBAAiB;AAC1B;AAEA,SAAgB,SAAyB,OAAwB;CAC/D,OACE,SAAS,SACR,OAAO,UAAU,YAAY,OAAO,UAAU,eAC/C,CAAC,QAAQ,KAAK;AAElB;AAEA,SAAgB,OAAO,OAA2B;CAChD,OAAO,iBAAiB;AAC1B;AACA,SAAgB,QAAyB,OAAwB;CAC/D,OAAO,MAAM,QAAQ,KAAK;AAC5B;AAEA,SAAgB,QAAQ,OAAqB;CAC3C,OAAO,CAAC,QAAQ,KAAK,KAAK,CAAC,MAAM,UAAU,MAAM,OAAO,MAAM,KAAK,IAAI;AACzE;AAEA,SAAgB,cAAc,OAAqB;CACjD,OAAO,SAAS,KAAK,KAAK,CAAC,OAAO,KAAK,KAAK,CAAC,CAAC;AAChD;AAEA,SAAgB,WACd,OACY;CACZ,OAAO,OAAO,UAAU;AAC1B;AAEA,SAAgB,OAAO,OAAqB;CAC1C,OAAO,oNAAoN,KACzN,KACF;AACF;AAEA,SAAgB,KAAQ,OAAY;CAClC,OAAO;AACT"}
@@ -1 +1 @@
1
- {"version":3,"file":"object.cjs","names":["isFunction","isObject","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 omitted[key] = value\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 function extractObject<Y extends Dict, M>(\n obj: Y,\n getter: (value: Y[keyof Y]) => M,\n) {\n return Object.fromEntries(\n Object.entries(obj).map(([key, value]) => [key, getter(value)]),\n ) as { [key in keyof Y]: M }\n}\n\nexport function extractFlatObject<Y extends Dict, M>(\n obj: Y,\n getter: (value: Y[keyof Y]) => M,\n condition?: (key: keyof Y, value: Y[keyof Y]) => boolean,\n) {\n function flatMap(obj: Y, rootKey?: string): [string, M][] {\n return Object.entries(obj).flatMap(([key, value]) =>\n condition?.(key, value)\n ? flatMap(value, rootKey ? `${rootKey}.${key}` : key)\n : [[rootKey ? `${rootKey}.${key}` : key, getter(value)] as const],\n )\n }\n\n return Object.fromEntries(flatMap(obj))\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 Object.assign(result, { [sourceKey]: sourceValue })\n else Object.assign(result, { [sourceKey]: sourceValue })\n }\n else result = source\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 result[key] = value\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)) 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 return callBack(objOrArray)\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) return { [key]: obj }\n else return obj\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"object.cjs","names":["isFunction","isObject","isArray","isString","isUndefined"],"sources":["../../src/object.ts"],"sourcesContent":["import type { Dict } from \"./index.type\"\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 omitted[key] = value\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 function extractObject<Y extends Dict, M>(\n obj: Y,\n getter: (value: Y[keyof Y]) => M,\n) {\n return Object.fromEntries(\n Object.entries(obj).map(([key, value]) => [key, getter(value)]),\n ) as { [key in keyof Y]: M }\n}\n\nexport function extractFlatObject<Y extends Dict, M>(\n obj: Y,\n getter: (value: Y[keyof Y]) => M,\n condition?: (key: keyof Y, value: Y[keyof Y]) => boolean,\n) {\n function flatMap(obj: Y, rootKey?: string): [string, M][] {\n return Object.entries(obj).flatMap(([key, value]) =>\n condition?.(key, value)\n ? flatMap(value, rootKey ? `${rootKey}.${key}` : key)\n : [[rootKey ? `${rootKey}.${key}` : key, getter(value)] as const],\n )\n }\n\n return Object.fromEntries(flatMap(obj))\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 Object.assign(result, { [sourceKey]: sourceValue })\n else Object.assign(result, { [sourceKey]: sourceValue })\n }\n else result = source\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 result[key] = value\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)) 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 return callBack(objOrArray)\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) return { [key]: obj }\n else return obj\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"string.cjs","names":["isString"],"sources":["../../src/string.ts"],"sourcesContent":["import type { AnyString } from \"./index.types\"\nimport { isString } from \"./assertion\"\n\nexport function cx(\n ...classNames: (null | string | undefined)[]\n): string | undefined {\n const result = classNames.filter((className) => !!className)\n\n if (!result.length) return undefined\n\n return result.map((className) => className!.trim()).join(\" \")\n}\n\nexport function escape(value: string, replaceValue = \"\"): string {\n return value.replace(/\\s+/g, replaceValue)\n}\n\nexport function antonym(value: string): string {\n switch (value) {\n case \"top\":\n return \"bottom\"\n\n case \"bottom\":\n return \"top\"\n\n case \"left\":\n return \"right\"\n\n case \"right\":\n return \"left\"\n\n case \"start\":\n return \"end\"\n\n case \"end\":\n return \"start\"\n\n case \"x\":\n return \"y\"\n\n case \"y\":\n return \"x\"\n\n case \"enter\":\n return \"exit\"\n\n case \"exit\":\n return \"enter\"\n\n case \"vertical\":\n return \"horizontal\"\n\n case \"horizontal\":\n return \"vertical\"\n\n case \"up\":\n return \"down\"\n\n case \"down\":\n return \"up\"\n\n case \"block\":\n return \"inline\"\n\n case \"inline\":\n return \"block\"\n\n default:\n return value\n }\n}\n\nconst sizeMap: AnyString[] = [\n \"9xs\",\n \"8xs\",\n \"7xs\",\n \"6xs\",\n \"5xs\",\n \"4xs\",\n \"3xs\",\n \"2xs\",\n \"xs\",\n \"sm\",\n \"md\",\n \"lg\",\n \"xl\",\n \"2xl\",\n \"3xl\",\n \"4xl\",\n \"5xl\",\n \"6xl\",\n \"7xl\",\n \"8xl\",\n \"9xl\",\n]\n\nexport function isSize(value: any): boolean {\n return isString(value) && sizeMap.includes(value)\n}\n\nexport function transformSize<Y = string>(\n token: string | undefined,\n value: number,\n omitTokens: null | string[] = null,\n): undefined | Y {\n if (!token) return undefined\n\n let resolvedSizeMap = sizeMap\n\n if (omitTokens)\n resolvedSizeMap = sizeMap.filter((size) => !omitTokens.includes(size))\n\n const index = resolvedSizeMap.indexOf(token)\n const size = resolvedSizeMap[index + value]\n\n return (size ?? token) as Y\n}\n\nexport function toCamelCase(value: AnyString): string {\n return value\n .replace(/[_-](.)/g, (_, val) => val.toUpperCase())\n .replace(/^(.)/, (_, val) => val.toLowerCase())\n}\n\nexport function toPascalCase(value: AnyString): string {\n return value\n .replace(/[_-](.)/g, (_, val) => val.toUpperCase())\n .replace(/^(.)/, (_, val) => val.toUpperCase())\n}\n\nexport function toKebabCase(value: AnyString): string {\n return value\n .replace(/([a-z0-9]|(?=[A-Z]))([A-Z])/g, \"$1-$2\")\n .toLowerCase()\n .replace(/^-/, \"\")\n}\n\nexport function toTitleCase(value: AnyString): string {\n return value\n .replace(/([A-Z])/g, \" $1\")\n .replace(/[_-](.)/g, (_, val) => ` ${val.toUpperCase()}`)\n .replace(/^./, (str) => str.toUpperCase())\n .trim()\n}\n\nexport function bem(block: string, element?: string, modifier?: string) {\n let className = block\n\n if (element) className += `__${element}`\n if (modifier) className += `--${modifier}`\n\n return className\n}\n\nexport function match(\n value: string,\n query: string,\n strategy: \"contains\" | \"endsWith\" | \"equals\" | \"startsWith\" = \"contains\",\n) {\n switch (strategy) {\n case \"contains\":\n return value.toLowerCase().includes(query.toLowerCase())\n case \"endsWith\":\n return value.toLowerCase().endsWith(query.toLowerCase())\n case \"equals\":\n return value.toLowerCase() === query.toLowerCase()\n case \"startsWith\":\n return value.toLowerCase().startsWith(query.toLowerCase())\n }\n}\n"],"mappings":";;AAGA,SAAgB,GACd,GAAG,YACiB;CACpB,MAAM,SAAS,WAAW,QAAQ,cAAc,CAAC,CAAC,SAAS;CAE3D,IAAI,CAAC,OAAO,QAAQ,OAAO,KAAA;CAE3B,OAAO,OAAO,KAAK,cAAc,UAAW,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG;AAC9D;AAEA,SAAgB,OAAO,OAAe,eAAe,IAAY;CAC/D,OAAO,MAAM,QAAQ,QAAQ,YAAY;AAC3C;AAEA,SAAgB,QAAQ,OAAuB;CAC7C,QAAQ,OAAR;EACE,KAAK,OACH,OAAO;EAET,KAAK,UACH,OAAO;EAET,KAAK,QACH,OAAO;EAET,KAAK,SACH,OAAO;EAET,KAAK,SACH,OAAO;EAET,KAAK,OACH,OAAO;EAET,KAAK,KACH,OAAO;EAET,KAAK,KACH,OAAO;EAET,KAAK,SACH,OAAO;EAET,KAAK,QACH,OAAO;EAET,KAAK,YACH,OAAO;EAET,KAAK,cACH,OAAO;EAET,KAAK,MACH,OAAO;EAET,KAAK,QACH,OAAO;EAET,KAAK,SACH,OAAO;EAET,KAAK,UACH,OAAO;EAET,SACE,OAAO;CACX;AACF;AAEA,MAAM,UAAuB;CAC3B;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;AACF;AAEA,SAAgB,OAAO,OAAqB;CAC1C,OAAOA,kBAAAA,SAAS,KAAK,KAAK,QAAQ,SAAS,KAAK;AAClD;AAEA,SAAgB,cACd,OACA,OACA,aAA8B,MACf;CACf,IAAI,CAAC,OAAO,OAAO,KAAA;CAEnB,IAAI,kBAAkB;CAEtB,IAAI,YACF,kBAAkB,QAAQ,QAAQ,SAAS,CAAC,WAAW,SAAS,IAAI,CAAC;CAEvE,MAAM,QAAQ,gBAAgB,QAAQ,KAAK;CAG3C,OAFa,gBAAgB,QAAQ,UAErB;AAClB;AAEA,SAAgB,YAAY,OAA0B;CACpD,OAAO,MACJ,QAAQ,aAAa,GAAG,QAAQ,IAAI,YAAY,CAAC,CAAC,CAClD,QAAQ,SAAS,GAAG,QAAQ,IAAI,YAAY,CAAC;AAClD;AAEA,SAAgB,aAAa,OAA0B;CACrD,OAAO,MACJ,QAAQ,aAAa,GAAG,QAAQ,IAAI,YAAY,CAAC,CAAC,CAClD,QAAQ,SAAS,GAAG,QAAQ,IAAI,YAAY,CAAC;AAClD;AAEA,SAAgB,YAAY,OAA0B;CACpD,OAAO,MACJ,QAAQ,gCAAgC,OAAO,CAAC,CAChD,YAAY,CAAC,CACb,QAAQ,MAAM,EAAE;AACrB;AAEA,SAAgB,YAAY,OAA0B;CACpD,OAAO,MACJ,QAAQ,YAAY,KAAK,CAAC,CAC1B,QAAQ,aAAa,GAAG,QAAQ,IAAI,IAAI,YAAY,GAAG,CAAC,CACxD,QAAQ,OAAO,QAAQ,IAAI,YAAY,CAAC,CAAC,CACzC,KAAK;AACV;AAEA,SAAgB,IAAI,OAAe,SAAkB,UAAmB;CACtE,IAAI,YAAY;CAEhB,IAAI,SAAS,aAAa,KAAK;CAC/B,IAAI,UAAU,aAAa,KAAK;CAEhC,OAAO;AACT;AAEA,SAAgB,MACd,OACA,OACA,WAA8D,YAC9D;CACA,QAAQ,UAAR;EACE,KAAK,YACH,OAAO,MAAM,YAAY,CAAC,CAAC,SAAS,MAAM,YAAY,CAAC;EACzD,KAAK,YACH,OAAO,MAAM,YAAY,CAAC,CAAC,SAAS,MAAM,YAAY,CAAC;EACzD,KAAK,UACH,OAAO,MAAM,YAAY,MAAM,MAAM,YAAY;EACnD,KAAK,cACH,OAAO,MAAM,YAAY,CAAC,CAAC,WAAW,MAAM,YAAY,CAAC;CAC7D;AACF"}
1
+ {"version":3,"file":"string.cjs","names":["isString"],"sources":["../../src/string.ts"],"sourcesContent":["import type { AnyString } from \"./index.type\"\nimport { isString } from \"./assertion\"\n\nexport function cx(\n ...classNames: (null | string | undefined)[]\n): string | undefined {\n const result = classNames.filter((className) => !!className)\n\n if (!result.length) return undefined\n\n return result.map((className) => className!.trim()).join(\" \")\n}\n\nexport function escape(value: string, replaceValue = \"\"): string {\n return value.replace(/\\s+/g, replaceValue)\n}\n\nexport function antonym(value: string): string {\n switch (value) {\n case \"top\":\n return \"bottom\"\n\n case \"bottom\":\n return \"top\"\n\n case \"left\":\n return \"right\"\n\n case \"right\":\n return \"left\"\n\n case \"start\":\n return \"end\"\n\n case \"end\":\n return \"start\"\n\n case \"x\":\n return \"y\"\n\n case \"y\":\n return \"x\"\n\n case \"enter\":\n return \"exit\"\n\n case \"exit\":\n return \"enter\"\n\n case \"vertical\":\n return \"horizontal\"\n\n case \"horizontal\":\n return \"vertical\"\n\n case \"up\":\n return \"down\"\n\n case \"down\":\n return \"up\"\n\n case \"block\":\n return \"inline\"\n\n case \"inline\":\n return \"block\"\n\n default:\n return value\n }\n}\n\nconst sizeMap: AnyString[] = [\n \"9xs\",\n \"8xs\",\n \"7xs\",\n \"6xs\",\n \"5xs\",\n \"4xs\",\n \"3xs\",\n \"2xs\",\n \"xs\",\n \"sm\",\n \"md\",\n \"lg\",\n \"xl\",\n \"2xl\",\n \"3xl\",\n \"4xl\",\n \"5xl\",\n \"6xl\",\n \"7xl\",\n \"8xl\",\n \"9xl\",\n]\n\nexport function isSize(value: any): boolean {\n return isString(value) && sizeMap.includes(value)\n}\n\nexport function transformSize<Y = string>(\n token: string | undefined,\n value: number,\n omitTokens: null | string[] = null,\n): undefined | Y {\n if (!token) return undefined\n\n let resolvedSizeMap = sizeMap\n\n if (omitTokens)\n resolvedSizeMap = sizeMap.filter((size) => !omitTokens.includes(size))\n\n const index = resolvedSizeMap.indexOf(token)\n const size = resolvedSizeMap[index + value]\n\n return (size ?? token) as Y\n}\n\nexport function toCamelCase(value: AnyString): string {\n return value\n .replace(/[_-](.)/g, (_, val) => val.toUpperCase())\n .replace(/^(.)/, (_, val) => val.toLowerCase())\n}\n\nexport function toPascalCase(value: AnyString): string {\n return value\n .replace(/[_-](.)/g, (_, val) => val.toUpperCase())\n .replace(/^(.)/, (_, val) => val.toUpperCase())\n}\n\nexport function toKebabCase(value: AnyString): string {\n return value\n .replace(/([a-z0-9]|(?=[A-Z]))([A-Z])/g, \"$1-$2\")\n .toLowerCase()\n .replace(/^-/, \"\")\n}\n\nexport function toTitleCase(value: AnyString): string {\n return value\n .replace(/([A-Z])/g, \" $1\")\n .replace(/[_-](.)/g, (_, val) => ` ${val.toUpperCase()}`)\n .replace(/^./, (str) => str.toUpperCase())\n .trim()\n}\n\nexport function bem(block: string, element?: string, modifier?: string) {\n let className = block\n\n if (element) className += `__${element}`\n if (modifier) className += `--${modifier}`\n\n return className\n}\n\nexport function match(\n value: string,\n query: string,\n strategy: \"contains\" | \"endsWith\" | \"equals\" | \"startsWith\" = \"contains\",\n) {\n switch (strategy) {\n case \"contains\":\n return value.toLowerCase().includes(query.toLowerCase())\n case \"endsWith\":\n return value.toLowerCase().endsWith(query.toLowerCase())\n case \"equals\":\n return value.toLowerCase() === query.toLowerCase()\n case \"startsWith\":\n return value.toLowerCase().startsWith(query.toLowerCase())\n }\n}\n"],"mappings":";;AAGA,SAAgB,GACd,GAAG,YACiB;CACpB,MAAM,SAAS,WAAW,QAAQ,cAAc,CAAC,CAAC,SAAS;CAE3D,IAAI,CAAC,OAAO,QAAQ,OAAO,KAAA;CAE3B,OAAO,OAAO,KAAK,cAAc,UAAW,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG;AAC9D;AAEA,SAAgB,OAAO,OAAe,eAAe,IAAY;CAC/D,OAAO,MAAM,QAAQ,QAAQ,YAAY;AAC3C;AAEA,SAAgB,QAAQ,OAAuB;CAC7C,QAAQ,OAAR;EACE,KAAK,OACH,OAAO;EAET,KAAK,UACH,OAAO;EAET,KAAK,QACH,OAAO;EAET,KAAK,SACH,OAAO;EAET,KAAK,SACH,OAAO;EAET,KAAK,OACH,OAAO;EAET,KAAK,KACH,OAAO;EAET,KAAK,KACH,OAAO;EAET,KAAK,SACH,OAAO;EAET,KAAK,QACH,OAAO;EAET,KAAK,YACH,OAAO;EAET,KAAK,cACH,OAAO;EAET,KAAK,MACH,OAAO;EAET,KAAK,QACH,OAAO;EAET,KAAK,SACH,OAAO;EAET,KAAK,UACH,OAAO;EAET,SACE,OAAO;CACX;AACF;AAEA,MAAM,UAAuB;CAC3B;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;AACF;AAEA,SAAgB,OAAO,OAAqB;CAC1C,OAAOA,kBAAAA,SAAS,KAAK,KAAK,QAAQ,SAAS,KAAK;AAClD;AAEA,SAAgB,cACd,OACA,OACA,aAA8B,MACf;CACf,IAAI,CAAC,OAAO,OAAO,KAAA;CAEnB,IAAI,kBAAkB;CAEtB,IAAI,YACF,kBAAkB,QAAQ,QAAQ,SAAS,CAAC,WAAW,SAAS,IAAI,CAAC;CAEvE,MAAM,QAAQ,gBAAgB,QAAQ,KAAK;CAG3C,OAFa,gBAAgB,QAAQ,UAErB;AAClB;AAEA,SAAgB,YAAY,OAA0B;CACpD,OAAO,MACJ,QAAQ,aAAa,GAAG,QAAQ,IAAI,YAAY,CAAC,CAAC,CAClD,QAAQ,SAAS,GAAG,QAAQ,IAAI,YAAY,CAAC;AAClD;AAEA,SAAgB,aAAa,OAA0B;CACrD,OAAO,MACJ,QAAQ,aAAa,GAAG,QAAQ,IAAI,YAAY,CAAC,CAAC,CAClD,QAAQ,SAAS,GAAG,QAAQ,IAAI,YAAY,CAAC;AAClD;AAEA,SAAgB,YAAY,OAA0B;CACpD,OAAO,MACJ,QAAQ,gCAAgC,OAAO,CAAC,CAChD,YAAY,CAAC,CACb,QAAQ,MAAM,EAAE;AACrB;AAEA,SAAgB,YAAY,OAA0B;CACpD,OAAO,MACJ,QAAQ,YAAY,KAAK,CAAC,CAC1B,QAAQ,aAAa,GAAG,QAAQ,IAAI,IAAI,YAAY,GAAG,CAAC,CACxD,QAAQ,OAAO,QAAQ,IAAI,YAAY,CAAC,CAAC,CACzC,KAAK;AACV;AAEA,SAAgB,IAAI,OAAe,SAAkB,UAAmB;CACtE,IAAI,YAAY;CAEhB,IAAI,SAAS,aAAa,KAAK;CAC/B,IAAI,UAAU,aAAa,KAAK;CAEhC,OAAO;AACT;AAEA,SAAgB,MACd,OACA,OACA,WAA8D,YAC9D;CACA,QAAQ,UAAR;EACE,KAAK,YACH,OAAO,MAAM,YAAY,CAAC,CAAC,SAAS,MAAM,YAAY,CAAC;EACzD,KAAK,YACH,OAAO,MAAM,YAAY,CAAC,CAAC,SAAS,MAAM,YAAY,CAAC;EACzD,KAAK,UACH,OAAO,MAAM,YAAY,MAAM,MAAM,YAAY;EACnD,KAAK,cACH,OAAO,MAAM,YAAY,CAAC,CAAC,WAAW,MAAM,YAAY,CAAC;CAC7D;AACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"assertion.js","names":[],"sources":["../../src/assertion.ts"],"sourcesContent":["import type { Dict } from \"./index.types\"\n\nexport function is(x: any, y: any) {\n return (x === y && (x !== 0 || 1 / x === 1 / y)) || (x !== x && y !== y)\n}\n\nexport function isNumber(value: any): value is number {\n return typeof value === \"number\"\n}\n\nexport function isNotNumber(value: any): boolean {\n return (\n typeof value !== \"number\" || Number.isNaN(value) || !Number.isFinite(value)\n )\n}\n\nexport function isNumeric(value: any): boolean {\n return (\n !isNaN(parseFloat(String(value))) &&\n isFinite(Number(value)) &&\n /^-?\\d*\\.?\\d+$/.test(String(value))\n )\n}\n\nexport function isString(value: any): value is string {\n return Object.prototype.toString.call(value) === \"[object String]\"\n}\n\nexport function isBooleanish(value: any): value is boolean {\n return isBoolean(value) || value === \"true\" || value === \"false\"\n}\n\nexport function isBoolean(value: any): value is boolean {\n return typeof value === \"boolean\"\n}\n\nexport function isUndefined(value: any): value is undefined {\n return typeof value === \"undefined\"\n}\n\nexport function isNull(value: any): value is null {\n return value === null\n}\n\nexport function isRegExp(value: any): value is RegExp {\n return value instanceof RegExp\n}\n\nexport function isObject<Y extends Dict>(value: any): value is Y {\n return (\n value != null &&\n (typeof value === \"object\" || typeof value === \"function\") &&\n !isArray(value)\n )\n}\n\nexport function isDate(value: any): value is Date {\n return value instanceof Date\n}\nexport function isArray<Y extends any[]>(value: any): value is Y {\n return Array.isArray(value)\n}\n\nexport function isEmpty(value: any): boolean {\n return !isArray(value) || !value.length || value.every((v) => v == null)\n}\n\nexport function isEmptyObject(value: any): boolean {\n return isObject(value) && !Object.keys(value).length\n}\n\nexport function isFunction<Y extends Function = Function>(\n value: any,\n): value is Y {\n return typeof value === \"function\"\n}\n\nexport function isUnit(value: any): boolean {\n return /[0-9].*(em|rem|ex|rex|cap|rcap|ch|rch|ic|ric|lh|rlh|vw|svw|lvw|dvw|vh|svh|lvh|dvh|vi|svi|lvi|dvi|vb|svb|lvb|dvb|vmin|svmin|lvmin|dvmin|vmax|svmax|lvmax|dvmax|cm|mm|Q|in|pc|pt|px|%|cqw|cqh|cqi|cqb|cqmin|cqmax)$/.test(\n value,\n )\n}\n\nexport function cast<Y>(value: any) {\n return value as Y\n}\n"],"mappings":";AAEA,SAAgB,GAAG,GAAQ,GAAQ;CACjC,OAAQ,MAAM,MAAM,MAAM,KAAK,IAAI,MAAM,IAAI,MAAQ,MAAM,KAAK,MAAM;AACxE;AAEA,SAAgB,SAAS,OAA6B;CACpD,OAAO,OAAO,UAAU;AAC1B;AAEA,SAAgB,YAAY,OAAqB;CAC/C,OACE,OAAO,UAAU,YAAY,OAAO,MAAM,KAAK,KAAK,CAAC,OAAO,SAAS,KAAK;AAE9E;AAEA,SAAgB,UAAU,OAAqB;CAC7C,OACE,CAAC,MAAM,WAAW,OAAO,KAAK,CAAC,CAAC,KAChC,SAAS,OAAO,KAAK,CAAC,KACtB,gBAAgB,KAAK,OAAO,KAAK,CAAC;AAEtC;AAEA,SAAgB,SAAS,OAA6B;CACpD,OAAO,OAAO,UAAU,SAAS,KAAK,KAAK,MAAM;AACnD;AAEA,SAAgB,aAAa,OAA8B;CACzD,OAAO,UAAU,KAAK,KAAK,UAAU,UAAU,UAAU;AAC3D;AAEA,SAAgB,UAAU,OAA8B;CACtD,OAAO,OAAO,UAAU;AAC1B;AAEA,SAAgB,YAAY,OAAgC;CAC1D,OAAO,OAAO,UAAU;AAC1B;AAEA,SAAgB,OAAO,OAA2B;CAChD,OAAO,UAAU;AACnB;AAEA,SAAgB,SAAS,OAA6B;CACpD,OAAO,iBAAiB;AAC1B;AAEA,SAAgB,SAAyB,OAAwB;CAC/D,OACE,SAAS,SACR,OAAO,UAAU,YAAY,OAAO,UAAU,eAC/C,CAAC,QAAQ,KAAK;AAElB;AAEA,SAAgB,OAAO,OAA2B;CAChD,OAAO,iBAAiB;AAC1B;AACA,SAAgB,QAAyB,OAAwB;CAC/D,OAAO,MAAM,QAAQ,KAAK;AAC5B;AAEA,SAAgB,QAAQ,OAAqB;CAC3C,OAAO,CAAC,QAAQ,KAAK,KAAK,CAAC,MAAM,UAAU,MAAM,OAAO,MAAM,KAAK,IAAI;AACzE;AAEA,SAAgB,cAAc,OAAqB;CACjD,OAAO,SAAS,KAAK,KAAK,CAAC,OAAO,KAAK,KAAK,CAAC,CAAC;AAChD;AAEA,SAAgB,WACd,OACY;CACZ,OAAO,OAAO,UAAU;AAC1B;AAEA,SAAgB,OAAO,OAAqB;CAC1C,OAAO,oNAAoN,KACzN,KACF;AACF;AAEA,SAAgB,KAAQ,OAAY;CAClC,OAAO;AACT"}
1
+ {"version":3,"file":"assertion.js","names":[],"sources":["../../src/assertion.ts"],"sourcesContent":["import type { Dict } from \"./index.type\"\n\nexport function is(x: any, y: any) {\n return (x === y && (x !== 0 || 1 / x === 1 / y)) || (x !== x && y !== y)\n}\n\nexport function isNumber(value: any): value is number {\n return typeof value === \"number\"\n}\n\nexport function isNotNumber(value: any): boolean {\n return (\n typeof value !== \"number\" || Number.isNaN(value) || !Number.isFinite(value)\n )\n}\n\nexport function isNumeric(value: any): boolean {\n return (\n !isNaN(parseFloat(String(value))) &&\n isFinite(Number(value)) &&\n /^-?\\d*\\.?\\d+$/.test(String(value))\n )\n}\n\nexport function isString(value: any): value is string {\n return Object.prototype.toString.call(value) === \"[object String]\"\n}\n\nexport function isBooleanish(value: any): value is boolean {\n return isBoolean(value) || value === \"true\" || value === \"false\"\n}\n\nexport function isBoolean(value: any): value is boolean {\n return typeof value === \"boolean\"\n}\n\nexport function isUndefined(value: any): value is undefined {\n return typeof value === \"undefined\"\n}\n\nexport function isNull(value: any): value is null {\n return value === null\n}\n\nexport function isRegExp(value: any): value is RegExp {\n return value instanceof RegExp\n}\n\nexport function isObject<Y extends Dict>(value: any): value is Y {\n return (\n value != null &&\n (typeof value === \"object\" || typeof value === \"function\") &&\n !isArray(value)\n )\n}\n\nexport function isDate(value: any): value is Date {\n return value instanceof Date\n}\nexport function isArray<Y extends any[]>(value: any): value is Y {\n return Array.isArray(value)\n}\n\nexport function isEmpty(value: any): boolean {\n return !isArray(value) || !value.length || value.every((v) => v == null)\n}\n\nexport function isEmptyObject(value: any): boolean {\n return isObject(value) && !Object.keys(value).length\n}\n\nexport function isFunction<Y extends Function = Function>(\n value: any,\n): value is Y {\n return typeof value === \"function\"\n}\n\nexport function isUnit(value: any): boolean {\n return /[0-9].*(em|rem|ex|rex|cap|rcap|ch|rch|ic|ric|lh|rlh|vw|svw|lvw|dvw|vh|svh|lvh|dvh|vi|svi|lvi|dvi|vb|svb|lvb|dvb|vmin|svmin|lvmin|dvmin|vmax|svmax|lvmax|dvmax|cm|mm|Q|in|pc|pt|px|%|cqw|cqh|cqi|cqb|cqmin|cqmax)$/.test(\n value,\n )\n}\n\nexport function cast<Y>(value: any) {\n return value as Y\n}\n"],"mappings":";AAEA,SAAgB,GAAG,GAAQ,GAAQ;CACjC,OAAQ,MAAM,MAAM,MAAM,KAAK,IAAI,MAAM,IAAI,MAAQ,MAAM,KAAK,MAAM;AACxE;AAEA,SAAgB,SAAS,OAA6B;CACpD,OAAO,OAAO,UAAU;AAC1B;AAEA,SAAgB,YAAY,OAAqB;CAC/C,OACE,OAAO,UAAU,YAAY,OAAO,MAAM,KAAK,KAAK,CAAC,OAAO,SAAS,KAAK;AAE9E;AAEA,SAAgB,UAAU,OAAqB;CAC7C,OACE,CAAC,MAAM,WAAW,OAAO,KAAK,CAAC,CAAC,KAChC,SAAS,OAAO,KAAK,CAAC,KACtB,gBAAgB,KAAK,OAAO,KAAK,CAAC;AAEtC;AAEA,SAAgB,SAAS,OAA6B;CACpD,OAAO,OAAO,UAAU,SAAS,KAAK,KAAK,MAAM;AACnD;AAEA,SAAgB,aAAa,OAA8B;CACzD,OAAO,UAAU,KAAK,KAAK,UAAU,UAAU,UAAU;AAC3D;AAEA,SAAgB,UAAU,OAA8B;CACtD,OAAO,OAAO,UAAU;AAC1B;AAEA,SAAgB,YAAY,OAAgC;CAC1D,OAAO,OAAO,UAAU;AAC1B;AAEA,SAAgB,OAAO,OAA2B;CAChD,OAAO,UAAU;AACnB;AAEA,SAAgB,SAAS,OAA6B;CACpD,OAAO,iBAAiB;AAC1B;AAEA,SAAgB,SAAyB,OAAwB;CAC/D,OACE,SAAS,SACR,OAAO,UAAU,YAAY,OAAO,UAAU,eAC/C,CAAC,QAAQ,KAAK;AAElB;AAEA,SAAgB,OAAO,OAA2B;CAChD,OAAO,iBAAiB;AAC1B;AACA,SAAgB,QAAyB,OAAwB;CAC/D,OAAO,MAAM,QAAQ,KAAK;AAC5B;AAEA,SAAgB,QAAQ,OAAqB;CAC3C,OAAO,CAAC,QAAQ,KAAK,KAAK,CAAC,MAAM,UAAU,MAAM,OAAO,MAAM,KAAK,IAAI;AACzE;AAEA,SAAgB,cAAc,OAAqB;CACjD,OAAO,SAAS,KAAK,KAAK,CAAC,OAAO,KAAK,KAAK,CAAC,CAAC;AAChD;AAEA,SAAgB,WACd,OACY;CACZ,OAAO,OAAO,UAAU;AAC1B;AAEA,SAAgB,OAAO,OAAqB;CAC1C,OAAO,oNAAoN,KACzN,KACF;AACF;AAEA,SAAgB,KAAQ,OAAY;CAClC,OAAO;AACT"}
@@ -1 +1 @@
1
- {"version":3,"file":"object.js","names":[],"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 omitted[key] = value\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 function extractObject<Y extends Dict, M>(\n obj: Y,\n getter: (value: Y[keyof Y]) => M,\n) {\n return Object.fromEntries(\n Object.entries(obj).map(([key, value]) => [key, getter(value)]),\n ) as { [key in keyof Y]: M }\n}\n\nexport function extractFlatObject<Y extends Dict, M>(\n obj: Y,\n getter: (value: Y[keyof Y]) => M,\n condition?: (key: keyof Y, value: Y[keyof Y]) => boolean,\n) {\n function flatMap(obj: Y, rootKey?: string): [string, M][] {\n return Object.entries(obj).flatMap(([key, value]) =>\n condition?.(key, value)\n ? flatMap(value, rootKey ? `${rootKey}.${key}` : key)\n : [[rootKey ? `${rootKey}.${key}` : key, getter(value)] as const],\n )\n }\n\n return Object.fromEntries(flatMap(obj))\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 Object.assign(result, { [sourceKey]: sourceValue })\n else Object.assign(result, { [sourceKey]: sourceValue })\n }\n else result = source\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 result[key] = value\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)) 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 return callBack(objOrArray)\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) return { [key]: obj }\n else return obj\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"object.js","names":[],"sources":["../../src/object.ts"],"sourcesContent":["import type { Dict } from \"./index.type\"\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 omitted[key] = value\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 function extractObject<Y extends Dict, M>(\n obj: Y,\n getter: (value: Y[keyof Y]) => M,\n) {\n return Object.fromEntries(\n Object.entries(obj).map(([key, value]) => [key, getter(value)]),\n ) as { [key in keyof Y]: M }\n}\n\nexport function extractFlatObject<Y extends Dict, M>(\n obj: Y,\n getter: (value: Y[keyof Y]) => M,\n condition?: (key: keyof Y, value: Y[keyof Y]) => boolean,\n) {\n function flatMap(obj: Y, rootKey?: string): [string, M][] {\n return Object.entries(obj).flatMap(([key, value]) =>\n condition?.(key, value)\n ? flatMap(value, rootKey ? `${rootKey}.${key}` : key)\n : [[rootKey ? `${rootKey}.${key}` : key, getter(value)] as const],\n )\n }\n\n return Object.fromEntries(flatMap(obj))\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 Object.assign(result, { [sourceKey]: sourceValue })\n else Object.assign(result, { [sourceKey]: sourceValue })\n }\n else result = source\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 result[key] = value\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)) 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 return callBack(objOrArray)\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) return { [key]: obj }\n else return obj\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"string.js","names":[],"sources":["../../src/string.ts"],"sourcesContent":["import type { AnyString } from \"./index.types\"\nimport { isString } from \"./assertion\"\n\nexport function cx(\n ...classNames: (null | string | undefined)[]\n): string | undefined {\n const result = classNames.filter((className) => !!className)\n\n if (!result.length) return undefined\n\n return result.map((className) => className!.trim()).join(\" \")\n}\n\nexport function escape(value: string, replaceValue = \"\"): string {\n return value.replace(/\\s+/g, replaceValue)\n}\n\nexport function antonym(value: string): string {\n switch (value) {\n case \"top\":\n return \"bottom\"\n\n case \"bottom\":\n return \"top\"\n\n case \"left\":\n return \"right\"\n\n case \"right\":\n return \"left\"\n\n case \"start\":\n return \"end\"\n\n case \"end\":\n return \"start\"\n\n case \"x\":\n return \"y\"\n\n case \"y\":\n return \"x\"\n\n case \"enter\":\n return \"exit\"\n\n case \"exit\":\n return \"enter\"\n\n case \"vertical\":\n return \"horizontal\"\n\n case \"horizontal\":\n return \"vertical\"\n\n case \"up\":\n return \"down\"\n\n case \"down\":\n return \"up\"\n\n case \"block\":\n return \"inline\"\n\n case \"inline\":\n return \"block\"\n\n default:\n return value\n }\n}\n\nconst sizeMap: AnyString[] = [\n \"9xs\",\n \"8xs\",\n \"7xs\",\n \"6xs\",\n \"5xs\",\n \"4xs\",\n \"3xs\",\n \"2xs\",\n \"xs\",\n \"sm\",\n \"md\",\n \"lg\",\n \"xl\",\n \"2xl\",\n \"3xl\",\n \"4xl\",\n \"5xl\",\n \"6xl\",\n \"7xl\",\n \"8xl\",\n \"9xl\",\n]\n\nexport function isSize(value: any): boolean {\n return isString(value) && sizeMap.includes(value)\n}\n\nexport function transformSize<Y = string>(\n token: string | undefined,\n value: number,\n omitTokens: null | string[] = null,\n): undefined | Y {\n if (!token) return undefined\n\n let resolvedSizeMap = sizeMap\n\n if (omitTokens)\n resolvedSizeMap = sizeMap.filter((size) => !omitTokens.includes(size))\n\n const index = resolvedSizeMap.indexOf(token)\n const size = resolvedSizeMap[index + value]\n\n return (size ?? token) as Y\n}\n\nexport function toCamelCase(value: AnyString): string {\n return value\n .replace(/[_-](.)/g, (_, val) => val.toUpperCase())\n .replace(/^(.)/, (_, val) => val.toLowerCase())\n}\n\nexport function toPascalCase(value: AnyString): string {\n return value\n .replace(/[_-](.)/g, (_, val) => val.toUpperCase())\n .replace(/^(.)/, (_, val) => val.toUpperCase())\n}\n\nexport function toKebabCase(value: AnyString): string {\n return value\n .replace(/([a-z0-9]|(?=[A-Z]))([A-Z])/g, \"$1-$2\")\n .toLowerCase()\n .replace(/^-/, \"\")\n}\n\nexport function toTitleCase(value: AnyString): string {\n return value\n .replace(/([A-Z])/g, \" $1\")\n .replace(/[_-](.)/g, (_, val) => ` ${val.toUpperCase()}`)\n .replace(/^./, (str) => str.toUpperCase())\n .trim()\n}\n\nexport function bem(block: string, element?: string, modifier?: string) {\n let className = block\n\n if (element) className += `__${element}`\n if (modifier) className += `--${modifier}`\n\n return className\n}\n\nexport function match(\n value: string,\n query: string,\n strategy: \"contains\" | \"endsWith\" | \"equals\" | \"startsWith\" = \"contains\",\n) {\n switch (strategy) {\n case \"contains\":\n return value.toLowerCase().includes(query.toLowerCase())\n case \"endsWith\":\n return value.toLowerCase().endsWith(query.toLowerCase())\n case \"equals\":\n return value.toLowerCase() === query.toLowerCase()\n case \"startsWith\":\n return value.toLowerCase().startsWith(query.toLowerCase())\n }\n}\n"],"mappings":";;AAGA,SAAgB,GACd,GAAG,YACiB;CACpB,MAAM,SAAS,WAAW,QAAQ,cAAc,CAAC,CAAC,SAAS;CAE3D,IAAI,CAAC,OAAO,QAAQ,OAAO,KAAA;CAE3B,OAAO,OAAO,KAAK,cAAc,UAAW,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG;AAC9D;AAEA,SAAgB,OAAO,OAAe,eAAe,IAAY;CAC/D,OAAO,MAAM,QAAQ,QAAQ,YAAY;AAC3C;AAEA,SAAgB,QAAQ,OAAuB;CAC7C,QAAQ,OAAR;EACE,KAAK,OACH,OAAO;EAET,KAAK,UACH,OAAO;EAET,KAAK,QACH,OAAO;EAET,KAAK,SACH,OAAO;EAET,KAAK,SACH,OAAO;EAET,KAAK,OACH,OAAO;EAET,KAAK,KACH,OAAO;EAET,KAAK,KACH,OAAO;EAET,KAAK,SACH,OAAO;EAET,KAAK,QACH,OAAO;EAET,KAAK,YACH,OAAO;EAET,KAAK,cACH,OAAO;EAET,KAAK,MACH,OAAO;EAET,KAAK,QACH,OAAO;EAET,KAAK,SACH,OAAO;EAET,KAAK,UACH,OAAO;EAET,SACE,OAAO;CACX;AACF;AAEA,MAAM,UAAuB;CAC3B;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;AACF;AAEA,SAAgB,OAAO,OAAqB;CAC1C,OAAO,SAAS,KAAK,KAAK,QAAQ,SAAS,KAAK;AAClD;AAEA,SAAgB,cACd,OACA,OACA,aAA8B,MACf;CACf,IAAI,CAAC,OAAO,OAAO,KAAA;CAEnB,IAAI,kBAAkB;CAEtB,IAAI,YACF,kBAAkB,QAAQ,QAAQ,SAAS,CAAC,WAAW,SAAS,IAAI,CAAC;CAEvE,MAAM,QAAQ,gBAAgB,QAAQ,KAAK;CAG3C,OAFa,gBAAgB,QAAQ,UAErB;AAClB;AAEA,SAAgB,YAAY,OAA0B;CACpD,OAAO,MACJ,QAAQ,aAAa,GAAG,QAAQ,IAAI,YAAY,CAAC,CAAC,CAClD,QAAQ,SAAS,GAAG,QAAQ,IAAI,YAAY,CAAC;AAClD;AAEA,SAAgB,aAAa,OAA0B;CACrD,OAAO,MACJ,QAAQ,aAAa,GAAG,QAAQ,IAAI,YAAY,CAAC,CAAC,CAClD,QAAQ,SAAS,GAAG,QAAQ,IAAI,YAAY,CAAC;AAClD;AAEA,SAAgB,YAAY,OAA0B;CACpD,OAAO,MACJ,QAAQ,gCAAgC,OAAO,CAAC,CAChD,YAAY,CAAC,CACb,QAAQ,MAAM,EAAE;AACrB;AAEA,SAAgB,YAAY,OAA0B;CACpD,OAAO,MACJ,QAAQ,YAAY,KAAK,CAAC,CAC1B,QAAQ,aAAa,GAAG,QAAQ,IAAI,IAAI,YAAY,GAAG,CAAC,CACxD,QAAQ,OAAO,QAAQ,IAAI,YAAY,CAAC,CAAC,CACzC,KAAK;AACV;AAEA,SAAgB,IAAI,OAAe,SAAkB,UAAmB;CACtE,IAAI,YAAY;CAEhB,IAAI,SAAS,aAAa,KAAK;CAC/B,IAAI,UAAU,aAAa,KAAK;CAEhC,OAAO;AACT;AAEA,SAAgB,MACd,OACA,OACA,WAA8D,YAC9D;CACA,QAAQ,UAAR;EACE,KAAK,YACH,OAAO,MAAM,YAAY,CAAC,CAAC,SAAS,MAAM,YAAY,CAAC;EACzD,KAAK,YACH,OAAO,MAAM,YAAY,CAAC,CAAC,SAAS,MAAM,YAAY,CAAC;EACzD,KAAK,UACH,OAAO,MAAM,YAAY,MAAM,MAAM,YAAY;EACnD,KAAK,cACH,OAAO,MAAM,YAAY,CAAC,CAAC,WAAW,MAAM,YAAY,CAAC;CAC7D;AACF"}
1
+ {"version":3,"file":"string.js","names":[],"sources":["../../src/string.ts"],"sourcesContent":["import type { AnyString } from \"./index.type\"\nimport { isString } from \"./assertion\"\n\nexport function cx(\n ...classNames: (null | string | undefined)[]\n): string | undefined {\n const result = classNames.filter((className) => !!className)\n\n if (!result.length) return undefined\n\n return result.map((className) => className!.trim()).join(\" \")\n}\n\nexport function escape(value: string, replaceValue = \"\"): string {\n return value.replace(/\\s+/g, replaceValue)\n}\n\nexport function antonym(value: string): string {\n switch (value) {\n case \"top\":\n return \"bottom\"\n\n case \"bottom\":\n return \"top\"\n\n case \"left\":\n return \"right\"\n\n case \"right\":\n return \"left\"\n\n case \"start\":\n return \"end\"\n\n case \"end\":\n return \"start\"\n\n case \"x\":\n return \"y\"\n\n case \"y\":\n return \"x\"\n\n case \"enter\":\n return \"exit\"\n\n case \"exit\":\n return \"enter\"\n\n case \"vertical\":\n return \"horizontal\"\n\n case \"horizontal\":\n return \"vertical\"\n\n case \"up\":\n return \"down\"\n\n case \"down\":\n return \"up\"\n\n case \"block\":\n return \"inline\"\n\n case \"inline\":\n return \"block\"\n\n default:\n return value\n }\n}\n\nconst sizeMap: AnyString[] = [\n \"9xs\",\n \"8xs\",\n \"7xs\",\n \"6xs\",\n \"5xs\",\n \"4xs\",\n \"3xs\",\n \"2xs\",\n \"xs\",\n \"sm\",\n \"md\",\n \"lg\",\n \"xl\",\n \"2xl\",\n \"3xl\",\n \"4xl\",\n \"5xl\",\n \"6xl\",\n \"7xl\",\n \"8xl\",\n \"9xl\",\n]\n\nexport function isSize(value: any): boolean {\n return isString(value) && sizeMap.includes(value)\n}\n\nexport function transformSize<Y = string>(\n token: string | undefined,\n value: number,\n omitTokens: null | string[] = null,\n): undefined | Y {\n if (!token) return undefined\n\n let resolvedSizeMap = sizeMap\n\n if (omitTokens)\n resolvedSizeMap = sizeMap.filter((size) => !omitTokens.includes(size))\n\n const index = resolvedSizeMap.indexOf(token)\n const size = resolvedSizeMap[index + value]\n\n return (size ?? token) as Y\n}\n\nexport function toCamelCase(value: AnyString): string {\n return value\n .replace(/[_-](.)/g, (_, val) => val.toUpperCase())\n .replace(/^(.)/, (_, val) => val.toLowerCase())\n}\n\nexport function toPascalCase(value: AnyString): string {\n return value\n .replace(/[_-](.)/g, (_, val) => val.toUpperCase())\n .replace(/^(.)/, (_, val) => val.toUpperCase())\n}\n\nexport function toKebabCase(value: AnyString): string {\n return value\n .replace(/([a-z0-9]|(?=[A-Z]))([A-Z])/g, \"$1-$2\")\n .toLowerCase()\n .replace(/^-/, \"\")\n}\n\nexport function toTitleCase(value: AnyString): string {\n return value\n .replace(/([A-Z])/g, \" $1\")\n .replace(/[_-](.)/g, (_, val) => ` ${val.toUpperCase()}`)\n .replace(/^./, (str) => str.toUpperCase())\n .trim()\n}\n\nexport function bem(block: string, element?: string, modifier?: string) {\n let className = block\n\n if (element) className += `__${element}`\n if (modifier) className += `--${modifier}`\n\n return className\n}\n\nexport function match(\n value: string,\n query: string,\n strategy: \"contains\" | \"endsWith\" | \"equals\" | \"startsWith\" = \"contains\",\n) {\n switch (strategy) {\n case \"contains\":\n return value.toLowerCase().includes(query.toLowerCase())\n case \"endsWith\":\n return value.toLowerCase().endsWith(query.toLowerCase())\n case \"equals\":\n return value.toLowerCase() === query.toLowerCase()\n case \"startsWith\":\n return value.toLowerCase().startsWith(query.toLowerCase())\n }\n}\n"],"mappings":";;AAGA,SAAgB,GACd,GAAG,YACiB;CACpB,MAAM,SAAS,WAAW,QAAQ,cAAc,CAAC,CAAC,SAAS;CAE3D,IAAI,CAAC,OAAO,QAAQ,OAAO,KAAA;CAE3B,OAAO,OAAO,KAAK,cAAc,UAAW,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG;AAC9D;AAEA,SAAgB,OAAO,OAAe,eAAe,IAAY;CAC/D,OAAO,MAAM,QAAQ,QAAQ,YAAY;AAC3C;AAEA,SAAgB,QAAQ,OAAuB;CAC7C,QAAQ,OAAR;EACE,KAAK,OACH,OAAO;EAET,KAAK,UACH,OAAO;EAET,KAAK,QACH,OAAO;EAET,KAAK,SACH,OAAO;EAET,KAAK,SACH,OAAO;EAET,KAAK,OACH,OAAO;EAET,KAAK,KACH,OAAO;EAET,KAAK,KACH,OAAO;EAET,KAAK,SACH,OAAO;EAET,KAAK,QACH,OAAO;EAET,KAAK,YACH,OAAO;EAET,KAAK,cACH,OAAO;EAET,KAAK,MACH,OAAO;EAET,KAAK,QACH,OAAO;EAET,KAAK,SACH,OAAO;EAET,KAAK,UACH,OAAO;EAET,SACE,OAAO;CACX;AACF;AAEA,MAAM,UAAuB;CAC3B;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;AACF;AAEA,SAAgB,OAAO,OAAqB;CAC1C,OAAO,SAAS,KAAK,KAAK,QAAQ,SAAS,KAAK;AAClD;AAEA,SAAgB,cACd,OACA,OACA,aAA8B,MACf;CACf,IAAI,CAAC,OAAO,OAAO,KAAA;CAEnB,IAAI,kBAAkB;CAEtB,IAAI,YACF,kBAAkB,QAAQ,QAAQ,SAAS,CAAC,WAAW,SAAS,IAAI,CAAC;CAEvE,MAAM,QAAQ,gBAAgB,QAAQ,KAAK;CAG3C,OAFa,gBAAgB,QAAQ,UAErB;AAClB;AAEA,SAAgB,YAAY,OAA0B;CACpD,OAAO,MACJ,QAAQ,aAAa,GAAG,QAAQ,IAAI,YAAY,CAAC,CAAC,CAClD,QAAQ,SAAS,GAAG,QAAQ,IAAI,YAAY,CAAC;AAClD;AAEA,SAAgB,aAAa,OAA0B;CACrD,OAAO,MACJ,QAAQ,aAAa,GAAG,QAAQ,IAAI,YAAY,CAAC,CAAC,CAClD,QAAQ,SAAS,GAAG,QAAQ,IAAI,YAAY,CAAC;AAClD;AAEA,SAAgB,YAAY,OAA0B;CACpD,OAAO,MACJ,QAAQ,gCAAgC,OAAO,CAAC,CAChD,YAAY,CAAC,CACb,QAAQ,MAAM,EAAE;AACrB;AAEA,SAAgB,YAAY,OAA0B;CACpD,OAAO,MACJ,QAAQ,YAAY,KAAK,CAAC,CAC1B,QAAQ,aAAa,GAAG,QAAQ,IAAI,IAAI,YAAY,GAAG,CAAC,CACxD,QAAQ,OAAO,QAAQ,IAAI,YAAY,CAAC,CAAC,CACzC,KAAK;AACV;AAEA,SAAgB,IAAI,OAAe,SAAkB,UAAmB;CACtE,IAAI,YAAY;CAEhB,IAAI,SAAS,aAAa,KAAK;CAC/B,IAAI,UAAU,aAAa,KAAK;CAEhC,OAAO;AACT;AAEA,SAAgB,MACd,OACA,OACA,WAA8D,YAC9D;CACA,QAAQ,UAAR;EACE,KAAK,YACH,OAAO,MAAM,YAAY,CAAC,CAAC,SAAS,MAAM,YAAY,CAAC;EACzD,KAAK,YACH,OAAO,MAAM,YAAY,CAAC,CAAC,SAAS,MAAM,YAAY,CAAC;EACzD,KAAK,UACH,OAAO,MAAM,YAAY,MAAM,MAAM,YAAY;EACnD,KAAK,cACH,OAAO,MAAM,YAAY,CAAC,CAAC,WAAW,MAAM,YAAY,CAAC;CAC7D;AACF"}
@@ -1,4 +1,4 @@
1
- import { Dict } from "./index.types.js";
1
+ import { Dict } from "./index.type.js";
2
2
  //#region src/assertion.d.ts
3
3
  export declare function is(x: any, y: any): boolean;
4
4
  export declare function isNumber(value: any): value is number;
@@ -2,7 +2,7 @@
2
2
  export type ColorFormat = "hex" | "hexa" | "hsl" | "hsla" | "rgb" | "rgba";
3
3
  export declare const SEMANTIC_COLOR_SCHEMES: readonly ["mono", "primary", "secondary", "info", "success", "warning", "danger", "error", "link"];
4
4
  export declare const DEFAULT_COLOR_SCHEMES: readonly ["gray", "red", "rose", "pink", "flashy", "orange", "amber", "yellow", "lime", "green", "emerald", "teal", "cyan", "sky", "blue", "indigo", "violet", "purple", "fuchsia"];
5
- export declare const COLOR_SCHEMES: ("mono" | "primary" | "secondary" | "info" | "success" | "warning" | "danger" | "error" | "link" | "gray" | "red" | "rose" | "pink" | "flashy" | "orange" | "amber" | "yellow" | "lime" | "green" | "emerald" | "teal" | "cyan" | "sky" | "blue" | "indigo" | "violet" | "purple" | "fuchsia")[];
5
+ export declare const COLOR_SCHEMES: ("link" | "mono" | "primary" | "secondary" | "info" | "success" | "warning" | "danger" | "error" | "gray" | "red" | "rose" | "pink" | "flashy" | "orange" | "amber" | "yellow" | "lime" | "green" | "emerald" | "teal" | "cyan" | "sky" | "blue" | "indigo" | "violet" | "purple" | "fuchsia")[];
6
6
  export declare const TONES: readonly [50, 100, 200, 300, 400, 500, 600, 700, 800, 900, 950];
7
7
  export declare function convertColor(color: string, fallback: string): {
8
8
  (format: ColorFormat): string;
@@ -1,5 +1,5 @@
1
1
  import { filterEmpty, toArray } from "./array.js";
2
- import { AnyString, Booleanish, DeepMerge, DeepPartial, Dict, FunctionOf, FunctionOrValue, Length, Merge, Path, Prettify, Primitive, Value } from "./index.types.js";
2
+ import { AnyString, Booleanish, DeepMerge, DeepPartial, Dict, FunctionOf, FunctionOrValue, Length, Merge, Path, Prettify, Primitive, Value } from "./index.type.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
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";
@@ -1,4 +1,4 @@
1
- //#region src/index.types.d.ts
1
+ //#region src/index.type.d.ts
2
2
  export type Primitive = bigint | boolean | Date | Function | null | number | string | symbol | undefined;
3
3
  type PathImpl<Y extends number | string | symbol, M, D = Primitive> = Y extends number | string ? M extends D ? `${Y}` : `${Y}.${Path<M, D>}` | `${Y}` : ``;
4
4
  export type Path<Y, M = Primitive> = Y extends any[] ? `${number}` : { [D in keyof Y]-?: PathImpl<D, Y[D], M>; }[keyof Y];
@@ -16,4 +16,4 @@ export type Merge<Y, M> = M & Omit<Y, keyof M>;
16
16
  export type DeepMerge<Y, M> = Y extends any[] | Primitive ? M : Y extends object ? M extends object ? { [D in keyof M | keyof Y]: D extends keyof M ? D extends keyof Y ? DeepMerge<Y[D], M[D]> : M[D] : D extends keyof Y ? Y[D] : never; } : M : M;
17
17
  export type DeepPartial<Y> = Y extends any[] | Primitive ? Y : { [P in keyof Y]?: DeepPartial<Y[P]>; };
18
18
  //#endregion
19
- //# sourceMappingURL=index.types.d.ts.map
19
+ //# sourceMappingURL=index.type.d.ts.map
@@ -1,4 +1,4 @@
1
- import { Dict } from "./index.types.js";
1
+ import { Dict } from "./index.type.js";
2
2
  //#region src/object.d.ts
3
3
  export declare function omitObject<Y extends Dict, M extends keyof Y>(obj: Y, keys: M[] | readonly M[]): Omit<Y, M>;
4
4
  export declare function pickObject<Y extends Dict, M extends keyof Y>(obj: Y, keys: M[] | readonly M[]): { [D in M]: Y[D]; };
@@ -1,4 +1,4 @@
1
- import { AnyString } from "./index.types.js";
1
+ import { AnyString } from "./index.type.js";
2
2
  //#region src/string.d.ts
3
3
  export declare function cx(...classNames: (null | string | undefined)[]): string | undefined;
4
4
  export declare function escape(value: string, replaceValue?: string): string;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@yamada-ui/utils",
3
3
  "type": "module",
4
- "version": "2.1.7-dev-20261005132826",
4
+ "version": "2.1.7-dev-20261005223346",
5
5
  "description": "The utilities for Yamada UI projects",
6
6
  "keywords": [
7
7
  "utils",