UNPKG

fp-ts-std

Version:

The missing pseudo-standard library for fp-ts.

28 lines (27 loc) 1.82 kB
"use strict"; 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));