1.0.7 • Published 4 years ago

commodo-fields-date v1.0.7

Weekly downloads
239
License
MIT
Repository
github
Last release
4 years ago

commodo-fields-date

Build Status Coverage Status npm.io npm.io code style: prettier All Contributors PRs Welcome

A simple date field, used with the Commodo withFields higher order function.

Install

npm install --save commodo-fields-date

Or if you prefer yarn:

yarn add commodo-fields-date

Quick Example:

import { compose } from "ramda";
import { withFields, string } from "@commodo/fields";
import { date } from "commodo-fields-date";

const Company = compose(
  withFields({
    name: string(),
    foundedOn: date(), // Use it to store a single date.
    topMoments: date({ list: true }) // Or use it to store a list of dates.
    // Other fields you might need...
  }),
  // Other higher order functions (HOFs) you might need...
)();

const company = new Company();
company.name = "Acme Corporation";

// The date field can accept a Date object... 
company.foundedOn = new Date();
company.topMoments = [new Date(), new Date()];

// ...or an ISO 8601 formatted date/time string.
company.foundedOn =  "2020-04-18T15:50:44.205Z";
company.topMoments = [
  "2020-04-18T15:50:44.205Z",
  "2020-04-10T00:00:00.000Z",
  new Date()
];

// The following will throw the WithFieldsError error.
company.foundedOn =  "2020-04-18";
company.topMoments =  ["2020-04-18", new Date()];

Note: alternatively, you could've also used the populate method to assign the data:

const company = new Company();
company.populate = {
  foundedOn: new Date(),
  topMoments: [
    "2020-04-18T15:50:44.205Z",
    "2020-04-10T00:00:00.000Z",
    new Date()
  ]
};

Contributors

Thanks goes to these wonderful people (emoji key):

Adrian Smijulj💻 📖 💡 👀 ⚠️

This project follows the all-contributors specification. Contributions of any kind welcome!