pure-parse
Version:
Strongly typed validation library that decouples type aliases from validation logic
2 lines (1 loc) • 615 B
JavaScript
;Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("./ParseResult.cjs"),i=require("../guards/primitives.cjs"),n=e=>/\s+/.test(e),s=e=>{if(!i.isString(e))return r.failure("Expected a stringified number but did not get a string");if(e==="")return r.failure("Expected a stringified number but got an empty string");if(n(e))return r.failure("Expected a stringified number but got a string with whitespace");const t=Number(e);return isNaN(t)||!isFinite(t)?r.failure(`Expected a stringified number but got ${JSON.stringify(e)}`):r.success(t)};exports.parseNumberFromString=s;