All files / src/nacl index.ts

100% Statements 9/9
83.33% Branches 5/6
100% Functions 0/0
100% Lines 9/9

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 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47                                        9x 9x 2x       7x   3x   3x     9x   9x   9x                  
/*
 * Copyright © 2019 Lisk Foundation
 *
 * See the LICENSE file at the top-level directory of this distribution
 * for licensing information.
 *
 * Unless otherwise agreed in a custom licensing agreement with the Lisk Foundation,
 * no part of this software, including this file, may be copied, modified,
 * propagated, or distributed except according to the terms contained in the
 * LICENSE file.
 *
 * Removal or modification of this copyright notice is prohibited.
 *
 */
import { NaclInterface } from './nacl_types';
 
// tslint:disable-next-line no-let
let lib: NaclInterface;
 
// Use try/catch for browser fallback support
try {
	if (process.env?.NACL_FAST === 'disable') {
		throw new Error('Use tweetnacl');
	}
	// Require used for conditional importing
	// tslint:disable-next-line no-var-requires no-require-imports
	lib = require('./fast');
} catch (err) {
	process.env.NACL_FAST = 'disable';
	// tslint:disable-next-line no-var-requires no-require-imports
	lib = require('./slow');
}
 
export const NACL_SIGN_PUBLICKEY_LENGTH = 32;
 
export const NACL_SIGN_SIGNATURE_LENGTH = 64;
 
export const {
	box,
	openBox,
	signDetached,
	verifyDetached,
	getRandomBytes,
	getKeyPair,
	getPublicKey,
} = lib;