Hyperlinkv0.8.0-beta.28

SchemaGetter

SchemaGetter.dateTimeUtcFromInputfunctioneffect/SchemaGetter.ts:1524
<E extends DateTime.DateTime.Input>(): Getter<DateTime.Utc, E>

Parses a DateTime.Input value into a DateTime.Utc.

When to use

Use when you need a schema getter to decode a present encoded date/time value to a DateTime.Utc.

Details

  • Accepted input includes existing DateTime values, partial date/time parts, instant objects, zoned instant objects, JavaScript Date instances, epoch milliseconds, and date strings.
  • Converts successfully parsed values to UTC.
  • Fails with SchemaIssue.InvalidValue if the input cannot be parsed as a valid DateTime.

Example (Parsing DateTime)

import { SchemaGetter } from "effect"

const parseDate = SchemaGetter.dateTimeUtcFromInput<string>()
// Getter<DateTime.Utc, string>
DateTimeDate
export function dateTimeUtcFromInput<E extends DateTime.DateTime.Input>(): Getter<DateTime.Utc, E> {
  return transformOrFail((input) => {
    return Option.match(DateTime.make(input), {
      onNone: () =>
        Effect.fail(new SchemaIssue.InvalidValue(Option.some(input), { message: "Invalid DateTime input" })),
      onSome: (dt) => Effect.succeed(DateTime.toUtc(dt))
    })
  })
}
Referenced by 2 symbols