MobXObservable fix

This commit is contained in:
Julien Valverdé
2024-06-13 21:10:51 +02:00
parent 2a9217e2a1
commit 4b7c9acfdf

View File

@@ -1,13 +1,15 @@
import type { Struct } from "@effect/schema/Schema" import type { Struct } from "@effect/schema/Schema"
import { makeObservable, observable, type CreateObservableOptions } from "mobx" import { makeObservable, observable, type CreateObservableOptions } from "mobx"
import { mapValues } from "remeda" import { mapValues } from "remeda"
import type { Constructor } from "type-fest"
interface MobXObservableInput {
new(...args: any[]): Struct.Type<Struct.Fields>
readonly fields: { readonly [K in keyof Struct.Fields]: Struct.Fields[K] }
}
export function MobXObservable< export function MobXObservable<
This extends Constructor<Struct.Type<Struct.Fields>, any> & { This extends MobXObservableInput
readonly fields: { readonly [K in keyof Struct.Fields]: Struct.Fields[K] }
}
>( >(
class_: This, class_: This,
options?: Omit<CreateObservableOptions, "proxy">, options?: Omit<CreateObservableOptions, "proxy">,