| 12345678910111213141516171819202122232425262728293031323334353637383940414243 | import { strings } from '../constants';import { getDefaultFormatTokenByType } from './getDefaultFormatToken';/** * 获取 insetInput 输入框的 placeholder * Get the placeholder of the insetInput input *  * If type is time related, we only recognize the format like `dateFormat timeFormat` *  - 'yyyy-MM-dd HH:mm:ss' // ok *  - 'yyyy-MM-dd  HH:mm:ss' // bad format *  * @example * 'yyyy-MM-dd' => 'yyyy-MM-dd' * 'yyyy-MM' => 'yyyy-MM' * 'yyyy-MM-dd HH:mm:ss' => 'yyyy-MM-dd HH:mm:ss' * 'yyyy-MM-dd HH:mm' => 'yyyy-MM-dd HH:mm' * 'Pp' => 'yyyy-MM-dd' */export default function getInsetInputFormatToken(options: { format: string; type: typeof strings.TYPE_SET[number] }) {    const { format, type } = options;    const dateReg = /([yMd]{0,4}[^a-z\s]*[yMd]{0,4}[^a-z\s]*[yMd]{0,4})/i;    const dateTimeReg = /([yMd]{0,4}[^a-z\s]*[yMd]{0,4}[^a-z\s]*[yMd]{0,4}) (H{0,2}[^a-z\s]*m{0,2}[^a-z\s]*s{0,2})/i;    const defaultToken = getDefaultFormatTokenByType(type);    let insetInputFormat: string;    switch (type) {        case 'dateTime':        case 'dateTimeRange':            const dateTimeResult = dateTimeReg.exec(format);            insetInputFormat = (dateTimeResult && dateTimeResult[1] && dateTimeResult[2]) ? `${dateTimeResult[1]} ${dateTimeResult[2]}` : defaultToken;            break;        case 'date':        case 'month':        case 'monthRange':        case 'dateRange':        default:            const dateResult = dateReg.exec(format);            insetInputFormat = dateResult && dateResult[1] || defaultToken;            break;    }    return insetInputFormat;}
 |