{"version":3,"sources":["../../source/schema/groups/number/number.ts","../../source/round/round.ts"],"names":["isPrimitive","validatePrimitive","NUMBER_SCHEMA","validateNumber","value","roundUpNumber","options","decimals","roundDownNumber"],"mappings":"AAAA,OAAS,eAAAA,EAAa,qBAAAC,MAAyB,0CAE/C,OAAS,iBAAAC,MAAqB,0CAGvB,SAASC,EAAeC,EAAyC,CACvE,OAAOH,EAAkBG,EAAO,QAAQ,CACzC,CCCO,SAASC,EAAcD,EAAeE,EAAiC,CAAC,EAAW,CACzFH,EAAeC,CAAK,EAEpB,GAAM,CAAE,SAAAG,EAAW,CAAE,EAAID,EAEzB,MAAO,EAAO,KAAK,MAAM,EAAOF,EAAQ,IAAMG,EAAS,EAAI,KAAOA,EACnE,CAGO,SAASC,EAAgBJ,EAAeE,EAAiC,CAAC,EAAW,CAC3FH,EAAeC,CAAK,EAEpB,GAAM,CAAE,SAAAG,EAAW,CAAE,EAAID,EAEzB,MAAO,EAAO,KAAK,MAAM,OAAO,WAAWF,EAAQ,IAAMG,CAAQ,CAAC,EAAI,KAAOA,EAC9E","sourcesContent":["import { isPrimitive, validatePrimitive } from \"@terminal-nerds/snippets-type/primitive\";\n\nexport { NUMBER_SCHEMA } from \"@terminal-nerds/snippets-type/primitive\";\n\n/** NOTE: This snippet doesn't consider `NaN` as number! */\nexport function validateNumber(value: unknown): asserts value is number {\n\treturn validatePrimitive(value, \"number\");\n}\n\n/** NOTE: This snippet doesn't consider `NaN` as number! */\nexport function isNumber(value: unknown): value is number {\n\treturn isPrimitive(value, \"number\");\n}\n","import { validateNumber } from \"../schema/groups/number/number.ts\";\n\nexport interface RoundingNumberOptions {\n\t/** @defaultValue `2` */\n\tdecimals?: number;\n}\n\n/** Round **UP** number to specific decimals length. */\nexport function roundUpNumber(value: number, options: RoundingNumberOptions = {}): number {\n\tvalidateNumber(value);\n\n\tconst { decimals = 2 } = options;\n\n\treturn Number(Math.round(Number(value + \"e\" + decimals)) + \"e-\" + decimals);\n}\n\n/** Round **DOWN** number to specific decimals length. */\nexport function roundDownNumber(value: number, options: RoundingNumberOptions = {}): number {\n\tvalidateNumber(value);\n\n\tconst { decimals = 2 } = options;\n\n\treturn Number(Math.floor(Number.parseFloat(value + \"e\" + decimals)) + \"e-\" + decimals);\n}\n"]}