@rjweb/utils
Advanced tools
Comparing version 1.10.1 to 1.10.2
@@ -0,1 +1,6 @@ | ||
## 1.10.2 | ||
- Improve `dns.resolveHost` | ||
- Fix some IPv6 parsing issues | ||
## 1.10.1 | ||
@@ -2,0 +7,0 @@ |
@@ -1,1 +0,1 @@ | ||
window.navigationData = "data:application/octet-stream;base64,H4sIAAAAAAAAA52XbW/TMBDHv0teV8BGKdB3FQioxEPHpAppmibXuTVmiZ35oVtBfPc5id06i3MJfVnf/369O5/ty9XfRMOjTuYJkZLsk0lSEp3Zn4VITQ7qZb38ItNFbm13jKfJfDpJaMbyVAJP5ldHwA4k2cIRcWs41UxwD3GCNmw2/Tc5IODekLwfUJsR95wVTPe712bEXRKeiqLfv7EPAtgfpAYHCYaBQuwwRm3HAEITjQFqOwJQBimDNXZcrwPnlKtuG9nFUU0kQYl8B1+Eim5khQkkaBy3zP7xXmkouuEcbaOi2oL+VHnEQgpQXoZVVksg0eIGnEaEJsdBPwh5183MGUaltVwtUrumgrxoTpQKMAdJG3h2/i4I5tJsrL4f0tgxwrfFr5vlaj29+frj++cjaEckI5swrZawTXx93gXOxgJnQ0BqpK2eXq5ie+dhBxHSAal44LkgKcbxGgTDFB5KZUfdn29aDBHbuJHt7CE9vXxEaIgfdQ+o7PhRMMUGZOQk1OujDgLNCI+/XA7SCJAstsDt4xa/dB3DS055wBxi6AUrQVLbfwjBKdDHw/B4czaE2o5uiNj8Bqq7G9Ksj9qQFKD8IIqSyGhFHSlQYQfOqlZEqiFSrUETuzdgoJtXvTwqrYs2wN+TDeCii6kuyWvkuPkIYoesJwSmqyYUMlYMh/EStBZWy/g2GopdHxXK2l3GdeFltywO1ZZhr0gKVO7LaPs7llNgIygfYjjFiZeBg4y4DLzkEraFPbLR4eMZzUsRakZUhpAq8ykXlHMfHLGhzAmFhdpzimBCGd6FPfPdf8x2tDTRSBqCtWLN8gjU9Oxz4+8UaBIf7eXz037bMAnBxav3pU0ktLUh56/evz17E44oa5DK/nds2nEmZL4h0f4i6Czb86Wj8M8bzYqoW7XerdMTwmSYfKEOAAA=" | ||
window.navigationData = "data:application/octet-stream;base64,H4sIAAAAAAAAA52XbW/TMBDHv0teV8BKKdB3FQioxEPHpAppmiY3uTVmiZ35oV1BfPc5id04i3MJfVnf/365O5/t6/XfSMGjihYREYIco0lUEJWanzlPdAbyZbX8IlV5Zmz3lCXRYjaJ4pRmiQAWLa4bwB4E2UGDuNMsVpQzB7GCNmw++zc5IeBBk6wfUJkR94zmVPW7V2bEXRCW8Lzfv7YPAugfpAYnCYaBnO8xRmXHAFwRhQEqOwKQGimDMXZcbzznhMluG5nFUU0kQPJsD1+4DG5kifEkaBx31Hz4KBXk3XAa26iodqA+lR6hkDyUk2GVVQJIsLgepxbhyRm/QFpmdVRCB0GKYBAloDSiH2egDlzcd79vDaNCWK2XiVmTXlHjjEjpYU6SNvBi+s4L5kpvjb4fUtsxwrflr9vVejO7/frj++cGtCeCkq2fVkvYJr6edoHzscD5EDDWwlRPrdahPXOwkwhpv4QfWMZJgnGcBsFQiYdS2lH355sWQoQ2buRZcpCeg9QgFITvGQco7fhR0PkWROAkVOujDkKcEhZ+Ni2kFiBZ7ICZlzV841uGk5zzelrE0PNZgIhN/yEEq0BfLs3CzVkTKju6IXz7G2LV3ZB6fdSGJADFB54XRAQrakmeCjtwRrUmQg6RKg2a2IMGDd28quVRaV22Ae6erAGXXUx5Sd4gx81FEDpkPSFQVTYhF6FiWIyToLUwWsp2wVDM+qhQNvYyrgovumWxqLYMe0USiMWxCLa/ZVkFNv+yIYZVnHkZWMiIy8BJrmCXmyMbnHye0ZwUoaZEpgipNJ9zQVn3wfkeiozEsJRHf3bqYHwZ3oU9w+V/DJZxoYOR1ARjxZrlEWLds8+1v1WgSXw0l89P88eKCvAuXnUsTCK+rQ2Zvnr/9uKNP6JsQEjz7dC0Y03IfEOC/UXQQbrnb5bE/1spmgfdyvVunZ4AUG8TKR4PAAA=" |
@@ -1,1 +0,1 @@ | ||
window.searchData = "data:application/octet-stream;base64,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"; | ||
window.searchData = "data:application/octet-stream;base64,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"; |
@@ -36,20 +36,17 @@ "use strict"; | ||
var dns = __toESM(require("dns")); | ||
async function resolveHost(host) { | ||
async function resolveHost(host, prefer = "v4") { | ||
if ((0, import_network.isIP)(host)) | ||
return new import_network.IPAddress(host); | ||
try { | ||
const v4 = await dns.promises.resolve4(host); | ||
if (!v4.length) | ||
throw 1; | ||
return new import_network.IPAddress(v4[0]); | ||
} catch (e) { | ||
try { | ||
const v6 = await dns.promises.resolve6(host); | ||
if (!v6.length) | ||
throw 1; | ||
return new import_network.IPAddress(v6[0]); | ||
} catch (e2) { | ||
} | ||
} | ||
throw new Error(`No IP could be resolved for \`${host}\``); | ||
const [[v4], [v6]] = await Promise.all([ | ||
dns.promises.resolve4(host), | ||
dns.promises.resolve6(host) | ||
]); | ||
if (!v4 && !v6) | ||
throw new Error(`No IP could be resolved for \`${host}\``); | ||
if (prefer === "v4" && v4) | ||
return new import_network.IPAddress(v4); | ||
else if (prefer === "v6" && v6) | ||
return new import_network.IPAddress(v6); | ||
else | ||
return new import_network.IPAddress(v4 || v6); | ||
} | ||
@@ -56,0 +53,0 @@ // Annotate the CommonJS export names for ESM import in node: |
@@ -513,3 +513,3 @@ "use strict"; | ||
function isIP(ip, type = "v6 | v4") { | ||
if (type !== "v6") { | ||
if (type !== "v6" && !ip.includes(":")) { | ||
const res = checkV4(ip); | ||
@@ -556,3 +556,3 @@ if (res) | ||
function isSubnet(ip, type = "v6 | v4") { | ||
if (type !== "v6") { | ||
if (type !== "v6" && !ip.includes(":")) { | ||
const [content, mask] = ip.split("/"); | ||
@@ -559,0 +559,0 @@ if (mask) { |
{ | ||
"name": "@rjweb/utils", | ||
"version": "1.10.1", | ||
"version": "1.10.2", | ||
"description": "Easy and Lightweight Utilities", | ||
@@ -5,0 +5,0 @@ "module": "lib/esm/index.js", |
import { IPAddress, isIP } from "./network"; | ||
import * as dns from "dns"; | ||
async function resolveHost(host) { | ||
async function resolveHost(host, prefer = "v4") { | ||
if (isIP(host)) | ||
return new IPAddress(host); | ||
try { | ||
const v4 = await dns.promises.resolve4(host); | ||
if (!v4.length) | ||
throw 1; | ||
return new IPAddress(v4[0]); | ||
} catch (e) { | ||
try { | ||
const v6 = await dns.promises.resolve6(host); | ||
if (!v6.length) | ||
throw 1; | ||
return new IPAddress(v6[0]); | ||
} catch (e2) { | ||
} | ||
} | ||
throw new Error(`No IP could be resolved for \`${host}\``); | ||
const [[v4], [v6]] = await Promise.all([ | ||
dns.promises.resolve4(host), | ||
dns.promises.resolve6(host) | ||
]); | ||
if (!v4 && !v6) | ||
throw new Error(`No IP could be resolved for \`${host}\``); | ||
if (prefer === "v4" && v4) | ||
return new IPAddress(v4); | ||
else if (prefer === "v6" && v6) | ||
return new IPAddress(v6); | ||
else | ||
return new IPAddress(v4 || v6); | ||
} | ||
@@ -22,0 +19,0 @@ export { |
@@ -471,3 +471,3 @@ import * as net from "net"; | ||
function isIP(ip, type = "v6 | v4") { | ||
if (type !== "v6") { | ||
if (type !== "v6" && !ip.includes(":")) { | ||
const res = checkV4(ip); | ||
@@ -514,3 +514,3 @@ if (res) | ||
function isSubnet(ip, type = "v6 | v4") { | ||
if (type !== "v6") { | ||
if (type !== "v6" && !ip.includes(":")) { | ||
const [content, mask] = ip.split("/"); | ||
@@ -517,0 +517,0 @@ if (mask) { |
{ | ||
"name": "@rjweb/utils", | ||
"version": "1.10.1", | ||
"version": "1.10.2", | ||
"description": "Easy and Lightweight Utilities", | ||
@@ -5,0 +5,0 @@ "module": "lib/esm/index.js", |
@@ -81,4 +81,4 @@ /** | ||
* | ||
* array.random(arr, 2) // ['C'] | ||
* array.random(arr, 4) // ['A'] | ||
* array.random(arr, 2) // 'C' | ||
* array.random(arr, 4) // 'A' | ||
* ``` | ||
@@ -85,0 +85,0 @@ * @since 1.9.1 |
@@ -9,6 +9,7 @@ import { IPAddress } from "./network"; | ||
* await dns.resolveHost('1.1.1.1') // <IPAddress v4 1.1.1.1> | ||
* await dns.resolveHost('google.com') // <IPAddress v4 142.250.185.78> | ||
* await dns.resolveHost('google.com', 'v4') // <IPAddress v4 142.250.185.78> | ||
* await dns.resolveHost('google.com', 'v6') // <IPAddress v4 2a00:1450:400d:803::200e:> | ||
* ``` | ||
* @throws If no IP Could be resolved | ||
* @since 1.8.0 | ||
*/ export declare function resolveHost(host: string): Promise<IPAddress>; | ||
*/ export declare function resolveHost(host: string, prefer?: 'v4' | 'v6'): Promise<IPAddress>; |
@@ -239,3 +239,3 @@ /// <reference types="node" /> | ||
* (data, args) => { | ||
* retrun args.text | ||
* return args.text | ||
* } | ||
@@ -242,0 +242,0 @@ * ) |
{ | ||
"name": "@rjweb/utils", | ||
"version": "1.10.1", | ||
"version": "1.10.2", | ||
"description": "Easy and Lightweight Utilities", | ||
@@ -5,0 +5,0 @@ "module": "lib/esm/index.js", |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
AI-detected potential code anomaly
Supply chain riskAI has identified unusual behaviors that may pose a security risk.
Found 1 instance in 1 package
1755485
113
4
6347