Open cedvdb opened 3 months ago
You can currently use any string in the where clause of firestore. When using with converter the fieldPath should be "string safe"
Current implementation:
where( fieldPath: string | FieldPath, opStr: WhereFilterOp, value: any ): Query<T>;
Proposed implementation (when using with converter) :
where( fieldPath: Path<T>, opStr: WhereFilterOp, value: any ): Query<T>;
where Path:
// Allows dot separated properties of <T> // for firebase updates export type UpdatePath<T, K extends keyof T> = K extends string ? T[K] extends Record<string, any> ? T[K] extends ArrayLike<any> ? K | `${K}.${UpdatePath<T[K], Exclude<keyof T[K], keyof any[]>>}` : K | `${K}.${UpdatePath<T[K], keyof T[K]>}` : K : never; export type Path<T> = UpdatePath<T, keyof T> | keyof T;
Thanks for reporting @cedvdb . I'll bring up the proposed API with the team
You can currently use any string in the where clause of firestore. When using with converter the fieldPath should be "string safe"
Current implementation:
Proposed implementation (when using with converter) :
where Path: