fast-check
Version:
Property based testing framework for JavaScript (like QuickCheck)
30 lines (29 loc) • 1.1 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.timeToDateMapper = timeToDateMapper;
exports.timeToDateUnmapper = timeToDateUnmapper;
exports.timeToDateMapperWithNaN = timeToDateMapperWithNaN;
exports.timeToDateUnmapperWithNaN = timeToDateUnmapperWithNaN;
const globals_1 = require("../../../utils/globals");
const safeNaN = Number.NaN;
const safeNumberIsNaN = Number.isNaN;
function timeToDateMapper(time) {
return new globals_1.Date(time);
}
function timeToDateUnmapper(value) {
if (!(value instanceof globals_1.Date) || value.constructor !== globals_1.Date) {
throw new globals_1.Error('Not a valid value for date unmapper');
}
return (0, globals_1.safeGetTime)(value);
}
function timeToDateMapperWithNaN(valueForNaN) {
return (time) => {
return time === valueForNaN ? new globals_1.Date(safeNaN) : timeToDateMapper(time);
};
}
function timeToDateUnmapperWithNaN(valueForNaN) {
return (value) => {
const time = timeToDateUnmapper(value);
return safeNumberIsNaN(time) ? valueForNaN : time;
};
}
;