# All files / src/encryption hashSha512.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

    36x

    36x

    1x
    36x

    // 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 NodeCryptoSha512Hash implements Hash {
      async digest(data: NodeJS.TypedArray): Promise<Buffer> {
        const result = createHash('sha512')
          .update(data)
          .digest()
        return Promise.resolve(result)
      }
    }

    export function createHashSha512(): Hash {
      return new NodeCryptoSha512Hash()
    }