@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/float.ts"],"names":[],"mappings":";;;;AAGO,SAAS,YAAA,CACf,WACA,OACyH,EAAA;AACzH,EAAM,MAAA,MAAA,GAAS,OAAO,SAAS,CAAA;AAE/B,EAAI,IAAA,MAAA,CAAO,KAAM,CAAA,MAAM,CAAG,EAAA;AACzB,IAAO,OAAA,MAAA,CAAO,GAAI,CAAA,WAAA,CAAY,kBAAkB,CAAA;AAAA;AAGjD,EAAA,IAAI,OAAO,OAAS,EAAA,OAAA,KAAY,QAAY,IAAA,MAAA,GAAS,QAAQ,OAAS,EAAA;AACrE,IAAO,OAAA,MAAA,CAAO,GAAI,CAAA,WAAA,CAAY,qBAAqB,CAAA;AAAA;AAGpD,EAAA,IAAI,OAAO,OAAS,EAAA,OAAA,KAAY,QAAY,IAAA,MAAA,GAAS,QAAQ,OAAS,EAAA;AACrE,IAAO,OAAA,MAAA,CAAO,GAAI,CAAA,WAAA,CAAY,qBAAqB,CAAA;AAAA;AAGpD,EAAO,OAAA,MAAA,CAAO,GAAG,MAAM,CAAA;AACxB;AAnBgB,MAAA,CAAA,YAAA,EAAA,cAAA,CAAA","file":"float.mjs","sourcesContent":["import { Result } from '@sapphire/result';\nimport { Identifiers } from '../errors/Identifiers';\n\nexport function resolveFloat(\n\tparameter: string,\n\toptions?: { minimum?: number; maximum?: number }\n): Result<number, Identifiers.ArgumentFloatError | Identifiers.ArgumentFloatTooSmall | Identifiers.ArgumentFloatTooLarge> {\n\tconst parsed = Number(parameter);\n\n\tif (Number.isNaN(parsed)) {\n\t\treturn Result.err(Identifiers.ArgumentFloatError);\n\t}\n\n\tif (typeof options?.minimum === 'number' && parsed < options.minimum) {\n\t\treturn Result.err(Identifiers.ArgumentFloatTooSmall);\n\t}\n\n\tif (typeof options?.maximum === 'number' && parsed > options.maximum) {\n\t\treturn Result.err(Identifiers.ArgumentFloatTooLarge);\n\t}\n\n\treturn Result.ok(parsed);\n}\n"]}