@neurosity/sdk 6.1.1 → 6.2.1-next.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.
Files changed (306) hide show
  1. package/dist/{cjs/Neurosity.d.ts → Neurosity.d.ts} +116 -2
  2. package/dist/{cjs/api → api}/bluetooth/BluetoothClient.d.ts +6 -6
  3. package/dist/{cjs/api → api}/bluetooth/constants.d.ts +0 -0
  4. package/dist/{cjs/api → api}/bluetooth/index.d.ts +1 -0
  5. package/dist/{esm/api → api}/bluetooth/react-native/ReactNativeTransport.d.ts +5 -4
  6. package/dist/{cjs/api → api}/bluetooth/types/index.d.ts +2 -2
  7. package/dist/{cjs/api → api}/bluetooth/utils/create6DigitPin.d.ts +0 -0
  8. package/dist/{cjs/api → api}/bluetooth/utils/csvBufferToEpoch.d.ts +0 -0
  9. package/dist/{cjs/api → api}/bluetooth/utils/encoding.d.ts +0 -0
  10. package/dist/{cjs/api → api}/bluetooth/utils/osHasBluetoothSupport.d.ts +0 -0
  11. package/dist/{cjs/api → api}/bluetooth/utils/stitch.d.ts +1 -1
  12. package/dist/{esm/api → api}/bluetooth/web/WebBluetoothTransport.d.ts +1 -1
  13. package/dist/{cjs/api → api}/bluetooth/web/isMaybeWebWorkerContext.d.ts +0 -0
  14. package/dist/{cjs/api → api}/bluetooth/web/isWebBluetoothSupported.d.ts +0 -0
  15. package/dist/{cjs/api → api}/firebase/FirebaseApp.d.ts +0 -0
  16. package/dist/{cjs/api → api}/firebase/FirebaseDevice.d.ts +1 -1
  17. package/dist/{cjs/api → api}/firebase/FirebaseUser.d.ts +0 -0
  18. package/dist/{cjs/api → api}/firebase/config.d.ts +0 -0
  19. package/dist/{cjs/api → api}/firebase/deviceStore.d.ts +0 -0
  20. package/dist/{cjs/api → api}/firebase/index.d.ts +0 -0
  21. package/dist/{cjs/api → api}/https/config.d.ts +0 -0
  22. package/dist/{cjs/api → api}/https/createOAuthURL.d.ts +0 -0
  23. package/dist/{cjs/api → api}/https/getOAuthToken.d.ts +0 -0
  24. package/dist/{cjs/api → api}/https/utils.d.ts +0 -0
  25. package/dist/{esm/api → api}/index.d.ts +8 -0
  26. package/dist/index.cjs +2 -0
  27. package/dist/index.cjs.map +1 -0
  28. package/dist/{cjs/index.d.ts → index.d.ts} +0 -0
  29. package/dist/index.m.js +2 -0
  30. package/dist/index.m.js.map +1 -0
  31. package/dist/index.umd.js +2 -0
  32. package/dist/index.umd.js.map +1 -0
  33. package/dist/{cjs/subscriptions → subscriptions}/SubscriptionManager.d.ts +0 -0
  34. package/dist/{cjs/timesync → timesync}/Timesync.d.ts +1 -1
  35. package/dist/{cjs/timesync → timesync}/index.d.ts +0 -0
  36. package/dist/{cjs/types → types}/status.d.ts +0 -0
  37. package/dist/{cjs/types → types}/streaming.d.ts +0 -0
  38. package/dist/{cjs/utils → utils}/errors.d.ts +0 -0
  39. package/dist/{cjs/utils → utils}/filterInternalKeys.d.ts +0 -0
  40. package/dist/{cjs/utils → utils}/hapticEffects.d.ts +0 -0
  41. package/dist/{cjs/utils → utils}/heartbeat.d.ts +0 -0
  42. package/dist/{cjs/utils → utils}/is-node.d.ts +0 -0
  43. package/dist/utils/metrics.d.ts +6 -0
  44. package/dist/{cjs/utils → utils}/oauth.d.ts +1 -1
  45. package/dist/{cjs/utils → utils}/pipes.d.ts +0 -0
  46. package/dist/{cjs/utils → utils}/platform.d.ts +0 -0
  47. package/dist/{cjs/utils → utils}/subscription.d.ts +0 -0
  48. package/dist/{cjs/utils → utils}/whileOnline.d.ts +1 -1
  49. package/package.json +15 -23
  50. package/CHANGELOG.md +0 -25
  51. package/dist/browser/neurosity.iife.js +0 -48711
  52. package/dist/browser/neurosity.js +0 -666
  53. package/dist/browser/neurosity.js.map +0 -1
  54. package/dist/cjs/Neurosity.js +0 -1244
  55. package/dist/cjs/api/bluetooth/BluetoothClient.js +0 -310
  56. package/dist/cjs/api/bluetooth/BluetoothTransport.d.ts +0 -33
  57. package/dist/cjs/api/bluetooth/BluetoothTransport.js +0 -2
  58. package/dist/cjs/api/bluetooth/constants.js +0 -9
  59. package/dist/cjs/api/bluetooth/index.js +0 -20
  60. package/dist/cjs/api/bluetooth/react-native/ReactNativeTransport.d.ts +0 -69
  61. package/dist/cjs/api/bluetooth/react-native/ReactNativeTransport.js +0 -405
  62. package/dist/cjs/api/bluetooth/react-native/types/BleManagerTypes.d.ts +0 -63
  63. package/dist/cjs/api/bluetooth/react-native/types/BleManagerTypes.js +0 -11
  64. package/dist/cjs/api/bluetooth/react-native/types/ReactNativeTypes.d.ts +0 -180
  65. package/dist/cjs/api/bluetooth/react-native/types/ReactNativeTypes.js +0 -10
  66. package/dist/cjs/api/bluetooth/types/index.js +0 -22
  67. package/dist/cjs/api/bluetooth/utils/create6DigitPin.js +0 -8
  68. package/dist/cjs/api/bluetooth/utils/csvBufferToEpoch.js +0 -36
  69. package/dist/cjs/api/bluetooth/utils/encoding.js +0 -22
  70. package/dist/cjs/api/bluetooth/utils/osHasBluetoothSupport.js +0 -23
  71. package/dist/cjs/api/bluetooth/utils/stitch.js +0 -22
  72. package/dist/cjs/api/bluetooth/web/WebBluetoothTransport.d.ts +0 -54
  73. package/dist/cjs/api/bluetooth/web/WebBluetoothTransport.js +0 -430
  74. package/dist/cjs/api/bluetooth/web/isMaybeWebWorkerContext.js +0 -8
  75. package/dist/cjs/api/bluetooth/web/isWebBluetoothSupported.js +0 -11
  76. package/dist/cjs/api/firebase/FirebaseApp.js +0 -70
  77. package/dist/cjs/api/firebase/FirebaseDevice.js +0 -146
  78. package/dist/cjs/api/firebase/FirebaseUser.js +0 -434
  79. package/dist/cjs/api/firebase/config.js +0 -11
  80. package/dist/cjs/api/firebase/deviceStore.js +0 -191
  81. package/dist/cjs/api/firebase/index.js +0 -19
  82. package/dist/cjs/api/https/config.js +0 -4
  83. package/dist/cjs/api/https/createOAuthURL.js +0 -18
  84. package/dist/cjs/api/https/getOAuthToken.js +0 -34
  85. package/dist/cjs/api/https/utils.js +0 -13
  86. package/dist/cjs/api/index.d.ts +0 -109
  87. package/dist/cjs/api/index.js +0 -307
  88. package/dist/cjs/index.js +0 -18
  89. package/dist/cjs/subscriptions/SubscriptionManager.js +0 -27
  90. package/dist/cjs/timesync/Timesync.js +0 -78
  91. package/dist/cjs/timesync/index.js +0 -17
  92. package/dist/cjs/types/accelerometer.d.ts +0 -10
  93. package/dist/cjs/types/accelerometer.js +0 -2
  94. package/dist/cjs/types/actions.d.ts +0 -16
  95. package/dist/cjs/types/actions.js +0 -2
  96. package/dist/cjs/types/awareness.d.ts +0 -1
  97. package/dist/cjs/types/awareness.js +0 -2
  98. package/dist/cjs/types/brainwaves.d.ts +0 -26
  99. package/dist/cjs/types/brainwaves.js +0 -2
  100. package/dist/cjs/types/calm.d.ts +0 -6
  101. package/dist/cjs/types/calm.js +0 -2
  102. package/dist/cjs/types/client.d.ts +0 -22
  103. package/dist/cjs/types/client.js +0 -2
  104. package/dist/cjs/types/credentials.d.ts +0 -12
  105. package/dist/cjs/types/credentials.js +0 -2
  106. package/dist/cjs/types/deviceInfo.d.ts +0 -18
  107. package/dist/cjs/types/deviceInfo.js +0 -2
  108. package/dist/cjs/types/epoch.d.ts +0 -12
  109. package/dist/cjs/types/epoch.js +0 -2
  110. package/dist/cjs/types/experiment.d.ts +0 -9
  111. package/dist/cjs/types/experiment.js +0 -2
  112. package/dist/cjs/types/focus.d.ts +0 -6
  113. package/dist/cjs/types/focus.js +0 -2
  114. package/dist/cjs/types/hapticEffects.d.ts +0 -125
  115. package/dist/cjs/types/hapticEffects.js +0 -2
  116. package/dist/cjs/types/kinesis.d.ts +0 -6
  117. package/dist/cjs/types/kinesis.js +0 -2
  118. package/dist/cjs/types/marker.d.ts +0 -7
  119. package/dist/cjs/types/marker.js +0 -2
  120. package/dist/cjs/types/metrics.d.ts +0 -21
  121. package/dist/cjs/types/metrics.js +0 -2
  122. package/dist/cjs/types/oauth.d.ts +0 -20
  123. package/dist/cjs/types/oauth.js +0 -2
  124. package/dist/cjs/types/options.d.ts +0 -51
  125. package/dist/cjs/types/options.js +0 -2
  126. package/dist/cjs/types/sample.d.ts +0 -15
  127. package/dist/cjs/types/sample.js +0 -2
  128. package/dist/cjs/types/settings.d.ts +0 -13
  129. package/dist/cjs/types/settings.js +0 -2
  130. package/dist/cjs/types/signalQuality.d.ts +0 -13
  131. package/dist/cjs/types/signalQuality.js +0 -2
  132. package/dist/cjs/types/skill.d.ts +0 -68
  133. package/dist/cjs/types/skill.js +0 -2
  134. package/dist/cjs/types/status.js +0 -22
  135. package/dist/cjs/types/streaming.js +0 -20
  136. package/dist/cjs/types/subscriptions.d.ts +0 -23
  137. package/dist/cjs/types/subscriptions.js +0 -2
  138. package/dist/cjs/types/training.d.ts +0 -19
  139. package/dist/cjs/types/training.js +0 -2
  140. package/dist/cjs/types/user.d.ts +0 -12
  141. package/dist/cjs/types/user.js +0 -2
  142. package/dist/cjs/utils/errors.js +0 -17
  143. package/dist/cjs/utils/filterInternalKeys.js +0 -21
  144. package/dist/cjs/utils/hapticEffects.js +0 -130
  145. package/dist/cjs/utils/heartbeat.js +0 -41
  146. package/dist/cjs/utils/is-node.js +0 -9
  147. package/dist/cjs/utils/metrics.d.ts +0 -1
  148. package/dist/cjs/utils/metrics.js +0 -56
  149. package/dist/cjs/utils/oauth.js +0 -92
  150. package/dist/cjs/utils/pick.d.ts +0 -1
  151. package/dist/cjs/utils/pick.js +0 -5
  152. package/dist/cjs/utils/pipes.js +0 -71
  153. package/dist/cjs/utils/platform.js +0 -47
  154. package/dist/cjs/utils/subscription.js +0 -55
  155. package/dist/cjs/utils/transferDevice.d.ts +0 -9
  156. package/dist/cjs/utils/transferDevice.js +0 -2
  157. package/dist/cjs/utils/whileOnline.js +0 -15
  158. package/dist/electron/index.js +0 -86
  159. package/dist/electron/index.js.map +0 -1
  160. package/dist/esm/Neurosity.d.ts +0 -619
  161. package/dist/esm/Neurosity.js +0 -1213
  162. package/dist/esm/api/bluetooth/BluetoothClient.d.ts +0 -72
  163. package/dist/esm/api/bluetooth/BluetoothClient.js +0 -306
  164. package/dist/esm/api/bluetooth/BluetoothTransport.d.ts +0 -33
  165. package/dist/esm/api/bluetooth/BluetoothTransport.js +0 -1
  166. package/dist/esm/api/bluetooth/constants.d.ts +0 -4
  167. package/dist/esm/api/bluetooth/constants.js +0 -6
  168. package/dist/esm/api/bluetooth/index.d.ts +0 -4
  169. package/dist/esm/api/bluetooth/index.js +0 -4
  170. package/dist/esm/api/bluetooth/react-native/ReactNativeTransport.js +0 -401
  171. package/dist/esm/api/bluetooth/react-native/types/BleManagerTypes.d.ts +0 -63
  172. package/dist/esm/api/bluetooth/react-native/types/BleManagerTypes.js +0 -8
  173. package/dist/esm/api/bluetooth/react-native/types/ReactNativeTypes.d.ts +0 -180
  174. package/dist/esm/api/bluetooth/react-native/types/ReactNativeTypes.js +0 -9
  175. package/dist/esm/api/bluetooth/types/index.d.ts +0 -31
  176. package/dist/esm/api/bluetooth/types/index.js +0 -19
  177. package/dist/esm/api/bluetooth/utils/create6DigitPin.d.ts +0 -1
  178. package/dist/esm/api/bluetooth/utils/create6DigitPin.js +0 -4
  179. package/dist/esm/api/bluetooth/utils/csvBufferToEpoch.d.ts +0 -11
  180. package/dist/esm/api/bluetooth/utils/csvBufferToEpoch.js +0 -31
  181. package/dist/esm/api/bluetooth/utils/encoding.d.ts +0 -3
  182. package/dist/esm/api/bluetooth/utils/encoding.js +0 -17
  183. package/dist/esm/api/bluetooth/utils/osHasBluetoothSupport.d.ts +0 -2
  184. package/dist/esm/api/bluetooth/utils/osHasBluetoothSupport.js +0 -16
  185. package/dist/esm/api/bluetooth/utils/stitch.d.ts +0 -5
  186. package/dist/esm/api/bluetooth/utils/stitch.js +0 -18
  187. package/dist/esm/api/bluetooth/web/WebBluetoothTransport.js +0 -426
  188. package/dist/esm/api/bluetooth/web/isMaybeWebWorkerContext.d.ts +0 -1
  189. package/dist/esm/api/bluetooth/web/isMaybeWebWorkerContext.js +0 -4
  190. package/dist/esm/api/bluetooth/web/isWebBluetoothSupported.d.ts +0 -1
  191. package/dist/esm/api/bluetooth/web/isWebBluetoothSupported.js +0 -7
  192. package/dist/esm/api/firebase/FirebaseApp.d.ts +0 -20
  193. package/dist/esm/api/firebase/FirebaseApp.js +0 -63
  194. package/dist/esm/api/firebase/FirebaseDevice.d.ts +0 -68
  195. package/dist/esm/api/firebase/FirebaseDevice.js +0 -139
  196. package/dist/esm/api/firebase/FirebaseUser.d.ts +0 -53
  197. package/dist/esm/api/firebase/FirebaseUser.js +0 -426
  198. package/dist/esm/api/firebase/config.d.ts +0 -8
  199. package/dist/esm/api/firebase/config.js +0 -8
  200. package/dist/esm/api/firebase/deviceStore.d.ts +0 -26
  201. package/dist/esm/api/firebase/deviceStore.js +0 -184
  202. package/dist/esm/api/firebase/index.d.ts +0 -3
  203. package/dist/esm/api/firebase/index.js +0 -3
  204. package/dist/esm/api/https/config.d.ts +0 -1
  205. package/dist/esm/api/https/config.js +0 -1
  206. package/dist/esm/api/https/createOAuthURL.d.ts +0 -3
  207. package/dist/esm/api/https/createOAuthURL.js +0 -11
  208. package/dist/esm/api/https/getOAuthToken.d.ts +0 -3
  209. package/dist/esm/api/https/getOAuthToken.js +0 -27
  210. package/dist/esm/api/https/utils.d.ts +0 -2
  211. package/dist/esm/api/https/utils.js +0 -9
  212. package/dist/esm/api/index.js +0 -300
  213. package/dist/esm/index.d.ts +0 -2
  214. package/dist/esm/index.js +0 -2
  215. package/dist/esm/neurosity.mjs +0 -48699
  216. package/dist/esm/subscriptions/SubscriptionManager.d.ts +0 -11
  217. package/dist/esm/subscriptions/SubscriptionManager.js +0 -23
  218. package/dist/esm/timesync/Timesync.d.ts +0 -20
  219. package/dist/esm/timesync/Timesync.js +0 -71
  220. package/dist/esm/timesync/index.d.ts +0 -1
  221. package/dist/esm/timesync/index.js +0 -1
  222. package/dist/esm/types/accelerometer.d.ts +0 -10
  223. package/dist/esm/types/accelerometer.js +0 -1
  224. package/dist/esm/types/actions.d.ts +0 -16
  225. package/dist/esm/types/actions.js +0 -1
  226. package/dist/esm/types/awareness.d.ts +0 -1
  227. package/dist/esm/types/awareness.js +0 -1
  228. package/dist/esm/types/brainwaves.d.ts +0 -26
  229. package/dist/esm/types/brainwaves.js +0 -1
  230. package/dist/esm/types/calm.d.ts +0 -6
  231. package/dist/esm/types/calm.js +0 -1
  232. package/dist/esm/types/client.d.ts +0 -22
  233. package/dist/esm/types/client.js +0 -1
  234. package/dist/esm/types/credentials.d.ts +0 -12
  235. package/dist/esm/types/credentials.js +0 -1
  236. package/dist/esm/types/deviceInfo.d.ts +0 -18
  237. package/dist/esm/types/deviceInfo.js +0 -1
  238. package/dist/esm/types/epoch.d.ts +0 -12
  239. package/dist/esm/types/epoch.js +0 -1
  240. package/dist/esm/types/experiment.d.ts +0 -9
  241. package/dist/esm/types/experiment.js +0 -1
  242. package/dist/esm/types/focus.d.ts +0 -6
  243. package/dist/esm/types/focus.js +0 -1
  244. package/dist/esm/types/hapticEffects.d.ts +0 -125
  245. package/dist/esm/types/hapticEffects.js +0 -1
  246. package/dist/esm/types/kinesis.d.ts +0 -6
  247. package/dist/esm/types/kinesis.js +0 -1
  248. package/dist/esm/types/marker.d.ts +0 -7
  249. package/dist/esm/types/marker.js +0 -1
  250. package/dist/esm/types/metrics.d.ts +0 -21
  251. package/dist/esm/types/metrics.js +0 -1
  252. package/dist/esm/types/oauth.d.ts +0 -20
  253. package/dist/esm/types/oauth.js +0 -1
  254. package/dist/esm/types/options.d.ts +0 -51
  255. package/dist/esm/types/options.js +0 -1
  256. package/dist/esm/types/sample.d.ts +0 -15
  257. package/dist/esm/types/sample.js +0 -1
  258. package/dist/esm/types/settings.d.ts +0 -13
  259. package/dist/esm/types/settings.js +0 -1
  260. package/dist/esm/types/signalQuality.d.ts +0 -13
  261. package/dist/esm/types/signalQuality.js +0 -1
  262. package/dist/esm/types/skill.d.ts +0 -68
  263. package/dist/esm/types/skill.js +0 -1
  264. package/dist/esm/types/status.d.ts +0 -26
  265. package/dist/esm/types/status.js +0 -19
  266. package/dist/esm/types/streaming.d.ts +0 -15
  267. package/dist/esm/types/streaming.js +0 -17
  268. package/dist/esm/types/subscriptions.d.ts +0 -23
  269. package/dist/esm/types/subscriptions.js +0 -1
  270. package/dist/esm/types/training.d.ts +0 -19
  271. package/dist/esm/types/training.js +0 -1
  272. package/dist/esm/types/user.d.ts +0 -12
  273. package/dist/esm/types/user.js +0 -1
  274. package/dist/esm/utils/errors.d.ts +0 -5
  275. package/dist/esm/utils/errors.js +0 -11
  276. package/dist/esm/utils/filterInternalKeys.d.ts +0 -3
  277. package/dist/esm/utils/filterInternalKeys.js +0 -17
  278. package/dist/esm/utils/hapticEffects.d.ts +0 -123
  279. package/dist/esm/utils/hapticEffects.js +0 -125
  280. package/dist/esm/utils/heartbeat.d.ts +0 -4
  281. package/dist/esm/utils/heartbeat.js +0 -33
  282. package/dist/esm/utils/is-node.d.ts +0 -1
  283. package/dist/esm/utils/is-node.js +0 -5
  284. package/dist/esm/utils/metrics.d.ts +0 -1
  285. package/dist/esm/utils/metrics.js +0 -52
  286. package/dist/esm/utils/oauth.d.ts +0 -9
  287. package/dist/esm/utils/oauth.js +0 -64
  288. package/dist/esm/utils/pick.d.ts +0 -1
  289. package/dist/esm/utils/pick.js +0 -1
  290. package/dist/esm/utils/pipes.d.ts +0 -46
  291. package/dist/esm/utils/pipes.js +0 -65
  292. package/dist/esm/utils/platform.d.ts +0 -30
  293. package/dist/esm/utils/platform.js +0 -41
  294. package/dist/esm/utils/subscription.d.ts +0 -6
  295. package/dist/esm/utils/subscription.js +0 -24
  296. package/dist/esm/utils/transferDevice.d.ts +0 -9
  297. package/dist/esm/utils/transferDevice.js +0 -1
  298. package/dist/esm/utils/whileOnline.d.ts +0 -8
  299. package/dist/esm/utils/whileOnline.js +0 -11
  300. package/dist/examples/auth.html +0 -32
  301. package/dist/examples/cloud.html +0 -17
  302. package/dist/examples/index.html +0 -1
  303. package/dist/examples/neurosity.iife.js +0 -48711
  304. package/dist/examples/neurosity.js +0 -666
  305. package/dist/examples/neurosity.mjs +0 -48699
  306. package/dist/examples/training.html +0 -49
