<Client = Derive>(): <P extends Schema.Top>(
payload: NarrowedPayload<P, Client>
) => Method<
P,
typeof Schema.Void,
typeof Schema.Never,
false,
MethodAnnotations,
Client
>
<const C extends EffectFnWireConfig>(config: C): Method<
C["payload"] extends Schema.Struct.Fields
? C["payload"]
: C["payload"] extends Schema.Top
? C["payload"]
: never,
C["success"] extends Schema.Top ? C["success"] : typeof Schema.Void,
C["error"] extends Schema.Top ? C["error"] : typeof Schema.Never
>
<P extends Schema.Top>(payload: RequiredPayloadSchema<P>): Method<
P,
typeof Schema.Void,
typeof Schema.Never
>
<P extends Schema.Top, Su extends Schema.Top>(
payload: RequiredPayloadSchema<P>,
success: Su
): Method<P, Su, Schema.Never>
<P extends Schema.Top, Su extends Schema.Top, E extends Schema.Top>(
payload: RequiredPayloadSchema<P>,
success: Su,
error: E
): Method<P, Su, E>
<const F extends Schema.Struct.Fields>(
payload: RequiredPayloadFields<F>
): Method<F, typeof Schema.Void, typeof Schema.Never>
<const F extends Schema.Struct.Fields, Su extends Schema.Top>(
payload: RequiredPayloadFields<F>,
success: Su
): Method<F, Su, Schema.Never>
<
const F extends Schema.Struct.Fields,
Su extends Schema.Top,
E extends Schema.Top
>(
payload: RequiredPayloadFields<F>,
success: Su,
error: E
): Method<F, Su, E>Two-stage effectFn — override the client-facing type with a Client that must narrow
the schema-derived shape: effectFn<Client>()(payload). Reshape freely (e.g. add overloads), but a
Client that would accept payloads the wire rejects fails to compile (payload resolves to never).
For an override that can't be a narrowing (a generic library), use unsafeEffectFn.
export function function effectFn<Client = Derive>(): <P extends Schema.Top>(payload: NarrowedPayload<P, Client>) => Method<P, typeof Schema.Void, typeof Schema.Never, false, MethodAnnotations, Client> (+7 overloads)Two-stage
effectFn
— override the client-facing type with a Client that must narrow
the schema-derived shape: effectFn<Client>()(payload). Reshape freely (e.g. add overloads), but a
Client that would accept payloads the wire rejects fails to compile (payload resolves to never).
For an override that can't be a narrowing (a generic library), use
unsafeEffectFn
.
effectFn<function (type parameter) Client in effectFn<Client = Derive>(): <P extends Schema.Top>(payload: NarrowedPayload<P, Client>) => Method<P, typeof Schema.Void, typeof Schema.Never, false, MethodAnnotations, Client>Client = Derive>(): <function (type parameter) P in <P extends Schema.Top>(payload: NarrowedPayload<P, Client>): Method<P, typeof Schema.Void, typeof Schema.Never, false, MethodAnnotations, Client>P extends import SchemaSchema.Top>(
payload: NarrowedPayload<P, Client>payload: type NarrowedPayload<
P extends Schema.Top,
Client
> = [Client] extends [Derive]
? RequiredPayloadSchema<P>
: [Client] extends [MutateDerived<P>]
? RequiredPayloadSchema<P>
: never
NarrowedPayload<function (type parameter) P in <P extends Schema.Top>(payload: NarrowedPayload<P, Client>): Method<P, typeof Schema.Void, typeof Schema.Never, false, MethodAnnotations, Client>P, function (type parameter) Client in effectFn<Client = Derive>(): <P extends Schema.Top>(payload: NarrowedPayload<P, Client>) => Method<P, typeof Schema.Void, typeof Schema.Never, false, MethodAnnotations, Client>Client>,
) => interface Method<P extends Schema.Struct.Fields | Schema.Top | undefined, Su extends Schema.Top, E extends Schema.Top, Str extends boolean = false, Ann extends MethodAnnotations = MethodAnnotations, Client = Derive>One method of a resource contract — built by
effect
/
effectFn
/
Hyperlink.stream
. Carries its kind, schemas
(payload / success / error), whether it's a stream (a push source vs a one-shot
read), and tool annotations. .annotate({...}) returns a copy with merged annotations,
mirroring Effect's schema idiom.
For a streaming method, success is the element schema and error is the stream
error schema — they become an RpcSchema.Stream on the wire, and the service member
surfaces as a Stream rather than an Effect.
Method<function (type parameter) P in <P extends Schema.Top>(payload: NarrowedPayload<P, Client>): Method<P, typeof Schema.Void, typeof Schema.Never, false, MethodAnnotations, Client>P, typeof import SchemaSchema.const Void: Schema.Voidconst Void: {
Rebuild: Rebuild;
Iso: Iso;
ast: Ast;
Type: T;
Encoded: E;
DecodingServices: RD;
EncodingServices: RE;
annotate: (annotations: Schema.Annotations.Bottom<void, readonly []>) => Schema.Void;
annotateKey: (annotations: Schema.Annotations.Key<void>) => Schema.Void;
check: (checks_0: Check<void>, ...checks: Array<Check<void>>) => Schema.Void;
rebuild: (ast: Void) => Schema.Void;
make: (input: void, options?: Schema.MakeOptions) => void;
makeOption: (input: void, options?: Schema.MakeOptions) => Option.Option<void>;
makeEffect: (input: void, options?: Schema.MakeOptions) => Effect.Effect<void, Schema.SchemaError, never>;
pipe: { <A>(this: A): A; <A, B = never>(this: A, ab: (_: A) => B): B; <A, B = never, C = never>(this: A, ab: (_: A) => B, bc: (_: B) => C): C; <A, B = never, C = never, D = never>(this: A, ab: (_: A) => B, bc: (_: B) => C, cd: (_: C) => D): D; <…;
}
Type-level representation of
Void
.
Schema for a TypeScript void return value.
When to use
Use when you need to model the return value of a function, RPC, or endpoint
whose result is intentionally ignored.
Details
Runtime parsing accepts any present value and discards it, producing
undefined. The public decoded and encoded TypeScript representation remains
void, so typed construction, decoding, and encoding APIs are still modeled
as void.
Void, typeof import SchemaSchema.const Never: Schema.Neverconst Never: {
Rebuild: Rebuild;
Iso: Iso;
ast: Ast;
Type: T;
Encoded: E;
DecodingServices: RD;
EncodingServices: RE;
annotate: (annotations: Schema.Annotations.Bottom<never, readonly []>) => Schema.Never;
annotateKey: (annotations: Schema.Annotations.Key<never>) => Schema.Never;
check: (checks_0: Check<never>, ...checks: Array<Check<never>>) => Schema.Never;
rebuild: (ast: Never) => Schema.Never;
make: (input: never, options?: Schema.MakeOptions) => never;
makeOption: (input: never, options?: Schema.MakeOptions) => Option.Option<never>;
makeEffect: (input: never, options?: Schema.MakeOptions) => Effect.Effect<never, Schema.SchemaError, never>;
pipe: { <A>(this: A): A; <A, B = never>(this: A, ab: (_: A) => B): B; <A, B = never, C = never>(this: A, ab: (_: A) => B, bc: (_: B) => C): C; <A, B = never, C = never, D = never>(this: A, ab: (_: A) => B, bc: (_: B) => C, cd: (_: C) => D): D; <…;
}
Type-level representation of
Never
.
Schema for the never type. Always fails validation — no value satisfies it.
Never, false, MethodAnnotations, function (type parameter) Client in effectFn<Client = Derive>(): <P extends Schema.Top>(payload: NarrowedPayload<P, Client>) => Method<P, typeof Schema.Void, typeof Schema.Never, false, MethodAnnotations, Client>Client>;
export function function effectFn<const C extends EffectFnWireConfig>(config: C): Method<C["payload"] extends Schema.Struct.Fields ? C["payload"] : C["payload"] extends Schema.Top ? C["payload"] : never, C["success"] extends Schema.Top ? C["success"] : typeof Schema.Void, C["error"] extends Schema.Top ? C["error"] : typeof Schema.Never> (+7 overloads)Two-stage
effectFn
— override the client-facing type with a Client that must narrow
the schema-derived shape: effectFn<Client>()(payload). Reshape freely (e.g. add overloads), but a
Client that would accept payloads the wire rejects fails to compile (payload resolves to never).
For an override that can't be a narrowing (a generic library), use
unsafeEffectFn
.
effectFn<const function (type parameter) C in effectFn<const C extends EffectFnWireConfig>(config: C): Method<C["payload"] extends Schema.Struct.Fields ? C["payload"] : C["payload"] extends Schema.Top ? C["payload"] : never, C["success"] extends Schema.Top ? C["success"] : typeof Schema.Void, C["error"] extends Schema.Top ? C["error"] : typeof Schema.Never>C extends type EffectFnWireConfig = {
readonly payload: EffectFnPayload
readonly success?: Schema.Top
readonly error?: Schema.Top
}
Config-object wire slots for
effectFn
.
EffectFnWireConfig>(
config: const C extends EffectFnWireConfigconfig: function (type parameter) C in effectFn<const C extends EffectFnWireConfig>(config: C): Method<C["payload"] extends Schema.Struct.Fields ? C["payload"] : C["payload"] extends Schema.Top ? C["payload"] : never, C["success"] extends Schema.Top ? C["success"] : typeof Schema.Void, C["error"] extends Schema.Top ? C["error"] : typeof Schema.Never>C,
): interface Method<P extends Schema.Struct.Fields | Schema.Top | undefined, Su extends Schema.Top, E extends Schema.Top, Str extends boolean = false, Ann extends MethodAnnotations = MethodAnnotations, Client = Derive>One method of a resource contract — built by
effect
/
effectFn
/
Hyperlink.stream
. Carries its kind, schemas
(payload / success / error), whether it's a stream (a push source vs a one-shot
read), and tool annotations. .annotate({...}) returns a copy with merged annotations,
mirroring Effect's schema idiom.
For a streaming method, success is the element schema and error is the stream
error schema — they become an RpcSchema.Stream on the wire, and the service member
surfaces as a Stream rather than an Effect.
Method<
function (type parameter) C in effectFn<const C extends EffectFnWireConfig>(config: C): Method<C["payload"] extends Schema.Struct.Fields ? C["payload"] : C["payload"] extends Schema.Top ? C["payload"] : never, C["success"] extends Schema.Top ? C["success"] : typeof Schema.Void, C["error"] extends Schema.Top ? C["error"] : typeof Schema.Never>C["payload"] extends import SchemaSchema.Struct.type Struct<Fields extends Struct.Fields>.Fields = {
readonly [x: string]: Schema.Constraint;
readonly [x: number]: Schema.Constraint;
readonly [x: symbol]: Schema.Constraint;
}
Constraint for a struct field map: an object whose values are schemas.
Fields
? function (type parameter) C in effectFn<const C extends EffectFnWireConfig>(config: C): Method<C["payload"] extends Schema.Struct.Fields ? C["payload"] : C["payload"] extends Schema.Top ? C["payload"] : never, C["success"] extends Schema.Top ? C["success"] : typeof Schema.Void, C["error"] extends Schema.Top ? C["error"] : typeof Schema.Never>C["payload"]
: function (type parameter) C in effectFn<const C extends EffectFnWireConfig>(config: C): Method<C["payload"] extends Schema.Struct.Fields ? C["payload"] : C["payload"] extends Schema.Top ? C["payload"] : never, C["success"] extends Schema.Top ? C["success"] : typeof Schema.Void, C["error"] extends Schema.Top ? C["error"] : typeof Schema.Never>C["payload"] extends import SchemaSchema.Top
? function (type parameter) C in effectFn<const C extends EffectFnWireConfig>(config: C): Method<C["payload"] extends Schema.Struct.Fields ? C["payload"] : C["payload"] extends Schema.Top ? C["payload"] : never, C["success"] extends Schema.Top ? C["success"] : typeof Schema.Void, C["error"] extends Schema.Top ? C["error"] : typeof Schema.Never>C["payload"]
: never,
function (type parameter) C in effectFn<const C extends EffectFnWireConfig>(config: C): Method<C["payload"] extends Schema.Struct.Fields ? C["payload"] : C["payload"] extends Schema.Top ? C["payload"] : never, C["success"] extends Schema.Top ? C["success"] : typeof Schema.Void, C["error"] extends Schema.Top ? C["error"] : typeof Schema.Never>C["success"] extends import SchemaSchema.Top ? function (type parameter) C in effectFn<const C extends EffectFnWireConfig>(config: C): Method<C["payload"] extends Schema.Struct.Fields ? C["payload"] : C["payload"] extends Schema.Top ? C["payload"] : never, C["success"] extends Schema.Top ? C["success"] : typeof Schema.Void, C["error"] extends Schema.Top ? C["error"] : typeof Schema.Never>C["success"] : typeof import SchemaSchema.const Void: Schema.Voidconst Void: {
Rebuild: Rebuild;
Iso: Iso;
ast: Ast;
Type: T;
Encoded: E;
DecodingServices: RD;
EncodingServices: RE;
annotate: (annotations: Schema.Annotations.Bottom<void, readonly []>) => Schema.Void;
annotateKey: (annotations: Schema.Annotations.Key<void>) => Schema.Void;
check: (checks_0: Check<void>, ...checks: Array<Check<void>>) => Schema.Void;
rebuild: (ast: Void) => Schema.Void;
make: (input: void, options?: Schema.MakeOptions) => void;
makeOption: (input: void, options?: Schema.MakeOptions) => Option.Option<void>;
makeEffect: (input: void, options?: Schema.MakeOptions) => Effect.Effect<void, Schema.SchemaError, never>;
pipe: { <A>(this: A): A; <A, B = never>(this: A, ab: (_: A) => B): B; <A, B = never, C = never>(this: A, ab: (_: A) => B, bc: (_: B) => C): C; <A, B = never, C = never, D = never>(this: A, ab: (_: A) => B, bc: (_: B) => C, cd: (_: C) => D): D; <…;
}
Type-level representation of
Void
.
Schema for a TypeScript void return value.
When to use
Use when you need to model the return value of a function, RPC, or endpoint
whose result is intentionally ignored.
Details
Runtime parsing accepts any present value and discards it, producing
undefined. The public decoded and encoded TypeScript representation remains
void, so typed construction, decoding, and encoding APIs are still modeled
as void.
Void,
function (type parameter) C in effectFn<const C extends EffectFnWireConfig>(config: C): Method<C["payload"] extends Schema.Struct.Fields ? C["payload"] : C["payload"] extends Schema.Top ? C["payload"] : never, C["success"] extends Schema.Top ? C["success"] : typeof Schema.Void, C["error"] extends Schema.Top ? C["error"] : typeof Schema.Never>C["error"] extends import SchemaSchema.Top ? function (type parameter) C in effectFn<const C extends EffectFnWireConfig>(config: C): Method<C["payload"] extends Schema.Struct.Fields ? C["payload"] : C["payload"] extends Schema.Top ? C["payload"] : never, C["success"] extends Schema.Top ? C["success"] : typeof Schema.Void, C["error"] extends Schema.Top ? C["error"] : typeof Schema.Never>C["error"] : typeof import SchemaSchema.const Never: Schema.Neverconst Never: {
Rebuild: Rebuild;
Iso: Iso;
ast: Ast;
Type: T;
Encoded: E;
DecodingServices: RD;
EncodingServices: RE;
annotate: (annotations: Schema.Annotations.Bottom<never, readonly []>) => Schema.Never;
annotateKey: (annotations: Schema.Annotations.Key<never>) => Schema.Never;
check: (checks_0: Check<never>, ...checks: Array<Check<never>>) => Schema.Never;
rebuild: (ast: Never) => Schema.Never;
make: (input: never, options?: Schema.MakeOptions) => never;
makeOption: (input: never, options?: Schema.MakeOptions) => Option.Option<never>;
makeEffect: (input: never, options?: Schema.MakeOptions) => Effect.Effect<never, Schema.SchemaError, never>;
pipe: { <A>(this: A): A; <A, B = never>(this: A, ab: (_: A) => B): B; <A, B = never, C = never>(this: A, ab: (_: A) => B, bc: (_: B) => C): C; <A, B = never, C = never, D = never>(this: A, ab: (_: A) => B, bc: (_: B) => C, cd: (_: C) => D): D; <…;
}
Type-level representation of
Never
.
Schema for the never type. Always fails validation — no value satisfies it.
Never
>;
export function function effectFn<P extends Schema.Top>(payload: RequiredPayloadSchema<P>): Method<P, typeof Schema.Void, typeof Schema.Never> (+7 overloads)Two-stage
effectFn
— override the client-facing type with a Client that must narrow
the schema-derived shape: effectFn<Client>()(payload). Reshape freely (e.g. add overloads), but a
Client that would accept payloads the wire rejects fails to compile (payload resolves to never).
For an override that can't be a narrowing (a generic library), use
unsafeEffectFn
.
effectFn<function (type parameter) P in effectFn<P extends Schema.Top>(payload: RequiredPayloadSchema<P>): Method<P, typeof Schema.Void, typeof Schema.Never>P extends import SchemaSchema.Top>(
payload: RequiredPayloadSchema<P>payload: type RequiredPayloadSchema<
P extends Schema.Top
> = [P] extends [Schema.Void] ? never : P
Non-void schema payload for
effectFn
.
RequiredPayloadSchema<function (type parameter) P in effectFn<P extends Schema.Top>(payload: RequiredPayloadSchema<P>): Method<P, typeof Schema.Void, typeof Schema.Never>P>,
): interface Method<P extends Schema.Struct.Fields | Schema.Top | undefined, Su extends Schema.Top, E extends Schema.Top, Str extends boolean = false, Ann extends MethodAnnotations = MethodAnnotations, Client = Derive>One method of a resource contract — built by
effect
/
effectFn
/
Hyperlink.stream
. Carries its kind, schemas
(payload / success / error), whether it's a stream (a push source vs a one-shot
read), and tool annotations. .annotate({...}) returns a copy with merged annotations,
mirroring Effect's schema idiom.
For a streaming method, success is the element schema and error is the stream
error schema — they become an RpcSchema.Stream on the wire, and the service member
surfaces as a Stream rather than an Effect.
Method<function (type parameter) P in effectFn<P extends Schema.Top>(payload: RequiredPayloadSchema<P>): Method<P, typeof Schema.Void, typeof Schema.Never>P, typeof import SchemaSchema.const Void: Schema.Voidconst Void: {
Rebuild: Rebuild;
Iso: Iso;
ast: Ast;
Type: T;
Encoded: E;
DecodingServices: RD;
EncodingServices: RE;
annotate: (annotations: Schema.Annotations.Bottom<void, readonly []>) => Schema.Void;
annotateKey: (annotations: Schema.Annotations.Key<void>) => Schema.Void;
check: (checks_0: Check<void>, ...checks: Array<Check<void>>) => Schema.Void;
rebuild: (ast: Void) => Schema.Void;
make: (input: void, options?: Schema.MakeOptions) => void;
makeOption: (input: void, options?: Schema.MakeOptions) => Option.Option<void>;
makeEffect: (input: void, options?: Schema.MakeOptions) => Effect.Effect<void, Schema.SchemaError, never>;
pipe: { <A>(this: A): A; <A, B = never>(this: A, ab: (_: A) => B): B; <A, B = never, C = never>(this: A, ab: (_: A) => B, bc: (_: B) => C): C; <A, B = never, C = never, D = never>(this: A, ab: (_: A) => B, bc: (_: B) => C, cd: (_: C) => D): D; <…;
}
Type-level representation of
Void
.
Schema for a TypeScript void return value.
When to use
Use when you need to model the return value of a function, RPC, or endpoint
whose result is intentionally ignored.
Details
Runtime parsing accepts any present value and discards it, producing
undefined. The public decoded and encoded TypeScript representation remains
void, so typed construction, decoding, and encoding APIs are still modeled
as void.
Void, typeof import SchemaSchema.const Never: Schema.Neverconst Never: {
Rebuild: Rebuild;
Iso: Iso;
ast: Ast;
Type: T;
Encoded: E;
DecodingServices: RD;
EncodingServices: RE;
annotate: (annotations: Schema.Annotations.Bottom<never, readonly []>) => Schema.Never;
annotateKey: (annotations: Schema.Annotations.Key<never>) => Schema.Never;
check: (checks_0: Check<never>, ...checks: Array<Check<never>>) => Schema.Never;
rebuild: (ast: Never) => Schema.Never;
make: (input: never, options?: Schema.MakeOptions) => never;
makeOption: (input: never, options?: Schema.MakeOptions) => Option.Option<never>;
makeEffect: (input: never, options?: Schema.MakeOptions) => Effect.Effect<never, Schema.SchemaError, never>;
pipe: { <A>(this: A): A; <A, B = never>(this: A, ab: (_: A) => B): B; <A, B = never, C = never>(this: A, ab: (_: A) => B, bc: (_: B) => C): C; <A, B = never, C = never, D = never>(this: A, ab: (_: A) => B, bc: (_: B) => C, cd: (_: C) => D): D; <…;
}
Type-level representation of
Never
.
Schema for the never type. Always fails validation — no value satisfies it.
Never>;
export function function effectFn<P extends Schema.Top, Su extends Schema.Top>(payload: RequiredPayloadSchema<P>, success: Su): Method<P, Su, Schema.Never> (+7 overloads)Two-stage
effectFn
— override the client-facing type with a Client that must narrow
the schema-derived shape: effectFn<Client>()(payload). Reshape freely (e.g. add overloads), but a
Client that would accept payloads the wire rejects fails to compile (payload resolves to never).
For an override that can't be a narrowing (a generic library), use
unsafeEffectFn
.
effectFn<function (type parameter) P in effectFn<P extends Schema.Top, Su extends Schema.Top>(payload: RequiredPayloadSchema<P>, success: Su): Method<P, Su, Schema.Never>P extends import SchemaSchema.Top, function (type parameter) Su in effectFn<P extends Schema.Top, Su extends Schema.Top>(payload: RequiredPayloadSchema<P>, success: Su): Method<P, Su, Schema.Never>Su extends import SchemaSchema.Top>(
payload: RequiredPayloadSchema<P>payload: type RequiredPayloadSchema<
P extends Schema.Top
> = [P] extends [Schema.Void] ? never : P
Non-void schema payload for
effectFn
.
RequiredPayloadSchema<function (type parameter) P in effectFn<P extends Schema.Top, Su extends Schema.Top>(payload: RequiredPayloadSchema<P>, success: Su): Method<P, Su, Schema.Never>P>,
success: Su extends Schema.Topsuccess: function (type parameter) Su in effectFn<P extends Schema.Top, Su extends Schema.Top>(payload: RequiredPayloadSchema<P>, success: Su): Method<P, Su, Schema.Never>Su,
): interface Method<P extends Schema.Struct.Fields | Schema.Top | undefined, Su extends Schema.Top, E extends Schema.Top, Str extends boolean = false, Ann extends MethodAnnotations = MethodAnnotations, Client = Derive>One method of a resource contract — built by
effect
/
effectFn
/
Hyperlink.stream
. Carries its kind, schemas
(payload / success / error), whether it's a stream (a push source vs a one-shot
read), and tool annotations. .annotate({...}) returns a copy with merged annotations,
mirroring Effect's schema idiom.
For a streaming method, success is the element schema and error is the stream
error schema — they become an RpcSchema.Stream on the wire, and the service member
surfaces as a Stream rather than an Effect.
Method<function (type parameter) P in effectFn<P extends Schema.Top, Su extends Schema.Top>(payload: RequiredPayloadSchema<P>, success: Su): Method<P, Su, Schema.Never>P, function (type parameter) Su in effectFn<P extends Schema.Top, Su extends Schema.Top>(payload: RequiredPayloadSchema<P>, success: Su): Method<P, Su, Schema.Never>Su, import SchemaSchema.Never>;
export function function effectFn<P extends Schema.Top, Su extends Schema.Top, E extends Schema.Top>(payload: RequiredPayloadSchema<P>, success: Su, error: E): Method<P, Su, E> (+7 overloads)Two-stage
effectFn
— override the client-facing type with a Client that must narrow
the schema-derived shape: effectFn<Client>()(payload). Reshape freely (e.g. add overloads), but a
Client that would accept payloads the wire rejects fails to compile (payload resolves to never).
For an override that can't be a narrowing (a generic library), use
unsafeEffectFn
.
effectFn<function (type parameter) P in effectFn<P extends Schema.Top, Su extends Schema.Top, E extends Schema.Top>(payload: RequiredPayloadSchema<P>, success: Su, error: E): Method<P, Su, E>P extends import SchemaSchema.Top, function (type parameter) Su in effectFn<P extends Schema.Top, Su extends Schema.Top, E extends Schema.Top>(payload: RequiredPayloadSchema<P>, success: Su, error: E): Method<P, Su, E>Su extends import SchemaSchema.Top, function (type parameter) E in effectFn<P extends Schema.Top, Su extends Schema.Top, E extends Schema.Top>(payload: RequiredPayloadSchema<P>, success: Su, error: E): Method<P, Su, E>E extends import SchemaSchema.Top>(
payload: RequiredPayloadSchema<P>payload: type RequiredPayloadSchema<
P extends Schema.Top
> = [P] extends [Schema.Void] ? never : P
Non-void schema payload for
effectFn
.
RequiredPayloadSchema<function (type parameter) P in effectFn<P extends Schema.Top, Su extends Schema.Top, E extends Schema.Top>(payload: RequiredPayloadSchema<P>, success: Su, error: E): Method<P, Su, E>P>,
success: Su extends Schema.Topsuccess: function (type parameter) Su in effectFn<P extends Schema.Top, Su extends Schema.Top, E extends Schema.Top>(payload: RequiredPayloadSchema<P>, success: Su, error: E): Method<P, Su, E>Su,
error: E extends Schema.Toperror: function (type parameter) E in effectFn<P extends Schema.Top, Su extends Schema.Top, E extends Schema.Top>(payload: RequiredPayloadSchema<P>, success: Su, error: E): Method<P, Su, E>E,
): interface Method<P extends Schema.Struct.Fields | Schema.Top | undefined, Su extends Schema.Top, E extends Schema.Top, Str extends boolean = false, Ann extends MethodAnnotations = MethodAnnotations, Client = Derive>One method of a resource contract — built by
effect
/
effectFn
/
Hyperlink.stream
. Carries its kind, schemas
(payload / success / error), whether it's a stream (a push source vs a one-shot
read), and tool annotations. .annotate({...}) returns a copy with merged annotations,
mirroring Effect's schema idiom.
For a streaming method, success is the element schema and error is the stream
error schema — they become an RpcSchema.Stream on the wire, and the service member
surfaces as a Stream rather than an Effect.
Method<function (type parameter) P in effectFn<P extends Schema.Top, Su extends Schema.Top, E extends Schema.Top>(payload: RequiredPayloadSchema<P>, success: Su, error: E): Method<P, Su, E>P, function (type parameter) Su in effectFn<P extends Schema.Top, Su extends Schema.Top, E extends Schema.Top>(payload: RequiredPayloadSchema<P>, success: Su, error: E): Method<P, Su, E>Su, function (type parameter) E in effectFn<P extends Schema.Top, Su extends Schema.Top, E extends Schema.Top>(payload: RequiredPayloadSchema<P>, success: Su, error: E): Method<P, Su, E>E>;
export function function effectFn<const F extends Schema.Struct.Fields>(payload: RequiredPayloadFields<F>): Method<F, typeof Schema.Void, typeof Schema.Never> (+7 overloads)Two-stage
effectFn
— override the client-facing type with a Client that must narrow
the schema-derived shape: effectFn<Client>()(payload). Reshape freely (e.g. add overloads), but a
Client that would accept payloads the wire rejects fails to compile (payload resolves to never).
For an override that can't be a narrowing (a generic library), use
unsafeEffectFn
.
effectFn<const function (type parameter) F in effectFn<const F extends Schema.Struct.Fields>(payload: RequiredPayloadFields<F>): Method<F, typeof Schema.Void, typeof Schema.Never>F extends import SchemaSchema.Struct.type Struct<Fields extends Struct.Fields>.Fields = {
readonly [x: string]: Schema.Constraint;
readonly [x: number]: Schema.Constraint;
readonly [x: symbol]: Schema.Constraint;
}
Constraint for a struct field map: an object whose values are schemas.
Fields>(
payload: RequiredPayloadFields<F>payload: type RequiredPayloadFields<
F extends Schema.Struct.Fields
> = [keyof F] extends [never] ? never : F
Non-empty struct fields payload for
effectFn
.
RequiredPayloadFields<function (type parameter) F in effectFn<const F extends Schema.Struct.Fields>(payload: RequiredPayloadFields<F>): Method<F, typeof Schema.Void, typeof Schema.Never>F>,
): interface Method<P extends Schema.Struct.Fields | Schema.Top | undefined, Su extends Schema.Top, E extends Schema.Top, Str extends boolean = false, Ann extends MethodAnnotations = MethodAnnotations, Client = Derive>One method of a resource contract — built by
effect
/
effectFn
/
Hyperlink.stream
. Carries its kind, schemas
(payload / success / error), whether it's a stream (a push source vs a one-shot
read), and tool annotations. .annotate({...}) returns a copy with merged annotations,
mirroring Effect's schema idiom.
For a streaming method, success is the element schema and error is the stream
error schema — they become an RpcSchema.Stream on the wire, and the service member
surfaces as a Stream rather than an Effect.
Method<function (type parameter) F in effectFn<const F extends Schema.Struct.Fields>(payload: RequiredPayloadFields<F>): Method<F, typeof Schema.Void, typeof Schema.Never>F, typeof import SchemaSchema.const Void: Schema.Voidconst Void: {
Rebuild: Rebuild;
Iso: Iso;
ast: Ast;
Type: T;
Encoded: E;
DecodingServices: RD;
EncodingServices: RE;
annotate: (annotations: Schema.Annotations.Bottom<void, readonly []>) => Schema.Void;
annotateKey: (annotations: Schema.Annotations.Key<void>) => Schema.Void;
check: (checks_0: Check<void>, ...checks: Array<Check<void>>) => Schema.Void;
rebuild: (ast: Void) => Schema.Void;
make: (input: void, options?: Schema.MakeOptions) => void;
makeOption: (input: void, options?: Schema.MakeOptions) => Option.Option<void>;
makeEffect: (input: void, options?: Schema.MakeOptions) => Effect.Effect<void, Schema.SchemaError, never>;
pipe: { <A>(this: A): A; <A, B = never>(this: A, ab: (_: A) => B): B; <A, B = never, C = never>(this: A, ab: (_: A) => B, bc: (_: B) => C): C; <A, B = never, C = never, D = never>(this: A, ab: (_: A) => B, bc: (_: B) => C, cd: (_: C) => D): D; <…;
}
Type-level representation of
Void
.
Schema for a TypeScript void return value.
When to use
Use when you need to model the return value of a function, RPC, or endpoint
whose result is intentionally ignored.
Details
Runtime parsing accepts any present value and discards it, producing
undefined. The public decoded and encoded TypeScript representation remains
void, so typed construction, decoding, and encoding APIs are still modeled
as void.
Void, typeof import SchemaSchema.const Never: Schema.Neverconst Never: {
Rebuild: Rebuild;
Iso: Iso;
ast: Ast;
Type: T;
Encoded: E;
DecodingServices: RD;
EncodingServices: RE;
annotate: (annotations: Schema.Annotations.Bottom<never, readonly []>) => Schema.Never;
annotateKey: (annotations: Schema.Annotations.Key<never>) => Schema.Never;
check: (checks_0: Check<never>, ...checks: Array<Check<never>>) => Schema.Never;
rebuild: (ast: Never) => Schema.Never;
make: (input: never, options?: Schema.MakeOptions) => never;
makeOption: (input: never, options?: Schema.MakeOptions) => Option.Option<never>;
makeEffect: (input: never, options?: Schema.MakeOptions) => Effect.Effect<never, Schema.SchemaError, never>;
pipe: { <A>(this: A): A; <A, B = never>(this: A, ab: (_: A) => B): B; <A, B = never, C = never>(this: A, ab: (_: A) => B, bc: (_: B) => C): C; <A, B = never, C = never, D = never>(this: A, ab: (_: A) => B, bc: (_: B) => C, cd: (_: C) => D): D; <…;
}
Type-level representation of
Never
.
Schema for the never type. Always fails validation — no value satisfies it.
Never>;
export function function effectFn<const F extends Schema.Struct.Fields, Su extends Schema.Top>(payload: RequiredPayloadFields<F>, success: Su): Method<F, Su, Schema.Never> (+7 overloads)Two-stage
effectFn
— override the client-facing type with a Client that must narrow
the schema-derived shape: effectFn<Client>()(payload). Reshape freely (e.g. add overloads), but a
Client that would accept payloads the wire rejects fails to compile (payload resolves to never).
For an override that can't be a narrowing (a generic library), use
unsafeEffectFn
.
effectFn<const function (type parameter) F in effectFn<const F extends Schema.Struct.Fields, Su extends Schema.Top>(payload: RequiredPayloadFields<F>, success: Su): Method<F, Su, Schema.Never>F extends import SchemaSchema.Struct.type Struct<Fields extends Struct.Fields>.Fields = {
readonly [x: string]: Schema.Constraint;
readonly [x: number]: Schema.Constraint;
readonly [x: symbol]: Schema.Constraint;
}
Constraint for a struct field map: an object whose values are schemas.
Fields, function (type parameter) Su in effectFn<const F extends Schema.Struct.Fields, Su extends Schema.Top>(payload: RequiredPayloadFields<F>, success: Su): Method<F, Su, Schema.Never>Su extends import SchemaSchema.Top>(
payload: RequiredPayloadFields<F>payload: type RequiredPayloadFields<
F extends Schema.Struct.Fields
> = [keyof F] extends [never] ? never : F
Non-empty struct fields payload for
effectFn
.
RequiredPayloadFields<function (type parameter) F in effectFn<const F extends Schema.Struct.Fields, Su extends Schema.Top>(payload: RequiredPayloadFields<F>, success: Su): Method<F, Su, Schema.Never>F>,
success: Su extends Schema.Topsuccess: function (type parameter) Su in effectFn<const F extends Schema.Struct.Fields, Su extends Schema.Top>(payload: RequiredPayloadFields<F>, success: Su): Method<F, Su, Schema.Never>Su,
): interface Method<P extends Schema.Struct.Fields | Schema.Top | undefined, Su extends Schema.Top, E extends Schema.Top, Str extends boolean = false, Ann extends MethodAnnotations = MethodAnnotations, Client = Derive>One method of a resource contract — built by
effect
/
effectFn
/
Hyperlink.stream
. Carries its kind, schemas
(payload / success / error), whether it's a stream (a push source vs a one-shot
read), and tool annotations. .annotate({...}) returns a copy with merged annotations,
mirroring Effect's schema idiom.
For a streaming method, success is the element schema and error is the stream
error schema — they become an RpcSchema.Stream on the wire, and the service member
surfaces as a Stream rather than an Effect.
Method<function (type parameter) F in effectFn<const F extends Schema.Struct.Fields, Su extends Schema.Top>(payload: RequiredPayloadFields<F>, success: Su): Method<F, Su, Schema.Never>F, function (type parameter) Su in effectFn<const F extends Schema.Struct.Fields, Su extends Schema.Top>(payload: RequiredPayloadFields<F>, success: Su): Method<F, Su, Schema.Never>Su, import SchemaSchema.Never>;
export function function effectFn<const F extends Schema.Struct.Fields, Su extends Schema.Top, E extends Schema.Top>(payload: RequiredPayloadFields<F>, success: Su, error: E): Method<F, Su, E> (+7 overloads)Two-stage
effectFn
— override the client-facing type with a Client that must narrow
the schema-derived shape: effectFn<Client>()(payload). Reshape freely (e.g. add overloads), but a
Client that would accept payloads the wire rejects fails to compile (payload resolves to never).
For an override that can't be a narrowing (a generic library), use
unsafeEffectFn
.
effectFn<
const function (type parameter) F in effectFn<const F extends Schema.Struct.Fields, Su extends Schema.Top, E extends Schema.Top>(payload: RequiredPayloadFields<F>, success: Su, error: E): Method<F, Su, E>F extends import SchemaSchema.Struct.type Struct<Fields extends Struct.Fields>.Fields = {
readonly [x: string]: Schema.Constraint;
readonly [x: number]: Schema.Constraint;
readonly [x: symbol]: Schema.Constraint;
}
Constraint for a struct field map: an object whose values are schemas.
Fields,
function (type parameter) Su in effectFn<const F extends Schema.Struct.Fields, Su extends Schema.Top, E extends Schema.Top>(payload: RequiredPayloadFields<F>, success: Su, error: E): Method<F, Su, E>Su extends import SchemaSchema.Top,
function (type parameter) E in effectFn<const F extends Schema.Struct.Fields, Su extends Schema.Top, E extends Schema.Top>(payload: RequiredPayloadFields<F>, success: Su, error: E): Method<F, Su, E>E extends import SchemaSchema.Top,
>(
payload: RequiredPayloadFields<F>payload: type RequiredPayloadFields<
F extends Schema.Struct.Fields
> = [keyof F] extends [never] ? never : F
Non-empty struct fields payload for
effectFn
.
RequiredPayloadFields<function (type parameter) F in effectFn<const F extends Schema.Struct.Fields, Su extends Schema.Top, E extends Schema.Top>(payload: RequiredPayloadFields<F>, success: Su, error: E): Method<F, Su, E>F>,
success: Su extends Schema.Topsuccess: function (type parameter) Su in effectFn<const F extends Schema.Struct.Fields, Su extends Schema.Top, E extends Schema.Top>(payload: RequiredPayloadFields<F>, success: Su, error: E): Method<F, Su, E>Su,
error: E extends Schema.Toperror: function (type parameter) E in effectFn<const F extends Schema.Struct.Fields, Su extends Schema.Top, E extends Schema.Top>(payload: RequiredPayloadFields<F>, success: Su, error: E): Method<F, Su, E>E,
): interface Method<P extends Schema.Struct.Fields | Schema.Top | undefined, Su extends Schema.Top, E extends Schema.Top, Str extends boolean = false, Ann extends MethodAnnotations = MethodAnnotations, Client = Derive>One method of a resource contract — built by
effect
/
effectFn
/
Hyperlink.stream
. Carries its kind, schemas
(payload / success / error), whether it's a stream (a push source vs a one-shot
read), and tool annotations. .annotate({...}) returns a copy with merged annotations,
mirroring Effect's schema idiom.
For a streaming method, success is the element schema and error is the stream
error schema — they become an RpcSchema.Stream on the wire, and the service member
surfaces as a Stream rather than an Effect.
Method<function (type parameter) F in effectFn<const F extends Schema.Struct.Fields, Su extends Schema.Top, E extends Schema.Top>(payload: RequiredPayloadFields<F>, success: Su, error: E): Method<F, Su, E>F, function (type parameter) Su in effectFn<const F extends Schema.Struct.Fields, Su extends Schema.Top, E extends Schema.Top>(payload: RequiredPayloadFields<F>, success: Su, error: E): Method<F, Su, E>Su, function (type parameter) E in effectFn<const F extends Schema.Struct.Fields, Su extends Schema.Top, E extends Schema.Top>(payload: RequiredPayloadFields<F>, success: Su, error: E): Method<F, Su, E>E>;
export function function effectFn<Client = Derive>(): <P extends Schema.Top>(payload: NarrowedPayload<P, Client>) => Method<P, typeof Schema.Void, typeof Schema.Never, false, MethodAnnotations, Client> (+7 overloads)Two-stage
effectFn
— override the client-facing type with a Client that must narrow
the schema-derived shape: effectFn<Client>()(payload). Reshape freely (e.g. add overloads), but a
Client that would accept payloads the wire rejects fails to compile (payload resolves to never).
For an override that can't be a narrowing (a generic library), use
unsafeEffectFn
.
effectFn(
payloadOrConfig: | EffectFnWireConfig
| EffectFnPayload
| undefined
payloadOrConfig?: type EffectFnPayload =
| Schema.Top
| Schema.Struct.Fields
Runtime payload input after
assertEffectFnPayload
.
EffectFnPayload | type EffectFnWireConfig = {
readonly payload: EffectFnPayload
readonly success?: Schema.Top
readonly error?: Schema.Top
}
Config-object wire slots for
effectFn
.
EffectFnWireConfig,
success: Schema.Top | undefinedsuccess?: import SchemaSchema.Top,
error: Schema.Top | undefinederror?: import SchemaSchema.Top,
): type AnyMethod = Method<
Schema.Top | Schema.Struct.Fields | undefined,
Schema.Top,
Schema.Top,
boolean,
MethodAnnotations,
never
>
Any
Method
, erased — the element type of a
Spec
.
AnyMethod | (<function (type parameter) P in <P extends Schema.Top>(payload: RequiredPayloadSchema<P>): AnyMethodP extends import SchemaSchema.Top>(payload: RequiredPayloadSchema<P>payload: type RequiredPayloadSchema<
P extends Schema.Top
> = [P] extends [Schema.Void] ? never : P
Non-void schema payload for
effectFn
.
RequiredPayloadSchema<function (type parameter) P in <P extends Schema.Top>(payload: RequiredPayloadSchema<P>): AnyMethodP>) => type AnyMethod = Method<
Schema.Top | Schema.Struct.Fields | undefined,
Schema.Top,
Schema.Top,
boolean,
MethodAnnotations,
never
>
Any
Method
, erased — the element type of a
Spec
.
AnyMethod) {
// two-stage form `effectFn<Client>()(payload)` — 0 args on the first call; the client override is
// type-only (phantom), so the returned builder is identical to the single-stage void/never path.
if (payloadOrConfig: | EffectFnWireConfig
| EffectFnPayload
| undefined
payloadOrConfig === var undefinedundefined) {
return <function (type parameter) P in <P extends Schema.Top>(payload: RequiredPayloadSchema<P>): AnyMethodP extends import SchemaSchema.Top>(payload: RequiredPayloadSchema<P>payload: type RequiredPayloadSchema<
P extends Schema.Top
> = [P] extends [Schema.Void] ? never : P
Non-void schema payload for
effectFn
.
RequiredPayloadSchema<function (type parameter) P in <P extends Schema.Top>(payload: RequiredPayloadSchema<P>): AnyMethodP>): type AnyMethod = Method<
Schema.Top | Schema.Struct.Fields | undefined,
Schema.Top,
Schema.Top,
boolean,
MethodAnnotations,
never
>
Any
Method
, erased — the element type of a
Spec
.
AnyMethod =>
const makeMethod: <
P extends
| Schema.Struct.Fields
| Schema.Top
| undefined,
Su extends Schema.Top,
E extends Schema.Top,
Str extends boolean,
Ann extends MethodAnnotations = MethodAnnotations,
Client = Derive
>(
kind: MethodKind,
payload: P,
success: Su,
error: E,
stream: Str,
annotations: Ann
) => Method<P, Su, E, Str, Ann, Client>
The single
Method
constructor —
effect
,
effectFn
,
constant
,
value
, and
stream
all go through it.
makeMethod("mutate", const assertEffectFnPayload: (
payload: EffectFnPayload | undefined
) => EffectFnPayload
assertEffectFnPayload(payload: RequiredPayloadSchema<P>payload), import SchemaSchema.const Void: Schema.Voidconst Void: {
Rebuild: Rebuild;
Iso: Iso;
ast: Ast;
Type: T;
Encoded: E;
DecodingServices: RD;
EncodingServices: RE;
annotate: (annotations: Schema.Annotations.Bottom<void, readonly []>) => Schema.Void;
annotateKey: (annotations: Schema.Annotations.Key<void>) => Schema.Void;
check: (checks_0: Check<void>, ...checks: Array<Check<void>>) => Schema.Void;
rebuild: (ast: Void) => Schema.Void;
make: (input: void, options?: Schema.MakeOptions) => void;
makeOption: (input: void, options?: Schema.MakeOptions) => Option.Option<void>;
makeEffect: (input: void, options?: Schema.MakeOptions) => Effect.Effect<void, Schema.SchemaError, never>;
pipe: { <A>(this: A): A; <A, B = never>(this: A, ab: (_: A) => B): B; <A, B = never, C = never>(this: A, ab: (_: A) => B, bc: (_: B) => C): C; <A, B = never, C = never, D = never>(this: A, ab: (_: A) => B, bc: (_: B) => C, cd: (_: C) => D): D; <…;
}
Type-level representation of
Void
.
Schema for a TypeScript void return value.
When to use
Use when you need to model the return value of a function, RPC, or endpoint
whose result is intentionally ignored.
Details
Runtime parsing accepts any present value and discards it, producing
undefined. The public decoded and encoded TypeScript representation remains
void, so typed construction, decoding, and encoding APIs are still modeled
as void.
Void, import SchemaSchema.const Never: Schema.Neverconst Never: {
Rebuild: Rebuild;
Iso: Iso;
ast: Ast;
Type: T;
Encoded: E;
DecodingServices: RD;
EncodingServices: RE;
annotate: (annotations: Schema.Annotations.Bottom<never, readonly []>) => Schema.Never;
annotateKey: (annotations: Schema.Annotations.Key<never>) => Schema.Never;
check: (checks_0: Check<never>, ...checks: Array<Check<never>>) => Schema.Never;
rebuild: (ast: Never) => Schema.Never;
make: (input: never, options?: Schema.MakeOptions) => never;
makeOption: (input: never, options?: Schema.MakeOptions) => Option.Option<never>;
makeEffect: (input: never, options?: Schema.MakeOptions) => Effect.Effect<never, Schema.SchemaError, never>;
pipe: { <A>(this: A): A; <A, B = never>(this: A, ab: (_: A) => B): B; <A, B = never, C = never>(this: A, ab: (_: A) => B, bc: (_: B) => C): C; <A, B = never, C = never, D = never>(this: A, ab: (_: A) => B, bc: (_: B) => C, cd: (_: C) => D): D; <…;
}
Type-level representation of
Never
.
Schema for the never type. Always fails validation — no value satisfies it.
Never, false, {});
}
let let payload: EffectFnPayloadpayload: type EffectFnPayload =
| Schema.Top
| Schema.Struct.Fields
Runtime payload input after
assertEffectFnPayload
.
EffectFnPayload;
let let successSchema: Schema.Toplet successSchema: {
Rebuild: Rebuild;
Iso: Iso;
ast: Ast;
Type: T;
Encoded: E;
DecodingServices: RD;
EncodingServices: RE;
annotate: (annotations: Schema.Annotations.Bottom<unknown, any>) => Schema.Top;
annotateKey: (annotations: Schema.Annotations.Key<unknown>) => Schema.Top;
check: (checks_0: Check<unknown>, ...checks: Array<Check<unknown>>) => Schema.Top;
rebuild: (ast: AST) => Schema.Top;
make: (input: unknown, options?: Schema.MakeOptions) => unknown;
makeOption: (input: unknown, options?: Schema.MakeOptions) => Option.Option<unknown>;
makeEffect: (input: unknown, options?: Schema.MakeOptions) => Effect.Effect<unknown, Schema.SchemaError, never>;
pipe: { <A>(this: A): A; <A, B = never>(this: A, ab: (_: A) => B): B; <A, B = never, C = never>(this: A, ab: (_: A) => B, bc: (_: B) => C): C; <A, B = never, C = never, D = never>(this: A, ab: (_: A) => B, bc: (_: B) => C, cd: (_: C) => D): D; <…;
}
successSchema: import SchemaSchema.Top = import SchemaSchema.const Void: Schema.Voidconst Void: {
Rebuild: Rebuild;
Iso: Iso;
ast: Ast;
Type: T;
Encoded: E;
DecodingServices: RD;
EncodingServices: RE;
annotate: (annotations: Schema.Annotations.Bottom<void, readonly []>) => Schema.Void;
annotateKey: (annotations: Schema.Annotations.Key<void>) => Schema.Void;
check: (checks_0: Check<void>, ...checks: Array<Check<void>>) => Schema.Void;
rebuild: (ast: Void) => Schema.Void;
make: (input: void, options?: Schema.MakeOptions) => void;
makeOption: (input: void, options?: Schema.MakeOptions) => Option.Option<void>;
makeEffect: (input: void, options?: Schema.MakeOptions) => Effect.Effect<void, Schema.SchemaError, never>;
pipe: { <A>(this: A): A; <A, B = never>(this: A, ab: (_: A) => B): B; <A, B = never, C = never>(this: A, ab: (_: A) => B, bc: (_: B) => C): C; <A, B = never, C = never, D = never>(this: A, ab: (_: A) => B, bc: (_: B) => C, cd: (_: C) => D): D; <…;
}
Type-level representation of
Void
.
Schema for a TypeScript void return value.
When to use
Use when you need to model the return value of a function, RPC, or endpoint
whose result is intentionally ignored.
Details
Runtime parsing accepts any present value and discards it, producing
undefined. The public decoded and encoded TypeScript representation remains
void, so typed construction, decoding, and encoding APIs are still modeled
as void.
Void;
let let errorSchema: Schema.Toplet errorSchema: {
Rebuild: Rebuild;
Iso: Iso;
ast: Ast;
Type: T;
Encoded: E;
DecodingServices: RD;
EncodingServices: RE;
annotate: (annotations: Schema.Annotations.Bottom<unknown, any>) => Schema.Top;
annotateKey: (annotations: Schema.Annotations.Key<unknown>) => Schema.Top;
check: (checks_0: Check<unknown>, ...checks: Array<Check<unknown>>) => Schema.Top;
rebuild: (ast: AST) => Schema.Top;
make: (input: unknown, options?: Schema.MakeOptions) => unknown;
makeOption: (input: unknown, options?: Schema.MakeOptions) => Option.Option<unknown>;
makeEffect: (input: unknown, options?: Schema.MakeOptions) => Effect.Effect<unknown, Schema.SchemaError, never>;
pipe: { <A>(this: A): A; <A, B = never>(this: A, ab: (_: A) => B): B; <A, B = never, C = never>(this: A, ab: (_: A) => B, bc: (_: B) => C): C; <A, B = never, C = never, D = never>(this: A, ab: (_: A) => B, bc: (_: B) => C, cd: (_: C) => D): D; <…;
}
errorSchema: import SchemaSchema.Top = import SchemaSchema.const Never: Schema.Neverconst Never: {
Rebuild: Rebuild;
Iso: Iso;
ast: Ast;
Type: T;
Encoded: E;
DecodingServices: RD;
EncodingServices: RE;
annotate: (annotations: Schema.Annotations.Bottom<never, readonly []>) => Schema.Never;
annotateKey: (annotations: Schema.Annotations.Key<never>) => Schema.Never;
check: (checks_0: Check<never>, ...checks: Array<Check<never>>) => Schema.Never;
rebuild: (ast: Never) => Schema.Never;
make: (input: never, options?: Schema.MakeOptions) => never;
makeOption: (input: never, options?: Schema.MakeOptions) => Option.Option<never>;
makeEffect: (input: never, options?: Schema.MakeOptions) => Effect.Effect<never, Schema.SchemaError, never>;
pipe: { <A>(this: A): A; <A, B = never>(this: A, ab: (_: A) => B): B; <A, B = never, C = never>(this: A, ab: (_: A) => B, bc: (_: B) => C): C; <A, B = never, C = never, D = never>(this: A, ab: (_: A) => B, bc: (_: B) => C, cd: (_: C) => D): D; <…;
}
Type-level representation of
Never
.
Schema for the never type. Always fails validation — no value satisfies it.
Never;
if (const isEffectFnWireConfig: (
u: unknown
) => u is EffectFnWireConfig
isEffectFnWireConfig(payloadOrConfig: EffectFnWireConfig | EffectFnPayloadpayloadOrConfig)) {
let payload: EffectFnPayloadpayload = const assertEffectFnPayload: (
payload: EffectFnPayload | undefined
) => EffectFnPayload
assertEffectFnPayload(payloadOrConfig: EffectFnWireConfig(parameter) payloadOrConfig: {
payload: EffectFnPayload;
success: Schema.Top;
error: Schema.Top;
}
payloadOrConfig.payload: EffectFnPayloadpayload);
let successSchema: Schema.Toplet successSchema: {
Rebuild: Rebuild;
Iso: Iso;
ast: Ast;
Type: T;
Encoded: E;
DecodingServices: RD;
EncodingServices: RE;
annotate: (annotations: Schema.Annotations.Bottom<unknown, any>) => Schema.Top;
annotateKey: (annotations: Schema.Annotations.Key<unknown>) => Schema.Top;
check: (checks_0: Check<unknown>, ...checks: Array<Check<unknown>>) => Schema.Top;
rebuild: (ast: AST) => Schema.Top;
make: (input: unknown, options?: Schema.MakeOptions) => unknown;
makeOption: (input: unknown, options?: Schema.MakeOptions) => Option.Option<unknown>;
makeEffect: (input: unknown, options?: Schema.MakeOptions) => Effect.Effect<unknown, Schema.SchemaError, never>;
pipe: { <A>(this: A): A; <A, B = never>(this: A, ab: (_: A) => B): B; <A, B = never, C = never>(this: A, ab: (_: A) => B, bc: (_: B) => C): C; <A, B = never, C = never, D = never>(this: A, ab: (_: A) => B, bc: (_: B) => C, cd: (_: C) => D): D; <…;
}
successSchema = payloadOrConfig: EffectFnWireConfig(parameter) payloadOrConfig: {
payload: EffectFnPayload;
success: Schema.Top;
error: Schema.Top;
}
payloadOrConfig.success?: Schema.Top | undefinedsuccess ?? import SchemaSchema.const Void: Schema.Voidconst Void: {
Rebuild: Rebuild;
Iso: Iso;
ast: Ast;
Type: T;
Encoded: E;
DecodingServices: RD;
EncodingServices: RE;
annotate: (annotations: Schema.Annotations.Bottom<void, readonly []>) => Schema.Void;
annotateKey: (annotations: Schema.Annotations.Key<void>) => Schema.Void;
check: (checks_0: Check<void>, ...checks: Array<Check<void>>) => Schema.Void;
rebuild: (ast: Void) => Schema.Void;
make: (input: void, options?: Schema.MakeOptions) => void;
makeOption: (input: void, options?: Schema.MakeOptions) => Option.Option<void>;
makeEffect: (input: void, options?: Schema.MakeOptions) => Effect.Effect<void, Schema.SchemaError, never>;
pipe: { <A>(this: A): A; <A, B = never>(this: A, ab: (_: A) => B): B; <A, B = never, C = never>(this: A, ab: (_: A) => B, bc: (_: B) => C): C; <A, B = never, C = never, D = never>(this: A, ab: (_: A) => B, bc: (_: B) => C, cd: (_: C) => D): D; <…;
}
Type-level representation of
Void
.
Schema for a TypeScript void return value.
When to use
Use when you need to model the return value of a function, RPC, or endpoint
whose result is intentionally ignored.
Details
Runtime parsing accepts any present value and discards it, producing
undefined. The public decoded and encoded TypeScript representation remains
void, so typed construction, decoding, and encoding APIs are still modeled
as void.
Void;
let errorSchema: Schema.Toplet errorSchema: {
Rebuild: Rebuild;
Iso: Iso;
ast: Ast;
Type: T;
Encoded: E;
DecodingServices: RD;
EncodingServices: RE;
annotate: (annotations: Schema.Annotations.Bottom<unknown, any>) => Schema.Top;
annotateKey: (annotations: Schema.Annotations.Key<unknown>) => Schema.Top;
check: (checks_0: Check<unknown>, ...checks: Array<Check<unknown>>) => Schema.Top;
rebuild: (ast: AST) => Schema.Top;
make: (input: unknown, options?: Schema.MakeOptions) => unknown;
makeOption: (input: unknown, options?: Schema.MakeOptions) => Option.Option<unknown>;
makeEffect: (input: unknown, options?: Schema.MakeOptions) => Effect.Effect<unknown, Schema.SchemaError, never>;
pipe: { <A>(this: A): A; <A, B = never>(this: A, ab: (_: A) => B): B; <A, B = never, C = never>(this: A, ab: (_: A) => B, bc: (_: B) => C): C; <A, B = never, C = never, D = never>(this: A, ab: (_: A) => B, bc: (_: B) => C, cd: (_: C) => D): D; <…;
}
errorSchema = payloadOrConfig: EffectFnWireConfig(parameter) payloadOrConfig: {
payload: EffectFnPayload;
success: Schema.Top;
error: Schema.Top;
}
payloadOrConfig.error?: Schema.Top | undefinederror ?? import SchemaSchema.const Never: Schema.Neverconst Never: {
Rebuild: Rebuild;
Iso: Iso;
ast: Ast;
Type: T;
Encoded: E;
DecodingServices: RD;
EncodingServices: RE;
annotate: (annotations: Schema.Annotations.Bottom<never, readonly []>) => Schema.Never;
annotateKey: (annotations: Schema.Annotations.Key<never>) => Schema.Never;
check: (checks_0: Check<never>, ...checks: Array<Check<never>>) => Schema.Never;
rebuild: (ast: Never) => Schema.Never;
make: (input: never, options?: Schema.MakeOptions) => never;
makeOption: (input: never, options?: Schema.MakeOptions) => Option.Option<never>;
makeEffect: (input: never, options?: Schema.MakeOptions) => Effect.Effect<never, Schema.SchemaError, never>;
pipe: { <A>(this: A): A; <A, B = never>(this: A, ab: (_: A) => B): B; <A, B = never, C = never>(this: A, ab: (_: A) => B, bc: (_: B) => C): C; <A, B = never, C = never, D = never>(this: A, ab: (_: A) => B, bc: (_: B) => C, cd: (_: C) => D): D; <…;
}
Type-level representation of
Never
.
Schema for the never type. Always fails validation — no value satisfies it.
Never;
} else {
let payload: EffectFnPayloadpayload = const assertEffectFnPayload: (
payload: EffectFnPayload | undefined
) => EffectFnPayload
assertEffectFnPayload(payloadOrConfig: EffectFnPayloadpayloadOrConfig);
let successSchema: Schema.Toplet successSchema: {
Rebuild: Rebuild;
Iso: Iso;
ast: Ast;
Type: T;
Encoded: E;
DecodingServices: RD;
EncodingServices: RE;
annotate: (annotations: Schema.Annotations.Bottom<unknown, any>) => Schema.Top;
annotateKey: (annotations: Schema.Annotations.Key<unknown>) => Schema.Top;
check: (checks_0: Check<unknown>, ...checks: Array<Check<unknown>>) => Schema.Top;
rebuild: (ast: AST) => Schema.Top;
make: (input: unknown, options?: Schema.MakeOptions) => unknown;
makeOption: (input: unknown, options?: Schema.MakeOptions) => Option.Option<unknown>;
makeEffect: (input: unknown, options?: Schema.MakeOptions) => Effect.Effect<unknown, Schema.SchemaError, never>;
pipe: { <A>(this: A): A; <A, B = never>(this: A, ab: (_: A) => B): B; <A, B = never, C = never>(this: A, ab: (_: A) => B, bc: (_: B) => C): C; <A, B = never, C = never, D = never>(this: A, ab: (_: A) => B, bc: (_: B) => C, cd: (_: C) => D): D; <…;
}
successSchema = success: Schema.Top | undefinedsuccess ?? import SchemaSchema.const Void: Schema.Voidconst Void: {
Rebuild: Rebuild;
Iso: Iso;
ast: Ast;
Type: T;
Encoded: E;
DecodingServices: RD;
EncodingServices: RE;
annotate: (annotations: Schema.Annotations.Bottom<void, readonly []>) => Schema.Void;
annotateKey: (annotations: Schema.Annotations.Key<void>) => Schema.Void;
check: (checks_0: Check<void>, ...checks: Array<Check<void>>) => Schema.Void;
rebuild: (ast: Void) => Schema.Void;
make: (input: void, options?: Schema.MakeOptions) => void;
makeOption: (input: void, options?: Schema.MakeOptions) => Option.Option<void>;
makeEffect: (input: void, options?: Schema.MakeOptions) => Effect.Effect<void, Schema.SchemaError, never>;
pipe: { <A>(this: A): A; <A, B = never>(this: A, ab: (_: A) => B): B; <A, B = never, C = never>(this: A, ab: (_: A) => B, bc: (_: B) => C): C; <A, B = never, C = never, D = never>(this: A, ab: (_: A) => B, bc: (_: B) => C, cd: (_: C) => D): D; <…;
}
Type-level representation of
Void
.
Schema for a TypeScript void return value.
When to use
Use when you need to model the return value of a function, RPC, or endpoint
whose result is intentionally ignored.
Details
Runtime parsing accepts any present value and discards it, producing
undefined. The public decoded and encoded TypeScript representation remains
void, so typed construction, decoding, and encoding APIs are still modeled
as void.
Void;
let errorSchema: Schema.Toplet errorSchema: {
Rebuild: Rebuild;
Iso: Iso;
ast: Ast;
Type: T;
Encoded: E;
DecodingServices: RD;
EncodingServices: RE;
annotate: (annotations: Schema.Annotations.Bottom<unknown, any>) => Schema.Top;
annotateKey: (annotations: Schema.Annotations.Key<unknown>) => Schema.Top;
check: (checks_0: Check<unknown>, ...checks: Array<Check<unknown>>) => Schema.Top;
rebuild: (ast: AST) => Schema.Top;
make: (input: unknown, options?: Schema.MakeOptions) => unknown;
makeOption: (input: unknown, options?: Schema.MakeOptions) => Option.Option<unknown>;
makeEffect: (input: unknown, options?: Schema.MakeOptions) => Effect.Effect<unknown, Schema.SchemaError, never>;
pipe: { <A>(this: A): A; <A, B = never>(this: A, ab: (_: A) => B): B; <A, B = never, C = never>(this: A, ab: (_: A) => B, bc: (_: B) => C): C; <A, B = never, C = never, D = never>(this: A, ab: (_: A) => B, bc: (_: B) => C, cd: (_: C) => D): D; <…;
}
errorSchema = error: Schema.Top | undefinederror ?? import SchemaSchema.const Never: Schema.Neverconst Never: {
Rebuild: Rebuild;
Iso: Iso;
ast: Ast;
Type: T;
Encoded: E;
DecodingServices: RD;
EncodingServices: RE;
annotate: (annotations: Schema.Annotations.Bottom<never, readonly []>) => Schema.Never;
annotateKey: (annotations: Schema.Annotations.Key<never>) => Schema.Never;
check: (checks_0: Check<never>, ...checks: Array<Check<never>>) => Schema.Never;
rebuild: (ast: Never) => Schema.Never;
make: (input: never, options?: Schema.MakeOptions) => never;
makeOption: (input: never, options?: Schema.MakeOptions) => Option.Option<never>;
makeEffect: (input: never, options?: Schema.MakeOptions) => Effect.Effect<never, Schema.SchemaError, never>;
pipe: { <A>(this: A): A; <A, B = never>(this: A, ab: (_: A) => B): B; <A, B = never, C = never>(this: A, ab: (_: A) => B, bc: (_: B) => C): C; <A, B = never, C = never, D = never>(this: A, ab: (_: A) => B, bc: (_: B) => C, cd: (_: C) => D): D; <…;
}
Type-level representation of
Never
.
Schema for the never type. Always fails validation — no value satisfies it.
Never;
}
return const makeMethod: <
P extends
| Schema.Struct.Fields
| Schema.Top
| undefined,
Su extends Schema.Top,
E extends Schema.Top,
Str extends boolean,
Ann extends MethodAnnotations = MethodAnnotations,
Client = Derive
>(
kind: MethodKind,
payload: P,
success: Su,
error: E,
stream: Str,
annotations: Ann
) => Method<P, Su, E, Str, Ann, Client>
The single
Method
constructor —
effect
,
effectFn
,
constant
,
value
, and
stream
all go through it.
makeMethod("mutate", let payload: EffectFnPayloadpayload, let successSchema: Schema.Toplet successSchema: {
Rebuild: Rebuild;
Iso: Iso;
ast: Ast;
Type: T;
Encoded: E;
DecodingServices: RD;
EncodingServices: RE;
annotate: (annotations: Schema.Annotations.Bottom<unknown, any>) => Schema.Top;
annotateKey: (annotations: Schema.Annotations.Key<unknown>) => Schema.Top;
check: (checks_0: Check<unknown>, ...checks: Array<Check<unknown>>) => Schema.Top;
rebuild: (ast: AST) => Schema.Top;
make: (input: unknown, options?: Schema.MakeOptions) => unknown;
makeOption: (input: unknown, options?: Schema.MakeOptions) => Option.Option<unknown>;
makeEffect: (input: unknown, options?: Schema.MakeOptions) => Effect.Effect<unknown, Schema.SchemaError, never>;
pipe: { <A>(this: A): A; <A, B = never>(this: A, ab: (_: A) => B): B; <A, B = never, C = never>(this: A, ab: (_: A) => B, bc: (_: B) => C): C; <A, B = never, C = never, D = never>(this: A, ab: (_: A) => B, bc: (_: B) => C, cd: (_: C) => D): D; <…;
}
successSchema, let errorSchema: Schema.Toplet errorSchema: {
Rebuild: Rebuild;
Iso: Iso;
ast: Ast;
Type: T;
Encoded: E;
DecodingServices: RD;
EncodingServices: RE;
annotate: (annotations: Schema.Annotations.Bottom<unknown, any>) => Schema.Top;
annotateKey: (annotations: Schema.Annotations.Key<unknown>) => Schema.Top;
check: (checks_0: Check<unknown>, ...checks: Array<Check<unknown>>) => Schema.Top;
rebuild: (ast: AST) => Schema.Top;
make: (input: unknown, options?: Schema.MakeOptions) => unknown;
makeOption: (input: unknown, options?: Schema.MakeOptions) => Option.Option<unknown>;
makeEffect: (input: unknown, options?: Schema.MakeOptions) => Effect.Effect<unknown, Schema.SchemaError, never>;
pipe: { <A>(this: A): A; <A, B = never>(this: A, ab: (_: A) => B): B; <A, B = never, C = never>(this: A, ab: (_: A) => B, bc: (_: B) => C): C; <A, B = never, C = never, D = never>(this: A, ab: (_: A) => B, bc: (_: B) => C, cd: (_: C) => D): D; <…;
}
errorSchema, false, {});
}