Browse plugins

plugin-validate-date

A Flatfile plugin for normalizing date formats

Install
npm i @flatfile/plugin-validate-date
Source:
View source
Package:
@flatfile/plugin-validate-date 5 installs
Dependencies
@flatfile/plugin-record-hook@^1.10.0, chrono-node@^2.7.7 (+1 more)

The @flatfile/plugin-validate-date plugin provides date format normalization functionality for Flatfile. It detects various date formats and converts them to a specified output format, supporting multiple fields and locales.

Event Type: listener.on('commit:created')

Parameters

config.sheetSlug - string - default: ** - (optional)

The sheetSlug parameter is the slug of the sheet to apply the normalizer to. If not provided, it will apply to all sheets.

config.dateFields - string[]

The dateFields parameter is an array of field names that contain date values to be normalized.

config.outputFormat - string

The outputFormat parameter specifies the desired output format for the normalized dates.

config.includeTime - boolean

The includeTime parameter determines whether to include time in the normalized output.

config.locale - string - (optional)

The locale parameter specifies the locale to use for date parsing. Currently, only 'en-US' is supported.

Usage

npm install @flatfile/plugin-validate-date

Import

import { validateDate } from '@flatfile/plugin-validate-date'

Example Usage

This example sets up the date format normalizer for the "contacts" sheet, normalizing the "birthdate" and "registration_date" fields to the "MM/DD/YYYY" format.

import { FlatfileListener } from '@flatfile/listener'
import { validateDate } from '@flatfile/plugin-validate-date'

export default function (listener: FlatfileListener) {
  listener.use(
    validateDate({
      sheetSlug: 'contacts',
      dateFields: ['birth_date', 'registration_date'],
      outputFormat: 'MM/dd/yyyy',
      includeTime: false
    })
  )
}

Notes

  • The plugin uses the chrono-node library for parsing dates, which supports a wide range of date formats.
  • If a date cannot be parsed, the plugin will add an error message to the record for that field.
  • The locale parameter is included in the configuration interface but is not currently used in the implementation. The plugin defaults to using the 'en-US' locale.