All files formats.ts

98.04% Statements 50/51
85.71% Branches 12/14
87.5% Functions 7/8
98.04% Lines 50/51

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 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 1071x                               1x 8x 8x   1x   7x       1x 7x 7x 3x   4x 4x 4x   1x   3x       1x   1x   1x 3x 1x     2x 2x   1x   1x       1x   1x   1x 4x   1x   1x 5x   1x   1x 6x 6x   1x   5x       1x   1x 7x 7x 7x 2x   5x 5x   2x   3x       1x   1x   1x    
import {
	isCsv,
	isGreaterThanMaxTransactionId,
	isHexString,
	isNullCharacterIncluded,
	isNumberString,
	isSignature,
	isUsername,
	isValidFee,
	isValidNonTransferAmount,
	isValidTransferAmount,
	isValidTransferData,
	validateAddress,
	validatePublicKey,
} from './validation';
 
export const address = (data: string): boolean => {
	try {
		validateAddress(data);
 
		return true;
	} catch (error) {
		return false;
	}
};
 
export const additionPublicKey = (data: string): boolean => {
	const action = data[0];
	if (action !== '+') {
		return false;
	}
	try {
		const publicKeyString = data.slice(1);
		validatePublicKey(publicKeyString);
 
		return true;
	} catch (error) {
		return false;
	}
};
 
export const amount = isNumberString;
 
export const csv = isCsv;
 
export const emptyOrPublicKey = (data: string): boolean => {
	if (data === null || data === '') {
		return true;
	}
 
	try {
		validatePublicKey(data);
 
		return true;
	} catch (error) {
		return false;
	}
};
 
export const fee = isValidFee;
 
export const hex = isHexString;
 
export const id = (data: string): boolean =>
	isNumberString(data) && !isGreaterThanMaxTransactionId(BigInt(data));
 
export const nonTransferAmount = isValidNonTransferAmount;
 
export const noNullCharacter = (data: string): boolean =>
	!isNullCharacterIncluded(data);
 
export const noNullByte = noNullCharacter;
 
export const publicKey = (data: string): boolean => {
	try {
		validatePublicKey(data);
 
		return true;
	} catch (error) {
		return false;
	}
};
 
export const signature = isSignature;
 
export const signedPublicKey = (data: string): boolean => {
	try {
		const action = data[0];
		if (action !== '+' && action !== '-') {
			return false;
		}
		const publicKeyString = data.slice(1);
		validatePublicKey(publicKeyString);
 
		return true;
	} catch (error) {
		return false;
	}
};
 
export const transferAmount = isValidTransferAmount;
 
export const username = isUsername;
 
export const transferData = (data: string): boolean =>
	!isNullCharacterIncluded(data) && isValidTransferData(data);