frontend/utils/validators.ts
2024-06-15 22:33:05 -10:00

32 lines
722 B
TypeScript

import {
caseInsensitive,
char,
createRegExp,
digit,
exactly,
global,
letter,
multiline,
oneOrMore,
} from "magic-regexp";
export const emojiValidator = createRegExp(
// A-Z a-z 0-9 _ -
oneOrMore(letter.or(digit).or(exactly("_")).or(exactly("-"))),
[caseInsensitive, global],
);
export const partiallyTypedEmojiValidator = createRegExp(
exactly(":"),
oneOrMore(letter.or(digit).or(exactly("_")).or(exactly("-"))).notBefore(
char,
),
[caseInsensitive, multiline],
);
export const partiallyTypedMentionValidator = createRegExp(
exactly("@"),
oneOrMore(letter.or(digit).or(exactly("_"))).notBefore(char),
[caseInsensitive, multiline],
);