Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

PPL to Console #8638

Merged
merged 53 commits into from
Nov 20, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
53 commits
Select commit Hold shift + click to select a range
3b49905
wip: pipelines
MarkDuckworth Oct 14, 2024
a30f9ae
Fix circular deps
MarkDuckworth Oct 14, 2024
dbc7c12
Expose pipeline in lite-api
MarkDuckworth Oct 16, 2024
27213de
Refactoring to support lite-api
MarkDuckworth Oct 16, 2024
0676397
api-review folder updates
MarkDuckworth Oct 16, 2024
2cd396a
Adding missing protobufjs-cli
MarkDuckworth Oct 16, 2024
0c76ca0
Update API reports
MarkDuckworth Oct 16, 2024
5e9774b
fixes
MarkDuckworth Oct 16, 2024
22913b1
Merge branch 'markduckworth/ppl' of github.com:firebase/firebase-js-s…
MarkDuckworth Oct 16, 2024
2f3d48a
yarn.lock
MarkDuckworth Oct 16, 2024
076236e
Fixes. Passing integration tests.
MarkDuckworth Oct 28, 2024
8af0c57
Update API reports
MarkDuckworth Oct 28, 2024
57d1bf9
Move call to readUserData for code readability
MarkDuckworth Oct 29, 2024
022d276
Merge branch 'markduckworth/ppl' of github.com:firebase/firebase-js-s…
MarkDuckworth Oct 29, 2024
4f9a5fc
Made ProtoSerializable generic and used by Pipeline and Stage
MarkDuckworth Oct 29, 2024
6717ed4
Fixing build and lint issues
MarkDuckworth Oct 31, 2024
3ab4f5c
Update API reports
MarkDuckworth Oct 31, 2024
fc4f263
Merge branch 'main' of github.com:firebase/firebase-js-sdk into markd…
MarkDuckworth Oct 31, 2024
fd20eff
Adding new bundle size test
MarkDuckworth Oct 31, 2024
90a5e3c
experimentation with augmentation for ppl
MarkDuckworth Nov 4, 2024
585d52e
Update API reports
MarkDuckworth Nov 4, 2024
4b67f8a
Documentation and .d.ts improvements
MarkDuckworth Nov 5, 2024
26c76f3
Merge branch 'markduckworth/ppl-augment' of github.com:firebase/fireb…
MarkDuckworth Nov 5, 2024
ca0ffd9
Update API reports
MarkDuckworth Nov 5, 2024
2d386c8
Update the bundle definition for the pipeline bundle test
MarkDuckworth Nov 6, 2024
c621b81
Update the bundle definition adding a pipeline test with and function
MarkDuckworth Nov 6, 2024
773ab02
Typo
MarkDuckworth Nov 6, 2024
ad82093
Merge branch 'markduckworth/ppl-augment' of github.com:firebase/fireb…
MarkDuckworth Nov 6, 2024
682997d
And/or overloads. Pipeline serialization for console.
MarkDuckworth Nov 11, 2024
8eb9082
Cast Firestore
MarkDuckworth Nov 11, 2024
6a2abf3
And/or overloads
MarkDuckworth Nov 11, 2024
422cbd6
Update API reports
MarkDuckworth Nov 11, 2024
c78bae9
Fix and/or overloads
MarkDuckworth Nov 13, 2024
56c4e4a
Merge branch 'markduckworth/ppl-augment' of github.com:firebase/fireb…
MarkDuckworth Nov 13, 2024
bcfaf2a
Modular-style pipeline and execute methods for experimentation. Plus …
MarkDuckworth Nov 13, 2024
5425705
Update API reports
MarkDuckworth Nov 13, 2024
9a1ffa6
Merge branch 'console' of github.com:firebase/firebase-js-sdk into fe…
MarkDuckworth Nov 13, 2024
edc1ea5
Docgen
MarkDuckworth Nov 13, 2024
6859582
Merge branch 'feat/pipelines' of github.com:firebase/firebase-js-sdk …
MarkDuckworth Nov 13, 2024
9c4d556
license headers
MarkDuckworth Nov 13, 2024
1aef450
docgen
MarkDuckworth Nov 13, 2024
b20afe6
docs-devsite fix
MarkDuckworth Nov 13, 2024
877bf3c
Skipping pipeline tests for CI
MarkDuckworth Nov 13, 2024
1f7b071
Update API reports
MarkDuckworth Nov 13, 2024
d9b6e9a
reverting changes to docs-devsite
MarkDuckworth Nov 13, 2024
18e3477
Merge branch 'feat/pipelines' of github.com:firebase/firebase-js-sdk …
MarkDuckworth Nov 13, 2024
703b18f
revert and/or overloads
MarkDuckworth Nov 13, 2024
75e35c8
Update API reports
MarkDuckworth Nov 13, 2024
4bb953a
Fix bundle definition
MarkDuckworth Nov 15, 2024
8b6855c
Merge branch 'feat/pipelines' of github.com:firebase/firebase-js-sdk …
MarkDuckworth Nov 15, 2024
92c651f
Fix imports
MarkDuckworth Nov 15, 2024
cc3146c
Re-adding circular dependency check.
MarkDuckworth Nov 19, 2024
d2e8d60
Addressing review comments.
MarkDuckworth Nov 19, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1,776 changes: 1,737 additions & 39 deletions common/api-review/firestore-lite.api.md

