@0x/assert: Add isNumberLike assertion
				
					
				
			This commit is contained in:
		
				
					committed by
					
						
						Amir Bandeali
					
				
			
			
				
	
			
			
			
						parent
						
							14167412e0
						
					
				
				
					commit
					339fc9ff14
				
			@@ -5,6 +5,10 @@
 | 
			
		||||
            {
 | 
			
		||||
                "note": "Add new assertions: `isArray`, `isBlockParam` and `isNumberOrBigNumber`",
 | 
			
		||||
                "pr": 1823
 | 
			
		||||
            },
 | 
			
		||||
            {
 | 
			
		||||
                "note": "Add `isNumberLike()` assertion",
 | 
			
		||||
                "pr": 1819
 | 
			
		||||
            }
 | 
			
		||||
        ],
 | 
			
		||||
        "timestamp": 1563006338
 | 
			
		||||
 
 | 
			
		||||
@@ -10,6 +10,11 @@ export const assert = {
 | 
			
		||||
        const isBigNumber = BigNumber.isBigNumber(value);
 | 
			
		||||
        assert.assert(isBigNumber, assert.typeAssertionMessage(variableName, 'BigNumber', value));
 | 
			
		||||
    },
 | 
			
		||||
    isNumberLike(variableName: string, value: BigNumber | number): void {
 | 
			
		||||
        const isBigNumber = BigNumber.isBigNumber(value);
 | 
			
		||||
        const isNumber = typeof value === 'number';
 | 
			
		||||
        assert.assert(isBigNumber || isNumber, assert.typeAssertionMessage(variableName, 'BigNumber | number', value));
 | 
			
		||||
    },
 | 
			
		||||
    isValidBaseUnitAmount(variableName: string, value: BigNumber): void {
 | 
			
		||||
        assert.isBigNumber(variableName, value);
 | 
			
		||||
        const isNegative = value.isLessThan(0);
 | 
			
		||||
 
 | 
			
		||||
@@ -23,6 +23,16 @@ describe('Assertions', () => {
 | 
			
		||||
            invalidInputs.forEach(input => expect(assert.isBigNumber.bind(assert, variableName, input)).to.throw());
 | 
			
		||||
        });
 | 
			
		||||
    });
 | 
			
		||||
    describe('#isNumberLike', () => {
 | 
			
		||||
        it('should not throw for valid input', () => {
 | 
			
		||||
            const validInputs = [new BigNumber(23), 23];
 | 
			
		||||
            validInputs.forEach(input => expect(assert.isNumberLike.bind(assert, variableName, input)).to.not.throw());
 | 
			
		||||
        });
 | 
			
		||||
        it('should throw for invalid input', () => {
 | 
			
		||||
            const invalidInputs = ['test', false, { random: 'test' }, undefined];
 | 
			
		||||
            invalidInputs.forEach(input => expect(assert.isNumberLike.bind(assert, variableName, input)).to.throw());
 | 
			
		||||
        });
 | 
			
		||||
    });
 | 
			
		||||
    describe('#isValidBaseUnitAmount', () => {
 | 
			
		||||
        it('should not throw for valid input', () => {
 | 
			
		||||
            const validInputs = [new BigNumber(23), new BigNumber('45000000')];
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user