@neurosity/sdk 6.5.10 → 6.5.11

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.
Files changed (130) hide show
  1. package/dist/browser/neurosity.iife.js +118 -49
  2. package/dist/browser/neurosity.js +112 -112
  3. package/dist/browser/neurosity.js.map +1 -1
  4. package/dist/cjs/__tests__/Neurosity.test.d.ts +1 -0
  5. package/dist/cjs/__tests__/Neurosity.test.js +201 -0
  6. package/dist/cjs/__tests__/WebBluetoothTransport.test.d.ts +1 -0
  7. package/dist/cjs/__tests__/WebBluetoothTransport.test.js +201 -0
  8. package/dist/cjs/__tests__/accelerometer.test.d.ts +1 -0
  9. package/dist/cjs/__tests__/accelerometer.test.js +158 -0
  10. package/dist/cjs/__tests__/auth.test.d.ts +1 -0
  11. package/dist/cjs/__tests__/auth.test.js +239 -0
  12. package/dist/cjs/__tests__/brainwaves.test.d.ts +1 -0
  13. package/dist/cjs/__tests__/brainwaves.test.js +291 -0
  14. package/dist/cjs/__tests__/device.test.d.ts +1 -0
  15. package/dist/cjs/__tests__/device.test.js +281 -0
  16. package/dist/cjs/__tests__/haptics.test.d.ts +1 -0
  17. package/dist/cjs/__tests__/haptics.test.js +162 -0
  18. package/dist/cjs/__tests__/metrics.test.d.ts +1 -0
  19. package/dist/cjs/__tests__/metrics.test.js +178 -0
  20. package/dist/cjs/__tests__/oauth.test.d.ts +1 -0
  21. package/dist/cjs/__tests__/oauth.test.js +138 -0
  22. package/dist/cjs/__tests__/settings.test.d.ts +1 -0
  23. package/dist/cjs/__tests__/settings.test.js +130 -0
  24. package/dist/cjs/__tests__/setup/webBluetooth.setup.d.ts +11 -0
  25. package/dist/cjs/__tests__/setup/webBluetooth.setup.js +35 -0
  26. package/dist/cjs/__tests__/setup.d.ts +0 -0
  27. package/dist/cjs/__tests__/setup.js +7 -0
  28. package/dist/cjs/__tests__/streaming.test.d.ts +1 -0
  29. package/dist/cjs/__tests__/streaming.test.js +259 -0
  30. package/dist/cjs/__tests__/timesync.test.d.ts +1 -0
  31. package/dist/cjs/__tests__/timesync.test.js +54 -0
  32. package/dist/cjs/__tests__/utils.test.d.ts +1 -0
  33. package/dist/cjs/__tests__/utils.test.js +281 -0
  34. package/dist/cjs/api/bluetooth/BluetoothClient.d.ts +6 -6
  35. package/dist/cjs/api/bluetooth/BluetoothTransport.d.ts +1 -1
  36. package/dist/cjs/api/bluetooth/react-native/ReactNativeTransport.d.ts +4 -4
  37. package/dist/cjs/api/bluetooth/react-native/types/ReactNativeTypes.d.ts +2 -2
  38. package/dist/cjs/api/bluetooth/types/index.d.ts +2 -2
  39. package/dist/cjs/api/bluetooth/utils/decodeJSONChunks.d.ts +1 -1
  40. package/dist/cjs/api/bluetooth/utils/stitch.d.ts +1 -1
  41. package/dist/cjs/api/bluetooth/utils/textCodec.d.ts +1 -1
  42. package/dist/cjs/api/bluetooth/web/WebBluetoothTransport.d.ts +1 -1
  43. package/dist/cjs/api/firebase/FirebaseDevice.d.ts +1 -1
  44. package/dist/cjs/api/firebase/FirebaseUser.d.ts +1 -1
  45. package/dist/cjs/api/index.js +1 -1
  46. package/dist/cjs/timesync/Timesync.d.ts +1 -1
  47. package/dist/cjs/types/awareness.d.ts +1 -1
  48. package/dist/cjs/types/brainwaves.d.ts +25 -12
  49. package/dist/cjs/types/credentials.d.ts +4 -4
  50. package/dist/cjs/types/deviceInfo.d.ts +4 -4
  51. package/dist/cjs/types/epoch.d.ts +1 -1
  52. package/dist/cjs/types/experiment.d.ts +1 -1
  53. package/dist/cjs/types/hapticEffects.d.ts +1 -1
  54. package/dist/cjs/types/marker.d.ts +1 -1
  55. package/dist/cjs/types/metrics.d.ts +2 -2
  56. package/dist/cjs/types/oauth.d.ts +4 -4
  57. package/dist/cjs/types/sample.d.ts +2 -2
  58. package/dist/cjs/types/signalQuality.d.ts +1 -1
  59. package/dist/cjs/types/skill.d.ts +2 -2
  60. package/dist/cjs/types/user.d.ts +3 -3
  61. package/dist/cjs/utils/oauth.d.ts +1 -1
  62. package/dist/cjs/utils/transferDevice.d.ts +3 -3
  63. package/dist/cjs/utils/whileOnline.d.ts +1 -1
  64. package/dist/electron/index.js +1 -1
  65. package/dist/electron/index.js.map +1 -1
  66. package/dist/esm/__tests__/Neurosity.test.d.ts +1 -0
  67. package/dist/esm/__tests__/Neurosity.test.js +199 -0
  68. package/dist/esm/__tests__/WebBluetoothTransport.test.d.ts +1 -0
  69. package/dist/esm/__tests__/WebBluetoothTransport.test.js +199 -0
  70. package/dist/esm/__tests__/accelerometer.test.d.ts +1 -0
  71. package/dist/esm/__tests__/accelerometer.test.js +156 -0
  72. package/dist/esm/__tests__/auth.test.d.ts +1 -0
  73. package/dist/esm/__tests__/auth.test.js +237 -0
  74. package/dist/esm/__tests__/brainwaves.test.d.ts +1 -0
  75. package/dist/esm/__tests__/brainwaves.test.js +289 -0
  76. package/dist/esm/__tests__/device.test.d.ts +1 -0
  77. package/dist/esm/__tests__/device.test.js +279 -0
  78. package/dist/esm/__tests__/haptics.test.d.ts +1 -0
  79. package/dist/esm/__tests__/haptics.test.js +160 -0
  80. package/dist/esm/__tests__/metrics.test.d.ts +1 -0
  81. package/dist/esm/__tests__/metrics.test.js +176 -0
  82. package/dist/esm/__tests__/oauth.test.d.ts +1 -0
  83. package/dist/esm/__tests__/oauth.test.js +133 -0
  84. package/dist/esm/__tests__/settings.test.d.ts +1 -0
  85. package/dist/esm/__tests__/settings.test.js +128 -0
  86. package/dist/esm/__tests__/setup/webBluetooth.setup.d.ts +11 -0
  87. package/dist/esm/__tests__/setup/webBluetooth.setup.js +35 -0
  88. package/dist/esm/__tests__/setup.d.ts +0 -0
  89. package/dist/esm/__tests__/setup.js +7 -0
  90. package/dist/esm/__tests__/streaming.test.d.ts +1 -0
  91. package/dist/esm/__tests__/streaming.test.js +257 -0
  92. package/dist/esm/__tests__/timesync.test.d.ts +1 -0
  93. package/dist/esm/__tests__/timesync.test.js +52 -0
  94. package/dist/esm/__tests__/utils.test.d.ts +1 -0
  95. package/dist/esm/__tests__/utils.test.js +279 -0
  96. package/dist/esm/api/bluetooth/BluetoothClient.d.ts +6 -6
  97. package/dist/esm/api/bluetooth/BluetoothTransport.d.ts +1 -1
  98. package/dist/esm/api/bluetooth/react-native/ReactNativeTransport.d.ts +4 -4
  99. package/dist/esm/api/bluetooth/react-native/types/ReactNativeTypes.d.ts +2 -2
  100. package/dist/esm/api/bluetooth/types/index.d.ts +2 -2
  101. package/dist/esm/api/bluetooth/utils/decodeJSONChunks.d.ts +1 -1
  102. package/dist/esm/api/bluetooth/utils/stitch.d.ts +1 -1
  103. package/dist/esm/api/bluetooth/utils/textCodec.d.ts +1 -1
  104. package/dist/esm/api/bluetooth/web/WebBluetoothTransport.d.ts +1 -1
  105. package/dist/esm/api/firebase/FirebaseDevice.d.ts +1 -1
  106. package/dist/esm/api/firebase/FirebaseUser.d.ts +1 -1
  107. package/dist/esm/api/index.js +2 -2
  108. package/dist/esm/neurosity.mjs +118 -49
  109. package/dist/esm/timesync/Timesync.d.ts +1 -1
  110. package/dist/esm/types/awareness.d.ts +1 -1
  111. package/dist/esm/types/brainwaves.d.ts +25 -12
  112. package/dist/esm/types/credentials.d.ts +4 -4
  113. package/dist/esm/types/deviceInfo.d.ts +4 -4
  114. package/dist/esm/types/epoch.d.ts +1 -1
  115. package/dist/esm/types/experiment.d.ts +1 -1
  116. package/dist/esm/types/hapticEffects.d.ts +1 -1
  117. package/dist/esm/types/marker.d.ts +1 -1
  118. package/dist/esm/types/metrics.d.ts +2 -2
  119. package/dist/esm/types/oauth.d.ts +4 -4
  120. package/dist/esm/types/sample.d.ts +2 -2
  121. package/dist/esm/types/signalQuality.d.ts +1 -1
  122. package/dist/esm/types/skill.d.ts +2 -2
  123. package/dist/esm/types/user.d.ts +3 -3
  124. package/dist/esm/utils/oauth.d.ts +1 -1
  125. package/dist/esm/utils/transferDevice.d.ts +3 -3
  126. package/dist/esm/utils/whileOnline.d.ts +1 -1
  127. package/dist/examples/neurosity.iife.js +118 -49
  128. package/dist/examples/neurosity.js +112 -112
  129. package/dist/examples/neurosity.mjs +118 -49
  130. package/package.json +16 -4
