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