ghost-keychain/packages/extension/src/page/Accounts.ts
Jaco Greeff 616505634d
extension-inject (no direct globals for extension/dapp) (#75)
* extension-inject (no direct globals for extension/dapp)

* Update tsconfig.json

* Update index.ts
2019-07-12 21:22:06 +02:00

29 lines
905 B
TypeScript

// Copyright 2019 @polkadot/extension authors & contributors
// This software may be modified and distributed under the terms
// of the Apache-2.0 license. See the LICENSE file for details.
import { InjectedAccounts, InjectedAccount, Unsubcall } from '@polkadot/extension-inject/types';
import { SendRequest } from './types';
let sendRequest: SendRequest;
export default class Accounts implements InjectedAccounts {
public constructor (_sendRequest: SendRequest) {
sendRequest = _sendRequest;
}
public get (): Promise<InjectedAccount[]> {
return sendRequest('accounts.list');
}
// eslint-disable-next-line @typescript-eslint/no-explicit-any
public subscribe (cb: (accounts: InjectedAccount[]) => any): Unsubcall {
sendRequest('accounts.subscribe', null, cb)
.catch(console.error);
return (): void => {
// FIXME we need the ability to unsubscribe
};
}
}