routie dev init since i didn't adhere to any proper guidance up until now
This commit is contained in:
+33
@@ -0,0 +1,33 @@
|
||||
import type { PropType } from 'vue';
|
||||
export interface MaskProps {
|
||||
mask: string | MaskOptions | undefined;
|
||||
}
|
||||
export interface MaskOptions {
|
||||
mask: string;
|
||||
tokens: Record<string, MaskItem>;
|
||||
}
|
||||
export declare const makeMaskProps: <Defaults extends {
|
||||
mask?: unknown;
|
||||
} = {}>(defaults?: Defaults | undefined) => {
|
||||
mask: unknown extends Defaults["mask"] ? PropType<string | MaskOptions> : {
|
||||
type: PropType<unknown extends Defaults["mask"] ? string | MaskOptions : string | MaskOptions | Defaults["mask"]>;
|
||||
default: unknown extends Defaults["mask"] ? string | MaskOptions : Defaults["mask"] | NonNullable<string | MaskOptions>;
|
||||
};
|
||||
};
|
||||
export type MaskItem = {
|
||||
convert?: (char: string) => string;
|
||||
} & ({
|
||||
pattern?: never;
|
||||
test: (char: string) => boolean;
|
||||
} | {
|
||||
pattern: RegExp;
|
||||
test?: never;
|
||||
});
|
||||
export declare const defaultDelimiters: RegExp;
|
||||
export declare function useMask(props: MaskProps): {
|
||||
isDelimiter: (text: string, index: number) => boolean;
|
||||
isValid: (text: string) => boolean;
|
||||
isComplete: (text: string) => boolean;
|
||||
mask: (text: string | null | undefined) => string;
|
||||
unmask: (text: string | null) => string | null;
|
||||
};
|
||||
Reference in New Issue
Block a user