diff --git a/packages/effect-fc-next/src/Form.ts b/packages/effect-fc-next/src/Form.ts index c76f3b8..ce404eb 100644 --- a/packages/effect-fc-next/src/Form.ts +++ b/packages/effect-fc-next/src/Form.ts @@ -9,7 +9,7 @@ import * as View from "./View.js" export const FormTypeId: unique symbol = Symbol.for("@effect-fc/Form/Form") export type FormTypeId = typeof FormTypeId -export interface Form +export interface Form extends Pipeable.Pipeable { readonly [FormTypeId]: FormTypeId @@ -22,7 +22,7 @@ extends Pipeable.Pipeable { readonly isCommitting: View.View } -export class FormImpl +export class FormImpl extends Pipeable.Class implements Form { readonly [FormTypeId]: FormTypeId = FormTypeId @@ -39,7 +39,7 @@ extends Pipeable.Class implements Form { } } -export const isForm = (u: unknown): u is Form => Predicate.hasProperty(u, FormTypeId) +export const isForm = (u: unknown): u is Form => Predicate.hasProperty(u, FormTypeId) const filterIssuesByPath = ( diff --git a/packages/effect-fc-next/src/SubmittableForm.ts b/packages/effect-fc-next/src/SubmittableForm.ts index 0ba9a56..68604d7 100644 --- a/packages/effect-fc-next/src/SubmittableForm.ts +++ b/packages/effect-fc-next/src/SubmittableForm.ts @@ -10,7 +10,7 @@ import * as View from "./View.js" export const SubmittableFormTypeId: unique symbol = Symbol.for("@effect-fc/Form/SubmittableForm") export type SubmittableFormTypeId = typeof SubmittableFormTypeId -export interface SubmittableForm +export interface SubmittableForm extends Form.Form { readonly [SubmittableFormTypeId]: SubmittableFormTypeId @@ -26,7 +26,7 @@ extends Form.Form { readonly submit: Effect.Effect | AsyncResult.Failure>, Cause.NoSuchElementError> } -export class SubmittableFormImpl +export class SubmittableFormImpl extends Pipeable.Class implements SubmittableForm { readonly [Form.FormTypeId]: Form.FormTypeId = Form.FormTypeId readonly [SubmittableFormTypeId]: SubmittableFormTypeId = SubmittableFormTypeId @@ -161,11 +161,11 @@ extends Pipeable.Class implements SubmittableForm { } } -export const isSubmittableForm = (u: unknown): u is SubmittableForm => Predicate.hasProperty(u, SubmittableFormTypeId) +export const isSubmittableForm = (u: unknown): u is SubmittableForm => Predicate.hasProperty(u, SubmittableFormTypeId) export declare namespace make { - export interface Options + export interface Options extends Mutation.make.Options< readonly [value: NoInfer, form: SubmittableForm, NoInfer, NoInfer, NoInfer, unknown, unknown, unknown>], MA, ME, MR @@ -197,7 +197,7 @@ export const make = Effect.fnUntraced(function* + export interface Options extends make.Options {} } diff --git a/packages/effect-fc-next/src/SynchronizedForm.ts b/packages/effect-fc-next/src/SynchronizedForm.ts index 4cccb9f..6af4f58 100644 --- a/packages/effect-fc-next/src/SynchronizedForm.ts +++ b/packages/effect-fc-next/src/SynchronizedForm.ts @@ -8,7 +8,7 @@ import * as View from "./View.js" export const SynchronizedFormTypeId: unique symbol = Symbol.for("@effect-fc/Form/SynchronizedForm") export type SynchronizedFormTypeId = typeof SynchronizedFormTypeId -export interface SynchronizedForm +export interface SynchronizedForm extends Form.Form { readonly [SynchronizedFormTypeId]: SynchronizedFormTypeId @@ -20,7 +20,7 @@ extends Form.Form { readonly run: Effect.Effect } -export class SynchronizedFormImpl +export class SynchronizedFormImpl extends Pipeable.Class implements SynchronizedForm { readonly [Form.FormTypeId]: Form.FormTypeId = Form.FormTypeId readonly [SynchronizedFormTypeId]: SynchronizedFormTypeId = SynchronizedFormTypeId @@ -150,11 +150,11 @@ extends Pipeable.Class implements SynchronizedForm => Predicate.hasProperty(u, SynchronizedFormTypeId) +export const isSynchronizedForm = (u: unknown): u is SynchronizedForm => Predicate.hasProperty(u, SynchronizedFormTypeId) export declare namespace make { - export interface Options { + export interface Options { readonly schema: Schema.ConstraintCodec readonly target: Lens.Lens readonly initialEncodedValue?: NoInfer @@ -190,7 +190,7 @@ export const make = Effect.fnUntraced(function* + export interface Options extends make.Options {} }