Skip to content

Commit

Permalink
chore: move is* functions to common
Browse files Browse the repository at this point in the history
  • Loading branch information
npty committed Jul 26, 2024
1 parent 50fd8f6 commit 3acb915
Show file tree
Hide file tree
Showing 2 changed files with 73 additions and 96 deletions.
58 changes: 58 additions & 0 deletions common/utils.js
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,56 @@ function printLog(log) {
console.log(JSON.stringify({ log }, null, 2));
}

const isNonEmptyString = (arg) => {
return typeof arg === 'string' && arg !== '';
};

const isString = (arg) => {
return typeof arg === 'string';
};

const isStringArray = (arr) => Array.isArray(arr) && arr.every(isString);

const isNumber = (arg) => {
return Number.isInteger(arg);
};

const isValidNumber = (arg) => {
return !isNaN(parseInt(arg)) && isFinite(arg);
};

const isValidDecimal = (arg) => {
return !isNaN(parseFloat(arg)) && isFinite(arg);
};

const isNumberArray = (arr) => {
if (!Array.isArray(arr)) {
return false;
}

for (const item of arr) {
if (!isNumber(item)) {
return false;
}
}

return true;
};

const isNonEmptyStringArray = (arr) => {
if (!Array.isArray(arr)) {
return false;
}

for (const item of arr) {
if (typeof item !== 'string') {
return false;
}
}

return true;
};

module.exports = {
loadConfig,
saveConfig,
Expand All @@ -54,4 +104,12 @@ module.exports = {
printWarn,
printError,
printLog,
isNonEmptyString,
isString,
isStringArray,
isNumber,
isValidNumber,
isValidDecimal,
isNumberArray,
isNonEmptyStringArray,
};
111 changes: 15 additions & 96 deletions evm/utils.js
Original file line number Diff line number Diff line change
Expand Up @@ -13,10 +13,23 @@ const https = require('https');
const http = require('http');
const fs = require('fs');
const path = require('path');
const { outputJsonSync } = require('fs-extra');
const readlineSync = require('readline-sync');
const chalk = require('chalk');
const { loadConfig, saveConfig } = require('../common');
const {
loadConfig,
saveConfig,
isNonEmptyString,
isNonEmptyStringArray,
isNumber,
isNumberArray,
isString,
isValidNumber,
printInfo,
isValidDecimal,
printError,
printWarn,
writeJSON,
} = require('../common');
const {
create3DeployContract,
deployContractConstant,
Expand Down Expand Up @@ -123,41 +136,6 @@ const deployCreate3 = async (
return contract;
};

const printInfo = (msg, info = '', colour = chalk.green) => {
if (info) {
console.log(`${msg}: ${colour(info)}\n`);
} else {
console.log(`${msg}\n`);
}
};

const printWarn = (msg, info = '') => {
if (info) {
msg = `${msg}: ${info}`;
}

console.log(`${chalk.italic.yellow(msg)}\n`);
};

const printError = (msg, info = '') => {
if (info) {
msg = `${msg}: ${info}`;
}

console.log(`${chalk.bold.red(msg)}\n`);
};

function printLog(log) {
console.log(JSON.stringify({ log }, null, 2));
}

const writeJSON = (data, name) => {
outputJsonSync(name, data, {
spaces: 2,
EOL: '\n',
});
};

const httpGet = (url) => {
return new Promise((resolve, reject) => {
(url.startsWith('https://') ? https : http).get(url, (res) => {
Expand Down Expand Up @@ -205,56 +183,6 @@ const httpPost = async (url, data) => {
return response.json();
};

const isNonEmptyString = (arg) => {
return typeof arg === 'string' && arg !== '';
};

const isString = (arg) => {
return typeof arg === 'string';
};

const isStringArray = (arr) => Array.isArray(arr) && arr.every(isString);

const isNumber = (arg) => {
return Number.isInteger(arg);
};

const isValidNumber = (arg) => {
return !isNaN(parseInt(arg)) && isFinite(arg);
};

const isValidDecimal = (arg) => {
return !isNaN(parseFloat(arg)) && isFinite(arg);
};

const isNumberArray = (arr) => {
if (!Array.isArray(arr)) {
return false;
}

for (const item of arr) {
if (!isNumber(item)) {
return false;
}
}

return true;
};

const isNonEmptyStringArray = (arr) => {
if (!Array.isArray(arr)) {
return false;
}

for (const item of arr) {
if (typeof item !== 'string') {
return false;
}
}

return true;
};

const isAddressArray = (arr) => {
if (!Array.isArray(arr)) return false;

Expand Down Expand Up @@ -1268,22 +1196,13 @@ module.exports = {
deployCreate2,
deployCreate3,
deployContract,
writeJSON,
copyObject,
httpGet,
httpPost,
printObj,
getBytecodeHash,
predictAddressCreate,
getDeployedAddress,
isString,
isNonEmptyString,
isStringArray,
isNumber,
isValidNumber,
isValidDecimal,
isNumberArray,
isNonEmptyStringArray,
isAddressArray,
isKeccak256Hash,
isValidCalldata,
Expand Down

0 comments on commit 3acb915

Please sign in to comment.