A simple date field, used with the Commodo withFields
higher order function.
npm install --save commodo-fields-date
Or if you prefer yarn:
yarn add commodo-fields-date
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()
]
};
Thanks goes to these wonderful people (emoji key):
Adrian Smijulj 💻 📖 💡 👀 |
---|
This project follows the all-contributors specification. Contributions of any kind welcome!