π§ API Reference
Firetype generates fully typed APIs that mirror your Firestore database structure. Hereβs a comprehensive reference of the generated functions and types.Generated Functions
createFireTypeAdmin(firestoreInstance)
Creates a type-safe Firestore API for server-side operations using the Firebase Admin SDK.
Parameters:
firestoreInstance: Firebase Admin Firestore instance
createFireTypeClient(firestoreInstance)
Creates a type-safe Firestore API for client-side operations using the Firebase Web SDK.
Parameters:
firestoreInstance: Firebase Client Firestore instance
API Structure
The generated API mirrors your directory structure. For this schema structure:Collection API Methods
getCollectionRef(validate?: boolean)
Returns a typed Firestore collection reference.
Parameters:
validate(boolean, optional): Enable runtime validation (default: false)
- Admin:
AdminCollectionReference<T> - Client:
ClientCollectionReference<T>
getDocumentRef(documentId, validate?: boolean)
Returns a typed Firestore document reference.
Parameters:
documentId(string): The document IDvalidate(boolean, optional): Enable runtime validation (default: false)
- Admin:
AdminDocumentReference<T> - Client:
ClientDocumentReference<T>
getCollectionGroupRef(validate?: boolean)
Returns a typed collection group reference for querying across all subcollections.
Parameters:
validate(boolean, optional): Enable runtime validation (default: false)
- Admin:
AdminCollectionGroup<T> - Client:
ClientQuery<T>
Subcollection API Methods
For subcollections, the API methods require parent document IDs:getCollectionRef(args, validate?: boolean)
Parameters:
args: Object containing parent document IDs (e.g.,{ usersId: "user123" })validate(boolean, optional): Enable runtime validation (default: false)
getDocumentRef(args, documentId, validate?: boolean)
Parameters:
args: Object containing parent document IDsdocumentId(string): The document IDvalidate(boolean, optional): Enable runtime validation (default: false)
Validation
Firetype supports optional runtime validation using your Zod schemas:Type Safety
All generated APIs are fully type-safe:Error Handling
Firetype throws descriptive errors for common issues:- Validation errors: Zod validation errors when validation is enabled
- Schema errors: Issues with your schema definitions
- Firestore errors: Standard Firestore SDK errors are passed through
Generated Types
Schema Types
For each schema file, Firetype generates:- Document type: The TypeScript type for your document data
- Create type: Type for creating new documents (with optional fields)
- Update type: Type for updating existing documents
Reference Types
firestoreRef(path?): Creates document reference schemas. When a path is provided, it will be replaced during generation with a strongly-typed reference schema. When omitted, it behaves as a permissive Zod schema at authoring time and supports composition likez.array(firestoreRef()).collectionPath(path): Generic helper that preserves literal types and brands collection paths.
SDK-Specific Types
Admin SDK:AdminCollectionReference<T>AdminDocumentReference<T>AdminCollectionGroup<T>
ClientCollectionReference<T>ClientDocumentReference<T>ClientQuery<T>