(params: {
readonly kind: Kind
readonly name: string
readonly primitiveType: Primitive.Primitive<A>
readonly typeName?: string | undefined
readonly description?: Option.Option<string> | undefined
readonly aliases?: ReadonlyArray<string> | undefined
readonly hidden?: boolean | undefined
})
| 333 | * @since 4.0.0 |
| 334 | */ |
| 335 | export const makeSingle = <const Kind extends ParamKind, A>(params: { |
| 336 | readonly kind: Kind |
| 337 | readonly name: string |
| 338 | readonly primitiveType: Primitive.Primitive<A> |
| 339 | readonly typeName?: string | undefined |
| 340 | readonly description?: Option.Option<string> | undefined |
| 341 | readonly aliases?: ReadonlyArray<string> | undefined |
| 342 | readonly hidden?: boolean | undefined |
| 343 | }): Single<Kind, A> => { |
| 344 | const parse: Parse<A> = (args) => |
| 345 | params.kind === argumentKind |
| 346 | ? parsePositional(params.name, params.primitiveType, args) |
| 347 | : parseFlag(params.name, params.primitiveType, args) |
| 348 | return Object.setPrototypeOf({ |
| 349 | _tag: "Single", |
| 350 | ...params, |
| 351 | description: params.description ?? Option.none(), |
| 352 | aliases: params.aliases ?? [], |
| 353 | hidden: params.hidden ?? false, |
| 354 | parse |
| 355 | }, Proto) |
| 356 | } |
| 357 | |
| 358 | /** |
| 359 | * Creates a string parameter. |
no outgoing calls
no test coverage detected