@xyo-network/shared 2.107.3 → 2.107.4

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,14 +1,129 @@
1
- "use strict";var s=Object.defineProperty;var l=Object.getOwnPropertyDescriptor;var w=Object.getOwnPropertyNames;var _=Object.prototype.hasOwnProperty;var $=(e,t)=>s(e,"name",{value:t,configurable:!0});var m=(e,t)=>{for(var i in t)s(e,i,{get:t[i],enumerable:!0})},R=(e,t,i,c)=>{if(t&&typeof t=="object"||typeof t=="function")for(let x of w(t))!_.call(e,x)&&x!==i&&s(e,x,{get:()=>t[x],enumerable:!(c=l(t,x))||c.enumerable});return e};var v=e=>R(s({},"__esModule",{value:!0}),e);var N={};m(N,{IdLogger:()=>f,dump:()=>y,ipVersion:()=>F,isIP:()=>h,isIPv4:()=>S,isIPv6:()=>p});module.exports=v(N);var y=$(e=>{let t=[];return JSON.stringify(e,(i,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 f=class{static{$(this,"IdLogger")}_id;_logger;constructor(t,i){this._logger=t,this._id=i}set id(t){this._id=()=>t}debug(t){this._logger?.debug(this.generate(t,(0,o.getFunctionName)(3)))}error(t){this._logger?.error(this.generate(t,(0,o.getFunctionName)(3)))}info(t){this._logger?.info(this.generate(t,(0,o.getFunctionName)(3)))}log(t){this._logger?.log(this.generate(t,(0,o.getFunctionName)(3)))}warn(t){this._logger?.warn(this.generate(t,(0,o.getFunctionName)(3)))}generate(t,i){return`${i} ${this._id?`[${this._id}] `:""}${typeof t=="string"?t:typeof t=="object"?JSON.stringify(t,void 0,2):`${t}`}`}};var a=String.raw`[a-fA-F\d:]`,g=$(e=>e&&e.includeBoundaries?`(?:(?<=\\s|^)(?=${a})|(?<=${a})(?=\\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}`,u=`
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 {
50
+ static {
51
+ __name(this, "IdLogger");
52
+ }
53
+ _id;
54
+ _logger;
55
+ constructor(logger, id) {
56
+ this._logger = logger;
57
+ this._id = id;
58
+ }
59
+ set id(id) {
60
+ this._id = () => id;
61
+ }
62
+ debug(message) {
63
+ this._logger?.debug(this.generate(message, (0, import_logger.getFunctionName)(3)));
64
+ }
65
+ error(message) {
66
+ this._logger?.error(this.generate(message, (0, import_logger.getFunctionName)(3)));
67
+ }
68
+ info(message) {
69
+ this._logger?.info(this.generate(message, (0, import_logger.getFunctionName)(3)));
70
+ }
71
+ log(message) {
72
+ this._logger?.log(this.generate(message, (0, import_logger.getFunctionName)(3)));
73
+ }
74
+ warn(message) {
75
+ this._logger?.warn(this.generate(message, (0, import_logger.getFunctionName)(3)));
76
+ }
77
+ generate(message, tag) {
78
+ return `${tag} ${this._id ? `[${this._id}] ` : ""}${typeof message === "string" ? message : typeof message === "object" ? JSON.stringify(message, void 0, 2) : `${message}`}`;
79
+ }
80
+ };
81
+
82
+ // src/is-ip/ip-regex.ts
83
+ var word = String.raw`[a-fA-F\d:]`;
84
+ var boundary = /* @__PURE__ */ __name((options) => options && options.includeBoundaries ? `(?:(?<=\\s|^)(?=${word})|(?<=${word})(?=\\s|$))` : "", "boundary");
85
+ 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}`;
86
+ var v6segment = String.raw`[a-fA-F\d]{1,4}`;
87
+ var v6 = `
2
88
  (?:
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
89
+ (?:${v6segment}:){7}(?:${v6segment}|:)| // 1:2:3:4:5:6:7:: 1:2:3:4:5:6:7:8
90
+ (?:${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
91
+ (?:${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
92
+ (?:${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
93
+ (?:${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
94
+ (?:${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
95
+ (?:${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
96
+ (?::(?:(?::${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
11
97
  )(?:%[0-9a-zA-Z]{1,})? // %eth0 %1
12
- `.replaceAll(/\s*\/\/.*$/gm,"").replaceAll(`
13
- `,"").trim(),E=new RegExp(`(?:^${n}$)|(?:^${u}$)`),b=new RegExp(`^${n}$`),A=new RegExp(`^${u}$`),d=$(e=>e&&e.exact?E:new RegExp(`(?:${g(e)}${n}${g(e)})|(?:${g(e)}${u}${g(e)})`,"g"),"ipRegex");d.v4=e=>e&&e.exact?b:new RegExp(`${g(e)}${n}${g(e)}`,"g");d.v6=e=>e&&e.exact?A:new RegExp(`${g(e)}${u}${g(e)}`,"g");function h(e){return d({exact:!0}).test(e)}$(h,"isIP");function p(e){return d.v6({exact:!0}).test(e)}$(p,"isIPv6");function S(e){return d.v4({exact:!0}).test(e)}$(S,"isIPv4");function F(e){return h(e)?p(e)?6:4:void 0}$(F,"ipVersion");
98
+ `.replaceAll(/\s*\/\/.*$/gm, "").replaceAll("\n", "").trim();
99
+ var v46Exact = new RegExp(`(?:^${v4}$)|(?:^${v6}$)`);
100
+ var v4exact = new RegExp(`^${v4}$`);
101
+ var v6exact = new RegExp(`^${v6}$`);
102
+ var ipRegex = /* @__PURE__ */ __name((options) => options && options.exact ? v46Exact : new RegExp(`(?:${boundary(options)}${v4}${boundary(options)})|(?:${boundary(options)}${v6}${boundary(options)})`, "g"), "ipRegex");
103
+ ipRegex.v4 = (options) => options && options.exact ? v4exact : new RegExp(`${boundary(options)}${v4}${boundary(options)}`, "g");
104
+ ipRegex.v6 = (options) => options && options.exact ? v6exact : new RegExp(`${boundary(options)}${v6}${boundary(options)}`, "g");
105
+
106
+ // src/is-ip/is-ip.ts
107
+ function isIP(value) {
108
+ return ipRegex({
109
+ exact: true
110
+ }).test(value);
111
+ }
112
+ __name(isIP, "isIP");
113
+ function isIPv6(value) {
114
+ return ipRegex.v6({
115
+ exact: true
116
+ }).test(value);
117
+ }
118
+ __name(isIPv6, "isIPv6");
119
+ function isIPv4(value) {
120
+ return ipRegex.v4({
121
+ exact: true
122
+ }).test(value);
123
+ }
124
+ __name(isIPv4, "isIPv4");
125
+ function ipVersion(value) {
126
+ return isIP(value) ? isIPv6(value) ? 6 : 4 : void 0;
127
+ }
128
+ __name(ipVersion, "ipVersion");
14
129
  //# 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":"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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
+ {"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,14 +1,108 @@
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=`
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 = `
2
59
  (?:
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
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
11
68
  )(?:%[0-9a-zA-Z]{1,})? // %eth0 %1
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};
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
+ };
14
108
  //# 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","__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
+ {"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,14 +1,129 @@
1
- "use strict";var s=Object.defineProperty;var l=Object.getOwnPropertyDescriptor;var w=Object.getOwnPropertyNames;var _=Object.prototype.hasOwnProperty;var $=(e,t)=>s(e,"name",{value:t,configurable:!0});var m=(e,t)=>{for(var i in t)s(e,i,{get:t[i],enumerable:!0})},R=(e,t,i,c)=>{if(t&&typeof t=="object"||typeof t=="function")for(let x of w(t))!_.call(e,x)&&x!==i&&s(e,x,{get:()=>t[x],enumerable:!(c=l(t,x))||c.enumerable});return e};var v=e=>R(s({},"__esModule",{value:!0}),e);var N={};m(N,{IdLogger:()=>f,dump:()=>y,ipVersion:()=>F,isIP:()=>h,isIPv4:()=>S,isIPv6:()=>p});module.exports=v(N);var y=$(e=>{let t=[];return JSON.stringify(e,(i,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 f=class{static{$(this,"IdLogger")}_id;_logger;constructor(t,i){this._logger=t,this._id=i}set id(t){this._id=()=>t}debug(t){this._logger?.debug(this.generate(t,(0,o.getFunctionName)(3)))}error(t){this._logger?.error(this.generate(t,(0,o.getFunctionName)(3)))}info(t){this._logger?.info(this.generate(t,(0,o.getFunctionName)(3)))}log(t){this._logger?.log(this.generate(t,(0,o.getFunctionName)(3)))}warn(t){this._logger?.warn(this.generate(t,(0,o.getFunctionName)(3)))}generate(t,i){return`${i} ${this._id?`[${this._id}] `:""}${typeof t=="string"?t:typeof t=="object"?JSON.stringify(t,void 0,2):`${t}`}`}};var a=String.raw`[a-fA-F\d:]`,g=$(e=>e&&e.includeBoundaries?`(?:(?<=\\s|^)(?=${a})|(?<=${a})(?=\\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}`,u=`
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 {
50
+ static {
51
+ __name(this, "IdLogger");
52
+ }
53
+ _id;
54
+ _logger;
55
+ constructor(logger, id) {
56
+ this._logger = logger;
57
+ this._id = id;
58
+ }
59
+ set id(id) {
60
+ this._id = () => id;
61
+ }
62
+ debug(message) {
63
+ this._logger?.debug(this.generate(message, (0, import_logger.getFunctionName)(3)));
64
+ }
65
+ error(message) {
66
+ this._logger?.error(this.generate(message, (0, import_logger.getFunctionName)(3)));
67
+ }
68
+ info(message) {
69
+ this._logger?.info(this.generate(message, (0, import_logger.getFunctionName)(3)));
70
+ }
71
+ log(message) {
72
+ this._logger?.log(this.generate(message, (0, import_logger.getFunctionName)(3)));
73
+ }
74
+ warn(message) {
75
+ this._logger?.warn(this.generate(message, (0, import_logger.getFunctionName)(3)));
76
+ }
77
+ generate(message, tag) {
78
+ return `${tag} ${this._id ? `[${this._id}] ` : ""}${typeof message === "string" ? message : typeof message === "object" ? JSON.stringify(message, void 0, 2) : `${message}`}`;
79
+ }
80
+ };
81
+
82
+ // src/is-ip/ip-regex.ts
83
+ var word = String.raw`[a-fA-F\d:]`;
84
+ var boundary = /* @__PURE__ */ __name((options) => options && options.includeBoundaries ? `(?:(?<=\\s|^)(?=${word})|(?<=${word})(?=\\s|$))` : "", "boundary");
85
+ 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}`;
86
+ var v6segment = String.raw`[a-fA-F\d]{1,4}`;
87
+ var v6 = `
2
88
  (?:
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
89
+ (?:${v6segment}:){7}(?:${v6segment}|:)| // 1:2:3:4:5:6:7:: 1:2:3:4:5:6:7:8
90
+ (?:${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
91
+ (?:${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
92
+ (?:${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
93
+ (?:${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
94
+ (?:${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
95
+ (?:${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
96
+ (?::(?:(?::${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
11
97
  )(?:%[0-9a-zA-Z]{1,})? // %eth0 %1
12
- `.replaceAll(/\s*\/\/.*$/gm,"").replaceAll(`
13
- `,"").trim(),E=new RegExp(`(?:^${n}$)|(?:^${u}$)`),b=new RegExp(`^${n}$`),A=new RegExp(`^${u}$`),d=$(e=>e&&e.exact?E:new RegExp(`(?:${g(e)}${n}${g(e)})|(?:${g(e)}${u}${g(e)})`,"g"),"ipRegex");d.v4=e=>e&&e.exact?b:new RegExp(`${g(e)}${n}${g(e)}`,"g");d.v6=e=>e&&e.exact?A:new RegExp(`${g(e)}${u}${g(e)}`,"g");function h(e){return d({exact:!0}).test(e)}$(h,"isIP");function p(e){return d.v6({exact:!0}).test(e)}$(p,"isIPv6");function S(e){return d.v4({exact:!0}).test(e)}$(S,"isIPv4");function F(e){return h(e)?p(e)?6:4:void 0}$(F,"ipVersion");
98
+ `.replaceAll(/\s*\/\/.*$/gm, "").replaceAll("\n", "").trim();
99
+ var v46Exact = new RegExp(`(?:^${v4}$)|(?:^${v6}$)`);
100
+ var v4exact = new RegExp(`^${v4}$`);
101
+ var v6exact = new RegExp(`^${v6}$`);
102
+ var ipRegex = /* @__PURE__ */ __name((options) => options && options.exact ? v46Exact : new RegExp(`(?:${boundary(options)}${v4}${boundary(options)})|(?:${boundary(options)}${v6}${boundary(options)})`, "g"), "ipRegex");
103
+ ipRegex.v4 = (options) => options && options.exact ? v4exact : new RegExp(`${boundary(options)}${v4}${boundary(options)}`, "g");
104
+ ipRegex.v6 = (options) => options && options.exact ? v6exact : new RegExp(`${boundary(options)}${v6}${boundary(options)}`, "g");
105
+
106
+ // src/is-ip/is-ip.ts
107
+ function isIP(value) {
108
+ return ipRegex({
109
+ exact: true
110
+ }).test(value);
111
+ }
112
+ __name(isIP, "isIP");
113
+ function isIPv6(value) {
114
+ return ipRegex.v6({
115
+ exact: true
116
+ }).test(value);
117
+ }
118
+ __name(isIPv6, "isIPv6");
119
+ function isIPv4(value) {
120
+ return ipRegex.v4({
121
+ exact: true
122
+ }).test(value);
123
+ }
124
+ __name(isIPv4, "isIPv4");
125
+ function ipVersion(value) {
126
+ return isIP(value) ? isIPv6(value) ? 6 : 4 : void 0;
127
+ }
128
+ __name(ipVersion, "ipVersion");
14
129
  //# 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":"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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
+ {"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,14 +1,108 @@
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=`
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 = `
2
59
  (?:
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
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
11
68
  )(?:%[0-9a-zA-Z]{1,})? // %eth0 %1
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};
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
+ };
14
108
  //# 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","__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
+ {"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,14 +1,142 @@
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=`
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 = `
2
92
  (?:
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
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
11
101
  )(?:%[0-9a-zA-Z]{1,})? // %eth0 %1
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});
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
+ });
14
142
  //# 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":"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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","_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
+ {"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,14 +1,112 @@
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=`
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 = `
2
63
  (?:
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
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
11
72
  )(?:%[0-9a-zA-Z]{1,})? // %eth0 %1
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};
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
+ };
14
112
  //# 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","__name","object","cache","JSON","stringify","key","value","includes","push","getFunctionName","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
+ {"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"]}
package/package.json CHANGED
@@ -14,8 +14,8 @@
14
14
  "@xylabs/logger": "^3.5.1"
15
15
  },
16
16
  "devDependencies": {
17
- "@xylabs/ts-scripts-yarn3": "^3.11.9",
18
- "@xylabs/tsconfig": "^3.11.9",
17
+ "@xylabs/ts-scripts-yarn3": "^3.11.10",
18
+ "@xylabs/tsconfig": "^3.11.10",
19
19
  "typescript": "^5.5.2"
20
20
  },
21
21
  "exports": {
@@ -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.107.3",
59
+ "version": "2.107.4",
60
60
  "type": "module"
61
61
  }