fp-ts-std
Version:
The missing pseudo-standard library for fp-ts.
28 lines (27 loc) • 1.82 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.now = exports.parseDate = exports.isValid = exports.isDate = exports.toUTCString = exports.toISOString = exports.getTime = exports.fromMilliseconds = exports.unMilliseconds = exports.mkMilliseconds = exports.isoMilliseconds = exports.fieldMilliseconds = exports.ordMilliseconds = exports.unsafeParseDate = void 0;
const Date_1 = require("fp-ts/Date");
const IO = require("fp-ts/IO");
const function_1 = require("fp-ts/function");
const number_1 = require("fp-ts/number");
const newtype_ts_1 = require("newtype-ts");
const Number_1 = require("./Number");
const O = require("fp-ts/Option");
const Function_1 = require("./Function");
const Newtype_1 = require("./Newtype");
const unsafeParseDate = (x) => (0, Function_1.construct)(Date)([x]);
exports.unsafeParseDate = unsafeParseDate;
exports.ordMilliseconds = (0, newtype_ts_1.getOrd)(number_1.Ord);
exports.fieldMilliseconds = (0, newtype_ts_1.getField)(number_1.Field);
exports.isoMilliseconds = (0, newtype_ts_1.iso)();
exports.mkMilliseconds = Newtype_1.pack;
exports.unMilliseconds = Newtype_1.unpack;
exports.fromMilliseconds = (0, function_1.flow)(exports.unMilliseconds, exports.unsafeParseDate);
exports.getTime = (0, function_1.flow)((0, Function_1.invokeOn)()("getTime")([]), exports.mkMilliseconds);
exports.toISOString = (0, Function_1.invokeOn)()("toISOString")([]);
exports.toUTCString = (0, Function_1.invokeOn)()("toUTCString")([]);
exports.isDate = (0, Function_1.isInstanceOf)(Date);
exports.isValid = (0, function_1.flow)(exports.getTime, exports.unMilliseconds, Number_1.isValid);
exports.parseDate = (0, function_1.flow)(exports.unsafeParseDate, O.fromPredicate(exports.isValid));
exports.now = (0, function_1.pipe)(Date_1.now, IO.map(exports.mkMilliseconds));
;