UNPKG

xchange-create

Version:
78 lines (60 loc) 1.77 kB
import type { Args, ContractType, Extension, Network, RawOptions } from "../types"; import arg from "arg"; export function parseArgumentsIntoOptions(rawArgs: Args): RawOptions { const args = arg( { "--project": String, "-p": "--project", "--install": Boolean, "-i": "--install", "--skip-install": Boolean, "--skip": "--skip-install", "-s": "--skip-install", "--dev": Boolean, "--ticker": String, "-t": "--ticker", "--supply": Number, "-u": "--supply", "--contract-type": String, "-c": "--contract-type", "--extensions": [String], "-e": "--extensions", "--help": Boolean, "-h": "--help", "--quote": Boolean, "-q": "--quote", "--usd": Boolean, "--network": String, "-n": "--network", }, { argv: rawArgs.slice(2).map((a) => a.toLowerCase()), } ); const install = args["--install"] ?? null; const skipInstall = args["--skip-install"] ?? null; const hasInstallRelatedFlag = install || skipInstall; const dev = args["--dev"] ?? false; const project = args["--project"] ?? null; const ticker = args["--ticker"] ?? null; const supply = args["--supply"] ?? null; const contractType = args["--contract-type"] as ContractType ?? null; const extensions = args["--extensions"] as Extension[] ?? null; const help = args["--help"] ?? false; const usd = args["--usd"] ?? false; const quote = args["--quote"] ?? false; const network = args["--network"] as Network ?? null; return { project, install: hasInstallRelatedFlag ? install || !skipInstall : null, ticker, supply, contractType, dev, extensions, help, quote, network, usd }; }