UNPKG

@tixae-labs/typesaurus-react

Version:

React Hooks for Typesaurus, type-safe Firestore ODM, MAINTAINED BY TIXAE LABS

16 lines (15 loc) 1.17 kB
import type { TypesaurusCore } from "@tixae-labs/typesaurus"; type WriteFunction<T> = T extends TypesaurusCore.Ref<infer Def> ? (data: TypesaurusCore.AssignArg<TypesaurusCore.UnionVariableModelType<Def["WideModel"]>, TypesaurusCore.DocProps>) => Promise<TypesaurusCore.Ref<Def>> : T extends TypesaurusCore.Doc<infer Def, any> ? (data: TypesaurusCore.AssignArg<TypesaurusCore.UnionVariableModelType<Def["WideModel"]>, TypesaurusCore.DocProps>) => Promise<TypesaurusCore.Ref<Def>> : T extends TypesaurusCore.Collection<infer Def> ? (data: TypesaurusCore.AssignArg<TypesaurusCore.UnionVariableModelType<Def["Model"]>, TypesaurusCore.DocProps>) => Promise<TypesaurusCore.Ref<Def>> : T extends { type: "ref"; id: infer Id; collection: TypesaurusCore.Collection<infer Def>; } ? (data: TypesaurusCore.AssignArg<TypesaurusCore.UnionVariableModelType<Def["WideModel"]>, TypesaurusCore.DocProps>) => Promise<TypesaurusCore.Ref<Def>> : T extends { type: "collection"; schema: infer Schema; } ? (data: any) => Promise<any> : (data: any) => Promise<any>; export declare function useWrite<T>(docRef: T): [ WriteFunction<T>, boolean, unknown ]; export {};