UNPKG

@kadena/kadena-cli

Version:

Kadena CLI tool to interact with the Kadena blockchain (manage keys, transactions, etc.)

97 lines 3.56 kB
import { Option } from 'commander'; import { z } from 'zod'; import { pactjs } from '../../../prompts/index.js'; import { createOption } from '../../../utils/createOption.js'; const asList = (value) => { if (typeof value === 'string') { if (value.trim().length === 0) { return []; } value = value .split(',') .map((item) => item.trim()) .filter((item) => item.length > 0); } if (Array.isArray(value) && value.length === 0) { return []; } return value; }; export const contractOptions = { clean: createOption({ key: 'clean', prompt: pactjs.cleanPrompt, validation: z.string(), option: new Option('-x, --clean <clean>', 'Clean existing generated files'), }), capsInterface: createOption({ key: 'capsInterface', prompt: pactjs.capsInterfacePrompt, validation: z.string().optional(), option: new Option('-i, --caps-interface <capsInterface>', 'Custom name for the interface of the caps'), }), fileOrDirectory: createOption({ key: 'fileOrDirectory', prompt: pactjs.fileOrDirectoryPrompt, validation: z.string().optional(), option: new Option('-d, --file-or-directory <fileOrDirectory>', 'File or directory to use to generate the client'), transform: asList, }), file: createOption({ key: 'file', prompt: pactjs.filePrompt, validation: z.string().optional(), option: new Option('-f, --file <file>', 'Generate d.ts from Pact contract file'), transform: asList, }), contract: createOption({ key: 'contract', prompt: pactjs.contractPrompt, validation: z.string().optional(), option: new Option('-c, --contract <contract>', 'Generate d.ts from Pact contract from the blockchain'), transform: asList, }), namespace: createOption({ key: 'namespace', prompt: pactjs.namespacePrompt, validation: z.string().optional(), option: new Option('-n, --namespace <namespace>', 'Namespace for the contract'), }), api: createOption({ key: 'api', prompt: pactjs.apiPrompt, validation: z.string().optional(), option: new Option('-a, --api <api>', 'API to retrieve the contract'), }), module: createOption({ key: 'module', prompt: pactjs.modulePrompt, validation: z.string(), option: new Option('-m, --module <module>', 'The module you want to retrieve (e.g. "coin")'), }), out: createOption({ key: 'out', prompt: pactjs.outPrompt, validation: z.string(), option: new Option('-o, --out <out>', 'File to write the contract to'), }), chain: createOption({ key: 'chain', prompt: pactjs.chainPrompt, validation: z.number().optional(), option: new Option('-c, --chain <chain>', 'Chain ID to retrieve the contract from'), }), network: createOption({ key: 'network', prompt: pactjs.networkPrompt, validation: z.string().optional(), option: new Option('-n, --network <network>', 'Network ID to retrieve the contract from'), }), parseTreePath: createOption({ key: 'parseTreePath', prompt: pactjs.parseTreePathPrompt, validation: z.string().optional(), option: new Option('-t,--parse-tree-path <parseTreePath>', 'Path to store the parsed tree'), }), }; //# sourceMappingURL=contractOptions.js.map