@@ -1,191 +0,0 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- var __importDefault = (this && this.__importDefault) || function (mod) {
12
- return (mod && mod.__esModule) ? mod : { "default": mod };
13
- };
14
- Object.defineProperty(exports, "__esModule", { value: true });
15
- exports.createDeviceStore = void 0;
16
- const app_1 = __importDefault(require("firebase/app"));
17
- const SERVER_TIMESTAMP = app_1.default.database.ServerValue.TIMESTAMP;
18
- /**
19
- * @hidden
20
- */
21
- const createDeviceStore = (app, deviceId, subscriptionManager) => {
22
- const deviceRef = app.database().ref(`devices/${deviceId}`);
23
- const clientId = deviceRef.child("subscriptions").push().key;
24
- const clientRef = deviceRef.child(`clients/${clientId}`);
25
- let listenersToRemove = [];
26
- const set = (namespace, payload) => {
27
- return deviceRef.child(namespace).set(payload);
28
- };
29
- const push = (namespace, payload) => {
30
- return deviceRef.child(namespace).push(payload);
31
- };
32
- const update = (namespace, payload) => {
33
- return deviceRef.child(namespace).update(payload);
34
- };
35
- const on = (eventType = "value", namespace, callback) => {
36
- const listener = deviceRef
37
- .child(namespace)
38
- .on(eventType, (snapshot) => {
39
- callback(snapshot.val(), snapshot);
40
- });
41
- listenersToRemove.push(() => {
42
- deviceRef.child(namespace).off(eventType, listener);
43
- });
44
- return listener;
45
- };
46
- const off = (namespace, eventType, listener) => {
47
- if (listener) {
48
- deviceRef.child(namespace).off(eventType, listener);
49
- }
50
- else {
51
- deviceRef.child(namespace).off(eventType);
52
- }
53
- };
54
- const once = (namespace, eventType = "value") => __awaiter(void 0, void 0, void 0, function* () {
55
- const snapshot = yield deviceRef.child(namespace).once(eventType);
56
- return snapshot.val();
57
- });
58
- const remove = (namespace) => {
59
- deviceRef.child(namespace).remove();
60
- };
61
- const bindListener = (eventType, namespace, callback, overrideResponse) => {
62
- on(eventType, namespace, (data) => {
63
- if (data !== null) {
64
- off(namespace, eventType);
65
- const response = overrideResponse ? overrideResponse : data;
66
- callback(response);
67
- }
68
- });
69
- };
70
- const lastOfChildValue = (namespace, key, value) => __awaiter(void 0, void 0, void 0, function* () {
71
- const snapshot = yield deviceRef
72
- .child(namespace)
73
- .orderByChild(key)
74
- .equalTo(value)
75
- .limitToLast(1)
76
- .once("value");
77
- const results = snapshot.val();
78
- const [match] = Object.values(results || {});
79
- return match || null;
80
- });
81
- // Add client connections and subscriptions to db and remove them when offline
82
- const connectedListener = app
83
- .database()
84
- .ref(".info/connected")
85
- .on("value", (snapshot) => {
86
- if (!snapshot.val()) {
87
- return;
88
- }
89
- clientRef
90
- .onDisconnect()
91
- .remove()
92
- .then(() => {
93
- clientRef.set(SERVER_TIMESTAMP);
94
- // NOTION-115: Re-subscribe when internet connection is lost and regained
95
- update("subscriptions", subscriptionManager.get()).then(() => {
96
- subscriptionManager.toList().forEach((subscription) => {
97
- const childPath = `subscriptions/${subscription.id}`;
98
- deviceRef.child(childPath).onDisconnect().remove();
99
- });
100
- });
101
- });
102
- });
103
- listenersToRemove.push(() => {
104
- app
105
- .database()
106
- .ref(".info/connected")
107
- .off("value", connectedListener);
108
- });
109
- return {
110
- set,
111
- once,
112
- update,
113
- lastOfChildValue,
114
- onNamespace: (namespace, callback) => {
115
- return on("value", namespace, (data) => {
116
- callback(data);
117
- });
118
- },
119
- offNamespace: (namespace, listener) => {
120
- off(namespace, "value", listener);
121
- },
122
- dispatchAction: (action) => __awaiter(void 0, void 0, void 0, function* () {
123
- const snapshot = yield push("actions", action);
124
- const actionId = snapshot.key;
125
- const actionPath = `actions/${actionId}`;
126
- snapshot.onDisconnect().remove();
127
- if (action.responseRequired) {
128
- const responseTimeout = action.responseTimeout || 600000; // defaults to 10 minutes
129
- const timeout = new Promise((_, reject) => {
130
- const id = setTimeout(() => {
131
- clearTimeout(id);
132
- snapshot.remove();
133
- reject(`Action response timed out in ${responseTimeout}ms.`);
134
- }, responseTimeout);
135
- });
136
- const response = new Promise((resolve) => {
137
- bindListener("value", `${actionPath}/response`, resolve);
138
- });
139
- return Promise.race([response, timeout]);
140
- }
141
- return actionId;
142
- }),
143
- nextMetric: (metricName, metricValue) => __awaiter(void 0, void 0, void 0, function* () {
144
- set(`metrics/${metricName}`, metricValue);
145
- }),
146
- onMetric: (subscription, callback) => {
147
- const { atomic, metric, labels } = subscription;
148
- const child = atomic
149
- ? `metrics/${metric}`
150
- : `metrics/${metric}/${labels[0]}`;
151
- return on("value", child, (data) => {
152
- if (data !== null) {
153
- callback(data);
154
- }
155
- });
156
- },
157
- subscribeToMetric: (subscription) => {
158
- const id = deviceRef.child("subscriptions").push().key;
159
- const childPath = `subscriptions/${id}`;
160
- const subscriptionCreated = Object.assign({ id,
161
- clientId }, subscription);
162
- set(childPath, subscriptionCreated);
163
- deviceRef.child(childPath).onDisconnect().remove();
164
- return subscriptionCreated;
165
- },
166
- unsubscribeFromMetric: (subscription) => {
167
- remove(`subscriptions/${subscription.id}`);
168
- },
169
- removeMetricListener(subscription, listener) {
170
- const { atomic, metric, labels } = subscription;
171
- const child = atomic
172
- ? `metrics/${metric}`
173
- : `metrics/${metric}/${labels[0]}`;
174
- off(child, "value", listener);
175
- },
176
- disconnect() {
177
- clientRef.remove();
178
- listenersToRemove.forEach((removeListener) => {
179
- removeListener();
180
- });
181
- subscriptionManager
182
- .toList()
183
- .filter((subscription) => subscription.clientId === clientId)
184
- .forEach((subscription) => {
185
- const childPath = `subscriptions/${subscription.id}`;
186
- deviceRef.child(childPath).remove();
187
- });
188
- }
189
- };
190
- };
191
- exports.createDeviceStore = createDeviceStore;
@@ -1,19 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./FirebaseApp"), exports);
18
- __exportStar(require("./FirebaseUser"), exports);
19
- __exportStar(require("./FirebaseDevice"), exports);
@@ -1,4 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.prodFunctionsBaseUrl = void 0;
4
- exports.prodFunctionsBaseUrl = "https://us-central1-neurosity-device.cloudfunctions.net";
@@ -1,18 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.createOAuthURL = void 0;
7
- const axios_1 = __importDefault(require("axios"));
8
- const utils_1 = require("./utils");
9
- function createOAuthURL(config, sdkOptions) {
10
- const { clientId, clientSecret, responseType, redirectUri, scope, state } = config;
11
- const baseUrl = (0, utils_1.getFunctionsBaseURL)(sdkOptions);
12
- return axios_1.default
13
- .get(`${baseUrl}/authorize/entry`, {
14
- params: Object.assign(Object.assign({ client_id: clientId }, (clientSecret ? { client_secret: clientSecret } : {})), { response_type: responseType, redirect_uri: redirectUri, scope: scope.join(","), state: state, redirect: "false" })
15
- })
16
- .then((response) => `${baseUrl}${response.data.url}`);
17
- }
18
- exports.createOAuthURL = createOAuthURL;
@@ -1,34 +0,0 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- var __importDefault = (this && this.__importDefault) || function (mod) {
12
- return (mod && mod.__esModule) ? mod : { "default": mod };
13
- };
14
- Object.defineProperty(exports, "__esModule", { value: true });
15
- exports.getOAuthToken = void 0;
16
- const axios_1 = __importDefault(require("axios"));
17
- const utils_1 = require("./utils");
18
- function getOAuthToken(query, sdkOptions) {
19
- return __awaiter(this, void 0, void 0, function* () {
20
- const baseUrl = (0, utils_1.getFunctionsBaseURL)(sdkOptions);
21
- // Get refresh token
22
- const refreshResponse = yield axios_1.default.post(`${baseUrl}/getOAuthRefreshToken`, query);
23
- const refreshToken = refreshResponse.data;
24
- return axios_1.default
25
- .post(`${baseUrl}/token`, {
26
- grant_type: "refresh_token",
27
- refresh_token: refreshToken.data,
28
- client_id: query.clientId,
29
- client_secret: query.clientSecret
30
- })
31
- .then((response) => JSON.parse(response.data)["access_token"]);
32
- });
33
- }
34
- exports.getOAuthToken = getOAuthToken;
@@ -1,13 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getFunctionsBaseURL = void 0;
4
- const config_1 = require("./config");
5
- function getFunctionsBaseURL(sdkOptions) {
6
- if (!sdkOptions.emulator) {
7
- return config_1.prodFunctionsBaseUrl;
8
- }
9
- const { emulatorHost, emulatorFunctionsPort } = sdkOptions;
10
- const emulatorFunctionsBaseUrl = `http://${emulatorHost}:${emulatorFunctionsPort}/neurosity-device/us-central1`;
11
- return emulatorFunctionsBaseUrl;
12
- }
13
- exports.getFunctionsBaseURL = getFunctionsBaseURL;
@@ -1,109 +0,0 @@
1
- import { Observable } from "rxjs";
2
- import { FirebaseApp, FirebaseUser, FirebaseDevice } from "./firebase";
3
- import { Timesync } from "../timesync";
4
- import { SubscriptionManager } from "../subscriptions/SubscriptionManager";
5
- import { Client } from "../types/client";
6
- import { Action, Actions } from "../types/actions";
7
- import { Metrics } from "../types/metrics";
8
- import { SDKOptions } from "../types/options";
9
- import { SkillsClient } from "../types/skill";
10
- import { Credentials, CustomToken } from "../types/credentials";
11
- import { EmailAndPassword } from "../types/credentials";
12
- import { ChangeSettings } from "../types/settings";
13
- import { DeviceStatus } from "../types/status";
14
- import { DeviceInfo, DeviceSelector } from "../types/deviceInfo";
15
- import { UserClaims } from "../types/user";
16
- import { OAuthRemoveResponse } from "../types/oauth";
17
- import { Experiment } from "../types/experiment";
18
- import { TransferDeviceOptions } from "../utils/transferDevice";
19
- export { credentialWithLink, createUser, SERVER_TIMESTAMP } from "./firebase";
20
- /**
21
- * @hidden
22
- */
23
- export declare class CloudClient implements Client {
24
- user: any;
25
- userClaims: any;
26
- protected options: SDKOptions;
27
- protected firebaseApp: FirebaseApp;
28
- protected firebaseUser: FirebaseUser;
29
- protected firebaseDevice: FirebaseDevice;
30
- protected timesync: Timesync;
31
- protected subscriptionManager: SubscriptionManager;
32
- protected status$: Observable<DeviceStatus>;
33
- constructor(options: SDKOptions);
34
- onDeviceChange(): Observable<DeviceInfo>;
35
- private setAutoSelectedDevice;
36
- get actions(): Actions;
37
- dispatchAction(action: Action): Promise<any>;
38
- disconnect(): Promise<any>;
39
- getInfo(): Promise<any>;
40
- login(credentials: Credentials): Promise<any>;
41
- logout(): Promise<any>;
42
- onAuthStateChanged(): Observable<{
43
- selectedDevice: DeviceInfo;
44
- delete(): Promise<void>;
45
- emailVerified: boolean;
46
- getIdTokenResult(forceRefresh?: boolean): Promise<import("@firebase/auth-types").IdTokenResult>;
47
- getIdToken(forceRefresh?: boolean): Promise<string>;
48
- isAnonymous: boolean;
49
- linkAndRetrieveDataWithCredential(credential: import("@firebase/auth-types").AuthCredential): Promise<import("@firebase/auth-types").UserCredential>;
50
- linkWithCredential(credential: import("@firebase/auth-types").AuthCredential): Promise<import("@firebase/auth-types").UserCredential>;
51
- linkWithPhoneNumber(phoneNumber: string, applicationVerifier: import("@firebase/auth-types").ApplicationVerifier): Promise<import("@firebase/auth-types").ConfirmationResult>;
52
- linkWithPopup(provider: import("@firebase/auth-types").AuthProvider): Promise<import("@firebase/auth-types").UserCredential>;
53
- linkWithRedirect(provider: import("@firebase/auth-types").AuthProvider): Promise<void>;
54
- metadata: import("@firebase/auth-types").UserMetadata;
55
- multiFactor: import("@firebase/auth-types").MultiFactorUser;
56
- phoneNumber: string;
57
- providerData: import("@firebase/auth-types").UserInfo[];
58
- reauthenticateAndRetrieveDataWithCredential(credential: import("@firebase/auth-types").AuthCredential): Promise<import("@firebase/auth-types").UserCredential>;
59
- reauthenticateWithCredential(credential: import("@firebase/auth-types").AuthCredential): Promise<import("@firebase/auth-types").UserCredential>;
60
- reauthenticateWithPhoneNumber(phoneNumber: string, applicationVerifier: import("@firebase/auth-types").ApplicationVerifier): Promise<import("@firebase/auth-types").ConfirmationResult>;
61
- reauthenticateWithPopup(provider: import("@firebase/auth-types").AuthProvider): Promise<import("@firebase/auth-types").UserCredential>;
62
- reauthenticateWithRedirect(provider: import("@firebase/auth-types").AuthProvider): Promise<void>;
63
- refreshToken: string;
64
- reload(): Promise<void>;
65
- sendEmailVerification(actionCodeSettings?: import("@firebase/auth-types").ActionCodeSettings): Promise<void>;
66
- tenantId: string;
67
- toJSON(): Object;
68
- unlink(providerId: string): Promise<import("@firebase/auth-types").User>;
69
- updateEmail(newEmail: string): Promise<void>;
70
- updatePassword(newPassword: string): Promise<void>;
71
- updatePhoneNumber(phoneCredential: import("@firebase/auth-types").AuthCredential): Promise<void>;
72
- updateProfile(profile: {
73
- displayName?: string;
74
- photoURL?: string;
75
- }): Promise<void>;
76
- verifyBeforeUpdateEmail(newEmail: string, actionCodeSettings?: import("@firebase/auth-types").ActionCodeSettings): Promise<void>;
77
- displayName: string;
78
- email: string;
79
- photoURL: string;
80
- providerId: string;
81
- uid: string;
82
- }>;
83
- getDevices(): Promise<DeviceInfo[]>;
84
- addDevice(deviceId: string): Promise<void>;
85
- removeDevice(deviceId: string): Promise<void>;
86
- transferDevice(options: TransferDeviceOptions): Promise<void>;
87
- onUserDevicesChange(): Observable<DeviceInfo[]>;
88
- onUserClaimsChange(): Observable<UserClaims>;
89
- didSelectDevice(): Promise<boolean>;
90
- selectDevice(deviceSelector: DeviceSelector): Promise<DeviceInfo>;
91
- getSelectedDevice(): Promise<DeviceInfo | null>;
92
- status(): Observable<DeviceStatus>;
93
- observeNamespace(namespace: string): Observable<any>;
94
- onceNamespace(namespace: string): Promise<any>;
95
- get metrics(): Metrics;
96
- createAccount(credentials: EmailAndPassword): Promise<any>;
97
- deleteAccount(): Promise<void>;
98
- createBluetoothToken(): Promise<string>;
99
- createCustomToken(): Promise<CustomToken>;
100
- removeOAuthAccess(): Promise<OAuthRemoveResponse>;
101
- onUserExperiments(): Observable<Experiment[]>;
102
- deleteUserExperiment(experimentId: string): Promise<void>;
103
- get skills(): SkillsClient;
104
- get timestamp(): number;
105
- getTimesyncOffset(): number;
106
- changeSettings(settings: ChangeSettings): Promise<void>;
107
- goOffline(): void;
108
- goOnline(): void;
109
- }