@xyo-network/shared 2.84.18 → 2.85.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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
- (key, value) => {
39
- if (typeof value === "object" && value !== null) {
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
- return value;
46
- },
47
- 2
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({ exact: true }).test(value);
130
+ return ipRegex({
131
+ exact: true
132
+ }).test(value);
131
133
  }
134
+ __name(isIP, "isIP");
132
135
  function isIPv6(value) {
133
- return ipRegex.v6({ exact: true }).test(value);
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({ exact: true }).test(value);
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":"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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":";;;;;;;;;;;;;;;;;;;;;AAAA;;;;;;;;;;;;;ACAO,IAAMA,OAAO,wBAACC,WAAAA;AACnB,QAAMC,QAAmB,CAAA;AACzB,SAAOC,KAAKC,UACVH,QACA,CAACI,KAAKC,UAAAA;AACJ,QAAI,OAAOA,UAAU,YAAYA,UAAU,MAAM;AAE/C,UAAIJ,MAAMK,SAASD,KAAAA,GAAQ;AACzB,eAAO;MACT;AAGAJ,YAAMM,KAAKF,KAAAA;IACb;AACA,WAAOA;EACT,GACA,CAAA;AAEJ,GAlBoB;;;ACEpB,mBAA4B;AAkBrB,IAAMG,kBAAkB,wBAACC,QAAQ,MAAC;AACvC,MAAI;AACF,UAAM,IAAIC,MAAM,sBAAA;EAClB,SAASC,OAAO;AACd,eAAOC,0BAAYD,OAAO,CAACA,WAAAA;AACzB,UAAIE;AACJ,YAAMC,aAAaH,OAAMI,OAAOC,MAAM,IAAA,EAAMP,KAAAA,EAAOO,MAAM,GAAA;AACzD,YAAMC,eACJH,YAAYI,KAAK,CAACC,MAAMC,UAAAA;AACtB,YAAID,KAAKE,SAAS,KAAKF,SAAS,MAAM;AAEpC,cAAIA,SAAS,OAAO;AAClBN,uBAAWO;UACb;AACA,iBAAOD;QACT;MACF,CAAA,KAAM;AACR,aAAON,WAAW,GAAGI,YAAAA,IAAgBH,aAAaD,WAAW,CAAA,CAAE,KAAKI;IACtE,CAAA;EACF;AACF,GApB+B;;;ACfxB,IAAMK,WAAN,MAAMA;EALb,OAKaA;;;EACHC;EACAC;EAERC,YAAYC,QAAgBC,IAAmB;AAC7C,SAAKH,UAAUE;AACf,SAAKH,MAAMI;EACb;EAEA,IAAIA,GAAGA,IAAY;AACjB,SAAKJ,MAAM,MAAMI;EACnB;EAEAC,MAAMC,SAAmB;AACvB,SAAKL,SAASI,MAAM,KAAKE,SAASD,SAASE,gBAAgB,CAAA,CAAA,CAAA;EAC7D;EACAC,MAAMH,SAAmB;AACvB,SAAKL,SAASQ,MAAM,KAAKF,SAASD,SAASE,gBAAgB,CAAA,CAAA,CAAA;EAC7D;EACAE,KAAKJ,SAAmB;AACtB,SAAKL,SAASS,KAAK,KAAKH,SAASD,SAASE,gBAAgB,CAAA,CAAA,CAAA;EAC5D;EACAG,IAAIL,SAAmB;AACrB,SAAKL,SAASU,IAAI,KAAKJ,SAASD,SAASE,gBAAgB,CAAA,CAAA,CAAA;EAC3D;EACAI,KAAKN,SAAmB;AACtB,SAAKL,SAASW,KAAK,KAAKL,SAASD,SAASE,gBAAgB,CAAA,CAAA,CAAA;EAC5D;EAEQD,SAASD,SAAmBO,KAAc;AAChD,WAAO,GAAGA,GAAAA,IAAO,KAAKb,MAAM,IAAI,KAAKA,GAAG,OAAO,EAAA,GAC7C,OAAOM,YAAY,WAAWA,UAAU,OAAOA,YAAY,WAAWQ,KAAKC,UAAUT,SAASU,QAAW,CAAA,IAAK,GAAGV,OAAAA,EAAS;EAE9H;AACF;;;ACvCA,IAAMW,OAAO;AAOb,IAAMC,UAAU,wBAACC,YAAsBA,WAAWA,QAAQC,oBAAoB,mBAAmBH,IAAAA,SAAaA,IAAAA,gBAAoB,IAAlH;AAEhB,IAAMI,KAAK;AAEX,IAAMC,YAAY;AAElB,IAAMC,KAAK;;KAEND,SAAAA,WAAoBA,SAAAA;KACpBA,SAAAA,WAAoBD,EAAAA,KAAOC,SAAAA;KAC3BA,SAAAA,YAAqBD,EAAAA,QAAUC,SAAAA;KAC/BA,SAAAA,eAAwBA,SAAAA,UAAmBD,EAAAA,QAAUC,SAAAA;KACrDA,SAAAA,eAAwBA,SAAAA,UAAmBD,EAAAA,QAAUC,SAAAA;KACrDA,SAAAA,eAAwBA,SAAAA,UAAmBD,EAAAA,QAAUC,SAAAA;KACrDA,SAAAA,eAAwBA,SAAAA,UAAmBD,EAAAA,QAAUC,SAAAA;aAC7CA,SAAAA,UAAmBD,EAAAA,QAAUC,SAAAA;;EAGvCE,WAAW,gBAAgB,EAAA,EAC3BA,WAAW,MAAM,EAAA,EACjBC,KAAI;AAGP,IAAMC,WAAW,IAAIC,OAAO,OAAON,EAAAA,UAAYE,EAAAA,IAAM;AACrD,IAAMK,UAAU,IAAID,OAAO,IAAIN,EAAAA,GAAK;AACpC,IAAMQ,UAAU,IAAIF,OAAO,IAAIJ,EAAAA,GAAK;AAE7B,IAAMO,UAAU,wBAACX,YACtBA,WAAWA,QAAQY,QACfL,WACA,IAAIC,OAAO,MAAMT,QAAQC,OAAAA,CAAAA,GAAWE,EAAAA,GAAKH,QAAQC,OAAAA,CAAAA,QAAgBD,QAAQC,OAAAA,CAAAA,GAAWI,EAAAA,GAAKL,QAAQC,OAAAA,CAAAA,KAAa,GAAA,GAH7F;AAKvBW,QAAQT,KAAK,CAACF,YAAsBA,WAAWA,QAAQY,QAAQH,UAAU,IAAID,OAAO,GAAGT,QAAQC,OAAAA,CAAAA,GAAWE,EAAAA,GAAKH,QAAQC,OAAAA,CAAAA,IAAY,GAAA;AACnIW,QAAQP,KAAK,CAACJ,YAAsBA,WAAWA,QAAQY,QAAQF,UAAU,IAAIF,OAAO,GAAGT,QAAQC,OAAAA,CAAAA,GAAWI,EAAAA,GAAKL,QAAQC,OAAAA,CAAAA,IAAY,GAAA;;;ACtC5H,SAASa,KAAKC,OAAa;AAChC,SAAOC,QAAQ;IAAEC,OAAO;EAAK,CAAA,EAAGC,KAAKH,KAAAA;AACvC;AAFgBD;AAIT,SAASK,OAAOJ,OAAa;AAClC,SAAOC,QAAQI,GAAG;IAAEH,OAAO;EAAK,CAAA,EAAGC,KAAKH,KAAAA;AAC1C;AAFgBI;AAIT,SAASE,OAAON,OAAa;AAClC,SAAOC,QAAQM,GAAG;IAAEL,OAAO;EAAK,CAAA,EAAGC,KAAKH,KAAAA;AAC1C;AAFgBM;AAIT,SAASE,UAAUR,OAAa;AACrC,SAAOD,KAAKC,KAAAA,IAAUI,OAAOJ,KAAAA,IAAS,IAAI,IAAKS;AACjD;AAFgBD;","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"]}
@@ -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
- (key, value) => {
7
- if (typeof value === "object" && value !== null) {
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
- return value;
14
- },
15
- 2
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({ exact: true }).test(value);
100
+ return ipRegex({
101
+ exact: true
102
+ }).test(value);
99
103
  }
104
+ __name(isIP, "isIP");
100
105
  function isIPv6(value) {
101
- return ipRegex.v6({ exact: true }).test(value);
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({ exact: true }).test(value);
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":"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","names":["error"]}
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"]}
@@ -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
- (key, value) => {
39
- if (typeof value === "object" && value !== null) {
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
- return value;
46
- },
47
- 2
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 IdLogger = class {
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({ exact: true }).test(value);
135
+ return ipRegex({
136
+ exact: true
137
+ }).test(value);
137
138
  }
139
+ __name(isIP, "isIP");
138
140
  function isIPv6(value) {
139
- return ipRegex.v6({ exact: true }).test(value);
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({ exact: true }).test(value);
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,
@@ -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"]}
@@ -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
- (key, value) => {
7
- if (typeof value === "object" && value !== null) {
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
- return value;
14
- },
15
- 2
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 IdLogger = class {
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({ exact: true }).test(value);
105
+ return ipRegex({
106
+ exact: true
107
+ }).test(value);
105
108
  }
109
+ __name(isIP, "isIP");
106
110
  function isIPv6(value) {
107
- return ipRegex.v6({ exact: true }).test(value);
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({ exact: true }).test(value);
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,
@@ -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":"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","names":["error"]}
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/package.json CHANGED
@@ -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.84.18",
59
+ "version": "2.85.0",
60
60
  "type": "module"
61
61
  }