( name: string, options?: Options.Options.BooleanOptionsConfig )
| 232 | |
| 233 | /** @internal */ |
| 234 | export const boolean = ( |
| 235 | name: string, |
| 236 | options?: Options.Options.BooleanOptionsConfig |
| 237 | ): Options.Options<boolean> => { |
| 238 | const { aliases, ifPresent, negationNames } = { ...defaultBooleanOptions, ...options } |
| 239 | const option = makeSingle( |
| 240 | name, |
| 241 | aliases, |
| 242 | InternalPrimitive.boolean(Option.some(ifPresent)) |
| 243 | ) |
| 244 | if (Arr.isNonEmptyReadonlyArray(negationNames)) { |
| 245 | const head = Arr.headNonEmpty(negationNames) |
| 246 | const tail = Arr.tailNonEmpty(negationNames) |
| 247 | const negationOption = makeSingle( |
| 248 | head, |
| 249 | tail, |
| 250 | InternalPrimitive.boolean(Option.some(!ifPresent)) |
| 251 | ) |
| 252 | return withDefault( |
| 253 | orElse(option, negationOption), |
| 254 | !ifPresent |
| 255 | ) |
| 256 | } |
| 257 | return withDefault(option, !ifPresent) |
| 258 | } |
| 259 | |
| 260 | /** @internal */ |
| 261 | export const choice = <A extends string, C extends ReadonlyArray<A>>( |
nothing calls this directly
no test coverage detected