@@ -1,12 +1,12 @@
1
- export declare type UserDevice = {
1
+ export type UserDevice = {
2
2
  claimedOn: number;
3
3
  };
4
- export declare type UserDevices = {
4
+ export type UserDevices = {
5
5
  [deviceId: string]: UserDevice;
6
6
  };
7
7
  /**
8
8
  * @hidden
9
9
  */
10
- export declare type UserClaims = {
10
+ export type UserClaims = {
11
11
  [claimName: string]: boolean | string;
12
12
  };
@@ -1,5 +1,5 @@
1
1
  import { Action } from "../types/actions";
2
- declare type OAuthClaims = {
2
+ type OAuthClaims = {
3
3
  oauth?: true;
4
4
  authId?: string;
5
5
  scopes?: string;
@@ -1,9 +1,9 @@
1
- export declare type TransferDeviceByEmail = {
1
+ export type TransferDeviceByEmail = {
2
2
  recipientsEmail: string;
3
3
  deviceId: string;
4
4
  };
5
- export declare type TransferDeviceByUserId = {
5
+ export type TransferDeviceByUserId = {
6
6
  recipientsUserId: string;
7
7
  deviceId: string;
8
8
  };
9
- export declare type TransferDeviceOptions = TransferDeviceByEmail | TransferDeviceByUserId;
9
+ export type TransferDeviceOptions = TransferDeviceByEmail | TransferDeviceByUserId;
@@ -1,6 +1,6 @@
1
1
  import { Observable } from "rxjs";
2
2
  import { DeviceStatus } from "../types/status";
3
- declare type Options = {
3
+ type Options = {
4
4
  status$: Observable<DeviceStatus>;
5
5
  allowWhileOnSleepMode: boolean;
6
6
  };
@@ -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.__firebase=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}}),Object.defineProperty(exports,"__firebase",{enumerable:!0,get:function(){return u.__firebase}});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;
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.__firebase=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}}),Object.defineProperty(exports,"__firebase",{enumerable:!0,get:function(){return u.__firebase}});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.shareReplay)(1))).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) {