@w3ux/observables-connect 0.9.31 → 0.9.32-alpha.1
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/consts.d.ts +1 -0
- package/consts.js +1 -0
- package/consts.js.map +1 -1
- package/local.d.ts +2 -0
- package/local.js +5 -1
- package/local.js.map +1 -1
- package/observables.d.ts +5 -3
- package/observables.js +3 -0
- package/observables.js.map +1 -1
- package/package.json +1 -1
- package/util.d.ts +2 -1
- package/util.js +4 -1
- package/util.js.map +1 -1
package/consts.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
import type { ProcessExtensionAccountsResult } from '@w3ux/types';
|
|
2
2
|
export declare const defaultProcessExtensionResult: ProcessExtensionAccountsResult;
|
|
3
3
|
export declare const activeExtensionsKey = "active_extensions";
|
|
4
|
+
export declare const hardwareAccountsKey = "hardware_accounts";
|
package/consts.js
CHANGED
package/consts.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/consts.ts"],"names":[],"mappings":"AAKA,MAAM,CAAC,MAAM,6BAA6B,GAAmC;IAC3E,WAAW,EAAE,EAAE;IACf,eAAe,EAAE,EAAE;CACpB,CAAA;AAGD,MAAM,CAAC,MAAM,mBAAmB,GAAG,mBAAmB,CAAA","file":"consts.js","sourcesContent":["/* @license Copyright 2024 w3ux authors & contributors\nSPDX-License-Identifier: GPL-3.0-only */\n\nimport type { ProcessExtensionAccountsResult } from '@w3ux/types'\n\nexport const defaultProcessExtensionResult: ProcessExtensionAccountsResult = {\n newAccounts: [],\n removedAccounts: [],\n}\n\n// Local storage active extensions key\nexport const activeExtensionsKey = 'active_extensions'\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/consts.ts"],"names":[],"mappings":"AAKA,MAAM,CAAC,MAAM,6BAA6B,GAAmC;IAC3E,WAAW,EAAE,EAAE;IACf,eAAe,EAAE,EAAE;CACpB,CAAA;AAGD,MAAM,CAAC,MAAM,mBAAmB,GAAG,mBAAmB,CAAA;AACtD,MAAM,CAAC,MAAM,mBAAmB,GAAG,mBAAmB,CAAA","file":"consts.js","sourcesContent":["/* @license Copyright 2024 w3ux authors & contributors\nSPDX-License-Identifier: GPL-3.0-only */\n\nimport type { ProcessExtensionAccountsResult } from '@w3ux/types'\n\nexport const defaultProcessExtensionResult: ProcessExtensionAccountsResult = {\n newAccounts: [],\n removedAccounts: [],\n}\n\n// Local storage active extensions key\nexport const activeExtensionsKey = 'active_extensions'\nexport const hardwareAccountsKey = 'hardware_accounts'\n"]}
|
package/local.d.ts
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
|
+
import type { HardwareAccount } from '@w3ux/types';
|
|
1
2
|
export declare const isExtensionLocal: (id: string) => boolean;
|
|
2
3
|
export declare const getActiveExtensionsLocal: () => string[];
|
|
3
4
|
export declare const addExtensionToLocal: (id: string) => void;
|
|
4
5
|
export declare const removeExtensionFromLocal: (id: string) => void;
|
|
6
|
+
export declare const getLocalHardwareAccounts: () => HardwareAccount[];
|
package/local.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { localStorageOrDefault } from '@w3ux/utils';
|
|
2
|
-
import { activeExtensionsKey } from './consts';
|
|
2
|
+
import { activeExtensionsKey, hardwareAccountsKey } from './consts';
|
|
3
3
|
export const isExtensionLocal = (id) => {
|
|
4
4
|
const current = localStorageOrDefault(activeExtensionsKey, [], true);
|
|
5
5
|
return Array.isArray(current) && current.includes(id);
|
|
@@ -20,6 +20,10 @@ export const removeExtensionFromLocal = (id) => {
|
|
|
20
20
|
localStorage.setItem(activeExtensionsKey, JSON.stringify(current.filter((localId) => localId !== id)));
|
|
21
21
|
}
|
|
22
22
|
};
|
|
23
|
+
export const getLocalHardwareAccounts = () => {
|
|
24
|
+
const accounts = localStorageOrDefault(hardwareAccountsKey, [], true);
|
|
25
|
+
return accounts;
|
|
26
|
+
};
|
|
23
27
|
|
|
24
28
|
//# sourceMappingURL=local.js.map
|
|
25
29
|
|
package/local.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/local.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../src/local.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAA;AACnD,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAA;AAGnE,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,EAAU,EAAW,EAAE;IACtD,MAAM,OAAO,GAAG,qBAAqB,CAAW,mBAAmB,EAAE,EAAE,EAAE,IAAI,CAAC,CAAA;IAC9E,OAAO,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;AACvD,CAAC,CAAA;AAGD,MAAM,CAAC,MAAM,wBAAwB,GAAG,GAAa,EAAE;IACrD,MAAM,OAAO,GAAG,qBAAqB,CAAW,mBAAmB,EAAE,EAAE,EAAE,IAAI,CAAC,CAAA;IAC9E,OAAO,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAA;AAC9C,CAAC,CAAA;AAGD,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,EAAU,EAAQ,EAAE;IACtD,MAAM,OAAO,GAAG,qBAAqB,CAAW,mBAAmB,EAAE,EAAE,EAAE,IAAI,CAAC,CAAA;IAC9E,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;QACpD,YAAY,CAAC,OAAO,CAAC,mBAAmB,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,GAAG,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC,CAAA;IAC7E,CAAC;AACH,CAAC,CAAA;AAGD,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,EAAU,EAAQ,EAAE;IAC3D,MAAM,OAAO,GAAG,qBAAqB,CAAW,mBAAmB,EAAE,EAAE,EAAE,IAAI,CAAC,CAAA;IAC9E,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QAC3B,YAAY,CAAC,OAAO,CAClB,mBAAmB,EACnB,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,KAAK,EAAE,CAAC,CAAC,CAC5D,CAAA;IACH,CAAC;AACH,CAAC,CAAA;AAGD,MAAM,CAAC,MAAM,wBAAwB,GAAG,GAAsB,EAAE;IAC9D,MAAM,QAAQ,GAAG,qBAAqB,CACpC,mBAAmB,EACnB,EAAE,EACF,IAAI,CACgB,CAAA;IAEtB,OAAO,QAAQ,CAAA;AACjB,CAAC,CAAA","file":"local.js","sourcesContent":["/* @license Copyright 2024 w3ux authors & contributors\nSPDX-License-Identifier: GPL-3.0-only */\n\nimport type { HardwareAccount } from '@w3ux/types'\nimport { localStorageOrDefault } from '@w3ux/utils'\nimport { activeExtensionsKey, hardwareAccountsKey } from './consts'\n\n// Check if an extension exists in local storage\nexport const isExtensionLocal = (id: string): boolean => {\n const current = localStorageOrDefault<string[]>(activeExtensionsKey, [], true)\n return Array.isArray(current) && current.includes(id)\n}\n\n// Gets all active extensions from local storage\nexport const getActiveExtensionsLocal = (): string[] => {\n const current = localStorageOrDefault<string[]>(activeExtensionsKey, [], true)\n return Array.isArray(current) ? current : []\n}\n\n// Adds an extension to local storage\nexport const addExtensionToLocal = (id: string): void => {\n const current = localStorageOrDefault<string[]>(activeExtensionsKey, [], true)\n if (Array.isArray(current) && !current.includes(id)) {\n localStorage.setItem(activeExtensionsKey, JSON.stringify([...current, id]))\n }\n}\n\n// Removes extension from local storage\nexport const removeExtensionFromLocal = (id: string): void => {\n const current = localStorageOrDefault<string[]>(activeExtensionsKey, [], true)\n if (Array.isArray(current)) {\n localStorage.setItem(\n activeExtensionsKey,\n JSON.stringify(current.filter((localId) => localId !== id))\n )\n }\n}\n\n// Gets imported hardware accounts from local storage\nexport const getLocalHardwareAccounts = (): HardwareAccount[] => {\n const accounts = localStorageOrDefault(\n hardwareAccountsKey,\n [],\n true\n ) as HardwareAccount[]\n\n return accounts\n}\n"]}
|
package/observables.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { ExtensionsStatus,
|
|
1
|
+
import type { ExtensionAccount, ExtensionsStatus, HardwareAccount, Sync } from '@w3ux/types';
|
|
2
2
|
import { BehaviorSubject } from 'rxjs';
|
|
3
3
|
export declare const _extensionsStatus: BehaviorSubject<ExtensionsStatus>;
|
|
4
4
|
export declare const extensionsStatus$: import("rxjs").Observable<ExtensionsStatus>;
|
|
@@ -8,5 +8,7 @@ export declare const _initialisedExtensions: BehaviorSubject<string[]>;
|
|
|
8
8
|
export declare const initialisedExtensions$: import("rxjs").Observable<string[]>;
|
|
9
9
|
export declare const _reconnectSync: BehaviorSubject<Sync>;
|
|
10
10
|
export declare const reconnectSync$: import("rxjs").Observable<Sync>;
|
|
11
|
-
export declare const _extensionAccounts: BehaviorSubject<
|
|
12
|
-
export declare const extensionAccounts$: import("rxjs").Observable<
|
|
11
|
+
export declare const _extensionAccounts: BehaviorSubject<ExtensionAccount[]>;
|
|
12
|
+
export declare const extensionAccounts$: import("rxjs").Observable<ExtensionAccount[]>;
|
|
13
|
+
export declare const _hardwareAccounts: BehaviorSubject<HardwareAccount[]>;
|
|
14
|
+
export declare const hardwareAccounts$: import("rxjs").Observable<HardwareAccount[]>;
|
package/observables.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { BehaviorSubject } from 'rxjs';
|
|
2
|
+
import { getLocalHardwareAccounts } from './local';
|
|
2
3
|
export const _extensionsStatus = new BehaviorSubject({});
|
|
3
4
|
export const extensionsStatus$ = _extensionsStatus.asObservable();
|
|
4
5
|
export const _gettingExtensions = new BehaviorSubject(true);
|
|
@@ -9,6 +10,8 @@ export const _reconnectSync = new BehaviorSubject('unsynced');
|
|
|
9
10
|
export const reconnectSync$ = _reconnectSync.asObservable();
|
|
10
11
|
export const _extensionAccounts = new BehaviorSubject([]);
|
|
11
12
|
export const extensionAccounts$ = _extensionAccounts.asObservable();
|
|
13
|
+
export const _hardwareAccounts = new BehaviorSubject(getLocalHardwareAccounts());
|
|
14
|
+
export const hardwareAccounts$ = _hardwareAccounts.asObservable();
|
|
12
15
|
|
|
13
16
|
//# sourceMappingURL=observables.js.map
|
|
14
17
|
|
package/observables.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/observables.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../src/observables.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,eAAe,EAAE,MAAM,MAAM,CAAA;AACtC,OAAO,EAAE,wBAAwB,EAAE,MAAM,SAAS,CAAA;AAGlD,MAAM,CAAC,MAAM,iBAAiB,GAAG,IAAI,eAAe,CAAmB,EAAE,CAAC,CAAA;AAC1E,MAAM,CAAC,MAAM,iBAAiB,GAAG,iBAAiB,CAAC,YAAY,EAAE,CAAA;AAGjE,MAAM,CAAC,MAAM,kBAAkB,GAAG,IAAI,eAAe,CAAU,IAAI,CAAC,CAAA;AACpE,MAAM,CAAC,MAAM,kBAAkB,GAAG,kBAAkB,CAAC,YAAY,EAAE,CAAA;AAGnE,MAAM,CAAC,MAAM,sBAAsB,GAAG,IAAI,eAAe,CAAW,EAAE,CAAC,CAAA;AACvE,MAAM,CAAC,MAAM,sBAAsB,GAAG,sBAAsB,CAAC,YAAY,EAAE,CAAA;AAG3E,MAAM,CAAC,MAAM,cAAc,GAAG,IAAI,eAAe,CAAO,UAAU,CAAC,CAAA;AACnE,MAAM,CAAC,MAAM,cAAc,GAAG,cAAc,CAAC,YAAY,EAAE,CAAA;AAG3D,MAAM,CAAC,MAAM,kBAAkB,GAAG,IAAI,eAAe,CAAqB,EAAE,CAAC,CAAA;AAC7E,MAAM,CAAC,MAAM,kBAAkB,GAAG,kBAAkB,CAAC,YAAY,EAAE,CAAA;AAGnE,MAAM,CAAC,MAAM,iBAAiB,GAAG,IAAI,eAAe,CAClD,wBAAwB,EAAE,CAC3B,CAAA;AACD,MAAM,CAAC,MAAM,iBAAiB,GAAG,iBAAiB,CAAC,YAAY,EAAE,CAAA","file":"observables.js","sourcesContent":["/* @license Copyright 2024 w3ux authors & contributors\nSPDX-License-Identifier: GPL-3.0-only */\n\nimport type {\n ExtensionAccount,\n ExtensionsStatus,\n HardwareAccount,\n Sync,\n} from '@w3ux/types'\nimport { BehaviorSubject } from 'rxjs'\nimport { getLocalHardwareAccounts } from './local'\n\n// Discovered extensions along with their status\nexport const _extensionsStatus = new BehaviorSubject<ExtensionsStatus>({})\nexport const extensionsStatus$ = _extensionsStatus.asObservable()\n\n// Whether extensions are being checked\nexport const _gettingExtensions = new BehaviorSubject<boolean>(true)\nexport const gettingExtensions$ = _gettingExtensions.asObservable()\n\n// Extensions that have successfully connected\nexport const _initialisedExtensions = new BehaviorSubject<string[]>([])\nexport const initialisedExtensions$ = _initialisedExtensions.asObservable()\n\n// Sync status of reconnecting to previously enabled extensions\nexport const _reconnectSync = new BehaviorSubject<Sync>('unsynced')\nexport const reconnectSync$ = _reconnectSync.asObservable()\n\n// Imported extension accounts\nexport const _extensionAccounts = new BehaviorSubject<ExtensionAccount[]>([])\nexport const extensionAccounts$ = _extensionAccounts.asObservable()\n\n// Imported hardware accounts\nexport const _hardwareAccounts = new BehaviorSubject<HardwareAccount[]>(\n getLocalHardwareAccounts()\n)\nexport const hardwareAccounts$ = _hardwareAccounts.asObservable()\n"]}
|
package/package.json
CHANGED
package/util.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { ExtensionStatus, Sync } from '@w3ux/types';
|
|
1
|
+
import type { ExtensionStatus, HardwareAccount, Sync } from '@w3ux/types';
|
|
2
2
|
export declare const getStatus: (id: string) => ExtensionStatus;
|
|
3
3
|
export declare const setStatus: (id: string, status: ExtensionStatus) => void;
|
|
4
4
|
export declare const removeStatus: (id: string) => void;
|
|
@@ -6,3 +6,4 @@ export declare const canConnect: (id: string) => boolean;
|
|
|
6
6
|
export declare const resetAccounts: () => void;
|
|
7
7
|
export declare const getReconnectSync: () => Sync;
|
|
8
8
|
export declare const setReconnectSync: (sync: Sync) => void;
|
|
9
|
+
export declare const setHardwareAccounts: (accounts: HardwareAccount[]) => void;
|
package/util.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { _extensionAccounts, _extensionsStatus, _reconnectSync, } from './observables';
|
|
1
|
+
import { _extensionAccounts, _extensionsStatus, _hardwareAccounts, _reconnectSync, } from './observables';
|
|
2
2
|
export const getStatus = (id) => _extensionsStatus.getValue()[id] || undefined;
|
|
3
3
|
export const setStatus = (id, status) => {
|
|
4
4
|
const newValue = { ..._extensionsStatus.getValue() };
|
|
@@ -17,6 +17,9 @@ export const getReconnectSync = () => _reconnectSync.getValue();
|
|
|
17
17
|
export const setReconnectSync = (sync) => {
|
|
18
18
|
_reconnectSync.next(sync);
|
|
19
19
|
};
|
|
20
|
+
export const setHardwareAccounts = (accounts) => {
|
|
21
|
+
_hardwareAccounts.next(accounts);
|
|
22
|
+
};
|
|
20
23
|
|
|
21
24
|
//# sourceMappingURL=util.js.map
|
|
22
25
|
|
package/util.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/util.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,kBAAkB,EAClB,iBAAiB,EACjB,cAAc,GACf,MAAM,eAAe,CAAA;AAGtB,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,EAAU,EAAmB,EAAE,CACvD,iBAAiB,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC,IAAI,SAAS,CAAA;AAG/C,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,EAAU,EAAE,MAAuB,EAAE,EAAE;IAC/D,MAAM,QAAQ,GAAG,EAAE,GAAG,iBAAiB,CAAC,QAAQ,EAAE,EAAE,CAAA;IACpD,QAAQ,CAAC,EAAE,CAAC,GAAG,MAAM,CAAA;IACrB,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;AAClC,CAAC,CAAA;AAGD,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,EAAU,EAAE,EAAE;IACzC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,IAAI,EAAE,GAAG,iBAAiB,CAAC,QAAQ,EAAE,CAAA;IACzD,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AAC9B,CAAC,CAAA;AAGD,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,EAAU,EAAE,EAAE,CACvC,CAAC,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC,QAAQ,CAAC,iBAAiB,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;AAGtE,MAAM,CAAC,MAAM,aAAa,GAAG,GAAG,EAAE;IAChC,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;AAC7B,CAAC,CAAA;AAGD,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAG,EAAE,CAAC,cAAc,CAAC,QAAQ,EAAE,CAAA;AAG/D,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,IAAU,EAAE,EAAE;IAC7C,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AAC3B,CAAC,CAAA","file":"util.js","sourcesContent":["/* @license Copyright 2024 w3ux authors & contributors\nSPDX-License-Identifier: GPL-3.0-only */\n\nimport type { ExtensionStatus, Sync } from '@w3ux/types'\nimport {\n _extensionAccounts,\n _extensionsStatus,\n _reconnectSync,\n} from './observables'\n\n// Gets an extension status\nexport const getStatus = (id: string): ExtensionStatus =>\n _extensionsStatus.getValue()[id] || undefined\n\n// Sets an extension status\nexport const setStatus = (id: string, status: ExtensionStatus) => {\n const newValue = { ..._extensionsStatus.getValue() }\n newValue[id] = status\n _extensionsStatus.next(newValue)\n}\n\n// Removes an extension status\nexport const removeStatus = (id: string) => {\n const { [id]: _, ...rest } = _extensionsStatus.getValue()\n _extensionsStatus.next(rest)\n}\n\n// Whether an extension can be connected\nexport const canConnect = (id: string) =>\n ![undefined, 'connected'].includes(_extensionsStatus.getValue()[id])\n\n// Reset accounts\nexport const resetAccounts = () => {\n _extensionAccounts.next([])\n}\n\n// Get previously enabled extension reconnect sync status\nexport const getReconnectSync = () => _reconnectSync.getValue()\n\n// Set previously enabled extension reconnect sync status\nexport const setReconnectSync = (sync: Sync) => {\n _reconnectSync.next(sync)\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/util.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,kBAAkB,EAClB,iBAAiB,EACjB,iBAAiB,EACjB,cAAc,GACf,MAAM,eAAe,CAAA;AAGtB,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,EAAU,EAAmB,EAAE,CACvD,iBAAiB,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC,IAAI,SAAS,CAAA;AAG/C,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,EAAU,EAAE,MAAuB,EAAE,EAAE;IAC/D,MAAM,QAAQ,GAAG,EAAE,GAAG,iBAAiB,CAAC,QAAQ,EAAE,EAAE,CAAA;IACpD,QAAQ,CAAC,EAAE,CAAC,GAAG,MAAM,CAAA;IACrB,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;AAClC,CAAC,CAAA;AAGD,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,EAAU,EAAE,EAAE;IACzC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,IAAI,EAAE,GAAG,iBAAiB,CAAC,QAAQ,EAAE,CAAA;IACzD,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AAC9B,CAAC,CAAA;AAGD,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,EAAU,EAAE,EAAE,CACvC,CAAC,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC,QAAQ,CAAC,iBAAiB,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;AAGtE,MAAM,CAAC,MAAM,aAAa,GAAG,GAAG,EAAE;IAChC,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;AAC7B,CAAC,CAAA;AAGD,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAG,EAAE,CAAC,cAAc,CAAC,QAAQ,EAAE,CAAA;AAG/D,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,IAAU,EAAE,EAAE;IAC7C,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AAC3B,CAAC,CAAA;AAGD,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,QAA2B,EAAE,EAAE;IACjE,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;AAClC,CAAC,CAAA","file":"util.js","sourcesContent":["/* @license Copyright 2024 w3ux authors & contributors\nSPDX-License-Identifier: GPL-3.0-only */\n\nimport type { ExtensionStatus, HardwareAccount, Sync } from '@w3ux/types'\nimport {\n _extensionAccounts,\n _extensionsStatus,\n _hardwareAccounts,\n _reconnectSync,\n} from './observables'\n\n// Gets an extension status\nexport const getStatus = (id: string): ExtensionStatus =>\n _extensionsStatus.getValue()[id] || undefined\n\n// Sets an extension status\nexport const setStatus = (id: string, status: ExtensionStatus) => {\n const newValue = { ..._extensionsStatus.getValue() }\n newValue[id] = status\n _extensionsStatus.next(newValue)\n}\n\n// Removes an extension status\nexport const removeStatus = (id: string) => {\n const { [id]: _, ...rest } = _extensionsStatus.getValue()\n _extensionsStatus.next(rest)\n}\n\n// Whether an extension can be connected\nexport const canConnect = (id: string) =>\n ![undefined, 'connected'].includes(_extensionsStatus.getValue()[id])\n\n// Reset accounts\nexport const resetAccounts = () => {\n _extensionAccounts.next([])\n}\n\n// Get previously enabled extension reconnect sync status\nexport const getReconnectSync = () => _reconnectSync.getValue()\n\n// Set previously enabled extension reconnect sync status\nexport const setReconnectSync = (sync: Sync) => {\n _reconnectSync.next(sync)\n}\n\n// Set hardware accounts\nexport const setHardwareAccounts = (accounts: HardwareAccount[]) => {\n _hardwareAccounts.next(accounts)\n}\n"]}
|