Skip to content

Commit 0427a28

Browse files
committed
Updated comments
1 parent 877f8b7 commit 0427a28

File tree

5 files changed

+153
-10
lines changed

5 files changed

+153
-10
lines changed

packages/data-connect/src/api.browser.ts

Lines changed: 20 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -28,20 +28,25 @@ import { OpResult, SerializedRef } from './api/Reference';
2828
import { DataConnectError, Code } from './core/error';
2929

3030
/**
31-
*
32-
* @public
33-
* @param queryRef
34-
* @param onResult
35-
* @param onErr
36-
* @param initialCache
37-
* @returns
31+
* Subscribe to a `QueryRef`
32+
* @param queryRefOrSerializedResult query ref or serialized result.
33+
* @param observer observer object to use for subscribing.
34+
* @returns `SubscriptionOptions`
3835
*/
3936
export function subscribe<Data, Variables>(
4037
queryRefOrSerializedResult:
4138
| QueryRef<Data, Variables>
4239
| SerializedRef<Data, Variables>,
4340
observer: SubscriptionOptions<Data, Variables>
4441
): QueryUnsubscribe;
42+
/**
43+
* Subscribe to a `QueryRef`
44+
* @param queryRefOrSerializedResult query ref or serialized result.
45+
* @param onNext Callback to call when result comes back.
46+
* @param onError Callback to call when error gets thrown.
47+
* @param onComplete Called when subscription completes.
48+
* @returns `SubscriptionOptions`
49+
*/
4550
export function subscribe<Data, Variables>(
4651
queryRefOrSerializedResult:
4752
| QueryRef<Data, Variables>
@@ -50,6 +55,14 @@ export function subscribe<Data, Variables>(
5055
onError?: OnErrorSubscription,
5156
onComplete?: OnCompleteSubscription
5257
): QueryUnsubscribe;
58+
/**
59+
* Subscribe to a `QueryRef`
60+
* @param queryRefOrSerializedResult query ref or serialized result.
61+
* @param observerOrOnNext observer object or next function.
62+
* @param onError Callback to call when error gets thrown.
63+
* @param onComplete Called when subscription completes.
64+
* @returns `SubscriptionOptions`
65+
*/
5366
export function subscribe<Data, Variables>(
5467
queryRefOrSerializedResult:
5568
| QueryRef<Data, Variables>

packages/data-connect/src/api/DataConnect.ts

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,12 +37,18 @@ import { RESTTransport } from '../network/transport/rest';
3737
import { MutationManager } from './Mutation';
3838

3939

40+
/**
41+
* Connector Config for calling Data Connect backend.
42+
*/
4043
export interface ConnectorConfig {
4144
location: string;
4245
connector: string;
4346
service: string;
4447
}
4548

49+
/**
50+
* Options to connect to emulator
51+
*/
4652
export interface TransportOptions {
4753
host: string;
4854
sslEnabled?: boolean;
@@ -65,10 +71,16 @@ export function parseOptions(fullHost: string): TransportOptions {
6571
const port = Number(portAsString);
6672
return { host, port, sslEnabled: isSecure };
6773
}
74+
/**
75+
* DataConnectOptions including project id
76+
*/
6877
export interface DataConnectOptions extends ConnectorConfig {
6978
projectId: string;
7079
}
7180

81+
/**
82+
* Class representing Firebase Data Connect
83+
*/
7284
export class DataConnect {
7385
_queryManager!: QueryManager;
7486
_mutationManager!: MutationManager;
@@ -155,6 +167,13 @@ export class DataConnect {
155167
}
156168
}
157169

170+
/**
171+
* Connect to the DataConnect Emulator
172+
* @param dc Data Connect instance
173+
* @param host host of emulator server
174+
* @param port port of emulator server
175+
* @param sslEnabled use https
176+
*/
158177
export function connectDataConnectEmulator(
159178
dc: DataConnect,
160179
host: string,
@@ -164,7 +183,16 @@ export function connectDataConnectEmulator(
164183
dc.enableEmulator({ host, port, sslEnabled });
165184
}
166185

186+
/**
187+
* Initialize DataConnect instance
188+
* @param options ConnectorConfig
189+
*/
167190
export function getDataConnect(options: ConnectorConfig): DataConnect;
191+
/**
192+
* Initialize DataConnect instance
193+
* @param app FirebaseApp to initialize to.
194+
* @param options ConnectorConfig
195+
*/
168196
export function getDataConnect(
169197
app: FirebaseApp,
170198
options: ConnectorConfig
@@ -208,6 +236,11 @@ export function getDataConnect(
208236
});
209237
}
210238

239+
/**
240+
* Delete DataConnect instance
241+
* @param dataConnect DataConnect instance
242+
* @returns
243+
*/
211244
export function terminate(dataConnect: DataConnect): Promise<void> {
212245
return dataConnect._delete();
213246
// TODO(mtewani): Stop pending tasks

packages/data-connect/src/api/Mutation.ts

Lines changed: 35 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -30,30 +30,51 @@ export interface MutationRef<Data, Variables>
3030
refType: typeof MUTATION_STR;
3131
}
3232

33+
/**
34+
* Creates a `MutationRef`
35+
* @param dcInstance Data Connect instance
36+
* @param mutationName name of mutation
37+
*/
3338
export function mutationRef<Data>(
3439
dcInstance: DataConnect,
35-
queryName: string
40+
mutationName: string
3641
): MutationRef<Data, undefined>;
42+
/**
43+
*
44+
* @param dcInstance Data Connect instance
45+
* @param mutationName name of mutation
46+
* @param variables variables to send with mutation
47+
*/
3748
export function mutationRef<Data, Variables>(
3849
dcInstance: DataConnect,
3950
mutationName: string,
4051
variables: Variables
4152
): MutationRef<Data, Variables>;
53+
/**
54+
*
55+
* @param dcInstance Data Connect instance
56+
* @param mutationName name of mutation
57+
* @param variables variables to send with mutation
58+
* @returns `MutationRef`
59+
*/
4260
export function mutationRef<Data, Variables>(
4361
dcInstance: DataConnect,
44-
queryName: string,
62+
mutationName: string,
4563
variables?: Variables
4664
): MutationRef<Data, Variables> {
4765
dcInstance.setInitialized();
4866
const ref: MutationRef<Data, Variables> = {
4967
dataConnect: dcInstance,
50-
name: queryName,
68+
name: mutationName,
5169
refType: MUTATION_STR,
5270
variables: variables as Variables
5371
};
5472
return ref;
5573
}
5674

75+
/**
76+
* @internal
77+
*/
5778
export class MutationManager {
5879
private _inflight: Array<PromiseLike<unknown>> = [];
5980
constructor(private _transport: DataConnectTransport) {}
@@ -81,15 +102,26 @@ export class MutationManager {
81102
}
82103
}
83104

105+
/**
106+
* Mutation Result from `executeMutation`
107+
*/
84108
export interface MutationResult<Data, Variables>
85109
extends DataConnectResult<Data, Variables> {
86110
ref: MutationRef<Data, Variables>;
87111
}
112+
/**
113+
* Mutation return value from `executeMutation`
114+
*/
88115
export interface MutationPromise<Data, Variables>
89116
extends PromiseLike<MutationResult<Data, Variables>> {
90117
// reserved for special actions like cancellation
91118
}
92119

120+
/**
121+
* Execute Mutation
122+
* @param mutationRef mutation to execute
123+
* @returns `MutationRef`
124+
*/
93125
export function executeMutation<Data, Variables>(
94126
mutationRef: MutationRef<Data, Variables>
95127
): MutationPromise<Data, Variables> {

packages/data-connect/src/api/Reference.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,11 +42,17 @@ export interface DataConnectResult<Data, Variables> extends OpResult<Data> {
4242
// future metadata
4343
}
4444

45+
/**
46+
* Serialized RefInfo as a result of `QueryResult.toJSON().refInfo`
47+
*/
4548
export interface RefInfo<Variables> {
4649
name: string;
4750
variables: Variables;
4851
connectorConfig: DataConnectOptions;
4952
}
53+
/**
54+
* Serialized Ref as a result of `QueryResult.toJSON()`
55+
*/
5056
export interface SerializedRef<Data, Variables> extends OpResult<Data> {
5157
refInfo: RefInfo<Variables>;
5258
}

packages/data-connect/src/api/query.ts

Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,45 +25,93 @@ import {
2525
SerializedRef
2626
} from './Reference';
2727

28+
/**
29+
* Signature for `OnResultSubscription` for `subscribe`
30+
*/
2831
export type OnResultSubscription<Data, Variables> = (
2932
res: QueryResult<Data, Variables>
3033
) => void;
34+
/**
35+
* Signature for `OnErrorSubscription` for `subscribe`
36+
*/
3137
export type OnErrorSubscription = (err?: DataConnectError) => void;
38+
/**
39+
* Signature for unsubscribe from `subscribe`
40+
*/
3241
export type QueryUnsubscribe = () => void;
42+
/**
43+
* Representation of user provided subscription options.
44+
*/
3345
export interface DataConnectSubscription<Data, Variables> {
3446
userCallback: OnResultSubscription<Data, Variables>;
3547
errCallback?: (e?: DataConnectError) => void;
3648
unsubscribe: () => void;
3749
}
50+
51+
/**
52+
* QueryRef object
53+
*/
3854
export interface QueryRef<Data, Variables>
3955
extends OperationRef<Data, Variables> {
4056
refType: typeof QUERY_STR;
4157
}
58+
/**
59+
* Result of `executeQuery`
60+
*/
4261
export interface QueryResult<Data, Variables>
4362
extends DataConnectResult<Data, Variables> {
4463
ref: QueryRef<Data, Variables>;
4564
toJSON: () => SerializedRef<Data, Variables>;
4665
}
66+
/**
67+
* Promise returned from `executeQuery`
68+
*/
4769
export interface QueryPromise<Data, Variables>
4870
extends PromiseLike<QueryResult<Data, Variables>> {
4971
// reserved for special actions like cancellation
5072
}
5173

74+
/**
75+
* Execute Query
76+
* @param queryRef query to execute.
77+
* @returns `QueryPromise`
78+
*/
5279
export function executeQuery<Data, Variables>(
5380
queryRef: QueryRef<Data, Variables>
5481
): QueryPromise<Data, Variables> {
5582
return queryRef.dataConnect._queryManager.executeQuery(queryRef);
5683
}
5784

85+
/**
86+
* Execute Query
87+
* @param dcInstance Data Connect instance to use.
88+
* @param queryName Query to execute
89+
* @returns `QueryRef`
90+
*/
5891
export function queryRef<Data>(
5992
dcInstance: DataConnect,
6093
queryName: string
6194
): QueryRef<Data, undefined>;
95+
/**
96+
* Execute Query
97+
* @param dcInstance Data Connect instance to use.
98+
* @param queryName Query to execute
99+
* @param variables Variables to execute with
100+
* @returns `QueryRef`
101+
*/
62102
export function queryRef<Data, Variables>(
63103
dcInstance: DataConnect,
64104
queryName: string,
65105
variables: Variables
66106
): QueryRef<Data, Variables>;
107+
/**
108+
* Execute Query
109+
* @param dcInstance Data Connect instance to use.
110+
* @param queryName Query to execute
111+
* @param variables Variables to execute with
112+
* @param initialCache initial cache to use for client hydration
113+
* @returns `QueryRef`
114+
*/
67115
export function queryRef<Data, Variables>(
68116
dcInstance: DataConnect,
69117
queryName: string,
@@ -79,6 +127,11 @@ export function queryRef<Data, Variables>(
79127
variables: variables as Variables
80128
};
81129
}
130+
/**
131+
* Converts serialized ref to query ref
132+
* @param serializedRef ref to convert to `QueryRef`
133+
* @returns `QueryRef`
134+
*/
82135
export function toQueryRef<Data, Variables>(
83136
serializedRef: SerializedRef<Data, Variables>
84137
) {
@@ -87,7 +140,13 @@ export function toQueryRef<Data, Variables>(
87140
} = serializedRef;
88141
return queryRef(getDataConnect(connectorConfig), name, variables);
89142
}
143+
/**
144+
* `OnCompleteSubscription`
145+
*/
90146
export type OnCompleteSubscription = () => void;
147+
/**
148+
* Representation of full observer options in `subscribe`
149+
*/
91150
export interface SubscriptionOptions<Data, Variables> {
92151
onNext?: OnResultSubscription<Data, Variables>;
93152
onErr?: OnErrorSubscription;

0 commit comments

Comments
 (0)