Skip to content

Commit cc9e33b

Browse files
committed
Created data-connect package
1 parent f631553 commit cc9e33b

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

77 files changed

+4687
-25
lines changed

.vscode/settings.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,5 +11,6 @@
1111
},
1212
"typescript.tsdk": "node_modules/typescript/lib",
1313
"files.associations": { "*.json": "jsonc" },
14-
"eslint.workingDirectories": [{ "mode": "auto" }]
14+
"eslint.workingDirectories": [{ "mode": "auto" }],
15+
"editor.wordWrap": "off",
1516
}

common/api-review/connect.api.md

Lines changed: 133 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,133 @@
1+
## API Report File for "@firebase/connect"
2+
3+
> Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/).
4+
5+
```ts
6+
7+
import { AppCheckInternalComponentName } from '@firebase/app-check-interop-types';
8+
import { FirebaseApp } from '@firebase/app';
9+
import { FirebaseAuthInternalName } from '@firebase/auth-interop-types';
10+
import { Provider } from '@firebase/component';
11+
12+
// @public (undocumented)
13+
export function connectDataConnectEmulator(dc: DataConnect, host: string, port: number, isSecure?: boolean): void;
14+
15+
// @public (undocumented)
16+
export interface Converter<Response> {
17+
// (undocumented)
18+
fromDataConnect: (data: DataConnectSnapshot<unknown>) => Response;
19+
// (undocumented)
20+
fromResponse: (response: Response) => DataConnectSnapshot<unknown>;
21+
}
22+
23+
// @public (undocumented)
24+
export class DataConnect {
25+
constructor(firebaseApp: FirebaseApp, authProvider: Provider<FirebaseAuthInternalName>, transportOptions: TransportOptions, projectOptions: ProjectOptions, appCheckProvider?: Provider<AppCheckInternalComponentName>, useRest?: boolean);
26+
// (undocumented)
27+
enableEmulator(host: string, port: number, isSecure: boolean): void;
28+
// (undocumented)
29+
setInitialized(): void;
30+
}
31+
32+
// @public (undocumented)
33+
export interface DataConnectOptions {
34+
// (undocumented)
35+
projectOptions: ProjectOptions;
36+
// (undocumented)
37+
transportOptions?: TransportOptions;
38+
}
39+
40+
// @public (undocumented)
41+
export interface DataConnectSnapshot<Response> {
42+
// (undocumented)
43+
data: Response;
44+
}
45+
46+
// @public (undocumented)
47+
export interface DataConnectSubscription<Response> {
48+
// (undocumented)
49+
converter: Converter<Response>;
50+
// (undocumented)
51+
unsubscribe: () => void;
52+
// (undocumented)
53+
userCallback: (data: Response | undefined, error?: Error) => void;
54+
}
55+
56+
// @public (undocumented)
57+
export function executeMutation<Response, Variables>(mutationRef: Mutation<Response, Variables>): Promise<Response>;
58+
59+
// @public (undocumented)
60+
export function executeQuery<Response, Variables>(queryRef: Query<Response, Variables>): Promise<Response>;
61+
62+
// @public (undocumented)
63+
export const FIREBASE_DATA_CONNECT_EMULATOR_HOST_VAR = "FIREBASE_DATA_CONNECT_EMULATOR_HOST";
64+
65+
// @public (undocumented)
66+
export function getDataConnect(app: FirebaseApp, options: DataConnectOptions): DataConnect;
67+
68+
// @public (undocumented)
69+
export function getDataConnect(options: DataConnectOptions): DataConnect;
70+
71+
// @public (undocumented)
72+
export interface Mutation<Response, Variables> extends Reference<Response, Variables> {
73+
// (undocumented)
74+
dcInstance: DataConnect;
75+
}
76+
77+
// @public (undocumented)
78+
export function mutationRef<Response, Variables>(dcInstance: DataConnect, queryName: string, variables: Variables): Mutation<Response, Variables>;
79+
80+
// @public (undocumented)
81+
export interface ProjectOptions {
82+
// (undocumented)
83+
connector: string;
84+
// (undocumented)
85+
location: string;
86+
// (undocumented)
87+
project: string;
88+
// (undocumented)
89+
service: string;
90+
}
91+
92+
// @public (undocumented)
93+
export interface Query<Response, Variables> extends Reference<Response, Variables> {
94+
// (undocumented)
95+
dcInstance: DataConnect;
96+
}
97+
98+
// @public (undocumented)
99+
export function queryRef<Response, Variables = undefined>(dcInstance: DataConnect, queryName: string, variables?: Variables): Query<Response, Variables>;
100+
101+
// @public (undocumented)
102+
export interface Reference<_Response, Variables> {
103+
// (undocumented)
104+
name: string;
105+
// (undocumented)
106+
refType: ReferenceType;
107+
// (undocumented)
108+
variables: Variables;
109+
}
110+
111+
// @public (undocumented)
112+
export enum ReferenceType {
113+
// (undocumented)
114+
Mutation = "m",
115+
// (undocumented)
116+
Query = "q"
117+
}
118+
119+
// @public (undocumented)
120+
export function subscribe<Response, Variables>(queryRef: Query<Response, Variables>, onSubscribe: DataConnectSubscription<Response>['userCallback'], converter: Converter<Response>): void;
121+
122+
// @public (undocumented)
123+
export interface TransportOptions {
124+
// (undocumented)
125+
host: string;
126+
// (undocumented)
127+
isSecure: boolean;
128+
// (undocumented)
129+
port: number;
130+
}
131+
132+
133+
```
Lines changed: 120 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,120 @@
1+
## API Report File for "@firebase/data-connect-react"
2+
3+
> Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/).
4+
5+
```ts
6+
7+
/// <reference types="react" />
8+
9+
import { Context } from 'react';
10+
import { FirebaseApp } from '@firebase/app';
11+
import { FirebaseAuthInternalName } from '@firebase/auth-interop-types';
12+
import { FirebaseAuthTokenData } from '@firebase/auth-interop-types';
13+
import { FirebaseOptions } from '@firebase/app';
14+
import { JSX as JSX_2 } from 'react/jsx-runtime';
15+
import { PropsWithChildren } from 'react';
16+
import { Provider } from '@firebase/component';
17+
18+
// @public (undocumented)
19+
export type AuthTokenListener = (token: string | null) => void;
20+
21+
// @public (undocumented)
22+
export class DataConnect {
23+
constructor(firebaseApp: FirebaseApp, authProvider: Provider<FirebaseAuthInternalName>, dataConnectOptions: DataConnectOptions, appCheckProvider?: Provider<"app-check-internal"> | undefined);
24+
// (undocumented)
25+
enableEmulator(transportOptions: TransportOptions): void;
26+
// (undocumented)
27+
setDCSettings(settings: DataConnectSettings): void;
28+
// (undocumented)
29+
setInitialized(): void;
30+
// (undocumented)
31+
setTransport(transportClass: TransportClass): void;
32+
}
33+
34+
// @public (undocumented)
35+
export const DataConnectContext: Context<DataConnectContextInfo | null>;
36+
37+
// @public (undocumented)
38+
export interface DataConnectContextInfo {
39+
// (undocumented)
40+
app: FirebaseApp;
41+
// (undocumented)
42+
dataConnect: DataConnect;
43+
}
44+
45+
// @public (undocumented)
46+
export interface DataConnectOptions {
47+
// (undocumented)
48+
connector: string;
49+
// (undocumented)
50+
location: string;
51+
// (undocumented)
52+
projectId: string;
53+
// (undocumented)
54+
service: string;
55+
}
56+
57+
// @public (undocumented)
58+
export function DataConnectProvider({ connectorConfig, initializeAppOptions, children }: PropsWithChildren<DataConnectProviderProps>): JSX_2.Element;
59+
60+
// @public (undocumented)
61+
export interface DataConnectProviderProps {
62+
// (undocumented)
63+
connectorConfig: DataConnectOptions;
64+
// (undocumented)
65+
initializeAppOptions: FirebaseOptions;
66+
}
67+
68+
// @public (undocumented)
69+
export interface DataConnectSettings {
70+
// (undocumented)
71+
transportOptions?: TransportOptions;
72+
}
73+
74+
// @public (undocumented)
75+
export interface DataConnectTransport {
76+
// (undocumented)
77+
invokeMutation<T, U>(queryName: string, body?: U): QueryResponse<T>;
78+
// (undocumented)
79+
invokeQuery<T, U>(queryName: string, body?: U): PromiseLike<{
80+
data: T;
81+
}>;
82+
// (undocumented)
83+
onTokenChanged: (token: string | null) => void;
84+
// (undocumented)
85+
useEmulator(host: string, port?: number): void;
86+
}
87+
88+
// @public (undocumented)
89+
export class FirebaseAuthProvider {
90+
constructor(appName: string, options: FirebaseOptions, authProvider_: Provider<FirebaseAuthInternalName>);
91+
// (undocumented)
92+
addTokenChangeListener(listener: AuthTokenListener): void;
93+
// (undocumented)
94+
getToken(forceRefresh: boolean): Promise<FirebaseAuthTokenData | null>;
95+
}
96+
97+
// @public (undocumented)
98+
export interface QueryResponse<T> {
99+
// (undocumented)
100+
cancel: () => void;
101+
then<TResult1 = { data: T; }, TResult2 = never>(onfulfilled?: (value: { data: T; }) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>): PromiseLike<TResult1 | TResult2>;
102+
}
103+
104+
// @public (undocumented)
105+
export type TransportClass = new (options: DataConnectOptions, authProvider: FirebaseAuthProvider, transportOptions?: TransportOptions) => DataConnectTransport;
106+
107+
// @public (undocumented)
108+
export interface TransportOptions {
109+
// (undocumented)
110+
host: string;
111+
// (undocumented)
112+
port?: number;
113+
// (undocumented)
114+
sslEnabled?: boolean;
115+
}
116+
117+
// @public (undocumented)
118+
export function useCheckContext(): DataConnect;
119+
120+
```

0 commit comments

Comments
 (0)