@xyo-network/shared 2.110.10 → 2.110.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/browser/IdLogger.d.cts.map +1 -1
- package/dist/browser/IdLogger.d.mts.map +1 -1
- package/dist/browser/IdLogger.d.ts.map +1 -1
- package/dist/browser/index.cjs +21 -30
- package/dist/browser/index.cjs.map +1 -1
- package/dist/browser/index.js +21 -32
- package/dist/browser/index.js.map +1 -1
- package/dist/neutral/IdLogger.d.cts.map +1 -1
- package/dist/neutral/IdLogger.d.mts.map +1 -1
- package/dist/neutral/IdLogger.d.ts.map +1 -1
- package/dist/neutral/index.cjs +21 -30
- package/dist/neutral/index.cjs.map +1 -1
- package/dist/neutral/index.js +21 -32
- package/dist/neutral/index.js.map +1 -1
- package/dist/node/IdLogger.d.cts.map +1 -1
- package/dist/node/IdLogger.d.mts.map +1 -1
- package/dist/node/IdLogger.d.ts.map +1 -1
- package/dist/node/index.cjs +22 -30
- package/dist/node/index.cjs.map +1 -1
- package/dist/node/index.js +22 -32
- package/dist/node/index.js.map +1 -1
- package/package.json +4 -4
- package/src/IdLogger.ts +2 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IdLogger.d.ts","sourceRoot":"","sources":["../../src/IdLogger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmB,MAAM,EAAE,MAAM,gBAAgB,CAAA;AAGxD,qBAAa,QAAS,YAAW,MAAM;IACrC,OAAO,CAAC,GAAG,CAAC,CAAc;IAC1B,OAAO,CAAC,OAAO,CAAQ;gBAEX,MAAM,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,MAAM;IAK7C,IAAI,EAAE,CAAC,EAAE,EAAE,MAAM,EAEhB;IAED,KAAK,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI;IAG9B,KAAK,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI;IAG9B,IAAI,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI;IAG7B,GAAG,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI;IAG5B,IAAI,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI;IAI7B,OAAO,CAAC,QAAQ;
|
|
1
|
+
{"version":3,"file":"IdLogger.d.ts","sourceRoot":"","sources":["../../src/IdLogger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmB,MAAM,EAAE,MAAM,gBAAgB,CAAA;AAGxD,qBAAa,QAAS,YAAW,MAAM;IACrC,OAAO,CAAC,GAAG,CAAC,CAAc;IAC1B,OAAO,CAAC,OAAO,CAAQ;gBAEX,MAAM,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,MAAM;IAK7C,IAAI,EAAE,CAAC,EAAE,EAAE,MAAM,EAEhB;IAED,KAAK,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI;IAG9B,KAAK,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI;IAG9B,IAAI,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI;IAG7B,GAAG,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI;IAG5B,IAAI,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI;IAI7B,OAAO,CAAC,QAAQ;CAQjB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IdLogger.d.ts","sourceRoot":"","sources":["../../src/IdLogger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmB,MAAM,EAAE,MAAM,gBAAgB,CAAA;AAGxD,qBAAa,QAAS,YAAW,MAAM;IACrC,OAAO,CAAC,GAAG,CAAC,CAAc;IAC1B,OAAO,CAAC,OAAO,CAAQ;gBAEX,MAAM,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,MAAM;IAK7C,IAAI,EAAE,CAAC,EAAE,EAAE,MAAM,EAEhB;IAED,KAAK,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI;IAG9B,KAAK,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI;IAG9B,IAAI,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI;IAG7B,GAAG,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI;IAG5B,IAAI,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI;IAI7B,OAAO,CAAC,QAAQ;
|
|
1
|
+
{"version":3,"file":"IdLogger.d.ts","sourceRoot":"","sources":["../../src/IdLogger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmB,MAAM,EAAE,MAAM,gBAAgB,CAAA;AAGxD,qBAAa,QAAS,YAAW,MAAM;IACrC,OAAO,CAAC,GAAG,CAAC,CAAc;IAC1B,OAAO,CAAC,OAAO,CAAQ;gBAEX,MAAM,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,MAAM;IAK7C,IAAI,EAAE,CAAC,EAAE,EAAE,MAAM,EAEhB;IAED,KAAK,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI;IAG9B,KAAK,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI;IAG9B,IAAI,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI;IAG7B,GAAG,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI;IAG5B,IAAI,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI;IAI7B,OAAO,CAAC,QAAQ;CAQjB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IdLogger.d.ts","sourceRoot":"","sources":["../../src/IdLogger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmB,MAAM,EAAE,MAAM,gBAAgB,CAAA;AAGxD,qBAAa,QAAS,YAAW,MAAM;IACrC,OAAO,CAAC,GAAG,CAAC,CAAc;IAC1B,OAAO,CAAC,OAAO,CAAQ;gBAEX,MAAM,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,MAAM;IAK7C,IAAI,EAAE,CAAC,EAAE,EAAE,MAAM,EAEhB;IAED,KAAK,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI;IAG9B,KAAK,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI;IAG9B,IAAI,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI;IAG7B,GAAG,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI;IAG5B,IAAI,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI;IAI7B,OAAO,CAAC,QAAQ;
|
|
1
|
+
{"version":3,"file":"IdLogger.d.ts","sourceRoot":"","sources":["../../src/IdLogger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmB,MAAM,EAAE,MAAM,gBAAgB,CAAA;AAGxD,qBAAa,QAAS,YAAW,MAAM;IACrC,OAAO,CAAC,GAAG,CAAC,CAAc;IAC1B,OAAO,CAAC,OAAO,CAAQ;gBAEX,MAAM,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,MAAM;IAK7C,IAAI,EAAE,CAAC,EAAE,EAAE,MAAM,EAEhB;IAED,KAAK,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI;IAG9B,KAAK,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI;IAG9B,IAAI,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI;IAG7B,GAAG,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI;IAG5B,IAAI,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI;IAI7B,OAAO,CAAC,QAAQ;CAQjB"}
|
package/dist/browser/index.cjs
CHANGED
|
@@ -3,7 +3,6 @@ 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 });
|
|
7
6
|
var __export = (target, all) => {
|
|
8
7
|
for (var name in all)
|
|
9
8
|
__defProp(target, name, { get: all[name], enumerable: true });
|
|
@@ -31,25 +30,26 @@ __export(src_exports, {
|
|
|
31
30
|
module.exports = __toCommonJS(src_exports);
|
|
32
31
|
|
|
33
32
|
// src/dump.ts
|
|
34
|
-
var dump =
|
|
33
|
+
var dump = (object) => {
|
|
35
34
|
const cache = [];
|
|
36
|
-
return JSON.stringify(
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
35
|
+
return JSON.stringify(
|
|
36
|
+
object,
|
|
37
|
+
(key, value) => {
|
|
38
|
+
if (typeof value === "object" && value !== null) {
|
|
39
|
+
if (cache.includes(value)) {
|
|
40
|
+
return "[circular]";
|
|
41
|
+
}
|
|
42
|
+
cache.push(value);
|
|
40
43
|
}
|
|
41
|
-
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
}
|
|
44
|
+
return value;
|
|
45
|
+
},
|
|
46
|
+
2
|
|
47
|
+
);
|
|
48
|
+
};
|
|
46
49
|
|
|
47
50
|
// src/IdLogger.ts
|
|
48
51
|
var import_logger = require("@xylabs/logger");
|
|
49
52
|
var IdLogger = class {
|
|
50
|
-
static {
|
|
51
|
-
__name(this, "IdLogger");
|
|
52
|
-
}
|
|
53
53
|
_id;
|
|
54
54
|
_logger;
|
|
55
55
|
constructor(logger, id) {
|
|
@@ -75,13 +75,14 @@ var IdLogger = class {
|
|
|
75
75
|
this._logger?.warn(this.generate(message, (0, import_logger.getFunctionName)(3)));
|
|
76
76
|
}
|
|
77
77
|
generate(message, tag) {
|
|
78
|
-
|
|
78
|
+
const idString = this._id ? `[${this._id}] ` : "";
|
|
79
|
+
return `${tag} ${idString}${typeof message === "string" ? message : typeof message === "object" ? JSON.stringify(message, void 0, 2) : `${message}`}`;
|
|
79
80
|
}
|
|
80
81
|
};
|
|
81
82
|
|
|
82
83
|
// src/is-ip/ip-regex.ts
|
|
83
84
|
var word = String.raw`[a-fA-F\d:]`;
|
|
84
|
-
var boundary =
|
|
85
|
+
var boundary = (options) => options && options.includeBoundaries ? `(?:(?<=\\s|^)(?=${word})|(?<=${word})(?=\\s|$))` : "";
|
|
85
86
|
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
87
|
var v6segment = String.raw`[a-fA-F\d]{1,4}`;
|
|
87
88
|
var v6 = `
|
|
@@ -99,31 +100,21 @@ var v6 = `
|
|
|
99
100
|
var v46Exact = new RegExp(`(?:^${v4}$)|(?:^${v6}$)`);
|
|
100
101
|
var v4exact = new RegExp(`^${v4}$`);
|
|
101
102
|
var v6exact = new RegExp(`^${v6}$`);
|
|
102
|
-
var ipRegex =
|
|
103
|
+
var ipRegex = (options) => options && options.exact ? v46Exact : new RegExp(`(?:${boundary(options)}${v4}${boundary(options)})|(?:${boundary(options)}${v6}${boundary(options)})`, "g");
|
|
103
104
|
ipRegex.v4 = (options) => options && options.exact ? v4exact : new RegExp(`${boundary(options)}${v4}${boundary(options)}`, "g");
|
|
104
105
|
ipRegex.v6 = (options) => options && options.exact ? v6exact : new RegExp(`${boundary(options)}${v6}${boundary(options)}`, "g");
|
|
105
106
|
|
|
106
107
|
// src/is-ip/is-ip.ts
|
|
107
108
|
function isIP(value) {
|
|
108
|
-
return ipRegex({
|
|
109
|
-
exact: true
|
|
110
|
-
}).test(value);
|
|
109
|
+
return ipRegex({ exact: true }).test(value);
|
|
111
110
|
}
|
|
112
|
-
__name(isIP, "isIP");
|
|
113
111
|
function isIPv6(value) {
|
|
114
|
-
return ipRegex.v6({
|
|
115
|
-
exact: true
|
|
116
|
-
}).test(value);
|
|
112
|
+
return ipRegex.v6({ exact: true }).test(value);
|
|
117
113
|
}
|
|
118
|
-
__name(isIPv6, "isIPv6");
|
|
119
114
|
function isIPv4(value) {
|
|
120
|
-
return ipRegex.v4({
|
|
121
|
-
exact: true
|
|
122
|
-
}).test(value);
|
|
115
|
+
return ipRegex.v4({ exact: true }).test(value);
|
|
123
116
|
}
|
|
124
|
-
__name(isIPv4, "isIPv4");
|
|
125
117
|
function ipVersion(value) {
|
|
126
118
|
return isIP(value) ? isIPv6(value) ? 6 : 4 : void 0;
|
|
127
119
|
}
|
|
128
|
-
__name(ipVersion, "ipVersion");
|
|
129
120
|
//# 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.js'\nexport * from './IdLogger.js'\nexport * from './is-ip/index.js'\nexport * from './Job/index.js'\n","export const dump = (object: unknown): string => {\n const cache: unknown[] = []\n return JSON.stringify(\n object,\n (key, value) => {\n if (typeof value === 'object' && value !== null) {\n // Duplicate reference found, discard key\n if (cache.includes(value)) {\n return '[circular]'\n }\n\n // Store value in our collection\n cache.push(value)\n }\n return value\n },\n 2,\n )\n}\n","import { getFunctionName, Logger } from '@xylabs/logger'\n\n/** @deprecated use from @xylabs/logger instead */\nexport class IdLogger implements Logger {\n private _id?: () => string\n private _logger: Logger\n\n constructor(logger: Logger, id?: () => string) {\n this._logger = logger\n this._id = id\n }\n\n set id(id: string) {\n this._id = () => id\n }\n\n debug(message?: unknown): void {\n this._logger?.debug(this.generate(message, getFunctionName(3)))\n }\n error(message?: unknown): void {\n this._logger?.error(this.generate(message, getFunctionName(3)))\n }\n info(message?: unknown): void {\n this._logger?.info(this.generate(message, getFunctionName(3)))\n }\n log(message?: unknown): void {\n this._logger?.log(this.generate(message, getFunctionName(3)))\n }\n warn(message?: unknown): void {\n this._logger?.warn(this.generate(message, getFunctionName(3)))\n }\n\n private generate(message?: unknown, tag?: string) {\n
|
|
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.js'\nexport * from './IdLogger.js'\nexport * from './is-ip/index.js'\nexport * from './Job/index.js'\n","export const dump = (object: unknown): string => {\n const cache: unknown[] = []\n return JSON.stringify(\n object,\n (key, value) => {\n if (typeof value === 'object' && value !== null) {\n // Duplicate reference found, discard key\n if (cache.includes(value)) {\n return '[circular]'\n }\n\n // Store value in our collection\n cache.push(value)\n }\n return value\n },\n 2,\n )\n}\n","import { getFunctionName, Logger } from '@xylabs/logger'\n\n/** @deprecated use from @xylabs/logger instead */\nexport class IdLogger implements Logger {\n private _id?: () => string\n private _logger: Logger\n\n constructor(logger: Logger, id?: () => string) {\n this._logger = logger\n this._id = id\n }\n\n set id(id: string) {\n this._id = () => id\n }\n\n debug(message?: unknown): void {\n this._logger?.debug(this.generate(message, getFunctionName(3)))\n }\n error(message?: unknown): void {\n this._logger?.error(this.generate(message, getFunctionName(3)))\n }\n info(message?: unknown): void {\n this._logger?.info(this.generate(message, getFunctionName(3)))\n }\n log(message?: unknown): void {\n this._logger?.log(this.generate(message, getFunctionName(3)))\n }\n warn(message?: unknown): void {\n this._logger?.warn(this.generate(message, getFunctionName(3)))\n }\n\n private generate(message?: unknown, tag?: string) {\n const idString = this._id ? `[${this._id}] ` : ''\n return `${tag} ${idString}${\n typeof message === 'string' ? message\n : typeof message === 'object' ? JSON.stringify(message, undefined, 2)\n : `${message}`\n }`\n }\n}\n","const word = String.raw`[a-fA-F\\d:]`\n\nexport interface Options {\n readonly exact?: boolean\n readonly includeBoundaries?: boolean\n}\n\nconst boundary = (options: Options) => (options && options.includeBoundaries ? `(?:(?<=\\\\s|^)(?=${word})|(?<=${word})(?=\\\\s|$))` : '')\n\nconst v4 = String.raw`(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)){3}`\n\nconst v6segment = String.raw`[a-fA-F\\d]{1,4}`\n\nconst v6 = `\n(?:\n(?:${v6segment}:){7}(?:${v6segment}|:)| // 1:2:3:4:5:6:7:: 1:2:3:4:5:6:7:8\n(?:${v6segment}:){6}(?:${v4}|:${v6segment}|:)| // 1:2:3:4:5:6:: 1:2:3:4:5:6::8 1:2:3:4:5:6::8 1:2:3:4:5:6::1.2.3.4\n(?:${v6segment}:){5}(?::${v4}|(?::${v6segment}){1,2}|:)| // 1:2:3:4:5:: 1:2:3:4:5::7:8 1:2:3:4:5::8 1:2:3:4:5::7:1.2.3.4\n(?:${v6segment}:){4}(?:(?::${v6segment}){0,1}:${v4}|(?::${v6segment}){1,3}|:)| // 1:2:3:4:: 1:2:3:4::6:7:8 1:2:3:4::8 1:2:3:4::6:7:1.2.3.4\n(?:${v6segment}:){3}(?:(?::${v6segment}){0,2}:${v4}|(?::${v6segment}){1,4}|:)| // 1:2:3:: 1:2:3::5:6:7:8 1:2:3::8 1:2:3::5:6:7:1.2.3.4\n(?:${v6segment}:){2}(?:(?::${v6segment}){0,3}:${v4}|(?::${v6segment}){1,5}|:)| // 1:2:: 1:2::4:5:6:7:8 1:2::8 1:2::4:5:6:7:1.2.3.4\n(?:${v6segment}:){1}(?:(?::${v6segment}){0,4}:${v4}|(?::${v6segment}){1,6}|:)| // 1:: 1::3:4:5:6:7:8 1::8 1::3:4:5:6:7:1.2.3.4\n(?::(?:(?::${v6segment}){0,5}:${v4}|(?::${v6segment}){1,7}|:)) // ::2:3:4:5:6:7:8 ::2:3:4:5:6:7:8 ::8 ::1.2.3.4\n)(?:%[0-9a-zA-Z]{1,})? // %eth0 %1\n`\n .replaceAll(/\\s*\\/\\/.*$/gm, '')\n .replaceAll('\\n', '')\n .trim()\n\n// Pre-compile only the exact regexes because adding a global flag make regexes stateful\nconst v46Exact = new RegExp(`(?:^${v4}$)|(?:^${v6}$)`)\nconst v4exact = new RegExp(`^${v4}$`)\nconst v6exact = new RegExp(`^${v6}$`)\n\nexport const ipRegex = (options: Options) =>\n options && options.exact ?\n v46Exact\n : new RegExp(`(?:${boundary(options)}${v4}${boundary(options)})|(?:${boundary(options)}${v6}${boundary(options)})`, 'g')\n\nipRegex.v4 = (options: Options) => (options && options.exact ? v4exact : new RegExp(`${boundary(options)}${v4}${boundary(options)}`, 'g'))\nipRegex.v6 = (options: Options) => (options && options.exact ? v6exact : new RegExp(`${boundary(options)}${v6}${boundary(options)}`, 'g'))\n","import { ipRegex } from './ip-regex.js'\n\nexport function isIP(value: string): boolean {\n return ipRegex({ exact: true }).test(value)\n}\n\nexport function isIPv6(value: string): boolean {\n return ipRegex.v6({ exact: true }).test(value)\n}\n\nexport function isIPv4(value: string): boolean {\n return ipRegex.v4({ exact: true }).test(value)\n}\n\nexport function ipVersion(value: string): 6 | 4 | undefined {\n return (\n isIP(value) ?\n isIPv6(value) ? 6\n : 4\n : undefined\n )\n}\n"],"mappings":"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","names":[]}
|
package/dist/browser/index.js
CHANGED
|
@@ -1,26 +1,24 @@
|
|
|
1
|
-
var __defProp = Object.defineProperty;
|
|
2
|
-
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
3
|
-
|
|
4
1
|
// src/dump.ts
|
|
5
|
-
var dump =
|
|
2
|
+
var dump = (object) => {
|
|
6
3
|
const cache = [];
|
|
7
|
-
return JSON.stringify(
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
4
|
+
return JSON.stringify(
|
|
5
|
+
object,
|
|
6
|
+
(key, value) => {
|
|
7
|
+
if (typeof value === "object" && value !== null) {
|
|
8
|
+
if (cache.includes(value)) {
|
|
9
|
+
return "[circular]";
|
|
10
|
+
}
|
|
11
|
+
cache.push(value);
|
|
11
12
|
}
|
|
12
|
-
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
}
|
|
13
|
+
return value;
|
|
14
|
+
},
|
|
15
|
+
2
|
|
16
|
+
);
|
|
17
|
+
};
|
|
17
18
|
|
|
18
19
|
// src/IdLogger.ts
|
|
19
20
|
import { getFunctionName } from "@xylabs/logger";
|
|
20
21
|
var IdLogger = class {
|
|
21
|
-
static {
|
|
22
|
-
__name(this, "IdLogger");
|
|
23
|
-
}
|
|
24
22
|
_id;
|
|
25
23
|
_logger;
|
|
26
24
|
constructor(logger, id) {
|
|
@@ -46,13 +44,14 @@ var IdLogger = class {
|
|
|
46
44
|
this._logger?.warn(this.generate(message, getFunctionName(3)));
|
|
47
45
|
}
|
|
48
46
|
generate(message, tag) {
|
|
49
|
-
|
|
47
|
+
const idString = this._id ? `[${this._id}] ` : "";
|
|
48
|
+
return `${tag} ${idString}${typeof message === "string" ? message : typeof message === "object" ? JSON.stringify(message, void 0, 2) : `${message}`}`;
|
|
50
49
|
}
|
|
51
50
|
};
|
|
52
51
|
|
|
53
52
|
// src/is-ip/ip-regex.ts
|
|
54
53
|
var word = String.raw`[a-fA-F\d:]`;
|
|
55
|
-
var boundary =
|
|
54
|
+
var boundary = (options) => options && options.includeBoundaries ? `(?:(?<=\\s|^)(?=${word})|(?<=${word})(?=\\s|$))` : "";
|
|
56
55
|
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
56
|
var v6segment = String.raw`[a-fA-F\d]{1,4}`;
|
|
58
57
|
var v6 = `
|
|
@@ -70,33 +69,23 @@ var v6 = `
|
|
|
70
69
|
var v46Exact = new RegExp(`(?:^${v4}$)|(?:^${v6}$)`);
|
|
71
70
|
var v4exact = new RegExp(`^${v4}$`);
|
|
72
71
|
var v6exact = new RegExp(`^${v6}$`);
|
|
73
|
-
var ipRegex =
|
|
72
|
+
var ipRegex = (options) => options && options.exact ? v46Exact : new RegExp(`(?:${boundary(options)}${v4}${boundary(options)})|(?:${boundary(options)}${v6}${boundary(options)})`, "g");
|
|
74
73
|
ipRegex.v4 = (options) => options && options.exact ? v4exact : new RegExp(`${boundary(options)}${v4}${boundary(options)}`, "g");
|
|
75
74
|
ipRegex.v6 = (options) => options && options.exact ? v6exact : new RegExp(`${boundary(options)}${v6}${boundary(options)}`, "g");
|
|
76
75
|
|
|
77
76
|
// src/is-ip/is-ip.ts
|
|
78
77
|
function isIP(value) {
|
|
79
|
-
return ipRegex({
|
|
80
|
-
exact: true
|
|
81
|
-
}).test(value);
|
|
78
|
+
return ipRegex({ exact: true }).test(value);
|
|
82
79
|
}
|
|
83
|
-
__name(isIP, "isIP");
|
|
84
80
|
function isIPv6(value) {
|
|
85
|
-
return ipRegex.v6({
|
|
86
|
-
exact: true
|
|
87
|
-
}).test(value);
|
|
81
|
+
return ipRegex.v6({ exact: true }).test(value);
|
|
88
82
|
}
|
|
89
|
-
__name(isIPv6, "isIPv6");
|
|
90
83
|
function isIPv4(value) {
|
|
91
|
-
return ipRegex.v4({
|
|
92
|
-
exact: true
|
|
93
|
-
}).test(value);
|
|
84
|
+
return ipRegex.v4({ exact: true }).test(value);
|
|
94
85
|
}
|
|
95
|
-
__name(isIPv4, "isIPv4");
|
|
96
86
|
function ipVersion(value) {
|
|
97
87
|
return isIP(value) ? isIPv6(value) ? 6 : 4 : void 0;
|
|
98
88
|
}
|
|
99
|
-
__name(ipVersion, "ipVersion");
|
|
100
89
|
export {
|
|
101
90
|
IdLogger,
|
|
102
91
|
dump,
|
|
@@ -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): string => {\n const cache: unknown[] = []\n return JSON.stringify(\n object,\n (key, value) => {\n if (typeof value === 'object' && value !== null) {\n // Duplicate reference found, discard key\n if (cache.includes(value)) {\n return '[circular]'\n }\n\n // Store value in our collection\n cache.push(value)\n }\n return value\n },\n 2,\n )\n}\n","import { getFunctionName, Logger } from '@xylabs/logger'\n\n/** @deprecated use from @xylabs/logger instead */\nexport class IdLogger implements Logger {\n private _id?: () => string\n private _logger: Logger\n\n constructor(logger: Logger, id?: () => string) {\n this._logger = logger\n this._id = id\n }\n\n set id(id: string) {\n this._id = () => id\n }\n\n debug(message?: unknown): void {\n this._logger?.debug(this.generate(message, getFunctionName(3)))\n }\n error(message?: unknown): void {\n this._logger?.error(this.generate(message, getFunctionName(3)))\n }\n info(message?: unknown): void {\n this._logger?.info(this.generate(message, getFunctionName(3)))\n }\n log(message?: unknown): void {\n this._logger?.log(this.generate(message, getFunctionName(3)))\n }\n warn(message?: unknown): void {\n this._logger?.warn(this.generate(message, getFunctionName(3)))\n }\n\n private generate(message?: unknown, tag?: string) {\n
|
|
1
|
+
{"version":3,"sources":["../../src/dump.ts","../../src/IdLogger.ts","../../src/is-ip/ip-regex.ts","../../src/is-ip/is-ip.ts"],"sourcesContent":["export const dump = (object: unknown): string => {\n const cache: unknown[] = []\n return JSON.stringify(\n object,\n (key, value) => {\n if (typeof value === 'object' && value !== null) {\n // Duplicate reference found, discard key\n if (cache.includes(value)) {\n return '[circular]'\n }\n\n // Store value in our collection\n cache.push(value)\n }\n return value\n },\n 2,\n )\n}\n","import { getFunctionName, Logger } from '@xylabs/logger'\n\n/** @deprecated use from @xylabs/logger instead */\nexport class IdLogger implements Logger {\n private _id?: () => string\n private _logger: Logger\n\n constructor(logger: Logger, id?: () => string) {\n this._logger = logger\n this._id = id\n }\n\n set id(id: string) {\n this._id = () => id\n }\n\n debug(message?: unknown): void {\n this._logger?.debug(this.generate(message, getFunctionName(3)))\n }\n error(message?: unknown): void {\n this._logger?.error(this.generate(message, getFunctionName(3)))\n }\n info(message?: unknown): void {\n this._logger?.info(this.generate(message, getFunctionName(3)))\n }\n log(message?: unknown): void {\n this._logger?.log(this.generate(message, getFunctionName(3)))\n }\n warn(message?: unknown): void {\n this._logger?.warn(this.generate(message, getFunctionName(3)))\n }\n\n private generate(message?: unknown, tag?: string) {\n const idString = this._id ? `[${this._id}] ` : ''\n return `${tag} ${idString}${\n typeof message === 'string' ? message\n : typeof message === 'object' ? JSON.stringify(message, undefined, 2)\n : `${message}`\n }`\n }\n}\n","const word = String.raw`[a-fA-F\\d:]`\n\nexport interface Options {\n readonly exact?: boolean\n readonly includeBoundaries?: boolean\n}\n\nconst boundary = (options: Options) => (options && options.includeBoundaries ? `(?:(?<=\\\\s|^)(?=${word})|(?<=${word})(?=\\\\s|$))` : '')\n\nconst v4 = String.raw`(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)){3}`\n\nconst v6segment = String.raw`[a-fA-F\\d]{1,4}`\n\nconst v6 = `\n(?:\n(?:${v6segment}:){7}(?:${v6segment}|:)| // 1:2:3:4:5:6:7:: 1:2:3:4:5:6:7:8\n(?:${v6segment}:){6}(?:${v4}|:${v6segment}|:)| // 1:2:3:4:5:6:: 1:2:3:4:5:6::8 1:2:3:4:5:6::8 1:2:3:4:5:6::1.2.3.4\n(?:${v6segment}:){5}(?::${v4}|(?::${v6segment}){1,2}|:)| // 1:2:3:4:5:: 1:2:3:4:5::7:8 1:2:3:4:5::8 1:2:3:4:5::7:1.2.3.4\n(?:${v6segment}:){4}(?:(?::${v6segment}){0,1}:${v4}|(?::${v6segment}){1,3}|:)| // 1:2:3:4:: 1:2:3:4::6:7:8 1:2:3:4::8 1:2:3:4::6:7:1.2.3.4\n(?:${v6segment}:){3}(?:(?::${v6segment}){0,2}:${v4}|(?::${v6segment}){1,4}|:)| // 1:2:3:: 1:2:3::5:6:7:8 1:2:3::8 1:2:3::5:6:7:1.2.3.4\n(?:${v6segment}:){2}(?:(?::${v6segment}){0,3}:${v4}|(?::${v6segment}){1,5}|:)| // 1:2:: 1:2::4:5:6:7:8 1:2::8 1:2::4:5:6:7:1.2.3.4\n(?:${v6segment}:){1}(?:(?::${v6segment}){0,4}:${v4}|(?::${v6segment}){1,6}|:)| // 1:: 1::3:4:5:6:7:8 1::8 1::3:4:5:6:7:1.2.3.4\n(?::(?:(?::${v6segment}){0,5}:${v4}|(?::${v6segment}){1,7}|:)) // ::2:3:4:5:6:7:8 ::2:3:4:5:6:7:8 ::8 ::1.2.3.4\n)(?:%[0-9a-zA-Z]{1,})? // %eth0 %1\n`\n .replaceAll(/\\s*\\/\\/.*$/gm, '')\n .replaceAll('\\n', '')\n .trim()\n\n// Pre-compile only the exact regexes because adding a global flag make regexes stateful\nconst v46Exact = new RegExp(`(?:^${v4}$)|(?:^${v6}$)`)\nconst v4exact = new RegExp(`^${v4}$`)\nconst v6exact = new RegExp(`^${v6}$`)\n\nexport const ipRegex = (options: Options) =>\n options && options.exact ?\n v46Exact\n : new RegExp(`(?:${boundary(options)}${v4}${boundary(options)})|(?:${boundary(options)}${v6}${boundary(options)})`, 'g')\n\nipRegex.v4 = (options: Options) => (options && options.exact ? v4exact : new RegExp(`${boundary(options)}${v4}${boundary(options)}`, 'g'))\nipRegex.v6 = (options: Options) => (options && options.exact ? v6exact : new RegExp(`${boundary(options)}${v6}${boundary(options)}`, 'g'))\n","import { ipRegex } from './ip-regex.js'\n\nexport function isIP(value: string): boolean {\n return ipRegex({ exact: true }).test(value)\n}\n\nexport function isIPv6(value: string): boolean {\n return ipRegex.v6({ exact: true }).test(value)\n}\n\nexport function isIPv4(value: string): boolean {\n return ipRegex.v4({ exact: true }).test(value)\n}\n\nexport function ipVersion(value: string): 6 | 4 | undefined {\n return (\n isIP(value) ?\n isIPv6(value) ? 6\n : 4\n : undefined\n )\n}\n"],"mappings":"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","names":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IdLogger.d.ts","sourceRoot":"","sources":["../../src/IdLogger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmB,MAAM,EAAE,MAAM,gBAAgB,CAAA;AAGxD,qBAAa,QAAS,YAAW,MAAM;IACrC,OAAO,CAAC,GAAG,CAAC,CAAc;IAC1B,OAAO,CAAC,OAAO,CAAQ;gBAEX,MAAM,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,MAAM;IAK7C,IAAI,EAAE,CAAC,EAAE,EAAE,MAAM,EAEhB;IAED,KAAK,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI;IAG9B,KAAK,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI;IAG9B,IAAI,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI;IAG7B,GAAG,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI;IAG5B,IAAI,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI;IAI7B,OAAO,CAAC,QAAQ;
|
|
1
|
+
{"version":3,"file":"IdLogger.d.ts","sourceRoot":"","sources":["../../src/IdLogger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmB,MAAM,EAAE,MAAM,gBAAgB,CAAA;AAGxD,qBAAa,QAAS,YAAW,MAAM;IACrC,OAAO,CAAC,GAAG,CAAC,CAAc;IAC1B,OAAO,CAAC,OAAO,CAAQ;gBAEX,MAAM,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,MAAM;IAK7C,IAAI,EAAE,CAAC,EAAE,EAAE,MAAM,EAEhB;IAED,KAAK,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI;IAG9B,KAAK,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI;IAG9B,IAAI,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI;IAG7B,GAAG,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI;IAG5B,IAAI,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI;IAI7B,OAAO,CAAC,QAAQ;CAQjB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IdLogger.d.ts","sourceRoot":"","sources":["../../src/IdLogger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmB,MAAM,EAAE,MAAM,gBAAgB,CAAA;AAGxD,qBAAa,QAAS,YAAW,MAAM;IACrC,OAAO,CAAC,GAAG,CAAC,CAAc;IAC1B,OAAO,CAAC,OAAO,CAAQ;gBAEX,MAAM,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,MAAM;IAK7C,IAAI,EAAE,CAAC,EAAE,EAAE,MAAM,EAEhB;IAED,KAAK,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI;IAG9B,KAAK,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI;IAG9B,IAAI,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI;IAG7B,GAAG,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI;IAG5B,IAAI,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI;IAI7B,OAAO,CAAC,QAAQ;
|
|
1
|
+
{"version":3,"file":"IdLogger.d.ts","sourceRoot":"","sources":["../../src/IdLogger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmB,MAAM,EAAE,MAAM,gBAAgB,CAAA;AAGxD,qBAAa,QAAS,YAAW,MAAM;IACrC,OAAO,CAAC,GAAG,CAAC,CAAc;IAC1B,OAAO,CAAC,OAAO,CAAQ;gBAEX,MAAM,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,MAAM;IAK7C,IAAI,EAAE,CAAC,EAAE,EAAE,MAAM,EAEhB;IAED,KAAK,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI;IAG9B,KAAK,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI;IAG9B,IAAI,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI;IAG7B,GAAG,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI;IAG5B,IAAI,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI;IAI7B,OAAO,CAAC,QAAQ;CAQjB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IdLogger.d.ts","sourceRoot":"","sources":["../../src/IdLogger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmB,MAAM,EAAE,MAAM,gBAAgB,CAAA;AAGxD,qBAAa,QAAS,YAAW,MAAM;IACrC,OAAO,CAAC,GAAG,CAAC,CAAc;IAC1B,OAAO,CAAC,OAAO,CAAQ;gBAEX,MAAM,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,MAAM;IAK7C,IAAI,EAAE,CAAC,EAAE,EAAE,MAAM,EAEhB;IAED,KAAK,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI;IAG9B,KAAK,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI;IAG9B,IAAI,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI;IAG7B,GAAG,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI;IAG5B,IAAI,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI;IAI7B,OAAO,CAAC,QAAQ;
|
|
1
|
+
{"version":3,"file":"IdLogger.d.ts","sourceRoot":"","sources":["../../src/IdLogger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmB,MAAM,EAAE,MAAM,gBAAgB,CAAA;AAGxD,qBAAa,QAAS,YAAW,MAAM;IACrC,OAAO,CAAC,GAAG,CAAC,CAAc;IAC1B,OAAO,CAAC,OAAO,CAAQ;gBAEX,MAAM,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,MAAM;IAK7C,IAAI,EAAE,CAAC,EAAE,EAAE,MAAM,EAEhB;IAED,KAAK,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI;IAG9B,KAAK,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI;IAG9B,IAAI,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI;IAG7B,GAAG,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI;IAG5B,IAAI,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI;IAI7B,OAAO,CAAC,QAAQ;CAQjB"}
|
package/dist/neutral/index.cjs
CHANGED
|
@@ -3,7 +3,6 @@ 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 });
|
|
7
6
|
var __export = (target, all) => {
|
|
8
7
|
for (var name in all)
|
|
9
8
|
__defProp(target, name, { get: all[name], enumerable: true });
|
|
@@ -31,25 +30,26 @@ __export(src_exports, {
|
|
|
31
30
|
module.exports = __toCommonJS(src_exports);
|
|
32
31
|
|
|
33
32
|
// src/dump.ts
|
|
34
|
-
var dump =
|
|
33
|
+
var dump = (object) => {
|
|
35
34
|
const cache = [];
|
|
36
|
-
return JSON.stringify(
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
35
|
+
return JSON.stringify(
|
|
36
|
+
object,
|
|
37
|
+
(key, value) => {
|
|
38
|
+
if (typeof value === "object" && value !== null) {
|
|
39
|
+
if (cache.includes(value)) {
|
|
40
|
+
return "[circular]";
|
|
41
|
+
}
|
|
42
|
+
cache.push(value);
|
|
40
43
|
}
|
|
41
|
-
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
}
|
|
44
|
+
return value;
|
|
45
|
+
},
|
|
46
|
+
2
|
|
47
|
+
);
|
|
48
|
+
};
|
|
46
49
|
|
|
47
50
|
// src/IdLogger.ts
|
|
48
51
|
var import_logger = require("@xylabs/logger");
|
|
49
52
|
var IdLogger = class {
|
|
50
|
-
static {
|
|
51
|
-
__name(this, "IdLogger");
|
|
52
|
-
}
|
|
53
53
|
_id;
|
|
54
54
|
_logger;
|
|
55
55
|
constructor(logger, id) {
|
|
@@ -75,13 +75,14 @@ var IdLogger = class {
|
|
|
75
75
|
this._logger?.warn(this.generate(message, (0, import_logger.getFunctionName)(3)));
|
|
76
76
|
}
|
|
77
77
|
generate(message, tag) {
|
|
78
|
-
|
|
78
|
+
const idString = this._id ? `[${this._id}] ` : "";
|
|
79
|
+
return `${tag} ${idString}${typeof message === "string" ? message : typeof message === "object" ? JSON.stringify(message, void 0, 2) : `${message}`}`;
|
|
79
80
|
}
|
|
80
81
|
};
|
|
81
82
|
|
|
82
83
|
// src/is-ip/ip-regex.ts
|
|
83
84
|
var word = String.raw`[a-fA-F\d:]`;
|
|
84
|
-
var boundary =
|
|
85
|
+
var boundary = (options) => options && options.includeBoundaries ? `(?:(?<=\\s|^)(?=${word})|(?<=${word})(?=\\s|$))` : "";
|
|
85
86
|
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
87
|
var v6segment = String.raw`[a-fA-F\d]{1,4}`;
|
|
87
88
|
var v6 = `
|
|
@@ -99,31 +100,21 @@ var v6 = `
|
|
|
99
100
|
var v46Exact = new RegExp(`(?:^${v4}$)|(?:^${v6}$)`);
|
|
100
101
|
var v4exact = new RegExp(`^${v4}$`);
|
|
101
102
|
var v6exact = new RegExp(`^${v6}$`);
|
|
102
|
-
var ipRegex =
|
|
103
|
+
var ipRegex = (options) => options && options.exact ? v46Exact : new RegExp(`(?:${boundary(options)}${v4}${boundary(options)})|(?:${boundary(options)}${v6}${boundary(options)})`, "g");
|
|
103
104
|
ipRegex.v4 = (options) => options && options.exact ? v4exact : new RegExp(`${boundary(options)}${v4}${boundary(options)}`, "g");
|
|
104
105
|
ipRegex.v6 = (options) => options && options.exact ? v6exact : new RegExp(`${boundary(options)}${v6}${boundary(options)}`, "g");
|
|
105
106
|
|
|
106
107
|
// src/is-ip/is-ip.ts
|
|
107
108
|
function isIP(value) {
|
|
108
|
-
return ipRegex({
|
|
109
|
-
exact: true
|
|
110
|
-
}).test(value);
|
|
109
|
+
return ipRegex({ exact: true }).test(value);
|
|
111
110
|
}
|
|
112
|
-
__name(isIP, "isIP");
|
|
113
111
|
function isIPv6(value) {
|
|
114
|
-
return ipRegex.v6({
|
|
115
|
-
exact: true
|
|
116
|
-
}).test(value);
|
|
112
|
+
return ipRegex.v6({ exact: true }).test(value);
|
|
117
113
|
}
|
|
118
|
-
__name(isIPv6, "isIPv6");
|
|
119
114
|
function isIPv4(value) {
|
|
120
|
-
return ipRegex.v4({
|
|
121
|
-
exact: true
|
|
122
|
-
}).test(value);
|
|
115
|
+
return ipRegex.v4({ exact: true }).test(value);
|
|
123
116
|
}
|
|
124
|
-
__name(isIPv4, "isIPv4");
|
|
125
117
|
function ipVersion(value) {
|
|
126
118
|
return isIP(value) ? isIPv6(value) ? 6 : 4 : void 0;
|
|
127
119
|
}
|
|
128
|
-
__name(ipVersion, "ipVersion");
|
|
129
120
|
//# 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.js'\nexport * from './IdLogger.js'\nexport * from './is-ip/index.js'\nexport * from './Job/index.js'\n","export const dump = (object: unknown): string => {\n const cache: unknown[] = []\n return JSON.stringify(\n object,\n (key, value) => {\n if (typeof value === 'object' && value !== null) {\n // Duplicate reference found, discard key\n if (cache.includes(value)) {\n return '[circular]'\n }\n\n // Store value in our collection\n cache.push(value)\n }\n return value\n },\n 2,\n )\n}\n","import { getFunctionName, Logger } from '@xylabs/logger'\n\n/** @deprecated use from @xylabs/logger instead */\nexport class IdLogger implements Logger {\n private _id?: () => string\n private _logger: Logger\n\n constructor(logger: Logger, id?: () => string) {\n this._logger = logger\n this._id = id\n }\n\n set id(id: string) {\n this._id = () => id\n }\n\n debug(message?: unknown): void {\n this._logger?.debug(this.generate(message, getFunctionName(3)))\n }\n error(message?: unknown): void {\n this._logger?.error(this.generate(message, getFunctionName(3)))\n }\n info(message?: unknown): void {\n this._logger?.info(this.generate(message, getFunctionName(3)))\n }\n log(message?: unknown): void {\n this._logger?.log(this.generate(message, getFunctionName(3)))\n }\n warn(message?: unknown): void {\n this._logger?.warn(this.generate(message, getFunctionName(3)))\n }\n\n private generate(message?: unknown, tag?: string) {\n
|
|
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.js'\nexport * from './IdLogger.js'\nexport * from './is-ip/index.js'\nexport * from './Job/index.js'\n","export const dump = (object: unknown): string => {\n const cache: unknown[] = []\n return JSON.stringify(\n object,\n (key, value) => {\n if (typeof value === 'object' && value !== null) {\n // Duplicate reference found, discard key\n if (cache.includes(value)) {\n return '[circular]'\n }\n\n // Store value in our collection\n cache.push(value)\n }\n return value\n },\n 2,\n )\n}\n","import { getFunctionName, Logger } from '@xylabs/logger'\n\n/** @deprecated use from @xylabs/logger instead */\nexport class IdLogger implements Logger {\n private _id?: () => string\n private _logger: Logger\n\n constructor(logger: Logger, id?: () => string) {\n this._logger = logger\n this._id = id\n }\n\n set id(id: string) {\n this._id = () => id\n }\n\n debug(message?: unknown): void {\n this._logger?.debug(this.generate(message, getFunctionName(3)))\n }\n error(message?: unknown): void {\n this._logger?.error(this.generate(message, getFunctionName(3)))\n }\n info(message?: unknown): void {\n this._logger?.info(this.generate(message, getFunctionName(3)))\n }\n log(message?: unknown): void {\n this._logger?.log(this.generate(message, getFunctionName(3)))\n }\n warn(message?: unknown): void {\n this._logger?.warn(this.generate(message, getFunctionName(3)))\n }\n\n private generate(message?: unknown, tag?: string) {\n const idString = this._id ? `[${this._id}] ` : ''\n return `${tag} ${idString}${\n typeof message === 'string' ? message\n : typeof message === 'object' ? JSON.stringify(message, undefined, 2)\n : `${message}`\n }`\n }\n}\n","const word = String.raw`[a-fA-F\\d:]`\n\nexport interface Options {\n readonly exact?: boolean\n readonly includeBoundaries?: boolean\n}\n\nconst boundary = (options: Options) => (options && options.includeBoundaries ? `(?:(?<=\\\\s|^)(?=${word})|(?<=${word})(?=\\\\s|$))` : '')\n\nconst v4 = String.raw`(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)){3}`\n\nconst v6segment = String.raw`[a-fA-F\\d]{1,4}`\n\nconst v6 = `\n(?:\n(?:${v6segment}:){7}(?:${v6segment}|:)| // 1:2:3:4:5:6:7:: 1:2:3:4:5:6:7:8\n(?:${v6segment}:){6}(?:${v4}|:${v6segment}|:)| // 1:2:3:4:5:6:: 1:2:3:4:5:6::8 1:2:3:4:5:6::8 1:2:3:4:5:6::1.2.3.4\n(?:${v6segment}:){5}(?::${v4}|(?::${v6segment}){1,2}|:)| // 1:2:3:4:5:: 1:2:3:4:5::7:8 1:2:3:4:5::8 1:2:3:4:5::7:1.2.3.4\n(?:${v6segment}:){4}(?:(?::${v6segment}){0,1}:${v4}|(?::${v6segment}){1,3}|:)| // 1:2:3:4:: 1:2:3:4::6:7:8 1:2:3:4::8 1:2:3:4::6:7:1.2.3.4\n(?:${v6segment}:){3}(?:(?::${v6segment}){0,2}:${v4}|(?::${v6segment}){1,4}|:)| // 1:2:3:: 1:2:3::5:6:7:8 1:2:3::8 1:2:3::5:6:7:1.2.3.4\n(?:${v6segment}:){2}(?:(?::${v6segment}){0,3}:${v4}|(?::${v6segment}){1,5}|:)| // 1:2:: 1:2::4:5:6:7:8 1:2::8 1:2::4:5:6:7:1.2.3.4\n(?:${v6segment}:){1}(?:(?::${v6segment}){0,4}:${v4}|(?::${v6segment}){1,6}|:)| // 1:: 1::3:4:5:6:7:8 1::8 1::3:4:5:6:7:1.2.3.4\n(?::(?:(?::${v6segment}){0,5}:${v4}|(?::${v6segment}){1,7}|:)) // ::2:3:4:5:6:7:8 ::2:3:4:5:6:7:8 ::8 ::1.2.3.4\n)(?:%[0-9a-zA-Z]{1,})? // %eth0 %1\n`\n .replaceAll(/\\s*\\/\\/.*$/gm, '')\n .replaceAll('\\n', '')\n .trim()\n\n// Pre-compile only the exact regexes because adding a global flag make regexes stateful\nconst v46Exact = new RegExp(`(?:^${v4}$)|(?:^${v6}$)`)\nconst v4exact = new RegExp(`^${v4}$`)\nconst v6exact = new RegExp(`^${v6}$`)\n\nexport const ipRegex = (options: Options) =>\n options && options.exact ?\n v46Exact\n : new RegExp(`(?:${boundary(options)}${v4}${boundary(options)})|(?:${boundary(options)}${v6}${boundary(options)})`, 'g')\n\nipRegex.v4 = (options: Options) => (options && options.exact ? v4exact : new RegExp(`${boundary(options)}${v4}${boundary(options)}`, 'g'))\nipRegex.v6 = (options: Options) => (options && options.exact ? v6exact : new RegExp(`${boundary(options)}${v6}${boundary(options)}`, 'g'))\n","import { ipRegex } from './ip-regex.js'\n\nexport function isIP(value: string): boolean {\n return ipRegex({ exact: true }).test(value)\n}\n\nexport function isIPv6(value: string): boolean {\n return ipRegex.v6({ exact: true }).test(value)\n}\n\nexport function isIPv4(value: string): boolean {\n return ipRegex.v4({ exact: true }).test(value)\n}\n\nexport function ipVersion(value: string): 6 | 4 | undefined {\n return (\n isIP(value) ?\n isIPv6(value) ? 6\n : 4\n : undefined\n )\n}\n"],"mappings":"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","names":[]}
|
package/dist/neutral/index.js
CHANGED
|
@@ -1,26 +1,24 @@
|
|
|
1
|
-
var __defProp = Object.defineProperty;
|
|
2
|
-
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
3
|
-
|
|
4
1
|
// src/dump.ts
|
|
5
|
-
var dump =
|
|
2
|
+
var dump = (object) => {
|
|
6
3
|
const cache = [];
|
|
7
|
-
return JSON.stringify(
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
4
|
+
return JSON.stringify(
|
|
5
|
+
object,
|
|
6
|
+
(key, value) => {
|
|
7
|
+
if (typeof value === "object" && value !== null) {
|
|
8
|
+
if (cache.includes(value)) {
|
|
9
|
+
return "[circular]";
|
|
10
|
+
}
|
|
11
|
+
cache.push(value);
|
|
11
12
|
}
|
|
12
|
-
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
}
|
|
13
|
+
return value;
|
|
14
|
+
},
|
|
15
|
+
2
|
|
16
|
+
);
|
|
17
|
+
};
|
|
17
18
|
|
|
18
19
|
// src/IdLogger.ts
|
|
19
20
|
import { getFunctionName } from "@xylabs/logger";
|
|
20
21
|
var IdLogger = class {
|
|
21
|
-
static {
|
|
22
|
-
__name(this, "IdLogger");
|
|
23
|
-
}
|
|
24
22
|
_id;
|
|
25
23
|
_logger;
|
|
26
24
|
constructor(logger, id) {
|
|
@@ -46,13 +44,14 @@ var IdLogger = class {
|
|
|
46
44
|
this._logger?.warn(this.generate(message, getFunctionName(3)));
|
|
47
45
|
}
|
|
48
46
|
generate(message, tag) {
|
|
49
|
-
|
|
47
|
+
const idString = this._id ? `[${this._id}] ` : "";
|
|
48
|
+
return `${tag} ${idString}${typeof message === "string" ? message : typeof message === "object" ? JSON.stringify(message, void 0, 2) : `${message}`}`;
|
|
50
49
|
}
|
|
51
50
|
};
|
|
52
51
|
|
|
53
52
|
// src/is-ip/ip-regex.ts
|
|
54
53
|
var word = String.raw`[a-fA-F\d:]`;
|
|
55
|
-
var boundary =
|
|
54
|
+
var boundary = (options) => options && options.includeBoundaries ? `(?:(?<=\\s|^)(?=${word})|(?<=${word})(?=\\s|$))` : "";
|
|
56
55
|
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
56
|
var v6segment = String.raw`[a-fA-F\d]{1,4}`;
|
|
58
57
|
var v6 = `
|
|
@@ -70,33 +69,23 @@ var v6 = `
|
|
|
70
69
|
var v46Exact = new RegExp(`(?:^${v4}$)|(?:^${v6}$)`);
|
|
71
70
|
var v4exact = new RegExp(`^${v4}$`);
|
|
72
71
|
var v6exact = new RegExp(`^${v6}$`);
|
|
73
|
-
var ipRegex =
|
|
72
|
+
var ipRegex = (options) => options && options.exact ? v46Exact : new RegExp(`(?:${boundary(options)}${v4}${boundary(options)})|(?:${boundary(options)}${v6}${boundary(options)})`, "g");
|
|
74
73
|
ipRegex.v4 = (options) => options && options.exact ? v4exact : new RegExp(`${boundary(options)}${v4}${boundary(options)}`, "g");
|
|
75
74
|
ipRegex.v6 = (options) => options && options.exact ? v6exact : new RegExp(`${boundary(options)}${v6}${boundary(options)}`, "g");
|
|
76
75
|
|
|
77
76
|
// src/is-ip/is-ip.ts
|
|
78
77
|
function isIP(value) {
|
|
79
|
-
return ipRegex({
|
|
80
|
-
exact: true
|
|
81
|
-
}).test(value);
|
|
78
|
+
return ipRegex({ exact: true }).test(value);
|
|
82
79
|
}
|
|
83
|
-
__name(isIP, "isIP");
|
|
84
80
|
function isIPv6(value) {
|
|
85
|
-
return ipRegex.v6({
|
|
86
|
-
exact: true
|
|
87
|
-
}).test(value);
|
|
81
|
+
return ipRegex.v6({ exact: true }).test(value);
|
|
88
82
|
}
|
|
89
|
-
__name(isIPv6, "isIPv6");
|
|
90
83
|
function isIPv4(value) {
|
|
91
|
-
return ipRegex.v4({
|
|
92
|
-
exact: true
|
|
93
|
-
}).test(value);
|
|
84
|
+
return ipRegex.v4({ exact: true }).test(value);
|
|
94
85
|
}
|
|
95
|
-
__name(isIPv4, "isIPv4");
|
|
96
86
|
function ipVersion(value) {
|
|
97
87
|
return isIP(value) ? isIPv6(value) ? 6 : 4 : void 0;
|
|
98
88
|
}
|
|
99
|
-
__name(ipVersion, "ipVersion");
|
|
100
89
|
export {
|
|
101
90
|
IdLogger,
|
|
102
91
|
dump,
|
|
@@ -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): string => {\n const cache: unknown[] = []\n return JSON.stringify(\n object,\n (key, value) => {\n if (typeof value === 'object' && value !== null) {\n // Duplicate reference found, discard key\n if (cache.includes(value)) {\n return '[circular]'\n }\n\n // Store value in our collection\n cache.push(value)\n }\n return value\n },\n 2,\n )\n}\n","import { getFunctionName, Logger } from '@xylabs/logger'\n\n/** @deprecated use from @xylabs/logger instead */\nexport class IdLogger implements Logger {\n private _id?: () => string\n private _logger: Logger\n\n constructor(logger: Logger, id?: () => string) {\n this._logger = logger\n this._id = id\n }\n\n set id(id: string) {\n this._id = () => id\n }\n\n debug(message?: unknown): void {\n this._logger?.debug(this.generate(message, getFunctionName(3)))\n }\n error(message?: unknown): void {\n this._logger?.error(this.generate(message, getFunctionName(3)))\n }\n info(message?: unknown): void {\n this._logger?.info(this.generate(message, getFunctionName(3)))\n }\n log(message?: unknown): void {\n this._logger?.log(this.generate(message, getFunctionName(3)))\n }\n warn(message?: unknown): void {\n this._logger?.warn(this.generate(message, getFunctionName(3)))\n }\n\n private generate(message?: unknown, tag?: string) {\n
|
|
1
|
+
{"version":3,"sources":["../../src/dump.ts","../../src/IdLogger.ts","../../src/is-ip/ip-regex.ts","../../src/is-ip/is-ip.ts"],"sourcesContent":["export const dump = (object: unknown): string => {\n const cache: unknown[] = []\n return JSON.stringify(\n object,\n (key, value) => {\n if (typeof value === 'object' && value !== null) {\n // Duplicate reference found, discard key\n if (cache.includes(value)) {\n return '[circular]'\n }\n\n // Store value in our collection\n cache.push(value)\n }\n return value\n },\n 2,\n )\n}\n","import { getFunctionName, Logger } from '@xylabs/logger'\n\n/** @deprecated use from @xylabs/logger instead */\nexport class IdLogger implements Logger {\n private _id?: () => string\n private _logger: Logger\n\n constructor(logger: Logger, id?: () => string) {\n this._logger = logger\n this._id = id\n }\n\n set id(id: string) {\n this._id = () => id\n }\n\n debug(message?: unknown): void {\n this._logger?.debug(this.generate(message, getFunctionName(3)))\n }\n error(message?: unknown): void {\n this._logger?.error(this.generate(message, getFunctionName(3)))\n }\n info(message?: unknown): void {\n this._logger?.info(this.generate(message, getFunctionName(3)))\n }\n log(message?: unknown): void {\n this._logger?.log(this.generate(message, getFunctionName(3)))\n }\n warn(message?: unknown): void {\n this._logger?.warn(this.generate(message, getFunctionName(3)))\n }\n\n private generate(message?: unknown, tag?: string) {\n const idString = this._id ? `[${this._id}] ` : ''\n return `${tag} ${idString}${\n typeof message === 'string' ? message\n : typeof message === 'object' ? JSON.stringify(message, undefined, 2)\n : `${message}`\n }`\n }\n}\n","const word = String.raw`[a-fA-F\\d:]`\n\nexport interface Options {\n readonly exact?: boolean\n readonly includeBoundaries?: boolean\n}\n\nconst boundary = (options: Options) => (options && options.includeBoundaries ? `(?:(?<=\\\\s|^)(?=${word})|(?<=${word})(?=\\\\s|$))` : '')\n\nconst v4 = String.raw`(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)){3}`\n\nconst v6segment = String.raw`[a-fA-F\\d]{1,4}`\n\nconst v6 = `\n(?:\n(?:${v6segment}:){7}(?:${v6segment}|:)| // 1:2:3:4:5:6:7:: 1:2:3:4:5:6:7:8\n(?:${v6segment}:){6}(?:${v4}|:${v6segment}|:)| // 1:2:3:4:5:6:: 1:2:3:4:5:6::8 1:2:3:4:5:6::8 1:2:3:4:5:6::1.2.3.4\n(?:${v6segment}:){5}(?::${v4}|(?::${v6segment}){1,2}|:)| // 1:2:3:4:5:: 1:2:3:4:5::7:8 1:2:3:4:5::8 1:2:3:4:5::7:1.2.3.4\n(?:${v6segment}:){4}(?:(?::${v6segment}){0,1}:${v4}|(?::${v6segment}){1,3}|:)| // 1:2:3:4:: 1:2:3:4::6:7:8 1:2:3:4::8 1:2:3:4::6:7:1.2.3.4\n(?:${v6segment}:){3}(?:(?::${v6segment}){0,2}:${v4}|(?::${v6segment}){1,4}|:)| // 1:2:3:: 1:2:3::5:6:7:8 1:2:3::8 1:2:3::5:6:7:1.2.3.4\n(?:${v6segment}:){2}(?:(?::${v6segment}){0,3}:${v4}|(?::${v6segment}){1,5}|:)| // 1:2:: 1:2::4:5:6:7:8 1:2::8 1:2::4:5:6:7:1.2.3.4\n(?:${v6segment}:){1}(?:(?::${v6segment}){0,4}:${v4}|(?::${v6segment}){1,6}|:)| // 1:: 1::3:4:5:6:7:8 1::8 1::3:4:5:6:7:1.2.3.4\n(?::(?:(?::${v6segment}){0,5}:${v4}|(?::${v6segment}){1,7}|:)) // ::2:3:4:5:6:7:8 ::2:3:4:5:6:7:8 ::8 ::1.2.3.4\n)(?:%[0-9a-zA-Z]{1,})? // %eth0 %1\n`\n .replaceAll(/\\s*\\/\\/.*$/gm, '')\n .replaceAll('\\n', '')\n .trim()\n\n// Pre-compile only the exact regexes because adding a global flag make regexes stateful\nconst v46Exact = new RegExp(`(?:^${v4}$)|(?:^${v6}$)`)\nconst v4exact = new RegExp(`^${v4}$`)\nconst v6exact = new RegExp(`^${v6}$`)\n\nexport const ipRegex = (options: Options) =>\n options && options.exact ?\n v46Exact\n : new RegExp(`(?:${boundary(options)}${v4}${boundary(options)})|(?:${boundary(options)}${v6}${boundary(options)})`, 'g')\n\nipRegex.v4 = (options: Options) => (options && options.exact ? v4exact : new RegExp(`${boundary(options)}${v4}${boundary(options)}`, 'g'))\nipRegex.v6 = (options: Options) => (options && options.exact ? v6exact : new RegExp(`${boundary(options)}${v6}${boundary(options)}`, 'g'))\n","import { ipRegex } from './ip-regex.js'\n\nexport function isIP(value: string): boolean {\n return ipRegex({ exact: true }).test(value)\n}\n\nexport function isIPv6(value: string): boolean {\n return ipRegex.v6({ exact: true }).test(value)\n}\n\nexport function isIPv4(value: string): boolean {\n return ipRegex.v4({ exact: true }).test(value)\n}\n\nexport function ipVersion(value: string): 6 | 4 | undefined {\n return (\n isIP(value) ?\n isIPv6(value) ? 6\n : 4\n : undefined\n )\n}\n"],"mappings":"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","names":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IdLogger.d.ts","sourceRoot":"","sources":["../../src/IdLogger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmB,MAAM,EAAE,MAAM,gBAAgB,CAAA;AAGxD,qBAAa,QAAS,YAAW,MAAM;IACrC,OAAO,CAAC,GAAG,CAAC,CAAc;IAC1B,OAAO,CAAC,OAAO,CAAQ;gBAEX,MAAM,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,MAAM;IAK7C,IAAI,EAAE,CAAC,EAAE,EAAE,MAAM,EAEhB;IAED,KAAK,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI;IAG9B,KAAK,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI;IAG9B,IAAI,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI;IAG7B,GAAG,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI;IAG5B,IAAI,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI;IAI7B,OAAO,CAAC,QAAQ;
|
|
1
|
+
{"version":3,"file":"IdLogger.d.ts","sourceRoot":"","sources":["../../src/IdLogger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmB,MAAM,EAAE,MAAM,gBAAgB,CAAA;AAGxD,qBAAa,QAAS,YAAW,MAAM;IACrC,OAAO,CAAC,GAAG,CAAC,CAAc;IAC1B,OAAO,CAAC,OAAO,CAAQ;gBAEX,MAAM,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,MAAM;IAK7C,IAAI,EAAE,CAAC,EAAE,EAAE,MAAM,EAEhB;IAED,KAAK,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI;IAG9B,KAAK,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI;IAG9B,IAAI,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI;IAG7B,GAAG,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI;IAG5B,IAAI,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI;IAI7B,OAAO,CAAC,QAAQ;CAQjB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IdLogger.d.ts","sourceRoot":"","sources":["../../src/IdLogger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmB,MAAM,EAAE,MAAM,gBAAgB,CAAA;AAGxD,qBAAa,QAAS,YAAW,MAAM;IACrC,OAAO,CAAC,GAAG,CAAC,CAAc;IAC1B,OAAO,CAAC,OAAO,CAAQ;gBAEX,MAAM,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,MAAM;IAK7C,IAAI,EAAE,CAAC,EAAE,EAAE,MAAM,EAEhB;IAED,KAAK,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI;IAG9B,KAAK,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI;IAG9B,IAAI,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI;IAG7B,GAAG,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI;IAG5B,IAAI,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI;IAI7B,OAAO,CAAC,QAAQ;
|
|
1
|
+
{"version":3,"file":"IdLogger.d.ts","sourceRoot":"","sources":["../../src/IdLogger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmB,MAAM,EAAE,MAAM,gBAAgB,CAAA;AAGxD,qBAAa,QAAS,YAAW,MAAM;IACrC,OAAO,CAAC,GAAG,CAAC,CAAc;IAC1B,OAAO,CAAC,OAAO,CAAQ;gBAEX,MAAM,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,MAAM;IAK7C,IAAI,EAAE,CAAC,EAAE,EAAE,MAAM,EAEhB;IAED,KAAK,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI;IAG9B,KAAK,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI;IAG9B,IAAI,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI;IAG7B,GAAG,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI;IAG5B,IAAI,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI;IAI7B,OAAO,CAAC,QAAQ;CAQjB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IdLogger.d.ts","sourceRoot":"","sources":["../../src/IdLogger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmB,MAAM,EAAE,MAAM,gBAAgB,CAAA;AAGxD,qBAAa,QAAS,YAAW,MAAM;IACrC,OAAO,CAAC,GAAG,CAAC,CAAc;IAC1B,OAAO,CAAC,OAAO,CAAQ;gBAEX,MAAM,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,MAAM;IAK7C,IAAI,EAAE,CAAC,EAAE,EAAE,MAAM,EAEhB;IAED,KAAK,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI;IAG9B,KAAK,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI;IAG9B,IAAI,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI;IAG7B,GAAG,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI;IAG5B,IAAI,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI;IAI7B,OAAO,CAAC,QAAQ;
|
|
1
|
+
{"version":3,"file":"IdLogger.d.ts","sourceRoot":"","sources":["../../src/IdLogger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmB,MAAM,EAAE,MAAM,gBAAgB,CAAA;AAGxD,qBAAa,QAAS,YAAW,MAAM;IACrC,OAAO,CAAC,GAAG,CAAC,CAAc;IAC1B,OAAO,CAAC,OAAO,CAAQ;gBAEX,MAAM,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,MAAM;IAK7C,IAAI,EAAE,CAAC,EAAE,EAAE,MAAM,EAEhB;IAED,KAAK,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI;IAG9B,KAAK,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI;IAG9B,IAAI,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI;IAG7B,GAAG,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI;IAG5B,IAAI,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI;IAI7B,OAAO,CAAC,QAAQ;CAQjB"}
|
package/dist/node/index.cjs
CHANGED
|
@@ -3,7 +3,6 @@ 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 });
|
|
7
6
|
var __export = (target, all) => {
|
|
8
7
|
for (var name in all)
|
|
9
8
|
__defProp(target, name, { get: all[name], enumerable: true });
|
|
@@ -31,22 +30,26 @@ __export(src_exports, {
|
|
|
31
30
|
module.exports = __toCommonJS(src_exports);
|
|
32
31
|
|
|
33
32
|
// src/dump.ts
|
|
34
|
-
var dump =
|
|
33
|
+
var dump = (object) => {
|
|
35
34
|
const cache = [];
|
|
36
|
-
return JSON.stringify(
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
35
|
+
return JSON.stringify(
|
|
36
|
+
object,
|
|
37
|
+
(key, value) => {
|
|
38
|
+
if (typeof value === "object" && value !== null) {
|
|
39
|
+
if (cache.includes(value)) {
|
|
40
|
+
return "[circular]";
|
|
41
|
+
}
|
|
42
|
+
cache.push(value);
|
|
40
43
|
}
|
|
41
|
-
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
}
|
|
44
|
+
return value;
|
|
45
|
+
},
|
|
46
|
+
2
|
|
47
|
+
);
|
|
48
|
+
};
|
|
46
49
|
|
|
47
50
|
// src/IdLogger.ts
|
|
48
51
|
var import_logger = require("@xylabs/logger");
|
|
49
|
-
var
|
|
52
|
+
var IdLogger = class {
|
|
50
53
|
_id;
|
|
51
54
|
_logger;
|
|
52
55
|
constructor(logger, id) {
|
|
@@ -77,15 +80,14 @@ var _IdLogger = class _IdLogger {
|
|
|
77
80
|
(_a = this._logger) == null ? void 0 : _a.warn(this.generate(message, (0, import_logger.getFunctionName)(3)));
|
|
78
81
|
}
|
|
79
82
|
generate(message, tag) {
|
|
80
|
-
|
|
83
|
+
const idString = this._id ? `[${this._id}] ` : "";
|
|
84
|
+
return `${tag} ${idString}${typeof message === "string" ? message : typeof message === "object" ? JSON.stringify(message, void 0, 2) : `${message}`}`;
|
|
81
85
|
}
|
|
82
86
|
};
|
|
83
|
-
__name(_IdLogger, "IdLogger");
|
|
84
|
-
var IdLogger = _IdLogger;
|
|
85
87
|
|
|
86
88
|
// src/is-ip/ip-regex.ts
|
|
87
89
|
var word = String.raw`[a-fA-F\d:]`;
|
|
88
|
-
var boundary =
|
|
90
|
+
var boundary = (options) => options && options.includeBoundaries ? `(?:(?<=\\s|^)(?=${word})|(?<=${word})(?=\\s|$))` : "";
|
|
89
91
|
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
92
|
var v6segment = String.raw`[a-fA-F\d]{1,4}`;
|
|
91
93
|
var v6 = `
|
|
@@ -103,33 +105,23 @@ var v6 = `
|
|
|
103
105
|
var v46Exact = new RegExp(`(?:^${v4}$)|(?:^${v6}$)`);
|
|
104
106
|
var v4exact = new RegExp(`^${v4}$`);
|
|
105
107
|
var v6exact = new RegExp(`^${v6}$`);
|
|
106
|
-
var ipRegex =
|
|
108
|
+
var ipRegex = (options) => options && options.exact ? v46Exact : new RegExp(`(?:${boundary(options)}${v4}${boundary(options)})|(?:${boundary(options)}${v6}${boundary(options)})`, "g");
|
|
107
109
|
ipRegex.v4 = (options) => options && options.exact ? v4exact : new RegExp(`${boundary(options)}${v4}${boundary(options)}`, "g");
|
|
108
110
|
ipRegex.v6 = (options) => options && options.exact ? v6exact : new RegExp(`${boundary(options)}${v6}${boundary(options)}`, "g");
|
|
109
111
|
|
|
110
112
|
// src/is-ip/is-ip.ts
|
|
111
113
|
function isIP(value) {
|
|
112
|
-
return ipRegex({
|
|
113
|
-
exact: true
|
|
114
|
-
}).test(value);
|
|
114
|
+
return ipRegex({ exact: true }).test(value);
|
|
115
115
|
}
|
|
116
|
-
__name(isIP, "isIP");
|
|
117
116
|
function isIPv6(value) {
|
|
118
|
-
return ipRegex.v6({
|
|
119
|
-
exact: true
|
|
120
|
-
}).test(value);
|
|
117
|
+
return ipRegex.v6({ exact: true }).test(value);
|
|
121
118
|
}
|
|
122
|
-
__name(isIPv6, "isIPv6");
|
|
123
119
|
function isIPv4(value) {
|
|
124
|
-
return ipRegex.v4({
|
|
125
|
-
exact: true
|
|
126
|
-
}).test(value);
|
|
120
|
+
return ipRegex.v4({ exact: true }).test(value);
|
|
127
121
|
}
|
|
128
|
-
__name(isIPv4, "isIPv4");
|
|
129
122
|
function ipVersion(value) {
|
|
130
123
|
return isIP(value) ? isIPv6(value) ? 6 : 4 : void 0;
|
|
131
124
|
}
|
|
132
|
-
__name(ipVersion, "ipVersion");
|
|
133
125
|
// Annotate the CommonJS export names for ESM import in node:
|
|
134
126
|
0 && (module.exports = {
|
|
135
127
|
IdLogger,
|
package/dist/node/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/index.ts","../../src/dump.ts","../../src/IdLogger.ts","../../src/is-ip/ip-regex.ts","../../src/is-ip/is-ip.ts"],"sourcesContent":["export * from './dump.js'\nexport * from './IdLogger.js'\nexport * from './is-ip/index.js'\nexport * from './Job/index.js'\n","export const dump = (object: unknown): string => {\n const cache: unknown[] = []\n return JSON.stringify(\n object,\n (key, value) => {\n if (typeof value === 'object' && value !== null) {\n // Duplicate reference found, discard key\n if (cache.includes(value)) {\n return '[circular]'\n }\n\n // Store value in our collection\n cache.push(value)\n }\n return value\n },\n 2,\n )\n}\n","import { getFunctionName, Logger } from '@xylabs/logger'\n\n/** @deprecated use from @xylabs/logger instead */\nexport class IdLogger implements Logger {\n private _id?: () => string\n private _logger: Logger\n\n constructor(logger: Logger, id?: () => string) {\n this._logger = logger\n this._id = id\n }\n\n set id(id: string) {\n this._id = () => id\n }\n\n debug(message?: unknown): void {\n this._logger?.debug(this.generate(message, getFunctionName(3)))\n }\n error(message?: unknown): void {\n this._logger?.error(this.generate(message, getFunctionName(3)))\n }\n info(message?: unknown): void {\n this._logger?.info(this.generate(message, getFunctionName(3)))\n }\n log(message?: unknown): void {\n this._logger?.log(this.generate(message, getFunctionName(3)))\n }\n warn(message?: unknown): void {\n this._logger?.warn(this.generate(message, getFunctionName(3)))\n }\n\n private generate(message?: unknown, tag?: string) {\n
|
|
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.js'\nexport * from './IdLogger.js'\nexport * from './is-ip/index.js'\nexport * from './Job/index.js'\n","export const dump = (object: unknown): string => {\n const cache: unknown[] = []\n return JSON.stringify(\n object,\n (key, value) => {\n if (typeof value === 'object' && value !== null) {\n // Duplicate reference found, discard key\n if (cache.includes(value)) {\n return '[circular]'\n }\n\n // Store value in our collection\n cache.push(value)\n }\n return value\n },\n 2,\n )\n}\n","import { getFunctionName, Logger } from '@xylabs/logger'\n\n/** @deprecated use from @xylabs/logger instead */\nexport class IdLogger implements Logger {\n private _id?: () => string\n private _logger: Logger\n\n constructor(logger: Logger, id?: () => string) {\n this._logger = logger\n this._id = id\n }\n\n set id(id: string) {\n this._id = () => id\n }\n\n debug(message?: unknown): void {\n this._logger?.debug(this.generate(message, getFunctionName(3)))\n }\n error(message?: unknown): void {\n this._logger?.error(this.generate(message, getFunctionName(3)))\n }\n info(message?: unknown): void {\n this._logger?.info(this.generate(message, getFunctionName(3)))\n }\n log(message?: unknown): void {\n this._logger?.log(this.generate(message, getFunctionName(3)))\n }\n warn(message?: unknown): void {\n this._logger?.warn(this.generate(message, getFunctionName(3)))\n }\n\n private generate(message?: unknown, tag?: string) {\n const idString = this._id ? `[${this._id}] ` : ''\n return `${tag} ${idString}${\n typeof message === 'string' ? message\n : typeof message === 'object' ? JSON.stringify(message, undefined, 2)\n : `${message}`\n }`\n }\n}\n","const word = String.raw`[a-fA-F\\d:]`\n\nexport interface Options {\n readonly exact?: boolean\n readonly includeBoundaries?: boolean\n}\n\nconst boundary = (options: Options) => (options && options.includeBoundaries ? `(?:(?<=\\\\s|^)(?=${word})|(?<=${word})(?=\\\\s|$))` : '')\n\nconst v4 = String.raw`(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)){3}`\n\nconst v6segment = String.raw`[a-fA-F\\d]{1,4}`\n\nconst v6 = `\n(?:\n(?:${v6segment}:){7}(?:${v6segment}|:)| // 1:2:3:4:5:6:7:: 1:2:3:4:5:6:7:8\n(?:${v6segment}:){6}(?:${v4}|:${v6segment}|:)| // 1:2:3:4:5:6:: 1:2:3:4:5:6::8 1:2:3:4:5:6::8 1:2:3:4:5:6::1.2.3.4\n(?:${v6segment}:){5}(?::${v4}|(?::${v6segment}){1,2}|:)| // 1:2:3:4:5:: 1:2:3:4:5::7:8 1:2:3:4:5::8 1:2:3:4:5::7:1.2.3.4\n(?:${v6segment}:){4}(?:(?::${v6segment}){0,1}:${v4}|(?::${v6segment}){1,3}|:)| // 1:2:3:4:: 1:2:3:4::6:7:8 1:2:3:4::8 1:2:3:4::6:7:1.2.3.4\n(?:${v6segment}:){3}(?:(?::${v6segment}){0,2}:${v4}|(?::${v6segment}){1,4}|:)| // 1:2:3:: 1:2:3::5:6:7:8 1:2:3::8 1:2:3::5:6:7:1.2.3.4\n(?:${v6segment}:){2}(?:(?::${v6segment}){0,3}:${v4}|(?::${v6segment}){1,5}|:)| // 1:2:: 1:2::4:5:6:7:8 1:2::8 1:2::4:5:6:7:1.2.3.4\n(?:${v6segment}:){1}(?:(?::${v6segment}){0,4}:${v4}|(?::${v6segment}){1,6}|:)| // 1:: 1::3:4:5:6:7:8 1::8 1::3:4:5:6:7:1.2.3.4\n(?::(?:(?::${v6segment}){0,5}:${v4}|(?::${v6segment}){1,7}|:)) // ::2:3:4:5:6:7:8 ::2:3:4:5:6:7:8 ::8 ::1.2.3.4\n)(?:%[0-9a-zA-Z]{1,})? // %eth0 %1\n`\n .replaceAll(/\\s*\\/\\/.*$/gm, '')\n .replaceAll('\\n', '')\n .trim()\n\n// Pre-compile only the exact regexes because adding a global flag make regexes stateful\nconst v46Exact = new RegExp(`(?:^${v4}$)|(?:^${v6}$)`)\nconst v4exact = new RegExp(`^${v4}$`)\nconst v6exact = new RegExp(`^${v6}$`)\n\nexport const ipRegex = (options: Options) =>\n options && options.exact ?\n v46Exact\n : new RegExp(`(?:${boundary(options)}${v4}${boundary(options)})|(?:${boundary(options)}${v6}${boundary(options)})`, 'g')\n\nipRegex.v4 = (options: Options) => (options && options.exact ? v4exact : new RegExp(`${boundary(options)}${v4}${boundary(options)}`, 'g'))\nipRegex.v6 = (options: Options) => (options && options.exact ? v6exact : new RegExp(`${boundary(options)}${v6}${boundary(options)}`, 'g'))\n","import { ipRegex } from './ip-regex.js'\n\nexport function isIP(value: string): boolean {\n return ipRegex({ exact: true }).test(value)\n}\n\nexport function isIPv6(value: string): boolean {\n return ipRegex.v6({ exact: true }).test(value)\n}\n\nexport function isIPv4(value: string): boolean {\n return ipRegex.v4({ exact: true }).test(value)\n}\n\nexport function ipVersion(value: string): 6 | 4 | undefined {\n return (\n isIP(value) ?\n isIPv6(value) ? 6\n : 4\n : undefined\n )\n}\n"],"mappings":"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","names":[]}
|
package/dist/node/index.js
CHANGED
|
@@ -1,23 +1,24 @@
|
|
|
1
|
-
var __defProp = Object.defineProperty;
|
|
2
|
-
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
3
|
-
|
|
4
1
|
// src/dump.ts
|
|
5
|
-
var dump =
|
|
2
|
+
var dump = (object) => {
|
|
6
3
|
const cache = [];
|
|
7
|
-
return JSON.stringify(
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
4
|
+
return JSON.stringify(
|
|
5
|
+
object,
|
|
6
|
+
(key, value) => {
|
|
7
|
+
if (typeof value === "object" && value !== null) {
|
|
8
|
+
if (cache.includes(value)) {
|
|
9
|
+
return "[circular]";
|
|
10
|
+
}
|
|
11
|
+
cache.push(value);
|
|
11
12
|
}
|
|
12
|
-
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
}
|
|
13
|
+
return value;
|
|
14
|
+
},
|
|
15
|
+
2
|
|
16
|
+
);
|
|
17
|
+
};
|
|
17
18
|
|
|
18
19
|
// src/IdLogger.ts
|
|
19
20
|
import { getFunctionName } from "@xylabs/logger";
|
|
20
|
-
var
|
|
21
|
+
var IdLogger = class {
|
|
21
22
|
_id;
|
|
22
23
|
_logger;
|
|
23
24
|
constructor(logger, id) {
|
|
@@ -48,15 +49,14 @@ var _IdLogger = class _IdLogger {
|
|
|
48
49
|
(_a = this._logger) == null ? void 0 : _a.warn(this.generate(message, getFunctionName(3)));
|
|
49
50
|
}
|
|
50
51
|
generate(message, tag) {
|
|
51
|
-
|
|
52
|
+
const idString = this._id ? `[${this._id}] ` : "";
|
|
53
|
+
return `${tag} ${idString}${typeof message === "string" ? message : typeof message === "object" ? JSON.stringify(message, void 0, 2) : `${message}`}`;
|
|
52
54
|
}
|
|
53
55
|
};
|
|
54
|
-
__name(_IdLogger, "IdLogger");
|
|
55
|
-
var IdLogger = _IdLogger;
|
|
56
56
|
|
|
57
57
|
// src/is-ip/ip-regex.ts
|
|
58
58
|
var word = String.raw`[a-fA-F\d:]`;
|
|
59
|
-
var boundary =
|
|
59
|
+
var boundary = (options) => options && options.includeBoundaries ? `(?:(?<=\\s|^)(?=${word})|(?<=${word})(?=\\s|$))` : "";
|
|
60
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
61
|
var v6segment = String.raw`[a-fA-F\d]{1,4}`;
|
|
62
62
|
var v6 = `
|
|
@@ -74,33 +74,23 @@ var v6 = `
|
|
|
74
74
|
var v46Exact = new RegExp(`(?:^${v4}$)|(?:^${v6}$)`);
|
|
75
75
|
var v4exact = new RegExp(`^${v4}$`);
|
|
76
76
|
var v6exact = new RegExp(`^${v6}$`);
|
|
77
|
-
var ipRegex =
|
|
77
|
+
var ipRegex = (options) => options && options.exact ? v46Exact : new RegExp(`(?:${boundary(options)}${v4}${boundary(options)})|(?:${boundary(options)}${v6}${boundary(options)})`, "g");
|
|
78
78
|
ipRegex.v4 = (options) => options && options.exact ? v4exact : new RegExp(`${boundary(options)}${v4}${boundary(options)}`, "g");
|
|
79
79
|
ipRegex.v6 = (options) => options && options.exact ? v6exact : new RegExp(`${boundary(options)}${v6}${boundary(options)}`, "g");
|
|
80
80
|
|
|
81
81
|
// src/is-ip/is-ip.ts
|
|
82
82
|
function isIP(value) {
|
|
83
|
-
return ipRegex({
|
|
84
|
-
exact: true
|
|
85
|
-
}).test(value);
|
|
83
|
+
return ipRegex({ exact: true }).test(value);
|
|
86
84
|
}
|
|
87
|
-
__name(isIP, "isIP");
|
|
88
85
|
function isIPv6(value) {
|
|
89
|
-
return ipRegex.v6({
|
|
90
|
-
exact: true
|
|
91
|
-
}).test(value);
|
|
86
|
+
return ipRegex.v6({ exact: true }).test(value);
|
|
92
87
|
}
|
|
93
|
-
__name(isIPv6, "isIPv6");
|
|
94
88
|
function isIPv4(value) {
|
|
95
|
-
return ipRegex.v4({
|
|
96
|
-
exact: true
|
|
97
|
-
}).test(value);
|
|
89
|
+
return ipRegex.v4({ exact: true }).test(value);
|
|
98
90
|
}
|
|
99
|
-
__name(isIPv4, "isIPv4");
|
|
100
91
|
function ipVersion(value) {
|
|
101
92
|
return isIP(value) ? isIPv6(value) ? 6 : 4 : void 0;
|
|
102
93
|
}
|
|
103
|
-
__name(ipVersion, "ipVersion");
|
|
104
94
|
export {
|
|
105
95
|
IdLogger,
|
|
106
96
|
dump,
|
package/dist/node/index.js.map
CHANGED
|
@@ -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): string => {\n const cache: unknown[] = []\n return JSON.stringify(\n object,\n (key, value) => {\n if (typeof value === 'object' && value !== null) {\n // Duplicate reference found, discard key\n if (cache.includes(value)) {\n return '[circular]'\n }\n\n // Store value in our collection\n cache.push(value)\n }\n return value\n },\n 2,\n )\n}\n","import { getFunctionName, Logger } from '@xylabs/logger'\n\n/** @deprecated use from @xylabs/logger instead */\nexport class IdLogger implements Logger {\n private _id?: () => string\n private _logger: Logger\n\n constructor(logger: Logger, id?: () => string) {\n this._logger = logger\n this._id = id\n }\n\n set id(id: string) {\n this._id = () => id\n }\n\n debug(message?: unknown): void {\n this._logger?.debug(this.generate(message, getFunctionName(3)))\n }\n error(message?: unknown): void {\n this._logger?.error(this.generate(message, getFunctionName(3)))\n }\n info(message?: unknown): void {\n this._logger?.info(this.generate(message, getFunctionName(3)))\n }\n log(message?: unknown): void {\n this._logger?.log(this.generate(message, getFunctionName(3)))\n }\n warn(message?: unknown): void {\n this._logger?.warn(this.generate(message, getFunctionName(3)))\n }\n\n private generate(message?: unknown, tag?: string) {\n
|
|
1
|
+
{"version":3,"sources":["../../src/dump.ts","../../src/IdLogger.ts","../../src/is-ip/ip-regex.ts","../../src/is-ip/is-ip.ts"],"sourcesContent":["export const dump = (object: unknown): string => {\n const cache: unknown[] = []\n return JSON.stringify(\n object,\n (key, value) => {\n if (typeof value === 'object' && value !== null) {\n // Duplicate reference found, discard key\n if (cache.includes(value)) {\n return '[circular]'\n }\n\n // Store value in our collection\n cache.push(value)\n }\n return value\n },\n 2,\n )\n}\n","import { getFunctionName, Logger } from '@xylabs/logger'\n\n/** @deprecated use from @xylabs/logger instead */\nexport class IdLogger implements Logger {\n private _id?: () => string\n private _logger: Logger\n\n constructor(logger: Logger, id?: () => string) {\n this._logger = logger\n this._id = id\n }\n\n set id(id: string) {\n this._id = () => id\n }\n\n debug(message?: unknown): void {\n this._logger?.debug(this.generate(message, getFunctionName(3)))\n }\n error(message?: unknown): void {\n this._logger?.error(this.generate(message, getFunctionName(3)))\n }\n info(message?: unknown): void {\n this._logger?.info(this.generate(message, getFunctionName(3)))\n }\n log(message?: unknown): void {\n this._logger?.log(this.generate(message, getFunctionName(3)))\n }\n warn(message?: unknown): void {\n this._logger?.warn(this.generate(message, getFunctionName(3)))\n }\n\n private generate(message?: unknown, tag?: string) {\n const idString = this._id ? `[${this._id}] ` : ''\n return `${tag} ${idString}${\n typeof message === 'string' ? message\n : typeof message === 'object' ? JSON.stringify(message, undefined, 2)\n : `${message}`\n }`\n }\n}\n","const word = String.raw`[a-fA-F\\d:]`\n\nexport interface Options {\n readonly exact?: boolean\n readonly includeBoundaries?: boolean\n}\n\nconst boundary = (options: Options) => (options && options.includeBoundaries ? `(?:(?<=\\\\s|^)(?=${word})|(?<=${word})(?=\\\\s|$))` : '')\n\nconst v4 = String.raw`(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)){3}`\n\nconst v6segment = String.raw`[a-fA-F\\d]{1,4}`\n\nconst v6 = `\n(?:\n(?:${v6segment}:){7}(?:${v6segment}|:)| // 1:2:3:4:5:6:7:: 1:2:3:4:5:6:7:8\n(?:${v6segment}:){6}(?:${v4}|:${v6segment}|:)| // 1:2:3:4:5:6:: 1:2:3:4:5:6::8 1:2:3:4:5:6::8 1:2:3:4:5:6::1.2.3.4\n(?:${v6segment}:){5}(?::${v4}|(?::${v6segment}){1,2}|:)| // 1:2:3:4:5:: 1:2:3:4:5::7:8 1:2:3:4:5::8 1:2:3:4:5::7:1.2.3.4\n(?:${v6segment}:){4}(?:(?::${v6segment}){0,1}:${v4}|(?::${v6segment}){1,3}|:)| // 1:2:3:4:: 1:2:3:4::6:7:8 1:2:3:4::8 1:2:3:4::6:7:1.2.3.4\n(?:${v6segment}:){3}(?:(?::${v6segment}){0,2}:${v4}|(?::${v6segment}){1,4}|:)| // 1:2:3:: 1:2:3::5:6:7:8 1:2:3::8 1:2:3::5:6:7:1.2.3.4\n(?:${v6segment}:){2}(?:(?::${v6segment}){0,3}:${v4}|(?::${v6segment}){1,5}|:)| // 1:2:: 1:2::4:5:6:7:8 1:2::8 1:2::4:5:6:7:1.2.3.4\n(?:${v6segment}:){1}(?:(?::${v6segment}){0,4}:${v4}|(?::${v6segment}){1,6}|:)| // 1:: 1::3:4:5:6:7:8 1::8 1::3:4:5:6:7:1.2.3.4\n(?::(?:(?::${v6segment}){0,5}:${v4}|(?::${v6segment}){1,7}|:)) // ::2:3:4:5:6:7:8 ::2:3:4:5:6:7:8 ::8 ::1.2.3.4\n)(?:%[0-9a-zA-Z]{1,})? // %eth0 %1\n`\n .replaceAll(/\\s*\\/\\/.*$/gm, '')\n .replaceAll('\\n', '')\n .trim()\n\n// Pre-compile only the exact regexes because adding a global flag make regexes stateful\nconst v46Exact = new RegExp(`(?:^${v4}$)|(?:^${v6}$)`)\nconst v4exact = new RegExp(`^${v4}$`)\nconst v6exact = new RegExp(`^${v6}$`)\n\nexport const ipRegex = (options: Options) =>\n options && options.exact ?\n v46Exact\n : new RegExp(`(?:${boundary(options)}${v4}${boundary(options)})|(?:${boundary(options)}${v6}${boundary(options)})`, 'g')\n\nipRegex.v4 = (options: Options) => (options && options.exact ? v4exact : new RegExp(`${boundary(options)}${v4}${boundary(options)}`, 'g'))\nipRegex.v6 = (options: Options) => (options && options.exact ? v6exact : new RegExp(`${boundary(options)}${v6}${boundary(options)}`, 'g'))\n","import { ipRegex } from './ip-regex.js'\n\nexport function isIP(value: string): boolean {\n return ipRegex({ exact: true }).test(value)\n}\n\nexport function isIPv6(value: string): boolean {\n return ipRegex.v6({ exact: true }).test(value)\n}\n\nexport function isIPv4(value: string): boolean {\n return ipRegex.v4({ exact: true }).test(value)\n}\n\nexport function ipVersion(value: string): 6 | 4 | undefined {\n return (\n isIP(value) ?\n isIPv6(value) ? 6\n : 4\n : undefined\n )\n}\n"],"mappings":"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","names":[]}
|
package/package.json
CHANGED
|
@@ -11,11 +11,11 @@
|
|
|
11
11
|
},
|
|
12
12
|
"description": "Primary SDK for using XYO Protocol 2.0",
|
|
13
13
|
"dependencies": {
|
|
14
|
-
"@xylabs/logger": "^3.6.
|
|
14
|
+
"@xylabs/logger": "^3.6.5"
|
|
15
15
|
},
|
|
16
16
|
"devDependencies": {
|
|
17
|
-
"@xylabs/ts-scripts-yarn3": "^3.
|
|
18
|
-
"@xylabs/tsconfig": "^3.
|
|
17
|
+
"@xylabs/ts-scripts-yarn3": "^3.13.9",
|
|
18
|
+
"@xylabs/tsconfig": "^3.13.9",
|
|
19
19
|
"typescript": "^5.5.4"
|
|
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.110.
|
|
59
|
+
"version": "2.110.12",
|
|
60
60
|
"type": "module"
|
|
61
61
|
}
|
package/src/IdLogger.ts
CHANGED
|
@@ -31,7 +31,8 @@ export class IdLogger implements Logger {
|
|
|
31
31
|
}
|
|
32
32
|
|
|
33
33
|
private generate(message?: unknown, tag?: string) {
|
|
34
|
-
|
|
34
|
+
const idString = this._id ? `[${this._id}] ` : ''
|
|
35
|
+
return `${tag} ${idString}${
|
|
35
36
|
typeof message === 'string' ? message
|
|
36
37
|
: typeof message === 'object' ? JSON.stringify(message, undefined, 2)
|
|
37
38
|
: `${message}`
|