Hyperlinkv0.8.0-beta.28

SchemaTransformation

SchemaTransformation.dateFromMillisconsteffect/SchemaTransformation.ts:920
Transformation<Date, number, never, never>

Decodes epoch milliseconds into a Date and encodes a Date back to epoch milliseconds.

When to use

Use when you need a schema transformation for numeric timestamps represented as milliseconds since the Unix epoch.

Details

Decoding creates a Date from the number like new Date(ms). Encoding returns the Date timestamp like date.getTime().

Gotchas

This transformation does not validate date validity. NaN, Infinity, and -Infinity decode to invalid Date instances.

Example (Converting milliseconds to a Date)

import { Schema, SchemaTransformation } from "effect"

const schema = Schema.Number.pipe(
  Schema.decodeTo(Schema.Date, SchemaTransformation.dateFromMillis)
)
export const dateFromMillis: Transformation<globalThis.Date, number> = new Transformation(
  SchemaGetter.Date(),
  SchemaGetter.transform((date) => date.getTime())
)
Referenced by 1 symbols