@prismicio/types-internal
Version:
Prismic types for Custom Types and Prismic Data
12 lines (11 loc) • 565 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const tslib_1 = require("tslib");
const Either_1 = require("fp-ts/Either");
const function_1 = require("fp-ts/function");
const t = (0, tslib_1.__importStar)(require("io-ts"));
const _1 = require(".");
exports.default = new t.Type("dateFromString", (u) => u instanceof Date, (u, c) => (0, function_1.pipe)(_1.String.validate(u, c), (0, Either_1.chain)((s) => {
const d = new Date(s);
return isNaN(d.getTime()) ? t.failure(u, c) : t.success(d);
})), (date) => date.toISOString());