@xyo-network/shared 2.84.19 → 2.85.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/browser/index.cjs +31 -21
- package/dist/browser/index.cjs.map +1 -1
- package/dist/browser/index.js +33 -21
- package/dist/browser/index.js.map +1 -1
- package/dist/node/index.cjs +31 -22
- package/dist/node/index.cjs.map +1 -1
- package/dist/node/index.js +33 -22
- package/dist/node/index.js.map +1 -1
- package/package.json +1 -1
package/dist/browser/index.cjs
CHANGED
|
@@ -3,6 +3,7 @@ var __defProp = Object.defineProperty;
|
|
|
3
3
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
4
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
5
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
6
7
|
var __export = (target, all) => {
|
|
7
8
|
for (var name in all)
|
|
8
9
|
__defProp(target, name, { get: all[name], enumerable: true });
|
|
@@ -31,26 +32,22 @@ __export(src_exports, {
|
|
|
31
32
|
module.exports = __toCommonJS(src_exports);
|
|
32
33
|
|
|
33
34
|
// src/dump.ts
|
|
34
|
-
var dump = (object) => {
|
|
35
|
+
var dump = /* @__PURE__ */ __name((object) => {
|
|
35
36
|
const cache = [];
|
|
36
|
-
return JSON.stringify(
|
|
37
|
-
object
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
if (cache.includes(value)) {
|
|
41
|
-
return "[circular]";
|
|
42
|
-
}
|
|
43
|
-
cache.push(value);
|
|
37
|
+
return JSON.stringify(object, (key, value) => {
|
|
38
|
+
if (typeof value === "object" && value !== null) {
|
|
39
|
+
if (cache.includes(value)) {
|
|
40
|
+
return "[circular]";
|
|
44
41
|
}
|
|
45
|
-
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
);
|
|
49
|
-
};
|
|
42
|
+
cache.push(value);
|
|
43
|
+
}
|
|
44
|
+
return value;
|
|
45
|
+
}, 2);
|
|
46
|
+
}, "dump");
|
|
50
47
|
|
|
51
48
|
// src/Logger.ts
|
|
52
49
|
var import_error = require("@xylabs/error");
|
|
53
|
-
var getFunctionName = (depth = 2) => {
|
|
50
|
+
var getFunctionName = /* @__PURE__ */ __name((depth = 2) => {
|
|
54
51
|
try {
|
|
55
52
|
throw new Error("Just for Stack Trace");
|
|
56
53
|
} catch (error) {
|
|
@@ -68,10 +65,13 @@ var getFunctionName = (depth = 2) => {
|
|
|
68
65
|
return newIndex ? `${functionName} ${stackParts?.[newIndex + 1]}` : functionName;
|
|
69
66
|
});
|
|
70
67
|
}
|
|
71
|
-
};
|
|
68
|
+
}, "getFunctionName");
|
|
72
69
|
|
|
73
70
|
// src/IdLogger.ts
|
|
74
71
|
var IdLogger = class {
|
|
72
|
+
static {
|
|
73
|
+
__name(this, "IdLogger");
|
|
74
|
+
}
|
|
75
75
|
_id;
|
|
76
76
|
_logger;
|
|
77
77
|
constructor(logger, id) {
|
|
@@ -103,7 +103,7 @@ var IdLogger = class {
|
|
|
103
103
|
|
|
104
104
|
// src/is-ip/ip-regex.ts
|
|
105
105
|
var word = "[a-fA-F\\d:]";
|
|
106
|
-
var boundry = (options) => options && options.includeBoundaries ? `(?:(?<=\\s|^)(?=${word})|(?<=${word})(?=\\s|$))` : "";
|
|
106
|
+
var boundry = /* @__PURE__ */ __name((options) => options && options.includeBoundaries ? `(?:(?<=\\s|^)(?=${word})|(?<=${word})(?=\\s|$))` : "", "boundry");
|
|
107
107
|
var v4 = "(?: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}";
|
|
108
108
|
var v6segment = "[a-fA-F\\d]{1,4}";
|
|
109
109
|
var v6 = `
|
|
@@ -121,21 +121,31 @@ var v6 = `
|
|
|
121
121
|
var v46Exact = new RegExp(`(?:^${v4}$)|(?:^${v6}$)`);
|
|
122
122
|
var v4exact = new RegExp(`^${v4}$`);
|
|
123
123
|
var v6exact = new RegExp(`^${v6}$`);
|
|
124
|
-
var ipRegex = (options) => options && options.exact ? v46Exact : new RegExp(`(?:${boundry(options)}${v4}${boundry(options)})|(?:${boundry(options)}${v6}${boundry(options)})`, "g");
|
|
124
|
+
var ipRegex = /* @__PURE__ */ __name((options) => options && options.exact ? v46Exact : new RegExp(`(?:${boundry(options)}${v4}${boundry(options)})|(?:${boundry(options)}${v6}${boundry(options)})`, "g"), "ipRegex");
|
|
125
125
|
ipRegex.v4 = (options) => options && options.exact ? v4exact : new RegExp(`${boundry(options)}${v4}${boundry(options)}`, "g");
|
|
126
126
|
ipRegex.v6 = (options) => options && options.exact ? v6exact : new RegExp(`${boundry(options)}${v6}${boundry(options)}`, "g");
|
|
127
127
|
|
|
128
128
|
// src/is-ip/is-ip.ts
|
|
129
129
|
function isIP(value) {
|
|
130
|
-
return ipRegex({
|
|
130
|
+
return ipRegex({
|
|
131
|
+
exact: true
|
|
132
|
+
}).test(value);
|
|
131
133
|
}
|
|
134
|
+
__name(isIP, "isIP");
|
|
132
135
|
function isIPv6(value) {
|
|
133
|
-
return ipRegex.v6({
|
|
136
|
+
return ipRegex.v6({
|
|
137
|
+
exact: true
|
|
138
|
+
}).test(value);
|
|
134
139
|
}
|
|
140
|
+
__name(isIPv6, "isIPv6");
|
|
135
141
|
function isIPv4(value) {
|
|
136
|
-
return ipRegex.v4({
|
|
142
|
+
return ipRegex.v4({
|
|
143
|
+
exact: true
|
|
144
|
+
}).test(value);
|
|
137
145
|
}
|
|
146
|
+
__name(isIPv4, "isIPv4");
|
|
138
147
|
function ipVersion(value) {
|
|
139
148
|
return isIP(value) ? isIPv6(value) ? 6 : 4 : void 0;
|
|
140
149
|
}
|
|
150
|
+
__name(ipVersion, "ipVersion");
|
|
141
151
|
//# sourceMappingURL=index.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/index.ts","../../src/dump.ts","../../src/Logger.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'\nexport * from './Logger'\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","/** @deprecated use from @xylabs/logger instead */\nexport type LogFunction = (message?: unknown) => void\nimport { handleError } from '@xylabs/error'\n\n/**\n * Interface to handle overlap between Winston &\n * `console` with as much congruency as possible.\n */\n\n/** @deprecated use from @xylabs/logger instead */\nexport interface Logger {\n debug: LogFunction\n error: LogFunction\n info: LogFunction\n log: LogFunction\n // trace: LogFunction\n warn: LogFunction\n}\n\n/** @deprecated use from @xylabs/logger instead */\nexport const getFunctionName = (depth = 2) => {\n try {\n throw new Error('Just for Stack Trace')\n } catch (error) {\n return handleError(error, (error) => {\n let newIndex: number | undefined\n const stackParts = error.stack?.split('\\n')[depth].split(' ')\n const functionName =\n stackParts?.find((item, index) => {\n if (item.length > 0 && item !== 'at') {\n //check if constructor\n if (item === 'new') {\n newIndex = index\n }\n return item\n }\n }) ?? '<unknown>'\n return newIndex ? `${functionName} ${stackParts?.[newIndex + 1]}` : functionName\n })\n }\n}\n","/* eslint-disable import/no-deprecated */\n// eslint-disable-next-line import/no-deprecated\nimport { getFunctionName, Logger } from './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 : typeof message === 'object' ? JSON.stringify(message, undefined, 2) : `${message}`\n }`\n }\n}\n","const word = '[a-fA-F\\\\d:]'\n\nexport interface Options {\n readonly exact?: boolean\n readonly includeBoundaries?: boolean\n}\n\nconst boundry = (options: Options) => (options && options.includeBoundaries ? `(?:(?<=\\\\s|^)(?=${word})|(?<=${word})(?=\\\\s|$))` : '')\n\nconst v4 = '(?: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 = '[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(`(?:${boundry(options)}${v4}${boundry(options)})|(?:${boundry(options)}${v6}${boundry(options)})`, 'g')\n\nipRegex.v4 = (options: Options) => (options && options.exact ? v4exact : new RegExp(`${boundry(options)}${v4}${boundry(options)}`, 'g'))\nipRegex.v6 = (options: Options) => (options && options.exact ? v6exact : new RegExp(`${boundry(options)}${v6}${boundry(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 isIP(value) ? (isIPv6(value) ? 6 : 4) : undefined\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../src/index.ts","../../src/dump.ts","../../src/Logger.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'\nexport * from './Logger'\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","/** @deprecated use from @xylabs/logger instead */\nexport type LogFunction = (message?: unknown) => void\nimport { handleError } from '@xylabs/error'\n\n/**\n * Interface to handle overlap between Winston &\n * `console` with as much congruency as possible.\n */\n\n/** @deprecated use from @xylabs/logger instead */\nexport interface Logger {\n debug: LogFunction\n error: LogFunction\n info: LogFunction\n log: LogFunction\n // trace: LogFunction\n warn: LogFunction\n}\n\n/** @deprecated use from @xylabs/logger instead */\nexport const getFunctionName = (depth = 2) => {\n try {\n throw new Error('Just for Stack Trace')\n } catch (error) {\n return handleError(error, (error) => {\n let newIndex: number | undefined\n const stackParts = error.stack?.split('\\n')[depth].split(' ')\n const functionName =\n stackParts?.find((item, index) => {\n if (item.length > 0 && item !== 'at') {\n //check if constructor\n if (item === 'new') {\n newIndex = index\n }\n return item\n }\n }) ?? '<unknown>'\n return newIndex ? `${functionName} ${stackParts?.[newIndex + 1]}` : functionName\n })\n }\n}\n","/* eslint-disable import/no-deprecated */\n// eslint-disable-next-line import/no-deprecated\nimport { getFunctionName, Logger } from './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 : typeof message === 'object' ? JSON.stringify(message, undefined, 2) : `${message}`\n }`\n }\n}\n","const word = '[a-fA-F\\\\d:]'\n\nexport interface Options {\n readonly exact?: boolean\n readonly includeBoundaries?: boolean\n}\n\nconst boundry = (options: Options) => (options && options.includeBoundaries ? `(?:(?<=\\\\s|^)(?=${word})|(?<=${word})(?=\\\\s|$))` : '')\n\nconst v4 = '(?: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 = '[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(`(?:${boundry(options)}${v4}${boundry(options)})|(?:${boundry(options)}${v6}${boundry(options)})`, 'g')\n\nipRegex.v4 = (options: Options) => (options && options.exact ? v4exact : new RegExp(`${boundry(options)}${v4}${boundry(options)}`, 'g'))\nipRegex.v6 = (options: Options) => (options && options.exact ? v6exact : new RegExp(`${boundry(options)}${v6}${boundry(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 isIP(value) ? (isIPv6(value) ? 6 : 4) : undefined\n}\n"],"mappings":"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","names":["dump","object","cache","JSON","stringify","key","value","includes","push","getFunctionName","depth","Error","error","handleError","newIndex","stackParts","stack","split","functionName","find","item","index","length","IdLogger","_id","_logger","constructor","logger","id","debug","message","generate","getFunctionName","error","info","log","warn","tag","JSON","stringify","undefined","word","boundry","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/dist/browser/index.js
CHANGED
|
@@ -1,24 +1,23 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
3
|
+
|
|
1
4
|
// src/dump.ts
|
|
2
|
-
var dump = (object) => {
|
|
5
|
+
var dump = /* @__PURE__ */ __name((object) => {
|
|
3
6
|
const cache = [];
|
|
4
|
-
return JSON.stringify(
|
|
5
|
-
object
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
if (cache.includes(value)) {
|
|
9
|
-
return "[circular]";
|
|
10
|
-
}
|
|
11
|
-
cache.push(value);
|
|
7
|
+
return JSON.stringify(object, (key, value) => {
|
|
8
|
+
if (typeof value === "object" && value !== null) {
|
|
9
|
+
if (cache.includes(value)) {
|
|
10
|
+
return "[circular]";
|
|
12
11
|
}
|
|
13
|
-
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
);
|
|
17
|
-
};
|
|
12
|
+
cache.push(value);
|
|
13
|
+
}
|
|
14
|
+
return value;
|
|
15
|
+
}, 2);
|
|
16
|
+
}, "dump");
|
|
18
17
|
|
|
19
18
|
// src/Logger.ts
|
|
20
19
|
import { handleError } from "@xylabs/error";
|
|
21
|
-
var getFunctionName = (depth = 2) => {
|
|
20
|
+
var getFunctionName = /* @__PURE__ */ __name((depth = 2) => {
|
|
22
21
|
try {
|
|
23
22
|
throw new Error("Just for Stack Trace");
|
|
24
23
|
} catch (error) {
|
|
@@ -36,10 +35,13 @@ var getFunctionName = (depth = 2) => {
|
|
|
36
35
|
return newIndex ? `${functionName} ${stackParts?.[newIndex + 1]}` : functionName;
|
|
37
36
|
});
|
|
38
37
|
}
|
|
39
|
-
};
|
|
38
|
+
}, "getFunctionName");
|
|
40
39
|
|
|
41
40
|
// src/IdLogger.ts
|
|
42
41
|
var IdLogger = class {
|
|
42
|
+
static {
|
|
43
|
+
__name(this, "IdLogger");
|
|
44
|
+
}
|
|
43
45
|
_id;
|
|
44
46
|
_logger;
|
|
45
47
|
constructor(logger, id) {
|
|
@@ -71,7 +73,7 @@ var IdLogger = class {
|
|
|
71
73
|
|
|
72
74
|
// src/is-ip/ip-regex.ts
|
|
73
75
|
var word = "[a-fA-F\\d:]";
|
|
74
|
-
var boundry = (options) => options && options.includeBoundaries ? `(?:(?<=\\s|^)(?=${word})|(?<=${word})(?=\\s|$))` : "";
|
|
76
|
+
var boundry = /* @__PURE__ */ __name((options) => options && options.includeBoundaries ? `(?:(?<=\\s|^)(?=${word})|(?<=${word})(?=\\s|$))` : "", "boundry");
|
|
75
77
|
var v4 = "(?: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}";
|
|
76
78
|
var v6segment = "[a-fA-F\\d]{1,4}";
|
|
77
79
|
var v6 = `
|
|
@@ -89,23 +91,33 @@ var v6 = `
|
|
|
89
91
|
var v46Exact = new RegExp(`(?:^${v4}$)|(?:^${v6}$)`);
|
|
90
92
|
var v4exact = new RegExp(`^${v4}$`);
|
|
91
93
|
var v6exact = new RegExp(`^${v6}$`);
|
|
92
|
-
var ipRegex = (options) => options && options.exact ? v46Exact : new RegExp(`(?:${boundry(options)}${v4}${boundry(options)})|(?:${boundry(options)}${v6}${boundry(options)})`, "g");
|
|
94
|
+
var ipRegex = /* @__PURE__ */ __name((options) => options && options.exact ? v46Exact : new RegExp(`(?:${boundry(options)}${v4}${boundry(options)})|(?:${boundry(options)}${v6}${boundry(options)})`, "g"), "ipRegex");
|
|
93
95
|
ipRegex.v4 = (options) => options && options.exact ? v4exact : new RegExp(`${boundry(options)}${v4}${boundry(options)}`, "g");
|
|
94
96
|
ipRegex.v6 = (options) => options && options.exact ? v6exact : new RegExp(`${boundry(options)}${v6}${boundry(options)}`, "g");
|
|
95
97
|
|
|
96
98
|
// src/is-ip/is-ip.ts
|
|
97
99
|
function isIP(value) {
|
|
98
|
-
return ipRegex({
|
|
100
|
+
return ipRegex({
|
|
101
|
+
exact: true
|
|
102
|
+
}).test(value);
|
|
99
103
|
}
|
|
104
|
+
__name(isIP, "isIP");
|
|
100
105
|
function isIPv6(value) {
|
|
101
|
-
return ipRegex.v6({
|
|
106
|
+
return ipRegex.v6({
|
|
107
|
+
exact: true
|
|
108
|
+
}).test(value);
|
|
102
109
|
}
|
|
110
|
+
__name(isIPv6, "isIPv6");
|
|
103
111
|
function isIPv4(value) {
|
|
104
|
-
return ipRegex.v4({
|
|
112
|
+
return ipRegex.v4({
|
|
113
|
+
exact: true
|
|
114
|
+
}).test(value);
|
|
105
115
|
}
|
|
116
|
+
__name(isIPv4, "isIPv4");
|
|
106
117
|
function ipVersion(value) {
|
|
107
118
|
return isIP(value) ? isIPv6(value) ? 6 : 4 : void 0;
|
|
108
119
|
}
|
|
120
|
+
__name(ipVersion, "ipVersion");
|
|
109
121
|
export {
|
|
110
122
|
IdLogger,
|
|
111
123
|
dump,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/dump.ts","../../src/Logger.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","/** @deprecated use from @xylabs/logger instead */\nexport type LogFunction = (message?: unknown) => void\nimport { handleError } from '@xylabs/error'\n\n/**\n * Interface to handle overlap between Winston &\n * `console` with as much congruency as possible.\n */\n\n/** @deprecated use from @xylabs/logger instead */\nexport interface Logger {\n debug: LogFunction\n error: LogFunction\n info: LogFunction\n log: LogFunction\n // trace: LogFunction\n warn: LogFunction\n}\n\n/** @deprecated use from @xylabs/logger instead */\nexport const getFunctionName = (depth = 2) => {\n try {\n throw new Error('Just for Stack Trace')\n } catch (error) {\n return handleError(error, (error) => {\n let newIndex: number | undefined\n const stackParts = error.stack?.split('\\n')[depth].split(' ')\n const functionName =\n stackParts?.find((item, index) => {\n if (item.length > 0 && item !== 'at') {\n //check if constructor\n if (item === 'new') {\n newIndex = index\n }\n return item\n }\n }) ?? '<unknown>'\n return newIndex ? `${functionName} ${stackParts?.[newIndex + 1]}` : functionName\n })\n }\n}\n","/* eslint-disable import/no-deprecated */\n// eslint-disable-next-line import/no-deprecated\nimport { getFunctionName, Logger } from './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 : typeof message === 'object' ? JSON.stringify(message, undefined, 2) : `${message}`\n }`\n }\n}\n","const word = '[a-fA-F\\\\d:]'\n\nexport interface Options {\n readonly exact?: boolean\n readonly includeBoundaries?: boolean\n}\n\nconst boundry = (options: Options) => (options && options.includeBoundaries ? `(?:(?<=\\\\s|^)(?=${word})|(?<=${word})(?=\\\\s|$))` : '')\n\nconst v4 = '(?: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 = '[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(`(?:${boundry(options)}${v4}${boundry(options)})|(?:${boundry(options)}${v6}${boundry(options)})`, 'g')\n\nipRegex.v4 = (options: Options) => (options && options.exact ? v4exact : new RegExp(`${boundry(options)}${v4}${boundry(options)}`, 'g'))\nipRegex.v6 = (options: Options) => (options && options.exact ? v6exact : new RegExp(`${boundry(options)}${v6}${boundry(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 isIP(value) ? (isIPv6(value) ? 6 : 4) : undefined\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../src/dump.ts","../../src/Logger.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","/** @deprecated use from @xylabs/logger instead */\nexport type LogFunction = (message?: unknown) => void\nimport { handleError } from '@xylabs/error'\n\n/**\n * Interface to handle overlap between Winston &\n * `console` with as much congruency as possible.\n */\n\n/** @deprecated use from @xylabs/logger instead */\nexport interface Logger {\n debug: LogFunction\n error: LogFunction\n info: LogFunction\n log: LogFunction\n // trace: LogFunction\n warn: LogFunction\n}\n\n/** @deprecated use from @xylabs/logger instead */\nexport const getFunctionName = (depth = 2) => {\n try {\n throw new Error('Just for Stack Trace')\n } catch (error) {\n return handleError(error, (error) => {\n let newIndex: number | undefined\n const stackParts = error.stack?.split('\\n')[depth].split(' ')\n const functionName =\n stackParts?.find((item, index) => {\n if (item.length > 0 && item !== 'at') {\n //check if constructor\n if (item === 'new') {\n newIndex = index\n }\n return item\n }\n }) ?? '<unknown>'\n return newIndex ? `${functionName} ${stackParts?.[newIndex + 1]}` : functionName\n })\n }\n}\n","/* eslint-disable import/no-deprecated */\n// eslint-disable-next-line import/no-deprecated\nimport { getFunctionName, Logger } from './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 : typeof message === 'object' ? JSON.stringify(message, undefined, 2) : `${message}`\n }`\n }\n}\n","const word = '[a-fA-F\\\\d:]'\n\nexport interface Options {\n readonly exact?: boolean\n readonly includeBoundaries?: boolean\n}\n\nconst boundry = (options: Options) => (options && options.includeBoundaries ? `(?:(?<=\\\\s|^)(?=${word})|(?<=${word})(?=\\\\s|$))` : '')\n\nconst v4 = '(?: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 = '[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(`(?:${boundry(options)}${v4}${boundry(options)})|(?:${boundry(options)}${v6}${boundry(options)})`, 'g')\n\nipRegex.v4 = (options: Options) => (options && options.exact ? v4exact : new RegExp(`${boundry(options)}${v4}${boundry(options)}`, 'g'))\nipRegex.v6 = (options: Options) => (options && options.exact ? v6exact : new RegExp(`${boundry(options)}${v6}${boundry(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 isIP(value) ? (isIPv6(value) ? 6 : 4) : undefined\n}\n"],"mappings":"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","names":["dump","object","cache","JSON","stringify","key","value","includes","push","handleError","getFunctionName","depth","Error","error","handleError","newIndex","stackParts","stack","split","functionName","find","item","index","length","IdLogger","_id","_logger","constructor","logger","id","debug","message","generate","getFunctionName","error","info","log","warn","tag","JSON","stringify","undefined","word","boundry","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/dist/node/index.cjs
CHANGED
|
@@ -3,6 +3,7 @@ var __defProp = Object.defineProperty;
|
|
|
3
3
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
4
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
5
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
6
7
|
var __export = (target, all) => {
|
|
7
8
|
for (var name in all)
|
|
8
9
|
__defProp(target, name, { get: all[name], enumerable: true });
|
|
@@ -31,26 +32,22 @@ __export(src_exports, {
|
|
|
31
32
|
module.exports = __toCommonJS(src_exports);
|
|
32
33
|
|
|
33
34
|
// src/dump.ts
|
|
34
|
-
var dump = (object) => {
|
|
35
|
+
var dump = /* @__PURE__ */ __name((object) => {
|
|
35
36
|
const cache = [];
|
|
36
|
-
return JSON.stringify(
|
|
37
|
-
object
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
if (cache.includes(value)) {
|
|
41
|
-
return "[circular]";
|
|
42
|
-
}
|
|
43
|
-
cache.push(value);
|
|
37
|
+
return JSON.stringify(object, (key, value) => {
|
|
38
|
+
if (typeof value === "object" && value !== null) {
|
|
39
|
+
if (cache.includes(value)) {
|
|
40
|
+
return "[circular]";
|
|
44
41
|
}
|
|
45
|
-
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
);
|
|
49
|
-
};
|
|
42
|
+
cache.push(value);
|
|
43
|
+
}
|
|
44
|
+
return value;
|
|
45
|
+
}, 2);
|
|
46
|
+
}, "dump");
|
|
50
47
|
|
|
51
48
|
// src/Logger.ts
|
|
52
49
|
var import_error = require("@xylabs/error");
|
|
53
|
-
var getFunctionName = (depth = 2) => {
|
|
50
|
+
var getFunctionName = /* @__PURE__ */ __name((depth = 2) => {
|
|
54
51
|
try {
|
|
55
52
|
throw new Error("Just for Stack Trace");
|
|
56
53
|
} catch (error) {
|
|
@@ -69,10 +66,10 @@ var getFunctionName = (depth = 2) => {
|
|
|
69
66
|
return newIndex ? `${functionName} ${stackParts == null ? void 0 : stackParts[newIndex + 1]}` : functionName;
|
|
70
67
|
});
|
|
71
68
|
}
|
|
72
|
-
};
|
|
69
|
+
}, "getFunctionName");
|
|
73
70
|
|
|
74
71
|
// src/IdLogger.ts
|
|
75
|
-
var
|
|
72
|
+
var _IdLogger = class _IdLogger {
|
|
76
73
|
_id;
|
|
77
74
|
_logger;
|
|
78
75
|
constructor(logger, id) {
|
|
@@ -106,10 +103,12 @@ var IdLogger = class {
|
|
|
106
103
|
return `${tag} ${this._id ? `[${this._id}] ` : ""}${typeof message === "string" ? message : typeof message === "object" ? JSON.stringify(message, void 0, 2) : `${message}`}`;
|
|
107
104
|
}
|
|
108
105
|
};
|
|
106
|
+
__name(_IdLogger, "IdLogger");
|
|
107
|
+
var IdLogger = _IdLogger;
|
|
109
108
|
|
|
110
109
|
// src/is-ip/ip-regex.ts
|
|
111
110
|
var word = "[a-fA-F\\d:]";
|
|
112
|
-
var boundry = (options) => options && options.includeBoundaries ? `(?:(?<=\\s|^)(?=${word})|(?<=${word})(?=\\s|$))` : "";
|
|
111
|
+
var boundry = /* @__PURE__ */ __name((options) => options && options.includeBoundaries ? `(?:(?<=\\s|^)(?=${word})|(?<=${word})(?=\\s|$))` : "", "boundry");
|
|
113
112
|
var v4 = "(?: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}";
|
|
114
113
|
var v6segment = "[a-fA-F\\d]{1,4}";
|
|
115
114
|
var v6 = `
|
|
@@ -127,23 +126,33 @@ var v6 = `
|
|
|
127
126
|
var v46Exact = new RegExp(`(?:^${v4}$)|(?:^${v6}$)`);
|
|
128
127
|
var v4exact = new RegExp(`^${v4}$`);
|
|
129
128
|
var v6exact = new RegExp(`^${v6}$`);
|
|
130
|
-
var ipRegex = (options) => options && options.exact ? v46Exact : new RegExp(`(?:${boundry(options)}${v4}${boundry(options)})|(?:${boundry(options)}${v6}${boundry(options)})`, "g");
|
|
129
|
+
var ipRegex = /* @__PURE__ */ __name((options) => options && options.exact ? v46Exact : new RegExp(`(?:${boundry(options)}${v4}${boundry(options)})|(?:${boundry(options)}${v6}${boundry(options)})`, "g"), "ipRegex");
|
|
131
130
|
ipRegex.v4 = (options) => options && options.exact ? v4exact : new RegExp(`${boundry(options)}${v4}${boundry(options)}`, "g");
|
|
132
131
|
ipRegex.v6 = (options) => options && options.exact ? v6exact : new RegExp(`${boundry(options)}${v6}${boundry(options)}`, "g");
|
|
133
132
|
|
|
134
133
|
// src/is-ip/is-ip.ts
|
|
135
134
|
function isIP(value) {
|
|
136
|
-
return ipRegex({
|
|
135
|
+
return ipRegex({
|
|
136
|
+
exact: true
|
|
137
|
+
}).test(value);
|
|
137
138
|
}
|
|
139
|
+
__name(isIP, "isIP");
|
|
138
140
|
function isIPv6(value) {
|
|
139
|
-
return ipRegex.v6({
|
|
141
|
+
return ipRegex.v6({
|
|
142
|
+
exact: true
|
|
143
|
+
}).test(value);
|
|
140
144
|
}
|
|
145
|
+
__name(isIPv6, "isIPv6");
|
|
141
146
|
function isIPv4(value) {
|
|
142
|
-
return ipRegex.v4({
|
|
147
|
+
return ipRegex.v4({
|
|
148
|
+
exact: true
|
|
149
|
+
}).test(value);
|
|
143
150
|
}
|
|
151
|
+
__name(isIPv4, "isIPv4");
|
|
144
152
|
function ipVersion(value) {
|
|
145
153
|
return isIP(value) ? isIPv6(value) ? 6 : 4 : void 0;
|
|
146
154
|
}
|
|
155
|
+
__name(ipVersion, "ipVersion");
|
|
147
156
|
// Annotate the CommonJS export names for ESM import in node:
|
|
148
157
|
0 && (module.exports = {
|
|
149
158
|
IdLogger,
|
package/dist/node/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/index.ts","../../src/dump.ts","../../src/Logger.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'\nexport * from './Logger'\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","/** @deprecated use from @xylabs/logger instead */\nexport type LogFunction = (message?: unknown) => void\nimport { handleError } from '@xylabs/error'\n\n/**\n * Interface to handle overlap between Winston &\n * `console` with as much congruency as possible.\n */\n\n/** @deprecated use from @xylabs/logger instead */\nexport interface Logger {\n debug: LogFunction\n error: LogFunction\n info: LogFunction\n log: LogFunction\n // trace: LogFunction\n warn: LogFunction\n}\n\n/** @deprecated use from @xylabs/logger instead */\nexport const getFunctionName = (depth = 2) => {\n try {\n throw new Error('Just for Stack Trace')\n } catch (error) {\n return handleError(error, (error) => {\n let newIndex: number | undefined\n const stackParts = error.stack?.split('\\n')[depth].split(' ')\n const functionName =\n stackParts?.find((item, index) => {\n if (item.length > 0 && item !== 'at') {\n //check if constructor\n if (item === 'new') {\n newIndex = index\n }\n return item\n }\n }) ?? '<unknown>'\n return newIndex ? `${functionName} ${stackParts?.[newIndex + 1]}` : functionName\n })\n }\n}\n","/* eslint-disable import/no-deprecated */\n// eslint-disable-next-line import/no-deprecated\nimport { getFunctionName, Logger } from './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 : typeof message === 'object' ? JSON.stringify(message, undefined, 2) : `${message}`\n }`\n }\n}\n","const word = '[a-fA-F\\\\d:]'\n\nexport interface Options {\n readonly exact?: boolean\n readonly includeBoundaries?: boolean\n}\n\nconst boundry = (options: Options) => (options && options.includeBoundaries ? `(?:(?<=\\\\s|^)(?=${word})|(?<=${word})(?=\\\\s|$))` : '')\n\nconst v4 = '(?: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 = '[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(`(?:${boundry(options)}${v4}${boundry(options)})|(?:${boundry(options)}${v6}${boundry(options)})`, 'g')\n\nipRegex.v4 = (options: Options) => (options && options.exact ? v4exact : new RegExp(`${boundry(options)}${v4}${boundry(options)}`, 'g'))\nipRegex.v6 = (options: Options) => (options && options.exact ? v6exact : new RegExp(`${boundry(options)}${v6}${boundry(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 isIP(value) ? (isIPv6(value) ? 6 : 4) : undefined\n}\n"],"mappings":"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","names":["error"]}
|
|
1
|
+
{"version":3,"sources":["../../src/index.ts","../../src/dump.ts","../../src/Logger.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'\nexport * from './Logger'\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","/** @deprecated use from @xylabs/logger instead */\nexport type LogFunction = (message?: unknown) => void\nimport { handleError } from '@xylabs/error'\n\n/**\n * Interface to handle overlap between Winston &\n * `console` with as much congruency as possible.\n */\n\n/** @deprecated use from @xylabs/logger instead */\nexport interface Logger {\n debug: LogFunction\n error: LogFunction\n info: LogFunction\n log: LogFunction\n // trace: LogFunction\n warn: LogFunction\n}\n\n/** @deprecated use from @xylabs/logger instead */\nexport const getFunctionName = (depth = 2) => {\n try {\n throw new Error('Just for Stack Trace')\n } catch (error) {\n return handleError(error, (error) => {\n let newIndex: number | undefined\n const stackParts = error.stack?.split('\\n')[depth].split(' ')\n const functionName =\n stackParts?.find((item, index) => {\n if (item.length > 0 && item !== 'at') {\n //check if constructor\n if (item === 'new') {\n newIndex = index\n }\n return item\n }\n }) ?? '<unknown>'\n return newIndex ? `${functionName} ${stackParts?.[newIndex + 1]}` : functionName\n })\n }\n}\n","/* eslint-disable import/no-deprecated */\n// eslint-disable-next-line import/no-deprecated\nimport { getFunctionName, Logger } from './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 : typeof message === 'object' ? JSON.stringify(message, undefined, 2) : `${message}`\n }`\n }\n}\n","const word = '[a-fA-F\\\\d:]'\n\nexport interface Options {\n readonly exact?: boolean\n readonly includeBoundaries?: boolean\n}\n\nconst boundry = (options: Options) => (options && options.includeBoundaries ? `(?:(?<=\\\\s|^)(?=${word})|(?<=${word})(?=\\\\s|$))` : '')\n\nconst v4 = '(?: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 = '[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(`(?:${boundry(options)}${v4}${boundry(options)})|(?:${boundry(options)}${v6}${boundry(options)})`, 'g')\n\nipRegex.v4 = (options: Options) => (options && options.exact ? v4exact : new RegExp(`${boundry(options)}${v4}${boundry(options)}`, 'g'))\nipRegex.v6 = (options: Options) => (options && options.exact ? v6exact : new RegExp(`${boundry(options)}${v6}${boundry(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 isIP(value) ? (isIPv6(value) ? 6 : 4) : undefined\n}\n"],"mappings":"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","names":["dump","object","cache","JSON","stringify","key","value","includes","push","getFunctionName","depth","Error","error","handleError","newIndex","stackParts","stack","split","functionName","find","item","index","length","IdLogger","_id","_logger","constructor","logger","id","debug","message","generate","getFunctionName","error","info","log","warn","tag","JSON","stringify","undefined","word","boundry","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/dist/node/index.js
CHANGED
|
@@ -1,24 +1,23 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
3
|
+
|
|
1
4
|
// src/dump.ts
|
|
2
|
-
var dump = (object) => {
|
|
5
|
+
var dump = /* @__PURE__ */ __name((object) => {
|
|
3
6
|
const cache = [];
|
|
4
|
-
return JSON.stringify(
|
|
5
|
-
object
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
if (cache.includes(value)) {
|
|
9
|
-
return "[circular]";
|
|
10
|
-
}
|
|
11
|
-
cache.push(value);
|
|
7
|
+
return JSON.stringify(object, (key, value) => {
|
|
8
|
+
if (typeof value === "object" && value !== null) {
|
|
9
|
+
if (cache.includes(value)) {
|
|
10
|
+
return "[circular]";
|
|
12
11
|
}
|
|
13
|
-
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
);
|
|
17
|
-
};
|
|
12
|
+
cache.push(value);
|
|
13
|
+
}
|
|
14
|
+
return value;
|
|
15
|
+
}, 2);
|
|
16
|
+
}, "dump");
|
|
18
17
|
|
|
19
18
|
// src/Logger.ts
|
|
20
19
|
import { handleError } from "@xylabs/error";
|
|
21
|
-
var getFunctionName = (depth = 2) => {
|
|
20
|
+
var getFunctionName = /* @__PURE__ */ __name((depth = 2) => {
|
|
22
21
|
try {
|
|
23
22
|
throw new Error("Just for Stack Trace");
|
|
24
23
|
} catch (error) {
|
|
@@ -37,10 +36,10 @@ var getFunctionName = (depth = 2) => {
|
|
|
37
36
|
return newIndex ? `${functionName} ${stackParts == null ? void 0 : stackParts[newIndex + 1]}` : functionName;
|
|
38
37
|
});
|
|
39
38
|
}
|
|
40
|
-
};
|
|
39
|
+
}, "getFunctionName");
|
|
41
40
|
|
|
42
41
|
// src/IdLogger.ts
|
|
43
|
-
var
|
|
42
|
+
var _IdLogger = class _IdLogger {
|
|
44
43
|
_id;
|
|
45
44
|
_logger;
|
|
46
45
|
constructor(logger, id) {
|
|
@@ -74,10 +73,12 @@ var IdLogger = class {
|
|
|
74
73
|
return `${tag} ${this._id ? `[${this._id}] ` : ""}${typeof message === "string" ? message : typeof message === "object" ? JSON.stringify(message, void 0, 2) : `${message}`}`;
|
|
75
74
|
}
|
|
76
75
|
};
|
|
76
|
+
__name(_IdLogger, "IdLogger");
|
|
77
|
+
var IdLogger = _IdLogger;
|
|
77
78
|
|
|
78
79
|
// src/is-ip/ip-regex.ts
|
|
79
80
|
var word = "[a-fA-F\\d:]";
|
|
80
|
-
var boundry = (options) => options && options.includeBoundaries ? `(?:(?<=\\s|^)(?=${word})|(?<=${word})(?=\\s|$))` : "";
|
|
81
|
+
var boundry = /* @__PURE__ */ __name((options) => options && options.includeBoundaries ? `(?:(?<=\\s|^)(?=${word})|(?<=${word})(?=\\s|$))` : "", "boundry");
|
|
81
82
|
var v4 = "(?: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}";
|
|
82
83
|
var v6segment = "[a-fA-F\\d]{1,4}";
|
|
83
84
|
var v6 = `
|
|
@@ -95,23 +96,33 @@ var v6 = `
|
|
|
95
96
|
var v46Exact = new RegExp(`(?:^${v4}$)|(?:^${v6}$)`);
|
|
96
97
|
var v4exact = new RegExp(`^${v4}$`);
|
|
97
98
|
var v6exact = new RegExp(`^${v6}$`);
|
|
98
|
-
var ipRegex = (options) => options && options.exact ? v46Exact : new RegExp(`(?:${boundry(options)}${v4}${boundry(options)})|(?:${boundry(options)}${v6}${boundry(options)})`, "g");
|
|
99
|
+
var ipRegex = /* @__PURE__ */ __name((options) => options && options.exact ? v46Exact : new RegExp(`(?:${boundry(options)}${v4}${boundry(options)})|(?:${boundry(options)}${v6}${boundry(options)})`, "g"), "ipRegex");
|
|
99
100
|
ipRegex.v4 = (options) => options && options.exact ? v4exact : new RegExp(`${boundry(options)}${v4}${boundry(options)}`, "g");
|
|
100
101
|
ipRegex.v6 = (options) => options && options.exact ? v6exact : new RegExp(`${boundry(options)}${v6}${boundry(options)}`, "g");
|
|
101
102
|
|
|
102
103
|
// src/is-ip/is-ip.ts
|
|
103
104
|
function isIP(value) {
|
|
104
|
-
return ipRegex({
|
|
105
|
+
return ipRegex({
|
|
106
|
+
exact: true
|
|
107
|
+
}).test(value);
|
|
105
108
|
}
|
|
109
|
+
__name(isIP, "isIP");
|
|
106
110
|
function isIPv6(value) {
|
|
107
|
-
return ipRegex.v6({
|
|
111
|
+
return ipRegex.v6({
|
|
112
|
+
exact: true
|
|
113
|
+
}).test(value);
|
|
108
114
|
}
|
|
115
|
+
__name(isIPv6, "isIPv6");
|
|
109
116
|
function isIPv4(value) {
|
|
110
|
-
return ipRegex.v4({
|
|
117
|
+
return ipRegex.v4({
|
|
118
|
+
exact: true
|
|
119
|
+
}).test(value);
|
|
111
120
|
}
|
|
121
|
+
__name(isIPv4, "isIPv4");
|
|
112
122
|
function ipVersion(value) {
|
|
113
123
|
return isIP(value) ? isIPv6(value) ? 6 : 4 : void 0;
|
|
114
124
|
}
|
|
125
|
+
__name(ipVersion, "ipVersion");
|
|
115
126
|
export {
|
|
116
127
|
IdLogger,
|
|
117
128
|
dump,
|
package/dist/node/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/dump.ts","../../src/Logger.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","/** @deprecated use from @xylabs/logger instead */\nexport type LogFunction = (message?: unknown) => void\nimport { handleError } from '@xylabs/error'\n\n/**\n * Interface to handle overlap between Winston &\n * `console` with as much congruency as possible.\n */\n\n/** @deprecated use from @xylabs/logger instead */\nexport interface Logger {\n debug: LogFunction\n error: LogFunction\n info: LogFunction\n log: LogFunction\n // trace: LogFunction\n warn: LogFunction\n}\n\n/** @deprecated use from @xylabs/logger instead */\nexport const getFunctionName = (depth = 2) => {\n try {\n throw new Error('Just for Stack Trace')\n } catch (error) {\n return handleError(error, (error) => {\n let newIndex: number | undefined\n const stackParts = error.stack?.split('\\n')[depth].split(' ')\n const functionName =\n stackParts?.find((item, index) => {\n if (item.length > 0 && item !== 'at') {\n //check if constructor\n if (item === 'new') {\n newIndex = index\n }\n return item\n }\n }) ?? '<unknown>'\n return newIndex ? `${functionName} ${stackParts?.[newIndex + 1]}` : functionName\n })\n }\n}\n","/* eslint-disable import/no-deprecated */\n// eslint-disable-next-line import/no-deprecated\nimport { getFunctionName, Logger } from './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 : typeof message === 'object' ? JSON.stringify(message, undefined, 2) : `${message}`\n }`\n }\n}\n","const word = '[a-fA-F\\\\d:]'\n\nexport interface Options {\n readonly exact?: boolean\n readonly includeBoundaries?: boolean\n}\n\nconst boundry = (options: Options) => (options && options.includeBoundaries ? `(?:(?<=\\\\s|^)(?=${word})|(?<=${word})(?=\\\\s|$))` : '')\n\nconst v4 = '(?: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 = '[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(`(?:${boundry(options)}${v4}${boundry(options)})|(?:${boundry(options)}${v6}${boundry(options)})`, 'g')\n\nipRegex.v4 = (options: Options) => (options && options.exact ? v4exact : new RegExp(`${boundry(options)}${v4}${boundry(options)}`, 'g'))\nipRegex.v6 = (options: Options) => (options && options.exact ? v6exact : new RegExp(`${boundry(options)}${v6}${boundry(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 isIP(value) ? (isIPv6(value) ? 6 : 4) : undefined\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../src/dump.ts","../../src/Logger.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","/** @deprecated use from @xylabs/logger instead */\nexport type LogFunction = (message?: unknown) => void\nimport { handleError } from '@xylabs/error'\n\n/**\n * Interface to handle overlap between Winston &\n * `console` with as much congruency as possible.\n */\n\n/** @deprecated use from @xylabs/logger instead */\nexport interface Logger {\n debug: LogFunction\n error: LogFunction\n info: LogFunction\n log: LogFunction\n // trace: LogFunction\n warn: LogFunction\n}\n\n/** @deprecated use from @xylabs/logger instead */\nexport const getFunctionName = (depth = 2) => {\n try {\n throw new Error('Just for Stack Trace')\n } catch (error) {\n return handleError(error, (error) => {\n let newIndex: number | undefined\n const stackParts = error.stack?.split('\\n')[depth].split(' ')\n const functionName =\n stackParts?.find((item, index) => {\n if (item.length > 0 && item !== 'at') {\n //check if constructor\n if (item === 'new') {\n newIndex = index\n }\n return item\n }\n }) ?? '<unknown>'\n return newIndex ? `${functionName} ${stackParts?.[newIndex + 1]}` : functionName\n })\n }\n}\n","/* eslint-disable import/no-deprecated */\n// eslint-disable-next-line import/no-deprecated\nimport { getFunctionName, Logger } from './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 : typeof message === 'object' ? JSON.stringify(message, undefined, 2) : `${message}`\n }`\n }\n}\n","const word = '[a-fA-F\\\\d:]'\n\nexport interface Options {\n readonly exact?: boolean\n readonly includeBoundaries?: boolean\n}\n\nconst boundry = (options: Options) => (options && options.includeBoundaries ? `(?:(?<=\\\\s|^)(?=${word})|(?<=${word})(?=\\\\s|$))` : '')\n\nconst v4 = '(?: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 = '[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(`(?:${boundry(options)}${v4}${boundry(options)})|(?:${boundry(options)}${v6}${boundry(options)})`, 'g')\n\nipRegex.v4 = (options: Options) => (options && options.exact ? v4exact : new RegExp(`${boundry(options)}${v4}${boundry(options)}`, 'g'))\nipRegex.v6 = (options: Options) => (options && options.exact ? v6exact : new RegExp(`${boundry(options)}${v6}${boundry(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 isIP(value) ? (isIPv6(value) ? 6 : 4) : undefined\n}\n"],"mappings":"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","names":["dump","object","cache","JSON","stringify","key","value","includes","push","handleError","getFunctionName","depth","Error","error","handleError","newIndex","stackParts","stack","split","functionName","find","item","index","length","IdLogger","_id","_logger","constructor","logger","id","debug","message","generate","getFunctionName","error","info","log","warn","tag","JSON","stringify","undefined","word","boundry","options","includeBoundaries","v4","v6segment","v6","replaceAll","trim","v46Exact","RegExp","v4exact","v6exact","ipRegex","exact","isIP","value","ipRegex","exact","test","isIPv6","v6","isIPv4","v4","ipVersion","undefined"]}
|