@xyo-network/shared 2.110.18 → 2.111.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 (43) hide show
  1. package/dist/browser/IdLogger.d.cts.map +1 -1
  2. package/dist/browser/IdLogger.d.mts.map +1 -1
  3. package/dist/browser/IdLogger.d.ts.map +1 -1
  4. package/dist/browser/index.cjs.map +1 -1
  5. package/dist/browser/{index.js → index.mjs} +1 -1
  6. package/dist/browser/index.mjs.map +1 -0
  7. package/dist/browser/is-ip/ip-regex.d.cts.map +1 -1
  8. package/dist/browser/is-ip/ip-regex.d.mts.map +1 -1
  9. package/dist/browser/is-ip/ip-regex.d.ts.map +1 -1
  10. package/dist/browser/is-ip/is-ip.d.cts.map +1 -1
  11. package/dist/browser/is-ip/is-ip.d.mts.map +1 -1
  12. package/dist/browser/is-ip/is-ip.d.ts.map +1 -1
  13. package/dist/neutral/IdLogger.d.cts.map +1 -1
  14. package/dist/neutral/IdLogger.d.mts.map +1 -1
  15. package/dist/neutral/IdLogger.d.ts.map +1 -1
  16. package/dist/neutral/index.cjs.map +1 -1
  17. package/dist/neutral/{index.js → index.mjs} +1 -1
  18. package/dist/neutral/index.mjs.map +1 -0
  19. package/dist/neutral/is-ip/ip-regex.d.cts.map +1 -1
  20. package/dist/neutral/is-ip/ip-regex.d.mts.map +1 -1
  21. package/dist/neutral/is-ip/ip-regex.d.ts.map +1 -1
  22. package/dist/neutral/is-ip/is-ip.d.cts.map +1 -1
  23. package/dist/neutral/is-ip/is-ip.d.mts.map +1 -1
  24. package/dist/neutral/is-ip/is-ip.d.ts.map +1 -1
  25. package/dist/node/IdLogger.d.cts.map +1 -1
  26. package/dist/node/IdLogger.d.mts.map +1 -1
  27. package/dist/node/IdLogger.d.ts.map +1 -1
  28. package/dist/node/index.cjs.map +1 -1
  29. package/dist/node/{index.js → index.mjs} +1 -1
  30. package/dist/node/index.mjs.map +1 -0
  31. package/dist/node/is-ip/ip-regex.d.cts.map +1 -1
  32. package/dist/node/is-ip/ip-regex.d.mts.map +1 -1
  33. package/dist/node/is-ip/ip-regex.d.ts.map +1 -1
  34. package/dist/node/is-ip/is-ip.d.cts.map +1 -1
  35. package/dist/node/is-ip/is-ip.d.mts.map +1 -1
  36. package/dist/node/is-ip/is-ip.d.ts.map +1 -1
  37. package/package.json +7 -7
  38. package/src/IdLogger.ts +8 -2
  39. package/src/is-ip/ip-regex.ts +3 -3
  40. package/src/is-ip/is-ip.ts +5 -4
  41. package/dist/browser/index.js.map +0 -1
  42. package/dist/neutral/index.js.map +0 -1
  43. package/dist/node/index.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"IdLogger.d.ts","sourceRoot":"","sources":["../../src/IdLogger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmB,MAAM,EAAE,MAAM,gBAAgB,CAAA;AAGxD,qBAAa,QAAS,YAAW,MAAM;IACrC,OAAO,CAAC,GAAG,CAAC,CAAc;IAC1B,OAAO,CAAC,OAAO,CAAQ;gBAEX,MAAM,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,MAAM;IAK7C,IAAI,EAAE,CAAC,EAAE,EAAE,MAAM,EAEhB;IAED,KAAK,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI;IAG9B,KAAK,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI;IAG9B,IAAI,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI;IAG7B,GAAG,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI;IAG5B,IAAI,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI;IAI7B,OAAO,CAAC,QAAQ;CAQjB"}
