diff --git a/src/handler/utilities/Preprocessors/args.ts b/src/handler/utilities/Preprocessors/args.ts deleted file mode 100644 index 8f94b0c..0000000 --- a/src/handler/utilities/Preprocessors/args.ts +++ /dev/null @@ -1,77 +0,0 @@ -import { Err, Ok, Result } from 'ts-results'; -import type { possibleOutput } from '../../../types/handler'; - -/** - * Wrapper type taking `Ok(T)` or `Err(possibleOutput)` e.g `Result = Result; - -/** - * - * @param {string} arg - command arguments - * @param {possibleOutput} onFailure - if `Number.parseInt` returns NaN - * @returns {ArgType} Attempts to use `Number.parseInt()` on `arg` - */ - -export function parseInt(arg: string, onFailure: possibleOutput): ArgType { - const val = Number.parseInt(arg); - - return val === NaN ? Err(onFailure) : Ok(val); -} - -/** - * @param {string} arg - command arguments - * @param {possibleOutput} onFailure - If cannot parse `arg` into boolean. - * @param { {yesRegex: RegExp, noRegex: RegExp} } regexes - default regexes: yes : `/^(?:y(?:es)?|👍)$/i`, no : /^(?:n(?:o)?|👎)$/i - * @returns { ArgType } attemps to parse `args` as a boolean - */ - -export function parseBool( - arg: string, - onFailure: possibleOutput = `Cannot parse '${arg}' as a boolean`, - regexes: { - yesRegex: RegExp; - noRegex: RegExp; - } = { - yesRegex: /^(?:y(?:es)?|👍)$/i, - noRegex: /^(?:n(?:o)?|👎)$/i, - }, -): ArgType { - if (arg.match(regexes.yesRegex)) return Ok(true); - if (arg.match(regexes.noRegex)) return Ok(false); - - return Err(onFailure); -} - -/** - * - * @param {string} arg - command arguments - * @param {string} sep - default separator = ' ' - * @returns {Ok} - */ - -export function toArr(arg: string, sep = ' '): ArgType { - return Ok(arg.split(sep)); -} - -/** - * - * @param {string} arg - command arguments - * @param {possibleOutput} onFailure - delegates `Utils.parseInt` - * @returns {ArgType} - */ - -export function toPositiveInt(arg: string, onFailure: possibleOutput): ArgType { - return parseInt(arg, onFailure).andThen((num) => Ok(num > 0 ? num : -num)); -} - -/** - * - * @param {string} arg - command arguments - * @param {possibleOutput} onFailure - delegates `parseInt` - * @returns {ArgType} - */ -export function toNegativeInt(arg: string, onFailure: possibleOutput): ArgType { - return parseInt(arg, onFailure).andThen((num) => Ok(num > 0 ? -num : num)); -}