diff --git a/src/Schema/Email.ts b/src/Schema/Email.ts new file mode 100644 index 0000000..7762efd --- /dev/null +++ b/src/Schema/Email.ts @@ -0,0 +1,12 @@ +import { Schema } from "@effect/schema" + + +export const Email = Schema.pattern( + /^(?!\.)(?!.*\.\.)([A-Z0-9_+-.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9-]*\.)+[A-Z]{2,}$/i, + + { + identifier: "Email", + title: "email", + message: () => "Not an email address", + }, +) diff --git a/src/Schema/index.ts b/src/Schema/index.ts index b047a9e..a66cc17 100644 --- a/src/Schema/index.ts +++ b/src/Schema/index.ts @@ -1,5 +1,6 @@ export * from "./Class" export * from "./DateTime" +export * from "./Email" export * from "./encodedAsPrismaJsonValue" export * from "./Kind" export * as MobX from "./MobX"