@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.
- package/dist/browser/IdLogger.d.cts.map +1 -1
- package/dist/browser/IdLogger.d.mts.map +1 -1
- package/dist/browser/IdLogger.d.ts.map +1 -1
- package/dist/browser/index.cjs.map +1 -1
- package/dist/browser/{index.js → index.mjs} +1 -1
- package/dist/browser/index.mjs.map +1 -0
- package/dist/browser/is-ip/ip-regex.d.cts.map +1 -1
- package/dist/browser/is-ip/ip-regex.d.mts.map +1 -1
- package/dist/browser/is-ip/ip-regex.d.ts.map +1 -1
- package/dist/browser/is-ip/is-ip.d.cts.map +1 -1
- package/dist/browser/is-ip/is-ip.d.mts.map +1 -1
- package/dist/browser/is-ip/is-ip.d.ts.map +1 -1
- package/dist/neutral/IdLogger.d.cts.map +1 -1
- package/dist/neutral/IdLogger.d.mts.map +1 -1
- package/dist/neutral/IdLogger.d.ts.map +1 -1
- package/dist/neutral/index.cjs.map +1 -1
- package/dist/neutral/{index.js → index.mjs} +1 -1
- package/dist/neutral/index.mjs.map +1 -0
- package/dist/neutral/is-ip/ip-regex.d.cts.map +1 -1
- package/dist/neutral/is-ip/ip-regex.d.mts.map +1 -1
- package/dist/neutral/is-ip/ip-regex.d.ts.map +1 -1
- package/dist/neutral/is-ip/is-ip.d.cts.map +1 -1
- package/dist/neutral/is-ip/is-ip.d.mts.map +1 -1
- package/dist/neutral/is-ip/is-ip.d.ts.map +1 -1
- package/dist/node/IdLogger.d.cts.map +1 -1
- package/dist/node/IdLogger.d.mts.map +1 -1
- package/dist/node/IdLogger.d.ts.map +1 -1
- package/dist/node/index.cjs.map +1 -1
- package/dist/node/{index.js → index.mjs} +1 -1
- package/dist/node/index.mjs.map +1 -0
- package/dist/node/is-ip/ip-regex.d.cts.map +1 -1
- package/dist/node/is-ip/ip-regex.d.mts.map +1 -1
- package/dist/node/is-ip/ip-regex.d.ts.map +1 -1
- package/dist/node/is-ip/is-ip.d.cts.map +1 -1
- package/dist/node/is-ip/is-ip.d.mts.map +1 -1
- package/dist/node/is-ip/is-ip.d.ts.map +1 -1
- package/package.json +7 -7
- package/src/IdLogger.ts +8 -2
- package/src/is-ip/ip-regex.ts +3 -3
- package/src/is-ip/is-ip.ts +5 -4
- package/dist/browser/index.js.map +0 -1
- package/dist/neutral/index.js.map +0 -1
- 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;
|
|
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;
|
|
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;
|
|
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'
|
|
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":[]}
|
|
@@ -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;
|
|
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;
|
|
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;
|
|
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,
|
|
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,
|
|
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,
|
|
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;
|
|
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;
|
|
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;
|
|
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'
|
|
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":[]}
|
|
@@ -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;
|
|
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;
|
|
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;
|
|
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,
|
|
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,
|
|
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,
|
|
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;
|
|
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;
|
|
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;
|
|
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"}
|
package/dist/node/index.cjs.map
CHANGED
|
@@ -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'
|
|
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":[]}
|
|
@@ -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;
|
|
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;
|
|
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;
|
|
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,
|
|
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,
|
|
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,
|
|
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.
|
|
14
|
+
"@xylabs/logger": "^3.6.8"
|
|
15
15
|
},
|
|
16
16
|
"devDependencies": {
|
|
17
|
-
"@xylabs/ts-scripts-yarn3": "^3.
|
|
18
|
-
"@xylabs/tsconfig": "^3.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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'
|
|
37
|
-
|
|
40
|
+
typeof message === 'string'
|
|
41
|
+
? message
|
|
42
|
+
: typeof message === 'object'
|
|
43
|
+
? JSON.stringify(message, undefined, 2)
|
|
38
44
|
: `${message}`
|
|
39
45
|
}`
|
|
40
46
|
}
|
package/src/is-ip/ip-regex.ts
CHANGED
|
@@ -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
|
-
|
|
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'))
|
package/src/is-ip/is-ip.ts
CHANGED
|
@@ -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)
|
|
19
|
-
|
|
20
|
-
|
|
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":";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;AAC7B,SAAK,SAAS,MAAM,KAAK,SAAS,SAAS,gBAAgB,CAAC,CAAC,CAAC;AAAA,EAChE;AAAA,EACA,MAAM,SAAyB;AAC7B,SAAK,SAAS,MAAM,KAAK,SAAS,SAAS,gBAAgB,CAAC,CAAC,CAAC;AAAA,EAChE;AAAA,EACA,KAAK,SAAyB;AAC5B,SAAK,SAAS,KAAK,KAAK,SAAS,SAAS,gBAAgB,CAAC,CAAC,CAAC;AAAA,EAC/D;AAAA,EACA,IAAI,SAAyB;AAC3B,SAAK,SAAS,IAAI,KAAK,SAAS,SAAS,gBAAgB,CAAC,CAAC,CAAC;AAAA,EAC9D;AAAA,EACA,KAAK,SAAyB;AAC5B,SAAK,SAAS,KAAK,KAAK,SAAS,SAAS,gBAAgB,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 +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":[]}
|
package/dist/node/index.js.map
DELETED
|
@@ -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":[]}
|