GithubHelp home page GithubHelp logo

is-isodatetime's Introduction

is-isodatetime

A Type Validator for ISO Date & Datetime

Usage

Validate

import { isValidISODateTime } from "is-isodatetime";

isValidISODateTime('2022-09-14T10:22:30.370Z'); // true
isValidISODateTime('asdasd'); // false

Transform

import { toISODateTime } from "is-isodatetime";



toISODateTime('2022-09-14T10:22:30.370Z'); // '2022-09-14T10:22:30.370Z'

const now = new Date();
isValidISODateTime(now); // '2022-09-14T10:22:30.370Z'

With Zod

import { z } from "zod";
import { isValidISODateTime } from "is-isodatetime";

export const isoDatetimeToDate = z
  .string()
  .refine(isValidISODateTime)
  .transform((s) => new Date(s));

With io-ts

import * as io from 'io-ts';
import { either } from 'fp-ts/lib/Either';
import { parseISO } from 'date-fns';
import { isValidISODateTime } from "is-isodatetime";

export const isoDateTimeFromIsoString = new io.Type<ISODateTimeType, string, unknown>(
  'ISODateTimeFromISOString',
  (u): u is ISODateTimeType => io.string.is(u) && parseISO(u) instanceof Date,
  (u, c) => either.chain(io.string.validate(u, c), (s) => {
    try {
      return io.success(toISODateTime(s));
    } catch (e) {
      return io.failure(u, c);
    }
  }),
  String,
);

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.