UNPKG

semantic-ui-calendar-react

Version:
77 lines (76 loc) 2.42 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var _ = require("lodash"); var moment = require("moment"); exports.TIME_FORMAT = { 24: 'HH:mm', AMPM: 'hh:mm A', ampm: 'hh:mm a', }; /** Parse string, moment, Date. * * Return unedfined on invalid input. */ function parseValue(value, dateFormat) { if (!_.isNil(value) && !_.isNil(dateFormat)) { var date = moment(value, dateFormat); if (date.isValid()) { return date; } } } exports.parseValue = parseValue; /** Parse string, moment, Date, string[], moment[], Date[]. * * Return array of moments. Returned value contains only valid moments. * Return undefined if none of the input values are valid. */ function parseArrayOrValue(data, dateFormat) { if (_.isArray(data)) { var parsed = _.compact(data.map(function (item) { return parseValue(item, dateFormat); })); if (parsed.length > 0) { return parsed; } } var parsedValue = parseValue(data, dateFormat); return parsedValue && [parsedValue]; } exports.parseArrayOrValue = parseArrayOrValue; /** Create moment. * * Creates moment using `dateParams` or `initialDate` arguments (if provided). * Precedense order: dateParams -> initialDate -> default value */ function getInitializer(context) { var dateParams = context.dateParams, initialDate = context.initialDate, dateFormat = context.dateFormat; if (dateParams) { var parsedParams = moment(dateParams); if (parsedParams.isValid()) { return parsedParams; } } var parsedInitialDate = parseValue(initialDate, dateFormat); if (parsedInitialDate) { return parsedInitialDate; } return moment(); } exports.getInitializer = getInitializer; /** Return initial date if `value` is empty and if `initialDate` provided. */ function chooseValue(value, initialDate) { if (value === '' && initialDate) { return initialDate; } return value; } exports.chooseValue = chooseValue; function dateValueToString(value, dateFormat) { if (_.isString(value)) { return value; } if (moment.isMoment(value)) { return value.format(dateFormat); } return moment(value, dateFormat).format(dateFormat); } exports.dateValueToString = dateValueToString;