/**
 * Все ли части строки по маске заполнены цифрами полностью (без промежуточных состояний IMask).
 */
export const isMaskedDateSyntacticallyComplete = (value, mask, separator = '.') => {
    if (!value) {
        return false;
    }
    const maskParts = mask.split(separator);
    const valueParts = value.split(separator);
    if (maskParts.length !== valueParts.length) {
        return false;
    }
    return maskParts.every((maskPart, index) => {
        const part = valueParts[index];
        return (part.length === maskPart.length && part.length > 0 && /^\d+$/.test(part));
    });
};
