@sapphire/framework
Version:
Discord bot framework built for advanced and amazing bots.
1 lines • 1.47 kB
Source Map (JSON)
{"version":3,"sources":["../../../../src/lib/resolvers/number.ts"],"names":[],"mappings":";;;;AAGO,SAAS,aAAA,CACf,WACA,OAC4H,EAAA;AAC5H,EAAM,MAAA,MAAA,GAAS,OAAO,SAAS,CAAA;AAC/B,EAAI,IAAA,MAAA,CAAO,KAAM,CAAA,MAAM,CAAG,EAAA;AACzB,IAAO,OAAA,MAAA,CAAO,GAAI,CAAA,WAAA,CAAY,mBAAmB,CAAA;AAAA;AAGlD,EAAA,IAAI,OAAO,OAAS,EAAA,OAAA,KAAY,QAAY,IAAA,MAAA,GAAS,QAAQ,OAAS,EAAA;AACrE,IAAO,OAAA,MAAA,CAAO,GAAI,CAAA,WAAA,CAAY,sBAAsB,CAAA;AAAA;AAGrD,EAAA,IAAI,OAAO,OAAS,EAAA,OAAA,KAAY,QAAY,IAAA,MAAA,GAAS,QAAQ,OAAS,EAAA;AACrE,IAAO,OAAA,MAAA,CAAO,GAAI,CAAA,WAAA,CAAY,sBAAsB,CAAA;AAAA;AAGrD,EAAO,OAAA,MAAA,CAAO,GAAG,MAAM,CAAA;AACxB;AAlBgB,MAAA,CAAA,aAAA,EAAA,eAAA,CAAA","file":"number.mjs","sourcesContent":["import { Result } from '@sapphire/result';\nimport { Identifiers } from '../errors/Identifiers';\n\nexport function resolveNumber(\n\tparameter: string,\n\toptions?: { minimum?: number; maximum?: number }\n): Result<number, Identifiers.ArgumentNumberError | Identifiers.ArgumentNumberTooSmall | Identifiers.ArgumentNumberTooLarge> {\n\tconst parsed = Number(parameter);\n\tif (Number.isNaN(parsed)) {\n\t\treturn Result.err(Identifiers.ArgumentNumberError);\n\t}\n\n\tif (typeof options?.minimum === 'number' && parsed < options.minimum) {\n\t\treturn Result.err(Identifiers.ArgumentNumberTooSmall);\n\t}\n\n\tif (typeof options?.maximum === 'number' && parsed > options.maximum) {\n\t\treturn Result.err(Identifiers.ArgumentNumberTooLarge);\n\t}\n\n\treturn Result.ok(parsed);\n}\n"]}