all-you-need 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/dist/chunk-BJCELHLJ.cjs +224 -0
- package/dist/chunk-BJCELHLJ.cjs.map +1 -0
- package/dist/chunk-KA5JX4LA.js +841 -0
- package/dist/chunk-KA5JX4LA.js.map +1 -0
- package/dist/chunk-RNO7ZT65.cjs +4 -0
- package/dist/chunk-RNO7ZT65.cjs.map +1 -0
- package/dist/chunk-RV5MKKBP.js +3 -0
- package/dist/chunk-RV5MKKBP.js.map +1 -0
- package/dist/chunk-SEJ5J4LY.cjs +924 -0
- package/dist/chunk-SEJ5J4LY.cjs.map +1 -0
- package/dist/chunk-YHQI346M.js +218 -0
- package/dist/chunk-YHQI346M.js.map +1 -0
- package/dist/entities/index.cjs +28 -0
- package/dist/entities/index.cjs.map +1 -0
- package/dist/entities/index.d.cts +73 -0
- package/dist/entities/index.d.ts +73 -0
- package/dist/entities/index.js +3 -0
- package/dist/entities/index.js.map +1 -0
- package/dist/index.cjs +358 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.cts +3 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.js +5 -0
- package/dist/index.js.map +1 -0
- package/dist/types/index.cjs +6 -0
- package/dist/types/index.cjs.map +1 -0
- package/dist/types/index.d.cts +114 -0
- package/dist/types/index.d.ts +114 -0
- package/dist/types/index.js +3 -0
- package/dist/types/index.js.map +1 -0
- package/dist/utils/index.cjs +336 -0
- package/dist/utils/index.cjs.map +1 -0
- package/dist/utils/index.d.cts +185 -0
- package/dist/utils/index.d.ts +185 -0
- package/dist/utils/index.js +3 -0
- package/dist/utils/index.js.map +1 -0
- package/package.json +141 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/utils/string/capitalize.ts","../src/utils/string/escapeHtml.ts","../src/utils/string/escapeRegExp.ts","../src/utils/string/maskString.ts","../src/utils/string/pluralize.ts","../src/utils/string/slugify.ts","../src/utils/string/template.ts","../src/utils/string/toCamelCase.ts","../src/utils/string/toKebabCase.ts","../src/utils/string/toPascalCase.ts","../src/utils/string/toSnakeCase.ts","../src/utils/string/truncate.ts","../src/utils/string/unescapeHtml.ts","../src/utils/array/chunk.ts","../src/utils/array/compact.ts","../src/utils/array/difference.ts","../src/utils/array/first.ts","../src/utils/array/flatten.ts","../src/utils/array/groupBy.ts","../src/utils/array/intersection.ts","../src/utils/array/last.ts","../src/utils/array/range.ts","../src/utils/array/shuffle.ts","../src/utils/array/sortBy.ts","../src/utils/array/unique.ts","../src/utils/array/uniqueBy.ts","../src/utils/array/zip.ts","../src/utils/object/deepClone.ts","../src/utils/object/deepEqual.ts","../src/utils/object/deepMerge.ts","../src/utils/object/diff.ts","../src/utils/object/flattenObject.ts","../src/utils/object/isEmpty.ts","../src/utils/object/mapKeys.ts","../src/utils/object/mapValues.ts","../src/utils/object/omit.ts","../src/utils/object/pick.ts","../src/utils/number/average.ts","../src/utils/number/clamp.ts","../src/utils/number/formatBytes.ts","../src/utils/number/formatCurrency.ts","../src/utils/number/formatNumber.ts","../src/utils/number/median.ts","../src/utils/number/percentage.ts","../src/utils/number/randomInt.ts","../src/utils/number/round.ts","../src/utils/number/sum.ts","../src/utils/date/formatDate.ts","../src/utils/date/daysBetween.ts","../src/utils/date/isToday.ts","../src/utils/date/isYesterday.ts","../src/utils/date/addDays.ts","../src/utils/date/addMonths.ts","../src/utils/date/relativeTime.ts","../src/utils/async/sleep.ts","../src/utils/async/retry.ts","../src/utils/async/debounce.ts","../src/utils/async/throttle.ts","../src/utils/async/timeout.ts","../src/utils/async/tryCatch.ts","../src/utils/async/pLimit.ts","../src/utils/async/pSettle.ts","../src/utils/validation/isEmail.ts","../src/utils/validation/isURL.ts","../src/utils/validation/isPhone.ts","../src/utils/validation/isINN.ts","../src/utils/validation/isStrongPassword.ts","../src/utils/guards/isString.ts","../src/utils/guards/isNumber.ts","../src/utils/guards/isBoolean.ts","../src/utils/guards/isNonNullable.ts","../src/utils/guards/isArray.ts","../src/utils/guards/isObject.ts","../src/utils/guards/isFunction.ts","../src/utils/guards/isDefined.ts","../src/utils/guards/hasProperty.ts","../src/utils/env/isBrowser.ts","../src/utils/env/isNode.ts","../src/utils/env/isSSR.ts","../src/utils/id/nanoid.ts","../src/utils/id/uuid.ts"],"names":["sum"],"mappings":"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","file":"chunk-KA5JX4LA.js","sourcesContent":["export function capitalize(str: string): string {\n if (str.length === 0) {\n return str;\n }\n\n return str.charAt(0).toUpperCase() + str.slice(1);\n}\n","export function escapeHtml(str: string): string {\n return str\n .replace(/&/g, \"&\")\n .replace(/</g, \"<\")\n .replace(/>/g, \">\")\n .replace(/\"/g, \""\")\n .replace(/'/g, \"'\");\n}\n","export function escapeRegExp(str: string): string {\n return str.replace(/[\\\\^$.*+?()[\\]{}|]/g, \"\\\\$&\");\n}\n","export function maskString(\n str: string,\n visibleStart: number = 0,\n visibleEnd: number = 0,\n maskChar: string = \"*\",\n): string {\n if (str.length <= visibleStart + visibleEnd) {\n return str;\n }\n\n const start = str.slice(0, visibleStart);\n const end = visibleEnd > 0 ? str.slice(-visibleEnd) : \"\";\n const masked = maskChar.repeat(str.length - visibleStart - visibleEnd);\n\n return start + masked + end;\n}\n","export function pluralize(\n count: number,\n one: string,\n few: string,\n many: string,\n): string {\n const abs = Math.abs(count);\n const mod10 = abs % 10;\n const mod100 = abs % 100;\n\n if (mod10 === 1 && mod100 !== 11) {\n return `${count} ${one}`;\n }\n\n if (mod10 >= 2 && mod10 <= 4 && (mod100 < 12 || mod100 > 14)) {\n return `${count} ${few}`;\n }\n\n return `${count} ${many}`;\n}\n","export function slugify(str: string): string {\n return str\n .normalize(\"NFD\")\n .replace(/[\\u0300-\\u036f]/g, \"\")\n .toLowerCase()\n .trim()\n .replace(/[^a-z0-9\\s-]/g, \"\")\n .replace(/[\\s_]+/g, \"-\")\n .replace(/-+/g, \"-\")\n .replace(/^-|-$/g, \"\");\n}\n","export function template(\n str: string,\n data: Record<string, string | number>,\n): string {\n return str.replace(/\\{(\\w+)\\}/g, (match, key: string) => {\n if (key in data) {\n return String(data[key]);\n }\n\n return match;\n });\n}\n","export function toCamelCase(str: string): string {\n return str\n .replace(/[^a-zA-Z0-9]+(.)/g, (_, char: string) => char.toUpperCase())\n .replace(/^[A-Z]/, (char) => char.toLowerCase());\n}\n","export function toKebabCase(str: string): string {\n return str\n .replace(/([a-z])([A-Z])/g, \"$1-$2\")\n .replace(/[\\s_]+/g, \"-\")\n .replace(/[^a-zA-Z0-9-]/g, \"\")\n .toLowerCase();\n}\n","export function toPascalCase(str: string): string {\n return str\n .split(/[^a-zA-Z0-9]+/)\n .filter(Boolean)\n .map((word) => word.charAt(0).toUpperCase() + word.slice(1).toLowerCase())\n .join(\"\");\n}\n","export function toSnakeCase(str: string): string {\n return str\n .replace(/([a-z])([A-Z])/g, \"$1_$2\")\n .replace(/[\\s-]+/g, \"_\")\n .replace(/[^a-zA-Z0-9_]/g, \"\")\n .toLowerCase();\n}\n","export function truncate(\n str: string,\n maxLength: number,\n suffix: string = \"...\",\n): string {\n if (str.length <= maxLength) {\n return str;\n }\n\n return str.slice(0, maxLength - suffix.length) + suffix;\n}\n","export function unescapeHtml(str: string): string {\n return str\n .replace(/&/g, \"&\")\n .replace(/</g, \"<\")\n .replace(/>/g, \">\")\n .replace(/"/g, \"\\\"\")\n .replace(/'/g, \"'\");\n}\n","export function chunk<T>(arr: T[], size: number): T[][] {\n if (size <= 0) {\n throw new RangeError(\"chunk size must be greater than 0\");\n }\n\n const result: T[][] = [];\n\n for (let i = 0; i < arr.length; i += size) {\n result.push(arr.slice(i, i + size));\n }\n\n return result;\n}\n","export function compact<T>(arr: (T | null | undefined | false | 0 | \"\")[]): T[] {\n return arr.filter(Boolean) as T[];\n}\n","export function difference<T>(a: T[], b: T[]): T[] {\n const set = new Set(b);\n\n return a.filter((item) => !set.has(item));\n}\n","export function first<T>(arr: T[]): T | undefined {\n return arr[0];\n}\n","export function flatten<T>(arr: unknown[]): T[] {\n return arr.flat(Infinity) as T[];\n}\n","export function groupBy<T, K extends string | number | symbol>(\n arr: T[],\n keyFn: (item: T) => K,\n): Record<K, T[]> {\n return arr.reduce(\n (acc, item) => {\n const key = keyFn(item);\n\n if (!acc[key]) {\n acc[key] = [];\n }\n acc[key].push(item);\n\n return acc;\n },\n {} as Record<K, T[]>,\n );\n}\n","export function intersection<T>(a: T[], b: T[]): T[] {\n const set = new Set(b);\n\n return a.filter((item) => set.has(item));\n}\n","export function last<T>(arr: T[]): T | undefined {\n return arr[arr.length - 1];\n}\n","export function range(start: number, end: number, step: number = 1): number[] {\n if (step === 0) {\n throw new RangeError(\"step must not be 0\");\n }\n\n const result: number[] = [];\n\n if (step > 0) {\n for (let i = start; i < end; i += step) {\n result.push(i);\n }\n } else {\n for (let i = start; i > end; i += step) {\n result.push(i);\n }\n }\n\n return result;\n}\n","export function shuffle<T>(arr: T[]): T[] {\n const result = [...arr];\n\n for (let i = result.length - 1; i > 0; i--) {\n const j = Math.floor(Math.random() * (i + 1));\n [result[i], result[j]] = [result[j], result[i]];\n }\n\n return result;\n}\n","export function sortBy<T>(arr: T[], keyFn: (item: T) => string | number): T[] {\n return [...arr].sort((a, b) => {\n const ka = keyFn(a);\n const kb = keyFn(b);\n\n if (ka < kb) {\n return -1;\n }\n\n if (ka > kb) {\n return 1;\n }\n\n return 0;\n });\n}\n","export function unique<T>(arr: T[]): T[] {\n return [...new Set(arr)];\n}\n","export function uniqueBy<T>(arr: T[], keyFn: (item: T) => unknown): T[] {\n const seen = new Set<unknown>();\n\n return arr.filter((item) => {\n const key = keyFn(item);\n\n if (seen.has(key)) {\n return false;\n }\n seen.add(key);\n\n return true;\n });\n}\n","export function zip<T, U>(a: T[], b: U[]): [T, U][] {\n const length = Math.min(a.length, b.length);\n const result: [T, U][] = [];\n\n for (let i = 0; i < length; i++) {\n result.push([a[i], b[i]]);\n }\n\n return result;\n}\n","export function deepClone<T>(value: T): T {\n return structuredClone(value);\n}\n","export function deepEqual(a: unknown, b: unknown): boolean {\n if (a === b) {\n return true;\n }\n\n if (a instanceof Date && b instanceof Date) {\n return a.getTime() === b.getTime();\n }\n\n if (a instanceof RegExp && b instanceof RegExp) {\n return a.source === b.source && a.flags === b.flags;\n }\n\n if (\n a === null ||\n b === null ||\n typeof a !== \"object\" ||\n typeof b !== \"object\"\n ) {\n return false;\n }\n\n if (Array.isArray(a) !== Array.isArray(b)) {\n return false;\n }\n\n if (Array.isArray(a) && Array.isArray(b)) {\n if (a.length !== b.length) {\n return false;\n }\n\n return a.every((item, index) => deepEqual(item, b[index]));\n }\n\n const keysA = Object.keys(a as Record<string, unknown>);\n const keysB = Object.keys(b as Record<string, unknown>);\n\n if (keysA.length !== keysB.length) {\n return false;\n }\n\n return keysA.every(\n (key) =>\n Object.prototype.hasOwnProperty.call(b, key) &&\n deepEqual(\n (a as Record<string, unknown>)[key],\n (b as Record<string, unknown>)[key],\n ),\n );\n}\n","function isPlainObject(value: unknown): value is Record<string, unknown> {\n return typeof value === \"object\" && value !== null && !Array.isArray(value);\n}\n\nexport function deepMerge<\n T extends Record<string, unknown>,\n S extends Record<string, unknown>,\n>(target: T, source: S): T & S {\n const result: Record<string, unknown> = { ...target };\n\n for (const key of Object.keys(source)) {\n const targetVal = result[key];\n const sourceVal = (source as Record<string, unknown>)[key];\n\n if (isPlainObject(targetVal) && isPlainObject(sourceVal)) {\n result[key] = deepMerge(targetVal, sourceVal);\n } else {\n result[key] = sourceVal;\n }\n }\n\n return result as T & S;\n}\n","export function diff<T extends Record<string, unknown>>(\n original: T,\n changed: T,\n): Partial<T> {\n const result: Partial<T> = {};\n\n for (const key of Object.keys(changed) as Array<keyof T>) {\n if (changed[key] !== original[key]) {\n result[key] = changed[key];\n }\n }\n\n return result;\n}\n","export function flattenObject(\n obj: Record<string, unknown>,\n prefix = \"\",\n separator = \".\",\n): Record<string, unknown> {\n const result: Record<string, unknown> = {};\n\n for (const key of Object.keys(obj)) {\n const fullKey = prefix ? `${prefix}${separator}${key}` : key;\n const value = obj[key];\n\n if (\n value !== null &&\n typeof value === \"object\" &&\n !Array.isArray(value) &&\n !(value instanceof Date) &&\n !(value instanceof RegExp)\n ) {\n Object.assign(\n result,\n flattenObject(value as Record<string, unknown>, fullKey, separator),\n );\n } else {\n result[fullKey] = value;\n }\n }\n\n return result;\n}\n","export function isEmpty(value: unknown): boolean {\n if (value === null || value === undefined) {\n return true;\n }\n\n if (typeof value === \"string\") {\n return value.trim().length === 0;\n }\n\n if (Array.isArray(value)) {\n return value.length === 0;\n }\n\n if (typeof value === \"object\") {\n return Object.keys(value).length === 0;\n }\n\n return false;\n}\n","export function mapKeys<T extends Record<string, unknown>>(\n obj: T,\n fn: (key: string) => string,\n): Record<string, T[keyof T]> {\n const result: Record<string, T[keyof T]> = {};\n\n for (const key of Object.keys(obj)) {\n result[fn(key)] = obj[key] as T[keyof T];\n }\n\n return result;\n}\n","export function mapValues<T extends Record<string, unknown>, U>(\n obj: T,\n fn: (value: T[keyof T], key: string) => U,\n): Record<string, U> {\n const result: Record<string, U> = {};\n\n for (const key of Object.keys(obj)) {\n result[key] = fn(obj[key] as T[keyof T], key);\n }\n\n return result;\n}\n","export function omit<T extends Record<string, unknown>, K extends keyof T>(\n obj: T,\n keys: K[],\n): Omit<T, K> {\n const result = { ...obj };\n\n for (const key of keys) {\n delete result[key];\n }\n\n return result as Omit<T, K>;\n}\n","export function pick<T extends Record<string, unknown>, K extends keyof T>(\n obj: T,\n keys: K[],\n): Pick<T, K> {\n const result = {} as Pick<T, K>;\n\n for (const key of keys) {\n if (key in obj) {\n result[key] = obj[key];\n }\n }\n\n return result;\n}\n","export function average(arr: number[]): number {\n if (arr.length === 0) {\n return 0;\n }\n\n return arr.reduce((acc, val) => acc + val, 0) / arr.length;\n}\n","export function clamp(value: number, min: number, max: number): number {\n return Math.min(Math.max(value, min), max);\n}\n","export function formatBytes(bytes: number, decimals: number = 2): string {\n if (bytes === 0) {\n return \"0 B\";\n }\n\n const k = 1024;\n const units = [\"B\", \"KB\", \"MB\", \"GB\", \"TB\", \"PB\"];\n const i = Math.floor(Math.log(bytes) / Math.log(k));\n const value = bytes / Math.pow(k, i);\n\n return `${parseFloat(value.toFixed(decimals))} ${units[i]}`;\n}\n","export function formatCurrency(\n value: number,\n currency: string = \"RUB\",\n locale: string = \"ru-RU\",\n): string {\n return new Intl.NumberFormat(locale, {\n style: \"currency\",\n currency,\n }).format(value);\n}\n","export function formatNumber(value: number, locale: string = \"ru-RU\"): string {\n return new Intl.NumberFormat(locale).format(value);\n}\n","export function median(arr: number[]): number {\n if (arr.length === 0) {\n return 0;\n }\n\n const sorted = [...arr].sort((a, b) => a - b);\n const mid = Math.floor(sorted.length / 2);\n\n if (sorted.length % 2 === 0) {\n return (sorted[mid - 1] + sorted[mid]) / 2;\n }\n\n return sorted[mid];\n}\n","export function percentage(value: number, total: number): number {\n if (total === 0) {\n return 0;\n }\n\n return (value / total) * 100;\n}\n","export function randomInt(min: number, max: number): number {\n min = Math.ceil(min);\n max = Math.floor(max);\n\n return Math.floor(Math.random() * (max - min + 1)) + min;\n}\n","export function round(value: number, decimals: number = 0): number {\n const factor = 10 ** decimals;\n\n return Math.round(value * factor) / factor;\n}\n","export function sum(arr: number[]): number {\n return arr.reduce((acc, val) => acc + val, 0);\n}\n","export function formatDate(\n date: Date,\n options: Intl.DateTimeFormatOptions = {\n day: \"2-digit\",\n month: \"2-digit\",\n year: \"numeric\",\n },\n locale: string = \"ru-RU\",\n): string {\n return new Intl.DateTimeFormat(locale, options).format(date);\n}\n","export function daysBetween(a: Date, b: Date): number {\n const MS_PER_DAY = 86_400_000;\n const utcA = Date.UTC(a.getFullYear(), a.getMonth(), a.getDate());\n const utcB = Date.UTC(b.getFullYear(), b.getMonth(), b.getDate());\n\n return Math.abs(Math.floor((utcB - utcA) / MS_PER_DAY));\n}\n","export function isToday(date: Date): boolean {\n const now = new Date();\n\n return (\n date.getFullYear() === now.getFullYear() &&\n date.getMonth() === now.getMonth() &&\n date.getDate() === now.getDate()\n );\n}\n","export function isYesterday(date: Date): boolean {\n const yesterday = new Date();\n yesterday.setDate(yesterday.getDate() - 1);\n\n return (\n date.getFullYear() === yesterday.getFullYear() &&\n date.getMonth() === yesterday.getMonth() &&\n date.getDate() === yesterday.getDate()\n );\n}\n","export function addDays(date: Date, days: number): Date {\n const result = new Date(date);\n result.setDate(result.getDate() + days);\n\n return result;\n}\n","export function addMonths(date: Date, months: number): Date {\n const result = new Date(date);\n result.setMonth(result.getMonth() + months);\n\n return result;\n}\n","export function relativeTime(date: Date, locale: string = \"ru-RU\"): string {\n const now = Date.now();\n const diffMs = date.getTime() - now;\n const absDiffMs = Math.abs(diffMs);\n\n const rtf = new Intl.RelativeTimeFormat(locale, { numeric: \"auto\" });\n\n const SECOND = 1_000;\n const MINUTE = 60 * SECOND;\n const HOUR = 60 * MINUTE;\n const DAY = 24 * HOUR;\n const MONTH = 30 * DAY;\n const YEAR = 365 * DAY;\n\n if (absDiffMs < MINUTE) {\n return rtf.format(Math.round(diffMs / SECOND), \"second\");\n }\n\n if (absDiffMs < HOUR) {\n return rtf.format(Math.round(diffMs / MINUTE), \"minute\");\n }\n\n if (absDiffMs < DAY) {\n return rtf.format(Math.round(diffMs / HOUR), \"hour\");\n }\n\n if (absDiffMs < MONTH) {\n return rtf.format(Math.round(diffMs / DAY), \"day\");\n }\n\n if (absDiffMs < YEAR) {\n return rtf.format(Math.round(diffMs / MONTH), \"month\");\n }\n\n return rtf.format(Math.round(diffMs / YEAR), \"year\");\n}\n","export function sleep(ms: number): Promise<void> {\n return new Promise((resolve) => setTimeout(resolve, ms));\n}\n","export interface RetryOptions {\n attempts?: number;\n delay?: number;\n factor?: number;\n}\n\nexport async function retry<T>(\n fn: () => Promise<T>,\n options: RetryOptions = {},\n): Promise<T> {\n const { attempts = 3, delay = 1000, factor = 2 } = options;\n\n let lastError: unknown;\n let currentDelay = delay;\n\n for (let i = 0; i < attempts; i++) {\n try {\n return await fn();\n } catch (error) {\n lastError = error;\n\n if (i < attempts - 1) {\n await new Promise((resolve) => setTimeout(resolve, currentDelay));\n currentDelay *= factor;\n }\n }\n }\n\n throw lastError;\n}\n","export function debounce<T extends (...args: unknown[]) => void>(\n fn: T,\n ms: number,\n): (...args: Parameters<T>) => void {\n let timeoutId: ReturnType<typeof setTimeout> | undefined;\n\n return (...args: Parameters<T>) => {\n if (timeoutId !== undefined) {\n clearTimeout(timeoutId);\n }\n timeoutId = setTimeout(() => fn(...args), ms);\n };\n}\n","export function throttle<T extends (...args: unknown[]) => void>(\n fn: T,\n ms: number,\n): (...args: Parameters<T>) => void {\n let lastCall = 0;\n let timeoutId: ReturnType<typeof setTimeout> | undefined;\n\n return (...args: Parameters<T>) => {\n const now = Date.now();\n const remaining = ms - (now - lastCall);\n\n if (remaining <= 0) {\n if (timeoutId !== undefined) {\n clearTimeout(timeoutId);\n timeoutId = undefined;\n }\n lastCall = now;\n fn(...args);\n } else if (timeoutId === undefined) {\n timeoutId = setTimeout(() => {\n lastCall = Date.now();\n timeoutId = undefined;\n fn(...args);\n }, remaining);\n }\n };\n}\n","export function timeout<T>(promise: Promise<T>, ms: number): Promise<T> {\n return new Promise<T>((resolve, reject) => {\n const timer = setTimeout(\n () => reject(new Error(`Timed out after ${ms}ms`)),\n ms,\n );\n\n promise.then(\n (value) => {\n clearTimeout(timer);\n resolve(value);\n },\n (error) => {\n clearTimeout(timer);\n reject(error);\n },\n );\n });\n}\n","export async function tryCatch<T>(\n fn: () => Promise<T>,\n): Promise<[null, T] | [Error, null]> {\n try {\n const value = await fn();\n\n return [null, value];\n } catch (error: unknown) {\n if (error instanceof Error) {\n return [error, null];\n }\n\n return [new Error(String(error)), null];\n }\n}\n\nexport function tryCatchSync<T>(fn: () => T): [null, T] | [Error, null] {\n try {\n const value = fn();\n\n return [null, value];\n } catch (error: unknown) {\n if (error instanceof Error) {\n return [error, null];\n }\n\n return [new Error(String(error)), null];\n }\n}\n","export function pLimit(\n concurrency: number,\n): <T>(fn: () => Promise<T>) => Promise<T> {\n let activeCount = 0;\n const queue: Array<() => void> = [];\n\n function next(): void {\n if (queue.length > 0 && activeCount < concurrency) {\n activeCount++;\n const run = queue.shift()!;\n run();\n }\n }\n\n return <T>(fn: () => Promise<T>): Promise<T> => {\n return new Promise<T>((resolve, reject) => {\n const run = (): void => {\n fn().then(\n (value) => {\n resolve(value);\n activeCount--;\n next();\n },\n (error) => {\n reject(error);\n activeCount--;\n next();\n },\n );\n };\n\n if (activeCount < concurrency) {\n activeCount++;\n run();\n } else {\n queue.push(run);\n }\n });\n };\n}\n","export interface SettledOk<T> {\n status: \"fulfilled\";\n value: T;\n}\n\nexport interface SettledErr {\n status: \"rejected\";\n reason: unknown;\n}\n\nexport type SettledResult<T> = SettledOk<T> | SettledErr;\n\nexport function pSettle<T>(\n promises: Promise<T>[],\n): Promise<SettledResult<T>[]> {\n return Promise.all(\n promises.map((promise) =>\n promise.then(\n (value): SettledOk<T> => ({ status: \"fulfilled\", value }),\n (reason): SettledErr => ({ status: \"rejected\", reason }),\n ),\n ),\n );\n}\n","const EMAIL_RE =\n /^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/;\n\nexport function isEmail(str: string): boolean {\n return EMAIL_RE.test(str);\n}\n","export function isURL(str: string): boolean {\n try {\n new URL(str);\n\n return true;\n } catch {\n return false;\n }\n}\n","const PHONE_RE = /^\\+?[0-9\\s\\-().]{7,20}$/;\n\nexport function isPhone(str: string): boolean {\n const digits = str.replace(/\\D/g, \"\");\n\n return PHONE_RE.test(str) && digits.length >= 7 && digits.length <= 15;\n}\n","export function isINN(str: string): boolean {\n if (!/^\\d{10}$|^\\d{12}$/.test(str)) {\n return false;\n }\n\n const digits = str.split(\"\").map(Number);\n\n if (digits.length === 10) {\n const weights = [2, 4, 10, 3, 5, 9, 4, 6, 8];\n const sum = weights.reduce((acc, w, i) => acc + w * digits[i], 0);\n\n return (sum % 11) % 10 === digits[9];\n }\n\n const weights11 = [7, 2, 4, 10, 3, 5, 9, 4, 6, 8];\n const weights12 = [3, 7, 2, 4, 10, 3, 5, 9, 4, 6, 8];\n\n const sum11 = weights11.reduce((acc, w, i) => acc + w * digits[i], 0);\n const sum12 = weights12.reduce((acc, w, i) => acc + w * digits[i], 0);\n\n return (\n (sum11 % 11) % 10 === digits[10] && (sum12 % 11) % 10 === digits[11]\n );\n}\n","export interface PasswordOptions {\n minLength?: number;\n lowercase?: boolean;\n uppercase?: boolean;\n digits?: boolean;\n special?: boolean;\n}\n\nexport function isStrongPassword(\n str: string,\n options: PasswordOptions = {},\n): boolean {\n const {\n minLength = 8,\n lowercase = true,\n uppercase = true,\n digits = true,\n special = true,\n } = options;\n\n if (str.length < minLength) {\n return false;\n }\n\n if (lowercase && !/[a-z]/.test(str)) {\n return false;\n }\n\n if (uppercase && !/[A-Z]/.test(str)) {\n return false;\n }\n\n if (digits && !/\\d/.test(str)) {\n return false;\n }\n\n if (special && !/[^a-zA-Z0-9]/.test(str)) {\n return false;\n }\n\n return true;\n}\n","export function isString(value: unknown): value is string {\n return typeof value === \"string\";\n}\n","export function isNumber(value: unknown): value is number {\n return typeof value === \"number\" && Number.isFinite(value);\n}\n","export function isBoolean(value: unknown): value is boolean {\n return typeof value === \"boolean\";\n}\n","export function isNonNullable<T>(value: T): value is NonNullable<T> {\n return value !== null && value !== undefined;\n}\n","export function isArray(value: unknown): value is unknown[] {\n return Array.isArray(value);\n}\n","export function isObject(\n value: unknown,\n): value is Record<string, unknown> {\n return typeof value === \"object\" && value !== null && !Array.isArray(value);\n}\n","export function isFunction(value: unknown): value is (...args: unknown[]) => unknown {\n return typeof value === \"function\";\n}\n","export function isDefined<T>(value: T | undefined): value is T {\n return value !== undefined;\n}\n","export function hasProperty<K extends string>(\n obj: unknown,\n key: K,\n): obj is Record<K, unknown> {\n return typeof obj === \"object\" && obj !== null && key in obj;\n}\n","export function isBrowser(): boolean {\n return typeof window !== \"undefined\" && typeof document !== \"undefined\";\n}\n","declare const process: { versions: { node: string } | null } | undefined;\n\nexport function isNode(): boolean {\n return (\n typeof process !== \"undefined\" &&\n process.versions != null &&\n process.versions.node != null\n );\n}\n","import { isBrowser } from \"./isBrowser\";\nimport { isNode } from \"./isNode\";\n\nexport function isSSR(): boolean {\n return isNode() && !isBrowser();\n}\n","const ALPHABET =\n \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_-\";\n\nexport function nanoid(size: number = 21): string {\n let id = \"\";\n const bytes = new Uint8Array(size);\n\n if (\n typeof crypto !== \"undefined\" &&\n typeof crypto.getRandomValues === \"function\"\n ) {\n crypto.getRandomValues(bytes);\n } else {\n for (let i = 0; i < size; i++) {\n bytes[i] = Math.floor(Math.random() * 256);\n }\n }\n\n for (let i = 0; i < size; i++) {\n id += ALPHABET[bytes[i] & 63];\n }\n\n return id;\n}\n","export function uuid(): string {\n if (\n typeof crypto !== \"undefined\" &&\n typeof crypto.randomUUID === \"function\"\n ) {\n return crypto.randomUUID();\n }\n\n const bytes = new Uint8Array(16);\n\n if (\n typeof crypto !== \"undefined\" &&\n typeof crypto.getRandomValues === \"function\"\n ) {\n crypto.getRandomValues(bytes);\n } else {\n for (let i = 0; i < 16; i++) {\n bytes[i] = Math.floor(Math.random() * 256);\n }\n }\n\n bytes[6] = (bytes[6] & 0x0f) | 0x40;\n bytes[8] = (bytes[8] & 0x3f) | 0x80;\n\n const hex = Array.from(bytes)\n .map((b) => b.toString(16).padStart(2, \"0\"))\n .join(\"\");\n\n return [\n hex.slice(0, 8),\n hex.slice(8, 12),\n hex.slice(12, 16),\n hex.slice(16, 20),\n hex.slice(20, 32),\n ].join(\"-\");\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","file":"chunk-RNO7ZT65.cjs"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","file":"chunk-RV5MKKBP.js"}
|