Skip to content

Commit 86c9057

Browse files
committed
Update stringifyFilter to support CompositeFilters
1 parent 638b0ad commit 86c9057

File tree

1 file changed

+18
-2
lines changed

1 file changed

+18
-2
lines changed

packages/firestore/src/core/target.ts

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -891,9 +891,25 @@ export function compositeFilterEquals(
891891
/** Returns a debug description for `filter`. */
892892
export function stringifyFilter(filter: Filter): string {
893893
debugAssert(
894-
filter instanceof FieldFilter,
895-
'stringifyFilter() only supports FieldFilters'
894+
(filter instanceof FieldFilter) || (filter instanceof CompositeFilter),
895+
'stringifyFilter() only supports FieldFilters and CompositeFilters'
896896
);
897+
if (filter instanceof FieldFilter) {
898+
return stringifyFieldFilter(filter);
899+
}
900+
else if (filter instanceof CompositeFilter) {
901+
return stringifyCompositeFilter(filter);
902+
}
903+
else {
904+
return 'Filter';
905+
}
906+
}
907+
908+
export function stringifyCompositeFilter(filter: CompositeFilter): string {
909+
return filter.op.toString() + ` {` + filter.getFilters().map(stringifyFilter).join(' ,') + '}';
910+
}
911+
912+
export function stringifyFieldFilter(filter: FieldFilter): string {
897913
return `${filter.field.canonicalString()} ${filter.op} ${canonicalId(
898914
filter.value
899915
)}`;

0 commit comments

Comments
 (0)