UNPKG

@ceramicnetwork/codecs

Version:

Ceramic Codecs

21 lines 816 B
import { Type } from 'codeco'; export const date = new Type('Date-as-ISOString', (input) => input instanceof Date, function (input, context) { if (this.is(input)) return context.success(input); if (typeof input === 'string') { const parsed = new Date(input); const isParsingSuccessful = Number.isFinite(parsed.valueOf()); if (isParsingSuccessful) return context.success(parsed); } return context.failure(); }, (input) => input.toISOString()); export const dateAsUnix = new Type('Date-as-UnixTimestamp', (input) => Boolean(input && input instanceof Date), (input, context) => { try { return context.success(new Date(input)); } catch { return context.failure(); } }, (date) => date.getTime()); //# sourceMappingURL=date.js.map