typetify 2.1.0 → 2.4.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.
Files changed (225) hide show
  1. package/CHANGELOG.md +131 -0
  2. package/README.md +108 -0
  3. package/dist/async/index.js +1 -49
  4. package/dist/async/index.mjs +1 -4
  5. package/dist/chunk-272Z3AXV.js +1 -0
  6. package/dist/chunk-2YRFWQ6M.mjs +1 -0
  7. package/dist/chunk-35CB7HNN.js +1 -0
  8. package/dist/chunk-4JG7CFRK.js +1 -0
  9. package/dist/chunk-5FBZYPQM.mjs +1 -0
  10. package/dist/chunk-5XQRYI2Q.mjs +1 -0
  11. package/dist/chunk-6HA2SN23.js +1 -0
  12. package/dist/chunk-6NWIIOHH.js +1 -0
  13. package/dist/chunk-6WGRWYAD.js +1 -0
  14. package/dist/chunk-7LBL6CYT.js +1 -0
  15. package/dist/chunk-7UMXGQE4.mjs +1 -0
  16. package/dist/chunk-7XHBEA63.js +1 -0
  17. package/dist/chunk-B3R73UK5.mjs +1 -0
  18. package/dist/chunk-BLUG7TSP.js +1 -0
  19. package/dist/chunk-EAHFED6V.mjs +1 -0
  20. package/dist/chunk-EKSHS4DL.mjs +1 -0
  21. package/dist/chunk-F76ECQKE.js +1 -0
  22. package/dist/chunk-FHCBXSNA.js +1 -0
  23. package/dist/chunk-GKOA3XGQ.js +1 -0
  24. package/dist/chunk-GQIJLGEZ.mjs +1 -0
  25. package/dist/chunk-I4YSQ4HB.js +1 -0
  26. package/dist/chunk-JZXLCA2E.mjs +1 -0
  27. package/dist/chunk-M5OMYDI7.mjs +1 -0
  28. package/dist/chunk-MB77QAOC.mjs +1 -0
  29. package/dist/chunk-MPY3WRLG.mjs +1 -0
  30. package/dist/chunk-NENRAPOL.mjs +1 -0
  31. package/dist/chunk-NOW4Q26G.mjs +1 -0
  32. package/dist/chunk-P4UNM7SF.js +1 -0
  33. package/dist/chunk-P5E2JDCX.mjs +1 -0
  34. package/dist/chunk-Q7SUL7MD.js +1 -0
  35. package/dist/chunk-QKNZICUO.mjs +1 -0
  36. package/dist/chunk-RHMANSTA.mjs +1 -0
  37. package/dist/chunk-SF64HETW.js +1 -0
  38. package/dist/chunk-T66YO63J.js +1 -0
  39. package/dist/chunk-TNK6EVQK.mjs +1 -0
  40. package/dist/chunk-TSJFKV3R.js +1 -0
  41. package/dist/chunk-TVCWWECJ.mjs +1 -0
  42. package/dist/chunk-U7MK5AR5.mjs +1 -0
  43. package/dist/chunk-W5I352FJ.js +1 -0
  44. package/dist/chunk-WAT4QJB2.js +1 -0
  45. package/dist/chunk-WCG5ODRX.mjs +1 -0
  46. package/dist/chunk-WDFIRO2J.js +1 -0
  47. package/dist/chunk-WOT6VMZA.js +1 -0
  48. package/dist/chunk-WS743BFA.js +1 -0
  49. package/dist/chunk-WWU7P2L2.mjs +1 -0
  50. package/dist/chunk-XPY5CWKZ.mjs +1 -0
  51. package/dist/collection/index.d.mts +125 -1
  52. package/dist/collection/index.d.ts +125 -1
  53. package/dist/collection/index.js +1 -125
  54. package/dist/collection/index.mjs +1 -4
  55. package/dist/color/index.d.mts +274 -0
  56. package/dist/color/index.d.ts +274 -0
  57. package/dist/color/index.js +1 -0
  58. package/dist/color/index.mjs +1 -0
  59. package/dist/core/index.js +1 -41
  60. package/dist/core/index.mjs +1 -4
  61. package/dist/decorator/index.js +1 -57
  62. package/dist/decorator/index.mjs +1 -4
  63. package/dist/dom/index.d.mts +353 -0
  64. package/dist/dom/index.d.ts +353 -0
  65. package/dist/dom/index.js +1 -0
  66. package/dist/dom/index.mjs +1 -0
  67. package/dist/dx/index.js +1 -53
  68. package/dist/dx/index.mjs +1 -4
  69. package/dist/flow/index.js +1 -50
  70. package/dist/flow/index.mjs +1 -5
  71. package/dist/fn/index.js +1 -37
  72. package/dist/fn/index.mjs +1 -4
  73. package/dist/guards/index.js +1 -233
  74. package/dist/guards/index.mjs +1 -4
  75. package/dist/index.d.mts +482 -410
  76. package/dist/index.d.ts +482 -410
  77. package/dist/index.js +3 -2507
  78. package/dist/index.mjs +3 -1546
  79. package/dist/input/index.js +1 -74
  80. package/dist/input/index.mjs +1 -5
  81. package/dist/iterator/index.js +1 -85
  82. package/dist/iterator/index.mjs +1 -4
  83. package/dist/logic/index.js +1 -201
  84. package/dist/logic/index.mjs +1 -4
  85. package/dist/math/index.js +1 -45
  86. package/dist/math/index.mjs +1 -4
  87. package/dist/narrowing/index.js +1 -141
  88. package/dist/narrowing/index.mjs +1 -4
  89. package/dist/object/index.d.mts +137 -1
  90. package/dist/object/index.d.ts +137 -1
  91. package/dist/object/index.js +1 -113
  92. package/dist/object/index.mjs +1 -4
  93. package/dist/result/index.js +1 -86
  94. package/dist/result/index.mjs +1 -5
  95. package/dist/schema/index.js +1 -110
  96. package/dist/schema/index.mjs +1 -5
  97. package/dist/storage/index.d.mts +197 -0
  98. package/dist/storage/index.d.ts +197 -0
  99. package/dist/storage/index.js +1 -0
  100. package/dist/storage/index.mjs +1 -0
  101. package/dist/string/index.d.mts +201 -1
  102. package/dist/string/index.d.ts +201 -1
  103. package/dist/string/index.js +1 -49
  104. package/dist/string/index.mjs +1 -4
  105. package/dist/typed/index.js +1 -193
  106. package/dist/typed/index.mjs +1 -4
  107. package/package.json +23 -3
  108. package/dist/async/index.js.map +0 -1
  109. package/dist/async/index.mjs.map +0 -1
  110. package/dist/chunk-2LJ6NZ6K.js +0 -108
  111. package/dist/chunk-2LJ6NZ6K.js.map +0 -1
  112. package/dist/chunk-4NXETABV.mjs +0 -116
  113. package/dist/chunk-4NXETABV.mjs.map +0 -1
  114. package/dist/chunk-6ZBTL74K.js +0 -129
  115. package/dist/chunk-6ZBTL74K.js.map +0 -1
  116. package/dist/chunk-7G4ZSMQX.js +0 -470
  117. package/dist/chunk-7G4ZSMQX.js.map +0 -1
  118. package/dist/chunk-CN3GYRJN.mjs +0 -137
  119. package/dist/chunk-CN3GYRJN.mjs.map +0 -1
  120. package/dist/chunk-CNTE6ZVH.js +0 -359
  121. package/dist/chunk-CNTE6ZVH.js.map +0 -1
  122. package/dist/chunk-CWHYQWNU.mjs +0 -224
  123. package/dist/chunk-CWHYQWNU.mjs.map +0 -1
  124. package/dist/chunk-DBENOSTA.js +0 -156
  125. package/dist/chunk-DBENOSTA.js.map +0 -1
  126. package/dist/chunk-DWIG5GF2.js +0 -135
  127. package/dist/chunk-DWIG5GF2.js.map +0 -1
  128. package/dist/chunk-EAUTTWTQ.mjs +0 -231
  129. package/dist/chunk-EAUTTWTQ.mjs.map +0 -1
  130. package/dist/chunk-FEX5C4OH.mjs +0 -1007
  131. package/dist/chunk-FEX5C4OH.mjs.map +0 -1
  132. package/dist/chunk-FN553YPU.js +0 -441
  133. package/dist/chunk-FN553YPU.js.map +0 -1
  134. package/dist/chunk-FT2EK4AM.mjs +0 -420
  135. package/dist/chunk-FT2EK4AM.mjs.map +0 -1
  136. package/dist/chunk-FXWYPHA3.mjs +0 -13
  137. package/dist/chunk-FXWYPHA3.mjs.map +0 -1
  138. package/dist/chunk-GS3PP67B.js +0 -200
  139. package/dist/chunk-GS3PP67B.js.map +0 -1
  140. package/dist/chunk-IGA3VEZM.mjs +0 -503
  141. package/dist/chunk-IGA3VEZM.mjs.map +0 -1
  142. package/dist/chunk-J5LGTIGS.mjs +0 -9
  143. package/dist/chunk-J5LGTIGS.mjs.map +0 -1
  144. package/dist/chunk-JB6UXRKD.mjs +0 -97
  145. package/dist/chunk-JB6UXRKD.mjs.map +0 -1
  146. package/dist/chunk-JQAQV75V.js +0 -561
  147. package/dist/chunk-JQAQV75V.js.map +0 -1
  148. package/dist/chunk-JQHUBZ4M.js +0 -88
  149. package/dist/chunk-JQHUBZ4M.js.map +0 -1
  150. package/dist/chunk-LT7JK7RJ.js +0 -87
  151. package/dist/chunk-LT7JK7RJ.js.map +0 -1
  152. package/dist/chunk-N6IUADIP.mjs +0 -414
  153. package/dist/chunk-N6IUADIP.mjs.map +0 -1
  154. package/dist/chunk-OEJK37LO.mjs +0 -328
  155. package/dist/chunk-OEJK37LO.mjs.map +0 -1
  156. package/dist/chunk-OKB3MS5F.js +0 -547
  157. package/dist/chunk-OKB3MS5F.js.map +0 -1
  158. package/dist/chunk-OPVES6W2.js +0 -16
  159. package/dist/chunk-OPVES6W2.js.map +0 -1
  160. package/dist/chunk-OWNUKWXV.js +0 -291
  161. package/dist/chunk-OWNUKWXV.js.map +0 -1
  162. package/dist/chunk-POD52NJ3.mjs +0 -526
  163. package/dist/chunk-POD52NJ3.mjs.map +0 -1
  164. package/dist/chunk-PQTXSQ4P.js +0 -369
  165. package/dist/chunk-PQTXSQ4P.js.map +0 -1
  166. package/dist/chunk-PZ5AY32C.js +0 -11
  167. package/dist/chunk-PZ5AY32C.js.map +0 -1
  168. package/dist/chunk-QFR7DVAJ.mjs +0 -63
  169. package/dist/chunk-QFR7DVAJ.mjs.map +0 -1
  170. package/dist/chunk-S535LAXW.js +0 -1054
  171. package/dist/chunk-S535LAXW.js.map +0 -1
  172. package/dist/chunk-SGQNLTRK.js +0 -73
  173. package/dist/chunk-SGQNLTRK.js.map +0 -1
  174. package/dist/chunk-SRDWUHDY.mjs +0 -188
  175. package/dist/chunk-SRDWUHDY.mjs.map +0 -1
  176. package/dist/chunk-TXU7NTT4.js +0 -249
  177. package/dist/chunk-TXU7NTT4.js.map +0 -1
  178. package/dist/chunk-TZEWREAC.mjs +0 -277
  179. package/dist/chunk-TZEWREAC.mjs.map +0 -1
  180. package/dist/chunk-V6CWFDIJ.mjs +0 -123
  181. package/dist/chunk-V6CWFDIJ.mjs.map +0 -1
  182. package/dist/chunk-X55EORNF.js +0 -259
  183. package/dist/chunk-X55EORNF.js.map +0 -1
  184. package/dist/chunk-YBJC5WMX.mjs +0 -341
  185. package/dist/chunk-YBJC5WMX.mjs.map +0 -1
  186. package/dist/chunk-YOPAXITF.mjs +0 -75
  187. package/dist/chunk-YOPAXITF.mjs.map +0 -1
  188. package/dist/chunk-ZE4FDBRI.mjs +0 -79
  189. package/dist/chunk-ZE4FDBRI.mjs.map +0 -1
  190. package/dist/collection/index.js.map +0 -1
  191. package/dist/collection/index.mjs.map +0 -1
  192. package/dist/core/index.js.map +0 -1
  193. package/dist/core/index.mjs.map +0 -1
  194. package/dist/decorator/index.js.map +0 -1
  195. package/dist/decorator/index.mjs.map +0 -1
  196. package/dist/dx/index.js.map +0 -1
  197. package/dist/dx/index.mjs.map +0 -1
  198. package/dist/flow/index.js.map +0 -1
  199. package/dist/flow/index.mjs.map +0 -1
  200. package/dist/fn/index.js.map +0 -1
  201. package/dist/fn/index.mjs.map +0 -1
  202. package/dist/guards/index.js.map +0 -1
  203. package/dist/guards/index.mjs.map +0 -1
  204. package/dist/index.js.map +0 -1
  205. package/dist/index.mjs.map +0 -1
  206. package/dist/input/index.js.map +0 -1
  207. package/dist/input/index.mjs.map +0 -1
  208. package/dist/iterator/index.js.map +0 -1
  209. package/dist/iterator/index.mjs.map +0 -1
  210. package/dist/logic/index.js.map +0 -1
  211. package/dist/logic/index.mjs.map +0 -1
  212. package/dist/math/index.js.map +0 -1
  213. package/dist/math/index.mjs.map +0 -1
  214. package/dist/narrowing/index.js.map +0 -1
  215. package/dist/narrowing/index.mjs.map +0 -1
  216. package/dist/object/index.js.map +0 -1
  217. package/dist/object/index.mjs.map +0 -1
  218. package/dist/result/index.js.map +0 -1
  219. package/dist/result/index.mjs.map +0 -1
  220. package/dist/schema/index.js.map +0 -1
  221. package/dist/schema/index.mjs.map +0 -1
  222. package/dist/string/index.js.map +0 -1
  223. package/dist/string/index.mjs.map +0 -1
  224. package/dist/typed/index.js.map +0 -1
  225. package/dist/typed/index.mjs.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/input/index.ts","../src/input/safeJsonParse.ts","../src/input/safeJsonStringify.ts","../src/input/parseNumber.ts","../src/input/parseInteger.ts","../src/input/parseBoolean.ts","../src/input/parseDate.ts","../src/input/coerceString.ts","../src/input/coerceArray.ts","../src/input/trimAll.ts","../src/input/defaults.ts","../src/input/clamp.ts","../src/input/isEmail.ts","../src/input/isUrl.ts","../src/input/isUuid.ts","../src/input/isIpAddress.ts","../src/input/parseUrl.ts"],"names":[],"mappings":"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","file":"chunk-EAUTTWTQ.mjs","sourcesContent":["export { safeJsonParse } from './safeJsonParse'\nexport type { JsonParseResult } from './safeJsonParse'\nexport { safeJsonStringify } from './safeJsonStringify'\nexport type { JsonStringifyResult } from './safeJsonStringify'\nexport { parseNumber } from './parseNumber'\nexport { parseInteger } from './parseInteger'\nexport { parseBoolean } from './parseBoolean'\nexport { parseDate } from './parseDate'\nexport { coerceString } from './coerceString'\nexport { coerceArray } from './coerceArray'\nexport { trimAll } from './trimAll'\nexport { defaults } from './defaults'\nexport { clamp } from './clamp'\nexport { isEmail } from './isEmail'\nexport { isUrl } from './isUrl'\nexport { isUuid } from './isUuid'\nexport { isIpAddress } from './isIpAddress'\nexport { parseUrl } from './parseUrl'\n","import type { Result } from '../result/types'\nimport { ok } from '../result/ok'\nimport { err } from '../result/err'\n\n/**\n * @deprecated Use Result<T> instead\n */\nexport type JsonParseResult<T> = Result<T, Error>\n\n/**\n * Safely parses a JSON string. Returns a Result instead of throwing.\n *\n * @example\n * const result = safeJsonParse<User>('{\"name\": \"John\"}')\n * if (result.ok) {\n * console.log(result.value.name)\n * } else {\n * console.error(result.error)\n * }\n */\nexport function safeJsonParse<T = unknown>(json: string): Result<T, Error> {\n try {\n const data = JSON.parse(json) as T\n return ok(data)\n } catch (error) {\n return err(error instanceof Error ? error : new Error(String(error)))\n }\n}\n","import type { Result } from '../result/types'\nimport { ok } from '../result/ok'\nimport { err } from '../result/err'\n\n/**\n * @deprecated Use Result<string> instead\n */\nexport type JsonStringifyResult = Result<string, Error>\n\n/**\n * Safely stringifies a value to JSON. Returns a Result instead of throwing.\n * Handles circular references gracefully.\n *\n * @example\n * const result = safeJsonStringify({ name: 'John' })\n * if (result.ok) {\n * console.log(result.value)\n * }\n */\nexport function safeJsonStringify(\n value: unknown,\n replacer?: (key: string, value: unknown) => unknown,\n space?: string | number\n): Result<string, Error> {\n try {\n const data = JSON.stringify(value, replacer, space)\n return ok(data)\n } catch (error) {\n return err(error instanceof Error ? error : new Error(String(error)))\n }\n}\n","/**\n * Parses a value to a number. Returns undefined if parsing fails.\n * Handles strings, numbers, and null/undefined.\n *\n * @example\n * parseNumber('42') // 42\n * parseNumber('3.14') // 3.14\n * parseNumber('abc') // undefined\n * parseNumber(null) // undefined\n */\nexport function parseNumber(value: unknown): number | undefined {\n if (value === null || value === undefined) {\n return undefined\n }\n\n if (typeof value === 'number') {\n return Number.isNaN(value) ? undefined : value\n }\n\n if (typeof value === 'string') {\n const trimmed = value.trim()\n if (trimmed === '') {\n return undefined\n }\n\n const parsed = Number(trimmed)\n return Number.isNaN(parsed) ? undefined : parsed\n }\n\n return undefined\n}\n","/**\n * Parses a value to an integer. Returns undefined if parsing fails.\n *\n * @example\n * parseInteger('42') // 42\n * parseInteger('3.14') // 3\n * parseInteger('abc') // undefined\n */\nexport function parseInteger(value: unknown): number | undefined {\n if (value === null || value === undefined) {\n return undefined\n }\n\n if (typeof value === 'number') {\n return Number.isNaN(value) ? undefined : Math.trunc(value)\n }\n\n if (typeof value === 'string') {\n const trimmed = value.trim()\n if (trimmed === '') {\n return undefined\n }\n\n const parsed = parseInt(trimmed, 10)\n return Number.isNaN(parsed) ? undefined : parsed\n }\n\n return undefined\n}\n","/**\n * Parses a value to a boolean. Returns undefined if parsing fails.\n * Recognizes: true/false, 'true'/'false', '1'/'0', 1/0, 'yes'/'no', 'on'/'off'\n *\n * @example\n * parseBoolean('true') // true\n * parseBoolean('false') // false\n * parseBoolean(1) // true\n * parseBoolean('yes') // true\n * parseBoolean('maybe') // undefined\n */\nexport function parseBoolean(value: unknown): boolean | undefined {\n if (value === null || value === undefined) {\n return undefined\n }\n\n if (typeof value === 'boolean') {\n return value\n }\n\n if (typeof value === 'number') {\n if (value === 1) return true\n if (value === 0) return false\n return undefined\n }\n\n if (typeof value === 'string') {\n const lower = value.toLowerCase().trim()\n\n if (['true', '1', 'yes', 'on'].includes(lower)) {\n return true\n }\n\n if (['false', '0', 'no', 'off'].includes(lower)) {\n return false\n }\n }\n\n return undefined\n}\n","/**\n * Parses a value to a Date. Returns undefined if parsing fails or date is invalid.\n *\n * @example\n * parseDate('2024-01-15') // Date object\n * parseDate(1705276800000) // Date object\n * parseDate('invalid') // undefined\n */\nexport function parseDate(value: unknown): Date | undefined {\n if (value === null || value === undefined) {\n return undefined\n }\n\n if (value instanceof Date) {\n return Number.isNaN(value.getTime()) ? undefined : value\n }\n\n if (typeof value === 'number') {\n const date = new Date(value)\n return Number.isNaN(date.getTime()) ? undefined : date\n }\n\n if (typeof value === 'string') {\n const trimmed = value.trim()\n if (trimmed === '') {\n return undefined\n }\n\n const date = new Date(trimmed)\n return Number.isNaN(date.getTime()) ? undefined : date\n }\n\n return undefined\n}\n","/**\n * Coerces a value to a string. Returns empty string for null/undefined.\n *\n * @example\n * coerceString('hello') // 'hello'\n * coerceString(42) // '42'\n * coerceString(null) // ''\n * coerceString(undefined) // ''\n */\nexport function coerceString(value: unknown): string {\n if (value === null || value === undefined) {\n return ''\n }\n\n if (typeof value === 'string') {\n return value\n }\n\n return String(value)\n}\n","/**\n * Coerces a value to an array.\n * - Arrays are returned as-is\n * - null/undefined returns empty array\n * - Other values are wrapped in an array\n *\n * @example\n * coerceArray([1, 2, 3]) // [1, 2, 3]\n * coerceArray('hello') // ['hello']\n * coerceArray(null) // []\n */\nexport function coerceArray<T>(value: T | readonly T[] | null | undefined): T[] {\n if (value === null || value === undefined) {\n return []\n }\n\n if (Array.isArray(value)) {\n return [...value]\n }\n\n return [value as T]\n}\n","/**\n * Trims all string values in an object (shallow).\n *\n * @example\n * trimAll({ name: ' John ', age: 30 })\n * // { name: 'John', age: 30 }\n */\nexport function trimAll<T extends Record<string, unknown>>(obj: T): T {\n const result = { ...obj }\n\n for (const key of Object.keys(result)) {\n const value = result[key]\n if (typeof value === 'string') {\n ;(result as Record<string, unknown>)[key] = value.trim()\n }\n }\n\n return result\n}\n","/**\n * Returns the value if defined, otherwise returns the default value.\n * Unlike the ?? operator, this also handles empty strings.\n *\n * @example\n * defaults(null, 'default') // 'default'\n * defaults(undefined, 'default') // 'default'\n * defaults('', 'default') // 'default'\n * defaults('value', 'default') // 'value'\n * defaults(0, 10) // 0 (0 is a valid value)\n */\nexport function defaults<T>(\n value: T | null | undefined,\n defaultValue: T,\n options: { treatEmptyStringAsNull?: boolean } = {}\n): T {\n const { treatEmptyStringAsNull = true } = options\n\n if (value === null || value === undefined) {\n return defaultValue\n }\n\n if (treatEmptyStringAsNull && value === '') {\n return defaultValue\n }\n\n return value\n}\n","/**\n * Clamps a number between a minimum and maximum value.\n *\n * @example\n * clamp(5, 0, 10) // 5\n * clamp(-5, 0, 10) // 0\n * clamp(15, 0, 10) // 10\n */\nexport function clamp(value: number, min: number, max: number): number {\n if (min > max) {\n throw new Error('min must be less than or equal to max')\n }\n\n return Math.min(Math.max(value, min), max)\n}\n","/**\n * Checks if a string is a valid email address.\n *\n * @example\n * isEmail('user@example.com') // true\n * isEmail('invalid-email') // false\n */\nexport function isEmail(str: string): boolean {\n const emailRegex = /^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$/\n return emailRegex.test(str)\n}\n","/**\n * Checks if a string is a valid URL.\n *\n * @example\n * isUrl('https://example.com') // true\n * isUrl('not-a-url') // false\n */\nexport function isUrl(str: string): boolean {\n try {\n new URL(str)\n return true\n } catch {\n return false\n }\n}\n","/**\n * Checks if a string is a valid UUID (v1-v5).\n *\n * @example\n * isUuid('550e8400-e29b-41d4-a716-446655440000') // true\n * isUuid('not-a-uuid') // false\n */\nexport function isUuid(str: string): boolean {\n const uuidRegex = /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i\n return uuidRegex.test(str)\n}\n","/**\n * Checks if a string is a valid IPv4 or IPv6 address.\n *\n * @example\n * isIpAddress('192.168.1.1') // true\n * isIpAddress('::1') // true\n * isIpAddress('not-an-ip') // false\n */\nexport function isIpAddress(str: string): boolean {\n return isIpv4(str) || isIpv6(str)\n}\n\nfunction isIpv4(str: string): boolean {\n const ipv4Regex = /^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/\n return ipv4Regex.test(str)\n}\n\nfunction isIpv6(str: string): boolean {\n const ipv6Regex = /^(?:[0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}$|^::(?:[0-9a-fA-F]{1,4}:){0,6}[0-9a-fA-F]{1,4}$|^(?:[0-9a-fA-F]{1,4}:){1,7}:$|^(?:[0-9a-fA-F]{1,4}:){0,6}::(?:[0-9a-fA-F]{1,4}:){0,5}[0-9a-fA-F]{1,4}$/\n return ipv6Regex.test(str)\n}\n","/**\n * Parses a URL string and returns a URL object, or undefined if invalid.\n *\n * @example\n * parseUrl('https://example.com/path') // URL object\n * parseUrl('not-a-url') // undefined\n */\nexport function parseUrl(str: string): URL | undefined {\n try {\n return new URL(str)\n } catch {\n return undefined\n }\n}\n"]}