@tixae-labs/typesaurus-react
Version:
React Hooks for Typesaurus, type-safe Firestore ODM, MAINTAINED BY TIXAE LABS
16 lines (15 loc) • 1.17 kB
text/typescript
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 {};