diff --git a/src/arguments/CoreBoolean.ts b/src/arguments/CoreBoolean.ts index dd86f920c..3dbd7a841 100644 --- a/src/arguments/CoreBoolean.ts +++ b/src/arguments/CoreBoolean.ts @@ -7,7 +7,7 @@ export class CoreArgument extends Argument { super(context, { name: 'boolean' }); } - public run(parameter: string, context: { truths?: string[]; falses?: string[] } & Argument.Context): Argument.Result { + public run(parameter: string, context: { readonly truths?: string[]; falses?: readonly string[] } & Argument.Context): Argument.Result { const resolved = resolveBoolean(parameter, { truths: context.truths, falses: context.falses }); if (resolved.success) return this.ok(resolved.value); return this.error({ diff --git a/src/lib/resolvers/boolean.ts b/src/lib/resolvers/boolean.ts index ca29d91ae..69b78a717 100644 --- a/src/lib/resolvers/boolean.ts +++ b/src/lib/resolvers/boolean.ts @@ -1,12 +1,12 @@ import { Identifiers } from '../errors/Identifiers'; import { err, ok, Result } from '../parsers/Result'; -const baseTruths = ['1', 'true', '+', 't', 'yes', 'y']; -const baseFalses = ['0', 'false', '-', 'f', 'no', 'n']; +const baseTruths = ['1', 'true', '+', 't', 'yes', 'y'] as const; +const baseFalses = ['0', 'false', '-', 'f', 'no', 'n'] as const; export function resolveBoolean( parameter: string, - customs?: { truths?: string[]; falses?: string[] } + customs?: { truths?: readonly string[]; falses?: readonly string[] } ): Result { const boolean = parameter.toLowerCase(); if ([...baseTruths, ...(customs?.truths ?? [])].includes(boolean)) return ok(true);