Large diffs are not rendered by default.

1,705 changes: 1,704 additions & 1 deletion common/api-review/firestore.api.md

Large diffs are not rendered by default.

1 change: 1 addition & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -143,6 +143,7 @@
"postinstall-postinstall": "2.1.0",
"prettier": "2.8.7",
"protractor": "5.4.2",
"protobufjs-cli": "^1.1.3",
"request": "2.88.2",
"semver": "7.5.3",
"simple-git": "3.24.0",
Expand Down
165 changes: 165 additions & 0 deletions packages/firestore/lite/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,171 @@
import { registerFirestore } from './register';
registerFirestore();

export { PipelineSource } from '../src/lite-api/pipeline-source';

export { PipelineResult } from '../src/lite-api/pipeline-result';

export { Pipeline, pipeline } from '../src/lite-api/pipeline';

export { useFirestorePipelines } from '../src/lite-api/database_augmentation';

export { execute } from '../src/lite-api/pipeline_impl';

export {
Stage,
FindNearestOptions,
AddFields,
Aggregate,
Distinct,
CollectionSource,
CollectionGroupSource,
DatabaseSource,
DocumentsSource,
Where,
FindNearest,
Limit,
Offset,
Select,
Sort,
GenericStage
} from '../src/lite-api/stage';

export {
add,
subtract,
multiply,
divide,
mod,
eq,
neq,
lt,
lte,
gt,
gte,
arrayConcat,
arrayContains,
arrayContainsAny,
arrayContainsAll,
arrayLength,
inAny,
notInAny,
xor,
ifFunction,
not,
logicalMax,
logicalMin,
exists,
isNan,
reverse,
replaceFirst,
replaceAll,
byteLength,
charLength,
like,
regexContains,
regexMatch,
strContains,
startsWith,
endsWith,
toLower,
toUpper,
trim,
strConcat,
mapGet,
countAll,
min,
max,
cosineDistance,
dotProduct,
euclideanDistance,
vectorLength,
unixMicrosToTimestamp,
timestampToUnixMicros,
unixMillisToTimestamp,
timestampToUnixMillis,
unixSecondsToTimestamp,
timestampToUnixSeconds,
timestampAdd,
timestampSub,
genericFunction,
ascending,
descending,
ExprWithAlias,
Field,
Fields,
Constant,
FirestoreFunction,
Add,
Subtract,
Multiply,
Divide,
Mod,
Eq,
Neq,
Lt,
Lte,
Gt,
Gte,
ArrayConcat,
ArrayReverse,
ArrayContains,
ArrayContainsAll,
ArrayContainsAny,
ArrayLength,
ArrayElement,
In,
IsNan,
Exists,
Not,
And,
Or,
Xor,
If,
LogicalMax,
LogicalMin,
Reverse,
ReplaceFirst,
ReplaceAll,
CharLength,
ByteLength,
Like,
RegexContains,
RegexMatch,
StrContains,
StartsWith,
EndsWith,
ToLower,
ToUpper,
Trim,
StrConcat,
MapGet,
Count,
Sum,
Avg,
Min,
Max,
CosineDistance,
DotProduct,
EuclideanDistance,
VectorLength,
UnixMicrosToTimestamp,
TimestampToUnixMicros,
UnixMillisToTimestamp,
TimestampToUnixMillis,
UnixSecondsToTimestamp,
TimestampToUnixSeconds,
TimestampAdd,
TimestampSub,
Ordering,
ExprType,
AccumulatorTarget,
FilterExpr,
SelectableExpr,
Selectable,
FilterCondition,
Accumulator
} from '../src/lite-api/expressions';

