@neurosity/sdk 6.5.4-next.0 → 6.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/browser/neurosity.iife.js +4204 -4098
- package/dist/browser/neurosity.js +16 -16
- package/dist/browser/neurosity.js.map +1 -1
- package/dist/cjs/api/firebase/FirebaseUser.d.ts +6 -0
- package/dist/cjs/api/firebase/FirebaseUser.js +20 -7
- package/dist/cjs/api/firebase/deviceStore.js +7 -2
- package/dist/cjs/api/index.d.ts +2 -41
- package/dist/cjs/api/index.js +4 -1
- package/dist/electron/index.js +1 -1
- package/dist/electron/index.js.map +1 -1
- package/dist/esm/api/firebase/FirebaseUser.d.ts +6 -0
- package/dist/esm/api/firebase/FirebaseUser.js +20 -7
- package/dist/esm/api/firebase/deviceStore.js +7 -2
- package/dist/esm/api/index.d.ts +2 -41
- package/dist/esm/api/index.js +4 -1
- package/dist/esm/neurosity.mjs +4204 -4098
- package/dist/examples/neurosity.iife.js +4204 -4098
- package/dist/examples/neurosity.js +16 -16
- package/dist/examples/neurosity.mjs +4204 -4098
- package/package.json +2 -2
|
@@ -8,6 +8,12 @@ import { DeviceInfo } from "../../types/deviceInfo";
|
|
|
8
8
|
import { OAuthRemoveResponse } from "../../types/oauth";
|
|
9
9
|
import { Experiment } from "../../types/experiment";
|
|
10
10
|
import { TransferDeviceOptions } from "../../utils/transferDevice";
|
|
11
|
+
/**
|
|
12
|
+
* @hidden
|
|
13
|
+
*/
|
|
14
|
+
export declare type UserWithMetadata = User & {
|
|
15
|
+
selectedDevice: DeviceInfo | null;
|
|
16
|
+
};
|
|
11
17
|
/**
|
|
12
18
|
* @hidden
|
|
13
19
|
*/
|
|
@@ -94,7 +94,9 @@ class FirebaseUser {
|
|
|
94
94
|
}
|
|
95
95
|
onLogin() {
|
|
96
96
|
return new rxjs_1.Observable((subscriber) => {
|
|
97
|
-
const unsubscribe = this.app
|
|
97
|
+
const unsubscribe = this.app
|
|
98
|
+
.auth()
|
|
99
|
+
.onAuthStateChanged((user) => {
|
|
98
100
|
if (!!user) {
|
|
99
101
|
subscriber.next(user);
|
|
100
102
|
subscriber.complete();
|
|
@@ -115,7 +117,9 @@ class FirebaseUser {
|
|
|
115
117
|
}
|
|
116
118
|
if ("email" in credentials && "password" in credentials) {
|
|
117
119
|
const { email, password } = credentials;
|
|
118
|
-
return this.app
|
|
120
|
+
return this.app
|
|
121
|
+
.auth()
|
|
122
|
+
.signInWithEmailAndPassword(email, password);
|
|
119
123
|
}
|
|
120
124
|
throw new Error(`Either {email,password}, {customToken}, or {idToken,providerId} is required`);
|
|
121
125
|
}
|
|
@@ -243,7 +247,8 @@ class FirebaseUser {
|
|
|
243
247
|
if (!userId) {
|
|
244
248
|
return Promise.reject(new Error(`transferDevice: auth is required.`));
|
|
245
249
|
}
|
|
246
|
-
if (!("recipientsEmail" in options) &&
|
|
250
|
+
if (!("recipientsEmail" in options) &&
|
|
251
|
+
!("recipientsUserId" in options)) {
|
|
247
252
|
return Promise.reject(new Error(`transferDevice: either 'recipientsEmail' or 'recipientsUserId' key is required.`));
|
|
248
253
|
}
|
|
249
254
|
if (!(options === null || options === void 0 ? void 0 : options.deviceId)) {
|
|
@@ -263,7 +268,9 @@ class FirebaseUser {
|
|
|
263
268
|
return __awaiter(this, void 0, void 0, function* () {
|
|
264
269
|
// hex string of 32 characters
|
|
265
270
|
const hexRegEx = /[0-9A-Fa-f]{32}/g;
|
|
266
|
-
if (!deviceId ||
|
|
271
|
+
if (!deviceId ||
|
|
272
|
+
deviceId.length !== 32 ||
|
|
273
|
+
!hexRegEx.test(deviceId)) {
|
|
267
274
|
return Promise.reject("The device id is incorrectly formatted.");
|
|
268
275
|
}
|
|
269
276
|
const claimedByPath = this.getDeviceClaimedByPath(deviceId);
|
|
@@ -295,7 +302,9 @@ class FirebaseUser {
|
|
|
295
302
|
return rxjs_1.EMPTY;
|
|
296
303
|
}
|
|
297
304
|
const claimsUpdatedOnPath = this.getUserClaimsUpdatedOnPath();
|
|
298
|
-
const claimsUpdatedOnRef = this.app
|
|
305
|
+
const claimsUpdatedOnRef = this.app
|
|
306
|
+
.database()
|
|
307
|
+
.ref(claimsUpdatedOnPath);
|
|
299
308
|
return (0, rxjs_1.fromEventPattern)((handler) => claimsUpdatedOnRef.on("value", handler), (handler) => claimsUpdatedOnRef.off("value", handler)).pipe((0, operators_1.map)(([snapshot]) => snapshot.val()), (0, operators_1.switchMap)(() => {
|
|
300
309
|
// Force refresh of auth id token
|
|
301
310
|
return (0, rxjs_1.from)(this.getIdToken(true)).pipe((0, operators_1.switchMap)(() => (0, rxjs_1.from)(this.getClaims())));
|
|
@@ -330,11 +339,15 @@ class FirebaseUser {
|
|
|
330
339
|
}
|
|
331
340
|
userDevicesToDeviceInfoList(userDevices) {
|
|
332
341
|
return __awaiter(this, void 0, void 0, function* () {
|
|
333
|
-
const devicesInfoSnapshots = Object.keys(userDevices !== null && userDevices !== void 0 ? userDevices : {}).map((deviceId) => this.app
|
|
342
|
+
const devicesInfoSnapshots = Object.keys(userDevices !== null && userDevices !== void 0 ? userDevices : {}).map((deviceId) => this.app
|
|
343
|
+
.database()
|
|
344
|
+
.ref(this.getDeviceInfoPath(deviceId))
|
|
345
|
+
.once("value"));
|
|
334
346
|
const devicesList = yield Promise.all(devicesInfoSnapshots).then((snapshots) => snapshots.map((snapshot) => snapshot.val()));
|
|
335
347
|
const validDevices = devicesList.filter((device) => !!device);
|
|
336
348
|
validDevices.sort((a, b) => {
|
|
337
|
-
return (userDevices[a.deviceId].claimedOn -
|
|
349
|
+
return (userDevices[a.deviceId].claimedOn -
|
|
350
|
+
userDevices[b.deviceId].claimedOn);
|
|
338
351
|
});
|
|
339
352
|
return validDevices;
|
|
340
353
|
});
|
|
@@ -33,7 +33,9 @@ const createDeviceStore = (app, deviceId, subscriptionManager) => {
|
|
|
33
33
|
return deviceRef.child(namespace).update(payload);
|
|
34
34
|
};
|
|
35
35
|
const on = (eventType = "value", namespace, callback) => {
|
|
36
|
-
const listener = deviceRef
|
|
36
|
+
const listener = deviceRef
|
|
37
|
+
.child(namespace)
|
|
38
|
+
.on(eventType, (snapshot) => {
|
|
37
39
|
callback(snapshot.val(), snapshot);
|
|
38
40
|
});
|
|
39
41
|
listenersToRemove.push(() => {
|
|
@@ -99,7 +101,10 @@ const createDeviceStore = (app, deviceId, subscriptionManager) => {
|
|
|
99
101
|
});
|
|
100
102
|
});
|
|
101
103
|
listenersToRemove.push(() => {
|
|
102
|
-
app
|
|
104
|
+
app
|
|
105
|
+
.database()
|
|
106
|
+
.ref(".info/connected")
|
|
107
|
+
.off("value", connectedListener);
|
|
103
108
|
});
|
|
104
109
|
return {
|
|
105
110
|
set,
|
package/dist/cjs/api/index.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { Observable } from "rxjs";
|
|
2
2
|
import { FirebaseApp, FirebaseUser, FirebaseDevice } from "./firebase";
|
|
3
|
+
import { UserWithMetadata } from "./firebase";
|
|
3
4
|
import { Timesync } from "../timesync";
|
|
4
5
|
import { SubscriptionManager } from "../subscriptions/SubscriptionManager";
|
|
5
6
|
import { Client } from "../types/client";
|
|
@@ -41,47 +42,7 @@ export declare class CloudClient implements Client {
|
|
|
41
42
|
getInfo(): Promise<any>;
|
|
42
43
|
login(credentials: Credentials): Promise<any>;
|
|
43
44
|
logout(): Promise<any>;
|
|
44
|
-
onAuthStateChanged(): Observable<
|
|
45
|
-
selectedDevice: DeviceInfo;
|
|
46
|
-
delete(): Promise<void>;
|
|
47
|
-
emailVerified: boolean;
|
|
48
|
-
getIdTokenResult(forceRefresh?: boolean): Promise<import("@firebase/auth-types").IdTokenResult>;
|
|
49
|
-
getIdToken(forceRefresh?: boolean): Promise<string>;
|
|
50
|
-
isAnonymous: boolean;
|
|
51
|
-
linkAndRetrieveDataWithCredential(credential: import("@firebase/auth-types").AuthCredential): Promise<import("@firebase/auth-types").UserCredential>;
|
|
52
|
-
linkWithCredential(credential: import("@firebase/auth-types").AuthCredential): Promise<import("@firebase/auth-types").UserCredential>;
|
|
53
|
-
linkWithPhoneNumber(phoneNumber: string, applicationVerifier: import("@firebase/auth-types").ApplicationVerifier): Promise<import("@firebase/auth-types").ConfirmationResult>;
|
|
54
|
-
linkWithPopup(provider: import("@firebase/auth-types").AuthProvider): Promise<import("@firebase/auth-types").UserCredential>;
|
|
55
|
-
linkWithRedirect(provider: import("@firebase/auth-types").AuthProvider): Promise<void>;
|
|
56
|
-
metadata: import("@firebase/auth-types").UserMetadata;
|
|
57
|
-
multiFactor: import("@firebase/auth-types").MultiFactorUser;
|
|
58
|
-
phoneNumber: string;
|
|
59
|
-
providerData: import("@firebase/auth-types").UserInfo[];
|
|
60
|
-
reauthenticateAndRetrieveDataWithCredential(credential: import("@firebase/auth-types").AuthCredential): Promise<import("@firebase/auth-types").UserCredential>;
|
|
61
|
-
reauthenticateWithCredential(credential: import("@firebase/auth-types").AuthCredential): Promise<import("@firebase/auth-types").UserCredential>;
|
|
62
|
-
reauthenticateWithPhoneNumber(phoneNumber: string, applicationVerifier: import("@firebase/auth-types").ApplicationVerifier): Promise<import("@firebase/auth-types").ConfirmationResult>;
|
|
63
|
-
reauthenticateWithPopup(provider: import("@firebase/auth-types").AuthProvider): Promise<import("@firebase/auth-types").UserCredential>;
|
|
64
|
-
reauthenticateWithRedirect(provider: import("@firebase/auth-types").AuthProvider): Promise<void>;
|
|
65
|
-
refreshToken: string;
|
|
66
|
-
reload(): Promise<void>;
|
|
67
|
-
sendEmailVerification(actionCodeSettings?: import("@firebase/auth-types").ActionCodeSettings): Promise<void>;
|
|
68
|
-
tenantId: string;
|
|
69
|
-
toJSON(): Object;
|
|
70
|
-
unlink(providerId: string): Promise<import("@firebase/auth-types").User>;
|
|
71
|
-
updateEmail(newEmail: string): Promise<void>;
|
|
72
|
-
updatePassword(newPassword: string): Promise<void>;
|
|
73
|
-
updatePhoneNumber(phoneCredential: import("@firebase/auth-types").AuthCredential): Promise<void>;
|
|
74
|
-
updateProfile(profile: {
|
|
75
|
-
displayName?: string;
|
|
76
|
-
photoURL?: string;
|
|
77
|
-
}): Promise<void>;
|
|
78
|
-
verifyBeforeUpdateEmail(newEmail: string, actionCodeSettings?: import("@firebase/auth-types").ActionCodeSettings): Promise<void>;
|
|
79
|
-
displayName: string;
|
|
80
|
-
email: string;
|
|
81
|
-
photoURL: string;
|
|
82
|
-
providerId: string;
|
|
83
|
-
uid: string;
|
|
84
|
-
}>;
|
|
45
|
+
onAuthStateChanged(): Observable<UserWithMetadata>;
|
|
85
46
|
getDevices(): Promise<DeviceInfo[]>;
|
|
86
47
|
addDevice(deviceId: string): Promise<void>;
|
|
87
48
|
removeDevice(deviceId: string): Promise<void>;
|
package/dist/cjs/api/index.js
CHANGED
|
@@ -141,7 +141,10 @@ class CloudClient {
|
|
|
141
141
|
const selectedDevice = this.didSelectDevice()
|
|
142
142
|
? yield this.getSelectedDevice()
|
|
143
143
|
: yield this.setAutoSelectedDevice();
|
|
144
|
-
|
|
144
|
+
const userWithMetadata = Object.assign(user, {
|
|
145
|
+
selectedDevice
|
|
146
|
+
});
|
|
147
|
+
return userWithMetadata;
|
|
145
148
|
})));
|
|
146
149
|
}
|
|
147
150
|
getDevices() {
|
package/dist/electron/index.js
CHANGED
|
@@ -25,7 +25,7 @@ process.env.HMR_PORT=0;process.env.HMR_HOSTNAME="localhost";parcelRequire=functi
|
|
|
25
25
|
},{"../types/status":"Ttuy"}],"qny3":[function(require,module,exports) {
|
|
26
26
|
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.filterInternalKeys=void 0;const e=require("rxjs"),r=require("rxjs/operators");function t(){return(0,e.pipe)((0,r.map)(e=>{if(!e)return e;return Object.entries(e).reduce((e,[r,t])=>(r.startsWith("__")||(e[r]=t),e),{})}))}exports.filterInternalKeys=t;
|
|
27
27
|
},{}],"LXvB":[function(require,module,exports) {
|
|
28
|
-
"use strict";var e=this&&this.__awaiter||function(e,i,t,s){return new(t||(t=Promise))(function(r,n){function c(e){try{a(s.next(e))}catch(i){n(i)}}function o(e){try{a(s.throw(e))}catch(i){n(i)}}function a(e){var i;e.done?r(e.value):(i=e.value,i instanceof t?i:new t(function(e){e(i)})).then(c,o)}a((s=s.apply(e,i||[])).next())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.CloudClient=exports.SERVER_TIMESTAMP=exports.createUser=exports.credentialWithLink=void 0;const i=require("rxjs"),t=require("rxjs"),s=require("rxjs/operators"),r=require("./firebase"),n=require("../timesync"),c=require("../subscriptions/SubscriptionManager"),o=require("../utils/heartbeat"),a=require("../utils/filterInternalKeys");var u=require("./firebase");Object.defineProperty(exports,"credentialWithLink",{enumerable:!0,get:function(){return u.credentialWithLink}}),Object.defineProperty(exports,"createUser",{enumerable:!0,get:function(){return u.createUser}}),Object.defineProperty(exports,"SERVER_TIMESTAMP",{enumerable:!0,get:function(){return u.SERVER_TIMESTAMP}});class h{constructor(e){this._selectedDevice=new i.ReplaySubject(1),this.options=e,this.subscriptionManager=new c.SubscriptionManager,this.firebaseApp=new r.FirebaseApp(e),this.firebaseUser=new r.FirebaseUser(this.firebaseApp),this._selectedDevice.next(void 0),this.status$=(0,o.heartbeatAwareStatus)(this.observeNamespace("status").pipe((0,s.share)())).pipe((0,a.filterInternalKeys)(),(0,s.shareReplay)(1)),this.osVersion$=this.observeNamespace("info/osVersion").pipe((0,s.shareReplay)(1)),this.firebaseUser.onAuthStateChanged().subscribe(e=>{this.user=e}),this.firebaseUser.onUserClaimsChange().subscribe(e=>{this.userClaims=e}),this.onDeviceChange().subscribe(e=>{this.firebaseDevice&&this.firebaseDevice.disconnect(),e&&(this.firebaseDevice=new r.FirebaseDevice({deviceId:e.deviceId,firebaseApp:this.firebaseApp,dependencies:{subscriptionManager:this.subscriptionManager}}),this.options.timesync&&(this.timesync=new n.Timesync({status$:this.status(),getTimesync:this.firebaseDevice.getTimesync.bind(this.firebaseDevice)})))})}onDeviceChange(){return this._selectedDevice.asObservable().pipe((0,s.filter)(e=>void 0!==e))}osVersion(){return this.osVersion$}setAutoSelectedDevice(){return e(this,void 0,void 0,function*(){return this.options.deviceId?yield this.selectDevice(e=>e.find(e=>e.deviceId===this.options.deviceId)):!this.options.deviceId&&this.options.autoSelectDevice?yield this.selectDevice(e=>e[0]):null})}get actions(){return{dispatch:e=>this.firebaseDevice.dispatchAction(e)}}dispatchAction(i){return e(this,void 0,void 0,function*(){return yield this.firebaseDevice.dispatchAction(i)})}disconnect(){return e(this,void 0,void 0,function*(){return this.firebaseApp.disconnect()})}getInfo(){return e(this,void 0,void 0,function*(){return yield this.firebaseDevice.getInfo()})}login(i){return e(this,void 0,void 0,function*(){if(this.user)return Promise.reject("Already logged in.");const e=yield this.firebaseUser.login(i),t=yield this.setAutoSelectedDevice();return Object.assign(Object.assign({},e),{selectedDevice:t})})}logout(){return e(this,void 0,void 0,function*(){return this.firebaseDevice&&this.firebaseDevice.disconnect(),yield this.firebaseUser.logout()})}onAuthStateChanged(){return this.firebaseUser.onAuthStateChanged().pipe((0,s.switchMap)(i=>e(this,void 0,void 0,function*(){if(!i)return null;const e=this.didSelectDevice()?yield this.getSelectedDevice():yield this.setAutoSelectedDevice();return Object.assign(
|
|
28
|
+
"use strict";var e=this&&this.__awaiter||function(e,i,t,s){return new(t||(t=Promise))(function(r,n){function c(e){try{a(s.next(e))}catch(i){n(i)}}function o(e){try{a(s.throw(e))}catch(i){n(i)}}function a(e){var i;e.done?r(e.value):(i=e.value,i instanceof t?i:new t(function(e){e(i)})).then(c,o)}a((s=s.apply(e,i||[])).next())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.CloudClient=exports.SERVER_TIMESTAMP=exports.createUser=exports.credentialWithLink=void 0;const i=require("rxjs"),t=require("rxjs"),s=require("rxjs/operators"),r=require("./firebase"),n=require("../timesync"),c=require("../subscriptions/SubscriptionManager"),o=require("../utils/heartbeat"),a=require("../utils/filterInternalKeys");var u=require("./firebase");Object.defineProperty(exports,"credentialWithLink",{enumerable:!0,get:function(){return u.credentialWithLink}}),Object.defineProperty(exports,"createUser",{enumerable:!0,get:function(){return u.createUser}}),Object.defineProperty(exports,"SERVER_TIMESTAMP",{enumerable:!0,get:function(){return u.SERVER_TIMESTAMP}});class h{constructor(e){this._selectedDevice=new i.ReplaySubject(1),this.options=e,this.subscriptionManager=new c.SubscriptionManager,this.firebaseApp=new r.FirebaseApp(e),this.firebaseUser=new r.FirebaseUser(this.firebaseApp),this._selectedDevice.next(void 0),this.status$=(0,o.heartbeatAwareStatus)(this.observeNamespace("status").pipe((0,s.share)())).pipe((0,a.filterInternalKeys)(),(0,s.shareReplay)(1)),this.osVersion$=this.observeNamespace("info/osVersion").pipe((0,s.shareReplay)(1)),this.firebaseUser.onAuthStateChanged().subscribe(e=>{this.user=e}),this.firebaseUser.onUserClaimsChange().subscribe(e=>{this.userClaims=e}),this.onDeviceChange().subscribe(e=>{this.firebaseDevice&&this.firebaseDevice.disconnect(),e&&(this.firebaseDevice=new r.FirebaseDevice({deviceId:e.deviceId,firebaseApp:this.firebaseApp,dependencies:{subscriptionManager:this.subscriptionManager}}),this.options.timesync&&(this.timesync=new n.Timesync({status$:this.status(),getTimesync:this.firebaseDevice.getTimesync.bind(this.firebaseDevice)})))})}onDeviceChange(){return this._selectedDevice.asObservable().pipe((0,s.filter)(e=>void 0!==e))}osVersion(){return this.osVersion$}setAutoSelectedDevice(){return e(this,void 0,void 0,function*(){return this.options.deviceId?yield this.selectDevice(e=>e.find(e=>e.deviceId===this.options.deviceId)):!this.options.deviceId&&this.options.autoSelectDevice?yield this.selectDevice(e=>e[0]):null})}get actions(){return{dispatch:e=>this.firebaseDevice.dispatchAction(e)}}dispatchAction(i){return e(this,void 0,void 0,function*(){return yield this.firebaseDevice.dispatchAction(i)})}disconnect(){return e(this,void 0,void 0,function*(){return this.firebaseApp.disconnect()})}getInfo(){return e(this,void 0,void 0,function*(){return yield this.firebaseDevice.getInfo()})}login(i){return e(this,void 0,void 0,function*(){if(this.user)return Promise.reject("Already logged in.");const e=yield this.firebaseUser.login(i),t=yield this.setAutoSelectedDevice();return Object.assign(Object.assign({},e),{selectedDevice:t})})}logout(){return e(this,void 0,void 0,function*(){return this.firebaseDevice&&this.firebaseDevice.disconnect(),yield this.firebaseUser.logout()})}onAuthStateChanged(){return this.firebaseUser.onAuthStateChanged().pipe((0,s.switchMap)(i=>e(this,void 0,void 0,function*(){if(!i)return null;const e=this.didSelectDevice()?yield this.getSelectedDevice():yield this.setAutoSelectedDevice();return Object.assign(i,{selectedDevice:e})})))}getDevices(){return this.firebaseUser.getDevices()}addDevice(e){return this.firebaseUser.addDevice(e)}removeDevice(i){return e(this,void 0,void 0,function*(){const[e,t]=yield this.firebaseUser.removeDevice(i).then(()=>[!1]).catch(e=>[!0,e]);if(e)return Promise.reject(t);const s=yield this.getSelectedDevice();(null==s?void 0:s.deviceId)===i&&this._selectedDevice.next(null)})}transferDevice(i){return e(this,void 0,void 0,function*(){const[e,t]=yield this.firebaseUser.transferDevice(i).then(()=>[!1]).catch(e=>[!0,e]);if(e)return Promise.reject(t);const s=yield this.getSelectedDevice();(null==s?void 0:s.deviceId)===i.deviceId&&this._selectedDevice.next(null)})}onUserDevicesChange(){return this.firebaseUser.onUserDevicesChange()}onUserClaimsChange(){return this.firebaseUser.onUserClaimsChange()}didSelectDevice(){return e(this,void 0,void 0,function*(){return!!(yield this.getSelectedDevice())})}selectDevice(i){return e(this,void 0,void 0,function*(){const e=yield this.getDevices();if(!e)return Promise.reject("Did not find any devices for this user. Make sure your device is claimed by your Neurosity account.");const t="function"==typeof i?i(e):(e=>e.find(e=>{if(!Array.isArray(i))return!1;const[t,s]=i;return JSON.stringify(null==e?void 0:e[t])===JSON.stringify(s)}))(e);return t?(yield this.firebaseUser.hasDevicePermission(t.deviceId))?(this._selectedDevice.next(t),t):Promise.reject("Rejected device access due to permissions."):Promise.reject("A device was not provided. Try returning a device from the devicesList provided in the callback.")})}getSelectedDevice(){return e(this,void 0,void 0,function*(){return yield(0,t.firstValueFrom)(this._selectedDevice)})}status(){return this.status$}observeNamespace(e){const r=()=>(0,t.fromEventPattern)(i=>this.firebaseDevice.onNamespace(e,i),i=>this.firebaseDevice.offNamespace(e,i));return this.onDeviceChange().pipe((0,s.switchMap)(e=>e?r():i.EMPTY))}onceNamespace(i){return e(this,void 0,void 0,function*(){return yield this.firebaseDevice.onceNamespace(i)})}get metrics(){return{next:(e,i)=>{this.firebaseDevice.nextMetric(e,i)},on:(e,i)=>this.firebaseDevice.onMetric(e,i),subscribe:e=>{const i=this.firebaseDevice.subscribeToMetric(e);return this.subscriptionManager.add(i),i},unsubscribe:(e,i)=>{this.subscriptionManager.remove(e),this.firebaseDevice.unsubscribeFromMetric(e),this.firebaseDevice.removeMetricListener(e,i)}}}createAccount(e){return this.firebaseUser.createAccount(e)}deleteAccount(){return this.firebaseUser.deleteAccount()}createBluetoothToken(){return this.firebaseDevice.createBluetoothToken()}createCustomToken(){return this.firebaseUser.createCustomToken()}removeOAuthAccess(){return this.firebaseUser.removeOAuthAccess()}onUserExperiments(){return this.firebaseUser.onUserExperiments()}deleteUserExperiment(e){return this.firebaseUser.deleteUserExperiment(e)}get skills(){return{get:i=>e(this,void 0,void 0,function*(){return this.firebaseDevice.getSkill(i)})}}get timestamp(){return this.options.timesync?this.timesync.timestamp:Date.now()}getTimesyncOffset(){return this.timesync.offset}changeSettings(e){return this.firebaseDevice.changeSettings(e)}goOffline(){this.firebaseApp.goOffline()}goOnline(){this.firebaseApp.goOnline()}__getApp(){return this.firebaseApp.app}}exports.CloudClient=h;
|
|
29
29
|
},{"./firebase":"kM30","../timesync":"CXqr","../subscriptions/SubscriptionManager":"BX8M","../utils/heartbeat":"ImaE","../utils/filterInternalKeys":"qny3"}],"rekm":[function(require,module,exports) {
|
|
30
30
|
"use strict";var t,o;Object.defineProperty(exports,"__esModule",{value:!0}),exports.STREAMING_MODE=exports.STREAMING_TYPE=void 0,function(t){t.WIFI="wifi",t.BLUETOOTH="bluetooth"}(t=exports.STREAMING_TYPE||(exports.STREAMING_TYPE={})),function(t){t.WIFI_ONLY="wifi-only",t.WIFI_WITH_BLUETOOTH_FALLBACK="wifi-with-bluetooth-fallback",t.BLUETOOTH_WITH_WIFI_FALLBACK="bluetooth-with-wifi-fallback"}(o=exports.STREAMING_MODE||(exports.STREAMING_MODE={}));
|
|
31
31
|
},{}],"WDyG":[function(require,module,exports) {
|