@pefish/js-node-assist
Version:
assistance tool of node
331 lines • 16.4 kB
JavaScript
;
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() { return m[k]; } };
}
Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
o["default"] = v;
});
var __importStar = (this && this.__importStar) || function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
__setModuleDefault(result, mod);
return result;
};
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const assert_1 = __importDefault(require("assert"));
const index_1 = require("./index");
const string_1 = __importStar(require("./string"));
describe('stringAssist', () => {
it('canCastNumber_', () => {
const result = string_1.default.canCastNumber(`10.12`);
assert_1.default.strictEqual(result, true);
const result1 = string_1.default.canCastNumber(`10.a`);
assert_1.default.strictEqual(result1, false);
});
it('multi', () => {
const result = string_1.default.start(20000000000).multi(`20730`).unShiftedBy(new string_1.Calculator(18)).end();
// global.console.error(result)
assert_1.default.strictEqual(result, `0.0004146`);
const result1 = string_1.default.start(`0x2`).multi(`11`).end();
// global.console.error(result)
assert_1.default.strictEqual(result1, `22`);
const result2 = string_1.default.start(`625113268`).multi(`997`);
const result3 = result2.multi("1135067100697205");
assert_1.default.strictEqual(result3.div(result2).end(), `1135067100697205`);
});
it('remainDecimal_', () => {
const result = string_1.default.start(new string_1.Calculator(`10.12`)).remainDecimal(4, index_1.RoundingMode.ROUND_UP).end();
assert_1.default.strictEqual(result, `10.12`);
const result1 = string_1.default.start(`10.12`).remainDecimal(4, index_1.RoundingMode.ROUND_UP, true).end();
assert_1.default.strictEqual(result1, `10.1200`);
const result2 = string_1.default.start(`10.12`).remainDecimal(1, index_1.RoundingMode.ROUND_UP).end();
assert_1.default.strictEqual(result2, `10.2`);
const result3 = string_1.default.start(`10.12`).remainDecimal(0, index_1.RoundingMode.ROUND_UP).end();
assert_1.default.strictEqual(result3, `11`);
const result4 = string_1.default.start(`10`).remainDecimal(4, index_1.RoundingMode.ROUND_UP).end();
assert_1.default.strictEqual(result4, `10`);
});
it('removeFirstByStr_', () => {
const result = string_1.default.removeFirstByStr(`2,4`, ',');
assert_1.default.strictEqual(result, `4`);
const result1 = string_1.default.removeFirstByStr(`2,4,8`, ',');
assert_1.default.strictEqual(result1, `4,8`);
});
it('removeFirstStr_', () => {
const result = string_1.default.removeFirstStr(`2,4`, '2');
assert_1.default.strictEqual(result, `,4`);
const result1 = string_1.default.removeFirstStr(`\n4,8`, '\n');
assert_1.default.strictEqual(result1, `4,8`);
const result2 = string_1.default.removeFirstStr(`\n4,8`, '4');
assert_1.default.strictEqual(result2, `\n4,8`);
});
it('removeLastStr_', () => {
const result = string_1.default.removeLastStr(`2,4`, '2');
assert_1.default.strictEqual(result, `2,4`);
const result1 = string_1.default.removeLastStr(`4,8\n`, '\n');
assert_1.default.strictEqual(result1, `4,8`);
});
it('removeLastByStr_', () => {
const result = string_1.default.removeLastByStr(`2,4`, ',');
// console.error(result)
assert_1.default.strictEqual(result, `2`);
const result1 = string_1.default.removeLastByStr(`2,4,8`, ',');
// console.error(result1)
assert_1.default.strictEqual(result1, `2,4`);
const result2 = string_1.default.removeLastByStr("dghjsd\n", "\n");
assert_1.default.strictEqual(result2, `dghjsd`);
const result3 = string_1.default.removeLastByStr("dghjsd", "\n");
// console.log(`11`, result3)
assert_1.default.strictEqual(result3, `dghjsd`);
});
it('removeLastEnter_', () => {
const result = string_1.default.removeLastEnter(`2746\n`);
// console.error(result)
assert_1.default.strictEqual(result, `2746`);
const result1 = string_1.default.removeLastEnter(`2746\r\n`);
// console.error(result1)
assert_1.default.strictEqual(result1, `2746`);
});
it('replaceAll_', () => {
const result = string_1.default.replaceAll(`145145abc451abc535`, 'abc', '111');
assert_1.default.strictEqual(result, `145145111451111535`);
});
it('pow', () => {
const result = string_1.default.start(`10`).pow(18).end();
assert_1.default.strictEqual(result, `1000000000000000000`);
});
it('add', () => {
const result = string_1.default.start(`10`).add('1').end();
assert_1.default.strictEqual(result, `11`);
});
it('sub', () => {
const result = string_1.default.start(`10`).sub('1').end();
assert_1.default.strictEqual(result, `9`);
});
it('remainDecimal_', () => {
const result = string_1.default.start(`10.121`).remainDecimal(0).end();
assert_1.default.strictEqual(result, `10`);
});
it('remainDecimal_', () => {
const result = string_1.default.start(`10.121565321`).remainDecimal(8, 0).end();
assert_1.default.strictEqual(result, `10.12156533`);
});
it('eq', () => {
const result = string_1.default.start(`0x0`).eq(0);
assert_1.default.strictEqual(result, true);
const result1 = string_1.default.start(`0x12`).eq(18);
assert_1.default.strictEqual(result1, true);
});
it('gt', () => {
const result = string_1.default.start(`0.023`).gt('0.0011');
assert_1.default.strictEqual(result, true);
const result1 = string_1.default.start(`0x12`).gt(17);
assert_1.default.strictEqual(result1, true);
});
it('shiftedBy_ "0"', () => {
const result = string_1.default.start(`1353`).shiftedBy(0).end();
assert_1.default.strictEqual(result, '1353');
});
it('shiftedBy_ "18"', () => {
const result = string_1.default.start(`1353`).shiftedBy(18).end();
assert_1.default.strictEqual(result, '1353000000000000000000');
});
it('shiftedBy_ "-2"', () => {
const result = string_1.default.start(`1353`).shiftedBy(-2).end();
assert_1.default.strictEqual(result, '13.53');
});
it('shiftedBy_ -3', () => {
const result = string_1.default.start(`1353`).shiftedBy(-3).end();
assert_1.default.strictEqual(result, '1.353');
});
it('shiftedBy_ 3', () => {
const result = string_1.default.start(`1353`).shiftedBy(3).end();
assert_1.default.strictEqual(result, '1353000');
});
it('utf8HexStringToString', () => {
const result = string_1.default.utf8HexStringToString(`0x3c5554462d383e`);
assert_1.default.strictEqual(result, '<UTF-8>');
});
it('toUtf8HexString_', () => {
const result = string_1.default.toUtf8HexString(`<UTF-8>`);
assert_1.default.strictEqual(result, '0x3c5554462d383e');
});
it('toNumber_', () => {
const result = string_1.default.start(`-2`).toNumber();
assert_1.default.strictEqual(result, -2);
});
it('unShiftedBy_', () => {
const result = string_1.default.start(`231`).unShiftedBy('2').end();
assert_1.default.strictEqual(result, '2.31');
});
it('unShiftedBy_', () => {
const result = string_1.default.start(`231`).unShiftedBy(2).end();
assert_1.default.strictEqual(result, '2.31');
});
it('negated', () => {
const result1 = string_1.default.start(`231`).negated().end();
const result2 = string_1.default.start(`-231`).negated().end();
assert_1.default.strictEqual(result1, '-231');
assert_1.default.strictEqual(result2, '231');
});
it('removeTrailingZeros_', () => {
const result1 = string_1.default.removeTrailingZeros('0.004250000');
assert_1.default.strictEqual(result1, '0.00425');
const result2 = string_1.default.removeTrailingZeros('230.700');
assert_1.default.strictEqual(result2, '230.7');
const result3 = string_1.default.removeTrailingZeros('230');
assert_1.default.strictEqual(result3, '230');
const result4 = string_1.default.removeTrailingZeros('0.000000001');
assert_1.default.strictEqual(result4, '0.000000001');
});
it('toInt', () => {
const result1 = string_1.default.start('100000000000').toInt();
assert_1.default.strictEqual(result1, 100000000000);
});
it('toArray_1', () => {
const result = string_1.default.toArray('7cce3caf92eb2005ad8a6dd02625d1d8', 2);
// console.error(result)
assert_1.default.strictEqual(result[0], '7c');
});
it('toArray_2', () => {
const result = string_1.default.toArray('7cce3caf92eb2005ad8a6dd02625d1d8', undefined, 4);
// console.error(result)
assert_1.default.strictEqual(JSON.stringify(result), '["7cce3caf","92eb2005","ad8a6dd0","2625d1d8"]');
});
it('hexToNumber_', () => {
const result = string_1.default.hexToNumber('7c');
const result1 = string_1.default.hexToNumber('0x7c');
// console.error(result)
assert_1.default.strictEqual(result, 124);
assert_1.default.strictEqual(result1, 124);
});
it('hexToDecimalString_', () => {
const result = string_1.default.hexToDecimalString('6673064416959ab');
const result1 = string_1.default.hexToDecimalString('0x6673064416959ab');
// console.error(result)
assert_1.default.strictEqual(result, '461390693981051307');
assert_1.default.strictEqual(result1, '461390693981051307');
});
it('binToDecimalString_', () => {
const result = string_1.default.start("0b11001100111001100000110010001000001011010010101100110101011").toDecimalString().end();
// console.error('test', result)
assert_1.default.strictEqual(result, '461390693981051307');
});
it('decimalToBinString', () => {
const result = string_1.default.start("461390693981051307").toBinString().end();
// console.error(result)
assert_1.default.strictEqual(result, '0b11001100111001100000110010001000001011010010101100110101011');
const result1 = string_1.default.start("11").toBinString().end();
// console.error(result)
assert_1.default.strictEqual(string_1.default.start(result1).add("10").end(), '21');
const result2 = string_1.default.start("0x2").toBinString().end();
// console.error(result)
assert_1.default.strictEqual(string_1.default.start(result2).add("10").end(), '12');
});
it('decimalToHexString', () => {
const result = string_1.default.start('461390693981051307').toHexString().end();
// console.error(result)
assert_1.default.strictEqual(result, '0x6673064416959ab');
});
it('decimalToOctString', () => {
const result = string_1.default.start('461390693981051307').toOctString().end();
// console.error(result)
assert_1.default.strictEqual(result, '0o31471406210132254653');
const result1 = string_1.default.start('32').toOctString().end();
// console.error(result)
assert_1.default.strictEqual(string_1.default.start(result1).add(12).end(), '44');
});
it('decimalToBinString', () => {
const result = string_1.default.start('461390693981051307').toBinString().end();
// console.error(result)
assert_1.default.strictEqual(result, '0b11001100111001100000110010001000001011010010101100110101011');
});
it('getFirst', () => {
const result = string_1.default.getFirst('th356hfgh3httr', 4);
// console.error(result)
assert_1.default.strictEqual(result, 'th35');
});
it('getLast', () => {
const result = string_1.default.getLast('th356hfgh3httr', 4);
// console.error(result)
assert_1.default.strictEqual(result, 'httr');
});
// numberStrToHex
it('numberStrToHex', () => {
const result = string_1.default.numberStrToHex('190');
// console.error(result)
assert_1.default.strictEqual(result, 'BE');
});
it('numberStrToHex', () => {
const result = string_1.default.numberStrToHex('4124');
// global.console.error(result)
assert_1.default.strictEqual(result, '101C');
});
it('hexStrToBase64', () => {
const result = string_1.default.hexStrToBase64('0c68affbcf01a49540e590bcf88afa4dc630eb5ce0e13a5b067c918f0e1c9af4');
// console.error(result)
// MGM2OGFmZmJjZjAxYTQ5NTQwZTU5MGJjZjg4YWZhNGRjNjMwZWI1Y2UwZTEzYTViMDY3YzkxOGYwZTFjOWFmNA==
assert_1.default.strictEqual(result, 'DGiv+88BpJVA5ZC8+Ir6TcYw61zg4TpbBnyRjw4cmvQ=');
});
it('strToBase64', () => {
const result = string_1.default.strToBase64('0c68affbcf01a49540e590bcf88afa4dc630eb5ce0e13a5b067c918f0e1c9af4');
// console.error(result)
assert_1.default.strictEqual(result, 'MGM2OGFmZmJjZjAxYTQ5NTQwZTU5MGJjZjg4YWZhNGRjNjMwZWI1Y2UwZTEzYTViMDY3YzkxOGYwZTFjOWFmNA==');
});
it('base64ToHexStr', () => {
const result = string_1.default.base64ToHexStr('DGiv+88BpJVA5ZC8+Ir6TcYw61zg4TpbBnyRjw4cmvQ=', false);
// console.error(result)
assert_1.default.strictEqual(result, '0c68affbcf01a49540e590bcf88afa4dc630eb5ce0e13a5b067c918f0e1c9af4');
});
it('base64ToStr', () => {
const result = string_1.default.base64ToStr('MGM2OGFmZmJjZjAxYTQ5NTQwZTU5MGJjZjg4YWZhNGRjNjMwZWI1Y2UwZTEzYTViMDY3YzkxOGYwZTFjOWFmNA==');
// console.error(result)
assert_1.default.strictEqual(result, '0c68affbcf01a49540e590bcf88afa4dc630eb5ce0e13a5b067c918f0e1c9af4');
});
it('toUtf8Buffer_', () => {
const result = string_1.default.toUtf8Buffer('1shfgdjewarta');
// console.error(JSON.stringify(result))
assert_1.default.strictEqual(JSON.stringify(result), `{"type":"Buffer","data":[49,115,104,102,103,100,106,101,119,97,114,116,97]}`);
});
it('toUtf8Uint8Array_', () => {
const result = string_1.default.toUtf8Uint8Array('1shfgdjewarta');
// console.error(result[0])
assert_1.default.strictEqual(JSON.stringify(result), `{"0":49,"1":115,"2":104,"3":102,"4":103,"5":100,"6":106,"7":101,"8":119,"9":97,"10":114,"11":116,"12":97}`);
});
it('hexToBuffer_', () => {
const result = string_1.default.hexToBuffer(`0x66730644`);
// console.log(JSON.stringify(result))
assert_1.default.strictEqual(JSON.stringify(result), `{"type":"Buffer","data":[102,115,6,68]}`);
});
it('toPretty', () => {
const result = string_1.default.toPretty(`123`);
// console.log(JSON.stringify(result))
assert_1.default.strictEqual(result, `123`);
const result1 = string_1.default.toPretty(`[{"a": 2}]`);
// console.log(result1)
assert_1.default.strictEqual(result1, `[\n\t{\n\t\t"a": 2\n\t}\n]`);
const result2 = string_1.default.toPretty(`{"a": 2}`);
// console.log(result1)
assert_1.default.strictEqual(result2, `{\n\t"a": 2\n}`);
});
it('toBigInt', () => {
const result = string_1.default.start(1).shiftedBy(2).toBigInt();
// console.log(JSON.stringify(result))
assert_1.default.strictEqual(result.toString(), `100`);
});
});
//# sourceMappingURL=string.test.js.map