vuestic-ui
Version:
Vue 3 UI Framework
29 lines (28 loc) • 971 B
TypeScript
import { type Mask } from '../mask';
import { Token } from './parser';
export type RegexToken = {
/**
* Char means it is single char and we can compare input value using simple `===`
* Regex means we need to use regex to compare input value (e.g. `\d`, `[a-z]`)
*/
type: 'char' | 'regex';
/**
* Expected character or regex source
*/
expect: string;
/**
* Static means users forced to input this char, meaning masked input can suggest this char
*/
static: boolean;
/**
* Dynamic means this char is not forced and can be skipped
*/
dynamic: boolean;
};
type PossibleResult = RegexToken[];
export declare const normalizeTokens: (tokens: Token[], dynamic?: boolean) => PossibleResult[];
export declare const compareWithMask: (mask: PossibleResult, value: string) => boolean;
export declare const createRegexMask: (regex: RegExp, options?: {
reverse: boolean;
}) => Mask<RegexToken>;
export {};