All files / src/encryption hashSha256.ts

100% Statements 5/5
100% Branches 0/0
100% Functions 2/2
100% Lines 5/5

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    1x             200x     200x       1x 200x      
 
// eslint-disable-next-line import/no-nodejs-modules
import { createHash } from 'crypto'
import { Hash } from './cryptoInterfaces'
 
// TODO: Create a WebCrypto implementation for browser usage
 
class NodeCryptoSha256Hash implements Hash {
  async digest(data: NodeJS.TypedArray): Promise<Buffer> {
    const result = createHash('sha256')
      .update(data)
      .digest()
    return Promise.resolve(result)
  }
}
 
export function createHashSha256(): Hash {
  return new NodeCryptoSha256Hash()
}