@xyo-network/shared 2.106.0-rc.5 → 2.107.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.
@@ -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'\nexport * from './IdLogger'\nexport * from './is-ip'\nexport * from './Job'\n","export const dump = (object: unknown) => {\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) {\n this._logger?.debug(this.generate(message, getFunctionName(3)))\n }\n error(message?: unknown) {\n this._logger?.error(this.generate(message, getFunctionName(3)))\n }\n info(message?: unknown) {\n this._logger?.info(this.generate(message, getFunctionName(3)))\n }\n log(message?: unknown) {\n this._logger?.log(this.generate(message, getFunctionName(3)))\n }\n warn(message?: unknown) {\n this._logger?.warn(this.generate(message, getFunctionName(3)))\n }\n\n private generate(message?: unknown, tag?: string) {\n return `${tag} ${this._id ? `[${this._id}] ` : ''}${\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'\n\nexport function isIP(value: string) {\n return ipRegex({ exact: true }).test(value)\n}\n\nexport function isIPv6(value: string) {\n return ipRegex.v6({ exact: true }).test(value)\n}\n\nexport function isIPv4(value: string) {\n return ipRegex.v4({ exact: true }).test(value)\n}\n\nexport function ipVersion(value: string) {\n return (\n isIP(value) ?\n isIPv6(value) ? 6\n : 4\n : undefined\n )\n}\n"],"mappings":"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","names":["dump","object","cache","JSON","stringify","key","value","includes","push","IdLogger","_id","_logger","constructor","logger","id","debug","message","generate","getFunctionName","error","info","log","warn","tag","JSON","stringify","undefined","word","String","raw","boundary","options","includeBoundaries","v4","v6segment","v6","replaceAll","trim","v46Exact","RegExp","v4exact","v6exact","ipRegex","exact","isIP","value","ipRegex","exact","test","isIPv6","v6","isIPv4","v4","ipVersion","undefined"]}
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'\nexport * from './IdLogger'\nexport * from './is-ip'\nexport * from './Job'\n","export const dump = (object: unknown) => {\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) {\n this._logger?.debug(this.generate(message, getFunctionName(3)))\n }\n error(message?: unknown) {\n this._logger?.error(this.generate(message, getFunctionName(3)))\n }\n info(message?: unknown) {\n this._logger?.info(this.generate(message, getFunctionName(3)))\n }\n log(message?: unknown) {\n this._logger?.log(this.generate(message, getFunctionName(3)))\n }\n warn(message?: unknown) {\n this._logger?.warn(this.generate(message, getFunctionName(3)))\n }\n\n private generate(message?: unknown, tag?: string) {\n return `${tag} ${this._id ? `[${this._id}] ` : ''}${\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'\n\nexport function isIP(value: string) {\n return ipRegex({ exact: true }).test(value)\n}\n\nexport function isIPv6(value: string) {\n return ipRegex.v6({ exact: true }).test(value)\n}\n\nexport function isIPv4(value: string) {\n return ipRegex.v4({ exact: true }).test(value)\n}\n\nexport function ipVersion(value: string) {\n return (\n isIP(value) ?\n isIPv6(value) ? 6\n : 4\n : undefined\n )\n}\n"],"mappings":"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","names":["src_exports","__export","IdLogger","dump","ipVersion","isIP","isIPv4","isIPv6","__toCommonJS","dump","__name","object","cache","JSON","stringify","key","value","includes","push","import_logger","IdLogger","_id","_logger","constructor","logger","id","debug","message","generate","getFunctionName","error","info","log","warn","tag","JSON","stringify","undefined","word","String","raw","boundary","__name","options","includeBoundaries","v4","v6segment","v6","replaceAll","trim","v46Exact","RegExp","v4exact","v6exact","ipRegex","exact","isIP","value","ipRegex","exact","test","isIPv6","v6","isIPv4","v4","ipVersion","undefined"]}
@@ -1,108 +1,14 @@
1
- var __defProp = Object.defineProperty;
2
- var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
3
-
4
- // src/dump.ts
5
- var dump = /* @__PURE__ */ __name((object) => {
6
- const cache = [];
7
- return JSON.stringify(object, (key, value) => {
8
- if (typeof value === "object" && value !== null) {
9
- if (cache.includes(value)) {
10
- return "[circular]";
11
- }
12
- cache.push(value);
13
- }
14
- return value;
15
- }, 2);
16
- }, "dump");
17
-
18
- // src/IdLogger.ts
19
- import { getFunctionName } from "@xylabs/logger";
20
- var IdLogger = class {
21
- static {
22
- __name(this, "IdLogger");
23
- }
24
- _id;
25
- _logger;
26
- constructor(logger, id) {
27
- this._logger = logger;
28
- this._id = id;
29
- }
30
- set id(id) {
31
- this._id = () => id;
32
- }
33
- debug(message) {
34
- this._logger?.debug(this.generate(message, getFunctionName(3)));
35
- }
36
- error(message) {
37
- this._logger?.error(this.generate(message, getFunctionName(3)));
38
- }
39
- info(message) {
40
- this._logger?.info(this.generate(message, getFunctionName(3)));
41
- }
42
- log(message) {
43
- this._logger?.log(this.generate(message, getFunctionName(3)));
44
- }
45
- warn(message) {
46
- this._logger?.warn(this.generate(message, getFunctionName(3)));
47
- }
48
- generate(message, tag) {
49
- return `${tag} ${this._id ? `[${this._id}] ` : ""}${typeof message === "string" ? message : typeof message === "object" ? JSON.stringify(message, void 0, 2) : `${message}`}`;
50
- }
51
- };
52
-
53
- // src/is-ip/ip-regex.ts
54
- var word = String.raw`[a-fA-F\d:]`;
55
- var boundary = /* @__PURE__ */ __name((options) => options && options.includeBoundaries ? `(?:(?<=\\s|^)(?=${word})|(?<=${word})(?=\\s|$))` : "", "boundary");
56
- var 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}`;
57
- var v6segment = String.raw`[a-fA-F\d]{1,4}`;
58
- var v6 = `
1
+ var f=Object.defineProperty;var $=(e,t)=>f(e,"name",{value:t,configurable:!0});var m=$(e=>{let t=[];return JSON.stringify(e,(d,g)=>{if(typeof g=="object"&&g!==null){if(t.includes(g))return"[circular]";t.push(g)}return g},2)},"dump");import{getFunctionName as o}from"@xylabs/logger";var s=class{static{$(this,"IdLogger")}_id;_logger;constructor(t,d){this._logger=t,this._id=d}set id(t){this._id=()=>t}debug(t){this._logger?.debug(this.generate(t,o(3)))}error(t){this._logger?.error(this.generate(t,o(3)))}info(t){this._logger?.info(this.generate(t,o(3)))}log(t){this._logger?.log(this.generate(t,o(3)))}warn(t){this._logger?.warn(this.generate(t,o(3)))}generate(t,d){return`${d} ${this._id?`[${this._id}] `:""}${typeof t=="string"?t:typeof t=="object"?JSON.stringify(t,void 0,2):`${t}`}`}};var u=String.raw`[a-fA-F\d:]`,i=$(e=>e&&e.includeBoundaries?`(?:(?<=\\s|^)(?=${u})|(?<=${u})(?=\\s|$))`:"","boundary"),n=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}`,r=String.raw`[a-fA-F\d]{1,4}`,x=`
59
2
  (?:
60
- (?:${v6segment}:){7}(?:${v6segment}|:)| // 1:2:3:4:5:6:7:: 1:2:3:4:5:6:7:8
61
- (?:${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
62
- (?:${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
63
- (?:${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
64
- (?:${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
65
- (?:${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
66
- (?:${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
67
- (?::(?:(?::${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
3
+ (?:${r}:){7}(?:${r}|:)| // 1:2:3:4:5:6:7:: 1:2:3:4:5:6:7:8
4
+ (?:${r}:){6}(?:${n}|:${r}|:)| // 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
5
+ (?:${r}:){5}(?::${n}|(?::${r}){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
6
+ (?:${r}:){4}(?:(?::${r}){0,1}:${n}|(?::${r}){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
7
+ (?:${r}:){3}(?:(?::${r}){0,2}:${n}|(?::${r}){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
8
+ (?:${r}:){2}(?:(?::${r}){0,3}:${n}|(?::${r}){1,5}|:)| // 1:2:: 1:2::4:5:6:7:8 1:2::8 1:2::4:5:6:7:1.2.3.4
9
+ (?:${r}:){1}(?:(?::${r}){0,4}:${n}|(?::${r}){1,6}|:)| // 1:: 1::3:4:5:6:7:8 1::8 1::3:4:5:6:7:1.2.3.4
10
+ (?::(?:(?::${r}){0,5}:${n}|(?::${r}){1,7}|:)) // ::2:3:4:5:6:7:8 ::2:3:4:5:6:7:8 ::8 ::1.2.3.4
68
11
  )(?:%[0-9a-zA-Z]{1,})? // %eth0 %1
69
- `.replaceAll(/\s*\/\/.*$/gm, "").replaceAll("\n", "").trim();
70
- var v46Exact = new RegExp(`(?:^${v4}$)|(?:^${v6}$)`);
71
- var v4exact = new RegExp(`^${v4}$`);
72
- var v6exact = new RegExp(`^${v6}$`);
73
- var ipRegex = /* @__PURE__ */ __name((options) => options && options.exact ? v46Exact : new RegExp(`(?:${boundary(options)}${v4}${boundary(options)})|(?:${boundary(options)}${v6}${boundary(options)})`, "g"), "ipRegex");
74
- ipRegex.v4 = (options) => options && options.exact ? v4exact : new RegExp(`${boundary(options)}${v4}${boundary(options)}`, "g");
75
- ipRegex.v6 = (options) => options && options.exact ? v6exact : new RegExp(`${boundary(options)}${v6}${boundary(options)}`, "g");
76
-
77
- // src/is-ip/is-ip.ts
78
- function isIP(value) {
79
- return ipRegex({
80
- exact: true
81
- }).test(value);
82
- }
83
- __name(isIP, "isIP");
84
- function isIPv6(value) {
85
- return ipRegex.v6({
86
- exact: true
87
- }).test(value);
88
- }
89
- __name(isIPv6, "isIPv6");
90
- function isIPv4(value) {
91
- return ipRegex.v4({
92
- exact: true
93
- }).test(value);
94
- }
95
- __name(isIPv4, "isIPv4");
96
- function ipVersion(value) {
97
- return isIP(value) ? isIPv6(value) ? 6 : 4 : void 0;
98
- }
99
- __name(ipVersion, "ipVersion");
100
- export {
101
- IdLogger,
102
- dump,
103
- ipVersion,
104
- isIP,
105
- isIPv4,
106
- isIPv6
107
- };
12
+ `.replaceAll(/\s*\/\/.*$/gm,"").replaceAll(`
13
+ `,"").trim(),a=new RegExp(`(?:^${n}$)|(?:^${x}$)`),h=new RegExp(`^${n}$`),p=new RegExp(`^${x}$`),c=$(e=>e&&e.exact?a:new RegExp(`(?:${i(e)}${n}${i(e)})|(?:${i(e)}${x}${i(e)})`,"g"),"ipRegex");c.v4=e=>e&&e.exact?h:new RegExp(`${i(e)}${n}${i(e)}`,"g");c.v6=e=>e&&e.exact?p:new RegExp(`${i(e)}${x}${i(e)}`,"g");function l(e){return c({exact:!0}).test(e)}$(l,"isIP");function w(e){return c.v6({exact:!0}).test(e)}$(w,"isIPv6");function N(e){return c.v4({exact:!0}).test(e)}$(N,"isIPv4");function P(e){return l(e)?w(e)?6:4:void 0}$(P,"ipVersion");export{s as IdLogger,m as dump,P as ipVersion,l as isIP,N as isIPv4,w as isIPv6};
108
14
  //# sourceMappingURL=index.js.map
@@ -1 +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) => {\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) {\n this._logger?.debug(this.generate(message, getFunctionName(3)))\n }\n error(message?: unknown) {\n this._logger?.error(this.generate(message, getFunctionName(3)))\n }\n info(message?: unknown) {\n this._logger?.info(this.generate(message, getFunctionName(3)))\n }\n log(message?: unknown) {\n this._logger?.log(this.generate(message, getFunctionName(3)))\n }\n warn(message?: unknown) {\n this._logger?.warn(this.generate(message, getFunctionName(3)))\n }\n\n private generate(message?: unknown, tag?: string) {\n return `${tag} ${this._id ? `[${this._id}] ` : ''}${\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'\n\nexport function isIP(value: string) {\n return ipRegex({ exact: true }).test(value)\n}\n\nexport function isIPv6(value: string) {\n return ipRegex.v6({ exact: true }).test(value)\n}\n\nexport function isIPv4(value: string) {\n return ipRegex.v4({ exact: true }).test(value)\n}\n\nexport function ipVersion(value: string) {\n return (\n isIP(value) ?\n isIPv6(value) ? 6\n : 4\n : undefined\n )\n}\n"],"mappings":"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","names":["dump","object","cache","JSON","stringify","key","value","includes","push","getFunctionName","IdLogger","_id","_logger","constructor","logger","id","debug","message","generate","getFunctionName","error","info","log","warn","tag","JSON","stringify","undefined","word","String","raw","boundary","options","includeBoundaries","v4","v6segment","v6","replaceAll","trim","v46Exact","RegExp","v4exact","v6exact","ipRegex","exact","isIP","value","ipRegex","exact","test","isIPv6","v6","isIPv4","v4","ipVersion","undefined"]}
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) => {\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) {\n this._logger?.debug(this.generate(message, getFunctionName(3)))\n }\n error(message?: unknown) {\n this._logger?.error(this.generate(message, getFunctionName(3)))\n }\n info(message?: unknown) {\n this._logger?.info(this.generate(message, getFunctionName(3)))\n }\n log(message?: unknown) {\n this._logger?.log(this.generate(message, getFunctionName(3)))\n }\n warn(message?: unknown) {\n this._logger?.warn(this.generate(message, getFunctionName(3)))\n }\n\n private generate(message?: unknown, tag?: string) {\n return `${tag} ${this._id ? `[${this._id}] ` : ''}${\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'\n\nexport function isIP(value: string) {\n return ipRegex({ exact: true }).test(value)\n}\n\nexport function isIPv6(value: string) {\n return ipRegex.v6({ exact: true }).test(value)\n}\n\nexport function isIPv4(value: string) {\n return ipRegex.v4({ exact: true }).test(value)\n}\n\nexport function ipVersion(value: string) {\n return (\n isIP(value) ?\n isIPv6(value) ? 6\n : 4\n : undefined\n )\n}\n"],"mappings":"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","names":["dump","__name","object","cache","JSON","stringify","key","value","includes","push","getFunctionName","IdLogger","_id","_logger","constructor","logger","id","debug","message","generate","getFunctionName","error","info","log","warn","tag","JSON","stringify","undefined","word","String","raw","boundary","__name","options","includeBoundaries","v4","v6segment","v6","replaceAll","trim","v46Exact","RegExp","v4exact","v6exact","ipRegex","exact","isIP","value","ipRegex","exact","test","isIPv6","v6","isIPv4","v4","ipVersion","undefined"]}
@@ -1,5 +1,4 @@
1
1
  import { Logger } from '@xylabs/logger';
2
- /** @deprecated use from @xylabs/logger instead */
3
2
  export declare class IdLogger implements Logger {
4
3
  private _id?;
5
4
  private _logger;
@@ -1 +1 @@
1
- {"version":3,"file":"IdLogger.d.ts","sourceRoot":"","sources":["../../src/IdLogger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmB,MAAM,EAAE,MAAM,gBAAgB,CAAA;AAExD,kDAAkD;AAClD,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;IAGvB,KAAK,CAAC,OAAO,CAAC,EAAE,OAAO;IAGvB,IAAI,CAAC,OAAO,CAAC,EAAE,OAAO;IAGtB,GAAG,CAAC,OAAO,CAAC,EAAE,OAAO;IAGrB,IAAI,CAAC,OAAO,CAAC,EAAE,OAAO;IAItB,OAAO,CAAC,QAAQ;CAOjB"}
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;IAGvB,KAAK,CAAC,OAAO,CAAC,EAAE,OAAO;IAGvB,IAAI,CAAC,OAAO,CAAC,EAAE,OAAO;IAGtB,GAAG,CAAC,OAAO,CAAC,EAAE,OAAO;IAGrB,IAAI,CAAC,OAAO,CAAC,EAAE,OAAO;IAItB,OAAO,CAAC,QAAQ;CAOjB"}
@@ -1,5 +1,4 @@
1
1
  import { Logger } from '@xylabs/logger';
2
- /** @deprecated use from @xylabs/logger instead */
3
2
  export declare class IdLogger implements Logger {
4
3
  private _id?;
5
4
  private _logger;
@@ -1 +1 @@
1
- {"version":3,"file":"IdLogger.d.ts","sourceRoot":"","sources":["../../src/IdLogger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmB,MAAM,EAAE,MAAM,gBAAgB,CAAA;AAExD,kDAAkD;AAClD,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;IAGvB,KAAK,CAAC,OAAO,CAAC,EAAE,OAAO;IAGvB,IAAI,CAAC,OAAO,CAAC,EAAE,OAAO;IAGtB,GAAG,CAAC,OAAO,CAAC,EAAE,OAAO;IAGrB,IAAI,CAAC,OAAO,CAAC,EAAE,OAAO;IAItB,OAAO,CAAC,QAAQ;CAOjB"}
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;IAGvB,KAAK,CAAC,OAAO,CAAC,EAAE,OAAO;IAGvB,IAAI,CAAC,OAAO,CAAC,EAAE,OAAO;IAGtB,GAAG,CAAC,OAAO,CAAC,EAAE,OAAO;IAGrB,IAAI,CAAC,OAAO,CAAC,EAAE,OAAO;IAItB,OAAO,CAAC,QAAQ;CAOjB"}
@@ -1,5 +1,4 @@
1
1
  import { Logger } from '@xylabs/logger';
2
- /** @deprecated use from @xylabs/logger instead */
3
2
  export declare class IdLogger implements Logger {
4
3
  private _id?;
5
4
  private _logger;
@@ -1 +1 @@
1
- {"version":3,"file":"IdLogger.d.ts","sourceRoot":"","sources":["../../src/IdLogger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmB,MAAM,EAAE,MAAM,gBAAgB,CAAA;AAExD,kDAAkD;AAClD,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;IAGvB,KAAK,CAAC,OAAO,CAAC,EAAE,OAAO;IAGvB,IAAI,CAAC,OAAO,CAAC,EAAE,OAAO;IAGtB,GAAG,CAAC,OAAO,CAAC,EAAE,OAAO;IAGrB,IAAI,CAAC,OAAO,CAAC,EAAE,OAAO;IAItB,OAAO,CAAC,QAAQ;CAOjB"}
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;IAGvB,KAAK,CAAC,OAAO,CAAC,EAAE,OAAO;IAGvB,IAAI,CAAC,OAAO,CAAC,EAAE,OAAO;IAGtB,GAAG,CAAC,OAAO,CAAC,EAAE,OAAO;IAGrB,IAAI,CAAC,OAAO,CAAC,EAAE,OAAO;IAItB,OAAO,CAAC,QAAQ;CAOjB"}
@@ -1,142 +1,14 @@
1
- "use strict";
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
7
- var __export = (target, all) => {
8
- for (var name in all)
9
- __defProp(target, name, { get: all[name], enumerable: true });
10
- };
11
- var __copyProps = (to, from, except, desc) => {
12
- if (from && typeof from === "object" || typeof from === "function") {
13
- for (let key of __getOwnPropNames(from))
14
- if (!__hasOwnProp.call(to, key) && key !== except)
15
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
16
- }
17
- return to;
18
- };
19
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
20
-
21
- // src/index.ts
22
- var src_exports = {};
23
- __export(src_exports, {
24
- IdLogger: () => IdLogger,
25
- dump: () => dump,
26
- ipVersion: () => ipVersion,
27
- isIP: () => isIP,
28
- isIPv4: () => isIPv4,
29
- isIPv6: () => isIPv6
30
- });
31
- module.exports = __toCommonJS(src_exports);
32
-
33
- // src/dump.ts
34
- var dump = /* @__PURE__ */ __name((object) => {
35
- const cache = [];
36
- return JSON.stringify(object, (key, value) => {
37
- if (typeof value === "object" && value !== null) {
38
- if (cache.includes(value)) {
39
- return "[circular]";
40
- }
41
- cache.push(value);
42
- }
43
- return value;
44
- }, 2);
45
- }, "dump");
46
-
47
- // src/IdLogger.ts
48
- var import_logger = require("@xylabs/logger");
49
- var _IdLogger = class _IdLogger {
50
- _id;
51
- _logger;
52
- constructor(logger, id) {
53
- this._logger = logger;
54
- this._id = id;
55
- }
56
- set id(id) {
57
- this._id = () => id;
58
- }
59
- debug(message) {
60
- var _a;
61
- (_a = this._logger) == null ? void 0 : _a.debug(this.generate(message, (0, import_logger.getFunctionName)(3)));
62
- }
63
- error(message) {
64
- var _a;
65
- (_a = this._logger) == null ? void 0 : _a.error(this.generate(message, (0, import_logger.getFunctionName)(3)));
66
- }
67
- info(message) {
68
- var _a;
69
- (_a = this._logger) == null ? void 0 : _a.info(this.generate(message, (0, import_logger.getFunctionName)(3)));
70
- }
71
- log(message) {
72
- var _a;
73
- (_a = this._logger) == null ? void 0 : _a.log(this.generate(message, (0, import_logger.getFunctionName)(3)));
74
- }
75
- warn(message) {
76
- var _a;
77
- (_a = this._logger) == null ? void 0 : _a.warn(this.generate(message, (0, import_logger.getFunctionName)(3)));
78
- }
79
- generate(message, tag) {
80
- return `${tag} ${this._id ? `[${this._id}] ` : ""}${typeof message === "string" ? message : typeof message === "object" ? JSON.stringify(message, void 0, 2) : `${message}`}`;
81
- }
82
- };
83
- __name(_IdLogger, "IdLogger");
84
- var IdLogger = _IdLogger;
85
-
86
- // src/is-ip/ip-regex.ts
87
- var word = String.raw`[a-fA-F\d:]`;
88
- var boundary = /* @__PURE__ */ __name((options) => options && options.includeBoundaries ? `(?:(?<=\\s|^)(?=${word})|(?<=${word})(?=\\s|$))` : "", "boundary");
89
- var 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}`;
90
- var v6segment = String.raw`[a-fA-F\d]{1,4}`;
91
- var v6 = `
1
+ "use strict";var s=Object.defineProperty;var w=Object.getOwnPropertyDescriptor;var _=Object.getOwnPropertyNames;var m=Object.prototype.hasOwnProperty;var n=(e,t)=>s(e,"name",{value:t,configurable:!0});var R=(e,t)=>{for(var r in t)s(e,r,{get:t[r],enumerable:!0})},v=(e,t,r,c)=>{if(t&&typeof t=="object"||typeof t=="function")for(let x of _(t))!m.call(e,x)&&x!==r&&s(e,x,{get:()=>t[x],enumerable:!(c=w(t,x))||c.enumerable});return e};var y=e=>v(s({},"__esModule",{value:!0}),e);var P={};R(P,{IdLogger:()=>f,dump:()=>E,ipVersion:()=>N,isIP:()=>p,isIPv4:()=>F,isIPv6:()=>l});module.exports=y(P);var E=n(e=>{let t=[];return JSON.stringify(e,(r,c)=>{if(typeof c=="object"&&c!==null){if(t.includes(c))return"[circular]";t.push(c)}return c},2)},"dump");var o=require("@xylabs/logger");var a=class a{_id;_logger;constructor(t,r){this._logger=t,this._id=r}set id(t){this._id=()=>t}debug(t){var r;(r=this._logger)==null||r.debug(this.generate(t,(0,o.getFunctionName)(3)))}error(t){var r;(r=this._logger)==null||r.error(this.generate(t,(0,o.getFunctionName)(3)))}info(t){var r;(r=this._logger)==null||r.info(this.generate(t,(0,o.getFunctionName)(3)))}log(t){var r;(r=this._logger)==null||r.log(this.generate(t,(0,o.getFunctionName)(3)))}warn(t){var r;(r=this._logger)==null||r.warn(this.generate(t,(0,o.getFunctionName)(3)))}generate(t,r){return`${r} ${this._id?`[${this._id}] `:""}${typeof t=="string"?t:typeof t=="object"?JSON.stringify(t,void 0,2):`${t}`}`}};n(a,"IdLogger");var f=a;var h=String.raw`[a-fA-F\d:]`,g=n(e=>e&&e.includeBoundaries?`(?:(?<=\\s|^)(?=${h})|(?<=${h})(?=\\s|$))`:"","boundary"),i=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}`,$=String.raw`[a-fA-F\d]{1,4}`,u=`
92
2
  (?:
93
- (?:${v6segment}:){7}(?:${v6segment}|:)| // 1:2:3:4:5:6:7:: 1:2:3:4:5:6:7:8
94
- (?:${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
95
- (?:${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
96
- (?:${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
97
- (?:${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
98
- (?:${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
99
- (?:${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
100
- (?::(?:(?::${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
3
+ (?:${$}:){7}(?:${$}|:)| // 1:2:3:4:5:6:7:: 1:2:3:4:5:6:7:8
4
+ (?:${$}:){6}(?:${i}|:${$}|:)| // 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
5
+ (?:${$}:){5}(?::${i}|(?::${$}){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
6
+ (?:${$}:){4}(?:(?::${$}){0,1}:${i}|(?::${$}){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
7
+ (?:${$}:){3}(?:(?::${$}){0,2}:${i}|(?::${$}){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
8
+ (?:${$}:){2}(?:(?::${$}){0,3}:${i}|(?::${$}){1,5}|:)| // 1:2:: 1:2::4:5:6:7:8 1:2::8 1:2::4:5:6:7:1.2.3.4
9
+ (?:${$}:){1}(?:(?::${$}){0,4}:${i}|(?::${$}){1,6}|:)| // 1:: 1::3:4:5:6:7:8 1::8 1::3:4:5:6:7:1.2.3.4
10
+ (?::(?:(?::${$}){0,5}:${i}|(?::${$}){1,7}|:)) // ::2:3:4:5:6:7:8 ::2:3:4:5:6:7:8 ::8 ::1.2.3.4
101
11
  )(?:%[0-9a-zA-Z]{1,})? // %eth0 %1
102
- `.replaceAll(/\s*\/\/.*$/gm, "").replaceAll("\n", "").trim();
103
- var v46Exact = new RegExp(`(?:^${v4}$)|(?:^${v6}$)`);
104
- var v4exact = new RegExp(`^${v4}$`);
105
- var v6exact = new RegExp(`^${v6}$`);
106
- var ipRegex = /* @__PURE__ */ __name((options) => options && options.exact ? v46Exact : new RegExp(`(?:${boundary(options)}${v4}${boundary(options)})|(?:${boundary(options)}${v6}${boundary(options)})`, "g"), "ipRegex");
107
- ipRegex.v4 = (options) => options && options.exact ? v4exact : new RegExp(`${boundary(options)}${v4}${boundary(options)}`, "g");
108
- ipRegex.v6 = (options) => options && options.exact ? v6exact : new RegExp(`${boundary(options)}${v6}${boundary(options)}`, "g");
109
-
110
- // src/is-ip/is-ip.ts
111
- function isIP(value) {
112
- return ipRegex({
113
- exact: true
114
- }).test(value);
115
- }
116
- __name(isIP, "isIP");
117
- function isIPv6(value) {
118
- return ipRegex.v6({
119
- exact: true
120
- }).test(value);
121
- }
122
- __name(isIPv6, "isIPv6");
123
- function isIPv4(value) {
124
- return ipRegex.v4({
125
- exact: true
126
- }).test(value);
127
- }
128
- __name(isIPv4, "isIPv4");
129
- function ipVersion(value) {
130
- return isIP(value) ? isIPv6(value) ? 6 : 4 : void 0;
131
- }
132
- __name(ipVersion, "ipVersion");
133
- // Annotate the CommonJS export names for ESM import in node:
134
- 0 && (module.exports = {
135
- IdLogger,
136
- dump,
137
- ipVersion,
138
- isIP,
139
- isIPv4,
140
- isIPv6
141
- });
12
+ `.replaceAll(/\s*\/\/.*$/gm,"").replaceAll(`
13
+ `,"").trim(),b=new RegExp(`(?:^${i}$)|(?:^${u}$)`),A=new RegExp(`^${i}$`),S=new RegExp(`^${u}$`),d=n(e=>e&&e.exact?b:new RegExp(`(?:${g(e)}${i}${g(e)})|(?:${g(e)}${u}${g(e)})`,"g"),"ipRegex");d.v4=e=>e&&e.exact?A:new RegExp(`${g(e)}${i}${g(e)}`,"g");d.v6=e=>e&&e.exact?S:new RegExp(`${g(e)}${u}${g(e)}`,"g");function p(e){return d({exact:!0}).test(e)}n(p,"isIP");function l(e){return d.v6({exact:!0}).test(e)}n(l,"isIPv6");function F(e){return d.v4({exact:!0}).test(e)}n(F,"isIPv4");function N(e){return p(e)?l(e)?6:4:void 0}n(N,"ipVersion");0&&(module.exports={IdLogger,dump,ipVersion,isIP,isIPv4,isIPv6});
142
14
  //# sourceMappingURL=index.cjs.map
@@ -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'\nexport * from './IdLogger'\nexport * from './is-ip'\nexport * from './Job'\n","export const dump = (object: unknown) => {\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) {\n this._logger?.debug(this.generate(message, getFunctionName(3)))\n }\n error(message?: unknown) {\n this._logger?.error(this.generate(message, getFunctionName(3)))\n }\n info(message?: unknown) {\n this._logger?.info(this.generate(message, getFunctionName(3)))\n }\n log(message?: unknown) {\n this._logger?.log(this.generate(message, getFunctionName(3)))\n }\n warn(message?: unknown) {\n this._logger?.warn(this.generate(message, getFunctionName(3)))\n }\n\n private generate(message?: unknown, tag?: string) {\n return `${tag} ${this._id ? `[${this._id}] ` : ''}${\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'\n\nexport function isIP(value: string) {\n return ipRegex({ exact: true }).test(value)\n}\n\nexport function isIPv6(value: string) {\n return ipRegex.v6({ exact: true }).test(value)\n}\n\nexport function isIPv4(value: string) {\n return ipRegex.v4({ exact: true }).test(value)\n}\n\nexport function ipVersion(value: string) {\n return (\n isIP(value) ?\n isIPv6(value) ? 6\n : 4\n : undefined\n )\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;;;;;;;;;;;;ACAO,IAAMA,OAAO,wBAACC,WAAAA;AACnB,QAAMC,QAAmB,CAAA;AACzB,SAAOC,KAAKC,UACVH,QACA,CAACI,KAAKC,UAAAA;AACJ,QAAI,OAAOA,UAAU,YAAYA,UAAU,MAAM;AAE/C,UAAIJ,MAAMK,SAASD,KAAAA,GAAQ;AACzB,eAAO;MACT;AAGAJ,YAAMM,KAAKF,KAAAA;IACb;AACA,WAAOA;EACT,GACA,CAAA;AAEJ,GAlBoB;;;ACApB,oBAAwC;AAGjC,IAAMG,YAAN,MAAMA,UAAAA;EACHC;EACAC;EAERC,YAAYC,QAAgBC,IAAmB;AAC7C,SAAKH,UAAUE;AACf,SAAKH,MAAMI;EACb;EAEA,IAAIA,GAAGA,IAAY;AACjB,SAAKJ,MAAM,MAAMI;EACnB;EAEAC,MAAMC,SAAmB;AAhB3B;AAiBI,eAAKL,YAAL,mBAAcI,MAAM,KAAKE,SAASD,aAASE,+BAAgB,CAAA,CAAA;EAC7D;EACAC,MAAMH,SAAmB;AAnB3B;AAoBI,eAAKL,YAAL,mBAAcQ,MAAM,KAAKF,SAASD,aAASE,+BAAgB,CAAA,CAAA;EAC7D;EACAE,KAAKJ,SAAmB;AAtB1B;AAuBI,eAAKL,YAAL,mBAAcS,KAAK,KAAKH,SAASD,aAASE,+BAAgB,CAAA,CAAA;EAC5D;EACAG,IAAIL,SAAmB;AAzBzB;AA0BI,eAAKL,YAAL,mBAAcU,IAAI,KAAKJ,SAASD,aAASE,+BAAgB,CAAA,CAAA;EAC3D;EACAI,KAAKN,SAAmB;AA5B1B;AA6BI,eAAKL,YAAL,mBAAcW,KAAK,KAAKL,SAASD,aAASE,+BAAgB,CAAA,CAAA;EAC5D;EAEQD,SAASD,SAAmBO,KAAc;AAChD,WAAO,GAAGA,GAAAA,IAAO,KAAKb,MAAM,IAAI,KAAKA,GAAG,OAAO,EAAA,GAC7C,OAAOM,YAAY,WAAWA,UAC5B,OAAOA,YAAY,WAAWQ,KAAKC,UAAUT,SAASU,QAAW,CAAA,IACjE,GAAGV,OAAAA,EAAS;EAElB;AACF;AApCaP;AAAN,IAAMA,WAAN;;;ACHP,IAAMkB,OAAOC,OAAOC;AAOpB,IAAMC,WAAW,wBAACC,YAAsBA,WAAWA,QAAQC,oBAAoB,mBAAmBL,IAAAA,SAAaA,IAAAA,gBAAoB,IAAlH;AAEjB,IAAMM,KAAKL,OAAOC;AAElB,IAAMK,YAAYN,OAAOC;AAEzB,IAAMM,KAAK;;KAEND,SAAAA,WAAoBA,SAAAA;KACpBA,SAAAA,WAAoBD,EAAAA,KAAOC,SAAAA;KAC3BA,SAAAA,YAAqBD,EAAAA,QAAUC,SAAAA;KAC/BA,SAAAA,eAAwBA,SAAAA,UAAmBD,EAAAA,QAAUC,SAAAA;KACrDA,SAAAA,eAAwBA,SAAAA,UAAmBD,EAAAA,QAAUC,SAAAA;KACrDA,SAAAA,eAAwBA,SAAAA,UAAmBD,EAAAA,QAAUC,SAAAA;KACrDA,SAAAA,eAAwBA,SAAAA,UAAmBD,EAAAA,QAAUC,SAAAA;aAC7CA,SAAAA,UAAmBD,EAAAA,QAAUC,SAAAA;;EAGvCE,WAAW,gBAAgB,EAAA,EAC3BA,WAAW,MAAM,EAAA,EACjBC,KAAI;AAGP,IAAMC,WAAW,IAAIC,OAAO,OAAON,EAAAA,UAAYE,EAAAA,IAAM;AACrD,IAAMK,UAAU,IAAID,OAAO,IAAIN,EAAAA,GAAK;AACpC,IAAMQ,UAAU,IAAIF,OAAO,IAAIJ,EAAAA,GAAK;AAE7B,IAAMO,UAAU,wBAACX,YACtBA,WAAWA,QAAQY,QACjBL,WACA,IAAIC,OAAO,MAAMT,SAASC,OAAAA,CAAAA,GAAWE,EAAAA,GAAKH,SAASC,OAAAA,CAAAA,QAAgBD,SAASC,OAAAA,CAAAA,GAAWI,EAAAA,GAAKL,SAASC,OAAAA,CAAAA,KAAa,GAAA,GAH/F;AAKvBW,QAAQT,KAAK,CAACF,YAAsBA,WAAWA,QAAQY,QAAQH,UAAU,IAAID,OAAO,GAAGT,SAASC,OAAAA,CAAAA,GAAWE,EAAAA,GAAKH,SAASC,OAAAA,CAAAA,IAAY,GAAA;AACrIW,QAAQP,KAAK,CAACJ,YAAsBA,WAAWA,QAAQY,QAAQF,UAAU,IAAIF,OAAO,GAAGT,SAASC,OAAAA,CAAAA,GAAWI,EAAAA,GAAKL,SAASC,OAAAA,CAAAA,IAAY,GAAA;;;ACtC9H,SAASa,KAAKC,OAAa;AAChC,SAAOC,QAAQ;IAAEC,OAAO;EAAK,CAAA,EAAGC,KAAKH,KAAAA;AACvC;AAFgBD;AAIT,SAASK,OAAOJ,OAAa;AAClC,SAAOC,QAAQI,GAAG;IAAEH,OAAO;EAAK,CAAA,EAAGC,KAAKH,KAAAA;AAC1C;AAFgBI;AAIT,SAASE,OAAON,OAAa;AAClC,SAAOC,QAAQM,GAAG;IAAEL,OAAO;EAAK,CAAA,EAAGC,KAAKH,KAAAA;AAC1C;AAFgBM;AAIT,SAASE,UAAUR,OAAa;AACrC,SACED,KAAKC,KAAAA,IACHI,OAAOJ,KAAAA,IAAS,IACd,IACFS;AAEN;AAPgBD;","names":["dump","object","cache","JSON","stringify","key","value","includes","push","IdLogger","_id","_logger","constructor","logger","id","debug","message","generate","getFunctionName","error","info","log","warn","tag","JSON","stringify","undefined","word","String","raw","boundary","options","includeBoundaries","v4","v6segment","v6","replaceAll","trim","v46Exact","RegExp","v4exact","v6exact","ipRegex","exact","isIP","value","ipRegex","exact","test","isIPv6","v6","isIPv4","v4","ipVersion","undefined"]}
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'\nexport * from './IdLogger'\nexport * from './is-ip'\nexport * from './Job'\n","export const dump = (object: unknown) => {\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) {\n this._logger?.debug(this.generate(message, getFunctionName(3)))\n }\n error(message?: unknown) {\n this._logger?.error(this.generate(message, getFunctionName(3)))\n }\n info(message?: unknown) {\n this._logger?.info(this.generate(message, getFunctionName(3)))\n }\n log(message?: unknown) {\n this._logger?.log(this.generate(message, getFunctionName(3)))\n }\n warn(message?: unknown) {\n this._logger?.warn(this.generate(message, getFunctionName(3)))\n }\n\n private generate(message?: unknown, tag?: string) {\n return `${tag} ${this._id ? `[${this._id}] ` : ''}${\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'\n\nexport function isIP(value: string) {\n return ipRegex({ exact: true }).test(value)\n}\n\nexport function isIPv6(value: string) {\n return ipRegex.v6({ exact: true }).test(value)\n}\n\nexport function isIPv4(value: string) {\n return ipRegex.v4({ exact: true }).test(value)\n}\n\nexport function ipVersion(value: string) {\n return (\n isIP(value) ?\n isIPv6(value) ? 6\n : 4\n : undefined\n )\n}\n"],"mappings":"4dAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,cAAAE,EAAA,SAAAC,EAAA,cAAAC,EAAA,SAAAC,EAAA,WAAAC,EAAA,WAAAC,IAAA,eAAAC,EAAAR,GCAO,IAAMS,EAAOC,EAACC,GAAAA,CACnB,IAAMC,EAAmB,CAAA,EACzB,OAAOC,KAAKC,UACVH,EACA,CAACI,EAAKC,IAAAA,CACJ,GAAI,OAAOA,GAAU,UAAYA,IAAU,KAAM,CAE/C,GAAIJ,EAAMK,SAASD,CAAAA,EACjB,MAAO,aAITJ,EAAMM,KAAKF,CAAAA,CACb,CACA,OAAOA,CACT,EACA,CAAA,CAEJ,EAlBoB,QCApB,IAAAG,EAAwC,0BAGjC,IAAMC,EAAN,MAAMA,CAAAA,CACHC,IACAC,QAERC,YAAYC,EAAgBC,EAAmB,CAC7C,KAAKH,QAAUE,EACf,KAAKH,IAAMI,CACb,CAEA,IAAIA,GAAGA,EAAY,CACjB,KAAKJ,IAAM,IAAMI,CACnB,CAEAC,MAAMC,EAAmB,CAhB3B,IAAAC,GAiBIA,EAAA,KAAKN,UAAL,MAAAM,EAAcF,MAAM,KAAKG,SAASF,KAASG,mBAAgB,CAAA,CAAA,EAC7D,CACAC,MAAMJ,EAAmB,CAnB3B,IAAAC,GAoBIA,EAAA,KAAKN,UAAL,MAAAM,EAAcG,MAAM,KAAKF,SAASF,KAASG,mBAAgB,CAAA,CAAA,EAC7D,CACAE,KAAKL,EAAmB,CAtB1B,IAAAC,GAuBIA,EAAA,KAAKN,UAAL,MAAAM,EAAcI,KAAK,KAAKH,SAASF,KAASG,mBAAgB,CAAA,CAAA,EAC5D,CACAG,IAAIN,EAAmB,CAzBzB,IAAAC,GA0BIA,EAAA,KAAKN,UAAL,MAAAM,EAAcK,IAAI,KAAKJ,SAASF,KAASG,mBAAgB,CAAA,CAAA,EAC3D,CACAI,KAAKP,EAAmB,CA5B1B,IAAAC,GA6BIA,EAAA,KAAKN,UAAL,MAAAM,EAAcM,KAAK,KAAKL,SAASF,KAASG,mBAAgB,CAAA,CAAA,EAC5D,CAEQD,SAASF,EAAmBQ,EAAc,CAChD,MAAO,GAAGA,CAAAA,IAAO,KAAKd,IAAM,IAAI,KAAKA,GAAG,KAAO,EAAA,GAC7C,OAAOM,GAAY,SAAWA,EAC5B,OAAOA,GAAY,SAAWS,KAAKC,UAAUV,EAASW,OAAW,CAAA,EACjE,GAAGX,CAAAA,EAAS,EAElB,CACF,EApCaP,EAAAA,EAAAA,YAAN,IAAMA,EAANmB,ECHP,IAAMC,EAAOC,OAAOC,iBAOdC,EAAWC,EAACC,GAAsBA,GAAWA,EAAQC,kBAAoB,mBAAmBN,CAAAA,SAAaA,CAAAA,cAAoB,GAAlH,YAEXO,EAAKN,OAAOC,yFAEZM,EAAYP,OAAOC,qBAEnBO,EAAK;;KAEND,CAAAA,WAAoBA,CAAAA;KACpBA,CAAAA,WAAoBD,CAAAA,KAAOC,CAAAA;KAC3BA,CAAAA,YAAqBD,CAAAA,QAAUC,CAAAA;KAC/BA,CAAAA,eAAwBA,CAAAA,UAAmBD,CAAAA,QAAUC,CAAAA;KACrDA,CAAAA,eAAwBA,CAAAA,UAAmBD,CAAAA,QAAUC,CAAAA;KACrDA,CAAAA,eAAwBA,CAAAA,UAAmBD,CAAAA,QAAUC,CAAAA;KACrDA,CAAAA,eAAwBA,CAAAA,UAAmBD,CAAAA,QAAUC,CAAAA;aAC7CA,CAAAA,UAAmBD,CAAAA,QAAUC,CAAAA;;EAGvCE,WAAW,eAAgB,EAAA,EAC3BA,WAAW;EAAM,EAAA,EACjBC,KAAI,EAGDC,EAAW,IAAIC,OAAO,OAAON,CAAAA,UAAYE,CAAAA,IAAM,EAC/CK,EAAU,IAAID,OAAO,IAAIN,CAAAA,GAAK,EAC9BQ,EAAU,IAAIF,OAAO,IAAIJ,CAAAA,GAAK,EAEvBO,EAAUZ,EAACC,GACtBA,GAAWA,EAAQY,MACjBL,EACA,IAAIC,OAAO,MAAMV,EAASE,CAAAA,CAAAA,GAAWE,CAAAA,GAAKJ,EAASE,CAAAA,CAAAA,QAAgBF,EAASE,CAAAA,CAAAA,GAAWI,CAAAA,GAAKN,EAASE,CAAAA,CAAAA,IAAa,GAAA,EAH/F,WAKvBW,EAAQT,GAAMF,GAAsBA,GAAWA,EAAQY,MAAQH,EAAU,IAAID,OAAO,GAAGV,EAASE,CAAAA,CAAAA,GAAWE,CAAAA,GAAKJ,EAASE,CAAAA,CAAAA,GAAY,GAAA,EACrIW,EAAQP,GAAMJ,GAAsBA,GAAWA,EAAQY,MAAQF,EAAU,IAAIF,OAAO,GAAGV,EAASE,CAAAA,CAAAA,GAAWI,CAAAA,GAAKN,EAASE,CAAAA,CAAAA,GAAY,GAAA,ECtC9H,SAASa,EAAKC,EAAa,CAChC,OAAOC,EAAQ,CAAEC,MAAO,EAAK,CAAA,EAAGC,KAAKH,CAAAA,CACvC,CAFgBD,EAAAA,EAAAA,QAIT,SAASK,EAAOJ,EAAa,CAClC,OAAOC,EAAQI,GAAG,CAAEH,MAAO,EAAK,CAAA,EAAGC,KAAKH,CAAAA,CAC1C,CAFgBI,EAAAA,EAAAA,UAIT,SAASE,EAAON,EAAa,CAClC,OAAOC,EAAQM,GAAG,CAAEL,MAAO,EAAK,CAAA,EAAGC,KAAKH,CAAAA,CAC1C,CAFgBM,EAAAA,EAAAA,UAIT,SAASE,EAAUR,EAAa,CACrC,OACED,EAAKC,CAAAA,EACHI,EAAOJ,CAAAA,EAAS,EACd,EACFS,MAEN,CAPgBD,EAAAA,EAAAA","names":["src_exports","__export","IdLogger","dump","ipVersion","isIP","isIPv4","isIPv6","__toCommonJS","dump","__name","object","cache","JSON","stringify","key","value","includes","push","import_logger","IdLogger","_id","_logger","constructor","logger","id","debug","message","_a","generate","getFunctionName","error","info","log","warn","tag","JSON","stringify","undefined","_IdLogger","word","String","raw","boundary","__name","options","includeBoundaries","v4","v6segment","v6","replaceAll","trim","v46Exact","RegExp","v4exact","v6exact","ipRegex","exact","isIP","value","ipRegex","exact","test","isIPv6","v6","isIPv4","v4","ipVersion","undefined"]}
@@ -1,112 +1,14 @@
1
- var __defProp = Object.defineProperty;
2
- var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
3
-
4
- // src/dump.ts
5
- var dump = /* @__PURE__ */ __name((object) => {
6
- const cache = [];
7
- return JSON.stringify(object, (key, value) => {
8
- if (typeof value === "object" && value !== null) {
9
- if (cache.includes(value)) {
10
- return "[circular]";
11
- }
12
- cache.push(value);
13
- }
14
- return value;
15
- }, 2);
16
- }, "dump");
17
-
18
- // src/IdLogger.ts
19
- import { getFunctionName } from "@xylabs/logger";
20
- var _IdLogger = class _IdLogger {
21
- _id;
22
- _logger;
23
- constructor(logger, id) {
24
- this._logger = logger;
25
- this._id = id;
26
- }
27
- set id(id) {
28
- this._id = () => id;
29
- }
30
- debug(message) {
31
- var _a;
32
- (_a = this._logger) == null ? void 0 : _a.debug(this.generate(message, getFunctionName(3)));
33
- }
34
- error(message) {
35
- var _a;
36
- (_a = this._logger) == null ? void 0 : _a.error(this.generate(message, getFunctionName(3)));
37
- }
38
- info(message) {
39
- var _a;
40
- (_a = this._logger) == null ? void 0 : _a.info(this.generate(message, getFunctionName(3)));
41
- }
42
- log(message) {
43
- var _a;
44
- (_a = this._logger) == null ? void 0 : _a.log(this.generate(message, getFunctionName(3)));
45
- }
46
- warn(message) {
47
- var _a;
48
- (_a = this._logger) == null ? void 0 : _a.warn(this.generate(message, getFunctionName(3)));
49
- }
50
- generate(message, tag) {
51
- return `${tag} ${this._id ? `[${this._id}] ` : ""}${typeof message === "string" ? message : typeof message === "object" ? JSON.stringify(message, void 0, 2) : `${message}`}`;
52
- }
53
- };
54
- __name(_IdLogger, "IdLogger");
55
- var IdLogger = _IdLogger;
56
-
57
- // src/is-ip/ip-regex.ts
58
- var word = String.raw`[a-fA-F\d:]`;
59
- var boundary = /* @__PURE__ */ __name((options) => options && options.includeBoundaries ? `(?:(?<=\\s|^)(?=${word})|(?<=${word})(?=\\s|$))` : "", "boundary");
60
- var 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}`;
61
- var v6segment = String.raw`[a-fA-F\d]{1,4}`;
62
- var v6 = `
1
+ var a=Object.defineProperty;var n=(e,t)=>a(e,"name",{value:t,configurable:!0});var R=n(e=>{let t=[];return JSON.stringify(e,($,o)=>{if(typeof o=="object"&&o!==null){if(t.includes(o))return"[circular]";t.push(o)}return o},2)},"dump");import{getFunctionName as d}from"@xylabs/logger";var s=class s{_id;_logger;constructor(t,$){this._logger=t,this._id=$}set id(t){this._id=()=>t}debug(t){var $;($=this._logger)==null||$.debug(this.generate(t,d(3)))}error(t){var $;($=this._logger)==null||$.error(this.generate(t,d(3)))}info(t){var $;($=this._logger)==null||$.info(this.generate(t,d(3)))}log(t){var $;($=this._logger)==null||$.log(this.generate(t,d(3)))}warn(t){var $;($=this._logger)==null||$.warn(this.generate(t,d(3)))}generate(t,$){return`${$} ${this._id?`[${this._id}] `:""}${typeof t=="string"?t:typeof t=="object"?JSON.stringify(t,void 0,2):`${t}`}`}};n(s,"IdLogger");var u=s;var f=String.raw`[a-fA-F\d:]`,c=n(e=>e&&e.includeBoundaries?`(?:(?<=\\s|^)(?=${f})|(?<=${f})(?=\\s|$))`:"","boundary"),i=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}`,r=String.raw`[a-fA-F\d]{1,4}`,x=`
63
2
  (?:
64
- (?:${v6segment}:){7}(?:${v6segment}|:)| // 1:2:3:4:5:6:7:: 1:2:3:4:5:6:7:8
65
- (?:${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
66
- (?:${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
67
- (?:${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
68
- (?:${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
69
- (?:${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
70
- (?:${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
71
- (?::(?:(?::${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
3
+ (?:${r}:){7}(?:${r}|:)| // 1:2:3:4:5:6:7:: 1:2:3:4:5:6:7:8
4
+ (?:${r}:){6}(?:${i}|:${r}|:)| // 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
5
+ (?:${r}:){5}(?::${i}|(?::${r}){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
6
+ (?:${r}:){4}(?:(?::${r}){0,1}:${i}|(?::${r}){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
7
+ (?:${r}:){3}(?:(?::${r}){0,2}:${i}|(?::${r}){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
8
+ (?:${r}:){2}(?:(?::${r}){0,3}:${i}|(?::${r}){1,5}|:)| // 1:2:: 1:2::4:5:6:7:8 1:2::8 1:2::4:5:6:7:1.2.3.4
9
+ (?:${r}:){1}(?:(?::${r}){0,4}:${i}|(?::${r}){1,6}|:)| // 1:: 1::3:4:5:6:7:8 1::8 1::3:4:5:6:7:1.2.3.4
10
+ (?::(?:(?::${r}){0,5}:${i}|(?::${r}){1,7}|:)) // ::2:3:4:5:6:7:8 ::2:3:4:5:6:7:8 ::8 ::1.2.3.4
72
11
  )(?:%[0-9a-zA-Z]{1,})? // %eth0 %1
73
- `.replaceAll(/\s*\/\/.*$/gm, "").replaceAll("\n", "").trim();
74
- var v46Exact = new RegExp(`(?:^${v4}$)|(?:^${v6}$)`);
75
- var v4exact = new RegExp(`^${v4}$`);
76
- var v6exact = new RegExp(`^${v6}$`);
77
- var ipRegex = /* @__PURE__ */ __name((options) => options && options.exact ? v46Exact : new RegExp(`(?:${boundary(options)}${v4}${boundary(options)})|(?:${boundary(options)}${v6}${boundary(options)})`, "g"), "ipRegex");
78
- ipRegex.v4 = (options) => options && options.exact ? v4exact : new RegExp(`${boundary(options)}${v4}${boundary(options)}`, "g");
79
- ipRegex.v6 = (options) => options && options.exact ? v6exact : new RegExp(`${boundary(options)}${v6}${boundary(options)}`, "g");
80
-
81
- // src/is-ip/is-ip.ts
82
- function isIP(value) {
83
- return ipRegex({
84
- exact: true
85
- }).test(value);
86
- }
87
- __name(isIP, "isIP");
88
- function isIPv6(value) {
89
- return ipRegex.v6({
90
- exact: true
91
- }).test(value);
92
- }
93
- __name(isIPv6, "isIPv6");
94
- function isIPv4(value) {
95
- return ipRegex.v4({
96
- exact: true
97
- }).test(value);
98
- }
99
- __name(isIPv4, "isIPv4");
100
- function ipVersion(value) {
101
- return isIP(value) ? isIPv6(value) ? 6 : 4 : void 0;
102
- }
103
- __name(ipVersion, "ipVersion");
104
- export {
105
- IdLogger,
106
- dump,
107
- ipVersion,
108
- isIP,
109
- isIPv4,
110
- isIPv6
111
- };
12
+ `.replaceAll(/\s*\/\/.*$/gm,"").replaceAll(`
13
+ `,"").trim(),h=new RegExp(`(?:^${i}$)|(?:^${x}$)`),p=new RegExp(`^${i}$`),l=new RegExp(`^${x}$`),g=n(e=>e&&e.exact?h:new RegExp(`(?:${c(e)}${i}${c(e)})|(?:${c(e)}${x}${c(e)})`,"g"),"ipRegex");g.v4=e=>e&&e.exact?p:new RegExp(`${c(e)}${i}${c(e)}`,"g");g.v6=e=>e&&e.exact?l:new RegExp(`${c(e)}${x}${c(e)}`,"g");function w(e){return g({exact:!0}).test(e)}n(w,"isIP");function _(e){return g.v6({exact:!0}).test(e)}n(_,"isIPv6");function P(e){return g.v4({exact:!0}).test(e)}n(P,"isIPv4");function j(e){return w(e)?_(e)?6:4:void 0}n(j,"ipVersion");export{u as IdLogger,R as dump,j as ipVersion,w as isIP,P as isIPv4,_ as isIPv6};
112
14
  //# sourceMappingURL=index.js.map