All files / src/keystore config.ts

0% Statements 0/15
0% Branches 0/4
0% Functions 0/4
0% Lines 0/14

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31                                                             
import keystore from 'keystore-idb'
import RSAKeyStore from 'keystore-idb/rsa/keystore'
import { CryptoSystem } from 'keystore-idb/types'
 
const KEYSTORE_CFG = { type: CryptoSystem.RSA }
 
 
let ks: RSAKeyStore | null = null
 
 
export const clear = async (): Promise<void> => {
  if (ks) {
    await ks.destroy()
    ks = null
  }
}
 
export const create = async (): Promise<RSAKeyStore> => {
  return (await keystore.init(KEYSTORE_CFG)) as RSAKeyStore
}
 
export const set = async (userKeystore: RSAKeyStore): Promise<void> => {
  ks = userKeystore
}
 
export const get = async (): Promise<RSAKeyStore> => {
  if (ks) return ks
  ks = (await keystore.init(KEYSTORE_CFG)) as RSAKeyStore
  return ks
}