Skip to content

Commit 228fe85

Browse files
feat: Added public preview support for full-text search and geo search in Pipelines.
2 parents 7fad2f6 + 32089a9 commit 228fe85

10 files changed

Lines changed: 2127 additions & 306 deletions

File tree

handwritten/firestore/api-report/firestore.api.md

Lines changed: 53 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -682,6 +682,9 @@ function countDistinct(expr: Expression | string): AggregateFunction;
682682
// @public
683683
function countIf(booleanExpr: BooleanExpression): AggregateFunction;
684684

685+
// @public
686+
function currentDocument(): Expression;
687+
685688
// @public
686689
function currentTimestamp(): FunctionExpression;
687690

@@ -754,6 +757,9 @@ function documentId(documentPath: string | firestore.DocumentReference): Functio
754757
// @public
755758
function documentId(documentPathExpr: Expression): FunctionExpression;
756759

760+
// @beta
761+
function documentMatches(rquery: string | Expression): BooleanExpression;
762+
757763
// Warning: (tsdoc-undefined-tag) The TSDoc tag "@class" is not defined in this configuration
758764
// Warning: (ae-forgotten-export) The symbol "Serializable" needs to be exported by the entry point index.d.ts
759765
//
@@ -1145,6 +1151,7 @@ abstract class Expression implements firestore.Pipelines.Expression, HasUserData
11451151
abstract expressionType: firestore.Pipelines.ExpressionType;
11461152
first(): AggregateFunction;
11471153
floor(): FunctionExpression;
1154+
getField(key: string | Expression): Expression;
11481155
greaterThan(expression: Expression): BooleanExpression;
11491156
greaterThan(value: unknown): BooleanExpression;
11501157
greaterThanOrEqual(expression: Expression): BooleanExpression;
@@ -1281,6 +1288,8 @@ class Field extends Expression implements firestore.Pipelines.Selectable {
12811288
readonly expressionType: firestore.Pipelines.ExpressionType;
12821289
// (undocumented)
12831290
get fieldName(): string;
1291+
// @beta
1292+
geoDistance(location: GeoPoint | Expression): Expression;
12841293
// (undocumented)
12851294
selectable: true;
12861295
// Warning: (tsdoc-undefined-tag) The TSDoc tag "@private" is not defined in this configuration
@@ -1588,6 +1597,9 @@ class FunctionExpression extends Expression {
15881597
_validateUserData(ignoreUndefinedProperties: boolean): void;
15891598
}
15901599

1600+
// @beta
1601+
function geoDistance(fieldName: string | Field, location: GeoPoint | Expression): Expression;
1602+
15911603
// Warning: (tsdoc-undefined-tag) The TSDoc tag "@class" is not defined in this configuration
15921604
//
15931605
// @public
@@ -1619,6 +1631,18 @@ export class GeoPoint implements Serializable, firestore.GeoPoint {
16191631
toProto(): api.IValue;
16201632
}
16211633

1634+
// @public
1635+
function getField(expression: Expression, key: string): Expression;
1636+
1637+
// @public
1638+
function getField(expression: Expression, keyExpr: Expression): Expression;
1639+
1640+
// @public
1641+
function getField(fieldName: string, key: string): Expression;
1642+
1643+
// @public
1644+
function getField(fieldName: string, keyExpr: Expression): Expression;
1645+
16221646
// @public
16231647
function greaterThan(left: Expression, right: Expression): BooleanExpression;
16241648

@@ -1938,6 +1962,8 @@ class Pipeline implements firestore.Pipelines.Pipeline {
19381962
addFields(options: firestore.Pipelines.AddFieldsStageOptions): Pipeline;
19391963
aggregate(accumulator: firestore.Pipelines.AliasedAggregate, ...additionalAccumulators: firestore.Pipelines.AliasedAggregate[]): Pipeline;
19401964
aggregate(options: firestore.Pipelines.AggregateStageOptions): Pipeline;
1965+
define(aliasedExpression: firestore.Pipelines.AliasedExpression, ...additionalExpressions: firestore.Pipelines.AliasedExpression[]): Pipeline;
1966+
define(options: firestore.Pipelines.DefineStageOptions): Pipeline;
19411967
// Warning: (tsdoc-undefined-tag) The TSDoc tag "@return" is not defined in this configuration
19421968
// Warning: (tsdoc-undefined-tag) The TSDoc tag "@code" is not defined in this configuration
19431969
//
@@ -1969,15 +1995,21 @@ class Pipeline implements firestore.Pipelines.Pipeline {
19691995
// Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag
19701996
// Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@"
19711997
sample(options: firestore.Pipelines.SampleStageOptions): Pipeline;
1998+
// Warning: (tsdoc-undefined-tag) The TSDoc tag "@return" is not defined in this configuration
1999+
//
2000+
// @beta
2001+
search(options: firestore.Pipelines.SearchStageOptions): Pipeline;
19722002
select(selection: firestore.Pipelines.Selectable | string, ...additionalSelections: Array<firestore.Pipelines.Selectable | string>): Pipeline;
19732003
select(options: firestore.Pipelines.SelectStageOptions): Pipeline;
19742004
sort(ordering: firestore.Pipelines.Ordering, ...additionalOrderings: firestore.Pipelines.Ordering[]): Pipeline;
19752005
sort(options: firestore.Pipelines.SortStageOptions): Pipeline;
19762006
// Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag
19772007
// Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@"
19782008
stream(): NodeJS.ReadableStream;
2009+
toArrayExpression(): firestore.Pipelines.Expression;
19792010
// (undocumented)
1980-
_toProto(): api.IPipeline;
2011+
_toProto(serializer?: Serializer): api.IPipeline;
2012+
toScalarExpression(): firestore.Pipelines.Expression;
19812013
// Warning: (ae-forgotten-export) The symbol "StructuredPipeline" needs to be exported by the entry point index.d.ts
19822014
//
19832015
// (undocumented)
@@ -2055,6 +2087,7 @@ declare namespace Pipelines {
20552087
PipelineResult,
20562088
PipelineSnapshot,
20572089
PipelineSource,
2090+
subcollection,
20582091
and,
20592092
arrayContains,
20602093
arrayContainsAny,
@@ -2194,8 +2227,14 @@ declare namespace Pipelines {
21942227
stringReplaceOne,
21952228
nor,
21962229
switchOn,
2230+
getField,
2231+
variable,
2232+
currentDocument,
21972233
ifNull,
2198-
coalesce
2234+
coalesce,
2235+
documentMatches,
2236+
score,
2237+
geoDistance
21992238
}
22002239
}
22012240
export { Pipelines }
@@ -2607,6 +2646,9 @@ function rtrim(fieldName: string, valueToTrim?: string | Expression | Uint8Array
26072646
// @public
26082647
function rtrim(expression: Expression, valueToTrim?: string | Expression | Uint8Array | Buffer): FunctionExpression;
26092648

2649+
// @beta
2650+
function score(): Expression;
2651+
26102652
// @public
26112653
export function setLogFunction(logger: ((msg: string) => void) | null): void;
26122654

@@ -2688,6 +2730,12 @@ function stringReverse(stringExpression: Expression): FunctionExpression;
26882730
// @public
26892731
function stringReverse(field: string): FunctionExpression;
26902732

2733+
// @public
2734+
function subcollection(path: string): Pipeline;
2735+
2736+
// @public
2737+
function subcollection(options: firestore.Pipelines.SubcollectionStageOptions): Pipeline;
2738+
26912739
// @public
26922740
function substring(field: string, position: number, length?: number): FunctionExpression;
26932741

@@ -2983,6 +3031,9 @@ function unixSecondsToTimestamp(expr: Expression): FunctionExpression;
29833031
// @public
29843032
function unixSecondsToTimestamp(fieldName: string): FunctionExpression;
29853033

3034+
// @public
3035+
function variable(name: string): Expression;
3036+
29863037
// @public
29873038
function vectorLength(vectorExpression: Expression): FunctionExpression;
29883039

0 commit comments

Comments
 (0)