MCPcopy Create free account
hub / github.com/Effect-TS/effect / makeUnion

Function makeUnion

packages/effect/src/Schema.ts:4864–4884  ·  view source on GitHub ↗
(
  ast: SchemaAST.Union<Members[number]["ast"]>,
  members: Members
)

Source from the content-addressed store, hash-verified

4862}
4863
4864function makeUnion<Members extends ReadonlyArray<Constraint>>(
4865 ast: SchemaAST.Union<Members[number]["ast"]>,
4866 members: Members
4867): Union<Members> {
4868 return make(ast, {
4869 members,
4870 mapMembers<To extends ReadonlyArray<Constraint>>(
4871 this: Union<Members>,
4872 f: (members: Members) => To,
4873 options?: {
4874 readonly unsafePreserveChecks?: boolean | undefined
4875 } | undefined
4876 ): Union<Simplify<Readonly<To>>> {
4877 const members = f(this.members)
4878 return makeUnion(
4879 SchemaAST.union(members, this.ast.mode, options?.unsafePreserveChecks ? this.ast.checks : undefined),
4880 members
4881 )
4882 }
4883 })
4884}
4885
4886/**
4887 * Creates a union schema from an array of member schemas. Members are tested in

Callers 2

mapMembersFunction · 0.85
UnionFunction · 0.85

Calls 1

makeFunction · 0.70

Tested by

no test coverage detected