UNPKG

@creit.tech/stellar-wallets-kit

Version:
1 lines 5.71 kB
{"version":3,"file":"store.cjs","sources":["../../src/state/store.ts"],"sourcesContent":["import { createStore, select, setProp, withProps } from '@ngneat/elf';\nimport { Observable } from 'rxjs';\nimport { ISupportedWallet, IModalTheme, WalletNetwork, IButtonTheme } from '../types';\n\nexport interface StateProps {\n allowedWallets: ISupportedWallet[];\n\n horizonUrl?: string;\n\n selectedNetwork?: WalletNetwork;\n selectedModuleId?: string;\n\n modalTheme?: IModalTheme;\n buttonTheme?: IButtonTheme;\n\n activeAddress?: string;\n mnemonicPath?: string;\n hardwareWalletPaths: { publicKey: string; index: number }[];\n}\n\nexport const store = createStore(\n { name: 'state' },\n withProps<StateProps>({\n allowedWallets: [],\n hardwareWalletPaths: [],\n })\n);\n\nexport const allowedWallets$: Observable<ISupportedWallet[]> = store.pipe(\n select((state: StateProps) => state.allowedWallets)\n);\n\nexport const selectedNetwork$: Observable<StateProps['selectedNetwork']> = store.pipe(\n select((state: StateProps) => state.selectedNetwork)\n);\n\nexport const modalTheme$: Observable<IModalTheme | undefined> = store.pipe(\n select((state: StateProps) => state.modalTheme)\n);\n\nexport const buttonTheme$: Observable<IButtonTheme | undefined> = store.pipe(\n select((state: StateProps) => state.buttonTheme)\n);\n\nexport const activeAddress$: Observable<string | undefined> = store.pipe(\n select((state: StateProps) => state.activeAddress)\n);\n\nexport const horizonUrl$: Observable<string | undefined> = store.pipe(select((state: StateProps) => state.horizonUrl));\n\nexport const mnemonicPath$: Observable<string | undefined> = store.pipe(\n select((state: StateProps) => state.mnemonicPath)\n);\n\nexport const hardwareWalletPaths$: Observable<{ publicKey: string; index: number }[]> = store.pipe(\n select((state: StateProps) => state.hardwareWalletPaths)\n);\n\nexport function setSelectedModuleId(moduleId: Required<StateProps['selectedModuleId']>): void {\n store.update(setProp('selectedModuleId', moduleId));\n}\n\nexport function setNetwork(network: WalletNetwork): void {\n if (!Object.values(WalletNetwork).includes(network)) {\n throw new Error(`Wallet network \"${network}\" is not supported`);\n }\n\n store.update(setProp('selectedNetwork', network));\n}\n\nexport function setModalTheme(theme: IModalTheme): void {\n store.update(setProp('modalTheme', theme));\n}\n\nexport function seButtonTheme(theme: IButtonTheme): void {\n store.update(setProp('buttonTheme', theme));\n}\n\nexport function setAllowedWallets(data: ISupportedWallet[]) {\n store.update(setProp('allowedWallets', data));\n}\n\nexport function setAddress(address: string): void {\n store.update(setProp('activeAddress', address));\n}\n\nexport function removeAddress(): void {\n store.update(setProp('activeAddress', undefined));\n}\n\nexport function setHorizonUrl(url: string): void {\n store.update(setProp('horizonUrl', url));\n}\n\nexport function setMnemonicPath(path: string): void {\n store.update(setProp('mnemonicPath', path));\n}\n\nexport function removeMnemonicPath(): void {\n store.update(setProp('mnemonicPath', undefined));\n}\n\nexport function setHardwareWalletPaths(accounts: { publicKey: string; index: number }[]): void {\n store.update(setProp('hardwareWalletPaths', accounts));\n}\n\nexport function removeHardwareWalletPaths(): void {\n store.update(setProp('hardwareWalletPaths', []));\n}\n"],"names":["createStore","withProps","select","setProp","WalletNetwork"],"mappings":"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"}