Fix
All checks were successful
Lint / lint (push) Successful in 12s

This commit is contained in:
Julien Valverdé
2025-09-23 18:15:11 +02:00
parent 46ef35040a
commit ed1efb41cd
3 changed files with 8 additions and 6 deletions

View File

@@ -15,7 +15,9 @@ extends Pipeable.Pipeable {
readonly encodedValueRef: SubscriptionRef.SubscriptionRef<I>, readonly encodedValueRef: SubscriptionRef.SubscriptionRef<I>,
readonly errorRef: SubscriptionRef.SubscriptionRef<Option.Option<ParseResult.ParseError>>, readonly errorRef: SubscriptionRef.SubscriptionRef<Option.Option<ParseResult.ParseError>>,
makeFieldIssuesSubscribable<P extends PropertyPath.Paths<A>>(path: P): Subscribable.Subscribable<readonly ParseResult.ArrayFormatterIssue[]> makeFieldIssuesSubscribable<const P extends PropertyPath.Paths<A>>(
path: P
): Subscribable.Subscribable<readonly ParseResult.ArrayFormatterIssue[]>
} }
@@ -32,7 +34,7 @@ extends Pipeable.Class() implements Form<A, I, R> {
super() super()
} }
makeFieldIssuesSubscribable<P extends PropertyPath.Paths<A>>(path: P) { makeFieldIssuesSubscribable<const P extends PropertyPath.Paths<A>>(path: P) {
const filter = Option.match({ const filter = Option.match({
onSome: (v: ParseResult.ParseError) => Effect.andThen( onSome: (v: ParseResult.ParseError) => Effect.andThen(
ParseResult.ArrayFormatter.formatError(v), ParseResult.ArrayFormatter.formatError(v),
@@ -82,7 +84,7 @@ export namespace useInput {
} }
export const useInput: { export const useInput: {
<A, I, R, const P extends PropertyPath.Paths<I>>( <A, I, R, const P extends PropertyPath.Paths<NoInfer<I>>>(
self: Form<A, I, R>, self: Form<A, I, R>,
path: P, path: P,
options?: useInput.Options, options?: useInput.Options,

View File

@@ -28,7 +28,7 @@ export type Paths<T, D extends number = 5, Seen = never> = readonly [] | (
never never
) )
export type ValueFromPath<T, P extends readonly any[]> = P extends [infer Head, ...infer Tail] export type ValueFromPath<T, P extends readonly any[]> = P extends readonly [infer Head, ...infer Tail]
? Head extends keyof T ? Head extends keyof T
? ValueFromPath<T[Head], Tail> ? ValueFromPath<T[Head], Tail>
: T extends readonly any[] : T extends readonly any[]

View File

@@ -20,8 +20,8 @@ class RegisterForm extends Effect.Service<RegisterForm>()("RegisterForm", {
class RegisterPage extends Component.makeUntraced(function* RegisterPage() { class RegisterPage extends Component.makeUntraced(function* RegisterPage() {
const form = yield* RegisterForm const form = yield* RegisterForm
const emailInput = yield* Form.useInput(form, ["email"]) const emailInput = yield* Form.useInput(form, ["email"], { debounce: "200 millis" })
const passwordInput = yield* Form.useInput(form, ["password"]) const passwordInput = yield* Form.useInput(form, ["password"], { debounce: "200 millis" })
yield* useFork(() => Stream.runForEach(form.valueRef.changes, Console.log), []) yield* useFork(() => Stream.runForEach(form.valueRef.changes, Console.log), [])