@xyo-network/shared 2.109.1 → 2.110.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (103) hide show
  1. package/dist/browser/Job/Job.d.cts +1 -1
  2. package/dist/browser/Job/Job.d.cts.map +1 -1
  3. package/dist/browser/Job/Job.d.mts +1 -1
  4. package/dist/browser/Job/Job.d.mts.map +1 -1
  5. package/dist/browser/Job/Job.d.ts +1 -1
  6. package/dist/browser/Job/Job.d.ts.map +1 -1
  7. package/dist/browser/Job/JobProvider.d.cts +1 -1
  8. package/dist/browser/Job/JobProvider.d.cts.map +1 -1
  9. package/dist/browser/Job/JobProvider.d.mts +1 -1
  10. package/dist/browser/Job/JobProvider.d.mts.map +1 -1
  11. package/dist/browser/Job/JobProvider.d.ts +1 -1
  12. package/dist/browser/Job/JobProvider.d.ts.map +1 -1
  13. package/dist/browser/Job/index.d.cts +2 -2
  14. package/dist/browser/Job/index.d.cts.map +1 -1
  15. package/dist/browser/Job/index.d.mts +2 -2
  16. package/dist/browser/Job/index.d.mts.map +1 -1
  17. package/dist/browser/Job/index.d.ts +2 -2
  18. package/dist/browser/Job/index.d.ts.map +1 -1
  19. package/dist/browser/index.cjs.map +1 -1
  20. package/dist/browser/index.d.cts +4 -4
  21. package/dist/browser/index.d.cts.map +1 -1
  22. package/dist/browser/index.d.mts +4 -4
  23. package/dist/browser/index.d.mts.map +1 -1
  24. package/dist/browser/index.d.ts +4 -4
  25. package/dist/browser/index.d.ts.map +1 -1
  26. package/dist/browser/index.js.map +1 -1
  27. package/dist/browser/is-ip/index.d.cts +1 -1
  28. package/dist/browser/is-ip/index.d.cts.map +1 -1
  29. package/dist/browser/is-ip/index.d.mts +1 -1
  30. package/dist/browser/is-ip/index.d.mts.map +1 -1
  31. package/dist/browser/is-ip/index.d.ts +1 -1
  32. package/dist/browser/is-ip/index.d.ts.map +1 -1
  33. package/dist/neutral/Job/Job.d.cts +1 -1
  34. package/dist/neutral/Job/Job.d.cts.map +1 -1
  35. package/dist/neutral/Job/Job.d.mts +1 -1
  36. package/dist/neutral/Job/Job.d.mts.map +1 -1
  37. package/dist/neutral/Job/Job.d.ts +1 -1
  38. package/dist/neutral/Job/Job.d.ts.map +1 -1
  39. package/dist/neutral/Job/JobProvider.d.cts +1 -1
  40. package/dist/neutral/Job/JobProvider.d.cts.map +1 -1
  41. package/dist/neutral/Job/JobProvider.d.mts +1 -1
  42. package/dist/neutral/Job/JobProvider.d.mts.map +1 -1
  43. package/dist/neutral/Job/JobProvider.d.ts +1 -1
  44. package/dist/neutral/Job/JobProvider.d.ts.map +1 -1
  45. package/dist/neutral/Job/index.d.cts +2 -2
  46. package/dist/neutral/Job/index.d.cts.map +1 -1
  47. package/dist/neutral/Job/index.d.mts +2 -2
  48. package/dist/neutral/Job/index.d.mts.map +1 -1
  49. package/dist/neutral/Job/index.d.ts +2 -2
  50. package/dist/neutral/Job/index.d.ts.map +1 -1
  51. package/dist/neutral/index.cjs.map +1 -1
  52. package/dist/neutral/index.d.cts +4 -4
  53. package/dist/neutral/index.d.cts.map +1 -1
  54. package/dist/neutral/index.d.mts +4 -4
  55. package/dist/neutral/index.d.mts.map +1 -1
  56. package/dist/neutral/index.d.ts +4 -4
  57. package/dist/neutral/index.d.ts.map +1 -1
  58. package/dist/neutral/index.js.map +1 -1
  59. package/dist/neutral/is-ip/index.d.cts +1 -1
  60. package/dist/neutral/is-ip/index.d.cts.map +1 -1
  61. package/dist/neutral/is-ip/index.d.mts +1 -1
  62. package/dist/neutral/is-ip/index.d.mts.map +1 -1
  63. package/dist/neutral/is-ip/index.d.ts +1 -1
  64. package/dist/neutral/is-ip/index.d.ts.map +1 -1
  65. package/dist/node/Job/Job.d.cts +1 -1
  66. package/dist/node/Job/Job.d.cts.map +1 -1
  67. package/dist/node/Job/Job.d.mts +1 -1
  68. package/dist/node/Job/Job.d.mts.map +1 -1
  69. package/dist/node/Job/Job.d.ts +1 -1
  70. package/dist/node/Job/Job.d.ts.map +1 -1
  71. package/dist/node/Job/JobProvider.d.cts +1 -1
  72. package/dist/node/Job/JobProvider.d.cts.map +1 -1
  73. package/dist/node/Job/JobProvider.d.mts +1 -1
  74. package/dist/node/Job/JobProvider.d.mts.map +1 -1
  75. package/dist/node/Job/JobProvider.d.ts +1 -1
  76. package/dist/node/Job/JobProvider.d.ts.map +1 -1
  77. package/dist/node/Job/index.d.cts +2 -2
  78. package/dist/node/Job/index.d.cts.map +1 -1
  79. package/dist/node/Job/index.d.mts +2 -2
  80. package/dist/node/Job/index.d.mts.map +1 -1
  81. package/dist/node/Job/index.d.ts +2 -2
  82. package/dist/node/Job/index.d.ts.map +1 -1
  83. package/dist/node/index.cjs.map +1 -1
  84. package/dist/node/index.d.cts +4 -4
  85. package/dist/node/index.d.cts.map +1 -1
  86. package/dist/node/index.d.mts +4 -4
  87. package/dist/node/index.d.mts.map +1 -1
  88. package/dist/node/index.d.ts +4 -4
  89. package/dist/node/index.d.ts.map +1 -1
  90. package/dist/node/index.js.map +1 -1
  91. package/dist/node/is-ip/index.d.cts +1 -1
  92. package/dist/node/is-ip/index.d.cts.map +1 -1
  93. package/dist/node/is-ip/index.d.mts +1 -1
  94. package/dist/node/is-ip/index.d.mts.map +1 -1
  95. package/dist/node/is-ip/index.d.ts +1 -1
  96. package/dist/node/is-ip/index.d.ts.map +1 -1
  97. package/package.json +2 -2
  98. package/src/Job/Job.ts +1 -1
  99. package/src/Job/JobProvider.ts +1 -1
  100. package/src/Job/index.ts +2 -2
  101. package/src/index.ts +4 -4
  102. package/src/is-ip/index.ts +1 -1
  103. package/src/is-ip/is-ip.ts +1 -1
@@ -1,4 +1,4 @@
1
- import { Task } from './Task';
1
+ import { Task } from './Task.js';
2
2
  export type VoidFunction = (...anyArguments: unknown[]) => void;
