15
packages/effect-fc/src/types/Form.ts
Normal file
15
packages/effect-fc/src/types/Form.ts
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
import { Effectable, Schema, type Pipeable } from "effect"
|
||||||
|
|
||||||
|
|
||||||
|
export const TypeId: unique symbol = Symbol.for("effect-fc/types/Form")
|
||||||
|
export type TypeId = typeof TypeId
|
||||||
|
|
||||||
|
export interface Form<in out A, in out I = A, out R = never>
|
||||||
|
extends Pipeable.Pipeable {
|
||||||
|
readonly schema: Schema.Schema<A, I, R>
|
||||||
|
}
|
||||||
|
|
||||||
|
class FormImpl<in out A, in out I, out R>
|
||||||
|
extends Effectable.Class<> implements Form<> {
|
||||||
|
readonly [TypeId]: TypeId = TypeId
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user