Create new client when token has been changed

Signed-off-by: Denis Bykhov <80476319+BykhovDenis@users.noreply.github.com>
This commit is contained in:
Denis Bykhov 2022-01-26 10:23:18 +06:00
parent e848480ef3
commit 437170c203

View File

@ -27,17 +27,23 @@ export { connect }
*/
// eslint-disable-next-line @typescript-eslint/explicit-function-return-type
export default async () => {
let _token: string | undefined = undefined
let client: Client | undefined
return {
function: {
GetClient: async (token: string, endpoint: string): Promise<Client> => {
if (token !== _token && client !== undefined) {
client.close()
client = undefined
}
if (client === undefined) {
client = await createClient((handler: TxHander) => {
const url = new URL(`/${token}`, endpoint)
console.log('connecting to', url.href)
return connect(url.href, handler)
})
_token = token
// Check if we had dev hook for client.
const hook = getMetadata(clientPlugin.metadata.ClientHook)