UNPKG

@taiga-ui/kit

Version:
33 lines 5.28 kB
/** * Adjusts the entered time by omitting only suitable values ​​for hours and minutes * @returns time as a string */ export function tuiCreateAutoCorrectedTimePipe(timeMode) { if (timeMode === void 0) { timeMode = 'HH:MM'; } var timeFormatArray = ['HH', 'MM', 'SS', 'MS']; var maxValue = { HH: 23, MM: 59, SS: 59, MS: 999 }; return function (conformedValue) { var indexesOfPipedChars = []; var conformedValueArr = conformedValue.split(''); timeFormatArray.forEach(function (format) { var position = timeMode.indexOf(format); var maxFirstDigit = parseInt(maxValue[format].toString().substr(0, 1), 10); if (parseInt(conformedValueArr[position], 10) > maxFirstDigit) { conformedValueArr[position + 1] = conformedValueArr[position]; conformedValueArr[position] = '0'; indexesOfPipedChars.push(position); } }); var isInvalid = timeFormatArray.some(function (format) { return parseInt(conformedValue.substr(timeMode.indexOf(format), 2), 10) > maxValue[format]; }); return isInvalid ? false : { value: conformedValueArr.join(''), indexesOfPipedChars: indexesOfPipedChars, }; }; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLWF1dG8tY29ycmVjdGVkLXRpbWUtcGlwZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9raXQvdXRpbHMvbWFzay8iLCJzb3VyY2VzIjpbImNyZWF0ZS1hdXRvLWNvcnJlY3RlZC10aW1lLXBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0E7OztHQUdHO0FBQ0gsTUFBTSxVQUFVLDhCQUE4QixDQUMxQyxRQUErQjtJQUEvQix5QkFBQSxFQUFBLGtCQUErQjtJQUUvQixJQUFNLGVBQWUsR0FBNkIsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztJQUMzRSxJQUFNLFFBQVEsR0FBRyxFQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxHQUFHLEVBQUMsQ0FBQztJQUVuRCxPQUFPLFVBQUMsY0FBc0I7UUFDMUIsSUFBTSxtQkFBbUIsR0FBYSxFQUFFLENBQUM7UUFDekMsSUFBTSxpQkFBaUIsR0FBRyxjQUFjLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBRW5ELGVBQWUsQ0FBQyxPQUFPLENBQUMsVUFBQSxNQUFNO1lBQzFCLElBQU0sUUFBUSxHQUFHLFFBQVEsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDMUMsSUFBTSxhQUFhLEdBQUcsUUFBUSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBRTdFLElBQUksUUFBUSxDQUFDLGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxHQUFHLGFBQWEsRUFBRTtnQkFDM0QsaUJBQWlCLENBQUMsUUFBUSxHQUFHLENBQUMsQ0FBQyxHQUFHLGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxDQUFDO2dCQUM5RCxpQkFBaUIsQ0FBQyxRQUFRLENBQUMsR0FBRyxHQUFHLENBQUM7Z0JBQ2xDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQzthQUN0QztRQUNMLENBQUMsQ0FBQyxDQUFDO1FBRUgsSUFBTSxTQUFTLEdBQUcsZUFBZSxDQUFDLElBQUksQ0FDbEMsVUFBQSxNQUFNO1lBQ0YsT0FBQSxRQUFRLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQztnQkFDaEUsUUFBUSxDQUFDLE1BQU0sQ0FBQztRQURoQixDQUNnQixDQUN2QixDQUFDO1FBRUYsT0FBTyxTQUFTO1lBQ1osQ0FBQyxDQUFDLEtBQUs7WUFDUCxDQUFDLENBQUM7Z0JBQ0ksS0FBSyxFQUFFLGlCQUFpQixDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7Z0JBQ2pDLG1CQUFtQixxQkFBQTthQUN0QixDQUFDO0lBQ1osQ0FBQyxDQUFDO0FBQ04sQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7VHVpVGltZU1vZGV9IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHtUdWlUZXh0TWFza1BpcGVIYW5kbGVyfSBmcm9tICdAdGFpZ2EtdWkvY29yZSc7XG5cbi8qKlxuICogQWRqdXN0cyB0aGUgZW50ZXJlZCB0aW1lIGJ5IG9taXR0aW5nIG9ubHkgc3VpdGFibGUgdmFsdWVzIOKAi+KAi2ZvciBob3VycyBhbmQgbWludXRlc1xuICogQHJldHVybnMgdGltZSBhcyBhIHN0cmluZ1xuICovXG5leHBvcnQgZnVuY3Rpb24gdHVpQ3JlYXRlQXV0b0NvcnJlY3RlZFRpbWVQaXBlKFxuICAgIHRpbWVNb2RlOiBUdWlUaW1lTW9kZSA9ICdISDpNTScsXG4pOiBUdWlUZXh0TWFza1BpcGVIYW5kbGVyIHtcbiAgICBjb25zdCB0aW1lRm9ybWF0QXJyYXk6IFsnSEgnLCAnTU0nLCAnU1MnLCAnTVMnXSA9IFsnSEgnLCAnTU0nLCAnU1MnLCAnTVMnXTtcbiAgICBjb25zdCBtYXhWYWx1ZSA9IHtISDogMjMsIE1NOiA1OSwgU1M6IDU5LCBNUzogOTk5fTtcblxuICAgIHJldHVybiAoY29uZm9ybWVkVmFsdWU6IHN0cmluZykgPT4ge1xuICAgICAgICBjb25zdCBpbmRleGVzT2ZQaXBlZENoYXJzOiBudW1iZXJbXSA9IFtdO1xuICAgICAgICBjb25zdCBjb25mb3JtZWRWYWx1ZUFyciA9IGNvbmZvcm1lZFZhbHVlLnNwbGl0KCcnKTtcblxuICAgICAgICB0aW1lRm9ybWF0QXJyYXkuZm9yRWFjaChmb3JtYXQgPT4ge1xuICAgICAgICAgICAgY29uc3QgcG9zaXRpb24gPSB0aW1lTW9kZS5pbmRleE9mKGZvcm1hdCk7XG4gICAgICAgICAgICBjb25zdCBtYXhGaXJzdERpZ2l0ID0gcGFyc2VJbnQobWF4VmFsdWVbZm9ybWF0XS50b1N0cmluZygpLnN1YnN0cigwLCAxKSwgMTApO1xuXG4gICAgICAgICAgICBpZiAocGFyc2VJbnQoY29uZm9ybWVkVmFsdWVBcnJbcG9zaXRpb25dLCAxMCkgPiBtYXhGaXJzdERpZ2l0KSB7XG4gICAgICAgICAgICAgICAgY29uZm9ybWVkVmFsdWVBcnJbcG9zaXRpb24gKyAxXSA9IGNvbmZvcm1lZFZhbHVlQXJyW3Bvc2l0aW9uXTtcbiAgICAgICAgICAgICAgICBjb25mb3JtZWRWYWx1ZUFycltwb3NpdGlvbl0gPSAnMCc7XG4gICAgICAgICAgICAgICAgaW5kZXhlc09mUGlwZWRDaGFycy5wdXNoKHBvc2l0aW9uKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgY29uc3QgaXNJbnZhbGlkID0gdGltZUZvcm1hdEFycmF5LnNvbWUoXG4gICAgICAgICAgICBmb3JtYXQgPT5cbiAgICAgICAgICAgICAgICBwYXJzZUludChjb25mb3JtZWRWYWx1ZS5zdWJzdHIodGltZU1vZGUuaW5kZXhPZihmb3JtYXQpLCAyKSwgMTApID5cbiAgICAgICAgICAgICAgICBtYXhWYWx1ZVtmb3JtYXRdLFxuICAgICAgICApO1xuXG4gICAgICAgIHJldHVybiBpc0ludmFsaWRcbiAgICAgICAgICAgID8gZmFsc2VcbiAgICAgICAgICAgIDoge1xuICAgICAgICAgICAgICAgICAgdmFsdWU6IGNvbmZvcm1lZFZhbHVlQXJyLmpvaW4oJycpLFxuICAgICAgICAgICAgICAgICAgaW5kZXhlc09mUGlwZWRDaGFycyxcbiAgICAgICAgICAgICAgfTtcbiAgICB9O1xufVxuIl19