UNPKG

@particle-network/connectkit

Version:
8 lines (7 loc) 2.76 kB
{ "version": 3, "sources": ["../../src/actions/getConnectors.ts", "../../src/actions/watchConnectors.ts", "../../src/hooks/useConnectors.ts"], "sourcesContent": ["import type { Connector } from '@particle-network/connector-core';\nimport type { Config } from '../createConfig';\nimport { deepEqual } from '../utils/deepEqual';\n\nexport type GetConnectorsReturnType = readonly Connector[];\n\nlet previousConnectors: readonly Connector[] = [];\n\nexport function getConnectors(config: Config): GetConnectorsReturnType {\n const connectors = config.connectors;\n if (deepEqual(previousConnectors, connectors)) return previousConnectors;\n previousConnectors = connectors;\n return connectors;\n}\n", "import type { Config } from '../createConfig';\nimport type { GetConnectorsReturnType } from './getConnectors';\n\nexport type WatchConnectorsParameters = {\n onChange(connections: GetConnectorsReturnType, prevConnectors: GetConnectorsReturnType): void;\n};\n\nexport type WatchConnectorsReturnType = () => void;\n\nexport function watchConnectors(config: Config, parameters: WatchConnectorsParameters): WatchConnectorsReturnType {\n const { onChange } = parameters;\n return config._internal.connectors.subscribe((connectors, prevConnectors) => {\n onChange(Object.values(connectors), prevConnectors);\n });\n}\n", "import type { Connector } from '@particle-network/connector-core';\nimport { useSyncExternalStore } from 'react';\nimport { getConnectors } from '../actions/getConnectors';\nimport { watchConnectors } from '../actions/watchConnectors';\nimport { useContext } from '../context';\n\nexport const useConnectors = () => {\n const { config } = useContext();\n\n return useSyncExternalStore(\n (onChange) => watchConnectors(config, { onChange }),\n () => getConnectors(config),\n () => getConnectors(config)\n );\n};\n\nexport function useConnector(id: string) {\n const connectors = useConnectors();\n return connectors.find((c) => c.id === id) as Connector;\n}\n"], "mappings": ";;;;;;;;;;;;AAQO,SAAS,cAAc,QAAyC;AACrE,QAAM,aAAa,OAAO;AAC1B,MAAI,UAAU,oBAAoB,UAAU;AAAG,WAAO;AACtD,uBAAqB;AACrB,SAAO;AACT;AAbA,IAMI;AANJ;AAAA;AAAA;AAEA;AAIA,IAAI,qBAA2C,CAAC;AAAA;AAAA;;;ACGzC,SAAS,gBAAgB,QAAgB,YAAkE;AAChH,QAAM,EAAE,SAAS,IAAI;AACrB,SAAO,OAAO,UAAU,WAAW,UAAU,CAAC,YAAY,mBAAmB;AAC3E,aAAS,OAAO,OAAO,UAAU,GAAG,cAAc;AAAA,EACpD,CAAC;AACH;AAdA;AAAA;AAAA;AAAA;AAAA;;;ACCA,SAAS,4BAA4B;AAe9B,SAAS,aAAa,IAAY;AACvC,QAAM,aAAa,cAAc;AACjC,SAAO,WAAW,KAAK,CAAC,MAAM,EAAE,OAAO,EAAE;AAC3C;AAnBA,IAMa;AANb;AAAA;AAAA;AAEA;AACA;AACA;AAEO,IAAM,gBAAgB,MAAM;AACjC,YAAM,EAAE,OAAO,IAAI,WAAW;AAE9B,aAAO;AAAA,QACL,CAAC,aAAa,gBAAgB,QAAQ,EAAE,SAAS,CAAC;AAAA,QAClD,MAAM,cAAc,MAAM;AAAA,QAC1B,MAAM,cAAc,MAAM;AAAA,MAC5B;AAAA,IACF;AAAA;AAAA;", "names": [] }