integreat
Version:
Node.js integration layer
23 lines • 680 B
JavaScript
import { isDate } from '../../utils/is.js';
const numberOrUndefined = (value) => (isNaN(value) ? undefined : value);
export default function castNumber(value) {
if (typeof value === 'number') {
return numberOrUndefined(value);
}
else if (value === null || value === undefined) {
return value;
}
else if (typeof value === 'string') {
return numberOrUndefined(Number.parseFloat(value));
}
else if (typeof value === 'boolean') {
return Number(value);
}
else if (isDate(value)) {
return numberOrUndefined(value.getTime());
}
else {
return undefined;
}
}
//# sourceMappingURL=number.js.map