import * as Command from "effect/unstable/cli/Command"type Options<Config extends Command.Command.Config, Commands extends ReadonlyArray<Any>> = {readonly description?: stringreadonly params?: Configreadonly commands?: Commands}export interface Node<Name extends string,Spec extends Command.Command<Name, any, any, any, any>,Commands extends Children,> {readonly name: Namereadonly spec: Specreadonly commands: Commands}export type Any = Node<string, Command.Command<any, any, any, any, any>, Children>export type Children = Readonly<Record<string, Any>>export function make<const Name extends string,const Config extends Command.Command.Config = {},const Commands extends ReadonlyArray<Any> = [],>(name: Name, options: Options<Config, Commands> = {}) {const command = Command.make(name, options.params ?? ({} as Config))const spec = options.description ? command.pipe(Command.withDescription(options.description)) : commandreturn {name,spec,commands: Object.fromEntries((options.commands ?? []).map((command) => [command.name, command]),) as ChildrenOf<Commands>,}}type ChildrenOf<Commands extends ReadonlyArray<Any>> = {readonly [Node in Commands[number] as Node["name"]]: Node}export * as CliApi from "./cli-api"
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。