import { doc, getDoc } from '@lemasc/firebase-wrapper/firestore' import { mutateDocFromCollection } from '../../internals/cache' import { db, validateAndParseDate } from '../../helpers' import type { FetchStaticOptions, Document, StaticMutateOptions, } from '../../types' export const getDocument = async < Data extends Record = Record, Doc extends Document = Document >( path: string, options: FetchStaticOptions & StaticMutateOptions ) => { const document = await getDoc(doc(db(), path)) const data = await validateAndParseDate(document, options) mutateDocFromCollection(document.ref, data, options) return data }