misc: moved regex use to re2

This commit is contained in:
Sheen Capadngan
2025-04-22 01:38:21 +08:00
parent eba12912f8
commit c15a1c6ed3
17 changed files with 826 additions and 44 deletions
+6
View File
@@ -1,3 +1,4 @@
import RE2 from "re2";
import { z, ZodTypeAny } from "zod";
// this is a patched zod string to remove empty string to undefined
@@ -11,3 +12,8 @@ export const zpStr = <T extends ZodTypeAny>(schema: T, opt: { stripNull: boolean
export const zodBuffer = z.custom<Buffer>((data) => Buffer.isBuffer(data) || data instanceof Uint8Array, {
message: "Expected binary data (Buffer Or Uint8Array)"
});
export const re2Validator = (pattern: string | RegExp) => {
const re2Pattern = new RE2(pattern);
return (value: string) => re2Pattern.test(value);
};