1
0
mirror of https://github.com/kremalicious/metamask-extension.git synced 2024-12-23 09:52:26 +01:00

Cleanup code.

This commit is contained in:
Kevin Serrano 2017-05-24 09:55:16 -07:00
parent 31d17c9e25
commit 60281f7250
No known key found for this signature in database
GPG Key ID: BF999DEFC7371BA1

View File

@ -31,7 +31,7 @@ BnAsDecimalInput.prototype.render = function () {
const suffix = props.suffix
const style = props.style
const valueString = value.toString(10)
const newValue = downsize(valueString, scale, precision)
const newValue = this.downsize(valueString, scale, precision)
return (
h('.flex-column', [
@ -65,7 +65,7 @@ BnAsDecimalInput.prototype.render = function () {
const value = (event.target.value === '') ? '' : event.target.value
const scaledNumber = upsize(value, scale, precision)
const scaledNumber = this.upsize(value, scale, precision)
const precisionBN = new BN(scaledNumber, 10)
onChange(precisionBN)
},
@ -145,20 +145,28 @@ BnAsDecimalInput.prototype.constructWarning = function () {
}
function downsize (number, scale, precision) {
BnAsDecimalInput.prototype.downsize = function (number, scale, precision) {
// if there is no scaling, simply return the number
if (scale === 0) {
return Number(number)
} else {
// if the scale is the same as the precision, account for this edge case.
var decimals = (scale === precision) ? -1 : scale - precision
return Number(number.slice(0, -scale) + '.' + number.slice(-scale, decimals))
}
}
function upsize (number, scale, precision) {
var string = number.toString()
var stringArray = string.split('.')
BnAsDecimalInput.prototype.upsize = function (number, scale, precision) {
var stringArray = number.toString().split('.')
var decimalLength = stringArray[1] ? stringArray[1].length : 0
var newString = ((scale === 0) || (decimalLength === 0)) ? stringArray[0] : stringArray[0] + stringArray[1].slice(0, precision)
var newString = stringArray[0]
// If there is scaling and decimal parts exist, integrate them in.
if ((scale !== 0) && (decimalLength !== 0)) {
newString += stringArray[1].slice(0, precision)
}
// Add 0s to account for the upscaling.
for (var i = decimalLength; i < scale; i++) {
newString += '0'
}