Skip to content

Commit 703b18f

Browse files
committed
revert and/or overloads
1 parent 18e3477 commit 703b18f

File tree

12 files changed

+156
-293
lines changed

12 files changed

+156
-293
lines changed

common/api-review/firestore-lite.api.md

Lines changed: 3 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -100,16 +100,9 @@ export class And extends FirestoreFunction implements FilterCondition {
100100
filterable: true;
101101
}
102102

103-
// @beta
104-
export function and(left: FilterExpr, ...right: FilterExpr[]): And;
105-
106103
// @public
107104
export function and(...queryConstraints: QueryFilterConstraint[]): QueryCompositeFilterConstraint;
108105

109-
// @public (undocumented)
110-
export namespace and {
111-
}
112-
113106
// @beta (undocumented)
114107
export class ArrayConcat extends FirestoreFunction {
115108
constructor(array: Constant, elements: Constant[]);
@@ -221,12 +214,6 @@ export class Avg extends FirestoreFunction implements Accumulator {
221214
accumulator: true;
222215
}
223216

224-
// @beta
225-
export function avgFunction(value: Constant): Avg;
226-
227-
// @beta
228-
export function avgFunction(value: string): Avg;
229-
230217
// @beta (undocumented)
231218
export class ByteLength extends FirestoreFunction {
232219
constructor(value: Constant);
@@ -1530,16 +1517,9 @@ export class Or extends FirestoreFunction implements FilterCondition {
15301517
filterable: true;
15311518
}
15321519

1533-
// @beta
1534-
export function or(left: FilterExpr, ...right: FilterExpr[]): Or;
1535-
15361520
// @public
15371521
export function or(...queryConstraints: QueryFilterConstraint[]): QueryCompositeFilterConstraint;
15381522

1539-
// @public (undocumented)
1540-
export namespace or {
1541-
}
1542-
15431523
// @public
15441524
export function orderBy(fieldPath: string | FieldPath, directionStr?: OrderByDirection): QueryOrderByConstraint;
15451525

@@ -1960,12 +1940,6 @@ export class Sum extends FirestoreFunction implements Accumulator {
19601940
// @public
19611941
export function sum(field: string | FieldPath): AggregateField<number>;
19621942

1963-
// @beta
1964-
export function sumFunction(value: Constant): Sum;
1965-
1966-
// @beta
1967-
export function sumFunction(value: string): Sum;
1968-
19691943
// @public
19701944
export function terminate(firestore: Firestore): Promise<void>;
19711945

@@ -2214,8 +2188,8 @@ export function xor(left: FilterExpr, ...right: FilterExpr[]): Xor;
22142188

22152189
// Warnings were encountered during analysis:
22162190
//
2217-
// /home/runner/work/firebase-js-sdk/firebase-js-sdk/packages/firestore/dist/lite/index.d.ts:9243:9 - (ae-incompatible-release-tags) The symbol "accumulators" is marked as @public, but its signature references "AccumulatorTarget" which is marked as @beta
2218-
// /home/runner/work/firebase-js-sdk/firebase-js-sdk/packages/firestore/dist/lite/index.d.ts:9244:9 - (ae-incompatible-release-tags) The symbol "groups" is marked as @public, but its signature references "Selectable" which is marked as @beta
2219-
// /home/runner/work/firebase-js-sdk/firebase-js-sdk/packages/firestore/dist/lite/index.d.ts:9273:9 - (ae-incompatible-release-tags) The symbol "orderings" is marked as @public, but its signature references "Ordering" which is marked as @beta
2191+
// /Users/markduckworth/projects/firebase-js-sdk/packages/firestore/dist/lite/index.d.ts:9177:9 - (ae-incompatible-release-tags) The symbol "accumulators" is marked as @public, but its signature references "AccumulatorTarget" which is marked as @beta
2192+
// /Users/markduckworth/projects/firebase-js-sdk/packages/firestore/dist/lite/index.d.ts:9178:9 - (ae-incompatible-release-tags) The symbol "groups" is marked as @public, but its signature references "Selectable" which is marked as @beta
2193+
// /Users/markduckworth/projects/firebase-js-sdk/packages/firestore/dist/lite/index.d.ts:9207:9 - (ae-incompatible-release-tags) The symbol "orderings" is marked as @public, but its signature references "Ordering" which is marked as @beta
22202194

22212195
```

common/api-review/firestore.api.md

Lines changed: 15 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -100,15 +100,11 @@ export class And extends FirestoreFunction implements FilterCondition {
100100
filterable: true;
101101
}
102102

103-
// @beta
104-
export function and(left: FilterExpr, ...right: FilterExpr[]): And;
105-
106103
// @public
107104
export function and(...queryConstraints: QueryFilterConstraint[]): QueryCompositeFilterConstraint;
108105

109-
// @public (undocumented)
110-
export namespace and {
111-
}
106+
// @beta
107+
export function andFunction(left: FilterExpr, ...right: FilterExpr[]): And;
112108

113109
// @beta (undocumented)
114110
export class ArrayConcat extends FirestoreFunction {
@@ -222,10 +218,10 @@ export class Avg extends FirestoreFunction implements Accumulator {
222218
}
223219

224220
// @beta
225-
export function avg(value: Constant): Avg;
221+
export function avgFunction(value: Constant): Avg;
226222

227223
// @beta
228-
export function avg(value: string): Avg;
224+
export function avgFunction(value: string): Avg;
229225

230226
// @beta (undocumented)
231227
export class ByteLength extends FirestoreFunction {
@@ -461,12 +457,12 @@ export function count(): AggregateField<number>;
461457
export function countAll(): Count;
462458

463459
// @beta
464-
export function countExpression(value: Constant): Count;
460+
export function countFunction(value: Constant): Count;
465461

466-
// Warning: (ae-incompatible-release-tags) The symbol "countExpression" is marked as @public, but its signature references "Count" which is marked as @beta
462+
// Warning: (ae-incompatible-release-tags) The symbol "countFunction" is marked as @public, but its signature references "Count" which is marked as @beta
467463
//
468464
// @public
469-
export function countExpression(value: string): Count;
465+
export function countFunction(value: string): Count;
470466

471467
// @beta (undocumented)
472468
export class DatabaseSource implements Stage {
@@ -1745,16 +1741,9 @@ export class Or extends FirestoreFunction implements FilterCondition {
17451741
filterable: true;
17461742
}
17471743

1748-
// @beta
1749-
export function or(left: FilterExpr, ...right: FilterExpr[]): Or;
1750-
17511744
// @public
17521745
export function or(...queryConstraints: QueryFilterConstraint[]): QueryCompositeFilterConstraint;
17531746

1754-
// @public (undocumented)
1755-
export namespace or {
1756-
}
1757-
17581747
// @public
17591748
export function orderBy(fieldPath: string | FieldPath, directionStr?: OrderByDirection): QueryOrderByConstraint;
17601749

@@ -1766,6 +1755,9 @@ export class Ordering {
17661755
constructor(expr: Constant, direction: 'ascending' | 'descending');
17671756
}
17681757

1758+
// @beta
1759+
export function orFunction(left: FilterExpr, ...right: FilterExpr[]): Or;
1760+
17691761
// @public
17701762
export type PartialWithFieldValue<T> = Partial<T> | (T extends Primitive ? T : T extends {} ? {
17711763
[K in keyof T]?: PartialWithFieldValue<T[K]> | FieldValue;
@@ -2226,10 +2218,10 @@ export class Sum extends FirestoreFunction implements Accumulator {
22262218
export function sum(field: string | FieldPath): AggregateField<number>;
22272219

22282220
// @beta
2229-
export function sumExpression(value: Constant): Sum;
2221+
export function sumFunction(value: Constant): Sum;
22302222

22312223
// @beta
2232-
export function sumExpression(value: string): Sum;
2224+
export function sumFunction(value: string): Sum;
22332225

22342226
// @public
22352227
export type TaskState = 'Error' | 'Running' | 'Success';
@@ -2490,8 +2482,8 @@ export function xor(left: FilterExpr, ...right: FilterExpr[]): Xor;
24902482

24912483
// Warnings were encountered during analysis:
24922484
//
2493-
// /home/runner/work/firebase-js-sdk/firebase-js-sdk/packages/firestore/dist/index.d.ts:10106:26 - (ae-incompatible-release-tags) The symbol "accumulators" is marked as @public, but its signature references "AccumulatorTarget" which is marked as @beta
2494-
// /home/runner/work/firebase-js-sdk/firebase-js-sdk/packages/firestore/dist/index.d.ts:10106:61 - (ae-incompatible-release-tags) The symbol "groups" is marked as @public, but its signature references "Selectable" which is marked as @beta
2495-
// /home/runner/work/firebase-js-sdk/firebase-js-sdk/packages/firestore/dist/index.d.ts:10133:21 - (ae-incompatible-release-tags) The symbol "orderings" is marked as @public, but its signature references "Ordering" which is marked as @beta
2485+
// /Users/markduckworth/projects/firebase-js-sdk/packages/firestore/dist/index.d.ts:10102:26 - (ae-incompatible-release-tags) The symbol "accumulators" is marked as @public, but its signature references "AccumulatorTarget" which is marked as @beta
2486+
// /Users/markduckworth/projects/firebase-js-sdk/packages/firestore/dist/index.d.ts:10102:61 - (ae-incompatible-release-tags) The symbol "groups" is marked as @public, but its signature references "Selectable" which is marked as @beta
2487+
// /Users/markduckworth/projects/firebase-js-sdk/packages/firestore/dist/index.d.ts:10129:21 - (ae-incompatible-release-tags) The symbol "orderings" is marked as @public, but its signature references "Ordering" which is marked as @beta
24962488

24972489
```

packages/firestore/lite/index.ts

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -189,9 +189,7 @@ export {
189189
SelectableExpr,
190190
Selectable,
191191
FilterCondition,
192-
Accumulator,
193-
sum as sumFunction,
194-
avg as avgFunction
192+
Accumulator
195193
} from '../src/lite-api/expressions';
196194

197195
export {
@@ -240,16 +238,16 @@ export {
240238
queryEqual
241239
} from '../src/lite-api/reference';
242240

243-
export { and, or } from '../src/lite-api/overloads';
244-
245241
export {
242+
and,
246243
endAt,
247244
endBefore,
248245
startAt,
249246
startAfter,
250247
limit,
251248
limitToLast,
252249
where,
250+
or,
253251
orderBy,
254252
query,
255253
QueryConstraint,

packages/firestore/src/api.ts

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -87,9 +87,11 @@ export {
8787
strConcat,
8888
mapGet,
8989
countAll,
90-
count as countExpression,
91-
sum as sumExpression,
92-
avg,
90+
countFunction,
91+
sumFunction,
92+
avgFunction,
93+
andFunction,
94+
orFunction,
9395
min,
9496
max,
9597
cosineDistance,
@@ -183,8 +185,6 @@ export {
183185
Accumulator
184186
} from './lite-api/expressions';
185187

186-
export { and, or } from './lite-api/overloads';
187-
188188
export {
189189
aggregateFieldEqual,
190190
aggregateQuerySnapshotEqual,
@@ -284,10 +284,12 @@ export {
284284
} from './api/reference';
285285

286286
export {
287+
and,
287288
endAt,
288289
endBefore,
289290
limit,
290291
limitToLast,
292+
or,
291293
orderBy,
292294
OrderByDirection,
293295
query,

packages/firestore/src/api/database_augmentation.ts

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,6 @@
1515
* limitations under the License.
1616
*/
1717

18-
import { And, FilterExpr, Or } from '../lite-api/expressions';
19-
import { and, or } from '../lite-api/overloads';
2018
import { Pipeline } from '../lite-api/pipeline';
2119
import { PipelineSource } from '../lite-api/pipeline-source';
2220
import { newUserDataReader } from '../lite-api/user_data_reader';
@@ -56,12 +54,4 @@ export function useFirestorePipelines(): void {
5654

5755
return pipeline;
5856
};
59-
60-
and._andFunction = function (left: FilterExpr, ...right: FilterExpr[]): And {
61-
return new And([left, ...right]);
62-
};
63-
64-
or._orFunction = function (left: FilterExpr, ...right: FilterExpr[]): Or {
65-
return new Or([left, ...right]);
66-
};
6757
}

packages/firestore/src/api/filter.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,12 +16,14 @@
1616
*/
1717

1818
export {
19+
and,
1920
endAt,
2021
endBefore,
2122
startAfter,
2223
startAt,
2324
limitToLast,
2425
limit,
26+
or,
2527
orderBy,
2628
OrderByDirection,
2729
where,

packages/firestore/src/core/pipeline-util.ts

Lines changed: 19 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -20,9 +20,10 @@ import {
2020
Expr,
2121
Field,
2222
FilterCondition,
23-
not
23+
not,
24+
andFunction,
25+
orFunction
2426
} from '../lite-api/expressions';
25-
import { and, or } from '../lite-api/overloads';
2627
import { isNanValue, isNullValue } from '../model/values';
2728
import {
2829
ArrayValue as ProtoArrayValue,
@@ -178,51 +179,51 @@ export function toPipelineFilterCondition(
178179
const field = Field.of(f.field.toString());
179180
if (isNanValue(f.value)) {
180181
if (f.op === Operator.EQUAL) {
181-
return and(field.exists(), field.isNaN());
182+
return andFunction(field.exists(), field.isNaN());
182183
} else {
183-
return and(field.exists(), not(field.isNaN()));
184+
return andFunction(field.exists(), not(field.isNaN()));
184185
}
185186
} else if (isNullValue(f.value)) {
186187
if (f.op === Operator.EQUAL) {
187-
return and(field.exists(), field.eq(null));
188+
return andFunction(field.exists(), field.eq(null));
188189
} else {
189-
return and(field.exists(), not(field.eq(null)));
190+
return andFunction(field.exists(), not(field.eq(null)));
190191
}
191192
} else {
192193
// Comparison filters
193194
const value = f.value;
194195
switch (f.op) {
195196
case Operator.LESS_THAN:
196-
return and(field.exists(), field.lt(value));
197+
return andFunction(field.exists(), field.lt(value));
197198
case Operator.LESS_THAN_OR_EQUAL:
198-
return and(field.exists(), field.lte(value));
199+
return andFunction(field.exists(), field.lte(value));
199200
case Operator.GREATER_THAN:
200-
return and(field.exists(), field.gt(value));
201+
return andFunction(field.exists(), field.gt(value));
201202
case Operator.GREATER_THAN_OR_EQUAL:
202-
return and(field.exists(), field.gte(value));
203+
return andFunction(field.exists(), field.gte(value));
203204
case Operator.EQUAL:
204-
return and(field.exists(), field.eq(value));
205+
return andFunction(field.exists(), field.eq(value));
205206
case Operator.NOT_EQUAL:
206-
return and(field.exists(), field.neq(value));
207+
return andFunction(field.exists(), field.neq(value));
207208
case Operator.ARRAY_CONTAINS:
208-
return and(field.exists(), field.arrayContains(value));
209+
return andFunction(field.exists(), field.arrayContains(value));
209210
case Operator.IN: {
210211
const values = value?.arrayValue?.values?.map((val: any) =>
211212
Constant.of(val)
212213
);
213-
return and(field.exists(), field.in(...values!));
214+
return andFunction(field.exists(), field.in(...values!));
214215
}
215216
case Operator.ARRAY_CONTAINS_ANY: {
216217
const values = value?.arrayValue?.values?.map((val: any) =>
217218
Constant.of(val)
218219
);
219-
return and(field.exists(), field.arrayContainsAny(values!));
220+
return andFunction(field.exists(), field.arrayContainsAny(values!));
220221
}
221222
case Operator.NOT_IN: {
222223
const values = value?.arrayValue?.values?.map((val: any) =>
223224
Constant.of(val)
224225
);
225-
return and(field.exists(), not(field.in(...values!)));
226+
return andFunction(field.exists(), not(field.in(...values!)));
226227
}
227228
default:
228229
fail('Unexpected operator');
@@ -234,13 +235,13 @@ export function toPipelineFilterCondition(
234235
const conditions = f
235236
.getFilters()
236237
.map(f => toPipelineFilterCondition(f));
237-
return and(conditions[0], ...conditions.slice(1));
238+
return andFunction(conditions[0], ...conditions.slice(1));
238239
}
239240
case CompositeOperator.OR: {
240241
const conditions = f
241242
.getFilters()
242243
.map(f => toPipelineFilterCondition(f));
243-
return or(conditions[0], ...conditions.slice(1));
244+
return orFunction(conditions[0], ...conditions.slice(1));
244245
}
245246
default:
246247
fail('Unexpected operator');

packages/firestore/src/lite-api/database_augmentation.ts

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,6 @@
1818
import { DocumentKey } from '../model/document_key';
1919

2020
import { Firestore } from './database';
21-
import { And, FilterExpr, Or } from './expressions';
22-
import { or, and } from './overloads';
2321
import { Pipeline } from './pipeline';
2422
import { PipelineSource } from './pipeline-source';
2523
import { DocumentReference, Query } from './reference';
@@ -57,12 +55,4 @@ export function useFirestorePipelines(): void {
5755

5856
return pipeline;
5957
};
60-
61-
and._andFunction = function (left: FilterExpr, ...right: FilterExpr[]): And {
62-
return new And([left, ...right]);
63-
};
64-
65-
or._orFunction = function (left: FilterExpr, ...right: FilterExpr[]): Or {
66-
return new Or([left, ...right]);
67-
};
6858
}

0 commit comments

Comments
 (0)