diff --git a/deno/lib/README.md b/deno/lib/README.md index d153cec41..d0f0bd4f6 100644 --- a/deno/lib/README.md +++ b/deno/lib/README.md @@ -650,6 +650,7 @@ z.string().emoji(); z.string().uuid(); z.string().cuid(); z.string().cuid2(); +z.string().ulid(); z.string().regex(regex); z.string().includes(string); z.string().startsWith(string); diff --git a/deno/lib/__tests__/string.test.ts b/deno/lib/__tests__/string.test.ts index e7d1c23b5..b1959eac4 100644 --- a/deno/lib/__tests__/string.test.ts +++ b/deno/lib/__tests__/string.test.ts @@ -224,9 +224,9 @@ test("cuid2", () => { }); test("ulid", () => { - const cuid = z.string().cuid(); - cuid.parse("01ARZ3NDEKTSV4RRFFQ69G5FAV"); - const result = cuid.safeParse("invalidulid"); + const ulid = z.string().ulid(); + ulid.parse("01ARZ3NDEKTSV4RRFFQ69G5FAV"); + const result = ulid.safeParse("invalidulid"); expect(result.success).toEqual(false); if (!result.success) { expect(result.error.issues[0].message).toEqual("Invalid ulid"); @@ -270,6 +270,7 @@ test("checks getters", () => { expect(z.string().email().isCUID2).toEqual(false); expect(z.string().email().isUUID).toEqual(false); expect(z.string().email().isIP).toEqual(false); + expect(z.string().email().isULID).toEqual(false); expect(z.string().url().isEmail).toEqual(false); expect(z.string().url().isURL).toEqual(true); @@ -277,6 +278,7 @@ test("checks getters", () => { expect(z.string().url().isCUID2).toEqual(false); expect(z.string().url().isUUID).toEqual(false); expect(z.string().url().isIP).toEqual(false); + expect(z.string().url().isULID).toEqual(false); expect(z.string().cuid().isEmail).toEqual(false); expect(z.string().cuid().isURL).toEqual(false); @@ -284,6 +286,7 @@ test("checks getters", () => { expect(z.string().cuid().isCUID2).toEqual(false); expect(z.string().cuid().isUUID).toEqual(false); expect(z.string().cuid().isIP).toEqual(false); + expect(z.string().cuid().isULID).toEqual(false); expect(z.string().cuid2().isEmail).toEqual(false); expect(z.string().cuid2().isURL).toEqual(false); @@ -291,6 +294,7 @@ test("checks getters", () => { expect(z.string().cuid2().isCUID2).toEqual(true); expect(z.string().cuid2().isUUID).toEqual(false); expect(z.string().cuid2().isIP).toEqual(false); + expect(z.string().cuid2().isULID).toEqual(false); expect(z.string().uuid().isEmail).toEqual(false); expect(z.string().uuid().isURL).toEqual(false); @@ -298,6 +302,7 @@ test("checks getters", () => { expect(z.string().uuid().isCUID2).toEqual(false); expect(z.string().uuid().isUUID).toEqual(true); expect(z.string().uuid().isIP).toEqual(false); + expect(z.string().uuid().isULID).toEqual(false); expect(z.string().ip().isEmail).toEqual(false); expect(z.string().ip().isURL).toEqual(false); @@ -305,6 +310,15 @@ test("checks getters", () => { expect(z.string().ip().isCUID2).toEqual(false); expect(z.string().ip().isUUID).toEqual(false); expect(z.string().ip().isIP).toEqual(true); + expect(z.string().ip().isULID).toEqual(false); + + expect(z.string().ulid().isEmail).toEqual(false); + expect(z.string().ulid().isURL).toEqual(false); + expect(z.string().ulid().isCUID).toEqual(false); + expect(z.string().ulid().isCUID2).toEqual(false); + expect(z.string().ulid().isUUID).toEqual(false); + expect(z.string().ulid().isIP).toEqual(false); + expect(z.string().ulid().isULID).toEqual(true); }); test("min max getters", () => { diff --git a/deno/lib/types.ts b/deno/lib/types.ts index ade1fed27..2343bd809 100644 --- a/deno/lib/types.ts +++ b/deno/lib/types.ts @@ -866,7 +866,6 @@ export class ZodString extends ZodType { cuid2(message?: errorUtil.ErrMessage) { return this._addCheck({ kind: "cuid2", ...errorUtil.errToObj(message) }); } - ulid(message?: errorUtil.ErrMessage) { return this._addCheck({ kind: "ulid", ...errorUtil.errToObj(message) }); } @@ -874,7 +873,7 @@ export class ZodString extends ZodType { ip(options?: string | { version?: "v4" | "v6"; message?: string }) { return this._addCheck({ kind: "ip", ...errorUtil.errToObj(options) }); } - + datetime( options?: | string diff --git a/src/__tests__/string.test.ts b/src/__tests__/string.test.ts index 5e74bdfc5..51343a918 100644 --- a/src/__tests__/string.test.ts +++ b/src/__tests__/string.test.ts @@ -223,9 +223,9 @@ test("cuid2", () => { }); test("ulid", () => { - const cuid = z.string().cuid(); - cuid.parse("01ARZ3NDEKTSV4RRFFQ69G5FAV"); - const result = cuid.safeParse("invalidulid"); + const ulid = z.string().ulid(); + ulid.parse("01ARZ3NDEKTSV4RRFFQ69G5FAV"); + const result = ulid.safeParse("invalidulid"); expect(result.success).toEqual(false); if (!result.success) { expect(result.error.issues[0].message).toEqual("Invalid ulid"); @@ -269,6 +269,7 @@ test("checks getters", () => { expect(z.string().email().isCUID2).toEqual(false); expect(z.string().email().isUUID).toEqual(false); expect(z.string().email().isIP).toEqual(false); + expect(z.string().email().isULID).toEqual(false); expect(z.string().url().isEmail).toEqual(false); expect(z.string().url().isURL).toEqual(true); @@ -276,6 +277,7 @@ test("checks getters", () => { expect(z.string().url().isCUID2).toEqual(false); expect(z.string().url().isUUID).toEqual(false); expect(z.string().url().isIP).toEqual(false); + expect(z.string().url().isULID).toEqual(false); expect(z.string().cuid().isEmail).toEqual(false); expect(z.string().cuid().isURL).toEqual(false); @@ -283,6 +285,7 @@ test("checks getters", () => { expect(z.string().cuid().isCUID2).toEqual(false); expect(z.string().cuid().isUUID).toEqual(false); expect(z.string().cuid().isIP).toEqual(false); + expect(z.string().cuid().isULID).toEqual(false); expect(z.string().cuid2().isEmail).toEqual(false); expect(z.string().cuid2().isURL).toEqual(false); @@ -290,6 +293,7 @@ test("checks getters", () => { expect(z.string().cuid2().isCUID2).toEqual(true); expect(z.string().cuid2().isUUID).toEqual(false); expect(z.string().cuid2().isIP).toEqual(false); + expect(z.string().cuid2().isULID).toEqual(false); expect(z.string().uuid().isEmail).toEqual(false); expect(z.string().uuid().isURL).toEqual(false); @@ -297,6 +301,7 @@ test("checks getters", () => { expect(z.string().uuid().isCUID2).toEqual(false); expect(z.string().uuid().isUUID).toEqual(true); expect(z.string().uuid().isIP).toEqual(false); + expect(z.string().uuid().isULID).toEqual(false); expect(z.string().ip().isEmail).toEqual(false); expect(z.string().ip().isURL).toEqual(false); @@ -304,6 +309,15 @@ test("checks getters", () => { expect(z.string().ip().isCUID2).toEqual(false); expect(z.string().ip().isUUID).toEqual(false); expect(z.string().ip().isIP).toEqual(true); + expect(z.string().ip().isULID).toEqual(false); + + expect(z.string().ulid().isEmail).toEqual(false); + expect(z.string().ulid().isURL).toEqual(false); + expect(z.string().ulid().isCUID).toEqual(false); + expect(z.string().ulid().isCUID2).toEqual(false); + expect(z.string().ulid().isUUID).toEqual(false); + expect(z.string().ulid().isIP).toEqual(false); + expect(z.string().ulid().isULID).toEqual(true); }); test("min max getters", () => {