@jsse/quick-maths
Version:
66 lines (62 loc) • 1.56 kB
JavaScript
// src/cli.ts
import process from "process";
// package.json
var version = "0.0.2";
// src/quick-maths.ts
function quickmaths() {
let r = 0;
r += 2 + 2;
r -= 1;
return r;
}
// src/cli.ts
function isDebug() {
const _debugEnvStr = (process.env["DEBUG"] ?? "false").toLowerCase();
const isNotDebug = _debugEnvStr === "false" || _debugEnvStr === "f" || _debugEnvStr === "0";
return !isNotDebug || !process.argv.some((arg) => arg.toLowerCase() === "--debug");
}
function isTest() {
return process.env["NODE_ENV"] === "test";
}
function noop(..._args) {
}
var debug = isDebug() && !isTest() ? (
// eslint-disable-next-line @typescript-eslint/no-unsafe-argument,@typescript-eslint/no-explicit-any
(...args) => console.log(...args)
) : noop;
var echo = isTest() ? noop : console.log;
async function cli(args) {
const argv = args || [];
if (debug) {
debug("Debugging enabled");
}
if (argv.includes("--help") || argv.includes("-h")) {
echo("Usage: quick-maths");
return;
}
if (argv.includes("--version") || argv.includes("-v")) {
echo(`quick-maths v${version}`);
return;
}
const ti = Date.now();
const result = quickmaths();
const tf = Date.now();
echo(
`2 plus 2 that's 4 minus 1 that's ${result} quick maths! (${tf - ti}ms)`
);
}
async function main(args) {
const argv = args || process.argv.slice(2);
await cli(argv);
}
if (process.env["NODE_ENV"] !== "test") {
main().catch((e) => {
console.error(e);
process.exit(1);
}).finally(() => {
process.exit(0);
});
}
export {
cli
};