3
3
  export interface Job {
4
4
  name: string;
@@ -1 +1 @@
1
- {"version":3,"file":"Job.d.ts","sourceRoot":"","sources":["../../../src/Job/Job.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAE7B,MAAM,MAAM,YAAY,GAAG,CAAC,GAAG,YAAY,EAAE,OAAO,EAAE,KAAK,IAAI,CAAA;AAE/D,MAAM,WAAW,GAAG;IAClB,IAAI,EAAE,MAAM,CAAA;IACZ,UAAU,CAAC,EAAE,YAAY,CAAA;IACzB,MAAM,CAAC,EAAE,YAAY,CAAA;IACrB,OAAO,CAAC,EAAE,YAAY,CAAA;IACtB,SAAS,CAAC,EAAE,YAAY,CAAA;IACxB,QAAQ,EAAE,MAAM,CAAA;IAChB,IAAI,EAAE,IAAI,CAAA;CACX"}
1
+ {"version":3,"file":"Job.d.ts","sourceRoot":"","sources":["../../../src/Job/Job.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAEhC,MAAM,MAAM,YAAY,GAAG,CAAC,GAAG,YAAY,EAAE,OAAO,EAAE,KAAK,IAAI,CAAA;AAE/D,MAAM,WAAW,GAAG;IAClB,IAAI,EAAE,MAAM,CAAA;IACZ,UAAU,CAAC,EAAE,YAAY,CAAA;IACzB,MAAM,CAAC,EAAE,YAAY,CAAA;IACrB,OAAO,CAAC,EAAE,YAAY,CAAA;IACtB,SAAS,CAAC,EAAE,YAAY,CAAA;IACxB,QAAQ,EAAE,MAAM,CAAA;IAChB,IAAI,EAAE,IAAI,CAAA;CACX"}
@@ -1,4 +1,4 @@
1
- import { Task } from './Task';
1
+ import { Task } from './Task.js';
2
2
  export type VoidFunction = (...anyArguments: unknown[]) => void;
3
3
  export interface Job {
4
4
  name: string;
@@ -1 +1 @@
1
- {"version":3,"file":"Job.d.ts","sourceRoot":"","sources":["../../../src/Job/Job.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAE7B,MAAM,MAAM,YAAY,GAAG,CAAC,GAAG,YAAY,EAAE,OAAO,EAAE,KAAK,IAAI,CAAA;AAE/D,MAAM,WAAW,GAAG;IAClB,IAAI,EAAE,MAAM,CAAA;IACZ,UAAU,CAAC,EAAE,YAAY,CAAA;IACzB,MAAM,CAAC,EAAE,YAAY,CAAA;IACrB,OAAO,CAAC,EAAE,YAAY,CAAA;IACtB,SAAS,CAAC,EAAE,YAAY,CAAA;IACxB,QAAQ,EAAE,MAAM,CAAA;IAChB,IAAI,EAAE,IAAI,CAAA;CACX"}
1
+ {"version":3,"file":"Job.d.ts","sourceRoot":"","sources":["../../../src/Job/Job.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAEhC,MAAM,MAAM,YAAY,GAAG,CAAC,GAAG,YAAY,EAAE,OAAO,EAAE,KAAK,IAAI,CAAA;AAE/D,MAAM,WAAW,GAAG;IAClB,IAAI,EAAE,MAAM,CAAA;IACZ,UAAU,CAAC,EAAE,YAAY,CAAA;IACzB,MAAM,CAAC,EAAE,YAAY,CAAA;IACrB,OAAO,CAAC,EAAE,YAAY,CAAA;IACtB,SAAS,CAAC,EAAE,YAAY,CAAA;IACxB,QAAQ,EAAE,MAAM,CAAA;IAChB,IAAI,EAAE,IAAI,CAAA;CACX"}
@@ -1,4 +1,4 @@
1
- import { Task } from './Task';
1
+ import { Task } from './Task.js';
2
2
  export type VoidFunction = (...anyArguments: unknown[]) => void;
3
3
  export interface Job {
4
4
  name: string;
@@ -1 +1 @@
1
- {"version":3,"file":"Job.d.ts","sourceRoot":"","sources":["../../../src/Job/Job.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAE7B,MAAM,MAAM,YAAY,GAAG,CAAC,GAAG,YAAY,EAAE,OAAO,EAAE,KAAK,IAAI,CAAA;AAE/D,MAAM,WAAW,GAAG;IAClB,IAAI,EAAE,MAAM,CAAA;IACZ,UAAU,CAAC,EAAE,YAAY,CAAA;IACzB,MAAM,CAAC,EAAE,YAAY,CAAA;IACrB,OAAO,CAAC,EAAE,YAAY,CAAA;IACtB,SAAS,CAAC,EAAE,YAAY,CAAA;IACxB,QAAQ,EAAE,MAAM,CAAA;IAChB,IAAI,EAAE,IAAI,CAAA;CACX"}
1
+ {"version":3,"file":"Job.d.ts","sourceRoot":"","sources":["../../../src/Job/Job.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAEhC,MAAM,MAAM,YAAY,GAAG,CAAC,GAAG,YAAY,EAAE,OAAO,EAAE,KAAK,IAAI,CAAA;AAE/D,MAAM,WAAW,GAAG;IAClB,IAAI,EAAE,MAAM,CAAA;IACZ,UAAU,CAAC,EAAE,YAAY,CAAA;IACzB,MAAM,CAAC,EAAE,YAAY,CAAA;IACrB,OAAO,CAAC,EAAE,YAAY,CAAA;IACtB,SAAS,CAAC,EAAE,YAAY,CAAA;IACxB,QAAQ,EAAE,MAAM,CAAA;IAChB,IAAI,EAAE,IAAI,CAAA;CACX"}
@@ -1,4 +1,4 @@
1
- import { Job } from './Job';
1
+ import { Job } from './Job.js';
2
2
  export interface JobProvider {
3
3
  get jobs(): Job[];
4
4
  }
@@ -1 +1 @@
1
- {"version":3,"file":"JobProvider.d.ts","sourceRoot":"","sources":["../../../src/Job/JobProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAA;AAE3B,MAAM,WAAW,WAAW;IAC1B,IAAI,IAAI,IAAI,GAAG,EAAE,CAAA;CAClB"}
1
+ {"version":3,"file":"JobProvider.d.ts","sourceRoot":"","sources":["../../../src/Job/JobProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAA;AAE9B,MAAM,WAAW,WAAW;IAC1B,IAAI,IAAI,IAAI,GAAG,EAAE,CAAA;CAClB"}
@@ -1,4 +1,4 @@
1
- import { Job } from './Job';
1
+ import { Job } from './Job.js';
2
2
  export interface JobProvider {
3
3
  get jobs(): Job[];
4
4
  }
@@ -1 +1 @@
1
- {"version":3,"file":"JobProvider.d.ts","sourceRoot":"","sources":["../../../src/Job/JobProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAA;AAE3B,MAAM,WAAW,WAAW;IAC1B,IAAI,IAAI,IAAI,GAAG,EAAE,CAAA;CAClB"}
1
+ {"version":3,"file":"JobProvider.d.ts","sourceRoot":"","sources":["../../../src/Job/JobProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAA;AAE9B,MAAM,WAAW,WAAW;IAC1B,IAAI,IAAI,IAAI,GAAG,EAAE,CAAA;CAClB"}
@@ -1,4 +1,4 @@
1
- import { Job } from './Job';
1
+ import { Job } from './Job.js';
2
2
  export interface JobProvider {
3
3
  get jobs(): Job[];
4
4
  }
@@ -1 +1 @@
1
- {"version":3,"file":"JobProvider.d.ts","sourceRoot":"","sources":["../../../src/Job/JobProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAA;AAE3B,MAAM,WAAW,WAAW;IAC1B,IAAI,IAAI,IAAI,GAAG,EAAE,CAAA;CAClB"}
1
+ {"version":3,"file":"JobProvider.d.ts","sourceRoot":"","sources":["../../../src/Job/JobProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAA;AAE9B,MAAM,WAAW,WAAW;IAC1B,IAAI,IAAI,IAAI,GAAG,EAAE,CAAA;CAClB"}
@@ -1,3 +1,3 @@
1
- export * from './Job';
2
- export * from './JobProvider';
1
+ export * from './Job.js';
2
+ export * from './JobProvider.js';
3
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/Job/index.ts"],"names":[],"mappings":"AAAA,cAAc,OAAO,CAAA;AACrB,cAAc,eAAe,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/Job/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAA;AACxB,cAAc,kBAAkB,CAAA"}
@@ -1,3 +1,3 @@
1
- export * from './Job';
2
- export * from './JobProvider';
1
+ export * from './Job.js';
2
+ export * from './JobProvider.js';
3
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/Job/index.ts"],"names":[],"mappings":"AAAA,cAAc,OAAO,CAAA;AACrB,cAAc,eAAe,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/Job/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAA;AACxB,cAAc,kBAAkB,CAAA"}
@@ -1,3 +1,3 @@
1
- export * from './Job';
2
- export * from './JobProvider';
1
+ export * from './Job.js';
2
+ export * from './JobProvider.js';
3
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/Job/index.ts"],"names":[],"mappings":"AAAA,cAAc,OAAO,CAAA;AACrB,cAAc,eAAe,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/Job/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAA;AACxB,cAAc,kBAAkB,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/index.ts","../../src/dump.ts","../../src/IdLogger.ts","../../src/is-ip/ip-regex.ts","../../src/is-ip/is-ip.ts"],"sourcesContent":["export * from './dump'\nexport * from './IdLogger'\nexport * from './is-ip'\nexport * from './Job'\n","export const dump = (object: unknown) => {\n const cache: unknown[] = []\n return JSON.stringify(\n object,\n (key, value) => {\n if (typeof value === 'object' && value !== null) {\n // Duplicate reference found, discard key\n if (cache.includes(value)) {\n return '[circular]'\n }\n\n // Store value in our collection\n cache.push(value)\n }\n return value\n },\n 2,\n )\n}\n","import { getFunctionName, Logger } from '@xylabs/logger'\n\n/** @deprecated use from @xylabs/logger instead */\nexport class IdLogger implements Logger {\n private _id?: () => string\n private _logger: Logger\n\n constructor(logger: Logger, id?: () => string) {\n this._logger = logger\n this._id = id\n }\n\n set id(id: string) {\n this._id = () => id\n }\n\n debug(message?: unknown) {\n this._logger?.debug(this.generate(message, getFunctionName(3)))\n }\n error(message?: unknown) {\n this._logger?.error(this.generate(message, getFunctionName(3)))\n }\n info(message?: unknown) {\n this._logger?.info(this.generate(message, getFunctionName(3)))\n }\n log(message?: unknown) {\n this._logger?.log(this.generate(message, getFunctionName(3)))\n }\n warn(message?: unknown) {\n this._logger?.warn(this.generate(message, getFunctionName(3)))\n }\n\n private generate(message?: unknown, tag?: string) {\n return `${tag} ${this._id ? `[${this._id}] ` : ''}${\n typeof message === 'string' ? message\n : typeof message === 'object' ? JSON.stringify(message, undefined, 2)\n : `${message}`\n }`\n }\n}\n","const word = String.raw`[a-fA-F\\d:]`\n\nexport interface Options {\n readonly exact?: boolean\n readonly includeBoundaries?: boolean\n}\n\nconst boundary = (options: Options) => (options && options.includeBoundaries ? `(?:(?<=\\\\s|^)(?=${word})|(?<=${word})(?=\\\\s|$))` : '')\n\nconst v4 = String.raw`(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)){3}`\n\nconst v6segment = String.raw`[a-fA-F\\d]{1,4}`\n\nconst v6 = `\n(?:\n(?:${v6segment}:){7}(?:${v6segment}|:)| // 1:2:3:4:5:6:7:: 1:2:3:4:5:6:7:8\n(?:${v6segment}:){6}(?:${v4}|:${v6segment}|:)| // 1:2:3:4:5:6:: 1:2:3:4:5:6::8 1:2:3:4:5:6::8 1:2:3:4:5:6::1.2.3.4\n(?:${v6segment}:){5}(?::${v4}|(?::${v6segment}){1,2}|:)| // 1:2:3:4:5:: 1:2:3:4:5::7:8 1:2:3:4:5::8 1:2:3:4:5::7:1.2.3.4\n(?:${v6segment}:){4}(?:(?::${v6segment}){0,1}:${v4}|(?::${v6segment}){1,3}|:)| // 1:2:3:4:: 1:2:3:4::6:7:8 1:2:3:4::8 1:2:3:4::6:7:1.2.3.4\n(?:${v6segment}:){3}(?:(?::${v6segment}){0,2}:${v4}|(?::${v6segment}){1,4}|:)| // 1:2:3:: 1:2:3::5:6:7:8 1:2:3::8 1:2:3::5:6:7:1.2.3.4\n(?:${v6segment}:){2}(?:(?::${v6segment}){0,3}:${v4}|(?::${v6segment}){1,5}|:)| // 1:2:: 1:2::4:5:6:7:8 1:2::8 1:2::4:5:6:7:1.2.3.4\n(?:${v6segment}:){1}(?:(?::${v6segment}){0,4}:${v4}|(?::${v6segment}){1,6}|:)| // 1:: 1::3:4:5:6:7:8 1::8 1::3:4:5:6:7:1.2.3.4\n(?::(?:(?::${v6segment}){0,5}:${v4}|(?::${v6segment}){1,7}|:)) // ::2:3:4:5:6:7:8 ::2:3:4:5:6:7:8 ::8 ::1.2.3.4\n)(?:%[0-9a-zA-Z]{1,})? // %eth0 %1\n`\n .replaceAll(/\\s*\\/\\/.*$/gm, '')\n .replaceAll('\\n', '')\n .trim()\n\n// Pre-compile only the exact regexes because adding a global flag make regexes stateful\nconst v46Exact = new RegExp(`(?:^${v4}$)|(?:^${v6}$)`)\nconst v4exact = new RegExp(`^${v4}$`)\nconst v6exact = new RegExp(`^${v6}$`)\n\nexport const ipRegex = (options: Options) =>\n options && options.exact ?\n v46Exact\n : new RegExp(`(?:${boundary(options)}${v4}${boundary(options)})|(?:${boundary(options)}${v6}${boundary(options)})`, 'g')\n\nipRegex.v4 = (options: Options) => (options && options.exact ? v4exact : new RegExp(`${boundary(options)}${v4}${boundary(options)}`, 'g'))\nipRegex.v6 = (options: Options) => (options && options.exact ? v6exact : new RegExp(`${boundary(options)}${v6}${boundary(options)}`, 'g'))\n","import { ipRegex } from './ip-regex'\n\nexport function isIP(value: string) {\n return ipRegex({ exact: true }).test(value)\n}\n\nexport function isIPv6(value: string) {\n return ipRegex.v6({ exact: true }).test(value)\n}\n\nexport function isIPv4(value: string) {\n return ipRegex.v4({ exact: true }).test(value)\n}\n\nexport function ipVersion(value: string) {\n return (\n isIP(value) ?\n isIPv6(value) ? 6\n : 4\n : undefined\n )\n}\n"],"mappings":"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","names":["dump","object","cache","JSON","stringify","key","value","includes","push","IdLogger","_id","_logger","constructor","logger","id","debug","message","generate","getFunctionName","error","info","log","warn","tag","JSON","stringify","undefined","word","String","raw","boundary","options","includeBoundaries","v4","v6segment","v6","replaceAll","trim","v46Exact","RegExp","v4exact","v6exact","ipRegex","exact","isIP","value","ipRegex","exact","test","isIPv6","v6","isIPv4","v4","ipVersion","undefined"]}
1
+ {"version":3,"sources":["../../src/index.ts","../../src/dump.ts","../../src/IdLogger.ts","../../src/is-ip/ip-regex.ts","../../src/is-ip/is-ip.ts"],"sourcesContent":["export * from './dump.js'\nexport * from './IdLogger.js'\nexport * from './is-ip/index.js'\nexport * from './Job/index.js'\n","export const dump = (object: unknown) => {\n const cache: unknown[] = []\n return JSON.stringify(\n object,\n (key, value) => {\n if (typeof value === 'object' && value !== null) {\n // Duplicate reference found, discard key\n if (cache.includes(value)) {\n return '[circular]'\n }\n\n // Store value in our collection\n cache.push(value)\n }\n return value\n },\n 2,\n )\n}\n","import { getFunctionName, Logger } from '@xylabs/logger'\n\n/** @deprecated use from @xylabs/logger instead */\nexport class IdLogger implements Logger {\n private _id?: () => string\n private _logger: Logger\n\n constructor(logger: Logger, id?: () => string) {\n this._logger = logger\n this._id = id\n }\n\n set id(id: string) {\n this._id = () => id\n }\n\n debug(message?: unknown) {\n this._logger?.debug(this.generate(message, getFunctionName(3)))\n }\n error(message?: unknown) {\n this._logger?.error(this.generate(message, getFunctionName(3)))\n }\n info(message?: unknown) {\n this._logger?.info(this.generate(message, getFunctionName(3)))\n }\n log(message?: unknown) {\n this._logger?.log(this.generate(message, getFunctionName(3)))\n }\n warn(message?: unknown) {\n this._logger?.warn(this.generate(message, getFunctionName(3)))\n }\n\n private generate(message?: unknown, tag?: string) {\n return `${tag} ${this._id ? `[${this._id}] ` : ''}${\n typeof message === 'string' ? message\n : typeof message === 'object' ? JSON.stringify(message, undefined, 2)\n : `${message}`\n }`\n }\n}\n","const word = String.raw`[a-fA-F\\d:]`\n\nexport interface Options {\n readonly exact?: boolean\n readonly includeBoundaries?: boolean\n}\n\nconst boundary = (options: Options) => (options && options.includeBoundaries ? `(?:(?<=\\\\s|^)(?=${word})|(?<=${word})(?=\\\\s|$))` : '')\n\nconst v4 = String.raw`(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)){3}`\n\nconst v6segment = String.raw`[a-fA-F\\d]{1,4}`\n\nconst v6 = `\n(?:\n(?:${v6segment}:){7}(?:${v6segment}|:)| // 1:2:3:4:5:6:7:: 1:2:3:4:5:6:7:8\n(?:${v6segment}:){6}(?:${v4}|:${v6segment}|:)| // 1:2:3:4:5:6:: 1:2:3:4:5:6::8 1:2:3:4:5:6::8 1:2:3:4:5:6::1.2.3.4\n(?:${v6segment}:){5}(?::${v4}|(?::${v6segment}){1,2}|:)| // 1:2:3:4:5:: 1:2:3:4:5::7:8 1:2:3:4:5::8 1:2:3:4:5::7:1.2.3.4\n(?:${v6segment}:){4}(?:(?::${v6segment}){0,1}:${v4}|(?::${v6segment}){1,3}|:)| // 1:2:3:4:: 1:2:3:4::6:7:8 1:2:3:4::8 1:2:3:4::6:7:1.2.3.4\n(?:${v6segment}:){3}(?:(?::${v6segment}){0,2}:${v4}|(?::${v6segment}){1,4}|:)| // 1:2:3:: 1:2:3::5:6:7:8 1:2:3::8 1:2:3::5:6:7:1.2.3.4\n(?:${v6segment}:){2}(?:(?::${v6segment}){0,3}:${v4}|(?::${v6segment}){1,5}|:)| // 1:2:: 1:2::4:5:6:7:8 1:2::8 1:2::4:5:6:7:1.2.3.4\n(?:${v6segment}:){1}(?:(?::${v6segment}){0,4}:${v4}|(?::${v6segment}){1,6}|:)| // 1:: 1::3:4:5:6:7:8 1::8 1::3:4:5:6:7:1.2.3.4\n(?::(?:(?::${v6segment}){0,5}:${v4}|(?::${v6segment}){1,7}|:)) // ::2:3:4:5:6:7:8 ::2:3:4:5:6:7:8 ::8 ::1.2.3.4\n)(?:%[0-9a-zA-Z]{1,})? // %eth0 %1\n`\n .replaceAll(/\\s*\\/\\/.*$/gm, '')\n .replaceAll('\\n', '')\n .trim()\n\n// Pre-compile only the exact regexes because adding a global flag make regexes stateful\nconst v46Exact = new RegExp(`(?:^${v4}$)|(?:^${v6}$)`)\nconst v4exact = new RegExp(`^${v4}$`)\nconst v6exact = new RegExp(`^${v6}$`)\n\nexport const ipRegex = (options: Options) =>\n options && options.exact ?\n v46Exact\n : new RegExp(`(?:${boundary(options)}${v4}${boundary(options)})|(?:${boundary(options)}${v6}${boundary(options)})`, 'g')\n\nipRegex.v4 = (options: Options) => (options && options.exact ? v4exact : new RegExp(`${boundary(options)}${v4}${boundary(options)}`, 'g'))\nipRegex.v6 = (options: Options) => (options && options.exact ? v6exact : new RegExp(`${boundary(options)}${v6}${boundary(options)}`, 'g'))\n","import { ipRegex } from './ip-regex.js'\n\nexport function isIP(value: string) {\n return ipRegex({ exact: true }).test(value)\n}\n\nexport function isIPv6(value: string) {\n return ipRegex.v6({ exact: true }).test(value)\n}\n\nexport function isIPv4(value: string) {\n return ipRegex.v4({ exact: true }).test(value)\n}\n\nexport function ipVersion(value: string) {\n return (\n isIP(value) ?\n isIPv6(value) ? 6\n : 4\n : undefined\n )\n}\n"],"mappings":"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","names":["dump","object","cache","JSON","stringify","key","value","includes","push","IdLogger","_id","_logger","constructor","logger","id","debug","message","generate","getFunctionName","error","info","log","warn","tag","JSON","stringify","undefined","word","String","raw","boundary","options","includeBoundaries","v4","v6segment","v6","replaceAll","trim","v46Exact","RegExp","v4exact","v6exact","ipRegex","exact","isIP","value","ipRegex","exact","test","isIPv6","v6","isIPv4","v4","ipVersion","undefined"]}
@@ -1,5 +1,5 @@
1
- export * from './dump';
2
- export * from './IdLogger';
3
- export * from './is-ip';
4
- export * from './Job';
1
+ export * from './dump.js';
2
+ export * from './IdLogger.js';
3
+ export * from './is-ip/index.js';
4
+ export * from './Job/index.js';
5
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAA;AACtB,cAAc,YAAY,CAAA;AAC1B,cAAc,SAAS,CAAA;AACvB,cAAc,OAAO,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAA;AACzB,cAAc,eAAe,CAAA;AAC7B,cAAc,kBAAkB,CAAA;AAChC,cAAc,gBAAgB,CAAA"}
@@ -1,5 +1,5 @@
1
- export * from './dump';
2
- export * from './IdLogger';
3
- export * from './is-ip';
4
- export * from './Job';
1
+ export * from './dump.js';
2
+ export * from './IdLogger.js';
3
+ export * from './is-ip/index.js';
4
+ export * from './Job/index.js';
5
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAA;AACtB,cAAc,YAAY,CAAA;AAC1B,cAAc,SAAS,CAAA;AACvB,cAAc,OAAO,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAA;AACzB,cAAc,eAAe,CAAA;AAC7B,cAAc,kBAAkB,CAAA;AAChC,cAAc,gBAAgB,CAAA"}
@@ -1,5 +1,5 @@
1
- export * from './dump';
2
- export * from './IdLogger';
3
- export * from './is-ip';
4
- export * from './Job';
1
+ export * from './dump.js';
2
+ export * from './IdLogger.js';
3
+ export * from './is-ip/index.js';
4
+ export * from './Job/index.js';
5
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAA;AACtB,cAAc,YAAY,CAAA;AAC1B,cAAc,SAAS,CAAA;AACvB,cAAc,OAAO,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAA;AACzB,cAAc,eAAe,CAAA;AAC7B,cAAc,kBAAkB,CAAA;AAChC,cAAc,gBAAgB,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/dump.ts","../../src/IdLogger.ts","../../src/is-ip/ip-regex.ts","../../src/is-ip/is-ip.ts"],"sourcesContent":["export const dump = (object: unknown) => {\n const cache: unknown[] = []\n return JSON.stringify(\n object,\n (key, value) => {\n if (typeof value === 'object' && value !== null) {\n // Duplicate reference found, discard key\n if (cache.includes(value)) {\n return '[circular]'\n }\n\n // Store value in our collection\n cache.push(value)\n }\n return value\n },\n 2,\n )\n}\n","import { getFunctionName, Logger } from '@xylabs/logger'\n\n/** @deprecated use from @xylabs/logger instead */\nexport class IdLogger implements Logger {\n private _id?: () => string\n private _logger: Logger\n\n constructor(logger: Logger, id?: () => string) {\n this._logger = logger\n this._id = id\n }\n\n set id(id: string) {\n this._id = () => id\n }\n\n debug(message?: unknown) {\n this._logger?.debug(this.generate(message, getFunctionName(3)))\n }\n error(message?: unknown) {\n this._logger?.error(this.generate(message, getFunctionName(3)))\n }\n info(message?: unknown) {\n this._logger?.info(this.generate(message, getFunctionName(3)))\n }\n log(message?: unknown) {\n this._logger?.log(this.generate(message, getFunctionName(3)))\n }\n warn(message?: unknown) {\n this._logger?.warn(this.generate(message, getFunctionName(3)))\n }\n\n private generate(message?: unknown, tag?: string) {\n return `${tag} ${this._id ? `[${this._id}] ` : ''}${\n typeof message === 'string' ? message\n : typeof message === 'object' ? JSON.stringify(message, undefined, 2)\n : `${message}`\n }`\n }\n}\n","const word = String.raw`[a-fA-F\\d:]`\n\nexport interface Options {\n readonly exact?: boolean\n readonly includeBoundaries?: boolean\n}\n\nconst boundary = (options: Options) => (options && options.includeBoundaries ? `(?:(?<=\\\\s|^)(?=${word})|(?<=${word})(?=\\\\s|$))` : '')\n\nconst v4 = String.raw`(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)){3}`\n\nconst v6segment = String.raw`[a-fA-F\\d]{1,4}`\n\nconst v6 = `\n(?:\n(?:${v6segment}:){7}(?:${v6segment}|:)| // 1:2:3:4:5:6:7:: 1:2:3:4:5:6:7:8\n(?:${v6segment}:){6}(?:${v4}|:${v6segment}|:)| // 1:2:3:4:5:6:: 1:2:3:4:5:6::8 1:2:3:4:5:6::8 1:2:3:4:5:6::1.2.3.4\n(?:${v6segment}:){5}(?::${v4}|(?::${v6segment}){1,2}|:)| // 1:2:3:4:5:: 1:2:3:4:5::7:8 1:2:3:4:5::8 1:2:3:4:5::7:1.2.3.4\n(?:${v6segment}:){4}(?:(?::${v6segment}){0,1}:${v4}|(?::${v6segment}){1,3}|:)| // 1:2:3:4:: 1:2:3:4::6:7:8 1:2:3:4::8 1:2:3:4::6:7:1.2.3.4\n(?:${v6segment}:){3}(?:(?::${v6segment}){0,2}:${v4}|(?::${v6segment}){1,4}|:)| // 1:2:3:: 1:2:3::5:6:7:8 1:2:3::8 1:2:3::5:6:7:1.2.3.4\n(?:${v6segment}:){2}(?:(?::${v6segment}){0,3}:${v4}|(?::${v6segment}){1,5}|:)| // 1:2:: 1:2::4:5:6:7:8 1:2::8 1:2::4:5:6:7:1.2.3.4\n(?:${v6segment}:){1}(?:(?::${v6segment}){0,4}:${v4}|(?::${v6segment}){1,6}|:)| // 1:: 1::3:4:5:6:7:8 1::8 1::3:4:5:6:7:1.2.3.4\n(?::(?:(?::${v6segment}){0,5}:${v4}|(?::${v6segment}){1,7}|:)) // ::2:3:4:5:6:7:8 ::2:3:4:5:6:7:8 ::8 ::1.2.3.4\n)(?:%[0-9a-zA-Z]{1,})? // %eth0 %1\n`\n .replaceAll(/\\s*\\/\\/.*$/gm, '')\n .replaceAll('\\n', '')\n .trim()\n\n// Pre-compile only the exact regexes because adding a global flag make regexes stateful\nconst v46Exact = new RegExp(`(?:^${v4}$)|(?:^${v6}$)`)\nconst v4exact = new RegExp(`^${v4}$`)\nconst v6exact = new RegExp(`^${v6}$`)\n\nexport const ipRegex = (options: Options) =>\n options && options.exact ?\n v46Exact\n : new RegExp(`(?:${boundary(options)}${v4}${boundary(options)})|(?:${boundary(options)}${v6}${boundary(options)})`, 'g')\n\nipRegex.v4 = (options: Options) => (options && options.exact ? v4exact : new RegExp(`${boundary(options)}${v4}${boundary(options)}`, 'g'))\nipRegex.v6 = (options: Options) => (options && options.exact ? v6exact : new RegExp(`${boundary(options)}${v6}${boundary(options)}`, 'g'))\n","import { ipRegex } from './ip-regex'\n\nexport function isIP(value: string) {\n return ipRegex({ exact: true }).test(value)\n}\n\nexport function isIPv6(value: string) {\n return ipRegex.v6({ exact: true }).test(value)\n}\n\nexport function isIPv4(value: string) {\n return ipRegex.v4({ exact: true }).test(value)\n}\n\nexport function ipVersion(value: string) {\n return (\n isIP(value) ?\n isIPv6(value) ? 6\n : 4\n : undefined\n )\n}\n"],"mappings":";;;;AAAO,IAAMA,OAAO,wBAACC,WAAAA;AACnB,QAAMC,QAAmB,CAAA;AACzB,SAAOC,KAAKC,UACVH,QACA,CAACI,KAAKC,UAAAA;AACJ,QAAI,OAAOA,UAAU,YAAYA,UAAU,MAAM;AAE/C,UAAIJ,MAAMK,SAASD,KAAAA,GAAQ;AACzB,eAAO;MACT;AAGAJ,YAAMM,KAAKF,KAAAA;IACb;AACA,WAAOA;EACT,GACA,CAAA;AAEJ,GAlBoB;;;ACApB,SAASG,uBAA+B;AAGjC,IAAMC,WAAN,MAAMA;EAHb,OAGaA;;;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,UAC5B,OAAOA,YAAY,WAAWQ,KAAKC,UAAUT,SAASU,QAAW,CAAA,IACjE,GAAGV,OAAAA,EAAS;EAElB;AACF;;;ACvCA,IAAMW,OAAOC,OAAOC;AAOpB,IAAMC,WAAW,wBAACC,YAAsBA,WAAWA,QAAQC,oBAAoB,mBAAmBL,IAAAA,SAAaA,IAAAA,gBAAoB,IAAlH;AAEjB,IAAMM,KAAKL,OAAOC;AAElB,IAAMK,YAAYN,OAAOC;AAEzB,IAAMM,KAAK;;KAEND,SAAAA,WAAoBA,SAAAA;KACpBA,SAAAA,WAAoBD,EAAAA,KAAOC,SAAAA;KAC3BA,SAAAA,YAAqBD,EAAAA,QAAUC,SAAAA;KAC/BA,SAAAA,eAAwBA,SAAAA,UAAmBD,EAAAA,QAAUC,SAAAA;KACrDA,SAAAA,eAAwBA,SAAAA,UAAmBD,EAAAA,QAAUC,SAAAA;KACrDA,SAAAA,eAAwBA,SAAAA,UAAmBD,EAAAA,QAAUC,SAAAA;KACrDA,SAAAA,eAAwBA,SAAAA,UAAmBD,EAAAA,QAAUC,SAAAA;aAC7CA,SAAAA,UAAmBD,EAAAA,QAAUC,SAAAA;;EAGvCE,WAAW,gBAAgB,EAAA,EAC3BA,WAAW,MAAM,EAAA,EACjBC,KAAI;AAGP,IAAMC,WAAW,IAAIC,OAAO,OAAON,EAAAA,UAAYE,EAAAA,IAAM;AACrD,IAAMK,UAAU,IAAID,OAAO,IAAIN,EAAAA,GAAK;AACpC,IAAMQ,UAAU,IAAIF,OAAO,IAAIJ,EAAAA,GAAK;AAE7B,IAAMO,UAAU,wBAACX,YACtBA,WAAWA,QAAQY,QACjBL,WACA,IAAIC,OAAO,MAAMT,SAASC,OAAAA,CAAAA,GAAWE,EAAAA,GAAKH,SAASC,OAAAA,CAAAA,QAAgBD,SAASC,OAAAA,CAAAA,GAAWI,EAAAA,GAAKL,SAASC,OAAAA,CAAAA,KAAa,GAAA,GAH/F;AAKvBW,QAAQT,KAAK,CAACF,YAAsBA,WAAWA,QAAQY,QAAQH,UAAU,IAAID,OAAO,GAAGT,SAASC,OAAAA,CAAAA,GAAWE,EAAAA,GAAKH,SAASC,OAAAA,CAAAA,IAAY,GAAA;AACrIW,QAAQP,KAAK,CAACJ,YAAsBA,WAAWA,QAAQY,QAAQF,UAAU,IAAIF,OAAO,GAAGT,SAASC,OAAAA,CAAAA,GAAWI,EAAAA,GAAKL,SAASC,OAAAA,CAAAA,IAAY,GAAA;;;ACtC9H,SAASa,KAAKC,OAAa;AAChC,SAAOC,QAAQ;IAAEC,OAAO;EAAK,CAAA,EAAGC,KAAKH,KAAAA;AACvC;AAFgBD;AAIT,SAASK,OAAOJ,OAAa;AAClC,SAAOC,QAAQI,GAAG;IAAEH,OAAO;EAAK,CAAA,EAAGC,KAAKH,KAAAA;AAC1C;AAFgBI;AAIT,SAASE,OAAON,OAAa;AAClC,SAAOC,QAAQM,GAAG;IAAEL,OAAO;EAAK,CAAA,EAAGC,KAAKH,KAAAA;AAC1C;AAFgBM;AAIT,SAASE,UAAUR,OAAa;AACrC,SACED,KAAKC,KAAAA,IACHI,OAAOJ,KAAAA,IAAS,IACd,IACFS;AAEN;AAPgBD;","names":["dump","object","cache","JSON","stringify","key","value","includes","push","getFunctionName","IdLogger","_id","_logger","constructor","logger","id","debug","message","generate","getFunctionName","error","info","log","warn","tag","JSON","stringify","undefined","word","String","raw","boundary","options","includeBoundaries","v4","v6segment","v6","replaceAll","trim","v46Exact","RegExp","v4exact","v6exact","ipRegex","exact","isIP","value","ipRegex","exact","test","isIPv6","v6","isIPv4","v4","ipVersion","undefined"]}
1
+ {"version":3,"sources":["../../src/dump.ts","../../src/IdLogger.ts","../../src/is-ip/ip-regex.ts","../../src/is-ip/is-ip.ts"],"sourcesContent":["export const dump = (object: unknown) => {\n const cache: unknown[] = []\n return JSON.stringify(\n object,\n (key, value) => {\n if (typeof value === 'object' && value !== null) {\n // Duplicate reference found, discard key\n if (cache.includes(value)) {\n return '[circular]'\n }\n\n // Store value in our collection\n cache.push(value)\n }\n return value\n },\n 2,\n )\n}\n","import { getFunctionName, Logger } from '@xylabs/logger'\n\n/** @deprecated use from @xylabs/logger instead */\nexport class IdLogger implements Logger {\n private _id?: () => string\n private _logger: Logger\n\n constructor(logger: Logger, id?: () => string) {\n this._logger = logger\n this._id = id\n }\n\n set id(id: string) {\n this._id = () => id\n }\n\n debug(message?: unknown) {\n this._logger?.debug(this.generate(message, getFunctionName(3)))\n }\n error(message?: unknown) {\n this._logger?.error(this.generate(message, getFunctionName(3)))\n }\n info(message?: unknown) {\n this._logger?.info(this.generate(message, getFunctionName(3)))\n }\n log(message?: unknown) {\n this._logger?.log(this.generate(message, getFunctionName(3)))\n }\n warn(message?: unknown) {\n this._logger?.warn(this.generate(message, getFunctionName(3)))\n }\n\n private generate(message?: unknown, tag?: string) {\n return `${tag} ${this._id ? `[${this._id}] ` : ''}${\n typeof message === 'string' ? message\n : typeof message === 'object' ? JSON.stringify(message, undefined, 2)\n : `${message}`\n }`\n }\n}\n","const word = String.raw`[a-fA-F\\d:]`\n\nexport interface Options {\n readonly exact?: boolean\n readonly includeBoundaries?: boolean\n}\n\nconst boundary = (options: Options) => (options && options.includeBoundaries ? `(?:(?<=\\\\s|^)(?=${word})|(?<=${word})(?=\\\\s|$))` : '')\n\nconst v4 = String.raw`(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)){3}`\n\nconst v6segment = String.raw`[a-fA-F\\d]{1,4}`\n\nconst v6 = `\n(?:\n(?:${v6segment}:){7}(?:${v6segment}|:)| // 1:2:3:4:5:6:7:: 1:2:3:4:5:6:7:8\n(?:${v6segment}:){6}(?:${v4}|:${v6segment}|:)| // 1:2:3:4:5:6:: 1:2:3:4:5:6::8 1:2:3:4:5:6::8 1:2:3:4:5:6::1.2.3.4\n(?:${v6segment}:){5}(?::${v4}|(?::${v6segment}){1,2}|:)| // 1:2:3:4:5:: 1:2:3:4:5::7:8 1:2:3:4:5::8 1:2:3:4:5::7:1.2.3.4\n(?:${v6segment}:){4}(?:(?::${v6segment}){0,1}:${v4}|(?::${v6segment}){1,3}|:)| // 1:2:3:4:: 1:2:3:4::6:7:8 1:2:3:4::8 1:2:3:4::6:7:1.2.3.4\n(?:${v6segment}:){3}(?:(?::${v6segment}){0,2}:${v4}|(?::${v6segment}){1,4}|:)| // 1:2:3:: 1:2:3::5:6:7:8 1:2:3::8 1:2:3::5:6:7:1.2.3.4\n(?:${v6segment}:){2}(?:(?::${v6segment}){0,3}:${v4}|(?::${v6segment}){1,5}|:)| // 1:2:: 1:2::4:5:6:7:8 1:2::8 1:2::4:5:6:7:1.2.3.4\n(?:${v6segment}:){1}(?:(?::${v6segment}){0,4}:${v4}|(?::${v6segment}){1,6}|:)| // 1:: 1::3:4:5:6:7:8 1::8 1::3:4:5:6:7:1.2.3.4\n(?::(?:(?::${v6segment}){0,5}:${v4}|(?::${v6segment}){1,7}|:)) // ::2:3:4:5:6:7:8 ::2:3:4:5:6:7:8 ::8 ::1.2.3.4\n)(?:%[0-9a-zA-Z]{1,})? // %eth0 %1\n`\n .replaceAll(/\\s*\\/\\/.*$/gm, '')\n .replaceAll('\\n', '')\n .trim()\n\n// Pre-compile only the exact regexes because adding a global flag make regexes stateful\nconst v46Exact = new RegExp(`(?:^${v4}$)|(?:^${v6}$)`)\nconst v4exact = new RegExp(`^${v4}$`)\nconst v6exact = new RegExp(`^${v6}$`)\n\nexport const ipRegex = (options: Options) =>\n options && options.exact ?\n v46Exact\n : new RegExp(`(?:${boundary(options)}${v4}${boundary(options)})|(?:${boundary(options)}${v6}${boundary(options)})`, 'g')\n\nipRegex.v4 = (options: Options) => (options && options.exact ? v4exact : new RegExp(`${boundary(options)}${v4}${boundary(options)}`, 'g'))\nipRegex.v6 = (options: Options) => (options && options.exact ? v6exact : new RegExp(`${boundary(options)}${v6}${boundary(options)}`, 'g'))\n","import { ipRegex } from './ip-regex.js'\n\nexport function isIP(value: string) {\n return ipRegex({ exact: true }).test(value)\n}\n\nexport function isIPv6(value: string) {\n return ipRegex.v6({ exact: true }).test(value)\n}\n\nexport function isIPv4(value: string) {\n return ipRegex.v4({ exact: true }).test(value)\n}\n\nexport function ipVersion(value: string) {\n return (\n isIP(value) ?\n isIPv6(value) ? 6\n : 4\n : undefined\n )\n}\n"],"mappings":";;;;AAAO,IAAMA,OAAO,wBAACC,WAAAA;AACnB,QAAMC,QAAmB,CAAA;AACzB,SAAOC,KAAKC,UACVH,QACA,CAACI,KAAKC,UAAAA;AACJ,QAAI,OAAOA,UAAU,YAAYA,UAAU,MAAM;AAE/C,UAAIJ,MAAMK,SAASD,KAAAA,GAAQ;AACzB,eAAO;MACT;AAGAJ,YAAMM,KAAKF,KAAAA;IACb;AACA,WAAOA;EACT,GACA,CAAA;AAEJ,GAlBoB;;;ACApB,SAASG,uBAA+B;AAGjC,IAAMC,WAAN,MAAMA;EAHb,OAGaA;;;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,UAC5B,OAAOA,YAAY,WAAWQ,KAAKC,UAAUT,SAASU,QAAW,CAAA,IACjE,GAAGV,OAAAA,EAAS;EAElB;AACF;;;ACvCA,IAAMW,OAAOC,OAAOC;AAOpB,IAAMC,WAAW,wBAACC,YAAsBA,WAAWA,QAAQC,oBAAoB,mBAAmBL,IAAAA,SAAaA,IAAAA,gBAAoB,IAAlH;AAEjB,IAAMM,KAAKL,OAAOC;AAElB,IAAMK,YAAYN,OAAOC;AAEzB,IAAMM,KAAK;;KAEND,SAAAA,WAAoBA,SAAAA;KACpBA,SAAAA,WAAoBD,EAAAA,KAAOC,SAAAA;KAC3BA,SAAAA,YAAqBD,EAAAA,QAAUC,SAAAA;KAC/BA,SAAAA,eAAwBA,SAAAA,UAAmBD,EAAAA,QAAUC,SAAAA;KACrDA,SAAAA,eAAwBA,SAAAA,UAAmBD,EAAAA,QAAUC,SAAAA;KACrDA,SAAAA,eAAwBA,SAAAA,UAAmBD,EAAAA,QAAUC,SAAAA;KACrDA,SAAAA,eAAwBA,SAAAA,UAAmBD,EAAAA,QAAUC,SAAAA;aAC7CA,SAAAA,UAAmBD,EAAAA,QAAUC,SAAAA;;EAGvCE,WAAW,gBAAgB,EAAA,EAC3BA,WAAW,MAAM,EAAA,EACjBC,KAAI;AAGP,IAAMC,WAAW,IAAIC,OAAO,OAAON,EAAAA,UAAYE,EAAAA,IAAM;AACrD,IAAMK,UAAU,IAAID,OAAO,IAAIN,EAAAA,GAAK;AACpC,IAAMQ,UAAU,IAAIF,OAAO,IAAIJ,EAAAA,GAAK;AAE7B,IAAMO,UAAU,wBAACX,YACtBA,WAAWA,QAAQY,QACjBL,WACA,IAAIC,OAAO,MAAMT,SAASC,OAAAA,CAAAA,GAAWE,EAAAA,GAAKH,SAASC,OAAAA,CAAAA,QAAgBD,SAASC,OAAAA,CAAAA,GAAWI,EAAAA,GAAKL,SAASC,OAAAA,CAAAA,KAAa,GAAA,GAH/F;AAKvBW,QAAQT,KAAK,CAACF,YAAsBA,WAAWA,QAAQY,QAAQH,UAAU,IAAID,OAAO,GAAGT,SAASC,OAAAA,CAAAA,GAAWE,EAAAA,GAAKH,SAASC,OAAAA,CAAAA,IAAY,GAAA;AACrIW,QAAQP,KAAK,CAACJ,YAAsBA,WAAWA,QAAQY,QAAQF,UAAU,IAAIF,OAAO,GAAGT,SAASC,OAAAA,CAAAA,GAAWI,EAAAA,GAAKL,SAASC,OAAAA,CAAAA,IAAY,GAAA;;;ACtC9H,SAASa,KAAKC,OAAa;AAChC,SAAOC,QAAQ;IAAEC,OAAO;EAAK,CAAA,EAAGC,KAAKH,KAAAA;AACvC;AAFgBD;AAIT,SAASK,OAAOJ,OAAa;AAClC,SAAOC,QAAQI,GAAG;IAAEH,OAAO;EAAK,CAAA,EAAGC,KAAKH,KAAAA;AAC1C;AAFgBI;AAIT,SAASE,OAAON,OAAa;AAClC,SAAOC,QAAQM,GAAG;IAAEL,OAAO;EAAK,CAAA,EAAGC,KAAKH,KAAAA;AAC1C;AAFgBM;AAIT,SAASE,UAAUR,OAAa;AACrC,SACED,KAAKC,KAAAA,IACHI,OAAOJ,KAAAA,IAAS,IACd,IACFS;AAEN;AAPgBD;","names":["dump","object","cache","JSON","stringify","key","value","includes","push","getFunctionName","IdLogger","_id","_logger","constructor","logger","id","debug","message","generate","getFunctionName","error","info","log","warn","tag","JSON","stringify","undefined","word","String","raw","boundary","options","includeBoundaries","v4","v6segment","v6","replaceAll","trim","v46Exact","RegExp","v4exact","v6exact","ipRegex","exact","isIP","value","ipRegex","exact","test","isIPv6","v6","isIPv4","v4","ipVersion","undefined"]}
@@ -1,2 +1,2 @@
1
- export * from './is-ip';
1
+ export * from './is-ip.js';
2
2
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/is-ip/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/is-ip/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAA"}
@@ -1,2 +1,2 @@
1
- export * from './is-ip';
1
+ export * from './is-ip.js';
2
2
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/is-ip/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/is-ip/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAA"}
@@ -1,2 +1,2 @@
1
- export * from './is-ip';
1
+ export * from './is-ip.js';
2
2
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/is-ip/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/is-ip/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAA"}
@@ -1,4 +1,4 @@
1
- import { Task } from './Task';
1
+ import { Task } from './Task.js';
2
2
  export type VoidFunction = (...anyArguments: unknown[]) => void;
3
3
  export interface Job {
4
4
  name: string;
@@ -1 +1 @@
1
- {"version":3,"file":"Job.d.ts","sourceRoot":"","sources":["../../../src/Job/Job.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAE7B,MAAM,MAAM,YAAY,GAAG,CAAC,GAAG,YAAY,EAAE,OAAO,EAAE,KAAK,IAAI,CAAA;AAE/D,MAAM,WAAW,GAAG;IAClB,IAAI,EAAE,MAAM,CAAA;IACZ,UAAU,CAAC,EAAE,YAAY,CAAA;IACzB,MAAM,CAAC,EAAE,YAAY,CAAA;IACrB,OAAO,CAAC,EAAE,YAAY,CAAA;IACtB,SAAS,CAAC,EAAE,YAAY,CAAA;IACxB,QAAQ,EAAE,MAAM,CAAA;IAChB,IAAI,EAAE,IAAI,CAAA;CACX"}
1
+ {"version":3,"file":"Job.d.ts","sourceRoot":"","sources":["../../../src/Job/Job.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAEhC,MAAM,MAAM,YAAY,GAAG,CAAC,GAAG,YAAY,EAAE,OAAO,EAAE,KAAK,IAAI,CAAA;AAE/D,MAAM,WAAW,GAAG;IAClB,IAAI,EAAE,MAAM,CAAA;IACZ,UAAU,CAAC,EAAE,YAAY,CAAA;IACzB,MAAM,CAAC,EAAE,YAAY,CAAA;IACrB,OAAO,CAAC,EAAE,YAAY,CAAA;IACtB,SAAS,CAAC,EAAE,YAAY,CAAA;IACxB,QAAQ,EAAE,MAAM,CAAA;IAChB,IAAI,EAAE,IAAI,CAAA;CACX"}
@@ -1,4 +1,4 @@
1
- import { Task } from './Task';
1
+ import { Task } from './Task.js';
2
2
  export type VoidFunction = (...anyArguments: unknown[]) => void;
3
3
  export interface Job {
4
4
  name: string;
@@ -1 +1 @@
1
- {"version":3,"file":"Job.d.ts","sourceRoot":"","sources":["../../../src/Job/Job.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAE7B,MAAM,MAAM,YAAY,GAAG,CAAC,GAAG,YAAY,EAAE,OAAO,EAAE,KAAK,IAAI,CAAA;AAE/D,MAAM,WAAW,GAAG;IAClB,IAAI,EAAE,MAAM,CAAA;IACZ,UAAU,CAAC,EAAE,YAAY,CAAA;IACzB,MAAM,CAAC,EAAE,YAAY,CAAA;IACrB,OAAO,CAAC,EAAE,YAAY,CAAA;IACtB,SAAS,CAAC,EAAE,YAAY,CAAA;IACxB,QAAQ,EAAE,MAAM,CAAA;IAChB,IAAI,EAAE,IAAI,CAAA;CACX"}
1
+ {"version":3,"file":"Job.d.ts","sourceRoot":"","sources":["../../../src/Job/Job.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAEhC,MAAM,MAAM,YAAY,GAAG,CAAC,GAAG,YAAY,EAAE,OAAO,EAAE,KAAK,IAAI,CAAA;AAE/D,MAAM,WAAW,GAAG;IAClB,IAAI,EAAE,MAAM,CAAA;IACZ,UAAU,CAAC,EAAE,YAAY,CAAA;IACzB,MAAM,CAAC,EAAE,YAAY,CAAA;IACrB,OAAO,CAAC,EAAE,YAAY,CAAA;IACtB,SAAS,CAAC,EAAE,YAAY,CAAA;IACxB,QAAQ,EAAE,MAAM,CAAA;IAChB,IAAI,EAAE,IAAI,CAAA;CACX"}
@@ -1,4 +1,4 @@
1
- import { Task } from './Task';
1
+ import { Task } from './Task.js';
2
2
  export type VoidFunction = (...anyArguments: unknown[]) => void;
3
3
  export interface Job {
4
4
  name: string;
@@ -1 +1 @@
1
- {"version":3,"file":"Job.d.ts","sourceRoot":"","sources":["../../../src/Job/Job.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAE7B,MAAM,MAAM,YAAY,GAAG,CAAC,GAAG,YAAY,EAAE,OAAO,EAAE,KAAK,IAAI,CAAA;AAE/D,MAAM,WAAW,GAAG;IAClB,IAAI,EAAE,MAAM,CAAA;IACZ,UAAU,CAAC,EAAE,YAAY,CAAA;IACzB,MAAM,CAAC,EAAE,YAAY,CAAA;IACrB,OAAO,CAAC,EAAE,YAAY,CAAA;IACtB,SAAS,CAAC,EAAE,YAAY,CAAA;IACxB,QAAQ,EAAE,MAAM,CAAA;IAChB,IAAI,EAAE,IAAI,CAAA;CACX"}
1
+ {"version":3,"file":"Job.d.ts","sourceRoot":"","sources":["../../../src/Job/Job.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAEhC,MAAM,MAAM,YAAY,GAAG,CAAC,GAAG,YAAY,EAAE,OAAO,EAAE,KAAK,IAAI,CAAA;AAE/D,MAAM,WAAW,GAAG;IAClB,IAAI,EAAE,MAAM,CAAA;IACZ,UAAU,CAAC,EAAE,YAAY,CAAA;IACzB,MAAM,CAAC,EAAE,YAAY,CAAA;IACrB,OAAO,CAAC,EAAE,YAAY,CAAA;IACtB,SAAS,CAAC,EAAE,YAAY,CAAA;IACxB,QAAQ,EAAE,MAAM,CAAA;IAChB,IAAI,EAAE,IAAI,CAAA;CACX"}
@@ -1,4 +1,4 @@
1
- import { Job } from './Job';
1
+ import { Job } from './Job.js';
2
2
  export interface JobProvider {
3
3
  get jobs(): Job[];
4
4
  }
@@ -1 +1 @@
1
- {"version":3,"file":"JobProvider.d.ts","sourceRoot":"","sources":["../../../src/Job/JobProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAA;AAE3B,MAAM,WAAW,WAAW;IAC1B,IAAI,IAAI,IAAI,GAAG,EAAE,CAAA;CAClB"}
1
+ {"version":3,"file":"JobProvider.d.ts","sourceRoot":"","sources":["../../../src/Job/JobProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAA;AAE9B,MAAM,WAAW,WAAW;IAC1B,IAAI,IAAI,IAAI,GAAG,EAAE,CAAA;CAClB"}
@@ -1,4 +1,4 @@
1
- import { Job } from './Job';
1
+ import { Job } from './Job.js';
2
2
  export interface JobProvider {
3
3
  get jobs(): Job[];
4
4
  }
@@ -1 +1 @@
1
- {"version":3,"file":"JobProvider.d.ts","sourceRoot":"","sources":["../../../src/Job/JobProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAA;AAE3B,MAAM,WAAW,WAAW;IAC1B,IAAI,IAAI,IAAI,GAAG,EAAE,CAAA;CAClB"}
1
+ {"version":3,"file":"JobProvider.d.ts","sourceRoot":"","sources":["../../../src/Job/JobProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAA;AAE9B,MAAM,WAAW,WAAW;IAC1B,IAAI,IAAI,IAAI,GAAG,EAAE,CAAA;CAClB"}
@@ -1,4 +1,4 @@
1
- import { Job } from './Job';
1
+ import { Job } from './Job.js';
2
2
  export interface JobProvider {
3
3
  get jobs(): Job[];
4
4
  }
@@ -1 +1 @@
1
- {"version":3,"file":"JobProvider.d.ts","sourceRoot":"","sources":["../../../src/Job/JobProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAA;AAE3B,MAAM,WAAW,WAAW;IAC1B,IAAI,IAAI,IAAI,GAAG,EAAE,CAAA;CAClB"}
1
+ {"version":3,"file":"JobProvider.d.ts","sourceRoot":"","sources":["../../../src/Job/JobProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAA;AAE9B,MAAM,WAAW,WAAW;IAC1B,IAAI,IAAI,IAAI,GAAG,EAAE,CAAA;CAClB"}
@@ -1,3 +1,3 @@
1
- export * from './Job';
2
- export * from './JobProvider';
1
+ export * from './Job.js';
2
+ export * from './JobProvider.js';
3
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/Job/index.ts"],"names":[],"mappings":"AAAA,cAAc,OAAO,CAAA;AACrB,cAAc,eAAe,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/Job/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAA;AACxB,cAAc,kBAAkB,CAAA"}
@@ -1,3 +1,3 @@
1
- export * from './Job';
2
- export * from './JobProvider';
1
+ export * from './Job.js';
2
+ export * from './JobProvider.js';
3
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/Job/index.ts"],"names":[],"mappings":"AAAA,cAAc,OAAO,CAAA;AACrB,cAAc,eAAe,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/Job/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAA;AACxB,cAAc,kBAAkB,CAAA"}
@@ -1,3 +1,3 @@
1
- export * from './Job';
2
- export * from './JobProvider';
1
+ export * from './Job.js';
2
+ export * from './JobProvider.js';
3
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/Job/index.ts"],"names":[],"mappings":"AAAA,cAAc,OAAO,CAAA;AACrB,cAAc,eAAe,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/Job/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAA;AACxB,cAAc,kBAAkB,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/index.ts","../../src/dump.ts","../../src/IdLogger.ts","../../src/is-ip/ip-regex.ts","../../src/is-ip/is-ip.ts"],"sourcesContent":["export * from './dump'\nexport * from './IdLogger'\nexport * from './is-ip'\nexport * from './Job'\n","export const dump = (object: unknown) => {\n const cache: unknown[] = []\n return JSON.stringify(\n object,\n (key, value) => {\n if (typeof value === 'object' && value !== null) {\n // Duplicate reference found, discard key\n if (cache.includes(value)) {\n return '[circular]'\n }\n\n // Store value in our collection\n cache.push(value)\n }\n return value\n },\n 2,\n )\n}\n","import { getFunctionName, Logger } from '@xylabs/logger'\n\n/** @deprecated use from @xylabs/logger instead */\nexport class IdLogger implements Logger {\n private _id?: () => string\n private _logger: Logger\n\n constructor(logger: Logger, id?: () => string) {\n this._logger = logger\n this._id = id\n }\n\n set id(id: string) {\n this._id = () => id\n }\n\n debug(message?: unknown) {\n this._logger?.debug(this.generate(message, getFunctionName(3)))\n }\n error(message?: unknown) {\n this._logger?.error(this.generate(message, getFunctionName(3)))\n }\n info(message?: unknown) {\n this._logger?.info(this.generate(message, getFunctionName(3)))\n }\n log(message?: unknown) {\n this._logger?.log(this.generate(message, getFunctionName(3)))\n }\n warn(message?: unknown) {\n this._logger?.warn(this.generate(message, getFunctionName(3)))\n }\n\n private generate(message?: unknown, tag?: string) {\n return `${tag} ${this._id ? `[${this._id}] ` : ''}${\n typeof message === 'string' ? message\n : typeof message === 'object' ? JSON.stringify(message, undefined, 2)\n : `${message}`\n }`\n }\n}\n","const word = String.raw`[a-fA-F\\d:]`\n\nexport interface Options {\n readonly exact?: boolean\n readonly includeBoundaries?: boolean\n}\n\nconst boundary = (options: Options) => (options && options.includeBoundaries ? `(?:(?<=\\\\s|^)(?=${word})|(?<=${word})(?=\\\\s|$))` : '')\n\nconst v4 = String.raw`(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)){3}`\n\nconst v6segment = String.raw`[a-fA-F\\d]{1,4}`\n\nconst v6 = `\n(?:\n(?:${v6segment}:){7}(?:${v6segment}|:)| // 1:2:3:4:5:6:7:: 1:2:3:4:5:6:7:8\n(?:${v6segment}:){6}(?:${v4}|:${v6segment}|:)| // 1:2:3:4:5:6:: 1:2:3:4:5:6::8 1:2:3:4:5:6::8 1:2:3:4:5:6::1.2.3.4\n(?:${v6segment}:){5}(?::${v4}|(?::${v6segment}){1,2}|:)| // 1:2:3:4:5:: 1:2:3:4:5::7:8 1:2:3:4:5::8 1:2:3:4:5::7:1.2.3.4\n(?:${v6segment}:){4}(?:(?::${v6segment}){0,1}:${v4}|(?::${v6segment}){1,3}|:)| // 1:2:3:4:: 1:2:3:4::6:7:8 1:2:3:4::8 1:2:3:4::6:7:1.2.3.4\n(?:${v6segment}:){3}(?:(?::${v6segment}){0,2}:${v4}|(?::${v6segment}){1,4}|:)| // 1:2:3:: 1:2:3::5:6:7:8 1:2:3::8 1:2:3::5:6:7:1.2.3.4\n(?:${v6segment}:){2}(?:(?::${v6segment}){0,3}:${v4}|(?::${v6segment}){1,5}|:)| // 1:2:: 1:2::4:5:6:7:8 1:2::8 1:2::4:5:6:7:1.2.3.4\n(?:${v6segment}:){1}(?:(?::${v6segment}){0,4}:${v4}|(?::${v6segment}){1,6}|:)| // 1:: 1::3:4:5:6:7:8 1::8 1::3:4:5:6:7:1.2.3.4\n(?::(?:(?::${v6segment}){0,5}:${v4}|(?::${v6segment}){1,7}|:)) // ::2:3:4:5:6:7:8 ::2:3:4:5:6:7:8 ::8 ::1.2.3.4\n)(?:%[0-9a-zA-Z]{1,})? // %eth0 %1\n`\n .replaceAll(/\\s*\\/\\/.*$/gm, '')\n .replaceAll('\\n', '')\n .trim()\n\n// Pre-compile only the exact regexes because adding a global flag make regexes stateful\nconst v46Exact = new RegExp(`(?:^${v4}$)|(?:^${v6}$)`)\nconst v4exact = new RegExp(`^${v4}$`)\nconst v6exact = new RegExp(`^${v6}$`)\n\nexport const ipRegex = (options: Options) =>\n options && options.exact ?\n v46Exact\n : new RegExp(`(?:${boundary(options)}${v4}${boundary(options)})|(?:${boundary(options)}${v6}${boundary(options)})`, 'g')\n\nipRegex.v4 = (options: Options) => (options && options.exact ? v4exact : new RegExp(`${boundary(options)}${v4}${boundary(options)}`, 'g'))\nipRegex.v6 = (options: Options) => (options && options.exact ? v6exact : new RegExp(`${boundary(options)}${v6}${boundary(options)}`, 'g'))\n","import { ipRegex } from './ip-regex'\n\nexport function isIP(value: string) {\n return ipRegex({ exact: true }).test(value)\n}\n\nexport function isIPv6(value: string) {\n return ipRegex.v6({ exact: true }).test(value)\n}\n\nexport function isIPv4(value: string) {\n return ipRegex.v4({ exact: true }).test(value)\n}\n\nexport function ipVersion(value: string) {\n return (\n isIP(value) ?\n isIPv6(value) ? 6\n : 4\n : undefined\n )\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;;;;;;;;;;;;ACAO,IAAMA,OAAO,wBAACC,WAAAA;AACnB,QAAMC,QAAmB,CAAA;AACzB,SAAOC,KAAKC,UACVH,QACA,CAACI,KAAKC,UAAAA;AACJ,QAAI,OAAOA,UAAU,YAAYA,UAAU,MAAM;AAE/C,UAAIJ,MAAMK,SAASD,KAAAA,GAAQ;AACzB,eAAO;MACT;AAGAJ,YAAMM,KAAKF,KAAAA;IACb;AACA,WAAOA;EACT,GACA,CAAA;AAEJ,GAlBoB;;;ACApB,oBAAwC;AAGjC,IAAMG,WAAN,MAAMA;EAHb,OAGaA;;;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,aAASE,+BAAgB,CAAA,CAAA,CAAA;EAC7D;EACAC,MAAMH,SAAmB;AACvB,SAAKL,SAASQ,MAAM,KAAKF,SAASD,aAASE,+BAAgB,CAAA,CAAA,CAAA;EAC7D;EACAE,KAAKJ,SAAmB;AACtB,SAAKL,SAASS,KAAK,KAAKH,SAASD,aAASE,+BAAgB,CAAA,CAAA,CAAA;EAC5D;EACAG,IAAIL,SAAmB;AACrB,SAAKL,SAASU,IAAI,KAAKJ,SAASD,aAASE,+BAAgB,CAAA,CAAA,CAAA;EAC3D;EACAI,KAAKN,SAAmB;AACtB,SAAKL,SAASW,KAAK,KAAKL,SAASD,aAASE,+BAAgB,CAAA,CAAA,CAAA;EAC5D;EAEQD,SAASD,SAAmBO,KAAc;AAChD,WAAO,GAAGA,GAAAA,IAAO,KAAKb,MAAM,IAAI,KAAKA,GAAG,OAAO,EAAA,GAC7C,OAAOM,YAAY,WAAWA,UAC5B,OAAOA,YAAY,WAAWQ,KAAKC,UAAUT,SAASU,QAAW,CAAA,IACjE,GAAGV,OAAAA,EAAS;EAElB;AACF;;;ACvCA,IAAMW,OAAOC,OAAOC;AAOpB,IAAMC,WAAW,wBAACC,YAAsBA,WAAWA,QAAQC,oBAAoB,mBAAmBL,IAAAA,SAAaA,IAAAA,gBAAoB,IAAlH;AAEjB,IAAMM,KAAKL,OAAOC;AAElB,IAAMK,YAAYN,OAAOC;AAEzB,IAAMM,KAAK;;KAEND,SAAAA,WAAoBA,SAAAA;KACpBA,SAAAA,WAAoBD,EAAAA,KAAOC,SAAAA;KAC3BA,SAAAA,YAAqBD,EAAAA,QAAUC,SAAAA;KAC/BA,SAAAA,eAAwBA,SAAAA,UAAmBD,EAAAA,QAAUC,SAAAA;KACrDA,SAAAA,eAAwBA,SAAAA,UAAmBD,EAAAA,QAAUC,SAAAA;KACrDA,SAAAA,eAAwBA,SAAAA,UAAmBD,EAAAA,QAAUC,SAAAA;KACrDA,SAAAA,eAAwBA,SAAAA,UAAmBD,EAAAA,QAAUC,SAAAA;aAC7CA,SAAAA,UAAmBD,EAAAA,QAAUC,SAAAA;;EAGvCE,WAAW,gBAAgB,EAAA,EAC3BA,WAAW,MAAM,EAAA,EACjBC,KAAI;AAGP,IAAMC,WAAW,IAAIC,OAAO,OAAON,EAAAA,UAAYE,EAAAA,IAAM;AACrD,IAAMK,UAAU,IAAID,OAAO,IAAIN,EAAAA,GAAK;AACpC,IAAMQ,UAAU,IAAIF,OAAO,IAAIJ,EAAAA,GAAK;AAE7B,IAAMO,UAAU,wBAACX,YACtBA,WAAWA,QAAQY,QACjBL,WACA,IAAIC,OAAO,MAAMT,SAASC,OAAAA,CAAAA,GAAWE,EAAAA,GAAKH,SAASC,OAAAA,CAAAA,QAAgBD,SAASC,OAAAA,CAAAA,GAAWI,EAAAA,GAAKL,SAASC,OAAAA,CAAAA,KAAa,GAAA,GAH/F;AAKvBW,QAAQT,KAAK,CAACF,YAAsBA,WAAWA,QAAQY,QAAQH,UAAU,IAAID,OAAO,GAAGT,SAASC,OAAAA,CAAAA,GAAWE,EAAAA,GAAKH,SAASC,OAAAA,CAAAA,IAAY,GAAA;AACrIW,QAAQP,KAAK,CAACJ,YAAsBA,WAAWA,QAAQY,QAAQF,UAAU,IAAIF,OAAO,GAAGT,SAASC,OAAAA,CAAAA,GAAWI,EAAAA,GAAKL,SAASC,OAAAA,CAAAA,IAAY,GAAA;;;ACtC9H,SAASa,KAAKC,OAAa;AAChC,SAAOC,QAAQ;IAAEC,OAAO;EAAK,CAAA,EAAGC,KAAKH,KAAAA;AACvC;AAFgBD;AAIT,SAASK,OAAOJ,OAAa;AAClC,SAAOC,QAAQI,GAAG;IAAEH,OAAO;EAAK,CAAA,EAAGC,KAAKH,KAAAA;AAC1C;AAFgBI;AAIT,SAASE,OAAON,OAAa;AAClC,SAAOC,QAAQM,GAAG;IAAEL,OAAO;EAAK,CAAA,EAAGC,KAAKH,KAAAA;AAC1C;AAFgBM;AAIT,SAASE,UAAUR,OAAa;AACrC,SACED,KAAKC,KAAAA,IACHI,OAAOJ,KAAAA,IAAS,IACd,IACFS;AAEN;AAPgBD;","names":["dump","object","cache","JSON","stringify","key","value","includes","push","IdLogger","_id","_logger","constructor","logger","id","debug","message","generate","getFunctionName","error","info","log","warn","tag","JSON","stringify","undefined","word","String","raw","boundary","options","includeBoundaries","v4","v6segment","v6","replaceAll","trim","v46Exact","RegExp","v4exact","v6exact","ipRegex","exact","isIP","value","ipRegex","exact","test","isIPv6","v6","isIPv4","v4","ipVersion","undefined"]}
1
+ {"version":3,"sources":["../../src/index.ts","../../src/dump.ts","../../src/IdLogger.ts","../../src/is-ip/ip-regex.ts","../../src/is-ip/is-ip.ts"],"sourcesContent":["export * from './dump.js'\nexport * from './IdLogger.js'\nexport * from './is-ip/index.js'\nexport * from './Job/index.js'\n","export const dump = (object: unknown) => {\n const cache: unknown[] = []\n return JSON.stringify(\n object,\n (key, value) => {\n if (typeof value === 'object' && value !== null) {\n // Duplicate reference found, discard key\n if (cache.includes(value)) {\n return '[circular]'\n }\n\n // Store value in our collection\n cache.push(value)\n }\n return value\n },\n 2,\n )\n}\n","import { getFunctionName, Logger } from '@xylabs/logger'\n\n/** @deprecated use from @xylabs/logger instead */\nexport class IdLogger implements Logger {\n private _id?: () => string\n private _logger: Logger\n\n constructor(logger: Logger, id?: () => string) {\n this._logger = logger\n this._id = id\n }\n\n set id(id: string) {\n this._id = () => id\n }\n\n debug(message?: unknown) {\n this._logger?.debug(this.generate(message, getFunctionName(3)))\n }\n error(message?: unknown) {\n this._logger?.error(this.generate(message, getFunctionName(3)))\n }\n info(message?: unknown) {\n this._logger?.info(this.generate(message, getFunctionName(3)))\n }\n log(message?: unknown) {\n this._logger?.log(this.generate(message, getFunctionName(3)))\n }\n warn(message?: unknown) {\n this._logger?.warn(this.generate(message, getFunctionName(3)))\n }\n\n private generate(message?: unknown, tag?: string) {\n return `${tag} ${this._id ? `[${this._id}] ` : ''}${\n typeof message === 'string' ? message\n : typeof message === 'object' ? JSON.stringify(message, undefined, 2)\n : `${message}`\n }`\n }\n}\n","const word = String.raw`[a-fA-F\\d:]`\n\nexport interface Options {\n readonly exact?: boolean\n readonly includeBoundaries?: boolean\n}\n\nconst boundary = (options: Options) => (options && options.includeBoundaries ? `(?:(?<=\\\\s|^)(?=${word})|(?<=${word})(?=\\\\s|$))` : '')\n\nconst v4 = String.raw`(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)){3}`\n\nconst v6segment = String.raw`[a-fA-F\\d]{1,4}`\n\nconst v6 = `\n(?:\n(?:${v6segment}:){7}(?:${v6segment}|:)| // 1:2:3:4:5:6:7:: 1:2:3:4:5:6:7:8\n(?:${v6segment}:){6}(?:${v4}|:${v6segment}|:)| // 1:2:3:4:5:6:: 1:2:3:4:5:6::8 1:2:3:4:5:6::8 1:2:3:4:5:6::1.2.3.4\n(?:${v6segment}:){5}(?::${v4}|(?::${v6segment}){1,2}|:)| // 1:2:3:4:5:: 1:2:3:4:5::7:8 1:2:3:4:5::8 1:2:3:4:5::7:1.2.3.4\n(?:${v6segment}:){4}(?:(?::${v6segment}){0,1}:${v4}|(?::${v6segment}){1,3}|:)| // 1:2:3:4:: 1:2:3:4::6:7:8 1:2:3:4::8 1:2:3:4::6:7:1.2.3.4\n(?:${v6segment}:){3}(?:(?::${v6segment}){0,2}:${v4}|(?::${v6segment}){1,4}|:)| // 1:2:3:: 1:2:3::5:6:7:8 1:2:3::8 1:2:3::5:6:7:1.2.3.4\n(?:${v6segment}:){2}(?:(?::${v6segment}){0,3}:${v4}|(?::${v6segment}){1,5}|:)| // 1:2:: 1:2::4:5:6:7:8 1:2::8 1:2::4:5:6:7:1.2.3.4\n(?:${v6segment}:){1}(?:(?::${v6segment}){0,4}:${v4}|(?::${v6segment}){1,6}|:)| // 1:: 1::3:4:5:6:7:8 1::8 1::3:4:5:6:7:1.2.3.4\n(?::(?:(?::${v6segment}){0,5}:${v4}|(?::${v6segment}){1,7}|:)) // ::2:3:4:5:6:7:8 ::2:3:4:5:6:7:8 ::8 ::1.2.3.4\n)(?:%[0-9a-zA-Z]{1,})? // %eth0 %1\n`\n .replaceAll(/\\s*\\/\\/.*$/gm, '')\n .replaceAll('\\n', '')\n .trim()\n\n// Pre-compile only the exact regexes because adding a global flag make regexes stateful\nconst v46Exact = new RegExp(`(?:^${v4}$)|(?:^${v6}$)`)\nconst v4exact = new RegExp(`^${v4}$`)\nconst v6exact = new RegExp(`^${v6}$`)\n\nexport const ipRegex = (options: Options) =>\n options && options.exact ?\n v46Exact\n : new RegExp(`(?:${boundary(options)}${v4}${boundary(options)})|(?:${boundary(options)}${v6}${boundary(options)})`, 'g')\n\nipRegex.v4 = (options: Options) => (options && options.exact ? v4exact : new RegExp(`${boundary(options)}${v4}${boundary(options)}`, 'g'))\nipRegex.v6 = (options: Options) => (options && options.exact ? v6exact : new RegExp(`${boundary(options)}${v6}${boundary(options)}`, 'g'))\n","import { ipRegex } from './ip-regex.js'\n\nexport function isIP(value: string) {\n return ipRegex({ exact: true }).test(value)\n}\n\nexport function isIPv6(value: string) {\n return ipRegex.v6({ exact: true }).test(value)\n}\n\nexport function isIPv4(value: string) {\n return ipRegex.v4({ exact: true }).test(value)\n}\n\nexport function ipVersion(value: string) {\n return (\n isIP(value) ?\n isIPv6(value) ? 6\n : 4\n : undefined\n )\n}\n"],"mappings":"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","names":["dump","object","cache","JSON","stringify","key","value","includes","push","IdLogger","_id","_logger","constructor","logger","id","debug","message","generate","getFunctionName","error","info","log","warn","tag","JSON","stringify","undefined","word","String","raw","boundary","options","includeBoundaries","v4","v6segment","v6","replaceAll","trim","v46Exact","RegExp","v4exact","v6exact","ipRegex","exact","isIP","value","ipRegex","exact","test","isIPv6","v6","isIPv4","v4","ipVersion","undefined"]}
@@ -1,5 +1,5 @@
1
- export * from './dump';
2
- export * from './IdLogger';
3
- export * from './is-ip';
4
- export * from './Job';
1
+ export * from './dump.js';
2
+ export * from './IdLogger.js';
3
+ export * from './is-ip/index.js';
4
+ export * from './Job/index.js';
5
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAA;AACtB,cAAc,YAAY,CAAA;AAC1B,cAAc,SAAS,CAAA;AACvB,cAAc,OAAO,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAA;AACzB,cAAc,eAAe,CAAA;AAC7B,cAAc,kBAAkB,CAAA;AAChC,cAAc,gBAAgB,CAAA"}
@@ -1,5 +1,5 @@
1
- export * from './dump';
2
- export * from './IdLogger';
3
- export * from './is-ip';
4
- export * from './Job';
1
+ export * from './dump.js';
2
+ export * from './IdLogger.js';
3
+ export * from './is-ip/index.js';
4
+ export * from './Job/index.js';
5
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAA;AACtB,cAAc,YAAY,CAAA;AAC1B,cAAc,SAAS,CAAA;AACvB,cAAc,OAAO,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAA;AACzB,cAAc,eAAe,CAAA;AAC7B,cAAc,kBAAkB,CAAA;AAChC,cAAc,gBAAgB,CAAA"}
@@ -1,5 +1,5 @@
1
- export * from './dump';
2
- export * from './IdLogger';
3
- export * from './is-ip';
4
- export * from './Job';
1
+ export * from './dump.js';
2
+ export * from './IdLogger.js';
3
+ export * from './is-ip/index.js';
4
+ export * from './Job/index.js';
5
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAA;AACtB,cAAc,YAAY,CAAA;AAC1B,cAAc,SAAS,CAAA;AACvB,cAAc,OAAO,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAA;AACzB,cAAc,eAAe,CAAA;AAC7B,cAAc,kBAAkB,CAAA;AAChC,cAAc,gBAAgB,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/dump.ts","../../src/IdLogger.ts","../../src/is-ip/ip-regex.ts","../../src/is-ip/is-ip.ts"],"sourcesContent":["export const dump = (object: unknown) => {\n const cache: unknown[] = []\n return JSON.stringify(\n object,\n (key, value) => {\n if (typeof value === 'object' && value !== null) {\n // Duplicate reference found, discard key\n if (cache.includes(value)) {\n return '[circular]'\n }\n\n // Store value in our collection\n cache.push(value)\n }\n return value\n },\n 2,\n )\n}\n","import { getFunctionName, Logger } from '@xylabs/logger'\n\n/** @deprecated use from @xylabs/logger instead */\nexport class IdLogger implements Logger {\n private _id?: () => string\n private _logger: Logger\n\n constructor(logger: Logger, id?: () => string) {\n this._logger = logger\n this._id = id\n }\n\n set id(id: string) {\n this._id = () => id\n }\n\n debug(message?: unknown) {\n this._logger?.debug(this.generate(message, getFunctionName(3)))\n }\n error(message?: unknown) {\n this._logger?.error(this.generate(message, getFunctionName(3)))\n }\n info(message?: unknown) {\n this._logger?.info(this.generate(message, getFunctionName(3)))\n }\n log(message?: unknown) {\n this._logger?.log(this.generate(message, getFunctionName(3)))\n }\n warn(message?: unknown) {\n this._logger?.warn(this.generate(message, getFunctionName(3)))\n }\n\n private generate(message?: unknown, tag?: string) {\n return `${tag} ${this._id ? `[${this._id}] ` : ''}${\n typeof message === 'string' ? message\n : typeof message === 'object' ? JSON.stringify(message, undefined, 2)\n : `${message}`\n }`\n }\n}\n","const word = String.raw`[a-fA-F\\d:]`\n\nexport interface Options {\n readonly exact?: boolean\n readonly includeBoundaries?: boolean\n}\n\nconst boundary = (options: Options) => (options && options.includeBoundaries ? `(?:(?<=\\\\s|^)(?=${word})|(?<=${word})(?=\\\\s|$))` : '')\n\nconst v4 = String.raw`(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)){3}`\n\nconst v6segment = String.raw`[a-fA-F\\d]{1,4}`\n\nconst v6 = `\n(?:\n(?:${v6segment}:){7}(?:${v6segment}|:)| // 1:2:3:4:5:6:7:: 1:2:3:4:5:6:7:8\n(?:${v6segment}:){6}(?:${v4}|:${v6segment}|:)| // 1:2:3:4:5:6:: 1:2:3:4:5:6::8 1:2:3:4:5:6::8 1:2:3:4:5:6::1.2.3.4\n(?:${v6segment}:){5}(?::${v4}|(?::${v6segment}){1,2}|:)| // 1:2:3:4:5:: 1:2:3:4:5::7:8 1:2:3:4:5::8 1:2:3:4:5::7:1.2.3.4\n(?:${v6segment}:){4}(?:(?::${v6segment}){0,1}:${v4}|(?::${v6segment}){1,3}|:)| // 1:2:3:4:: 1:2:3:4::6:7:8 1:2:3:4::8 1:2:3:4::6:7:1.2.3.4\n(?:${v6segment}:){3}(?:(?::${v6segment}){0,2}:${v4}|(?::${v6segment}){1,4}|:)| // 1:2:3:: 1:2:3::5:6:7:8 1:2:3::8 1:2:3::5:6:7:1.2.3.4\n(?:${v6segment}:){2}(?:(?::${v6segment}){0,3}:${v4}|(?::${v6segment}){1,5}|:)| // 1:2:: 1:2::4:5:6:7:8 1:2::8 1:2::4:5:6:7:1.2.3.4\n(?:${v6segment}:){1}(?:(?::${v6segment}){0,4}:${v4}|(?::${v6segment}){1,6}|:)| // 1:: 1::3:4:5:6:7:8 1::8 1::3:4:5:6:7:1.2.3.4\n(?::(?:(?::${v6segment}){0,5}:${v4}|(?::${v6segment}){1,7}|:)) // ::2:3:4:5:6:7:8 ::2:3:4:5:6:7:8 ::8 ::1.2.3.4\n)(?:%[0-9a-zA-Z]{1,})? // %eth0 %1\n`\n .replaceAll(/\\s*\\/\\/.*$/gm, '')\n .replaceAll('\\n', '')\n .trim()\n\n// Pre-compile only the exact regexes because adding a global flag make regexes stateful\nconst v46Exact = new RegExp(`(?:^${v4}$)|(?:^${v6}$)`)\nconst v4exact = new RegExp(`^${v4}$`)\nconst v6exact = new RegExp(`^${v6}$`)\n\nexport const ipRegex = (options: Options) =>\n options && options.exact ?\n v46Exact\n : new RegExp(`(?:${boundary(options)}${v4}${boundary(options)})|(?:${boundary(options)}${v6}${boundary(options)})`, 'g')\n\nipRegex.v4 = (options: Options) => (options && options.exact ? v4exact : new RegExp(`${boundary(options)}${v4}${boundary(options)}`, 'g'))\nipRegex.v6 = (options: Options) => (options && options.exact ? v6exact : new RegExp(`${boundary(options)}${v6}${boundary(options)}`, 'g'))\n","import { ipRegex } from './ip-regex'\n\nexport function isIP(value: string) {\n return ipRegex({ exact: true }).test(value)\n}\n\nexport function isIPv6(value: string) {\n return ipRegex.v6({ exact: true }).test(value)\n}\n\nexport function isIPv4(value: string) {\n return ipRegex.v4({ exact: true }).test(value)\n}\n\nexport function ipVersion(value: string) {\n return (\n isIP(value) ?\n isIPv6(value) ? 6\n : 4\n : undefined\n )\n}\n"],"mappings":";;;;AAAO,IAAMA,OAAO,wBAACC,WAAAA;AACnB,QAAMC,QAAmB,CAAA;AACzB,SAAOC,KAAKC,UACVH,QACA,CAACI,KAAKC,UAAAA;AACJ,QAAI,OAAOA,UAAU,YAAYA,UAAU,MAAM;AAE/C,UAAIJ,MAAMK,SAASD,KAAAA,GAAQ;AACzB,eAAO;MACT;AAGAJ,YAAMM,KAAKF,KAAAA;IACb;AACA,WAAOA;EACT,GACA,CAAA;AAEJ,GAlBoB;;;ACApB,SAASG,uBAA+B;AAGjC,IAAMC,WAAN,MAAMA;EAHb,OAGaA;;;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,UAC5B,OAAOA,YAAY,WAAWQ,KAAKC,UAAUT,SAASU,QAAW,CAAA,IACjE,GAAGV,OAAAA,EAAS;EAElB;AACF;;;ACvCA,IAAMW,OAAOC,OAAOC;AAOpB,IAAMC,WAAW,wBAACC,YAAsBA,WAAWA,QAAQC,oBAAoB,mBAAmBL,IAAAA,SAAaA,IAAAA,gBAAoB,IAAlH;AAEjB,IAAMM,KAAKL,OAAOC;AAElB,IAAMK,YAAYN,OAAOC;AAEzB,IAAMM,KAAK;;KAEND,SAAAA,WAAoBA,SAAAA;KACpBA,SAAAA,WAAoBD,EAAAA,KAAOC,SAAAA;KAC3BA,SAAAA,YAAqBD,EAAAA,QAAUC,SAAAA;KAC/BA,SAAAA,eAAwBA,SAAAA,UAAmBD,EAAAA,QAAUC,SAAAA;KACrDA,SAAAA,eAAwBA,SAAAA,UAAmBD,EAAAA,QAAUC,SAAAA;KACrDA,SAAAA,eAAwBA,SAAAA,UAAmBD,EAAAA,QAAUC,SAAAA;KACrDA,SAAAA,eAAwBA,SAAAA,UAAmBD,EAAAA,QAAUC,SAAAA;aAC7CA,SAAAA,UAAmBD,EAAAA,QAAUC,SAAAA;;EAGvCE,WAAW,gBAAgB,EAAA,EAC3BA,WAAW,MAAM,EAAA,EACjBC,KAAI;AAGP,IAAMC,WAAW,IAAIC,OAAO,OAAON,EAAAA,UAAYE,EAAAA,IAAM;AACrD,IAAMK,UAAU,IAAID,OAAO,IAAIN,EAAAA,GAAK;AACpC,IAAMQ,UAAU,IAAIF,OAAO,IAAIJ,EAAAA,GAAK;AAE7B,IAAMO,UAAU,wBAACX,YACtBA,WAAWA,QAAQY,QACjBL,WACA,IAAIC,OAAO,MAAMT,SAASC,OAAAA,CAAAA,GAAWE,EAAAA,GAAKH,SAASC,OAAAA,CAAAA,QAAgBD,SAASC,OAAAA,CAAAA,GAAWI,EAAAA,GAAKL,SAASC,OAAAA,CAAAA,KAAa,GAAA,GAH/F;AAKvBW,QAAQT,KAAK,CAACF,YAAsBA,WAAWA,QAAQY,QAAQH,UAAU,IAAID,OAAO,GAAGT,SAASC,OAAAA,CAAAA,GAAWE,EAAAA,GAAKH,SAASC,OAAAA,CAAAA,IAAY,GAAA;AACrIW,QAAQP,KAAK,CAACJ,YAAsBA,WAAWA,QAAQY,QAAQF,UAAU,IAAIF,OAAO,GAAGT,SAASC,OAAAA,CAAAA,GAAWI,EAAAA,GAAKL,SAASC,OAAAA,CAAAA,IAAY,GAAA;;;ACtC9H,SAASa,KAAKC,OAAa;AAChC,SAAOC,QAAQ;IAAEC,OAAO;EAAK,CAAA,EAAGC,KAAKH,KAAAA;AACvC;AAFgBD;AAIT,SAASK,OAAOJ,OAAa;AAClC,SAAOC,QAAQI,GAAG;IAAEH,OAAO;EAAK,CAAA,EAAGC,KAAKH,KAAAA;AAC1C;AAFgBI;AAIT,SAASE,OAAON,OAAa;AAClC,SAAOC,QAAQM,GAAG;IAAEL,OAAO;EAAK,CAAA,EAAGC,KAAKH,KAAAA;AAC1C;AAFgBM;AAIT,SAASE,UAAUR,OAAa;AACrC,SACED,KAAKC,KAAAA,IACHI,OAAOJ,KAAAA,IAAS,IACd,IACFS;AAEN;AAPgBD;","names":["dump","object","cache","JSON","stringify","key","value","includes","push","getFunctionName","IdLogger","_id","_logger","constructor","logger","id","debug","message","generate","getFunctionName","error","info","log","warn","tag","JSON","stringify","undefined","word","String","raw","boundary","options","includeBoundaries","v4","v6segment","v6","replaceAll","trim","v46Exact","RegExp","v4exact","v6exact","ipRegex","exact","isIP","value","ipRegex","exact","test","isIPv6","v6","isIPv4","v4","ipVersion","undefined"]}
1
+ {"version":3,"sources":["../../src/dump.ts","../../src/IdLogger.ts","../../src/is-ip/ip-regex.ts","../../src/is-ip/is-ip.ts"],"sourcesContent":["export const dump = (object: unknown) => {\n const cache: unknown[] = []\n return JSON.stringify(\n object,\n (key, value) => {\n if (typeof value === 'object' && value !== null) {\n // Duplicate reference found, discard key\n if (cache.includes(value)) {\n return '[circular]'\n }\n\n // Store value in our collection\n cache.push(value)\n }\n return value\n },\n 2,\n )\n}\n","import { getFunctionName, Logger } from '@xylabs/logger'\n\n/** @deprecated use from @xylabs/logger instead */\nexport class IdLogger implements Logger {\n private _id?: () => string\n private _logger: Logger\n\n constructor(logger: Logger, id?: () => string) {\n this._logger = logger\n this._id = id\n }\n\n set id(id: string) {\n this._id = () => id\n }\n\n debug(message?: unknown) {\n this._logger?.debug(this.generate(message, getFunctionName(3)))\n }\n error(message?: unknown) {\n this._logger?.error(this.generate(message, getFunctionName(3)))\n }\n info(message?: unknown) {\n this._logger?.info(this.generate(message, getFunctionName(3)))\n }\n log(message?: unknown) {\n this._logger?.log(this.generate(message, getFunctionName(3)))\n }\n warn(message?: unknown) {\n this._logger?.warn(this.generate(message, getFunctionName(3)))\n }\n\n private generate(message?: unknown, tag?: string) {\n return `${tag} ${this._id ? `[${this._id}] ` : ''}${\n typeof message === 'string' ? message\n : typeof message === 'object' ? JSON.stringify(message, undefined, 2)\n : `${message}`\n }`\n }\n}\n","const word = String.raw`[a-fA-F\\d:]`\n\nexport interface Options {\n readonly exact?: boolean\n readonly includeBoundaries?: boolean\n}\n\nconst boundary = (options: Options) => (options && options.includeBoundaries ? `(?:(?<=\\\\s|^)(?=${word})|(?<=${word})(?=\\\\s|$))` : '')\n\nconst v4 = String.raw`(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)){3}`\n\nconst v6segment = String.raw`[a-fA-F\\d]{1,4}`\n\nconst v6 = `\n(?:\n(?:${v6segment}:){7}(?:${v6segment}|:)| // 1:2:3:4:5:6:7:: 1:2:3:4:5:6:7:8\n(?:${v6segment}:){6}(?:${v4}|:${v6segment}|:)| // 1:2:3:4:5:6:: 1:2:3:4:5:6::8 1:2:3:4:5:6::8 1:2:3:4:5:6::1.2.3.4\n(?:${v6segment}:){5}(?::${v4}|(?::${v6segment}){1,2}|:)| // 1:2:3:4:5:: 1:2:3:4:5::7:8 1:2:3:4:5::8 1:2:3:4:5::7:1.2.3.4\n(?:${v6segment}:){4}(?:(?::${v6segment}){0,1}:${v4}|(?::${v6segment}){1,3}|:)| // 1:2:3:4:: 1:2:3:4::6:7:8 1:2:3:4::8 1:2:3:4::6:7:1.2.3.4\n(?:${v6segment}:){3}(?:(?::${v6segment}){0,2}:${v4}|(?::${v6segment}){1,4}|:)| // 1:2:3:: 1:2:3::5:6:7:8 1:2:3::8 1:2:3::5:6:7:1.2.3.4\n(?:${v6segment}:){2}(?:(?::${v6segment}){0,3}:${v4}|(?::${v6segment}){1,5}|:)| // 1:2:: 1:2::4:5:6:7:8 1:2::8 1:2::4:5:6:7:1.2.3.4\n(?:${v6segment}:){1}(?:(?::${v6segment}){0,4}:${v4}|(?::${v6segment}){1,6}|:)| // 1:: 1::3:4:5:6:7:8 1::8 1::3:4:5:6:7:1.2.3.4\n(?::(?:(?::${v6segment}){0,5}:${v4}|(?::${v6segment}){1,7}|:)) // ::2:3:4:5:6:7:8 ::2:3:4:5:6:7:8 ::8 ::1.2.3.4\n)(?:%[0-9a-zA-Z]{1,})? // %eth0 %1\n`\n .replaceAll(/\\s*\\/\\/.*$/gm, '')\n .replaceAll('\\n', '')\n .trim()\n\n// Pre-compile only the exact regexes because adding a global flag make regexes stateful\nconst v46Exact = new RegExp(`(?:^${v4}$)|(?:^${v6}$)`)\nconst v4exact = new RegExp(`^${v4}$`)\nconst v6exact = new RegExp(`^${v6}$`)\n\nexport const ipRegex = (options: Options) =>\n options && options.exact ?\n v46Exact\n : new RegExp(`(?:${boundary(options)}${v4}${boundary(options)})|(?:${boundary(options)}${v6}${boundary(options)})`, 'g')\n\nipRegex.v4 = (options: Options) => (options && options.exact ? v4exact : new RegExp(`${boundary(options)}${v4}${boundary(options)}`, 'g'))\nipRegex.v6 = (options: Options) => (options && options.exact ? v6exact : new RegExp(`${boundary(options)}${v6}${boundary(options)}`, 'g'))\n","import { ipRegex } from './ip-regex.js'\n\nexport function isIP(value: string) {\n return ipRegex({ exact: true }).test(value)\n}\n\nexport function isIPv6(value: string) {\n return ipRegex.v6({ exact: true }).test(value)\n}\n\nexport function isIPv4(value: string) {\n return ipRegex.v4({ exact: true }).test(value)\n}\n\nexport function ipVersion(value: string) {\n return (\n isIP(value) ?\n isIPv6(value) ? 6\n : 4\n : undefined\n )\n}\n"],"mappings":"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","names":["dump","object","cache","JSON","stringify","key","value","includes","push","getFunctionName","IdLogger","_id","_logger","constructor","logger","id","debug","message","generate","getFunctionName","error","info","log","warn","tag","JSON","stringify","undefined","word","String","raw","boundary","options","includeBoundaries","v4","v6segment","v6","replaceAll","trim","v46Exact","RegExp","v4exact","v6exact","ipRegex","exact","isIP","value","ipRegex","exact","test","isIPv6","v6","isIPv4","v4","ipVersion","undefined"]}
@@ -1,2 +1,2 @@
1
- export * from './is-ip';
1
+ export * from './is-ip.js';
2
2
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/is-ip/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/is-ip/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAA"}
@@ -1,2 +1,2 @@
1
- export * from './is-ip';
1
+ export * from './is-ip.js';
2
2
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/is-ip/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/is-ip/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAA"}
@@ -1,2 +1,2 @@
1
- export * from './is-ip';
1
+ export * from './is-ip.js';
2
2
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/is-ip/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/is-ip/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAA"}
@@ -1,4 +1,4 @@
1
- import { Task } from './Task';
1
+ import { Task } from './Task.js';
2
2
  export type VoidFunction = (...anyArguments: unknown[]) => void;
3
3
  export interface Job {
4
4
  name: string;
@@ -1 +1 @@
1
- {"version":3,"file":"Job.d.ts","sourceRoot":"","sources":["../../../src/Job/Job.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAE7B,MAAM,MAAM,YAAY,GAAG,CAAC,GAAG,YAAY,EAAE,OAAO,EAAE,KAAK,IAAI,CAAA;AAE/D,MAAM,WAAW,GAAG;IAClB,IAAI,EAAE,MAAM,CAAA;IACZ,UAAU,CAAC,EAAE,YAAY,CAAA;IACzB,MAAM,CAAC,EAAE,YAAY,CAAA;IACrB,OAAO,CAAC,EAAE,YAAY,CAAA;IACtB,SAAS,CAAC,EAAE,YAAY,CAAA;IACxB,QAAQ,EAAE,MAAM,CAAA;IAChB,IAAI,EAAE,IAAI,CAAA;CACX"}
1
+ {"version":3,"file":"Job.d.ts","sourceRoot":"","sources":["../../../src/Job/Job.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAEhC,MAAM,MAAM,YAAY,GAAG,CAAC,GAAG,YAAY,EAAE,OAAO,EAAE,KAAK,IAAI,CAAA;AAE/D,MAAM,WAAW,GAAG;IAClB,IAAI,EAAE,MAAM,CAAA;IACZ,UAAU,CAAC,EAAE,YAAY,CAAA;IACzB,MAAM,CAAC,EAAE,YAAY,CAAA;IACrB,OAAO,CAAC,EAAE,YAAY,CAAA;IACtB,SAAS,CAAC,EAAE,YAAY,CAAA;IACxB,QAAQ,EAAE,MAAM,CAAA;IAChB,IAAI,EAAE,IAAI,CAAA;CACX"}
@@ -1,4 +1,4 @@
1
- import { Task } from './Task';
1
+ import { Task } from './Task.js';
2
2
  export type VoidFunction = (...anyArguments: unknown[]) => void;
3
3
  export interface Job {
4
4
  name: string;
@@ -1 +1 @@
1
- {"version":3,"file":"Job.d.ts","sourceRoot":"","sources":["../../../src/Job/Job.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAE7B,MAAM,MAAM,YAAY,GAAG,CAAC,GAAG,YAAY,EAAE,OAAO,EAAE,KAAK,IAAI,CAAA;AAE/D,MAAM,WAAW,GAAG;IAClB,IAAI,EAAE,MAAM,CAAA;IACZ,UAAU,CAAC,EAAE,YAAY,CAAA;IACzB,MAAM,CAAC,EAAE,YAAY,CAAA;IACrB,OAAO,CAAC,EAAE,YAAY,CAAA;IACtB,SAAS,CAAC,EAAE,YAAY,CAAA;IACxB,QAAQ,EAAE,MAAM,CAAA;IAChB,IAAI,EAAE,IAAI,CAAA;CACX"}
1
+ {"version":3,"file":"Job.d.ts","sourceRoot":"","sources":["../../../src/Job/Job.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAEhC,MAAM,MAAM,YAAY,GAAG,CAAC,GAAG,YAAY,EAAE,OAAO,EAAE,KAAK,IAAI,CAAA;AAE/D,MAAM,WAAW,GAAG;IAClB,IAAI,EAAE,MAAM,CAAA;IACZ,UAAU,CAAC,EAAE,YAAY,CAAA;IACzB,MAAM,CAAC,EAAE,YAAY,CAAA;IACrB,OAAO,CAAC,EAAE,YAAY,CAAA;IACtB,SAAS,CAAC,EAAE,YAAY,CAAA;IACxB,QAAQ,EAAE,MAAM,CAAA;IAChB,IAAI,EAAE,IAAI,CAAA;CACX"}
@@ -1,4 +1,4 @@
1
- import { Task } from './Task';
1
+ import { Task } from './Task.js';
2
2
  export type VoidFunction = (...anyArguments: unknown[]) => void;
3
3
  export interface Job {
4
4
  name: string;
@@ -1 +1 @@
1
- {"version":3,"file":"Job.d.ts","sourceRoot":"","sources":["../../../src/Job/Job.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAE7B,MAAM,MAAM,YAAY,GAAG,CAAC,GAAG,YAAY,EAAE,OAAO,EAAE,KAAK,IAAI,CAAA;AAE/D,MAAM,WAAW,GAAG;IAClB,IAAI,EAAE,MAAM,CAAA;IACZ,UAAU,CAAC,EAAE,YAAY,CAAA;IACzB,MAAM,CAAC,EAAE,YAAY,CAAA;IACrB,OAAO,CAAC,EAAE,YAAY,CAAA;IACtB,SAAS,CAAC,EAAE,YAAY,CAAA;IACxB,QAAQ,EAAE,MAAM,CAAA;IAChB,IAAI,EAAE,IAAI,CAAA;CACX"}
1
+ {"version":3,"file":"Job.d.ts","sourceRoot":"","sources":["../../../src/Job/Job.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAEhC,MAAM,MAAM,YAAY,GAAG,CAAC,GAAG,YAAY,EAAE,OAAO,EAAE,KAAK,IAAI,CAAA;AAE/D,MAAM,WAAW,GAAG;IAClB,IAAI,EAAE,MAAM,CAAA;IACZ,UAAU,CAAC,EAAE,YAAY,CAAA;IACzB,MAAM,CAAC,EAAE,YAAY,CAAA;IACrB,OAAO,CAAC,EAAE,YAAY,CAAA;IACtB,SAAS,CAAC,EAAE,YAAY,CAAA;IACxB,QAAQ,EAAE,MAAM,CAAA;IAChB,IAAI,EAAE,IAAI,CAAA;CACX"}
@@ -1,4 +1,4 @@
1
- import { Job } from './Job';
1
+ import { Job } from './Job.js';
2
2
  export interface JobProvider {
3
3
  get jobs(): Job[];
4
4
  }
@@ -1 +1 @@
1
- {"version":3,"file":"JobProvider.d.ts","sourceRoot":"","sources":["../../../src/Job/JobProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAA;AAE3B,MAAM,WAAW,WAAW;IAC1B,IAAI,IAAI,IAAI,GAAG,EAAE,CAAA;CAClB"}
1
+ {"version":3,"file":"JobProvider.d.ts","sourceRoot":"","sources":["../../../src/Job/JobProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAA;AAE9B,MAAM,WAAW,WAAW;IAC1B,IAAI,IAAI,IAAI,GAAG,EAAE,CAAA;CAClB"}
@@ -1,4 +1,4 @@
1
- import { Job } from './Job';
1
+ import { Job } from './Job.js';
2
2
  export interface JobProvider {
3
3
  get jobs(): Job[];
4
4
  }
@@ -1 +1 @@
1
- {"version":3,"file":"JobProvider.d.ts","sourceRoot":"","sources":["../../../src/Job/JobProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAA;AAE3B,MAAM,WAAW,WAAW;IAC1B,IAAI,IAAI,IAAI,GAAG,EAAE,CAAA;CAClB"}
1
+ {"version":3,"file":"JobProvider.d.ts","sourceRoot":"","sources":["../../../src/Job/JobProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAA;AAE9B,MAAM,WAAW,WAAW;IAC1B,IAAI,IAAI,IAAI,GAAG,EAAE,CAAA;CAClB"}
@@ -1,4 +1,4 @@
1
- import { Job } from './Job';
1
+ import { Job } from './Job.js';
2
2
  export interface JobProvider {
3
3
  get jobs(): Job[];
4
4
  }
@@ -1 +1 @@
1
- {"version":3,"file":"JobProvider.d.ts","sourceRoot":"","sources":["../../../src/Job/JobProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAA;AAE3B,MAAM,WAAW,WAAW;IAC1B,IAAI,IAAI,IAAI,GAAG,EAAE,CAAA;CAClB"}
1
+ {"version":3,"file":"JobProvider.d.ts","sourceRoot":"","sources":["../../../src/Job/JobProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAA;AAE9B,MAAM,WAAW,WAAW;IAC1B,IAAI,IAAI,IAAI,GAAG,EAAE,CAAA;CAClB"}
@@ -1,3 +1,3 @@
1
- export * from './Job';
2
- export * from './JobProvider';
1
+ export * from './Job.js';
2
+ export * from './JobProvider.js';
3
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/Job/index.ts"],"names":[],"mappings":"AAAA,cAAc,OAAO,CAAA;AACrB,cAAc,eAAe,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/Job/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAA;AACxB,cAAc,kBAAkB,CAAA"}
@@ -1,3 +1,3 @@
1
- export * from './Job';
2
- export * from './JobProvider';
1
+ export * from './Job.js';
2
+ export * from './JobProvider.js';
3
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/Job/index.ts"],"names":[],"mappings":"AAAA,cAAc,OAAO,CAAA;AACrB,cAAc,eAAe,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/Job/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAA;AACxB,cAAc,kBAAkB,CAAA"}
@@ -1,3 +1,3 @@
1
- export * from './Job';
2
- export * from './JobProvider';
1
+ export * from './Job.js';
2
+ export * from './JobProvider.js';
3
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/Job/index.ts"],"names":[],"mappings":"AAAA,cAAc,OAAO,CAAA;AACrB,cAAc,eAAe,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/Job/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAA;AACxB,cAAc,kBAAkB,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/index.ts","../../src/dump.ts","../../src/IdLogger.ts","../../src/is-ip/ip-regex.ts","../../src/is-ip/is-ip.ts"],"sourcesContent":["export * from './dump'\nexport * from './IdLogger'\nexport * from './is-ip'\nexport * from './Job'\n","export const dump = (object: unknown) => {\n const cache: unknown[] = []\n return JSON.stringify(\n object,\n (key, value) => {\n if (typeof value === 'object' && value !== null) {\n // Duplicate reference found, discard key\n if (cache.includes(value)) {\n return '[circular]'\n }\n\n // Store value in our collection\n cache.push(value)\n }\n return value\n },\n 2,\n )\n}\n","import { getFunctionName, Logger } from '@xylabs/logger'\n\n/** @deprecated use from @xylabs/logger instead */\nexport class IdLogger implements Logger {\n private _id?: () => string\n private _logger: Logger\n\n constructor(logger: Logger, id?: () => string) {\n this._logger = logger\n this._id = id\n }\n\n set id(id: string) {\n this._id = () => id\n }\n\n debug(message?: unknown) {\n this._logger?.debug(this.generate(message, getFunctionName(3)))\n }\n error(message?: unknown) {\n this._logger?.error(this.generate(message, getFunctionName(3)))\n }\n info(message?: unknown) {\n this._logger?.info(this.generate(message, getFunctionName(3)))\n }\n log(message?: unknown) {\n this._logger?.log(this.generate(message, getFunctionName(3)))\n }\n warn(message?: unknown) {\n this._logger?.warn(this.generate(message, getFunctionName(3)))\n }\n\n private generate(message?: unknown, tag?: string) {\n return `${tag} ${this._id ? `[${this._id}] ` : ''}${\n typeof message === 'string' ? message\n : typeof message === 'object' ? JSON.stringify(message, undefined, 2)\n : `${message}`\n }`\n }\n}\n","const word = String.raw`[a-fA-F\\d:]`\n\nexport interface Options {\n readonly exact?: boolean\n readonly includeBoundaries?: boolean\n}\n\nconst boundary = (options: Options) => (options && options.includeBoundaries ? `(?:(?<=\\\\s|^)(?=${word})|(?<=${word})(?=\\\\s|$))` : '')\n\nconst v4 = String.raw`(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)){3}`\n\nconst v6segment = String.raw`[a-fA-F\\d]{1,4}`\n\nconst v6 = `\n(?:\n(?:${v6segment}:){7}(?:${v6segment}|:)| // 1:2:3:4:5:6:7:: 1:2:3:4:5:6:7:8\n(?:${v6segment}:){6}(?:${v4}|:${v6segment}|:)| // 1:2:3:4:5:6:: 1:2:3:4:5:6::8 1:2:3:4:5:6::8 1:2:3:4:5:6::1.2.3.4\n(?:${v6segment}:){5}(?::${v4}|(?::${v6segment}){1,2}|:)| // 1:2:3:4:5:: 1:2:3:4:5::7:8 1:2:3:4:5::8 1:2:3:4:5::7:1.2.3.4\n(?:${v6segment}:){4}(?:(?::${v6segment}){0,1}:${v4}|(?::${v6segment}){1,3}|:)| // 1:2:3:4:: 1:2:3:4::6:7:8 1:2:3:4::8 1:2:3:4::6:7:1.2.3.4\n(?:${v6segment}:){3}(?:(?::${v6segment}){0,2}:${v4}|(?::${v6segment}){1,4}|:)| // 1:2:3:: 1:2:3::5:6:7:8 1:2:3::8 1:2:3::5:6:7:1.2.3.4\n(?:${v6segment}:){2}(?:(?::${v6segment}){0,3}:${v4}|(?::${v6segment}){1,5}|:)| // 1:2:: 1:2::4:5:6:7:8 1:2::8 1:2::4:5:6:7:1.2.3.4\n(?:${v6segment}:){1}(?:(?::${v6segment}){0,4}:${v4}|(?::${v6segment}){1,6}|:)| // 1:: 1::3:4:5:6:7:8 1::8 1::3:4:5:6:7:1.2.3.4\n(?::(?:(?::${v6segment}){0,5}:${v4}|(?::${v6segment}){1,7}|:)) // ::2:3:4:5:6:7:8 ::2:3:4:5:6:7:8 ::8 ::1.2.3.4\n)(?:%[0-9a-zA-Z]{1,})? // %eth0 %1\n`\n .replaceAll(/\\s*\\/\\/.*$/gm, '')\n .replaceAll('\\n', '')\n .trim()\n\n// Pre-compile only the exact regexes because adding a global flag make regexes stateful\nconst v46Exact = new RegExp(`(?:^${v4}$)|(?:^${v6}$)`)\nconst v4exact = new RegExp(`^${v4}$`)\nconst v6exact = new RegExp(`^${v6}$`)\n\nexport const ipRegex = (options: Options) =>\n options && options.exact ?\n v46Exact\n : new RegExp(`(?:${boundary(options)}${v4}${boundary(options)})|(?:${boundary(options)}${v6}${boundary(options)})`, 'g')\n\nipRegex.v4 = (options: Options) => (options && options.exact ? v4exact : new RegExp(`${boundary(options)}${v4}${boundary(options)}`, 'g'))\nipRegex.v6 = (options: Options) => (options && options.exact ? v6exact : new RegExp(`${boundary(options)}${v6}${boundary(options)}`, 'g'))\n","import { ipRegex } from './ip-regex'\n\nexport function isIP(value: string) {\n return ipRegex({ exact: true }).test(value)\n}\n\nexport function isIPv6(value: string) {\n return ipRegex.v6({ exact: true }).test(value)\n}\n\nexport function isIPv4(value: string) {\n return ipRegex.v4({ exact: true }).test(value)\n}\n\nexport function ipVersion(value: string) {\n return (\n isIP(value) ?\n isIPv6(value) ? 6\n : 4\n : undefined\n )\n}\n"],"mappings":"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","names":["dump","object","cache","JSON","stringify","key","value","includes","push","IdLogger","_id","_logger","constructor","logger","id","debug","message","generate","getFunctionName","error","info","log","warn","tag","JSON","stringify","undefined","word","String","raw","boundary","options","includeBoundaries","v4","v6segment","v6","replaceAll","trim","v46Exact","RegExp","v4exact","v6exact","ipRegex","exact","isIP","value","ipRegex","exact","test","isIPv6","v6","isIPv4","v4","ipVersion","undefined"]}
1
+ {"version":3,"sources":["../../src/index.ts","../../src/dump.ts","../../src/IdLogger.ts","../../src/is-ip/ip-regex.ts","../../src/is-ip/is-ip.ts"],"sourcesContent":["export * from './dump.js'\nexport * from './IdLogger.js'\nexport * from './is-ip/index.js'\nexport * from './Job/index.js'\n","export const dump = (object: unknown) => {\n const cache: unknown[] = []\n return JSON.stringify(\n object,\n (key, value) => {\n if (typeof value === 'object' && value !== null) {\n // Duplicate reference found, discard key\n if (cache.includes(value)) {\n return '[circular]'\n }\n\n // Store value in our collection\n cache.push(value)\n }\n return value\n },\n 2,\n )\n}\n","import { getFunctionName, Logger } from '@xylabs/logger'\n\n/** @deprecated use from @xylabs/logger instead */\nexport class IdLogger implements Logger {\n private _id?: () => string\n private _logger: Logger\n\n constructor(logger: Logger, id?: () => string) {\n this._logger = logger\n this._id = id\n }\n\n set id(id: string) {\n this._id = () => id\n }\n\n debug(message?: unknown) {\n this._logger?.debug(this.generate(message, getFunctionName(3)))\n }\n error(message?: unknown) {\n this._logger?.error(this.generate(message, getFunctionName(3)))\n }\n info(message?: unknown) {\n this._logger?.info(this.generate(message, getFunctionName(3)))\n }\n log(message?: unknown) {\n this._logger?.log(this.generate(message, getFunctionName(3)))\n }\n warn(message?: unknown) {\n this._logger?.warn(this.generate(message, getFunctionName(3)))\n }\n\n private generate(message?: unknown, tag?: string) {\n return `${tag} ${this._id ? `[${this._id}] ` : ''}${\n typeof message === 'string' ? message\n : typeof message === 'object' ? JSON.stringify(message, undefined, 2)\n : `${message}`\n }`\n }\n}\n","const word = String.raw`[a-fA-F\\d:]`\n\nexport interface Options {\n readonly exact?: boolean\n readonly includeBoundaries?: boolean\n}\n\nconst boundary = (options: Options) => (options && options.includeBoundaries ? `(?:(?<=\\\\s|^)(?=${word})|(?<=${word})(?=\\\\s|$))` : '')\n\nconst v4 = String.raw`(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)){3}`\n\nconst v6segment = String.raw`[a-fA-F\\d]{1,4}`\n\nconst v6 = `\n(?:\n(?:${v6segment}:){7}(?:${v6segment}|:)| // 1:2:3:4:5:6:7:: 1:2:3:4:5:6:7:8\n(?:${v6segment}:){6}(?:${v4}|:${v6segment}|:)| // 1:2:3:4:5:6:: 1:2:3:4:5:6::8 1:2:3:4:5:6::8 1:2:3:4:5:6::1.2.3.4\n(?:${v6segment}:){5}(?::${v4}|(?::${v6segment}){1,2}|:)| // 1:2:3:4:5:: 1:2:3:4:5::7:8 1:2:3:4:5::8 1:2:3:4:5::7:1.2.3.4\n(?:${v6segment}:){4}(?:(?::${v6segment}){0,1}:${v4}|(?::${v6segment}){1,3}|:)| // 1:2:3:4:: 1:2:3:4::6:7:8 1:2:3:4::8 1:2:3:4::6:7:1.2.3.4\n(?:${v6segment}:){3}(?:(?::${v6segment}){0,2}:${v4}|(?::${v6segment}){1,4}|:)| // 1:2:3:: 1:2:3::5:6:7:8 1:2:3::8 1:2:3::5:6:7:1.2.3.4\n(?:${v6segment}:){2}(?:(?::${v6segment}){0,3}:${v4}|(?::${v6segment}){1,5}|:)| // 1:2:: 1:2::4:5:6:7:8 1:2::8 1:2::4:5:6:7:1.2.3.4\n(?:${v6segment}:){1}(?:(?::${v6segment}){0,4}:${v4}|(?::${v6segment}){1,6}|:)| // 1:: 1::3:4:5:6:7:8 1::8 1::3:4:5:6:7:1.2.3.4\n(?::(?:(?::${v6segment}){0,5}:${v4}|(?::${v6segment}){1,7}|:)) // ::2:3:4:5:6:7:8 ::2:3:4:5:6:7:8 ::8 ::1.2.3.4\n)(?:%[0-9a-zA-Z]{1,})? // %eth0 %1\n`\n .replaceAll(/\\s*\\/\\/.*$/gm, '')\n .replaceAll('\\n', '')\n .trim()\n\n// Pre-compile only the exact regexes because adding a global flag make regexes stateful\nconst v46Exact = new RegExp(`(?:^${v4}$)|(?:^${v6}$)`)\nconst v4exact = new RegExp(`^${v4}$`)\nconst v6exact = new RegExp(`^${v6}$`)\n\nexport const ipRegex = (options: Options) =>\n options && options.exact ?\n v46Exact\n : new RegExp(`(?:${boundary(options)}${v4}${boundary(options)})|(?:${boundary(options)}${v6}${boundary(options)})`, 'g')\n\nipRegex.v4 = (options: Options) => (options && options.exact ? v4exact : new RegExp(`${boundary(options)}${v4}${boundary(options)}`, 'g'))\nipRegex.v6 = (options: Options) => (options && options.exact ? v6exact : new RegExp(`${boundary(options)}${v6}${boundary(options)}`, 'g'))\n","import { ipRegex } from './ip-regex.js'\n\nexport function isIP(value: string) {\n return ipRegex({ exact: true }).test(value)\n}\n\nexport function isIPv6(value: string) {\n return ipRegex.v6({ exact: true }).test(value)\n}\n\nexport function isIPv4(value: string) {\n return ipRegex.v4({ exact: true }).test(value)\n}\n\nexport function ipVersion(value: string) {\n return (\n isIP(value) ?\n isIPv6(value) ? 6\n : 4\n : undefined\n )\n}\n"],"mappings":"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","names":["dump","object","cache","JSON","stringify","key","value","includes","push","IdLogger","_id","_logger","constructor","logger","id","debug","message","generate","getFunctionName","error","info","log","warn","tag","JSON","stringify","undefined","word","String","raw","boundary","options","includeBoundaries","v4","v6segment","v6","replaceAll","trim","v46Exact","RegExp","v4exact","v6exact","ipRegex","exact","isIP","value","ipRegex","exact","test","isIPv6","v6","isIPv4","v4","ipVersion","undefined"]}
@@ -1,5 +1,5 @@
1
- export * from './dump';
2
- export * from './IdLogger';
3
- export * from './is-ip';
4
- export * from './Job';
1
+ export * from './dump.js';
2
+ export * from './IdLogger.js';
3
+ export * from './is-ip/index.js';
4
+ export * from './Job/index.js';
5
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAA;AACtB,cAAc,YAAY,CAAA;AAC1B,cAAc,SAAS,CAAA;AACvB,cAAc,OAAO,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAA;AACzB,cAAc,eAAe,CAAA;AAC7B,cAAc,kBAAkB,CAAA;AAChC,cAAc,gBAAgB,CAAA"}
@@ -1,5 +1,5 @@
1
- export * from './dump';
2
- export * from './IdLogger';
3
- export * from './is-ip';
4
- export * from './Job';
1
+ export * from './dump.js';
2
+ export * from './IdLogger.js';
3
+ export * from './is-ip/index.js';
4
+ export * from './Job/index.js';
5
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAA;AACtB,cAAc,YAAY,CAAA;AAC1B,cAAc,SAAS,CAAA;AACvB,cAAc,OAAO,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAA;AACzB,cAAc,eAAe,CAAA;AAC7B,cAAc,kBAAkB,CAAA;AAChC,cAAc,gBAAgB,CAAA"}
@@ -1,5 +1,5 @@
1
- export * from './dump';
2
- export * from './IdLogger';
3
- export * from './is-ip';
4
- export * from './Job';
1
+ export * from './dump.js';
2
+ export * from './IdLogger.js';
3
+ export * from './is-ip/index.js';
4
+ export * from './Job/index.js';
5
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAA;AACtB,cAAc,YAAY,CAAA;AAC1B,cAAc,SAAS,CAAA;AACvB,cAAc,OAAO,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAA;AACzB,cAAc,eAAe,CAAA;AAC7B,cAAc,kBAAkB,CAAA;AAChC,cAAc,gBAAgB,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/dump.ts","../../src/IdLogger.ts","../../src/is-ip/ip-regex.ts","../../src/is-ip/is-ip.ts"],"sourcesContent":["export const dump = (object: unknown) => {\n const cache: unknown[] = []\n return JSON.stringify(\n object,\n (key, value) => {\n if (typeof value === 'object' && value !== null) {\n // Duplicate reference found, discard key\n if (cache.includes(value)) {\n return '[circular]'\n }\n\n // Store value in our collection\n cache.push(value)\n }\n return value\n },\n 2,\n )\n}\n","import { getFunctionName, Logger } from '@xylabs/logger'\n\n/** @deprecated use from @xylabs/logger instead */\nexport class IdLogger implements Logger {\n private _id?: () => string\n private _logger: Logger\n\n constructor(logger: Logger, id?: () => string) {\n this._logger = logger\n this._id = id\n }\n\n set id(id: string) {\n this._id = () => id\n }\n\n debug(message?: unknown) {\n this._logger?.debug(this.generate(message, getFunctionName(3)))\n }\n error(message?: unknown) {\n this._logger?.error(this.generate(message, getFunctionName(3)))\n }\n info(message?: unknown) {\n this._logger?.info(this.generate(message, getFunctionName(3)))\n }\n log(message?: unknown) {\n this._logger?.log(this.generate(message, getFunctionName(3)))\n }\n warn(message?: unknown) {\n this._logger?.warn(this.generate(message, getFunctionName(3)))\n }\n\n private generate(message?: unknown, tag?: string) {\n return `${tag} ${this._id ? `[${this._id}] ` : ''}${\n typeof message === 'string' ? message\n : typeof message === 'object' ? JSON.stringify(message, undefined, 2)\n : `${message}`\n }`\n }\n}\n","const word = String.raw`[a-fA-F\\d:]`\n\nexport interface Options {\n readonly exact?: boolean\n readonly includeBoundaries?: boolean\n}\n\nconst boundary = (options: Options) => (options && options.includeBoundaries ? `(?:(?<=\\\\s|^)(?=${word})|(?<=${word})(?=\\\\s|$))` : '')\n\nconst v4 = String.raw`(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)){3}`\n\nconst v6segment = String.raw`[a-fA-F\\d]{1,4}`\n\nconst v6 = `\n(?:\n(?:${v6segment}:){7}(?:${v6segment}|:)| // 1:2:3:4:5:6:7:: 1:2:3:4:5:6:7:8\n(?:${v6segment}:){6}(?:${v4}|:${v6segment}|:)| // 1:2:3:4:5:6:: 1:2:3:4:5:6::8 1:2:3:4:5:6::8 1:2:3:4:5:6::1.2.3.4\n(?:${v6segment}:){5}(?::${v4}|(?::${v6segment}){1,2}|:)| // 1:2:3:4:5:: 1:2:3:4:5::7:8 1:2:3:4:5::8 1:2:3:4:5::7:1.2.3.4\n(?:${v6segment}:){4}(?:(?::${v6segment}){0,1}:${v4}|(?::${v6segment}){1,3}|:)| // 1:2:3:4:: 1:2:3:4::6:7:8 1:2:3:4::8 1:2:3:4::6:7:1.2.3.4\n(?:${v6segment}:){3}(?:(?::${v6segment}){0,2}:${v4}|(?::${v6segment}){1,4}|:)| // 1:2:3:: 1:2:3::5:6:7:8 1:2:3::8 1:2:3::5:6:7:1.2.3.4\n(?:${v6segment}:){2}(?:(?::${v6segment}){0,3}:${v4}|(?::${v6segment}){1,5}|:)| // 1:2:: 1:2::4:5:6:7:8 1:2::8 1:2::4:5:6:7:1.2.3.4\n(?:${v6segment}:){1}(?:(?::${v6segment}){0,4}:${v4}|(?::${v6segment}){1,6}|:)| // 1:: 1::3:4:5:6:7:8 1::8 1::3:4:5:6:7:1.2.3.4\n(?::(?:(?::${v6segment}){0,5}:${v4}|(?::${v6segment}){1,7}|:)) // ::2:3:4:5:6:7:8 ::2:3:4:5:6:7:8 ::8 ::1.2.3.4\n)(?:%[0-9a-zA-Z]{1,})? // %eth0 %1\n`\n .replaceAll(/\\s*\\/\\/.*$/gm, '')\n .replaceAll('\\n', '')\n .trim()\n\n// Pre-compile only the exact regexes because adding a global flag make regexes stateful\nconst v46Exact = new RegExp(`(?:^${v4}$)|(?:^${v6}$)`)\nconst v4exact = new RegExp(`^${v4}$`)\nconst v6exact = new RegExp(`^${v6}$`)\n\nexport const ipRegex = (options: Options) =>\n options && options.exact ?\n v46Exact\n : new RegExp(`(?:${boundary(options)}${v4}${boundary(options)})|(?:${boundary(options)}${v6}${boundary(options)})`, 'g')\n\nipRegex.v4 = (options: Options) => (options && options.exact ? v4exact : new RegExp(`${boundary(options)}${v4}${boundary(options)}`, 'g'))\nipRegex.v6 = (options: Options) => (options && options.exact ? v6exact : new RegExp(`${boundary(options)}${v6}${boundary(options)}`, 'g'))\n","import { ipRegex } from './ip-regex'\n\nexport function isIP(value: string) {\n return ipRegex({ exact: true }).test(value)\n}\n\nexport function isIPv6(value: string) {\n return ipRegex.v6({ exact: true }).test(value)\n}\n\nexport function isIPv4(value: string) {\n return ipRegex.v4({ exact: true }).test(value)\n}\n\nexport function ipVersion(value: string) {\n return (\n isIP(value) ?\n isIPv6(value) ? 6\n : 4\n : undefined\n )\n}\n"],"mappings":"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","names":["dump","object","cache","JSON","stringify","key","value","includes","push","getFunctionName","IdLogger","_id","_logger","constructor","logger","id","debug","message","generate","getFunctionName","error","info","log","warn","tag","JSON","stringify","undefined","word","String","raw","boundary","options","includeBoundaries","v4","v6segment","v6","replaceAll","trim","v46Exact","RegExp","v4exact","v6exact","ipRegex","exact","isIP","value","ipRegex","exact","test","isIPv6","v6","isIPv4","v4","ipVersion","undefined"]}
1
+ {"version":3,"sources":["../../src/dump.ts","../../src/IdLogger.ts","../../src/is-ip/ip-regex.ts","../../src/is-ip/is-ip.ts"],"sourcesContent":["export const dump = (object: unknown) => {\n const cache: unknown[] = []\n return JSON.stringify(\n object,\n (key, value) => {\n if (typeof value === 'object' && value !== null) {\n // Duplicate reference found, discard key\n if (cache.includes(value)) {\n return '[circular]'\n }\n\n // Store value in our collection\n cache.push(value)\n }\n return value\n },\n 2,\n )\n}\n","import { getFunctionName, Logger } from '@xylabs/logger'\n\n/** @deprecated use from @xylabs/logger instead */\nexport class IdLogger implements Logger {\n private _id?: () => string\n private _logger: Logger\n\n constructor(logger: Logger, id?: () => string) {\n this._logger = logger\n this._id = id\n }\n\n set id(id: string) {\n this._id = () => id\n }\n\n debug(message?: unknown) {\n this._logger?.debug(this.generate(message, getFunctionName(3)))\n }\n error(message?: unknown) {\n this._logger?.error(this.generate(message, getFunctionName(3)))\n }\n info(message?: unknown) {\n this._logger?.info(this.generate(message, getFunctionName(3)))\n }\n log(message?: unknown) {\n this._logger?.log(this.generate(message, getFunctionName(3)))\n }\n warn(message?: unknown) {\n this._logger?.warn(this.generate(message, getFunctionName(3)))\n }\n\n private generate(message?: unknown, tag?: string) {\n return `${tag} ${this._id ? `[${this._id}] ` : ''}${\n typeof message === 'string' ? message\n : typeof message === 'object' ? JSON.stringify(message, undefined, 2)\n : `${message}`\n }`\n }\n}\n","const word = String.raw`[a-fA-F\\d:]`\n\nexport interface Options {\n readonly exact?: boolean\n readonly includeBoundaries?: boolean\n}\n\nconst boundary = (options: Options) => (options && options.includeBoundaries ? `(?:(?<=\\\\s|^)(?=${word})|(?<=${word})(?=\\\\s|$))` : '')\n\nconst v4 = String.raw`(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)){3}`\n\nconst v6segment = String.raw`[a-fA-F\\d]{1,4}`\n\nconst v6 = `\n(?:\n(?:${v6segment}:){7}(?:${v6segment}|:)| // 1:2:3:4:5:6:7:: 1:2:3:4:5:6:7:8\n(?:${v6segment}:){6}(?:${v4}|:${v6segment}|:)| // 1:2:3:4:5:6:: 1:2:3:4:5:6::8 1:2:3:4:5:6::8 1:2:3:4:5:6::1.2.3.4\n(?:${v6segment}:){5}(?::${v4}|(?::${v6segment}){1,2}|:)| // 1:2:3:4:5:: 1:2:3:4:5::7:8 1:2:3:4:5::8 1:2:3:4:5::7:1.2.3.4\n(?:${v6segment}:){4}(?:(?::${v6segment}){0,1}:${v4}|(?::${v6segment}){1,3}|:)| // 1:2:3:4:: 1:2:3:4::6:7:8 1:2:3:4::8 1:2:3:4::6:7:1.2.3.4\n(?:${v6segment}:){3}(?:(?::${v6segment}){0,2}:${v4}|(?::${v6segment}){1,4}|:)| // 1:2:3:: 1:2:3::5:6:7:8 1:2:3::8 1:2:3::5:6:7:1.2.3.4\n(?:${v6segment}:){2}(?:(?::${v6segment}){0,3}:${v4}|(?::${v6segment}){1,5}|:)| // 1:2:: 1:2::4:5:6:7:8 1:2::8 1:2::4:5:6:7:1.2.3.4\n(?:${v6segment}:){1}(?:(?::${v6segment}){0,4}:${v4}|(?::${v6segment}){1,6}|:)| // 1:: 1::3:4:5:6:7:8 1::8 1::3:4:5:6:7:1.2.3.4\n(?::(?:(?::${v6segment}){0,5}:${v4}|(?::${v6segment}){1,7}|:)) // ::2:3:4:5:6:7:8 ::2:3:4:5:6:7:8 ::8 ::1.2.3.4\n)(?:%[0-9a-zA-Z]{1,})? // %eth0 %1\n`\n .replaceAll(/\\s*\\/\\/.*$/gm, '')\n .replaceAll('\\n', '')\n .trim()\n\n// Pre-compile only the exact regexes because adding a global flag make regexes stateful\nconst v46Exact = new RegExp(`(?:^${v4}$)|(?:^${v6}$)`)\nconst v4exact = new RegExp(`^${v4}$`)\nconst v6exact = new RegExp(`^${v6}$`)\n\nexport const ipRegex = (options: Options) =>\n options && options.exact ?\n v46Exact\n : new RegExp(`(?:${boundary(options)}${v4}${boundary(options)})|(?:${boundary(options)}${v6}${boundary(options)})`, 'g')\n\nipRegex.v4 = (options: Options) => (options && options.exact ? v4exact : new RegExp(`${boundary(options)}${v4}${boundary(options)}`, 'g'))\nipRegex.v6 = (options: Options) => (options && options.exact ? v6exact : new RegExp(`${boundary(options)}${v6}${boundary(options)}`, 'g'))\n","import { ipRegex } from './ip-regex.js'\n\nexport function isIP(value: string) {\n return ipRegex({ exact: true }).test(value)\n}\n\nexport function isIPv6(value: string) {\n return ipRegex.v6({ exact: true }).test(value)\n}\n\nexport function isIPv4(value: string) {\n return ipRegex.v4({ exact: true }).test(value)\n}\n\nexport function ipVersion(value: string) {\n return (\n isIP(value) ?\n isIPv6(value) ? 6\n : 4\n : undefined\n )\n}\n"],"mappings":"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","names":["dump","object","cache","JSON","stringify","key","value","includes","push","getFunctionName","IdLogger","_id","_logger","constructor","logger","id","debug","message","generate","getFunctionName","error","info","log","warn","tag","JSON","stringify","undefined","word","String","raw","boundary","options","includeBoundaries","v4","v6segment","v6","replaceAll","trim","v46Exact","RegExp","v4exact","v6exact","ipRegex","exact","isIP","value","ipRegex","exact","test","isIPv6","v6","isIPv4","v4","ipVersion","undefined"]}
@@ -1,2 +1,2 @@
1
- export * from './is-ip';
1
+ export * from './is-ip.js';
2
2
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/is-ip/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/is-ip/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAA"}
@@ -1,2 +1,2 @@
1
- export * from './is-ip';
1
+ export * from './is-ip.js';
2
2
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/is-ip/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/is-ip/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAA"}
@@ -1,2 +1,2 @@
1
- export * from './is-ip';
1
+ export * from './is-ip.js';
2
2
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/is-ip/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/is-ip/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAA"}
package/package.json CHANGED
@@ -11,7 +11,7 @@
11
11
  },
12
12
  "description": "Primary SDK for using XYO Protocol 2.0",
13
13
  "dependencies": {
14
- "@xylabs/logger": "^3.5.3"
14
+ "@xylabs/logger": "^3.5.9"
15
15
  },
16
16
  "devDependencies": {
17
17
  "@xylabs/ts-scripts-yarn3": "^3.11.12",
@@ -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.109.1",
59
+ "version": "2.110.1",
60
60
  "type": "module"
61
61
  }
package/src/Job/Job.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { Task } from './Task'
1
+ import { Task } from './Task.js'
2
2
 
3
3
  export type VoidFunction = (...anyArguments: unknown[]) => void
4
4
 
@@ -1,4 +1,4 @@
1
- import { Job } from './Job'
1
+ import { Job } from './Job.js'
2
2
 
3
3
  export interface JobProvider {
4
4
  get jobs(): Job[]
package/src/Job/index.ts CHANGED
@@ -1,2 +1,2 @@
1
- export * from './Job'
2
- export * from './JobProvider'
1
+ export * from './Job.js'
2
+ export * from './JobProvider.js'
package/src/index.ts CHANGED
@@ -1,4 +1,4 @@
1
- export * from './dump'
2
- export * from './IdLogger'
3
- export * from './is-ip'
4
- export * from './Job'
1
+ export * from './dump.js'
2
+ export * from './IdLogger.js'
3
+ export * from './is-ip/index.js'
4
+ export * from './Job/index.js'
@@ -1 +1 @@
1
- export * from './is-ip'
1
+ export * from './is-ip.js'
@@ -1,4 +1,4 @@
1
- import { ipRegex } from './ip-regex'
1
+ import { ipRegex } from './ip-regex.js'
2
2
 
3
3
  export function isIP(value: string) {
4
4
  return ipRegex({ exact: true }).test(value)