Skip to main content
Not every Effect Schema is valid for use in Confect. Remember that an Effect Schema looks like this:
For Schemas used in Confect:
  • Type represents the value that you’ll be operating on in your code. Any TypeScript type is permitted here.
  • Encoded represents the value that is stored in the database or serialized as the argument/output of a Convex function. This must be a valid Convex value.
  • Context is not currently supported. It should always be never.

Additional caveats

No-op returns from Convex functions

Unlike the vanilla APIs, Convex functions defined with Confect may not return undefined or voidβ€”use null (Schema.Null as the returns validator) instead. Convex coerces undefined/void returns to null anywaysβ€”this just makes that more explicit.
βœ…
❌
❌