Skip to content

Commit 2c642fb

Browse files
committed
add RefOptions, [Operation,Query,Mutation]Ref, [Operation,Query,Mutation]Result to exported api
1 parent 43f223d commit 2c642fb

File tree

3 files changed

+68
-8
lines changed

3 files changed

+68
-8
lines changed

etc/firebase-admin.data-connect.api.md

Lines changed: 56 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -30,11 +30,8 @@ export class DataConnect {
3030
executeGraphqlRead<GraphqlResponse, Variables>(query: string, options?: GraphqlOptions<Variables>): Promise<ExecuteGraphqlResponse<GraphqlResponse>>;
3131
insert<GraphQlResponse, Variables extends object>(tableName: string, variables: Variables): Promise<ExecuteGraphqlResponse<GraphQlResponse>>;
3232
insertMany<GraphQlResponse, Variables extends Array<unknown>>(tableName: string, variables: Variables): Promise<ExecuteGraphqlResponse<GraphQlResponse>>;
33-
// Warning: (ae-forgotten-export) The symbol "MutationRef" needs to be exported by the entry point index.d.ts
3433
mutationRef<Data>(name: string, options?: RefOptions): MutationRef<Data, undefined>;
3534
mutationRef<Data, Variables>(name: string, variables: Variables, options?: RefOptions): MutationRef<Data, Variables>;
36-
// Warning: (ae-forgotten-export) The symbol "RefOptions" needs to be exported by the entry point index.d.ts
37-
// Warning: (ae-forgotten-export) The symbol "QueryRef" needs to be exported by the entry point index.d.ts
3835
queryRef<Data>(name: string, options?: RefOptions): QueryRef<Data, undefined>;
3936
queryRef<Data, Variables>(name: string, variables: Variables, options?: RefOptions): QueryRef<Data, Variables>;
4037
upsert<GraphQlResponse, Variables extends object>(tableName: string, variables: Variables): Promise<ExecuteGraphqlResponse<GraphQlResponse>>;
@@ -68,4 +65,60 @@ export interface ImpersonateUnauthenticated {
6865
unauthenticated: true;
6966
}
7067

68+
// @public (undocumented)
69+
export class MutationRef<Data, Variables> extends OperationRef<Data, Variables> {
70+
// (undocumented)
71+
execute(): Promise<MutationResult<Data, Variables>>;
72+
}
73+
74+
// @public
75+
export interface MutationResult<Data, Variables> extends OperationResult<Data, Variables> {
76+
// (undocumented)
77+
ref: MutationRef<Data, Variables>;
78+
}
79+
80+
// @public (undocumented)
81+
export abstract class OperationRef<Data, Variables> {
82+
constructor(dataConnect: DataConnect, name: string, variables: Variables, options?: RefOptions | undefined);
83+
// (undocumented)
84+
readonly dataConnect: DataConnect;
85+
// (undocumented)
86+
abstract execute(): Promise<OperationResult<Data, Variables>>;
87+
// (undocumented)
88+
readonly name: string;
89+
// (undocumented)
90+
readonly options?: RefOptions | undefined;
91+
// (undocumented)
92+
readonly variables: Variables;
93+
}
94+
95+
// @public (undocumented)
96+
export interface OperationResult<Data, Variables> {
97+
// (undocumented)
98+
data: Data;
99+
// (undocumented)
100+
dataConnect: DataConnect;
101+
// (undocumented)
102+
ref: OperationRef<Data, Variables>;
103+
// (undocumented)
104+
variables: Variables;
105+
}
106+
107+
// @public (undocumented)
108+
export class QueryRef<Data, Variables> extends OperationRef<Data, Variables> {
109+
// (undocumented)
110+
execute(): Promise<QueryResult<Data, Variables>>;
111+
}
112+
113+
// @public
114+
export interface QueryResult<Data, Variables> extends OperationResult<Data, Variables> {
115+
// (undocumented)
116+
ref: QueryRef<Data, Variables>;
117+
}
118+
119+
// @public
120+
export interface RefOptions {
121+
impersonate?: ImpersonateAuthenticated | ImpersonateUnauthenticated;
122+
}
123+
71124
```

src/data-connect/data-connect.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -257,7 +257,7 @@ export class DataConnect {
257257
}
258258
}
259259

260-
interface OperationResult<Data, Variables> {
260+
export interface OperationResult<Data, Variables> {
261261
ref: OperationRef<Data, Variables>;
262262
data: Data;
263263
variables: Variables;
@@ -278,7 +278,7 @@ export interface MutationResult<Data, Variables> extends OperationResult<Data, V
278278
ref: MutationRef<Data, Variables>;
279279
}
280280

281-
abstract class OperationRef<Data, Variables> {
281+
export abstract class OperationRef<Data, Variables> {
282282
constructor(
283283
public readonly dataConnect: DataConnect,
284284
public readonly name: string,
@@ -288,7 +288,7 @@ abstract class OperationRef<Data, Variables> {
288288
abstract execute(): Promise<OperationResult<Data, Variables>>;
289289
}
290290

291-
class QueryRef<Data, Variables> extends OperationRef<Data, Variables> {
291+
export class QueryRef<Data, Variables> extends OperationRef<Data, Variables> {
292292
async execute(): Promise<QueryResult<Data, Variables>> {
293293
const { data } = await this.dataConnect.executeQuery<Data, Variables>(this.name, this.variables, this.options);
294294
return {
@@ -300,7 +300,7 @@ class QueryRef<Data, Variables> extends OperationRef<Data, Variables> {
300300
}
301301
}
302302

303-
class MutationRef<Data, Variables> extends OperationRef<Data, Variables> {
303+
export class MutationRef<Data, Variables> extends OperationRef<Data, Variables> {
304304
async execute(): Promise<MutationResult<Data, Variables>> {
305305
const { data } = await this.dataConnect.executeMutation<Data, Variables>(this.name, this.variables, this.options)
306306
return {

src/data-connect/index.ts

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,10 +32,17 @@ export {
3232
ConnectorConfig,
3333
ImpersonateAuthenticated,
3434
ImpersonateUnauthenticated,
35-
AuthClaims
35+
AuthClaims,
36+
RefOptions,
3637
} from './data-connect-api'
3738
export {
3839
DataConnect,
40+
OperationRef,
41+
QueryRef,
42+
MutationRef,
43+
OperationResult,
44+
QueryResult,
45+
MutationResult,
3946
} from './data-connect'
4047

4148
/**

0 commit comments

Comments
 (0)