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