UNPKG

semantic-ui-calendar-react

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