@rjweb/utils
Advanced tools
Comparing version 1.11.4 to 1.12.0
@@ -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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"; |
@@ -79,3 +79,3 @@ "use strict"; | ||
else | ||
return input.slice(0, length).concat(end != null ? end : "..."); | ||
return input.slice(0, length).concat(end ?? "..."); | ||
} | ||
@@ -82,0 +82,0 @@ function equal(input) { |
@@ -57,3 +57,3 @@ "use strict"; | ||
return result[0]; | ||
} catch (e) { | ||
} catch { | ||
return null; | ||
@@ -60,0 +60,0 @@ } |
@@ -33,2 +33,3 @@ "use strict"; | ||
getFiles: () => getFiles, | ||
hash: () => hash, | ||
stream: () => stream | ||
@@ -40,13 +41,14 @@ }); | ||
var rl = __toESM(require("readline")); | ||
var crypto = __toESM(require("crypto")); | ||
var import__ = require("."); | ||
function getFiles(folder, options) { | ||
const cleanPath = path.resolve(folder); | ||
if (options == null ? void 0 : options.async) { | ||
if (options?.async) { | ||
return new Promise(async (resolve, reject) => { | ||
try { | ||
const dir = await fs.promises.readdir(cleanPath, { withFileTypes: (options == null ? void 0 : options.stat) || void 0 }); | ||
if (!(options == null ? void 0 : options.recursive)) | ||
const dir = await fs.promises.readdir(cleanPath, { withFileTypes: options?.stat || void 0 }); | ||
if (!options?.recursive) | ||
return resolve(dir); | ||
const files = []; | ||
if (options == null ? void 0 : options.stat) { | ||
if (options?.stat) { | ||
for (const f of dir) { | ||
@@ -56,3 +58,3 @@ const file = f; | ||
files.push(...await getFiles(path.join(folder, file.name), options)); | ||
} catch (e) { | ||
} catch { | ||
files.push(Object.assign(file, { name: path.join(folder, file.name) })); | ||
@@ -66,3 +68,3 @@ } | ||
files.push(...await getFiles(path.join(folder, file), options)); | ||
} catch (e) { | ||
} catch { | ||
files.push(path.join(folder, file)); | ||
@@ -78,7 +80,7 @@ } | ||
} else { | ||
const dir = fs.readdirSync(cleanPath, { withFileTypes: (options == null ? void 0 : options.stat) || void 0 }); | ||
if (!(options == null ? void 0 : options.recursive)) | ||
const dir = fs.readdirSync(cleanPath, { withFileTypes: options?.stat || void 0 }); | ||
if (!options?.recursive) | ||
return dir; | ||
const files = []; | ||
if (options == null ? void 0 : options.stat) { | ||
if (options?.stat) { | ||
for (const f of dir) { | ||
@@ -88,3 +90,3 @@ const file = f; | ||
files.push(...(0, import__.as)(getFiles(path.join(folder, file.name), options))); | ||
} catch (e) { | ||
} catch { | ||
files.push(Object.assign(file, { name: path.join(folder, file.name) })); | ||
@@ -98,3 +100,3 @@ } | ||
files.push(...(0, import__.as)(getFiles(path.join(folder, file), options))); | ||
} catch (e) { | ||
} catch { | ||
files.push(path.join(folder, file)); | ||
@@ -108,6 +110,5 @@ } | ||
function stream(file, options) { | ||
var _a, _b; | ||
const stream2 = fs.createReadStream(file, { | ||
start: (_a = options == null ? void 0 : options.slice) == null ? void 0 : _a.start, | ||
end: (_b = options == null ? void 0 : options.slice) == null ? void 0 : _b.end | ||
start: options?.slice?.start, | ||
end: options?.slice?.end | ||
}); | ||
@@ -120,6 +121,39 @@ return Object.assign(import__.stream.iterator(stream2), { | ||
} | ||
async function env(file) { | ||
const content = await fs.promises.readFile(file, "utf8"); | ||
return import__.string.env(content); | ||
function env(file, options) { | ||
if (options?.async ?? true) { | ||
return new Promise(async (resolve) => { | ||
const content = await fs.promises.readFile(file, "utf8"); | ||
return resolve(import__.string.env(content)); | ||
}); | ||
} else { | ||
const content = fs.readFileSync(file, "utf8"); | ||
return import__.string.env(content); | ||
} | ||
} | ||
async function hash(file, options) { | ||
const stream2 = fs.createReadStream(file); | ||
const pOptions = { | ||
algorithm: options?.algorithm ?? "sha256", | ||
salt: options?.salt, | ||
output: options?.output ?? "hex" | ||
}; | ||
const hash2 = pOptions.salt ? crypto.createHmac(pOptions.algorithm, pOptions.salt) : crypto.createHash(pOptions.algorithm); | ||
await new Promise((resolve, reject) => { | ||
stream2.on("data", (chunk) => { | ||
hash2.update(chunk); | ||
}); | ||
stream2.on("end", () => { | ||
resolve(null); | ||
}); | ||
stream2.on("error", (err) => { | ||
reject(err); | ||
}); | ||
}); | ||
let out; | ||
if (pOptions.output === "buffer") | ||
out = hash2.digest(); | ||
else | ||
out = hash2.digest(pOptions.output); | ||
return out; | ||
} | ||
// Annotate the CommonJS export names for ESM import in node: | ||
@@ -129,3 +163,4 @@ 0 && (module.exports = { | ||
getFiles, | ||
hash, | ||
stream | ||
}); |
@@ -55,8 +55,8 @@ "use strict"; | ||
* | ||
* const subnet = new network.Subnet('127.1/32') | ||
* const subnet = new network.Subnet('127.0.0.1/24') | ||
* subnet.type // 4 | ||
* | ||
* subnet.size() // 1n | ||
* subnet.first() // <IPAddress> | ||
* subnet.last() // <IPAddress> | ||
* subnet.size() // 255n | ||
* subnet.first() // <IPAddress v4 127.0.0.0> | ||
* subnet.last() // <IPAddress v4 127.0.0.255> | ||
* | ||
@@ -590,3 +590,3 @@ * for (const ip of subnet) { | ||
return false; | ||
} catch (e) { | ||
} catch { | ||
return false; | ||
@@ -632,3 +632,3 @@ } | ||
return new IPAddress(await ip.text()); | ||
} catch (e) { | ||
} catch { | ||
return null; | ||
@@ -669,3 +669,3 @@ } | ||
async return() { | ||
if (!(fetchIterator == null ? void 0 : fetchIterator.return)) | ||
if (!fetchIterator?.return) | ||
return { done: true, value: new Uint8Array(0) }; | ||
@@ -676,3 +676,3 @@ else | ||
async throw(e) { | ||
if (!(fetchIterator == null ? void 0 : fetchIterator.throw)) | ||
if (!fetchIterator?.throw) | ||
return { done: true, value: new Uint8Array(0) }; | ||
@@ -702,3 +702,3 @@ else | ||
async return() { | ||
if (!(fetchIterator == null ? void 0 : fetchIterator.return)) | ||
if (!fetchIterator?.return) | ||
return { done: true, value: "" }; | ||
@@ -709,3 +709,3 @@ else | ||
async throw(e) { | ||
if (!(fetchIterator == null ? void 0 : fetchIterator.throw)) | ||
if (!fetchIterator?.throw) | ||
return { done: true, value: "" }; | ||
@@ -712,0 +712,0 @@ else |
@@ -62,3 +62,3 @@ "use strict"; | ||
return handleObject(object, compare); | ||
} catch (e) { | ||
} catch { | ||
return false; | ||
@@ -65,0 +65,0 @@ } |
{ | ||
"name": "@rjweb/utils", | ||
"version": "1.11.4", | ||
"version": "1.12.0", | ||
"description": "Easy and Lightweight Utilities", | ||
@@ -39,7 +39,7 @@ "module": "lib/esm/index.js", | ||
"devDependencies": { | ||
"@rjweb/utils": "link:.", | ||
"@types/node": "^20.0.0", | ||
"esbuild": "^0.17.2", | ||
"typedoc": "^0.25.1", | ||
"typescript": "^5.1.0" | ||
"@rjweb/utils": "link:", | ||
"@types/node": "^20.11.28", | ||
"esbuild": "^0.20.2", | ||
"typedoc": "^0.25.12", | ||
"typescript": "^5.4.2" | ||
}, | ||
@@ -46,0 +46,0 @@ "dependencies": { |
@@ -32,5 +32,4 @@ "use strict"; | ||
this.onError = null; | ||
var _a; | ||
this.options = { | ||
wait: (_a = options == null ? void 0 : options.wait) != null ? _a : 5e3 | ||
wait: options?.wait ?? 5e3 | ||
}; | ||
@@ -104,3 +103,3 @@ this.nextRunScheduled = false; | ||
this.onFinish(item, result); | ||
} catch (e) { | ||
} catch { | ||
} | ||
@@ -117,3 +116,3 @@ const waiter = this.fnWaiters.find(([fn]) => Object.is(fn, item)); | ||
this.onError(item, err); | ||
} catch (e) { | ||
} catch { | ||
} | ||
@@ -120,0 +119,0 @@ const waiter = this.fnWaiters.find(([fn]) => Object.is(fn, item)); |
@@ -90,3 +90,3 @@ "use strict"; | ||
function size(amount, factor) { | ||
return new Size(amount, factor != null ? factor : 1024); | ||
return new Size(amount, factor ?? 1024); | ||
} |
@@ -65,4 +65,3 @@ "use strict"; | ||
const _generate = (options, pool) => { | ||
var _a; | ||
const optionsLength = (_a = options.length) != null ? _a : 12; | ||
const optionsLength = options.length ?? 12; | ||
const poolLength = pool.length; | ||
@@ -75,3 +74,2 @@ let password = ""; | ||
const _string = (options) => { | ||
var _a, _b; | ||
options = options || {}; | ||
@@ -107,3 +105,3 @@ if (!("length" in options)) | ||
; | ||
let i = (_b = (_a = options.exclude) == null ? void 0 : _a.length) != null ? _b : 0; | ||
let i = options.exclude?.length ?? 0; | ||
while (i--) { | ||
@@ -116,7 +114,6 @@ pool = pool.replace(options.exclude[i], ""); | ||
function hash(input, options) { | ||
var _a, _b; | ||
const pOptions = { | ||
algorithm: (_a = options == null ? void 0 : options.algorithm) != null ? _a : "sha256", | ||
salt: options == null ? void 0 : options.salt, | ||
output: (_b = options == null ? void 0 : options.output) != null ? _b : "hex" | ||
algorithm: options?.algorithm ?? "sha256", | ||
salt: options?.salt, | ||
output: options?.output ?? "hex" | ||
}; | ||
@@ -132,6 +129,5 @@ const hash2 = pOptions.salt ? crypto.createHmac(pOptions.algorithm, pOptions.salt).update(input) : crypto.createHash(pOptions.algorithm).update(input); | ||
function encrypt(input, key, options) { | ||
var _a, _b; | ||
const pOptions = { | ||
algorithm: (_a = options == null ? void 0 : options.algorithm) != null ? _a : "aes-256-cbc", | ||
output: (_b = options == null ? void 0 : options.output) != null ? _b : "hex" | ||
algorithm: options?.algorithm ?? "aes-256-cbc", | ||
output: options?.output ?? "hex" | ||
}; | ||
@@ -149,6 +145,5 @@ const iv = Buffer.alloc(16, 0); | ||
function decrypt(input, key, options) { | ||
var _a, _b; | ||
const pOptions = { | ||
algorithm: (_a = options == null ? void 0 : options.algorithm) != null ? _a : "aes-256-cbc", | ||
input: (_b = options == null ? void 0 : options.input) != null ? _b : "hex" | ||
algorithm: options?.algorithm ?? "aes-256-cbc", | ||
input: options?.input ?? "hex" | ||
}; | ||
@@ -214,3 +209,2 @@ const iv = Buffer.alloc(16, 0); | ||
await replaceAsync(input, /{{(\w*)+(\(.*?\))?}}/g, async (match) => { | ||
var _a, _b; | ||
const slicedMatch = match.slice(2, -2); | ||
@@ -227,3 +221,3 @@ const bracketIndex = slicedMatch.indexOf("("); | ||
throw `Required Argument \`${key}\` not supplied to \`${name}\``; | ||
parsedArgs[key] = (_b = (_a = args[index]) == null ? void 0 : _a.trim()) == null ? void 0 : _b.replaceAll("\\,", ","); | ||
parsedArgs[key] = args[index]?.trim()?.replaceAll("\\,", ","); | ||
} | ||
@@ -251,3 +245,2 @@ let endEarly = null; | ||
return replaceAsync(input, /{{(\w*)+(\(.*?\))?}}/g, async (match) => { | ||
var _a, _b; | ||
const slicedMatch = match.slice(2, -2); | ||
@@ -265,3 +258,3 @@ const bracketIndex = slicedMatch.indexOf("("); | ||
return match; | ||
parsedArgs[key] = (_b = (_a = args[index]) == null ? void 0 : _a.trim()) == null ? void 0 : _b.replaceAll("\\,", ","); | ||
parsedArgs[key] = args[index]?.trim()?.replaceAll("\\,", ","); | ||
} | ||
@@ -277,3 +270,3 @@ let endEarly = false; | ||
return result; | ||
} catch (e) { | ||
} catch { | ||
return match; | ||
@@ -280,0 +273,0 @@ } |
@@ -53,5 +53,4 @@ "use strict"; | ||
function execute(command, options) { | ||
var _a; | ||
const pOptions = { | ||
async: (_a = options == null ? void 0 : options.async) != null ? _a : false | ||
async: options?.async ?? false | ||
}; | ||
@@ -58,0 +57,0 @@ if (pOptions.async) { |
@@ -39,3 +39,3 @@ import * as number from "./number"; | ||
else | ||
return input.slice(0, length).concat(end != null ? end : "..."); | ||
return input.slice(0, length).concat(end ?? "..."); | ||
} | ||
@@ -42,0 +42,0 @@ function equal(input) { |
@@ -23,3 +23,3 @@ import { IPAddress, isIP } from "./network"; | ||
return result[0]; | ||
} catch (e) { | ||
} catch { | ||
return null; | ||
@@ -26,0 +26,0 @@ } |
import * as fs from "fs"; | ||
import * as path from "path"; | ||
import * as rl from "readline"; | ||
import * as crypto from "crypto"; | ||
import { as, stream as _stream, string } from "."; | ||
function getFiles(folder, options) { | ||
const cleanPath = path.resolve(folder); | ||
if (options == null ? void 0 : options.async) { | ||
if (options?.async) { | ||
return new Promise(async (resolve, reject) => { | ||
try { | ||
const dir = await fs.promises.readdir(cleanPath, { withFileTypes: (options == null ? void 0 : options.stat) || void 0 }); | ||
if (!(options == null ? void 0 : options.recursive)) | ||
const dir = await fs.promises.readdir(cleanPath, { withFileTypes: options?.stat || void 0 }); | ||
if (!options?.recursive) | ||
return resolve(dir); | ||
const files = []; | ||
if (options == null ? void 0 : options.stat) { | ||
if (options?.stat) { | ||
for (const f of dir) { | ||
@@ -19,3 +20,3 @@ const file = f; | ||
files.push(...await getFiles(path.join(folder, file.name), options)); | ||
} catch (e) { | ||
} catch { | ||
files.push(Object.assign(file, { name: path.join(folder, file.name) })); | ||
@@ -29,3 +30,3 @@ } | ||
files.push(...await getFiles(path.join(folder, file), options)); | ||
} catch (e) { | ||
} catch { | ||
files.push(path.join(folder, file)); | ||
@@ -41,7 +42,7 @@ } | ||
} else { | ||
const dir = fs.readdirSync(cleanPath, { withFileTypes: (options == null ? void 0 : options.stat) || void 0 }); | ||
if (!(options == null ? void 0 : options.recursive)) | ||
const dir = fs.readdirSync(cleanPath, { withFileTypes: options?.stat || void 0 }); | ||
if (!options?.recursive) | ||
return dir; | ||
const files = []; | ||
if (options == null ? void 0 : options.stat) { | ||
if (options?.stat) { | ||
for (const f of dir) { | ||
@@ -51,3 +52,3 @@ const file = f; | ||
files.push(...as(getFiles(path.join(folder, file.name), options))); | ||
} catch (e) { | ||
} catch { | ||
files.push(Object.assign(file, { name: path.join(folder, file.name) })); | ||
@@ -61,3 +62,3 @@ } | ||
files.push(...as(getFiles(path.join(folder, file), options))); | ||
} catch (e) { | ||
} catch { | ||
files.push(path.join(folder, file)); | ||
@@ -71,6 +72,5 @@ } | ||
function stream(file, options) { | ||
var _a, _b; | ||
const stream2 = fs.createReadStream(file, { | ||
start: (_a = options == null ? void 0 : options.slice) == null ? void 0 : _a.start, | ||
end: (_b = options == null ? void 0 : options.slice) == null ? void 0 : _b.end | ||
start: options?.slice?.start, | ||
end: options?.slice?.end | ||
}); | ||
@@ -83,10 +83,44 @@ return Object.assign(_stream.iterator(stream2), { | ||
} | ||
async function env(file) { | ||
const content = await fs.promises.readFile(file, "utf8"); | ||
return string.env(content); | ||
function env(file, options) { | ||
if (options?.async ?? true) { | ||
return new Promise(async (resolve) => { | ||
const content = await fs.promises.readFile(file, "utf8"); | ||
return resolve(string.env(content)); | ||
}); | ||
} else { | ||
const content = fs.readFileSync(file, "utf8"); | ||
return string.env(content); | ||
} | ||
} | ||
async function hash(file, options) { | ||
const stream2 = fs.createReadStream(file); | ||
const pOptions = { | ||
algorithm: options?.algorithm ?? "sha256", | ||
salt: options?.salt, | ||
output: options?.output ?? "hex" | ||
}; | ||
const hash2 = pOptions.salt ? crypto.createHmac(pOptions.algorithm, pOptions.salt) : crypto.createHash(pOptions.algorithm); | ||
await new Promise((resolve, reject) => { | ||
stream2.on("data", (chunk) => { | ||
hash2.update(chunk); | ||
}); | ||
stream2.on("end", () => { | ||
resolve(null); | ||
}); | ||
stream2.on("error", (err) => { | ||
reject(err); | ||
}); | ||
}); | ||
let out; | ||
if (pOptions.output === "buffer") | ||
out = hash2.digest(); | ||
else | ||
out = hash2.digest(pOptions.output); | ||
return out; | ||
} | ||
export { | ||
env, | ||
getFiles, | ||
hash, | ||
stream | ||
}; |
@@ -13,8 +13,8 @@ import * as net from "net"; | ||
* | ||
* const subnet = new network.Subnet('127.1/32') | ||
* const subnet = new network.Subnet('127.0.0.1/24') | ||
* subnet.type // 4 | ||
* | ||
* subnet.size() // 1n | ||
* subnet.first() // <IPAddress> | ||
* subnet.last() // <IPAddress> | ||
* subnet.size() // 255n | ||
* subnet.first() // <IPAddress v4 127.0.0.0> | ||
* subnet.last() // <IPAddress v4 127.0.0.255> | ||
* | ||
@@ -548,3 +548,3 @@ * for (const ip of subnet) { | ||
return false; | ||
} catch (e) { | ||
} catch { | ||
return false; | ||
@@ -590,3 +590,3 @@ } | ||
return new IPAddress(await ip.text()); | ||
} catch (e) { | ||
} catch { | ||
return null; | ||
@@ -627,3 +627,3 @@ } | ||
async return() { | ||
if (!(fetchIterator == null ? void 0 : fetchIterator.return)) | ||
if (!fetchIterator?.return) | ||
return { done: true, value: new Uint8Array(0) }; | ||
@@ -634,3 +634,3 @@ else | ||
async throw(e) { | ||
if (!(fetchIterator == null ? void 0 : fetchIterator.throw)) | ||
if (!fetchIterator?.throw) | ||
return { done: true, value: new Uint8Array(0) }; | ||
@@ -660,3 +660,3 @@ else | ||
async return() { | ||
if (!(fetchIterator == null ? void 0 : fetchIterator.return)) | ||
if (!fetchIterator?.return) | ||
return { done: true, value: "" }; | ||
@@ -667,3 +667,3 @@ else | ||
async throw(e) { | ||
if (!(fetchIterator == null ? void 0 : fetchIterator.throw)) | ||
if (!fetchIterator?.throw) | ||
return { done: true, value: "" }; | ||
@@ -670,0 +670,0 @@ else |
@@ -38,3 +38,3 @@ function deepParse(object, provided) { | ||
return handleObject(object, compare); | ||
} catch (e) { | ||
} catch { | ||
return false; | ||
@@ -41,0 +41,0 @@ } |
{ | ||
"name": "@rjweb/utils", | ||
"version": "1.11.4", | ||
"version": "1.12.0", | ||
"description": "Easy and Lightweight Utilities", | ||
@@ -39,7 +39,7 @@ "module": "lib/esm/index.js", | ||
"devDependencies": { | ||
"@rjweb/utils": "link:.", | ||
"@types/node": "^20.0.0", | ||
"esbuild": "^0.17.2", | ||
"typedoc": "^0.25.1", | ||
"typescript": "^5.1.0" | ||
"@rjweb/utils": "link:", | ||
"@types/node": "^20.11.28", | ||
"esbuild": "^0.20.2", | ||
"typedoc": "^0.25.12", | ||
"typescript": "^5.4.2" | ||
}, | ||
@@ -46,0 +46,0 @@ "dependencies": { |
@@ -9,5 +9,4 @@ import { array } from "."; | ||
this.onError = null; | ||
var _a; | ||
this.options = { | ||
wait: (_a = options == null ? void 0 : options.wait) != null ? _a : 5e3 | ||
wait: options?.wait ?? 5e3 | ||
}; | ||
@@ -81,3 +80,3 @@ this.nextRunScheduled = false; | ||
this.onFinish(item, result); | ||
} catch (e) { | ||
} catch { | ||
} | ||
@@ -94,3 +93,3 @@ const waiter = this.fnWaiters.find(([fn]) => Object.is(fn, item)); | ||
this.onError(item, err); | ||
} catch (e) { | ||
} catch { | ||
} | ||
@@ -97,0 +96,0 @@ const waiter = this.fnWaiters.find(([fn]) => Object.is(fn, item)); |
@@ -67,3 +67,3 @@ class Size { | ||
function size(amount, factor) { | ||
return new Size(amount, factor != null ? factor : 1024); | ||
return new Size(amount, factor ?? 1024); | ||
} | ||
@@ -70,0 +70,0 @@ export { |
@@ -24,4 +24,3 @@ import * as crypto from "crypto"; | ||
const _generate = (options, pool) => { | ||
var _a; | ||
const optionsLength = (_a = options.length) != null ? _a : 12; | ||
const optionsLength = options.length ?? 12; | ||
const poolLength = pool.length; | ||
@@ -34,3 +33,2 @@ let password = ""; | ||
const _string = (options) => { | ||
var _a, _b; | ||
options = options || {}; | ||
@@ -66,3 +64,3 @@ if (!("length" in options)) | ||
; | ||
let i = (_b = (_a = options.exclude) == null ? void 0 : _a.length) != null ? _b : 0; | ||
let i = options.exclude?.length ?? 0; | ||
while (i--) { | ||
@@ -75,7 +73,6 @@ pool = pool.replace(options.exclude[i], ""); | ||
function hash(input, options) { | ||
var _a, _b; | ||
const pOptions = { | ||
algorithm: (_a = options == null ? void 0 : options.algorithm) != null ? _a : "sha256", | ||
salt: options == null ? void 0 : options.salt, | ||
output: (_b = options == null ? void 0 : options.output) != null ? _b : "hex" | ||
algorithm: options?.algorithm ?? "sha256", | ||
salt: options?.salt, | ||
output: options?.output ?? "hex" | ||
}; | ||
@@ -91,6 +88,5 @@ const hash2 = pOptions.salt ? crypto.createHmac(pOptions.algorithm, pOptions.salt).update(input) : crypto.createHash(pOptions.algorithm).update(input); | ||
function encrypt(input, key, options) { | ||
var _a, _b; | ||
const pOptions = { | ||
algorithm: (_a = options == null ? void 0 : options.algorithm) != null ? _a : "aes-256-cbc", | ||
output: (_b = options == null ? void 0 : options.output) != null ? _b : "hex" | ||
algorithm: options?.algorithm ?? "aes-256-cbc", | ||
output: options?.output ?? "hex" | ||
}; | ||
@@ -108,6 +104,5 @@ const iv = Buffer.alloc(16, 0); | ||
function decrypt(input, key, options) { | ||
var _a, _b; | ||
const pOptions = { | ||
algorithm: (_a = options == null ? void 0 : options.algorithm) != null ? _a : "aes-256-cbc", | ||
input: (_b = options == null ? void 0 : options.input) != null ? _b : "hex" | ||
algorithm: options?.algorithm ?? "aes-256-cbc", | ||
input: options?.input ?? "hex" | ||
}; | ||
@@ -173,3 +168,2 @@ const iv = Buffer.alloc(16, 0); | ||
await replaceAsync(input, /{{(\w*)+(\(.*?\))?}}/g, async (match) => { | ||
var _a, _b; | ||
const slicedMatch = match.slice(2, -2); | ||
@@ -186,3 +180,3 @@ const bracketIndex = slicedMatch.indexOf("("); | ||
throw `Required Argument \`${key}\` not supplied to \`${name}\``; | ||
parsedArgs[key] = (_b = (_a = args[index]) == null ? void 0 : _a.trim()) == null ? void 0 : _b.replaceAll("\\,", ","); | ||
parsedArgs[key] = args[index]?.trim()?.replaceAll("\\,", ","); | ||
} | ||
@@ -210,3 +204,2 @@ let endEarly = null; | ||
return replaceAsync(input, /{{(\w*)+(\(.*?\))?}}/g, async (match) => { | ||
var _a, _b; | ||
const slicedMatch = match.slice(2, -2); | ||
@@ -224,3 +217,3 @@ const bracketIndex = slicedMatch.indexOf("("); | ||
return match; | ||
parsedArgs[key] = (_b = (_a = args[index]) == null ? void 0 : _a.trim()) == null ? void 0 : _b.replaceAll("\\,", ","); | ||
parsedArgs[key] = args[index]?.trim()?.replaceAll("\\,", ","); | ||
} | ||
@@ -236,3 +229,3 @@ let endEarly = false; | ||
return result; | ||
} catch (e) { | ||
} catch { | ||
return match; | ||
@@ -239,0 +232,0 @@ } |
@@ -19,5 +19,4 @@ import * as child from "child_process"; | ||
function execute(command, options) { | ||
var _a; | ||
const pOptions = { | ||
async: (_a = options == null ? void 0 : options.async) != null ? _a : false | ||
async: options?.async ?? false | ||
}; | ||
@@ -24,0 +23,0 @@ if (pOptions.async) { |
/// <reference types="node" /> | ||
/// <reference types="node" /> | ||
/// <reference types="node" /> | ||
import * as fs from "fs"; | ||
import * as crypto from "crypto"; | ||
/** | ||
@@ -67,2 +69,33 @@ * Get Files from a folder | ||
* @since 1.10.4 | ||
*/ export declare function env(file: fs.PathLike): Promise<Record<string, string>>; | ||
*/ export declare function env<Options extends { | ||
/** | ||
* Whether to use async fs | ||
* @default true | ||
* @since 1.12.0 | ||
*/ async?: boolean; | ||
}>(file: fs.PathLike, options?: Options): Options['async'] extends false ? Record<string, string> : Promise<Record<string, string>>; | ||
/** | ||
* Hash a File | ||
* @example | ||
* ``` | ||
* import { filesystem } from "@rjweb/utils" | ||
* | ||
* await filesystem.hash('./doc.txt', { algorithm: 'sha256', salt: '123', output: 'hex' }) // 91be40b8a3959b7821be224d8ce5ad09874fc84dcacd9fed77bf07000141e15a | ||
* ``` | ||
* @since 1.12.0 | ||
*/ export declare function hash<Options extends { | ||
/** | ||
* The Algorithm to use | ||
* @default "sha256" | ||
* @since 1.12.0 | ||
*/ algorithm?: string; | ||
/** | ||
* The Salt to add | ||
* @since 1.12.0 | ||
*/ salt?: string; | ||
/** | ||
* The Output type to emit | ||
* @default "hex" | ||
* @since 1.12.0 | ||
*/ output?: crypto.BinaryToTextEncoding | 'buffer'; | ||
}>(file: fs.PathLike, options?: Options): Promise<Options['output'] extends 'buffer' ? Buffer : string>; |
@@ -33,8 +33,8 @@ /// <reference types="node" /> | ||
* | ||
* const subnet = new network.Subnet('127.1/32') | ||
* const subnet = new network.Subnet('127.0.0.1/24') | ||
* subnet.type // 4 | ||
* | ||
* subnet.size() // 1n | ||
* subnet.first() // <IPAddress> | ||
* subnet.last() // <IPAddress> | ||
* subnet.size() // 255n | ||
* subnet.first() // <IPAddress v4 127.0.0.0> | ||
* subnet.last() // <IPAddress v4 127.0.0.255> | ||
* | ||
@@ -41,0 +41,0 @@ * for (const ip of subnet) { |
{ | ||
"name": "@rjweb/utils", | ||
"version": "1.11.4", | ||
"version": "1.12.0", | ||
"description": "Easy and Lightweight Utilities", | ||
@@ -11,7 +11,2 @@ "module": "lib/esm/index.js", | ||
}, | ||
"scripts": { | ||
"build": "rm -rf lib && tsc && esbuild `find src -type f -name \"*.ts\"` --platform='node' --ignore-annotations --format='cjs' --outdir='lib/cjs' && esbuild `find src -type f -name \"*.ts\"` --platform='node' --ignore-annotations --format='esm' --outdir='lib/esm' && cp package.json lib/cjs/pckg.json && cp package.json lib/esm/pckg.json", | ||
"docs": "rm -rf docs && typedoc --out docs src/index.ts && sed -i -e 's|<meta charSet=\"utf-8\"/>|<meta charSet=\"utf-8\"/><link rel=\"icon\" type=\"image/png\" href=\"https://img.rjansen.de/rjweb/icon.png\">|' docs/**/*.html && chmod -R a+rw docs", | ||
"test": "yarn build && node test" | ||
}, | ||
"repository": { | ||
@@ -40,11 +35,16 @@ "type": "git", | ||
"devDependencies": { | ||
"@rjweb/utils": "link:.", | ||
"@types/node": "^20.0.0", | ||
"esbuild": "^0.17.2", | ||
"typedoc": "^0.25.1", | ||
"typescript": "^5.1.0" | ||
"@rjweb/utils": "link:", | ||
"@types/node": "^20.11.28", | ||
"esbuild": "^0.20.2", | ||
"typedoc": "^0.25.12", | ||
"typescript": "^5.4.2" | ||
}, | ||
"dependencies": { | ||
"ts-arithmetic": "^0.1.1" | ||
}, | ||
"scripts": { | ||
"build": "rm -rf lib && tsc && esbuild `find src -type f -name \"*.ts\"` --platform='node' --ignore-annotations --format='cjs' --outdir='lib/cjs' && esbuild `find src -type f -name \"*.ts\"` --platform='node' --ignore-annotations --format='esm' --outdir='lib/esm' && cp package.json lib/cjs/pckg.json && cp package.json lib/esm/pckg.json", | ||
"docs": "rm -rf docs && typedoc --out docs src/index.ts && sed -i -e 's|<meta charSet=\"utf-8\"/>|<meta charSet=\"utf-8\"/><link rel=\"icon\" type=\"image/png\" href=\"https://img.rjansen.de/rjweb/icon.png\">|' docs/**/*.html && chmod -R a+rw docs", | ||
"test": "yarn build && node test" | ||
} | ||
} | ||
} |
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
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
6625
4
1838748
115