@w3ux/observables-connect 0.9.27 → 0.9.28
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.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/accounts/reconnect.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,MAAM,eAAe,CAAA;AAC3E,OAAO,EACL,QAAQ,EACR,yBAAyB,EACzB,wBAAwB,EACxB,gBAAgB,EAChB,cAAc,GACf,MAAM,SAAS,CAAA;AAEhB,MAAM,CAAC,MAAM,mBAAmB,GAAG,KAAK,EAAE,QAAgB,EAAE,IAAY,EAAE,EAAE;IAC1E,gBAAgB,CAAC,SAAS,CAAC,CAAA;IAC3B,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,iBAAiB,CAC3C,QAAQ,EACR,wBAAwB,EAAE,CAC3B,CAAA;IACD,IAAI,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;QAEvB,cAAc,CAAC;YACb,GAAG,EAAE,MAAM,yBAAyB,CAAC,SAAS,EAAE,IAAI,CAAC;YACrD,MAAM,EAAE,EAAE;SACX,CAAC,CAAA;QAGF,KAAK,MAAM,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC;YAClE,IAAI,OAAO,SAAS,CAAC,QAAQ,CAAC,SAAS,KAAK,UAAU,EAAE,CAAC;gBACvD,MAAM,KAAK,GAAG,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,QAAQ,EAAE,EAAE;oBACtD,wBAAwB,CACtB;wBACE,MAAM,EAAE,EAAE;wBACV,IAAI;qBACL,EACD,SAAS,CAAC,MAAM,EAChB,QAAQ,CACT,CAAA;gBACH,CAAC,CAAC,CAAA;gBACF,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC,CAAA;YACrB,CAAC;QACH,CAAC;IACH,CAAC;IACD,gBAAgB,CAAC,QAAQ,CAAC,CAAA;AAC5B,CAAC,CAAA","file":"reconnect.js","sourcesContent":["/* @license Copyright 2024 w3ux authors & contributors\nSPDX-License-Identifier: GPL-3.0-only */\n\nimport { connectExtensions, getActiveExtensionsLocal } from '../extensions'\nimport {\n addUnsub,\n getAccountsFromExtensions,\n processExtensionAccounts,\n setReconnectSync,\n updateAccounts,\n} from './index'\n\nexport const reconnectExtensions = async (dappName: string, ss58: number) => {\n setReconnectSync('syncing')\n const { connected } = await connectExtensions(\n dappName,\n getActiveExtensionsLocal()\n )\n if (connected.size > 0) {\n // Perform initial account state update\n updateAccounts({\n add: await getAccountsFromExtensions(connected, ss58),\n remove: [],\n })\n\n // If
|
|
1
|
+
{"version":3,"sources":["../src/accounts/reconnect.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,MAAM,eAAe,CAAA;AAC3E,OAAO,EACL,QAAQ,EACR,yBAAyB,EACzB,wBAAwB,EACxB,gBAAgB,EAChB,cAAc,GACf,MAAM,SAAS,CAAA;AAEhB,MAAM,CAAC,MAAM,mBAAmB,GAAG,KAAK,EAAE,QAAgB,EAAE,IAAY,EAAE,EAAE;IAC1E,gBAAgB,CAAC,SAAS,CAAC,CAAA;IAC3B,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,iBAAiB,CAC3C,QAAQ,EACR,wBAAwB,EAAE,CAC3B,CAAA;IACD,IAAI,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;QAEvB,cAAc,CAAC;YACb,GAAG,EAAE,MAAM,yBAAyB,CAAC,SAAS,EAAE,IAAI,CAAC;YACrD,MAAM,EAAE,EAAE;SACX,CAAC,CAAA;QAGF,KAAK,MAAM,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC;YAClE,IAAI,OAAO,SAAS,CAAC,QAAQ,CAAC,SAAS,KAAK,UAAU,EAAE,CAAC;gBACvD,MAAM,KAAK,GAAG,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,QAAQ,EAAE,EAAE;oBACtD,wBAAwB,CACtB;wBACE,MAAM,EAAE,EAAE;wBACV,IAAI;qBACL,EACD,SAAS,CAAC,MAAM,EAChB,QAAQ,CACT,CAAA;gBACH,CAAC,CAAC,CAAA;gBACF,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC,CAAA;YACrB,CAAC;QACH,CAAC;IACH,CAAC;IACD,gBAAgB,CAAC,QAAQ,CAAC,CAAA;AAC5B,CAAC,CAAA","file":"reconnect.js","sourcesContent":["/* @license Copyright 2024 w3ux authors & contributors\nSPDX-License-Identifier: GPL-3.0-only */\n\nimport { connectExtensions, getActiveExtensionsLocal } from '../extensions'\nimport {\n addUnsub,\n getAccountsFromExtensions,\n processExtensionAccounts,\n setReconnectSync,\n updateAccounts,\n} from './index'\n\nexport const reconnectExtensions = async (dappName: string, ss58: number) => {\n setReconnectSync('syncing')\n const { connected } = await connectExtensions(\n dappName,\n getActiveExtensionsLocal()\n )\n if (connected.size > 0) {\n // Perform initial account state update\n updateAccounts({\n add: await getAccountsFromExtensions(connected, ss58),\n remove: [],\n })\n\n // If available, subscribe to accounts for each connected extension\n for (const [id, { extension }] of Array.from(connected.entries())) {\n if (typeof extension.accounts.subscribe === 'function') {\n const unsub = extension.accounts.subscribe((accounts) => {\n processExtensionAccounts(\n {\n source: id,\n ss58,\n },\n extension.signer,\n accounts\n )\n })\n addUnsub(id, unsub)\n }\n }\n }\n setReconnectSync('synced')\n}\n"]}
|
package/extensions/enable.js
CHANGED
|
@@ -6,7 +6,7 @@ export const enableExtensions = async (ids, dappName) => {
|
|
|
6
6
|
};
|
|
7
7
|
const getExtensionsById = (ids) => {
|
|
8
8
|
const validIds = [];
|
|
9
|
-
ids.forEach(
|
|
9
|
+
ids.forEach((id) => {
|
|
10
10
|
const enable = window.injectedWeb3?.[id]?.enable;
|
|
11
11
|
if (enable !== undefined && typeof enable === 'function') {
|
|
12
12
|
validIds.push(id);
|
package/extensions/enable.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/extensions/enable.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAG9C,MAAM,CAAC,MAAM,gBAAgB,GAAG,KAAK,EAAE,GAAa,EAAE,QAAgB,EAAE,EAAE;IACxE,MAAM,YAAY,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAA;IAC3C,MAAM,aAAa,GAAG,MAAM,QAAQ,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAA;IAE5D,OAAO,uBAAuB,CAAC,YAAY,EAAE,aAAa,CAAC,CAAA;AAC7D,CAAC,CAAA;AAGD,MAAM,iBAAiB,GAAG,CAAC,GAAa,EAAE,EAAE;IAC1C,MAAM,QAAQ,GAAa,EAAE,CAAA;IAC7B,GAAG,CAAC,OAAO,CAAC,
|
|
1
|
+
{"version":3,"sources":["../src/extensions/enable.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAG9C,MAAM,CAAC,MAAM,gBAAgB,GAAG,KAAK,EAAE,GAAa,EAAE,QAAgB,EAAE,EAAE;IACxE,MAAM,YAAY,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAA;IAC3C,MAAM,aAAa,GAAG,MAAM,QAAQ,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAA;IAE5D,OAAO,uBAAuB,CAAC,YAAY,EAAE,aAAa,CAAC,CAAA;AAC7D,CAAC,CAAA;AAGD,MAAM,iBAAiB,GAAG,CAAC,GAAa,EAAE,EAAE;IAC1C,MAAM,QAAQ,GAAa,EAAE,CAAA;IAC7B,GAAG,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE;QACjB,MAAM,MAAM,GAAG,MAAM,CAAC,YAAY,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,CAAA;QAChD,IAAI,MAAM,KAAK,SAAS,IAAI,OAAO,MAAM,KAAK,UAAU,EAAE,CAAC;YACzD,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QACnB,CAAC;IACH,CAAC,CAAC,CAAA;IACF,OAAO,QAAQ,CAAA;AACjB,CAAC,CAAA;AAGD,MAAM,QAAQ,GAAG,KAAK,EACpB,YAAsB,EACtB,QAAgB,EACqC,EAAE,CACvD,MAAM,OAAO,CAAC,UAAU,CACtB,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,GAAG,CAC1B,CAAC,EAAE,EAAE,EAAE,CACL,gBAAgB,CACd,IAAI,EACJ,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CACE,CAC/C,CACF,CAAA;AAEH,MAAM,uBAAuB,GAAG,CAC9B,YAAsB,EACtB,cAA0D,EAClC,EAAE;IAC1B,MAAM,eAAe,GAAG,IAAI,GAAG,EAAiC,CAAA;IAEhE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,cAAc,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC/C,MAAM,MAAM,GAAG,cAAc,CAAC,CAAC,CAAC,CAAA;QAChC,MAAM,EAAE,GAAG,YAAY,CAAC,CAAC,CAAC,CAAA;QAE1B,IAAI,MAAM,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;YAClC,eAAe,CAAC,GAAG,CAAC,EAAE,EAAE;gBACtB,SAAS,EAAE,MAAM,CAAC,KAAK;gBACvB,SAAS,EAAE,IAAI;aAChB,CAAC,CAAA;QACJ,CAAC;aAAM,IAAI,MAAM,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;YACxC,eAAe,CAAC,GAAG,CAAC,EAAE,EAAE;gBACtB,SAAS,EAAE,KAAK;gBAChB,KAAK,EAAE,MAAM,CAAC,MAAM;aACrB,CAAC,CAAA;QACJ,CAAC;IACH,CAAC;IACD,OAAO,eAAe,CAAA;AACxB,CAAC,CAAA","file":"enable.js","sourcesContent":["/* @license Copyright 2024 w3ux authors & contributors\nSPDX-License-Identifier: GPL-3.0-only */\n\nimport type {\n ExtensionEnableResult,\n ExtensionEnableResults,\n ExtensionInterface,\n} from '@w3ux/types'\nimport { withTimeoutThrow } from '@w3ux/utils'\n\n// Get extensions and enable them\nexport const enableExtensions = async (ids: string[], dappName: string) => {\n const extensionIds = getExtensionsById(ids)\n const enableResults = await doEnable(extensionIds, dappName)\n\n return formatEnabledExtensions(extensionIds, enableResults)\n}\n\n// Gets extensions from injectedWeb3 by their ids\nconst getExtensionsById = (ids: string[]) => {\n const validIds: string[] = []\n ids.forEach((id) => {\n const enable = window.injectedWeb3?.[id]?.enable\n if (enable !== undefined && typeof enable === 'function') {\n validIds.push(id)\n }\n })\n return validIds\n}\n\n// Calls enable for the provided extensions\nconst doEnable = async (\n extensionIds: string[],\n dappName: string\n): Promise<PromiseSettledResult<ExtensionInterface>[]> =>\n await Promise.allSettled(\n Array.from(extensionIds).map(\n (id) =>\n withTimeoutThrow(\n 1000,\n window.injectedWeb3[id].enable(dappName)\n ) as Promise<ExtensionInterface | undefined>\n )\n )\n\nconst formatEnabledExtensions = (\n extensionIds: string[],\n enabledResults: PromiseSettledResult<ExtensionInterface>[]\n): ExtensionEnableResults => {\n const extensionsState = new Map<string, ExtensionEnableResult>()\n\n for (let i = 0; i < enabledResults.length; i++) {\n const result = enabledResults[i]\n const id = extensionIds[i]\n\n if (result.status === 'fulfilled') {\n extensionsState.set(id, {\n extension: result.value,\n connected: true,\n })\n } else if (result.status === 'rejected') {\n extensionsState.set(id, {\n connected: false,\n error: result.reason,\n })\n }\n }\n return extensionsState\n}\n"]}
|