All files / src/utils randomBytes.ts

12.5% Statements 1/8
50% Branches 2/4
0% Functions 0/1
14.28% Lines 1/7

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 121x                      
export const randomBytes: (n: number) => Uint8Array = (typeof self !== 'undefined' && 'crypto' in self)
    ? (n: number): Uint8Array => {
            const { crypto } = self;
            const QUOTA = 65536;
            const a = new Uint8Array(n);
            for (let i = 0; i < n; i += QUOTA)
                crypto.getRandomValues(a.subarray(i, i + Math.min(n - i, QUOTA)));
            return a;
        }
    // eslint-disable-next-line @typescript-eslint/no-require-imports
    : require('randombytes');