UNPKG

@sapphire/framework

Version:

Discord bot framework built for advanced and amazing bots.

1 lines 1.49 kB
{"version":3,"sources":["../../../../src/lib/resolvers/integer.ts"],"names":[],"mappings":";;;;AAGO,SAAS,cAAA,CACf,WACA,OAC+H,EAAA;AAC/H,EAAM,MAAA,MAAA,GAAS,OAAO,SAAS,CAAA;AAE/B,EAAA,IAAI,CAAC,MAAA,CAAO,SAAU,CAAA,MAAM,CAAG,EAAA;AAC9B,IAAO,OAAA,MAAA,CAAO,GAAI,CAAA,WAAA,CAAY,oBAAoB,CAAA;AAAA;AAGnD,EAAA,IAAI,OAAO,OAAS,EAAA,OAAA,KAAY,QAAY,IAAA,MAAA,GAAS,QAAQ,OAAS,EAAA;AACrE,IAAO,OAAA,MAAA,CAAO,GAAI,CAAA,WAAA,CAAY,uBAAuB,CAAA;AAAA;AAGtD,EAAA,IAAI,OAAO,OAAS,EAAA,OAAA,KAAY,QAAY,IAAA,MAAA,GAAS,QAAQ,OAAS,EAAA;AACrE,IAAO,OAAA,MAAA,CAAO,GAAI,CAAA,WAAA,CAAY,uBAAuB,CAAA;AAAA;AAGtD,EAAO,OAAA,MAAA,CAAO,GAAG,MAAM,CAAA;AACxB;AAnBgB,MAAA,CAAA,cAAA,EAAA,gBAAA,CAAA","file":"integer.mjs","sourcesContent":["import { Result } from '@sapphire/result';\nimport { Identifiers } from '../errors/Identifiers';\n\nexport function resolveInteger(\n\tparameter: string,\n\toptions?: { minimum?: number; maximum?: number }\n): Result<number, Identifiers.ArgumentIntegerError | Identifiers.ArgumentIntegerTooSmall | Identifiers.ArgumentIntegerTooLarge> {\n\tconst parsed = Number(parameter);\n\n\tif (!Number.isInteger(parsed)) {\n\t\treturn Result.err(Identifiers.ArgumentIntegerError);\n\t}\n\n\tif (typeof options?.minimum === 'number' && parsed < options.minimum) {\n\t\treturn Result.err(Identifiers.ArgumentIntegerTooSmall);\n\t}\n\n\tif (typeof options?.maximum === 'number' && parsed > options.maximum) {\n\t\treturn Result.err(Identifiers.ArgumentIntegerTooLarge);\n\t}\n\n\treturn Result.ok(parsed);\n}\n"]}