@w3ux/observables-connect 0.9.35 → 0.9.37
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/accounts/util.js +2 -2
- package/accounts/util.js.map +1 -1
- package/consts.d.ts +3 -3
- package/consts.js +3 -3
- package/consts.js.map +1 -1
- package/local.d.ts +1 -1
- package/local.js +9 -14
- package/local.js.map +1 -1
- package/package.json +1 -1
package/accounts/util.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { formatAccountSs58, isValidAddress } from '@w3ux/utils';
|
|
2
|
-
import {
|
|
2
|
+
import { DefaultProcessExtensionResult } from '../consts';
|
|
3
3
|
import { _extensionAccounts } from '../subjects';
|
|
4
4
|
export const processExtensionAccounts = (config, signer, newAccounts) => {
|
|
5
5
|
const { source, ss58 } = config;
|
|
6
6
|
if (!newAccounts.length) {
|
|
7
|
-
return
|
|
7
|
+
return DefaultProcessExtensionResult;
|
|
8
8
|
}
|
|
9
9
|
newAccounts = formatExtensionAccounts(newAccounts, ss58);
|
|
10
10
|
const removedAccounts = _extensionAccounts
|
package/accounts/util.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/accounts/util.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAC/D,OAAO,EAAE,6BAA6B,EAAE,MAAM,WAAW,CAAA;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;AAQhD,MAAM,CAAC,MAAM,wBAAwB,GAAG,CACtC,MAAc,EACd,MAAe,EACf,WAA+B,EACC,EAAE;IAClC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,CAAA;IAC/B,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC;QACxB,OAAO,6BAA6B,CAAA;IACtC,CAAC;IAGD,WAAW,GAAG,uBAAuB,CAAC,WAAW,EAAE,IAAI,CAAC,CAAA;IAGxD,MAAM,eAAe,GAAG,kBAAkB;SACvC,QAAQ,EAAE;SACV,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC;SAClC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAA;IAGnE,WAAW,GAAG,WAAW,CAAC,MAAM,CAC9B,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CACd,CAAC,kBAAkB,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,OAAO,CAAC,CACpE,CAAA;IAGD,WAAW,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;QACpD,OAAO;QACP,IAAI;QACJ,MAAM;QACN,MAAM;KACP,CAAC,CAAC,CAAA;IAGH,cAAc,CAAC;QACb,GAAG,EAAE,WAAW;QAChB,MAAM,EAAE,eAAe;KACxB,CAAC,CAAA;IAEF,OAAO;QACL,WAAW;QACX,eAAe,EAAE,CAAC,GAAG,eAAe,CAAC;KACtC,CAAA;AACH,CAAC,CAAA;AAGD,MAAM,CAAC,MAAM,uBAAuB,GAAG,CACrC,QAA4B,EAC5B,IAAY,EACZ,EAAE;IACF,QAAQ,GAAG,QAAQ;SAEhB,MAAM,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;SAEhD,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;QACf,MAAM,gBAAgB,GAAG,iBAAiB,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;QACjE,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACtB,OAAO,IAAI,CAAA;QACb,CAAC;QACD,OAAO,CAAC,OAAO,GAAG,gBAAgB,CAAA;QAClC,OAAO,OAAO,CAAA;IAChB,CAAC,CAAC;SAED,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,KAAK,IAAI,CAAC,CAAA;IAExC,OAAO,QAAQ,CAAA;AACjB,CAAC,CAAA;AAGD,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,EAC7B,GAAG,EACH,MAAM,GAIP,EAAE,EAAE;IACH,MAAM,WAAW,GAAG,CAAC,GAAG,kBAAkB,CAAC,QAAQ,EAAE,CAAC;SACnD,MAAM,CAAC,GAAG,CAAC;SACX,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,CAAC,CAAC,OAAO,CAAC,KAAK,SAAS,CAAC,CAAA;IAC3E,kBAAkB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;AACtC,CAAC,CAAA","file":"util.js","sourcesContent":["/* @license Copyright 2024 w3ux authors & contributors\nSPDX-License-Identifier: GPL-3.0-only */\n\nimport type {\n ExtensionAccount,\n ProcessExtensionAccountsResult,\n} from '@w3ux/types'\nimport { formatAccountSs58, isValidAddress } from '@w3ux/utils'\nimport {
|
|
1
|
+
{"version":3,"sources":["../src/accounts/util.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAC/D,OAAO,EAAE,6BAA6B,EAAE,MAAM,WAAW,CAAA;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;AAQhD,MAAM,CAAC,MAAM,wBAAwB,GAAG,CACtC,MAAc,EACd,MAAe,EACf,WAA+B,EACC,EAAE;IAClC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,CAAA;IAC/B,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC;QACxB,OAAO,6BAA6B,CAAA;IACtC,CAAC;IAGD,WAAW,GAAG,uBAAuB,CAAC,WAAW,EAAE,IAAI,CAAC,CAAA;IAGxD,MAAM,eAAe,GAAG,kBAAkB;SACvC,QAAQ,EAAE;SACV,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC;SAClC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAA;IAGnE,WAAW,GAAG,WAAW,CAAC,MAAM,CAC9B,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CACd,CAAC,kBAAkB,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,OAAO,CAAC,CACpE,CAAA;IAGD,WAAW,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;QACpD,OAAO;QACP,IAAI;QACJ,MAAM;QACN,MAAM;KACP,CAAC,CAAC,CAAA;IAGH,cAAc,CAAC;QACb,GAAG,EAAE,WAAW;QAChB,MAAM,EAAE,eAAe;KACxB,CAAC,CAAA;IAEF,OAAO;QACL,WAAW;QACX,eAAe,EAAE,CAAC,GAAG,eAAe,CAAC;KACtC,CAAA;AACH,CAAC,CAAA;AAGD,MAAM,CAAC,MAAM,uBAAuB,GAAG,CACrC,QAA4B,EAC5B,IAAY,EACZ,EAAE;IACF,QAAQ,GAAG,QAAQ;SAEhB,MAAM,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;SAEhD,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;QACf,MAAM,gBAAgB,GAAG,iBAAiB,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;QACjE,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACtB,OAAO,IAAI,CAAA;QACb,CAAC;QACD,OAAO,CAAC,OAAO,GAAG,gBAAgB,CAAA;QAClC,OAAO,OAAO,CAAA;IAChB,CAAC,CAAC;SAED,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,KAAK,IAAI,CAAC,CAAA;IAExC,OAAO,QAAQ,CAAA;AACjB,CAAC,CAAA;AAGD,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,EAC7B,GAAG,EACH,MAAM,GAIP,EAAE,EAAE;IACH,MAAM,WAAW,GAAG,CAAC,GAAG,kBAAkB,CAAC,QAAQ,EAAE,CAAC;SACnD,MAAM,CAAC,GAAG,CAAC;SACX,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,CAAC,CAAC,OAAO,CAAC,KAAK,SAAS,CAAC,CAAA;IAC3E,kBAAkB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;AACtC,CAAC,CAAA","file":"util.js","sourcesContent":["/* @license Copyright 2024 w3ux authors & contributors\nSPDX-License-Identifier: GPL-3.0-only */\n\nimport type {\n ExtensionAccount,\n ProcessExtensionAccountsResult,\n} from '@w3ux/types'\nimport { formatAccountSs58, isValidAddress } from '@w3ux/utils'\nimport { DefaultProcessExtensionResult } from '../consts'\nimport { _extensionAccounts } from '../subjects'\n\n// Gets accounts to be imported and commits them to state\n\ninterface Config {\n source: string\n ss58: number\n}\nexport const processExtensionAccounts = (\n config: Config,\n signer: unknown,\n newAccounts: ExtensionAccount[]\n): ProcessExtensionAccountsResult => {\n const { source, ss58 } = config\n if (!newAccounts.length) {\n return DefaultProcessExtensionResult\n }\n\n // Get valid accounts from extension\n newAccounts = formatExtensionAccounts(newAccounts, ss58)\n\n // Find any accounts that have been removed from this extension\n const removedAccounts = _extensionAccounts\n .getValue()\n .filter((j) => j.source === source)\n .filter((j) => !newAccounts.find((i) => i.address === j.address))\n\n // Remove accounts that have already been imported\n newAccounts = newAccounts.filter(\n ({ address }) =>\n !_extensionAccounts.getValue().find((j) => j.address === address)\n )\n\n // Format accounts properties\n newAccounts = newAccounts.map(({ address, name }) => ({\n address,\n name,\n source,\n signer,\n }))\n\n // Update observable state\n updateAccounts({\n add: newAccounts,\n remove: removedAccounts,\n })\n\n return {\n newAccounts,\n removedAccounts: [...removedAccounts],\n }\n}\n\n// Formats accounts to correct ss58 and removes invalid accounts\nexport const formatExtensionAccounts = (\n accounts: ExtensionAccount[],\n ss58: number\n) => {\n accounts = accounts\n // Remove accounts that do not contain correctly formatted addresses\n .filter(({ address }) => isValidAddress(address))\n // Reformat addresses to ensure default ss58 format\n .map((account) => {\n const formattedAddress = formatAccountSs58(account.address, ss58)\n if (!formattedAddress) {\n return null\n }\n account.address = formattedAddress\n return account\n })\n // Remove null entries resulting from invalid formatted addresses\n .filter((account) => account !== null)\n\n return accounts\n}\n\n// Updates accounts observable based on removed and added accounts\nexport const updateAccounts = ({\n add,\n remove,\n}: {\n add: ExtensionAccount[]\n remove: ExtensionAccount[]\n}) => {\n const newAccounts = [..._extensionAccounts.getValue()]\n .concat(add)\n .filter((a) => remove.find((s) => s.address === a.address) === undefined)\n _extensionAccounts.next(newAccounts)\n}\n"]}
|
package/consts.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import type { ProcessExtensionAccountsResult } from '@w3ux/types';
|
|
2
|
-
export declare const
|
|
3
|
-
export declare const
|
|
4
|
-
export declare const
|
|
2
|
+
export declare const DefaultProcessExtensionResult: ProcessExtensionAccountsResult;
|
|
3
|
+
export declare const ActiveExtensionsKey = "active_extensions";
|
|
4
|
+
export declare const HardwareAccountsKey = "hardware_accounts";
|
package/consts.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
export const
|
|
1
|
+
export const DefaultProcessExtensionResult = {
|
|
2
2
|
newAccounts: [],
|
|
3
3
|
removedAccounts: [],
|
|
4
4
|
};
|
|
5
|
-
export const
|
|
6
|
-
export const
|
|
5
|
+
export const ActiveExtensionsKey = 'active_extensions';
|
|
6
|
+
export const HardwareAccountsKey = 'hardware_accounts';
|
|
7
7
|
|
|
8
8
|
//# sourceMappingURL=consts.js.map
|
|
9
9
|
|
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;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
|
|
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,6 +1,6 @@
|
|
|
1
1
|
import type { HardwareAccount } from '@w3ux/types';
|
|
2
|
-
export declare const isExtensionLocal: (id: string) => boolean;
|
|
3
2
|
export declare const getActiveExtensionsLocal: () => string[];
|
|
3
|
+
export declare const isExtensionLocal: (id: string) => boolean;
|
|
4
4
|
export declare const addExtensionToLocal: (id: string) => void;
|
|
5
5
|
export declare const removeExtensionFromLocal: (id: string) => void;
|
|
6
6
|
export declare const getHardwareAccountsLocal: () => HardwareAccount[];
|
package/local.js
CHANGED
|
@@ -1,27 +1,22 @@
|
|
|
1
1
|
import { localStorageOrDefault } from '@w3ux/utils';
|
|
2
|
-
import {
|
|
3
|
-
export const isExtensionLocal = (id) => {
|
|
4
|
-
const current = localStorageOrDefault(activeExtensionsKey, [], true);
|
|
5
|
-
return Array.isArray(current) && current.includes(id);
|
|
6
|
-
};
|
|
2
|
+
import { ActiveExtensionsKey, HardwareAccountsKey } from './consts';
|
|
7
3
|
export const getActiveExtensionsLocal = () => {
|
|
8
|
-
const current = localStorageOrDefault(
|
|
4
|
+
const current = localStorageOrDefault(ActiveExtensionsKey, [], true);
|
|
9
5
|
return Array.isArray(current) ? current : [];
|
|
10
6
|
};
|
|
7
|
+
export const isExtensionLocal = (id) => getActiveExtensionsLocal().includes(id);
|
|
11
8
|
export const addExtensionToLocal = (id) => {
|
|
12
|
-
const current =
|
|
13
|
-
if (
|
|
14
|
-
localStorage.setItem(
|
|
9
|
+
const current = getActiveExtensionsLocal();
|
|
10
|
+
if (!current.includes(id)) {
|
|
11
|
+
localStorage.setItem(ActiveExtensionsKey, JSON.stringify([...current, id]));
|
|
15
12
|
}
|
|
16
13
|
};
|
|
17
14
|
export const removeExtensionFromLocal = (id) => {
|
|
18
|
-
const current =
|
|
19
|
-
|
|
20
|
-
localStorage.setItem(activeExtensionsKey, JSON.stringify(current.filter((localId) => localId !== id)));
|
|
21
|
-
}
|
|
15
|
+
const current = getActiveExtensionsLocal();
|
|
16
|
+
localStorage.setItem(ActiveExtensionsKey, JSON.stringify(current.filter((localId) => localId !== id)));
|
|
22
17
|
};
|
|
23
18
|
export const getHardwareAccountsLocal = () => {
|
|
24
|
-
const accounts = localStorageOrDefault(
|
|
19
|
+
const accounts = localStorageOrDefault(HardwareAccountsKey, [], true);
|
|
25
20
|
return accounts;
|
|
26
21
|
};
|
|
27
22
|
|
package/local.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
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,
|
|
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,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,gBAAgB,GAAG,CAAC,EAAU,EAAW,EAAE,CACtD,wBAAwB,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;AAGzC,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,EAAU,EAAQ,EAAE;IACtD,MAAM,OAAO,GAAG,wBAAwB,EAAE,CAAA;IAC1C,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;QAC1B,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,wBAAwB,EAAE,CAAA;IAC1C,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;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// 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// Check if an extension exists in local storage\nexport const isExtensionLocal = (id: string): boolean =>\n getActiveExtensionsLocal().includes(id)\n\n// Adds an extension to local storage\nexport const addExtensionToLocal = (id: string): void => {\n const current = getActiveExtensionsLocal()\n if (!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 = getActiveExtensionsLocal()\n localStorage.setItem(\n ActiveExtensionsKey,\n JSON.stringify(current.filter((localId) => localId !== id))\n )\n}\n\n// Gets imported hardware accounts from local storage\nexport const getHardwareAccountsLocal = (): HardwareAccount[] => {\n const accounts = localStorageOrDefault(\n HardwareAccountsKey,\n [],\n true\n ) as HardwareAccount[]\n\n return accounts\n}\n"]}
|