import { Schema } from "@effect/schema"
export class SomeRandomError extends Schema.TaggedError<SomeRandomError>()("SomeRandomError", {
myField: Schema.String,
}) {}
export class SomeRandomError2 extends Schema.TaggedError<SomeRandomError2>()("SomeRandomError2", {
myField1: Schema.String,
}) {
sayHi() {
return "hi"
}
}
export class SayHelloReq extends Schema.TaggedRequest<SayHelloReq>()("SayHelloReq", {
payload: { name: Schema.NonEmptyString },
success: Schema.Struct({
name: Schema.NonEmptyString,
}),
failure: Schema.Union(SomeRandomError, SomeRandomError2),
}) {}
import { Schema } from "@effect/schema"
export class SomeRandomError extends Schema.TaggedError<SomeRandomError>()("SomeRandomError", {
myField: Schema.String,
}) {}
export class SomeRandomError2 extends Schema.TaggedError<SomeRandomError2>()("SomeRandomError2", {
myField1: Schema.String,
}) {
sayHi() {
return "hi"
}
}
export class SayHelloReq extends Schema.TaggedRequest<SayHelloReq>()("SayHelloReq", {
payload: { name: Schema.NonEmptyString },
success: Schema.Struct({
name: Schema.NonEmptyString,
}),
failure: Schema.Union(SomeRandomError, SomeRandomError2),
}) {}