export {
aggregateQuerySnapshotEqual,
getCount,
Expand Down
173 changes: 172 additions & 1 deletion packages/firestore/src/api.ts
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,176 @@
* limitations under the License.
*/

export { PipelineSource } from './lite-api/pipeline-source';

export { PipelineResult } from './lite-api/pipeline-result';

export { Pipeline, pipeline } from './api/pipeline';

export { useFirestorePipelines } from './api/database_augmentation';

export { execute } from './lite-api/pipeline_impl';

export {
Stage,
FindNearestOptions,
AddFields,
Aggregate,
Distinct,
CollectionSource,
CollectionGroupSource,
DatabaseSource,
DocumentsSource,
Where,
FindNearest,
Limit,
Offset,
Select,
Sort,
GenericStage
} from './lite-api/stage';

export {
add,
subtract,
multiply,
divide,
mod,
eq,
neq,
lt,
lte,
gt,
gte,
arrayConcat,
arrayContains,
arrayContainsAny,
arrayContainsAll,
arrayLength,
inAny,
notInAny,
xor,
ifFunction,
not,
logicalMax,
logicalMin,
exists,
isNan,
reverse,
replaceFirst,
replaceAll,
byteLength,
charLength,
like,
regexContains,
regexMatch,
strContains,
startsWith,
endsWith,
toLower,
toUpper,
trim,
strConcat,
mapGet,
countAll,
countFunction,
sumFunction,
avgFunction,
andFunction,
orFunction,
min,
max,
cosineDistance,
dotProduct,
euclideanDistance,
vectorLength,
unixMicrosToTimestamp,
timestampToUnixMicros,
unixMillisToTimestamp,
timestampToUnixMillis,
unixSecondsToTimestamp,
timestampToUnixSeconds,
timestampAdd,
timestampSub,
genericFunction,
ascending,
descending,
ExprWithAlias,
Field,
Fields,
Constant,
FirestoreFunction,
Add,
Subtract,
Multiply,
Divide,
Mod,
Eq,
Neq,
Lt,
Lte,
Gt,
Gte,
ArrayConcat,
ArrayReverse,
ArrayContains,
ArrayContainsAll,
ArrayContainsAny,
ArrayLength,
ArrayElement,
In,
IsNan,
Exists,
Not,
And,
Or,
Xor,
If,
LogicalMax,
LogicalMin,
Reverse,
ReplaceFirst,
ReplaceAll,
CharLength,
ByteLength,
Like,
RegexContains,
RegexMatch,
StrContains,
StartsWith,
EndsWith,
ToLower,
ToUpper,
Trim,
StrConcat,
MapGet,
Count,
Sum,
Avg,
Min,
Max,
CosineDistance,
DotProduct,
EuclideanDistance,
VectorLength,
UnixMicrosToTimestamp,
TimestampToUnixMicros,
UnixMillisToTimestamp,
TimestampToUnixMillis,
UnixSecondsToTimestamp,
TimestampToUnixSeconds,
TimestampAdd,
TimestampSub,
Ordering,
ExprType,
AccumulatorTarget,
FilterExpr,
SelectableExpr,
Selectable,
FilterCondition,
Accumulator
} from './lite-api/expressions';

export {
aggregateFieldEqual,
aggregateQuerySnapshotEqual,
Expand Down Expand Up @@ -224,7 +394,8 @@ export { isBase64Available as _isBase64Available } from './platform/base64';
export { DatabaseId as _DatabaseId } from './core/database_info';
export {
_internalQueryToProtoQueryTarget,
_internalAggregationQueryToProtoRunAggregationQueryRequest
_internalAggregationQueryToProtoRunAggregationQueryRequest,
_internalPipelineToExecutePipelineRequestProto
} from './remote/internal_serializer';
export {
cast as _cast,
Expand Down
10 changes: 7 additions & 3 deletions packages/firestore/src/api/aggregate.ts
Original file line number Diff line number Diff line change
Expand Up @@ -15,17 +15,21 @@
* limitations under the License.
*/

import { AggregateField, AggregateSpec, DocumentData, Query } from '../api';
import { AggregateImpl } from '../core/aggregate';
import { firestoreClientRunAggregateQuery } from '../core/firestore_client';
import { count } from '../lite-api/aggregate';
import { AggregateQuerySnapshot } from '../lite-api/aggregate_types';
import {
AggregateField,
AggregateQuerySnapshot,
AggregateSpec
} from '../lite-api/aggregate_types';
import { DocumentData, Query } from '../lite-api/reference';
import { ApiClientObjectMap, Value } from '../protos/firestore_proto_api';
import { cast } from '../util/input_validation';
import { mapToArray } from '../util/obj';

import { ensureFirestoreConfigured, Firestore } from './database';
import { ExpUserDataWriter } from './reference_impl';
import { ExpUserDataWriter } from './user_data_writer';

export {
aggregateQuerySnapshotEqual,
Expand Down
Loading
Loading