1
+ {"version":3,"file":"IdLogger.d.ts","sourceRoot":"","sources":["../../src/IdLogger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmB,MAAM,EAAE,MAAM,gBAAgB,CAAA;AAGxD,qBAAa,QAAS,YAAW,MAAM;IACrC,OAAO,CAAC,GAAG,CAAC,CAAc;IAC1B,OAAO,CAAC,OAAO,CAAQ;gBAEX,MAAM,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,MAAM;IAK7C,IAAI,EAAE,CAAC,EAAE,EAAE,MAAM,EAEhB;IAED,KAAK,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI;IAI9B,KAAK,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI;IAI9B,IAAI,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI;IAI7B,GAAG,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI;IAI5B,IAAI,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI;IAI7B,OAAO,CAAC,QAAQ;CAUjB"}
@@ -1 +1 @@
1
- {"version":3,"file":"IdLogger.d.ts","sourceRoot":"","sources":["../../src/IdLogger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmB,MAAM,EAAE,MAAM,gBAAgB,CAAA;AAGxD,qBAAa,QAAS,YAAW,MAAM;IACrC,OAAO,CAAC,GAAG,CAAC,CAAc;IAC1B,OAAO,CAAC,OAAO,CAAQ;gBAEX,MAAM,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,MAAM;IAK7C,IAAI,EAAE,CAAC,EAAE,EAAE,MAAM,EAEhB;IAED,KAAK,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI;IAG9B,KAAK,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI;IAG9B,IAAI,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI;IAG7B,GAAG,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI;IAG5B,IAAI,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI;IAI7B,OAAO,CAAC,QAAQ;CAQjB"}
1
+ {"version":3,"file":"IdLogger.d.ts","sourceRoot":"","sources":["../../src/IdLogger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmB,MAAM,EAAE,MAAM,gBAAgB,CAAA;AAGxD,qBAAa,QAAS,YAAW,MAAM;IACrC,OAAO,CAAC,GAAG,CAAC,CAAc;IAC1B,OAAO,CAAC,OAAO,CAAQ;gBAEX,MAAM,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,MAAM;IAK7C,IAAI,EAAE,CAAC,EAAE,EAAE,MAAM,EAEhB;IAED,KAAK,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI;IAI9B,KAAK,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI;IAI9B,IAAI,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI;IAI7B,GAAG,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI;IAI5B,IAAI,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI;IAI7B,OAAO,CAAC,QAAQ;CAUjB"}
@@ -1 +1 @@
1
- {"version":3,"file":"IdLogger.d.ts","sourceRoot":"","sources":["../../src/IdLogger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmB,MAAM,EAAE,MAAM,gBAAgB,CAAA;AAGxD,qBAAa,QAAS,YAAW,MAAM;IACrC,OAAO,CAAC,GAAG,CAAC,CAAc;IAC1B,OAAO,CAAC,OAAO,CAAQ;gBAEX,MAAM,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,MAAM;IAK7C,IAAI,EAAE,CAAC,EAAE,EAAE,MAAM,EAEhB;IAED,KAAK,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI;IAG9B,KAAK,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI;IAG9B,IAAI,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI;IAG7B,GAAG,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI;IAG5B,IAAI,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI;IAI7B,OAAO,CAAC,QAAQ;CAQjB"}
1
+ {"version":3,"file":"IdLogger.d.ts","sourceRoot":"","sources":["../../src/IdLogger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmB,MAAM,EAAE,MAAM,gBAAgB,CAAA;AAGxD,qBAAa,QAAS,YAAW,MAAM;IACrC,OAAO,CAAC,GAAG,CAAC,CAAc;IAC1B,OAAO,CAAC,OAAO,CAAQ;gBAEX,MAAM,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,MAAM;IAK7C,IAAI,EAAE,CAAC,EAAE,EAAE,MAAM,EAEhB;IAED,KAAK,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI;IAI9B,KAAK,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI;IAI9B,IAAI,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI;IAI7B,GAAG,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI;IAI5B,IAAI,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI;IAI7B,OAAO,CAAC,QAAQ;CAUjB"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/index.ts","../../src/dump.ts","../../src/IdLogger.ts","../../src/is-ip/ip-regex.ts","../../src/is-ip/is-ip.ts"],"sourcesContent":["export * from './dump.ts'\nexport * from './IdLogger.ts'\nexport * from './is-ip/index.ts'\nexport * from './Job/index.ts'\n","export const dump = (object: unknown): string => {\n const cache: unknown[] = []\n return JSON.stringify(\n object,\n (key, value) => {\n if (typeof value === 'object' && value !== null) {\n // Duplicate reference found, discard key\n if (cache.includes(value)) {\n return '[circular]'\n }\n\n // Store value in our collection\n cache.push(value)\n }\n return value\n },\n 2,\n )\n}\n","import { getFunctionName, Logger } from '@xylabs/logger'\n\n/** @deprecated use from @xylabs/logger instead */\nexport class IdLogger implements Logger {\n private _id?: () => string\n private _logger: Logger\n\n constructor(logger: Logger, id?: () => string) {\n this._logger = logger\n this._id = id\n }\n\n set id(id: string) {\n this._id = () => id\n }\n\n debug(message?: unknown): void {\n this._logger?.debug(this.generate(message, getFunctionName(3)))\n }\n error(message?: unknown): void {\n this._logger?.error(this.generate(message, getFunctionName(3)))\n }\n info(message?: unknown): void {\n this._logger?.info(this.generate(message, getFunctionName(3)))\n }\n log(message?: unknown): void {\n this._logger?.log(this.generate(message, getFunctionName(3)))\n }\n warn(message?: unknown): void {\n this._logger?.warn(this.generate(message, getFunctionName(3)))\n }\n\n private generate(message?: unknown, tag?: string) {\n const idString = this._id ? `[${this._id}] ` : ''\n return `${tag} ${idString}${\n typeof message === 'string' ? message\n : typeof message === 'object' ? JSON.stringify(message, undefined, 2)\n : `${message}`\n }`\n }\n}\n","const word = String.raw`[a-fA-F\\d:]`\n\nexport interface Options {\n readonly exact?: boolean\n readonly includeBoundaries?: boolean\n}\n\nconst boundary = (options: Options) => (options && options.includeBoundaries ? `(?:(?<=\\\\s|^)(?=${word})|(?<=${word})(?=\\\\s|$))` : '')\n\nconst v4 = String.raw`(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)){3}`\n\nconst v6segment = String.raw`[a-fA-F\\d]{1,4}`\n\nconst v6 = `\n(?:\n(?:${v6segment}:){7}(?:${v6segment}|:)| // 1:2:3:4:5:6:7:: 1:2:3:4:5:6:7:8\n(?:${v6segment}:){6}(?:${v4}|:${v6segment}|:)| // 1:2:3:4:5:6:: 1:2:3:4:5:6::8 1:2:3:4:5:6::8 1:2:3:4:5:6::1.2.3.4\n(?:${v6segment}:){5}(?::${v4}|(?::${v6segment}){1,2}|:)| // 1:2:3:4:5:: 1:2:3:4:5::7:8 1:2:3:4:5::8 1:2:3:4:5::7:1.2.3.4\n(?:${v6segment}:){4}(?:(?::${v6segment}){0,1}:${v4}|(?::${v6segment}){1,3}|:)| // 1:2:3:4:: 1:2:3:4::6:7:8 1:2:3:4::8 1:2:3:4::6:7:1.2.3.4\n(?:${v6segment}:){3}(?:(?::${v6segment}){0,2}:${v4}|(?::${v6segment}){1,4}|:)| // 1:2:3:: 1:2:3::5:6:7:8 1:2:3::8 1:2:3::5:6:7:1.2.3.4\n(?:${v6segment}:){2}(?:(?::${v6segment}){0,3}:${v4}|(?::${v6segment}){1,5}|:)| // 1:2:: 1:2::4:5:6:7:8 1:2::8 1:2::4:5:6:7:1.2.3.4\n(?:${v6segment}:){1}(?:(?::${v6segment}){0,4}:${v4}|(?::${v6segment}){1,6}|:)| // 1:: 1::3:4:5:6:7:8 1::8 1::3:4:5:6:7:1.2.3.4\n(?::(?:(?::${v6segment}){0,5}:${v4}|(?::${v6segment}){1,7}|:)) // ::2:3:4:5:6:7:8 ::2:3:4:5:6:7:8 ::8 ::1.2.3.4\n)(?:%[0-9a-zA-Z]{1,})? // %eth0 %1\n`\n .replaceAll(/\\s*\\/\\/.*$/gm, '')\n .replaceAll('\\n', '')\n .trim()\n\n// Pre-compile only the exact regexes because adding a global flag make regexes stateful\nconst v46Exact = new RegExp(`(?:^${v4}$)|(?:^${v6}$)`)\nconst v4exact = new RegExp(`^${v4}$`)\nconst v6exact = new RegExp(`^${v6}$`)\n\nexport const ipRegex = (options: Options) =>\n options && options.exact ?\n v46Exact\n : new RegExp(`(?:${boundary(options)}${v4}${boundary(options)})|(?:${boundary(options)}${v6}${boundary(options)})`, 'g')\n\nipRegex.v4 = (options: Options) => (options && options.exact ? v4exact : new RegExp(`${boundary(options)}${v4}${boundary(options)}`, 'g'))\nipRegex.v6 = (options: Options) => (options && options.exact ? v6exact : new RegExp(`${boundary(options)}${v6}${boundary(options)}`, 'g'))\n","import { ipRegex } from './ip-regex.ts'\n\nexport function isIP(value: string): boolean {\n return ipRegex({ exact: true }).test(value)\n}\n\nexport function isIPv6(value: string): boolean {\n return ipRegex.v6({ exact: true }).test(value)\n}\n\nexport function isIPv4(value: string): boolean {\n return ipRegex.v4({ exact: true }).test(value)\n}\n\nexport function ipVersion(value: string): 6 | 4 | undefined {\n return (\n isIP(value) ?\n isIPv6(value) ? 6\n : 4\n : undefined\n )\n}\n"],"mappings":"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","names":[]}
1
+ {"version":3,"sources":["../../src/index.ts","../../src/dump.ts","../../src/IdLogger.ts","../../src/is-ip/ip-regex.ts","../../src/is-ip/is-ip.ts"],"sourcesContent":["export * from './dump.ts'\nexport * from './IdLogger.ts'\nexport * from './is-ip/index.ts'\nexport * from './Job/index.ts'\n","export const dump = (object: unknown): string => {\n const cache: unknown[] = []\n return JSON.stringify(\n object,\n (key, value) => {\n if (typeof value === 'object' && value !== null) {\n // Duplicate reference found, discard key\n if (cache.includes(value)) {\n return '[circular]'\n }\n\n // Store value in our collection\n cache.push(value)\n }\n return value\n },\n 2,\n )\n}\n","import { getFunctionName, Logger } from '@xylabs/logger'\n\n/** @deprecated use from @xylabs/logger instead */\nexport class IdLogger implements Logger {\n private _id?: () => string\n private _logger: Logger\n\n constructor(logger: Logger, id?: () => string) {\n this._logger = logger\n this._id = id\n }\n\n set id(id: string) {\n this._id = () => id\n }\n\n debug(message?: unknown): void {\n this._logger?.debug(this.generate(message, getFunctionName(3)))\n }\n\n error(message?: unknown): void {\n this._logger?.error(this.generate(message, getFunctionName(3)))\n }\n\n info(message?: unknown): void {\n this._logger?.info(this.generate(message, getFunctionName(3)))\n }\n\n log(message?: unknown): void {\n this._logger?.log(this.generate(message, getFunctionName(3)))\n }\n\n warn(message?: unknown): void {\n this._logger?.warn(this.generate(message, getFunctionName(3)))\n }\n\n private generate(message?: unknown, tag?: string) {\n const idString = this._id ? `[${this._id}] ` : ''\n return `${tag} ${idString}${\n typeof message === 'string'\n? message\n : typeof message === 'object'\n? JSON.stringify(message, undefined, 2)\n : `${message}`\n }`\n }\n}\n","const word = String.raw`[a-fA-F\\d:]`\n\nexport interface Options {\n readonly exact?: boolean\n readonly includeBoundaries?: boolean\n}\n\nconst boundary = (options: Options) => (options && options.includeBoundaries ? `(?:(?<=\\\\s|^)(?=${word})|(?<=${word})(?=\\\\s|$))` : '')\n\nconst v4 = String.raw`(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)){3}`\n\nconst v6segment = String.raw`[a-fA-F\\d]{1,4}`\n\nconst v6 = `\n(?:\n(?:${v6segment}:){7}(?:${v6segment}|:)| // 1:2:3:4:5:6:7:: 1:2:3:4:5:6:7:8\n(?:${v6segment}:){6}(?:${v4}|:${v6segment}|:)| // 1:2:3:4:5:6:: 1:2:3:4:5:6::8 1:2:3:4:5:6::8 1:2:3:4:5:6::1.2.3.4\n(?:${v6segment}:){5}(?::${v4}|(?::${v6segment}){1,2}|:)| // 1:2:3:4:5:: 1:2:3:4:5::7:8 1:2:3:4:5::8 1:2:3:4:5::7:1.2.3.4\n(?:${v6segment}:){4}(?:(?::${v6segment}){0,1}:${v4}|(?::${v6segment}){1,3}|:)| // 1:2:3:4:: 1:2:3:4::6:7:8 1:2:3:4::8 1:2:3:4::6:7:1.2.3.4\n(?:${v6segment}:){3}(?:(?::${v6segment}){0,2}:${v4}|(?::${v6segment}){1,4}|:)| // 1:2:3:: 1:2:3::5:6:7:8 1:2:3::8 1:2:3::5:6:7:1.2.3.4\n(?:${v6segment}:){2}(?:(?::${v6segment}){0,3}:${v4}|(?::${v6segment}){1,5}|:)| // 1:2:: 1:2::4:5:6:7:8 1:2::8 1:2::4:5:6:7:1.2.3.4\n(?:${v6segment}:){1}(?:(?::${v6segment}){0,4}:${v4}|(?::${v6segment}){1,6}|:)| // 1:: 1::3:4:5:6:7:8 1::8 1::3:4:5:6:7:1.2.3.4\n(?::(?:(?::${v6segment}){0,5}:${v4}|(?::${v6segment}){1,7}|:)) // ::2:3:4:5:6:7:8 ::2:3:4:5:6:7:8 ::8 ::1.2.3.4\n)(?:%[0-9a-zA-Z]{1,})? // %eth0 %1\n`\n .replaceAll(/\\s*\\/\\/.*$/gm, '')\n .replaceAll('\\n', '')\n .trim()\n\n// Pre-compile only the exact regexes because adding a global flag make regexes stateful\nconst v46Exact = new RegExp(`(?:^${v4}$)|(?:^${v6}$)`)\nconst v4exact = new RegExp(`^${v4}$`)\nconst v6exact = new RegExp(`^${v6}$`)\n\nexport const ipRegex = (options: Options) =>\n options && options.exact\n ? v46Exact\n : new RegExp(`(?:${boundary(options)}${v4}${boundary(options)})|(?:${boundary(options)}${v6}${boundary(options)})`, 'g')\n\nipRegex.v4 = (options: Options) => (options && options.exact ? v4exact : new RegExp(`${boundary(options)}${v4}${boundary(options)}`, 'g'))\nipRegex.v6 = (options: Options) => (options && options.exact ? v6exact : new RegExp(`${boundary(options)}${v6}${boundary(options)}`, 'g'))\n","import { ipRegex } from './ip-regex.ts'\n\nexport function isIP(value: string): boolean {\n return ipRegex({ exact: true }).test(value)\n}\n\nexport function isIPv6(value: string): boolean {\n return ipRegex.v6({ exact: true }).test(value)\n}\n\nexport function isIPv4(value: string): boolean {\n return ipRegex.v4({ exact: true }).test(value)\n}\n\nexport function ipVersion(value: string): 6 | 4 | undefined {\n return (\n isIP(value)\n ? isIPv6(value)\n ? 6\n : 4\n : undefined\n )\n}\n"],"mappings":"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","names":[]}
@@ -94,4 +94,4 @@ export {
94
94
  isIPv4,
95
95
  isIPv6
96
96
  };
97
- //# sourceMappingURL=index.js.map
97
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/dump.ts","../../src/IdLogger.ts","../../src/is-ip/ip-regex.ts","../../src/is-ip/is-ip.ts"],"sourcesContent":["export const dump = (object: unknown): string => {\n const cache: unknown[] = []\n return JSON.stringify(\n object,\n (key, value) => {\n if (typeof value === 'object' && value !== null) {\n // Duplicate reference found, discard key\n if (cache.includes(value)) {\n return '[circular]'\n }\n\n // Store value in our collection\n cache.push(value)\n }\n return value\n },\n 2,\n )\n}\n","import { getFunctionName, Logger } from '@xylabs/logger'\n\n/** @deprecated use from @xylabs/logger instead */\nexport class IdLogger implements Logger {\n private _id?: () => string\n private _logger: Logger\n\n constructor(logger: Logger, id?: () => string) {\n this._logger = logger\n this._id = id\n }\n\n set id(id: string) {\n this._id = () => id\n }\n\n debug(message?: unknown): void {\n this._logger?.debug(this.generate(message, getFunctionName(3)))\n }\n\n error(message?: unknown): void {\n this._logger?.error(this.generate(message, getFunctionName(3)))\n }\n\n info(message?: unknown): void {\n this._logger?.info(this.generate(message, getFunctionName(3)))\n }\n\n log(message?: unknown): void {\n this._logger?.log(this.generate(message, getFunctionName(3)))\n }\n\n warn(message?: unknown): void {\n this._logger?.warn(this.generate(message, getFunctionName(3)))\n }\n\n private generate(message?: unknown, tag?: string) {\n const idString = this._id ? `[${this._id}] ` : ''\n return `${tag} ${idString}${\n typeof message === 'string'\n? message\n : typeof message === 'object'\n? JSON.stringify(message, undefined, 2)\n : `${message}`\n }`\n }\n}\n","const word = String.raw`[a-fA-F\\d:]`\n\nexport interface Options {\n readonly exact?: boolean\n readonly includeBoundaries?: boolean\n}\n\nconst boundary = (options: Options) => (options && options.includeBoundaries ? `(?:(?<=\\\\s|^)(?=${word})|(?<=${word})(?=\\\\s|$))` : '')\n\nconst v4 = String.raw`(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)){3}`\n\nconst v6segment = String.raw`[a-fA-F\\d]{1,4}`\n\nconst v6 = `\n(?:\n(?:${v6segment}:){7}(?:${v6segment}|:)| // 1:2:3:4:5:6:7:: 1:2:3:4:5:6:7:8\n(?:${v6segment}:){6}(?:${v4}|:${v6segment}|:)| // 1:2:3:4:5:6:: 1:2:3:4:5:6::8 1:2:3:4:5:6::8 1:2:3:4:5:6::1.2.3.4\n(?:${v6segment}:){5}(?::${v4}|(?::${v6segment}){1,2}|:)| // 1:2:3:4:5:: 1:2:3:4:5::7:8 1:2:3:4:5::8 1:2:3:4:5::7:1.2.3.4\n(?:${v6segment}:){4}(?:(?::${v6segment}){0,1}:${v4}|(?::${v6segment}){1,3}|:)| // 1:2:3:4:: 1:2:3:4::6:7:8 1:2:3:4::8 1:2:3:4::6:7:1.2.3.4\n(?:${v6segment}:){3}(?:(?::${v6segment}){0,2}:${v4}|(?::${v6segment}){1,4}|:)| // 1:2:3:: 1:2:3::5:6:7:8 1:2:3::8 1:2:3::5:6:7:1.2.3.4\n(?:${v6segment}:){2}(?:(?::${v6segment}){0,3}:${v4}|(?::${v6segment}){1,5}|:)| // 1:2:: 1:2::4:5:6:7:8 1:2::8 1:2::4:5:6:7:1.2.3.4\n(?:${v6segment}:){1}(?:(?::${v6segment}){0,4}:${v4}|(?::${v6segment}){1,6}|:)| // 1:: 1::3:4:5:6:7:8 1::8 1::3:4:5:6:7:1.2.3.4\n(?::(?:(?::${v6segment}){0,5}:${v4}|(?::${v6segment}){1,7}|:)) // ::2:3:4:5:6:7:8 ::2:3:4:5:6:7:8 ::8 ::1.2.3.4\n)(?:%[0-9a-zA-Z]{1,})? // %eth0 %1\n`\n .replaceAll(/\\s*\\/\\/.*$/gm, '')\n .replaceAll('\\n', '')\n .trim()\n\n// Pre-compile only the exact regexes because adding a global flag make regexes stateful\nconst v46Exact = new RegExp(`(?:^${v4}$)|(?:^${v6}$)`)\nconst v4exact = new RegExp(`^${v4}$`)\nconst v6exact = new RegExp(`^${v6}$`)\n\nexport const ipRegex = (options: Options) =>\n options && options.exact\n ? v46Exact\n : new RegExp(`(?:${boundary(options)}${v4}${boundary(options)})|(?:${boundary(options)}${v6}${boundary(options)})`, 'g')\n\nipRegex.v4 = (options: Options) => (options && options.exact ? v4exact : new RegExp(`${boundary(options)}${v4}${boundary(options)}`, 'g'))\nipRegex.v6 = (options: Options) => (options && options.exact ? v6exact : new RegExp(`${boundary(options)}${v6}${boundary(options)}`, 'g'))\n","import { ipRegex } from './ip-regex.ts'\n\nexport function isIP(value: string): boolean {\n return ipRegex({ exact: true }).test(value)\n}\n\nexport function isIPv6(value: string): boolean {\n return ipRegex.v6({ exact: true }).test(value)\n}\n\nexport function isIPv4(value: string): boolean {\n return ipRegex.v4({ exact: true }).test(value)\n}\n\nexport function ipVersion(value: string): 6 | 4 | undefined {\n return (\n isIP(value)\n ? isIPv6(value)\n ? 6\n : 4\n : undefined\n )\n}\n"],"mappings":"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","names":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"ip-regex.d.ts","sourceRoot":"","sources":["../../../src/is-ip/ip-regex.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,OAAO;IACtB,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAA;IACxB,QAAQ,CAAC,iBAAiB,CAAC,EAAE,OAAO,CAAA;CACrC;AA6BD,eAAO,MAAM,OAAO;cAAa,OAAO;gBAKjB,OAAO;gBACP,OAAO;CAH4F,CAAA"}
1
+ {"version":3,"file":"ip-regex.d.ts","sourceRoot":"","sources":["../../../src/is-ip/ip-regex.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,OAAO;IACtB,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAA;IACxB,QAAQ,CAAC,iBAAiB,CAAC,EAAE,OAAO,CAAA;CACrC;AA6BD,eAAO,MAAM,OAAO;cAAa,OAAO;gBAKjB,OAAO;gBACP,OAAO;CAH8F,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"ip-regex.d.ts","sourceRoot":"","sources":["../../../src/is-ip/ip-regex.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,OAAO;IACtB,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAA;IACxB,QAAQ,CAAC,iBAAiB,CAAC,EAAE,OAAO,CAAA;CACrC;AA6BD,eAAO,MAAM,OAAO;cAAa,OAAO;gBAKjB,OAAO;gBACP,OAAO;CAH4F,CAAA"}
1
+ {"version":3,"file":"ip-regex.d.ts","sourceRoot":"","sources":["../../../src/is-ip/ip-regex.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,OAAO;IACtB,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAA;IACxB,QAAQ,CAAC,iBAAiB,CAAC,EAAE,OAAO,CAAA;CACrC;AA6BD,eAAO,MAAM,OAAO;cAAa,OAAO;gBAKjB,OAAO;gBACP,OAAO;CAH8F,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"ip-regex.d.ts","sourceRoot":"","sources":["../../../src/is-ip/ip-regex.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,OAAO;IACtB,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAA;IACxB,QAAQ,CAAC,iBAAiB,CAAC,EAAE,OAAO,CAAA;CACrC;AA6BD,eAAO,MAAM,OAAO;cAAa,OAAO;gBAKjB,OAAO;gBACP,OAAO;CAH4F,CAAA"}
1
+ {"version":3,"file":"ip-regex.d.ts","sourceRoot":"","sources":["../../../src/is-ip/ip-regex.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,OAAO;IACtB,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAA;IACxB,QAAQ,CAAC,iBAAiB,CAAC,EAAE,OAAO,CAAA;CACrC;AA6BD,eAAO,MAAM,OAAO;cAAa,OAAO;gBAKjB,OAAO;gBACP,OAAO;CAH8F,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"is-ip.d.ts","sourceRoot":"","sources":["../../../src/is-ip/is-ip.ts"],"names":[],"mappings":"AAEA,wBAAgB,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAE3C;AAED,wBAAgB,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAE7C;AAED,wBAAgB,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAE7C;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,CAAC,GAAG,CAAC,GAAG,SAAS,CAO1D"}
1
+ {"version":3,"file":"is-ip.d.ts","sourceRoot":"","sources":["../../../src/is-ip/is-ip.ts"],"names":[],"mappings":"AAEA,wBAAgB,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAE3C;AAED,wBAAgB,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAE7C;AAED,wBAAgB,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAE7C;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,CAAC,GAAG,CAAC,GAAG,SAAS,CAQ1D"}
@@ -1 +1 @@
1
- {"version":3,"file":"is-ip.d.ts","sourceRoot":"","sources":["../../../src/is-ip/is-ip.ts"],"names":[],"mappings":"AAEA,wBAAgB,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAE3C;AAED,wBAAgB,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAE7C;AAED,wBAAgB,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAE7C;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,CAAC,GAAG,CAAC,GAAG,SAAS,CAO1D"}
1
+ {"version":3,"file":"is-ip.d.ts","sourceRoot":"","sources":["../../../src/is-ip/is-ip.ts"],"names":[],"mappings":"AAEA,wBAAgB,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAE3C;AAED,wBAAgB,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAE7C;AAED,wBAAgB,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAE7C;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,CAAC,GAAG,CAAC,GAAG,SAAS,CAQ1D"}
@@ -1 +1 @@
1
- {"version":3,"file":"is-ip.d.ts","sourceRoot":"","sources":["../../../src/is-ip/is-ip.ts"],"names":[],"mappings":"AAEA,wBAAgB,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAE3C;AAED,wBAAgB,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAE7C;AAED,wBAAgB,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAE7C;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,CAAC,GAAG,CAAC,GAAG,SAAS,CAO1D"}
1
+ {"version":3,"file":"is-ip.d.ts","sourceRoot":"","sources":["../../../src/is-ip/is-ip.ts"],"names":[],"mappings":"AAEA,wBAAgB,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAE3C;AAED,wBAAgB,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAE7C;AAED,wBAAgB,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAE7C;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,CAAC,GAAG,CAAC,GAAG,SAAS,CAQ1D"}
@@ -1 +1 @@
1
- {"version":3,"file":"IdLogger.d.ts","sourceRoot":"","sources":["../../src/IdLogger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmB,MAAM,EAAE,MAAM,gBAAgB,CAAA;AAGxD,qBAAa,QAAS,YAAW,MAAM;IACrC,OAAO,CAAC,GAAG,CAAC,CAAc;IAC1B,OAAO,CAAC,OAAO,CAAQ;gBAEX,MAAM,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,MAAM;IAK7C,IAAI,EAAE,CAAC,EAAE,EAAE,MAAM,EAEhB;IAED,KAAK,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI;IAG9B,KAAK,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI;IAG9B,IAAI,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI;IAG7B,GAAG,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI;IAG5B,IAAI,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI;IAI7B,OAAO,CAAC,QAAQ;CAQjB"}
1
+ {"version":3,"file":"IdLogger.d.ts","sourceRoot":"","sources":["../../src/IdLogger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmB,MAAM,EAAE,MAAM,gBAAgB,CAAA;AAGxD,qBAAa,QAAS,YAAW,MAAM;IACrC,OAAO,CAAC,GAAG,CAAC,CAAc;IAC1B,OAAO,CAAC,OAAO,CAAQ;gBAEX,MAAM,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,MAAM;IAK7C,IAAI,EAAE,CAAC,EAAE,EAAE,MAAM,EAEhB;IAED,KAAK,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI;IAI9B,KAAK,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI;IAI9B,IAAI,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI;IAI7B,GAAG,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI;IAI5B,IAAI,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI;IAI7B,OAAO,CAAC,QAAQ;CAUjB"}
@@ -1 +1 @@
1
- {"version":3,"file":"IdLogger.d.ts","sourceRoot":"","sources":["../../src/IdLogger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmB,MAAM,EAAE,MAAM,gBAAgB,CAAA;AAGxD,qBAAa,QAAS,YAAW,MAAM;IACrC,OAAO,CAAC,GAAG,CAAC,CAAc;IAC1B,OAAO,CAAC,OAAO,CAAQ;gBAEX,MAAM,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,MAAM;IAK7C,IAAI,EAAE,CAAC,EAAE,EAAE,MAAM,EAEhB;IAED,KAAK,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI;IAG9B,KAAK,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI;IAG9B,IAAI,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI;IAG7B,GAAG,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI;IAG5B,IAAI,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI;IAI7B,OAAO,CAAC,QAAQ;CAQjB"}
1
+ {"version":3,"file":"IdLogger.d.ts","sourceRoot":"","sources":["../../src/IdLogger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmB,MAAM,EAAE,MAAM,gBAAgB,CAAA;AAGxD,qBAAa,QAAS,YAAW,MAAM;IACrC,OAAO,CAAC,GAAG,CAAC,CAAc;IAC1B,OAAO,CAAC,OAAO,CAAQ;gBAEX,MAAM,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,MAAM;IAK7C,IAAI,EAAE,CAAC,EAAE,EAAE,MAAM,EAEhB;IAED,KAAK,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI;IAI9B,KAAK,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI;IAI9B,IAAI,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI;IAI7B,GAAG,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI;IAI5B,IAAI,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI;IAI7B,OAAO,CAAC,QAAQ;CAUjB"}
@@ -1 +1 @@
1
- {"version":3,"file":"IdLogger.d.ts","sourceRoot":"","sources":["../../src/IdLogger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmB,MAAM,EAAE,MAAM,gBAAgB,CAAA;AAGxD,qBAAa,QAAS,YAAW,MAAM;IACrC,OAAO,CAAC,GAAG,CAAC,CAAc;IAC1B,OAAO,CAAC,OAAO,CAAQ;gBAEX,MAAM,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,MAAM;IAK7C,IAAI,EAAE,CAAC,EAAE,EAAE,MAAM,EAEhB;IAED,KAAK,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI;IAG9B,KAAK,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI;IAG9B,IAAI,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI;IAG7B,GAAG,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI;IAG5B,IAAI,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI;IAI7B,OAAO,CAAC,QAAQ;CAQjB"}
1
+ {"version":3,"file":"IdLogger.d.ts","sourceRoot":"","sources":["../../src/IdLogger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmB,MAAM,EAAE,MAAM,gBAAgB,CAAA;AAGxD,qBAAa,QAAS,YAAW,MAAM;IACrC,OAAO,CAAC,GAAG,CAAC,CAAc;IAC1B,OAAO,CAAC,OAAO,CAAQ;gBAEX,MAAM,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,MAAM;IAK7C,IAAI,EAAE,CAAC,EAAE,EAAE,MAAM,EAEhB;IAED,KAAK,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI;IAI9B,KAAK,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI;IAI9B,IAAI,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI;IAI7B,GAAG,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI;IAI5B,IAAI,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI;IAI7B,OAAO,CAAC,QAAQ;CAUjB"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/index.ts","../../src/dump.ts","../../src/IdLogger.ts","../../src/is-ip/ip-regex.ts","../../src/is-ip/is-ip.ts"],"sourcesContent":["export * from './dump.ts'\nexport * from './IdLogger.ts'\nexport * from './is-ip/index.ts'\nexport * from './Job/index.ts'\n","export const dump = (object: unknown): string => {\n const cache: unknown[] = []\n return JSON.stringify(\n object,\n (key, value) => {\n if (typeof value === 'object' && value !== null) {\n // Duplicate reference found, discard key\n if (cache.includes(value)) {\n return '[circular]'\n }\n\n // Store value in our collection\n cache.push(value)\n }\n return value\n },\n 2,\n )\n}\n","import { getFunctionName, Logger } from '@xylabs/logger'\n\n/** @deprecated use from @xylabs/logger instead */\nexport class IdLogger implements Logger {\n private _id?: () => string\n private _logger: Logger\n\n constructor(logger: Logger, id?: () => string) {\n this._logger = logger\n this._id = id\n }\n\n set id(id: string) {\n this._id = () => id\n }\n\n debug(message?: unknown): void {\n this._logger?.debug(this.generate(message, getFunctionName(3)))\n }\n error(message?: unknown): void {\n this._logger?.error(this.generate(message, getFunctionName(3)))\n }\n info(message?: unknown): void {\n this._logger?.info(this.generate(message, getFunctionName(3)))\n }\n log(message?: unknown): void {\n this._logger?.log(this.generate(message, getFunctionName(3)))\n }\n warn(message?: unknown): void {\n this._logger?.warn(this.generate(message, getFunctionName(3)))\n }\n\n private generate(message?: unknown, tag?: string) {\n const idString = this._id ? `[${this._id}] ` : ''\n return `${tag} ${idString}${\n typeof message === 'string' ? message\n : typeof message === 'object' ? JSON.stringify(message, undefined, 2)\n : `${message}`\n }`\n }\n}\n","const word = String.raw`[a-fA-F\\d:]`\n\nexport interface Options {\n readonly exact?: boolean\n readonly includeBoundaries?: boolean\n}\n\nconst boundary = (options: Options) => (options && options.includeBoundaries ? `(?:(?<=\\\\s|^)(?=${word})|(?<=${word})(?=\\\\s|$))` : '')\n\nconst v4 = String.raw`(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)){3}`\n\nconst v6segment = String.raw`[a-fA-F\\d]{1,4}`\n\nconst v6 = `\n(?:\n(?:${v6segment}:){7}(?:${v6segment}|:)| // 1:2:3:4:5:6:7:: 1:2:3:4:5:6:7:8\n(?:${v6segment}:){6}(?:${v4}|:${v6segment}|:)| // 1:2:3:4:5:6:: 1:2:3:4:5:6::8 1:2:3:4:5:6::8 1:2:3:4:5:6::1.2.3.4\n(?:${v6segment}:){5}(?::${v4}|(?::${v6segment}){1,2}|:)| // 1:2:3:4:5:: 1:2:3:4:5::7:8 1:2:3:4:5::8 1:2:3:4:5::7:1.2.3.4\n(?:${v6segment}:){4}(?:(?::${v6segment}){0,1}:${v4}|(?::${v6segment}){1,3}|:)| // 1:2:3:4:: 1:2:3:4::6:7:8 1:2:3:4::8 1:2:3:4::6:7:1.2.3.4\n(?:${v6segment}:){3}(?:(?::${v6segment}){0,2}:${v4}|(?::${v6segment}){1,4}|:)| // 1:2:3:: 1:2:3::5:6:7:8 1:2:3::8 1:2:3::5:6:7:1.2.3.4\n(?:${v6segment}:){2}(?:(?::${v6segment}){0,3}:${v4}|(?::${v6segment}){1,5}|:)| // 1:2:: 1:2::4:5:6:7:8 1:2::8 1:2::4:5:6:7:1.2.3.4\n(?:${v6segment}:){1}(?:(?::${v6segment}){0,4}:${v4}|(?::${v6segment}){1,6}|:)| // 1:: 1::3:4:5:6:7:8 1::8 1::3:4:5:6:7:1.2.3.4\n(?::(?:(?::${v6segment}){0,5}:${v4}|(?::${v6segment}){1,7}|:)) // ::2:3:4:5:6:7:8 ::2:3:4:5:6:7:8 ::8 ::1.2.3.4\n)(?:%[0-9a-zA-Z]{1,})? // %eth0 %1\n`\n .replaceAll(/\\s*\\/\\/.*$/gm, '')\n .replaceAll('\\n', '')\n .trim()\n\n// Pre-compile only the exact regexes because adding a global flag make regexes stateful\nconst v46Exact = new RegExp(`(?:^${v4}$)|(?:^${v6}$)`)\nconst v4exact = new RegExp(`^${v4}$`)\nconst v6exact = new RegExp(`^${v6}$`)\n\nexport const ipRegex = (options: Options) =>\n options && options.exact ?\n v46Exact\n : new RegExp(`(?:${boundary(options)}${v4}${boundary(options)})|(?:${boundary(options)}${v6}${boundary(options)})`, 'g')\n\nipRegex.v4 = (options: Options) => (options && options.exact ? v4exact : new RegExp(`${boundary(options)}${v4}${boundary(options)}`, 'g'))\nipRegex.v6 = (options: Options) => (options && options.exact ? v6exact : new RegExp(`${boundary(options)}${v6}${boundary(options)}`, 'g'))\n","import { ipRegex } from './ip-regex.ts'\n\nexport function isIP(value: string): boolean {\n return ipRegex({ exact: true }).test(value)\n}\n\nexport function isIPv6(value: string): boolean {\n return ipRegex.v6({ exact: true }).test(value)\n}\n\nexport function isIPv4(value: string): boolean {\n return ipRegex.v4({ exact: true }).test(value)\n}\n\nexport function ipVersion(value: string): 6 | 4 | undefined {\n return (\n isIP(value) ?\n isIPv6(value) ? 6\n : 4\n : undefined\n )\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAO,IAAM,OAAO,CAAC,WAA4B;AAC/C,QAAM,QAAmB,CAAC;AAC1B,SAAO,KAAK;AAAA,IACV;AAAA,IACA,CAAC,KAAK,UAAU;AACd,UAAI,OAAO,UAAU,YAAY,UAAU,MAAM;AAE/C,YAAI,MAAM,SAAS,KAAK,GAAG;AACzB,iBAAO;AAAA,QACT;AAGA,cAAM,KAAK,KAAK;AAAA,MAClB;AACA,aAAO;AAAA,IACT;AAAA,IACA;AAAA,EACF;AACF;;;AClBA,oBAAwC;AAGjC,IAAM,WAAN,MAAiC;AAAA,EAC9B;AAAA,EACA;AAAA,EAER,YAAY,QAAgB,IAAmB;AAC7C,SAAK,UAAU;AACf,SAAK,MAAM;AAAA,EACb;AAAA,EAEA,IAAI,GAAG,IAAY;AACjB,SAAK,MAAM,MAAM;AAAA,EACnB;AAAA,EAEA,MAAM,SAAyB;AAC7B,SAAK,SAAS,MAAM,KAAK,SAAS,aAAS,+BAAgB,CAAC,CAAC,CAAC;AAAA,EAChE;AAAA,EACA,MAAM,SAAyB;AAC7B,SAAK,SAAS,MAAM,KAAK,SAAS,aAAS,+BAAgB,CAAC,CAAC,CAAC;AAAA,EAChE;AAAA,EACA,KAAK,SAAyB;AAC5B,SAAK,SAAS,KAAK,KAAK,SAAS,aAAS,+BAAgB,CAAC,CAAC,CAAC;AAAA,EAC/D;AAAA,EACA,IAAI,SAAyB;AAC3B,SAAK,SAAS,IAAI,KAAK,SAAS,aAAS,+BAAgB,CAAC,CAAC,CAAC;AAAA,EAC9D;AAAA,EACA,KAAK,SAAyB;AAC5B,SAAK,SAAS,KAAK,KAAK,SAAS,aAAS,+BAAgB,CAAC,CAAC,CAAC;AAAA,EAC/D;AAAA,EAEQ,SAAS,SAAmB,KAAc;AAChD,UAAM,WAAW,KAAK,MAAM,IAAI,KAAK,GAAG,OAAO;AAC/C,WAAO,GAAG,GAAG,IAAI,QAAQ,GACvB,OAAO,YAAY,WAAW,UAC5B,OAAO,YAAY,WAAW,KAAK,UAAU,SAAS,QAAW,CAAC,IAClE,GAAG,OAAO,EACd;AAAA,EACF;AACF;;;ACxCA,IAAM,OAAO,OAAO;AAOpB,IAAM,WAAW,CAAC,YAAsB,WAAW,QAAQ,oBAAoB,mBAAmB,IAAI,SAAS,IAAI,gBAAgB;AAEnI,IAAM,KAAK,OAAO;AAElB,IAAM,YAAY,OAAO;AAEzB,IAAM,KAAK;AAAA;AAAA,KAEN,SAAS,WAAW,SAAS;AAAA,KAC7B,SAAS,WAAW,EAAE,KAAK,SAAS;AAAA,KACpC,SAAS,YAAY,EAAE,QAAQ,SAAS;AAAA,KACxC,SAAS,eAAe,SAAS,UAAU,EAAE,QAAQ,SAAS;AAAA,KAC9D,SAAS,eAAe,SAAS,UAAU,EAAE,QAAQ,SAAS;AAAA,KAC9D,SAAS,eAAe,SAAS,UAAU,EAAE,QAAQ,SAAS;AAAA,KAC9D,SAAS,eAAe,SAAS,UAAU,EAAE,QAAQ,SAAS;AAAA,aACtD,SAAS,UAAU,EAAE,QAAQ,SAAS;AAAA;AAAA,EAGhD,WAAW,gBAAgB,EAAE,EAC7B,WAAW,MAAM,EAAE,EACnB,KAAK;AAGR,IAAM,WAAW,IAAI,OAAO,OAAO,EAAE,UAAU,EAAE,IAAI;AACrD,IAAM,UAAU,IAAI,OAAO,IAAI,EAAE,GAAG;AACpC,IAAM,UAAU,IAAI,OAAO,IAAI,EAAE,GAAG;AAE7B,IAAM,UAAU,CAAC,YACtB,WAAW,QAAQ,QACjB,WACA,IAAI,OAAO,MAAM,SAAS,OAAO,CAAC,GAAG,EAAE,GAAG,SAAS,OAAO,CAAC,QAAQ,SAAS,OAAO,CAAC,GAAG,EAAE,GAAG,SAAS,OAAO,CAAC,KAAK,GAAG;AAEzH,QAAQ,KAAK,CAAC,YAAsB,WAAW,QAAQ,QAAQ,UAAU,IAAI,OAAO,GAAG,SAAS,OAAO,CAAC,GAAG,EAAE,GAAG,SAAS,OAAO,CAAC,IAAI,GAAG;AACxI,QAAQ,KAAK,CAAC,YAAsB,WAAW,QAAQ,QAAQ,UAAU,IAAI,OAAO,GAAG,SAAS,OAAO,CAAC,GAAG,EAAE,GAAG,SAAS,OAAO,CAAC,IAAI,GAAG;;;ACtCjI,SAAS,KAAK,OAAwB;AAC3C,SAAO,QAAQ,EAAE,OAAO,KAAK,CAAC,EAAE,KAAK,KAAK;AAC5C;AAEO,SAAS,OAAO,OAAwB;AAC7C,SAAO,QAAQ,GAAG,EAAE,OAAO,KAAK,CAAC,EAAE,KAAK,KAAK;AAC/C;AAEO,SAAS,OAAO,OAAwB;AAC7C,SAAO,QAAQ,GAAG,EAAE,OAAO,KAAK,CAAC,EAAE,KAAK,KAAK;AAC/C;AAEO,SAAS,UAAU,OAAkC;AAC1D,SACE,KAAK,KAAK,IACR,OAAO,KAAK,IAAI,IACd,IACF;AAEN;","names":[]}
1
+ {"version":3,"sources":["../../src/index.ts","../../src/dump.ts","../../src/IdLogger.ts","../../src/is-ip/ip-regex.ts","../../src/is-ip/is-ip.ts"],"sourcesContent":["export * from './dump.ts'\nexport * from './IdLogger.ts'\nexport * from './is-ip/index.ts'\nexport * from './Job/index.ts'\n","export const dump = (object: unknown): string => {\n const cache: unknown[] = []\n return JSON.stringify(\n object,\n (key, value) => {\n if (typeof value === 'object' && value !== null) {\n // Duplicate reference found, discard key\n if (cache.includes(value)) {\n return '[circular]'\n }\n\n // Store value in our collection\n cache.push(value)\n }\n return value\n },\n 2,\n )\n}\n","import { getFunctionName, Logger } from '@xylabs/logger'\n\n/** @deprecated use from @xylabs/logger instead */\nexport class IdLogger implements Logger {\n private _id?: () => string\n private _logger: Logger\n\n constructor(logger: Logger, id?: () => string) {\n this._logger = logger\n this._id = id\n }\n\n set id(id: string) {\n this._id = () => id\n }\n\n debug(message?: unknown): void {\n this._logger?.debug(this.generate(message, getFunctionName(3)))\n }\n\n error(message?: unknown): void {\n this._logger?.error(this.generate(message, getFunctionName(3)))\n }\n\n info(message?: unknown): void {\n this._logger?.info(this.generate(message, getFunctionName(3)))\n }\n\n log(message?: unknown): void {\n this._logger?.log(this.generate(message, getFunctionName(3)))\n }\n\n warn(message?: unknown): void {\n this._logger?.warn(this.generate(message, getFunctionName(3)))\n }\n\n private generate(message?: unknown, tag?: string) {\n const idString = this._id ? `[${this._id}] ` : ''\n return `${tag} ${idString}${\n typeof message === 'string'\n? message\n : typeof message === 'object'\n? JSON.stringify(message, undefined, 2)\n : `${message}`\n }`\n }\n}\n","const word = String.raw`[a-fA-F\\d:]`\n\nexport interface Options {\n readonly exact?: boolean\n readonly includeBoundaries?: boolean\n}\n\nconst boundary = (options: Options) => (options && options.includeBoundaries ? `(?:(?<=\\\\s|^)(?=${word})|(?<=${word})(?=\\\\s|$))` : '')\n\nconst v4 = String.raw`(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)){3}`\n\nconst v6segment = String.raw`[a-fA-F\\d]{1,4}`\n\nconst v6 = `\n(?:\n(?:${v6segment}:){7}(?:${v6segment}|:)| // 1:2:3:4:5:6:7:: 1:2:3:4:5:6:7:8\n(?:${v6segment}:){6}(?:${v4}|:${v6segment}|:)| // 1:2:3:4:5:6:: 1:2:3:4:5:6::8 1:2:3:4:5:6::8 1:2:3:4:5:6::1.2.3.4\n(?:${v6segment}:){5}(?::${v4}|(?::${v6segment}){1,2}|:)| // 1:2:3:4:5:: 1:2:3:4:5::7:8 1:2:3:4:5::8 1:2:3:4:5::7:1.2.3.4\n(?:${v6segment}:){4}(?:(?::${v6segment}){0,1}:${v4}|(?::${v6segment}){1,3}|:)| // 1:2:3:4:: 1:2:3:4::6:7:8 1:2:3:4::8 1:2:3:4::6:7:1.2.3.4\n(?:${v6segment}:){3}(?:(?::${v6segment}){0,2}:${v4}|(?::${v6segment}){1,4}|:)| // 1:2:3:: 1:2:3::5:6:7:8 1:2:3::8 1:2:3::5:6:7:1.2.3.4\n(?:${v6segment}:){2}(?:(?::${v6segment}){0,3}:${v4}|(?::${v6segment}){1,5}|:)| // 1:2:: 1:2::4:5:6:7:8 1:2::8 1:2::4:5:6:7:1.2.3.4\n(?:${v6segment}:){1}(?:(?::${v6segment}){0,4}:${v4}|(?::${v6segment}){1,6}|:)| // 1:: 1::3:4:5:6:7:8 1::8 1::3:4:5:6:7:1.2.3.4\n(?::(?:(?::${v6segment}){0,5}:${v4}|(?::${v6segment}){1,7}|:)) // ::2:3:4:5:6:7:8 ::2:3:4:5:6:7:8 ::8 ::1.2.3.4\n)(?:%[0-9a-zA-Z]{1,})? // %eth0 %1\n`\n .replaceAll(/\\s*\\/\\/.*$/gm, '')\n .replaceAll('\\n', '')\n .trim()\n\n// Pre-compile only the exact regexes because adding a global flag make regexes stateful\nconst v46Exact = new RegExp(`(?:^${v4}$)|(?:^${v6}$)`)\nconst v4exact = new RegExp(`^${v4}$`)\nconst v6exact = new RegExp(`^${v6}$`)\n\nexport const ipRegex = (options: Options) =>\n options && options.exact\n ? v46Exact\n : new RegExp(`(?:${boundary(options)}${v4}${boundary(options)})|(?:${boundary(options)}${v6}${boundary(options)})`, 'g')\n\nipRegex.v4 = (options: Options) => (options && options.exact ? v4exact : new RegExp(`${boundary(options)}${v4}${boundary(options)}`, 'g'))\nipRegex.v6 = (options: Options) => (options && options.exact ? v6exact : new RegExp(`${boundary(options)}${v6}${boundary(options)}`, 'g'))\n","import { ipRegex } from './ip-regex.ts'\n\nexport function isIP(value: string): boolean {\n return ipRegex({ exact: true }).test(value)\n}\n\nexport function isIPv6(value: string): boolean {\n return ipRegex.v6({ exact: true }).test(value)\n}\n\nexport function isIPv4(value: string): boolean {\n return ipRegex.v4({ exact: true }).test(value)\n}\n\nexport function ipVersion(value: string): 6 | 4 | undefined {\n return (\n isIP(value)\n ? isIPv6(value)\n ? 6\n : 4\n : undefined\n )\n}\n"],"mappings":"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","names":[]}
@@ -94,4 +94,4 @@ export {
94
94
  isIPv4,
95
95
  isIPv6
96
96
  };
97
- //# sourceMappingURL=index.js.map
97
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/dump.ts","../../src/IdLogger.ts","../../src/is-ip/ip-regex.ts","../../src/is-ip/is-ip.ts"],"sourcesContent":["export const dump = (object: unknown): string => {\n const cache: unknown[] = []\n return JSON.stringify(\n object,\n (key, value) => {\n if (typeof value === 'object' && value !== null) {\n // Duplicate reference found, discard key\n if (cache.includes(value)) {\n return '[circular]'\n }\n\n // Store value in our collection\n cache.push(value)\n }\n return value\n },\n 2,\n )\n}\n","import { getFunctionName, Logger } from '@xylabs/logger'\n\n/** @deprecated use from @xylabs/logger instead */\nexport class IdLogger implements Logger {\n private _id?: () => string\n private _logger: Logger\n\n constructor(logger: Logger, id?: () => string) {\n this._logger = logger\n this._id = id\n }\n\n set id(id: string) {\n this._id = () => id\n }\n\n debug(message?: unknown): void {\n this._logger?.debug(this.generate(message, getFunctionName(3)))\n }\n\n error(message?: unknown): void {\n this._logger?.error(this.generate(message, getFunctionName(3)))\n }\n\n info(message?: unknown): void {\n this._logger?.info(this.generate(message, getFunctionName(3)))\n }\n\n log(message?: unknown): void {\n this._logger?.log(this.generate(message, getFunctionName(3)))\n }\n\n warn(message?: unknown): void {\n this._logger?.warn(this.generate(message, getFunctionName(3)))\n }\n\n private generate(message?: unknown, tag?: string) {\n const idString = this._id ? `[${this._id}] ` : ''\n return `${tag} ${idString}${\n typeof message === 'string'\n? message\n : typeof message === 'object'\n? JSON.stringify(message, undefined, 2)\n : `${message}`\n }`\n }\n}\n","const word = String.raw`[a-fA-F\\d:]`\n\nexport interface Options {\n readonly exact?: boolean\n readonly includeBoundaries?: boolean\n}\n\nconst boundary = (options: Options) => (options && options.includeBoundaries ? `(?:(?<=\\\\s|^)(?=${word})|(?<=${word})(?=\\\\s|$))` : '')\n\nconst v4 = String.raw`(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)){3}`\n\nconst v6segment = String.raw`[a-fA-F\\d]{1,4}`\n\nconst v6 = `\n(?:\n(?:${v6segment}:){7}(?:${v6segment}|:)| // 1:2:3:4:5:6:7:: 1:2:3:4:5:6:7:8\n(?:${v6segment}:){6}(?:${v4}|:${v6segment}|:)| // 1:2:3:4:5:6:: 1:2:3:4:5:6::8 1:2:3:4:5:6::8 1:2:3:4:5:6::1.2.3.4\n(?:${v6segment}:){5}(?::${v4}|(?::${v6segment}){1,2}|:)| // 1:2:3:4:5:: 1:2:3:4:5::7:8 1:2:3:4:5::8 1:2:3:4:5::7:1.2.3.4\n(?:${v6segment}:){4}(?:(?::${v6segment}){0,1}:${v4}|(?::${v6segment}){1,3}|:)| // 1:2:3:4:: 1:2:3:4::6:7:8 1:2:3:4::8 1:2:3:4::6:7:1.2.3.4\n(?:${v6segment}:){3}(?:(?::${v6segment}){0,2}:${v4}|(?::${v6segment}){1,4}|:)| // 1:2:3:: 1:2:3::5:6:7:8 1:2:3::8 1:2:3::5:6:7:1.2.3.4\n(?:${v6segment}:){2}(?:(?::${v6segment}){0,3}:${v4}|(?::${v6segment}){1,5}|:)| // 1:2:: 1:2::4:5:6:7:8 1:2::8 1:2::4:5:6:7:1.2.3.4\n(?:${v6segment}:){1}(?:(?::${v6segment}){0,4}:${v4}|(?::${v6segment}){1,6}|:)| // 1:: 1::3:4:5:6:7:8 1::8 1::3:4:5:6:7:1.2.3.4\n(?::(?:(?::${v6segment}){0,5}:${v4}|(?::${v6segment}){1,7}|:)) // ::2:3:4:5:6:7:8 ::2:3:4:5:6:7:8 ::8 ::1.2.3.4\n)(?:%[0-9a-zA-Z]{1,})? // %eth0 %1\n`\n .replaceAll(/\\s*\\/\\/.*$/gm, '')\n .replaceAll('\\n', '')\n .trim()\n\n// Pre-compile only the exact regexes because adding a global flag make regexes stateful\nconst v46Exact = new RegExp(`(?:^${v4}$)|(?:^${v6}$)`)\nconst v4exact = new RegExp(`^${v4}$`)\nconst v6exact = new RegExp(`^${v6}$`)\n\nexport const ipRegex = (options: Options) =>\n options && options.exact\n ? v46Exact\n : new RegExp(`(?:${boundary(options)}${v4}${boundary(options)})|(?:${boundary(options)}${v6}${boundary(options)})`, 'g')\n\nipRegex.v4 = (options: Options) => (options && options.exact ? v4exact : new RegExp(`${boundary(options)}${v4}${boundary(options)}`, 'g'))\nipRegex.v6 = (options: Options) => (options && options.exact ? v6exact : new RegExp(`${boundary(options)}${v6}${boundary(options)}`, 'g'))\n","import { ipRegex } from './ip-regex.ts'\n\nexport function isIP(value: string): boolean {\n return ipRegex({ exact: true }).test(value)\n}\n\nexport function isIPv6(value: string): boolean {\n return ipRegex.v6({ exact: true }).test(value)\n}\n\nexport function isIPv4(value: string): boolean {\n return ipRegex.v4({ exact: true }).test(value)\n}\n\nexport function ipVersion(value: string): 6 | 4 | undefined {\n return (\n isIP(value)\n ? isIPv6(value)\n ? 6\n : 4\n : undefined\n )\n}\n"],"mappings":"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","names":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"ip-regex.d.ts","sourceRoot":"","sources":["../../../src/is-ip/ip-regex.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,OAAO;IACtB,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAA;IACxB,QAAQ,CAAC,iBAAiB,CAAC,EAAE,OAAO,CAAA;CACrC;AA6BD,eAAO,MAAM,OAAO;cAAa,OAAO;gBAKjB,OAAO;gBACP,OAAO;CAH4F,CAAA"}
1
+ {"version":3,"file":"ip-regex.d.ts","sourceRoot":"","sources":["../../../src/is-ip/ip-regex.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,OAAO;IACtB,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAA;IACxB,QAAQ,CAAC,iBAAiB,CAAC,EAAE,OAAO,CAAA;CACrC;AA6BD,eAAO,MAAM,OAAO;cAAa,OAAO;gBAKjB,OAAO;gBACP,OAAO;CAH8F,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"ip-regex.d.ts","sourceRoot":"","sources":["../../../src/is-ip/ip-regex.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,OAAO;IACtB,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAA;IACxB,QAAQ,CAAC,iBAAiB,CAAC,EAAE,OAAO,CAAA;CACrC;AA6BD,eAAO,MAAM,OAAO;cAAa,OAAO;gBAKjB,OAAO;gBACP,OAAO;CAH4F,CAAA"}
1
+ {"version":3,"file":"ip-regex.d.ts","sourceRoot":"","sources":["../../../src/is-ip/ip-regex.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,OAAO;IACtB,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAA;IACxB,QAAQ,CAAC,iBAAiB,CAAC,EAAE,OAAO,CAAA;CACrC;AA6BD,eAAO,MAAM,OAAO;cAAa,OAAO;gBAKjB,OAAO;gBACP,OAAO;CAH8F,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"ip-regex.d.ts","sourceRoot":"","sources":["../../../src/is-ip/ip-regex.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,OAAO;IACtB,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAA;IACxB,QAAQ,CAAC,iBAAiB,CAAC,EAAE,OAAO,CAAA;CACrC;AA6BD,eAAO,MAAM,OAAO;cAAa,OAAO;gBAKjB,OAAO;gBACP,OAAO;CAH4F,CAAA"}
1
+ {"version":3,"file":"ip-regex.d.ts","sourceRoot":"","sources":["../../../src/is-ip/ip-regex.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,OAAO;IACtB,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAA;IACxB,QAAQ,CAAC,iBAAiB,CAAC,EAAE,OAAO,CAAA;CACrC;AA6BD,eAAO,MAAM,OAAO;cAAa,OAAO;gBAKjB,OAAO;gBACP,OAAO;CAH8F,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"is-ip.d.ts","sourceRoot":"","sources":["../../../src/is-ip/is-ip.ts"],"names":[],"mappings":"AAEA,wBAAgB,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAE3C;AAED,wBAAgB,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAE7C;AAED,wBAAgB,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAE7C;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,CAAC,GAAG,CAAC,GAAG,SAAS,CAO1D"}
1
+ {"version":3,"file":"is-ip.d.ts","sourceRoot":"","sources":["../../../src/is-ip/is-ip.ts"],"names":[],"mappings":"AAEA,wBAAgB,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAE3C;AAED,wBAAgB,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAE7C;AAED,wBAAgB,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAE7C;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,CAAC,GAAG,CAAC,GAAG,SAAS,CAQ1D"}
@@ -1 +1 @@
1
- {"version":3,"file":"is-ip.d.ts","sourceRoot":"","sources":["../../../src/is-ip/is-ip.ts"],"names":[],"mappings":"AAEA,wBAAgB,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAE3C;AAED,wBAAgB,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAE7C;AAED,wBAAgB,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAE7C;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,CAAC,GAAG,CAAC,GAAG,SAAS,CAO1D"}
1
+ {"version":3,"file":"is-ip.d.ts","sourceRoot":"","sources":["../../../src/is-ip/is-ip.ts"],"names":[],"mappings":"AAEA,wBAAgB,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAE3C;AAED,wBAAgB,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAE7C;AAED,wBAAgB,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAE7C;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,CAAC,GAAG,CAAC,GAAG,SAAS,CAQ1D"}
@@ -1 +1 @@
1
- {"version":3,"file":"is-ip.d.ts","sourceRoot":"","sources":["../../../src/is-ip/is-ip.ts"],"names":[],"mappings":"AAEA,wBAAgB,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAE3C;AAED,wBAAgB,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAE7C;AAED,wBAAgB,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAE7C;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,CAAC,GAAG,CAAC,GAAG,SAAS,CAO1D"}
1
+ {"version":3,"file":"is-ip.d.ts","sourceRoot":"","sources":["../../../src/is-ip/is-ip.ts"],"names":[],"mappings":"AAEA,wBAAgB,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAE3C;AAED,wBAAgB,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAE7C;AAED,wBAAgB,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAE7C;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,CAAC,GAAG,CAAC,GAAG,SAAS,CAQ1D"}
@@ -1 +1 @@
1
- {"version":3,"file":"IdLogger.d.ts","sourceRoot":"","sources":["../../src/IdLogger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmB,MAAM,EAAE,MAAM,gBAAgB,CAAA;AAGxD,qBAAa,QAAS,YAAW,MAAM;IACrC,OAAO,CAAC,GAAG,CAAC,CAAc;IAC1B,OAAO,CAAC,OAAO,CAAQ;gBAEX,MAAM,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,MAAM;IAK7C,IAAI,EAAE,CAAC,EAAE,EAAE,MAAM,EAEhB;IAED,KAAK,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI;IAG9B,KAAK,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI;IAG9B,IAAI,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI;IAG7B,GAAG,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI;IAG5B,IAAI,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI;IAI7B,OAAO,CAAC,QAAQ;CAQjB"}
1
+ {"version":3,"file":"IdLogger.d.ts","sourceRoot":"","sources":["../../src/IdLogger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmB,MAAM,EAAE,MAAM,gBAAgB,CAAA;AAGxD,qBAAa,QAAS,YAAW,MAAM;IACrC,OAAO,CAAC,GAAG,CAAC,CAAc;IAC1B,OAAO,CAAC,OAAO,CAAQ;gBAEX,MAAM,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,MAAM;IAK7C,IAAI,EAAE,CAAC,EAAE,EAAE,MAAM,EAEhB;IAED,KAAK,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI;IAI9B,KAAK,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI;IAI9B,IAAI,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI;IAI7B,GAAG,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI;IAI5B,IAAI,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI;IAI7B,OAAO,CAAC,QAAQ;CAUjB"}
@@ -1 +1 @@
1
- {"version":3,"file":"IdLogger.d.ts","sourceRoot":"","sources":["../../src/IdLogger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmB,MAAM,EAAE,MAAM,gBAAgB,CAAA;AAGxD,qBAAa,QAAS,YAAW,MAAM;IACrC,OAAO,CAAC,GAAG,CAAC,CAAc;IAC1B,OAAO,CAAC,OAAO,CAAQ;gBAEX,MAAM,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,MAAM;IAK7C,IAAI,EAAE,CAAC,EAAE,EAAE,MAAM,EAEhB;IAED,KAAK,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI;IAG9B,KAAK,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI;IAG9B,IAAI,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI;IAG7B,GAAG,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI;IAG5B,IAAI,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI;IAI7B,OAAO,CAAC,QAAQ;CAQjB"}
1
+ {"version":3,"file":"IdLogger.d.ts","sourceRoot":"","sources":["../../src/IdLogger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmB,MAAM,EAAE,MAAM,gBAAgB,CAAA;AAGxD,qBAAa,QAAS,YAAW,MAAM;IACrC,OAAO,CAAC,GAAG,CAAC,CAAc;IAC1B,OAAO,CAAC,OAAO,CAAQ;gBAEX,MAAM,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,MAAM;IAK7C,IAAI,EAAE,CAAC,EAAE,EAAE,MAAM,EAEhB;IAED,KAAK,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI;IAI9B,KAAK,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI;IAI9B,IAAI,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI;IAI7B,GAAG,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI;IAI5B,IAAI,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI;IAI7B,OAAO,CAAC,QAAQ;CAUjB"}
@@ -1 +1 @@
1
- {"version":3,"file":"IdLogger.d.ts","sourceRoot":"","sources":["../../src/IdLogger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmB,MAAM,EAAE,MAAM,gBAAgB,CAAA;AAGxD,qBAAa,QAAS,YAAW,MAAM;IACrC,OAAO,CAAC,GAAG,CAAC,CAAc;IAC1B,OAAO,CAAC,OAAO,CAAQ;gBAEX,MAAM,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,MAAM;IAK7C,IAAI,EAAE,CAAC,EAAE,EAAE,MAAM,EAEhB;IAED,KAAK,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI;IAG9B,KAAK,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI;IAG9B,IAAI,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI;IAG7B,GAAG,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI;IAG5B,IAAI,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI;IAI7B,OAAO,CAAC,QAAQ;CAQjB"}
1
+ {"version":3,"file":"IdLogger.d.ts","sourceRoot":"","sources":["../../src/IdLogger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmB,MAAM,EAAE,MAAM,gBAAgB,CAAA;AAGxD,qBAAa,QAAS,YAAW,MAAM;IACrC,OAAO,CAAC,GAAG,CAAC,CAAc;IAC1B,OAAO,CAAC,OAAO,CAAQ;gBAEX,MAAM,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,MAAM;IAK7C,IAAI,EAAE,CAAC,EAAE,EAAE,MAAM,EAEhB;IAED,KAAK,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI;IAI9B,KAAK,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI;IAI9B,IAAI,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI;IAI7B,GAAG,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI;IAI5B,IAAI,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI;IAI7B,OAAO,CAAC,QAAQ;CAUjB"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/index.ts","../../src/dump.ts","../../src/IdLogger.ts","../../src/is-ip/ip-regex.ts","../../src/is-ip/is-ip.ts"],"sourcesContent":["export * from './dump.ts'\nexport * from './IdLogger.ts'\nexport * from './is-ip/index.ts'\nexport * from './Job/index.ts'\n","export const dump = (object: unknown): string => {\n const cache: unknown[] = []\n return JSON.stringify(\n object,\n (key, value) => {\n if (typeof value === 'object' && value !== null) {\n // Duplicate reference found, discard key\n if (cache.includes(value)) {\n return '[circular]'\n }\n\n // Store value in our collection\n cache.push(value)\n }\n return value\n },\n 2,\n )\n}\n","import { getFunctionName, Logger } from '@xylabs/logger'\n\n/** @deprecated use from @xylabs/logger instead */\nexport class IdLogger implements Logger {\n private _id?: () => string\n private _logger: Logger\n\n constructor(logger: Logger, id?: () => string) {\n this._logger = logger\n this._id = id\n }\n\n set id(id: string) {\n this._id = () => id\n }\n\n debug(message?: unknown): void {\n this._logger?.debug(this.generate(message, getFunctionName(3)))\n }\n error(message?: unknown): void {\n this._logger?.error(this.generate(message, getFunctionName(3)))\n }\n info(message?: unknown): void {\n this._logger?.info(this.generate(message, getFunctionName(3)))\n }\n log(message?: unknown): void {\n this._logger?.log(this.generate(message, getFunctionName(3)))\n }\n warn(message?: unknown): void {\n this._logger?.warn(this.generate(message, getFunctionName(3)))\n }\n\n private generate(message?: unknown, tag?: string) {\n const idString = this._id ? `[${this._id}] ` : ''\n return `${tag} ${idString}${\n typeof message === 'string' ? message\n : typeof message === 'object' ? JSON.stringify(message, undefined, 2)\n : `${message}`\n }`\n }\n}\n","const word = String.raw`[a-fA-F\\d:]`\n\nexport interface Options {\n readonly exact?: boolean\n readonly includeBoundaries?: boolean\n}\n\nconst boundary = (options: Options) => (options && options.includeBoundaries ? `(?:(?<=\\\\s|^)(?=${word})|(?<=${word})(?=\\\\s|$))` : '')\n\nconst v4 = String.raw`(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)){3}`\n\nconst v6segment = String.raw`[a-fA-F\\d]{1,4}`\n\nconst v6 = `\n(?:\n(?:${v6segment}:){7}(?:${v6segment}|:)| // 1:2:3:4:5:6:7:: 1:2:3:4:5:6:7:8\n(?:${v6segment}:){6}(?:${v4}|:${v6segment}|:)| // 1:2:3:4:5:6:: 1:2:3:4:5:6::8 1:2:3:4:5:6::8 1:2:3:4:5:6::1.2.3.4\n(?:${v6segment}:){5}(?::${v4}|(?::${v6segment}){1,2}|:)| // 1:2:3:4:5:: 1:2:3:4:5::7:8 1:2:3:4:5::8 1:2:3:4:5::7:1.2.3.4\n(?:${v6segment}:){4}(?:(?::${v6segment}){0,1}:${v4}|(?::${v6segment}){1,3}|:)| // 1:2:3:4:: 1:2:3:4::6:7:8 1:2:3:4::8 1:2:3:4::6:7:1.2.3.4\n(?:${v6segment}:){3}(?:(?::${v6segment}){0,2}:${v4}|(?::${v6segment}){1,4}|:)| // 1:2:3:: 1:2:3::5:6:7:8 1:2:3::8 1:2:3::5:6:7:1.2.3.4\n(?:${v6segment}:){2}(?:(?::${v6segment}){0,3}:${v4}|(?::${v6segment}){1,5}|:)| // 1:2:: 1:2::4:5:6:7:8 1:2::8 1:2::4:5:6:7:1.2.3.4\n(?:${v6segment}:){1}(?:(?::${v6segment}){0,4}:${v4}|(?::${v6segment}){1,6}|:)| // 1:: 1::3:4:5:6:7:8 1::8 1::3:4:5:6:7:1.2.3.4\n(?::(?:(?::${v6segment}){0,5}:${v4}|(?::${v6segment}){1,7}|:)) // ::2:3:4:5:6:7:8 ::2:3:4:5:6:7:8 ::8 ::1.2.3.4\n)(?:%[0-9a-zA-Z]{1,})? // %eth0 %1\n`\n .replaceAll(/\\s*\\/\\/.*$/gm, '')\n .replaceAll('\\n', '')\n .trim()\n\n// Pre-compile only the exact regexes because adding a global flag make regexes stateful\nconst v46Exact = new RegExp(`(?:^${v4}$)|(?:^${v6}$)`)\nconst v4exact = new RegExp(`^${v4}$`)\nconst v6exact = new RegExp(`^${v6}$`)\n\nexport const ipRegex = (options: Options) =>\n options && options.exact ?\n v46Exact\n : new RegExp(`(?:${boundary(options)}${v4}${boundary(options)})|(?:${boundary(options)}${v6}${boundary(options)})`, 'g')\n\nipRegex.v4 = (options: Options) => (options && options.exact ? v4exact : new RegExp(`${boundary(options)}${v4}${boundary(options)}`, 'g'))\nipRegex.v6 = (options: Options) => (options && options.exact ? v6exact : new RegExp(`${boundary(options)}${v6}${boundary(options)}`, 'g'))\n","import { ipRegex } from './ip-regex.ts'\n\nexport function isIP(value: string): boolean {\n return ipRegex({ exact: true }).test(value)\n}\n\nexport function isIPv6(value: string): boolean {\n return ipRegex.v6({ exact: true }).test(value)\n}\n\nexport function isIPv4(value: string): boolean {\n return ipRegex.v4({ exact: true }).test(value)\n}\n\nexport function ipVersion(value: string): 6 | 4 | undefined {\n return (\n isIP(value) ?\n isIPv6(value) ? 6\n : 4\n : undefined\n )\n}\n"],"mappings":"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","names":[]}
1
+ {"version":3,"sources":["../../src/index.ts","../../src/dump.ts","../../src/IdLogger.ts","../../src/is-ip/ip-regex.ts","../../src/is-ip/is-ip.ts"],"sourcesContent":["export * from './dump.ts'\nexport * from './IdLogger.ts'\nexport * from './is-ip/index.ts'\nexport * from './Job/index.ts'\n","export const dump = (object: unknown): string => {\n const cache: unknown[] = []\n return JSON.stringify(\n object,\n (key, value) => {\n if (typeof value === 'object' && value !== null) {\n // Duplicate reference found, discard key\n if (cache.includes(value)) {\n return '[circular]'\n }\n\n // Store value in our collection\n cache.push(value)\n }\n return value\n },\n 2,\n )\n}\n","import { getFunctionName, Logger } from '@xylabs/logger'\n\n/** @deprecated use from @xylabs/logger instead */\nexport class IdLogger implements Logger {\n private _id?: () => string\n private _logger: Logger\n\n constructor(logger: Logger, id?: () => string) {\n this._logger = logger\n this._id = id\n }\n\n set id(id: string) {\n this._id = () => id\n }\n\n debug(message?: unknown): void {\n this._logger?.debug(this.generate(message, getFunctionName(3)))\n }\n\n error(message?: unknown): void {\n this._logger?.error(this.generate(message, getFunctionName(3)))\n }\n\n info(message?: unknown): void {\n this._logger?.info(this.generate(message, getFunctionName(3)))\n }\n\n log(message?: unknown): void {\n this._logger?.log(this.generate(message, getFunctionName(3)))\n }\n\n warn(message?: unknown): void {\n this._logger?.warn(this.generate(message, getFunctionName(3)))\n }\n\n private generate(message?: unknown, tag?: string) {\n const idString = this._id ? `[${this._id}] ` : ''\n return `${tag} ${idString}${\n typeof message === 'string'\n? message\n : typeof message === 'object'\n? JSON.stringify(message, undefined, 2)\n : `${message}`\n }`\n }\n}\n","const word = String.raw`[a-fA-F\\d:]`\n\nexport interface Options {\n readonly exact?: boolean\n readonly includeBoundaries?: boolean\n}\n\nconst boundary = (options: Options) => (options && options.includeBoundaries ? `(?:(?<=\\\\s|^)(?=${word})|(?<=${word})(?=\\\\s|$))` : '')\n\nconst v4 = String.raw`(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)){3}`\n\nconst v6segment = String.raw`[a-fA-F\\d]{1,4}`\n\nconst v6 = `\n(?:\n(?:${v6segment}:){7}(?:${v6segment}|:)| // 1:2:3:4:5:6:7:: 1:2:3:4:5:6:7:8\n(?:${v6segment}:){6}(?:${v4}|:${v6segment}|:)| // 1:2:3:4:5:6:: 1:2:3:4:5:6::8 1:2:3:4:5:6::8 1:2:3:4:5:6::1.2.3.4\n(?:${v6segment}:){5}(?::${v4}|(?::${v6segment}){1,2}|:)| // 1:2:3:4:5:: 1:2:3:4:5::7:8 1:2:3:4:5::8 1:2:3:4:5::7:1.2.3.4\n(?:${v6segment}:){4}(?:(?::${v6segment}){0,1}:${v4}|(?::${v6segment}){1,3}|:)| // 1:2:3:4:: 1:2:3:4::6:7:8 1:2:3:4::8 1:2:3:4::6:7:1.2.3.4\n(?:${v6segment}:){3}(?:(?::${v6segment}){0,2}:${v4}|(?::${v6segment}){1,4}|:)| // 1:2:3:: 1:2:3::5:6:7:8 1:2:3::8 1:2:3::5:6:7:1.2.3.4\n(?:${v6segment}:){2}(?:(?::${v6segment}){0,3}:${v4}|(?::${v6segment}){1,5}|:)| // 1:2:: 1:2::4:5:6:7:8 1:2::8 1:2::4:5:6:7:1.2.3.4\n(?:${v6segment}:){1}(?:(?::${v6segment}){0,4}:${v4}|(?::${v6segment}){1,6}|:)| // 1:: 1::3:4:5:6:7:8 1::8 1::3:4:5:6:7:1.2.3.4\n(?::(?:(?::${v6segment}){0,5}:${v4}|(?::${v6segment}){1,7}|:)) // ::2:3:4:5:6:7:8 ::2:3:4:5:6:7:8 ::8 ::1.2.3.4\n)(?:%[0-9a-zA-Z]{1,})? // %eth0 %1\n`\n .replaceAll(/\\s*\\/\\/.*$/gm, '')\n .replaceAll('\\n', '')\n .trim()\n\n// Pre-compile only the exact regexes because adding a global flag make regexes stateful\nconst v46Exact = new RegExp(`(?:^${v4}$)|(?:^${v6}$)`)\nconst v4exact = new RegExp(`^${v4}$`)\nconst v6exact = new RegExp(`^${v6}$`)\n\nexport const ipRegex = (options: Options) =>\n options && options.exact\n ? v46Exact\n : new RegExp(`(?:${boundary(options)}${v4}${boundary(options)})|(?:${boundary(options)}${v6}${boundary(options)})`, 'g')\n\nipRegex.v4 = (options: Options) => (options && options.exact ? v4exact : new RegExp(`${boundary(options)}${v4}${boundary(options)}`, 'g'))\nipRegex.v6 = (options: Options) => (options && options.exact ? v6exact : new RegExp(`${boundary(options)}${v6}${boundary(options)}`, 'g'))\n","import { ipRegex } from './ip-regex.ts'\n\nexport function isIP(value: string): boolean {\n return ipRegex({ exact: true }).test(value)\n}\n\nexport function isIPv6(value: string): boolean {\n return ipRegex.v6({ exact: true }).test(value)\n}\n\nexport function isIPv4(value: string): boolean {\n return ipRegex.v4({ exact: true }).test(value)\n}\n\nexport function ipVersion(value: string): 6 | 4 | undefined {\n return (\n isIP(value)\n ? isIPv6(value)\n ? 6\n : 4\n : undefined\n )\n}\n"],"mappings":"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","names":[]}
@@ -99,4 +99,4 @@ export {
99
99
  isIPv4,
100
100
  isIPv6
101
101
  };
102
- //# sourceMappingURL=index.js.map
102
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/dump.ts","../../src/IdLogger.ts","../../src/is-ip/ip-regex.ts","../../src/is-ip/is-ip.ts"],"sourcesContent":["export const dump = (object: unknown): string => {\n const cache: unknown[] = []\n return JSON.stringify(\n object,\n (key, value) => {\n if (typeof value === 'object' && value !== null) {\n // Duplicate reference found, discard key\n if (cache.includes(value)) {\n return '[circular]'\n }\n\n // Store value in our collection\n cache.push(value)\n }\n return value\n },\n 2,\n )\n}\n","import { getFunctionName, Logger } from '@xylabs/logger'\n\n/** @deprecated use from @xylabs/logger instead */\nexport class IdLogger implements Logger {\n private _id?: () => string\n private _logger: Logger\n\n constructor(logger: Logger, id?: () => string) {\n this._logger = logger\n this._id = id\n }\n\n set id(id: string) {\n this._id = () => id\n }\n\n debug(message?: unknown): void {\n this._logger?.debug(this.generate(message, getFunctionName(3)))\n }\n\n error(message?: unknown): void {\n this._logger?.error(this.generate(message, getFunctionName(3)))\n }\n\n info(message?: unknown): void {\n this._logger?.info(this.generate(message, getFunctionName(3)))\n }\n\n log(message?: unknown): void {\n this._logger?.log(this.generate(message, getFunctionName(3)))\n }\n\n warn(message?: unknown): void {\n this._logger?.warn(this.generate(message, getFunctionName(3)))\n }\n\n private generate(message?: unknown, tag?: string) {\n const idString = this._id ? `[${this._id}] ` : ''\n return `${tag} ${idString}${\n typeof message === 'string'\n? message\n : typeof message === 'object'\n? JSON.stringify(message, undefined, 2)\n : `${message}`\n }`\n }\n}\n","const word = String.raw`[a-fA-F\\d:]`\n\nexport interface Options {\n readonly exact?: boolean\n readonly includeBoundaries?: boolean\n}\n\nconst boundary = (options: Options) => (options && options.includeBoundaries ? `(?:(?<=\\\\s|^)(?=${word})|(?<=${word})(?=\\\\s|$))` : '')\n\nconst v4 = String.raw`(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)){3}`\n\nconst v6segment = String.raw`[a-fA-F\\d]{1,4}`\n\nconst v6 = `\n(?:\n(?:${v6segment}:){7}(?:${v6segment}|:)| // 1:2:3:4:5:6:7:: 1:2:3:4:5:6:7:8\n(?:${v6segment}:){6}(?:${v4}|:${v6segment}|:)| // 1:2:3:4:5:6:: 1:2:3:4:5:6::8 1:2:3:4:5:6::8 1:2:3:4:5:6::1.2.3.4\n(?:${v6segment}:){5}(?::${v4}|(?::${v6segment}){1,2}|:)| // 1:2:3:4:5:: 1:2:3:4:5::7:8 1:2:3:4:5::8 1:2:3:4:5::7:1.2.3.4\n(?:${v6segment}:){4}(?:(?::${v6segment}){0,1}:${v4}|(?::${v6segment}){1,3}|:)| // 1:2:3:4:: 1:2:3:4::6:7:8 1:2:3:4::8 1:2:3:4::6:7:1.2.3.4\n(?:${v6segment}:){3}(?:(?::${v6segment}){0,2}:${v4}|(?::${v6segment}){1,4}|:)| // 1:2:3:: 1:2:3::5:6:7:8 1:2:3::8 1:2:3::5:6:7:1.2.3.4\n(?:${v6segment}:){2}(?:(?::${v6segment}){0,3}:${v4}|(?::${v6segment}){1,5}|:)| // 1:2:: 1:2::4:5:6:7:8 1:2::8 1:2::4:5:6:7:1.2.3.4\n(?:${v6segment}:){1}(?:(?::${v6segment}){0,4}:${v4}|(?::${v6segment}){1,6}|:)| // 1:: 1::3:4:5:6:7:8 1::8 1::3:4:5:6:7:1.2.3.4\n(?::(?:(?::${v6segment}){0,5}:${v4}|(?::${v6segment}){1,7}|:)) // ::2:3:4:5:6:7:8 ::2:3:4:5:6:7:8 ::8 ::1.2.3.4\n)(?:%[0-9a-zA-Z]{1,})? // %eth0 %1\n`\n .replaceAll(/\\s*\\/\\/.*$/gm, '')\n .replaceAll('\\n', '')\n .trim()\n\n// Pre-compile only the exact regexes because adding a global flag make regexes stateful\nconst v46Exact = new RegExp(`(?:^${v4}$)|(?:^${v6}$)`)\nconst v4exact = new RegExp(`^${v4}$`)\nconst v6exact = new RegExp(`^${v6}$`)\n\nexport const ipRegex = (options: Options) =>\n options && options.exact\n ? v46Exact\n : new RegExp(`(?:${boundary(options)}${v4}${boundary(options)})|(?:${boundary(options)}${v6}${boundary(options)})`, 'g')\n\nipRegex.v4 = (options: Options) => (options && options.exact ? v4exact : new RegExp(`${boundary(options)}${v4}${boundary(options)}`, 'g'))\nipRegex.v6 = (options: Options) => (options && options.exact ? v6exact : new RegExp(`${boundary(options)}${v6}${boundary(options)}`, 'g'))\n","import { ipRegex } from './ip-regex.ts'\n\nexport function isIP(value: string): boolean {\n return ipRegex({ exact: true }).test(value)\n}\n\nexport function isIPv6(value: string): boolean {\n return ipRegex.v6({ exact: true }).test(value)\n}\n\nexport function isIPv4(value: string): boolean {\n return ipRegex.v4({ exact: true }).test(value)\n}\n\nexport function ipVersion(value: string): 6 | 4 | undefined {\n return (\n isIP(value)\n ? isIPv6(value)\n ? 6\n : 4\n : undefined\n )\n}\n"],"mappings":"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","names":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"ip-regex.d.ts","sourceRoot":"","sources":["../../../src/is-ip/ip-regex.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,OAAO;IACtB,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAA;IACxB,QAAQ,CAAC,iBAAiB,CAAC,EAAE,OAAO,CAAA;CACrC;AA6BD,eAAO,MAAM,OAAO;cAAa,OAAO;gBAKjB,OAAO;gBACP,OAAO;CAH4F,CAAA"}
1
+ {"version":3,"file":"ip-regex.d.ts","sourceRoot":"","sources":["../../../src/is-ip/ip-regex.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,OAAO;IACtB,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAA;IACxB,QAAQ,CAAC,iBAAiB,CAAC,EAAE,OAAO,CAAA;CACrC;AA6BD,eAAO,MAAM,OAAO;cAAa,OAAO;gBAKjB,OAAO;gBACP,OAAO;CAH8F,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"ip-regex.d.ts","sourceRoot":"","sources":["../../../src/is-ip/ip-regex.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,OAAO;IACtB,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAA;IACxB,QAAQ,CAAC,iBAAiB,CAAC,EAAE,OAAO,CAAA;CACrC;AA6BD,eAAO,MAAM,OAAO;cAAa,OAAO;gBAKjB,OAAO;gBACP,OAAO;CAH4F,CAAA"}
1
+ {"version":3,"file":"ip-regex.d.ts","sourceRoot":"","sources":["../../../src/is-ip/ip-regex.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,OAAO;IACtB,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAA;IACxB,QAAQ,CAAC,iBAAiB,CAAC,EAAE,OAAO,CAAA;CACrC;AA6BD,eAAO,MAAM,OAAO;cAAa,OAAO;gBAKjB,OAAO;gBACP,OAAO;CAH8F,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"ip-regex.d.ts","sourceRoot":"","sources":["../../../src/is-ip/ip-regex.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,OAAO;IACtB,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAA;IACxB,QAAQ,CAAC,iBAAiB,CAAC,EAAE,OAAO,CAAA;CACrC;AA6BD,eAAO,MAAM,OAAO;cAAa,OAAO;gBAKjB,OAAO;gBACP,OAAO;CAH4F,CAAA"}
1
+ {"version":3,"file":"ip-regex.d.ts","sourceRoot":"","sources":["../../../src/is-ip/ip-regex.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,OAAO;IACtB,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAA;IACxB,QAAQ,CAAC,iBAAiB,CAAC,EAAE,OAAO,CAAA;CACrC;AA6BD,eAAO,MAAM,OAAO;cAAa,OAAO;gBAKjB,OAAO;gBACP,OAAO;CAH8F,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"is-ip.d.ts","sourceRoot":"","sources":["../../../src/is-ip/is-ip.ts"],"names":[],"mappings":"AAEA,wBAAgB,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAE3C;AAED,wBAAgB,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAE7C;AAED,wBAAgB,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAE7C;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,CAAC,GAAG,CAAC,GAAG,SAAS,CAO1D"}
1
+ {"version":3,"file":"is-ip.d.ts","sourceRoot":"","sources":["../../../src/is-ip/is-ip.ts"],"names":[],"mappings":"AAEA,wBAAgB,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAE3C;AAED,wBAAgB,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAE7C;AAED,wBAAgB,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAE7C;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,CAAC,GAAG,CAAC,GAAG,SAAS,CAQ1D"}
@@ -1 +1 @@
1
- {"version":3,"file":"is-ip.d.ts","sourceRoot":"","sources":["../../../src/is-ip/is-ip.ts"],"names":[],"mappings":"AAEA,wBAAgB,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAE3C;AAED,wBAAgB,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAE7C;AAED,wBAAgB,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAE7C;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,CAAC,GAAG,CAAC,GAAG,SAAS,CAO1D"}
1
+ {"version":3,"file":"is-ip.d.ts","sourceRoot":"","sources":["../../../src/is-ip/is-ip.ts"],"names":[],"mappings":"AAEA,wBAAgB,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAE3C;AAED,wBAAgB,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAE7C;AAED,wBAAgB,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAE7C;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,CAAC,GAAG,CAAC,GAAG,SAAS,CAQ1D"}
@@ -1 +1 @@
1
- {"version":3,"file":"is-ip.d.ts","sourceRoot":"","sources":["../../../src/is-ip/is-ip.ts"],"names":[],"mappings":"AAEA,wBAAgB,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAE3C;AAED,wBAAgB,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAE7C;AAED,wBAAgB,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAE7C;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,CAAC,GAAG,CAAC,GAAG,SAAS,CAO1D"}
1
+ {"version":3,"file":"is-ip.d.ts","sourceRoot":"","sources":["../../../src/is-ip/is-ip.ts"],"names":[],"mappings":"AAEA,wBAAgB,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAE3C;AAED,wBAAgB,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAE7C;AAED,wBAAgB,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAE7C;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,CAAC,GAAG,CAAC,GAAG,SAAS,CAQ1D"}
package/package.json CHANGED
@@ -11,11 +11,11 @@
11
11
  },
12
12
  "description": "Primary SDK for using XYO Protocol 2.0",
13
13
  "dependencies": {
14
- "@xylabs/logger": "^3.6.6"
14
+ "@xylabs/logger": "^3.6.8"
15
15
  },
16
16
  "devDependencies": {
17
- "@xylabs/ts-scripts-yarn3": "^3.14.1",
18
- "@xylabs/tsconfig": "^3.14.1",
17
+ "@xylabs/ts-scripts-yarn3": "^3.15.5",
18
+ "@xylabs/tsconfig": "^3.15.5",
19
19
  "typescript": "^5.5.4"
20
20
  },
21
21
  "exports": {
@@ -27,7 +27,7 @@
27
27
  },
28
28
  "import": {
29
29
  "types": "./dist/browser/index.d.mts",
30
- "default": "./dist/browser/index.js"
30
+ "default": "./dist/browser/index.mjs"
31
31
  }
32
32
  },
33
33
  "node": {
@@ -37,14 +37,14 @@
37
37
  },
38
38
  "import": {
39
39
  "types": "./dist/node/index.d.mts",
40
- "default": "./dist/node/index.js"
40
+ "default": "./dist/node/index.mjs"
41
41
  }
42
42
  }
43
43
  },
44
44
  "./package.json": "./package.json"
45
45
  },
46
46
  "main": "dist/node/index.cjs",
47
- "module": "dist/node/index.js",
47
+ "module": "dist/node/index.mjs",
48
48
  "types": "dist/node/index.d.mts",
49
49
  "homepage": "https://xyo.network",
50
50
  "license": "LGPL-3.0-only",
@@ -56,6 +56,6 @@
56
56
  "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js.git"
57
57
  },
58
58
  "sideEffects": false,
59
- "version": "2.110.18",
59
+ "version": "2.111.0",
60
60
  "type": "module"
61
61
  }
package/src/IdLogger.ts CHANGED
@@ -17,15 +17,19 @@ export class IdLogger implements Logger {
17
17
  debug(message?: unknown): void {
18
18
  this._logger?.debug(this.generate(message, getFunctionName(3)))
19
19
  }
20
+
20
21
  error(message?: unknown): void {
21
22
  this._logger?.error(this.generate(message, getFunctionName(3)))
22
23
  }
24
+
23
25
  info(message?: unknown): void {
24
26
  this._logger?.info(this.generate(message, getFunctionName(3)))
25
27
  }
28
+
26
29
  log(message?: unknown): void {
27
30
  this._logger?.log(this.generate(message, getFunctionName(3)))
28
31
  }
32
+
29
33
  warn(message?: unknown): void {
30
34
  this._logger?.warn(this.generate(message, getFunctionName(3)))
31
35
  }
@@ -33,8 +37,10 @@ export class IdLogger implements Logger {
33
37
  private generate(message?: unknown, tag?: string) {
34
38
  const idString = this._id ? `[${this._id}] ` : ''
35
39
  return `${tag} ${idString}${
36
- typeof message === 'string' ? message
37
- : typeof message === 'object' ? JSON.stringify(message, undefined, 2)
40
+ typeof message === 'string'
41
+ ? message
42
+ : typeof message === 'object'
43
+ ? JSON.stringify(message, undefined, 2)
38
44
  : `${message}`
39
45
  }`
40
46
  }
@@ -33,9 +33,9 @@ const v4exact = new RegExp(`^${v4}$`)
33
33
  const v6exact = new RegExp(`^${v6}$`)
34
34
 
35
35
  export const ipRegex = (options: Options) =>
36
- options && options.exact ?
37
- v46Exact
38
- : new RegExp(`(?:${boundary(options)}${v4}${boundary(options)})|(?:${boundary(options)}${v6}${boundary(options)})`, 'g')
36
+ options && options.exact
37
+ ? v46Exact
38
+ : new RegExp(`(?:${boundary(options)}${v4}${boundary(options)})|(?:${boundary(options)}${v6}${boundary(options)})`, 'g')
39
39
 
40
40
  ipRegex.v4 = (options: Options) => (options && options.exact ? v4exact : new RegExp(`${boundary(options)}${v4}${boundary(options)}`, 'g'))
41
41
  ipRegex.v6 = (options: Options) => (options && options.exact ? v6exact : new RegExp(`${boundary(options)}${v6}${boundary(options)}`, 'g'))
@@ -14,9 +14,10 @@ export function isIPv4(value: string): boolean {
14
14
 
15
15
  export function ipVersion(value: string): 6 | 4 | undefined {
16
16
  return (
17
- isIP(value) ?
18
- isIPv6(value) ? 6
19
- : 4
20
- : undefined
17
+ isIP(value)
18
+ ? isIPv6(value)
19
+ ? 6
20
+ : 4
21
+ : undefined
21
22
  )
22
23
  }
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/dump.ts","../../src/IdLogger.ts","../../src/is-ip/ip-regex.ts","../../src/is-ip/is-ip.ts"],"sourcesContent":["export const dump = (object: unknown): string => {\n const cache: unknown[] = []\n return JSON.stringify(\n object,\n (key, value) => {\n if (typeof value === 'object' && value !== null) {\n // Duplicate reference found, discard key\n if (cache.includes(value)) {\n return '[circular]'\n }\n\n // Store value in our collection\n cache.push(value)\n }\n return value\n },\n 2,\n )\n}\n","import { getFunctionName, Logger } from '@xylabs/logger'\n\n/** @deprecated use from @xylabs/logger instead */\nexport class IdLogger implements Logger {\n private _id?: () => string\n private _logger: Logger\n\n constructor(logger: Logger, id?: () => string) {\n this._logger = logger\n this._id = id\n }\n\n set id(id: string) {\n this._id = () => id\n }\n\n debug(message?: unknown): void {\n this._logger?.debug(this.generate(message, getFunctionName(3)))\n }\n error(message?: unknown): void {\n this._logger?.error(this.generate(message, getFunctionName(3)))\n }\n info(message?: unknown): void {\n this._logger?.info(this.generate(message, getFunctionName(3)))\n }\n log(message?: unknown): void {\n this._logger?.log(this.generate(message, getFunctionName(3)))\n }\n warn(message?: unknown): void {\n this._logger?.warn(this.generate(message, getFunctionName(3)))\n }\n\n private generate(message?: unknown, tag?: string) {\n const idString = this._id ? `[${this._id}] ` : ''\n return `${tag} ${idString}${\n typeof message === 'string' ? message\n : typeof message === 'object' ? JSON.stringify(message, undefined, 2)\n : `${message}`\n }`\n }\n}\n","const word = String.raw`[a-fA-F\\d:]`\n\nexport interface Options {\n readonly exact?: boolean\n readonly includeBoundaries?: boolean\n}\n\nconst boundary = (options: Options) => (options && options.includeBoundaries ? `(?:(?<=\\\\s|^)(?=${word})|(?<=${word})(?=\\\\s|$))` : '')\n\nconst v4 = String.raw`(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)){3}`\n\nconst v6segment = String.raw`[a-fA-F\\d]{1,4}`\n\nconst v6 = `\n(?:\n(?:${v6segment}:){7}(?:${v6segment}|:)| // 1:2:3:4:5:6:7:: 1:2:3:4:5:6:7:8\n(?:${v6segment}:){6}(?:${v4}|:${v6segment}|:)| // 1:2:3:4:5:6:: 1:2:3:4:5:6::8 1:2:3:4:5:6::8 1:2:3:4:5:6::1.2.3.4\n(?:${v6segment}:){5}(?::${v4}|(?::${v6segment}){1,2}|:)| // 1:2:3:4:5:: 1:2:3:4:5::7:8 1:2:3:4:5::8 1:2:3:4:5::7:1.2.3.4\n(?:${v6segment}:){4}(?:(?::${v6segment}){0,1}:${v4}|(?::${v6segment}){1,3}|:)| // 1:2:3:4:: 1:2:3:4::6:7:8 1:2:3:4::8 1:2:3:4::6:7:1.2.3.4\n(?:${v6segment}:){3}(?:(?::${v6segment}){0,2}:${v4}|(?::${v6segment}){1,4}|:)| // 1:2:3:: 1:2:3::5:6:7:8 1:2:3::8 1:2:3::5:6:7:1.2.3.4\n(?:${v6segment}:){2}(?:(?::${v6segment}){0,3}:${v4}|(?::${v6segment}){1,5}|:)| // 1:2:: 1:2::4:5:6:7:8 1:2::8 1:2::4:5:6:7:1.2.3.4\n(?:${v6segment}:){1}(?:(?::${v6segment}){0,4}:${v4}|(?::${v6segment}){1,6}|:)| // 1:: 1::3:4:5:6:7:8 1::8 1::3:4:5:6:7:1.2.3.4\n(?::(?:(?::${v6segment}){0,5}:${v4}|(?::${v6segment}){1,7}|:)) // ::2:3:4:5:6:7:8 ::2:3:4:5:6:7:8 ::8 ::1.2.3.4\n)(?:%[0-9a-zA-Z]{1,})? // %eth0 %1\n`\n .replaceAll(/\\s*\\/\\/.*$/gm, '')\n .replaceAll('\\n', '')\n .trim()\n\n// Pre-compile only the exact regexes because adding a global flag make regexes stateful\nconst v46Exact = new RegExp(`(?:^${v4}$)|(?:^${v6}$)`)\nconst v4exact = new RegExp(`^${v4}$`)\nconst v6exact = new RegExp(`^${v6}$`)\n\nexport const ipRegex = (options: Options) =>\n options && options.exact ?\n v46Exact\n : new RegExp(`(?:${boundary(options)}${v4}${boundary(options)})|(?:${boundary(options)}${v6}${boundary(options)})`, 'g')\n\nipRegex.v4 = (options: Options) => (options && options.exact ? v4exact : new RegExp(`${boundary(options)}${v4}${boundary(options)}`, 'g'))\nipRegex.v6 = (options: Options) => (options && options.exact ? v6exact : new RegExp(`${boundary(options)}${v6}${boundary(options)}`, 'g'))\n","import { ipRegex } from './ip-regex.ts'\n\nexport function isIP(value: string): boolean {\n return ipRegex({ exact: true }).test(value)\n}\n\nexport function isIPv6(value: string): boolean {\n return ipRegex.v6({ exact: true }).test(value)\n}\n\nexport function isIPv4(value: string): boolean {\n return ipRegex.v4({ exact: true }).test(value)\n}\n\nexport function ipVersion(value: string): 6 | 4 | undefined {\n return (\n isIP(value) ?\n isIPv6(value) ? 6\n : 4\n : undefined\n )\n}\n"],"mappings":"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","names":[]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/dump.ts","../../src/IdLogger.ts","../../src/is-ip/ip-regex.ts","../../src/is-ip/is-ip.ts"],"sourcesContent":["export const dump = (object: unknown): string => {\n const cache: unknown[] = []\n return JSON.stringify(\n object,\n (key, value) => {\n if (typeof value === 'object' && value !== null) {\n // Duplicate reference found, discard key\n if (cache.includes(value)) {\n return '[circular]'\n }\n\n // Store value in our collection\n cache.push(value)\n }\n return value\n },\n 2,\n )\n}\n","import { getFunctionName, Logger } from '@xylabs/logger'\n\n/** @deprecated use from @xylabs/logger instead */\nexport class IdLogger implements Logger {\n private _id?: () => string\n private _logger: Logger\n\n constructor(logger: Logger, id?: () => string) {\n this._logger = logger\n this._id = id\n }\n\n set id(id: string) {\n this._id = () => id\n }\n\n debug(message?: unknown): void {\n this._logger?.debug(this.generate(message, getFunctionName(3)))\n }\n error(message?: unknown): void {\n this._logger?.error(this.generate(message, getFunctionName(3)))\n }\n info(message?: unknown): void {\n this._logger?.info(this.generate(message, getFunctionName(3)))\n }\n log(message?: unknown): void {\n this._logger?.log(this.generate(message, getFunctionName(3)))\n }\n warn(message?: unknown): void {\n this._logger?.warn(this.generate(message, getFunctionName(3)))\n }\n\n private generate(message?: unknown, tag?: string) {\n const idString = this._id ? `[${this._id}] ` : ''\n return `${tag} ${idString}${\n typeof message === 'string' ? message\n : typeof message === 'object' ? JSON.stringify(message, undefined, 2)\n : `${message}`\n }`\n }\n}\n","const word = String.raw`[a-fA-F\\d:]`\n\nexport interface Options {\n readonly exact?: boolean\n readonly includeBoundaries?: boolean\n}\n\nconst boundary = (options: Options) => (options && options.includeBoundaries ? `(?:(?<=\\\\s|^)(?=${word})|(?<=${word})(?=\\\\s|$))` : '')\n\nconst v4 = String.raw`(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)){3}`\n\nconst v6segment = String.raw`[a-fA-F\\d]{1,4}`\n\nconst v6 = `\n(?:\n(?:${v6segment}:){7}(?:${v6segment}|:)| // 1:2:3:4:5:6:7:: 1:2:3:4:5:6:7:8\n(?:${v6segment}:){6}(?:${v4}|:${v6segment}|:)| // 1:2:3:4:5:6:: 1:2:3:4:5:6::8 1:2:3:4:5:6::8 1:2:3:4:5:6::1.2.3.4\n(?:${v6segment}:){5}(?::${v4}|(?::${v6segment}){1,2}|:)| // 1:2:3:4:5:: 1:2:3:4:5::7:8 1:2:3:4:5::8 1:2:3:4:5::7:1.2.3.4\n(?:${v6segment}:){4}(?:(?::${v6segment}){0,1}:${v4}|(?::${v6segment}){1,3}|:)| // 1:2:3:4:: 1:2:3:4::6:7:8 1:2:3:4::8 1:2:3:4::6:7:1.2.3.4\n(?:${v6segment}:){3}(?:(?::${v6segment}){0,2}:${v4}|(?::${v6segment}){1,4}|:)| // 1:2:3:: 1:2:3::5:6:7:8 1:2:3::8 1:2:3::5:6:7:1.2.3.4\n(?:${v6segment}:){2}(?:(?::${v6segment}){0,3}:${v4}|(?::${v6segment}){1,5}|:)| // 1:2:: 1:2::4:5:6:7:8 1:2::8 1:2::4:5:6:7:1.2.3.4\n(?:${v6segment}:){1}(?:(?::${v6segment}){0,4}:${v4}|(?::${v6segment}){1,6}|:)| // 1:: 1::3:4:5:6:7:8 1::8 1::3:4:5:6:7:1.2.3.4\n(?::(?:(?::${v6segment}){0,5}:${v4}|(?::${v6segment}){1,7}|:)) // ::2:3:4:5:6:7:8 ::2:3:4:5:6:7:8 ::8 ::1.2.3.4\n)(?:%[0-9a-zA-Z]{1,})? // %eth0 %1\n`\n .replaceAll(/\\s*\\/\\/.*$/gm, '')\n .replaceAll('\\n', '')\n .trim()\n\n// Pre-compile only the exact regexes because adding a global flag make regexes stateful\nconst v46Exact = new RegExp(`(?:^${v4}$)|(?:^${v6}$)`)\nconst v4exact = new RegExp(`^${v4}$`)\nconst v6exact = new RegExp(`^${v6}$`)\n\nexport const ipRegex = (options: Options) =>\n options && options.exact ?\n v46Exact\n : new RegExp(`(?:${boundary(options)}${v4}${boundary(options)})|(?:${boundary(options)}${v6}${boundary(options)})`, 'g')\n\nipRegex.v4 = (options: Options) => (options && options.exact ? v4exact : new RegExp(`${boundary(options)}${v4}${boundary(options)}`, 'g'))\nipRegex.v6 = (options: Options) => (options && options.exact ? v6exact : new RegExp(`${boundary(options)}${v6}${boundary(options)}`, 'g'))\n","import { ipRegex } from './ip-regex.ts'\n\nexport function isIP(value: string): boolean {\n return ipRegex({ exact: true }).test(value)\n}\n\nexport function isIPv6(value: string): boolean {\n return ipRegex.v6({ exact: true }).test(value)\n}\n\nexport function isIPv4(value: string): boolean {\n return ipRegex.v4({ exact: true }).test(value)\n}\n\nexport function ipVersion(value: string): 6 | 4 | undefined {\n return (\n isIP(value) ?\n isIPv6(value) ? 6\n : 4\n : undefined\n )\n}\n"],"mappings":"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","names":[]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/dump.ts","../../src/IdLogger.ts","../../src/is-ip/ip-regex.ts","../../src/is-ip/is-ip.ts"],"sourcesContent":["export const dump = (object: unknown): string => {\n const cache: unknown[] = []\n return JSON.stringify(\n object,\n (key, value) => {\n if (typeof value === 'object' && value !== null) {\n // Duplicate reference found, discard key\n if (cache.includes(value)) {\n return '[circular]'\n }\n\n // Store value in our collection\n cache.push(value)\n }\n return value\n },\n 2,\n )\n}\n","import { getFunctionName, Logger } from '@xylabs/logger'\n\n/** @deprecated use from @xylabs/logger instead */\nexport class IdLogger implements Logger {\n private _id?: () => string\n private _logger: Logger\n\n constructor(logger: Logger, id?: () => string) {\n this._logger = logger\n this._id = id\n }\n\n set id(id: string) {\n this._id = () => id\n }\n\n debug(message?: unknown): void {\n this._logger?.debug(this.generate(message, getFunctionName(3)))\n }\n error(message?: unknown): void {\n this._logger?.error(this.generate(message, getFunctionName(3)))\n }\n info(message?: unknown): void {\n this._logger?.info(this.generate(message, getFunctionName(3)))\n }\n log(message?: unknown): void {\n this._logger?.log(this.generate(message, getFunctionName(3)))\n }\n warn(message?: unknown): void {\n this._logger?.warn(this.generate(message, getFunctionName(3)))\n }\n\n private generate(message?: unknown, tag?: string) {\n const idString = this._id ? `[${this._id}] ` : ''\n return `${tag} ${idString}${\n typeof message === 'string' ? message\n : typeof message === 'object' ? JSON.stringify(message, undefined, 2)\n : `${message}`\n }`\n }\n}\n","const word = String.raw`[a-fA-F\\d:]`\n\nexport interface Options {\n readonly exact?: boolean\n readonly includeBoundaries?: boolean\n}\n\nconst boundary = (options: Options) => (options && options.includeBoundaries ? `(?:(?<=\\\\s|^)(?=${word})|(?<=${word})(?=\\\\s|$))` : '')\n\nconst v4 = String.raw`(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)){3}`\n\nconst v6segment = String.raw`[a-fA-F\\d]{1,4}`\n\nconst v6 = `\n(?:\n(?:${v6segment}:){7}(?:${v6segment}|:)| // 1:2:3:4:5:6:7:: 1:2:3:4:5:6:7:8\n(?:${v6segment}:){6}(?:${v4}|:${v6segment}|:)| // 1:2:3:4:5:6:: 1:2:3:4:5:6::8 1:2:3:4:5:6::8 1:2:3:4:5:6::1.2.3.4\n(?:${v6segment}:){5}(?::${v4}|(?::${v6segment}){1,2}|:)| // 1:2:3:4:5:: 1:2:3:4:5::7:8 1:2:3:4:5::8 1:2:3:4:5::7:1.2.3.4\n(?:${v6segment}:){4}(?:(?::${v6segment}){0,1}:${v4}|(?::${v6segment}){1,3}|:)| // 1:2:3:4:: 1:2:3:4::6:7:8 1:2:3:4::8 1:2:3:4::6:7:1.2.3.4\n(?:${v6segment}:){3}(?:(?::${v6segment}){0,2}:${v4}|(?::${v6segment}){1,4}|:)| // 1:2:3:: 1:2:3::5:6:7:8 1:2:3::8 1:2:3::5:6:7:1.2.3.4\n(?:${v6segment}:){2}(?:(?::${v6segment}){0,3}:${v4}|(?::${v6segment}){1,5}|:)| // 1:2:: 1:2::4:5:6:7:8 1:2::8 1:2::4:5:6:7:1.2.3.4\n(?:${v6segment}:){1}(?:(?::${v6segment}){0,4}:${v4}|(?::${v6segment}){1,6}|:)| // 1:: 1::3:4:5:6:7:8 1::8 1::3:4:5:6:7:1.2.3.4\n(?::(?:(?::${v6segment}){0,5}:${v4}|(?::${v6segment}){1,7}|:)) // ::2:3:4:5:6:7:8 ::2:3:4:5:6:7:8 ::8 ::1.2.3.4\n)(?:%[0-9a-zA-Z]{1,})? // %eth0 %1\n`\n .replaceAll(/\\s*\\/\\/.*$/gm, '')\n .replaceAll('\\n', '')\n .trim()\n\n// Pre-compile only the exact regexes because adding a global flag make regexes stateful\nconst v46Exact = new RegExp(`(?:^${v4}$)|(?:^${v6}$)`)\nconst v4exact = new RegExp(`^${v4}$`)\nconst v6exact = new RegExp(`^${v6}$`)\n\nexport const ipRegex = (options: Options) =>\n options && options.exact ?\n v46Exact\n : new RegExp(`(?:${boundary(options)}${v4}${boundary(options)})|(?:${boundary(options)}${v6}${boundary(options)})`, 'g')\n\nipRegex.v4 = (options: Options) => (options && options.exact ? v4exact : new RegExp(`${boundary(options)}${v4}${boundary(options)}`, 'g'))\nipRegex.v6 = (options: Options) => (options && options.exact ? v6exact : new RegExp(`${boundary(options)}${v6}${boundary(options)}`, 'g'))\n","import { ipRegex } from './ip-regex.ts'\n\nexport function isIP(value: string): boolean {\n return ipRegex({ exact: true }).test(value)\n}\n\nexport function isIPv6(value: string): boolean {\n return ipRegex.v6({ exact: true }).test(value)\n}\n\nexport function isIPv4(value: string): boolean {\n return ipRegex.v4({ exact: true }).test(value)\n}\n\nexport function ipVersion(value: string): 6 | 4 | undefined {\n return (\n isIP(value) ?\n isIPv6(value) ? 6\n : 4\n : undefined\n )\n}\n"],"mappings":";AAAO,IAAM,OAAO,CAAC,WAA4B;AAC/C,QAAM,QAAmB,CAAC;AAC1B,SAAO,KAAK;AAAA,IACV;AAAA,IACA,CAAC,KAAK,UAAU;AACd,UAAI,OAAO,UAAU,YAAY,UAAU,MAAM;AAE/C,YAAI,MAAM,SAAS,KAAK,GAAG;AACzB,iBAAO;AAAA,QACT;AAGA,cAAM,KAAK,KAAK;AAAA,MAClB;AACA,aAAO;AAAA,IACT;AAAA,IACA;AAAA,EACF;AACF;;;AClBA,SAAS,uBAA+B;AAGjC,IAAM,WAAN,MAAiC;AAAA,EAC9B;AAAA,EACA;AAAA,EAER,YAAY,QAAgB,IAAmB;AAC7C,SAAK,UAAU;AACf,SAAK,MAAM;AAAA,EACb;AAAA,EAEA,IAAI,GAAG,IAAY;AACjB,SAAK,MAAM,MAAM;AAAA,EACnB;AAAA,EAEA,MAAM,SAAyB;AAhBjC;AAiBI,eAAK,YAAL,mBAAc,MAAM,KAAK,SAAS,SAAS,gBAAgB,CAAC,CAAC;AAAA,EAC/D;AAAA,EACA,MAAM,SAAyB;AAnBjC;AAoBI,eAAK,YAAL,mBAAc,MAAM,KAAK,SAAS,SAAS,gBAAgB,CAAC,CAAC;AAAA,EAC/D;AAAA,EACA,KAAK,SAAyB;AAtBhC;AAuBI,eAAK,YAAL,mBAAc,KAAK,KAAK,SAAS,SAAS,gBAAgB,CAAC,CAAC;AAAA,EAC9D;AAAA,EACA,IAAI,SAAyB;AAzB/B;AA0BI,eAAK,YAAL,mBAAc,IAAI,KAAK,SAAS,SAAS,gBAAgB,CAAC,CAAC;AAAA,EAC7D;AAAA,EACA,KAAK,SAAyB;AA5BhC;AA6BI,eAAK,YAAL,mBAAc,KAAK,KAAK,SAAS,SAAS,gBAAgB,CAAC,CAAC;AAAA,EAC9D;AAAA,EAEQ,SAAS,SAAmB,KAAc;AAChD,UAAM,WAAW,KAAK,MAAM,IAAI,KAAK,GAAG,OAAO;AAC/C,WAAO,GAAG,GAAG,IAAI,QAAQ,GACvB,OAAO,YAAY,WAAW,UAC5B,OAAO,YAAY,WAAW,KAAK,UAAU,SAAS,QAAW,CAAC,IAClE,GAAG,OAAO,EACd;AAAA,EACF;AACF;;;ACxCA,IAAM,OAAO,OAAO;AAOpB,IAAM,WAAW,CAAC,YAAsB,WAAW,QAAQ,oBAAoB,mBAAmB,IAAI,SAAS,IAAI,gBAAgB;AAEnI,IAAM,KAAK,OAAO;AAElB,IAAM,YAAY,OAAO;AAEzB,IAAM,KAAK;AAAA;AAAA,KAEN,SAAS,WAAW,SAAS;AAAA,KAC7B,SAAS,WAAW,EAAE,KAAK,SAAS;AAAA,KACpC,SAAS,YAAY,EAAE,QAAQ,SAAS;AAAA,KACxC,SAAS,eAAe,SAAS,UAAU,EAAE,QAAQ,SAAS;AAAA,KAC9D,SAAS,eAAe,SAAS,UAAU,EAAE,QAAQ,SAAS;AAAA,KAC9D,SAAS,eAAe,SAAS,UAAU,EAAE,QAAQ,SAAS;AAAA,KAC9D,SAAS,eAAe,SAAS,UAAU,EAAE,QAAQ,SAAS;AAAA,aACtD,SAAS,UAAU,EAAE,QAAQ,SAAS;AAAA;AAAA,EAGhD,WAAW,gBAAgB,EAAE,EAC7B,WAAW,MAAM,EAAE,EACnB,KAAK;AAGR,IAAM,WAAW,IAAI,OAAO,OAAO,EAAE,UAAU,EAAE,IAAI;AACrD,IAAM,UAAU,IAAI,OAAO,IAAI,EAAE,GAAG;AACpC,IAAM,UAAU,IAAI,OAAO,IAAI,EAAE,GAAG;AAE7B,IAAM,UAAU,CAAC,YACtB,WAAW,QAAQ,QACjB,WACA,IAAI,OAAO,MAAM,SAAS,OAAO,CAAC,GAAG,EAAE,GAAG,SAAS,OAAO,CAAC,QAAQ,SAAS,OAAO,CAAC,GAAG,EAAE,GAAG,SAAS,OAAO,CAAC,KAAK,GAAG;AAEzH,QAAQ,KAAK,CAAC,YAAsB,WAAW,QAAQ,QAAQ,UAAU,IAAI,OAAO,GAAG,SAAS,OAAO,CAAC,GAAG,EAAE,GAAG,SAAS,OAAO,CAAC,IAAI,GAAG;AACxI,QAAQ,KAAK,CAAC,YAAsB,WAAW,QAAQ,QAAQ,UAAU,IAAI,OAAO,GAAG,SAAS,OAAO,CAAC,GAAG,EAAE,GAAG,SAAS,OAAO,CAAC,IAAI,GAAG;;;ACtCjI,SAAS,KAAK,OAAwB;AAC3C,SAAO,QAAQ,EAAE,OAAO,KAAK,CAAC,EAAE,KAAK,KAAK;AAC5C;AAEO,SAAS,OAAO,OAAwB;AAC7C,SAAO,QAAQ,GAAG,EAAE,OAAO,KAAK,CAAC,EAAE,KAAK,KAAK;AAC/C;AAEO,SAAS,OAAO,OAAwB;AAC7C,SAAO,QAAQ,GAAG,EAAE,OAAO,KAAK,CAAC,EAAE,KAAK,KAAK;AAC/C;AAEO,SAAS,UAAU,OAAkC;AAC1D,SACE,KAAK,KAAK,IACR,OAAO,KAAK,IAAI,IACd,IACF;AAEN;","names":[]}