UNPKG

bb-inspired

Version:

Core library for BB-inspired NestJS backend

101 lines 4.26 kB
"use strict"; var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; return c > 3 && r && Object.defineProperty(target, key, r), r; }; var __metadata = (this && this.__metadata) || function (k, v) { if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); }; Object.defineProperty(exports, "__esModule", { value: true }); exports.BigNumberService = void 0; const common_1 = require("@nestjs/common"); const bignumber_js_1 = require("bignumber.js"); const bignumber_utils_1 = require("./bignumber.utils"); let BigNumberService = class BigNumberService { constructor(config) { if (config) { bignumber_js_1.default.config(config); } else { bignumber_js_1.default.config({ DECIMAL_PLACES: 20, ROUNDING_MODE: bignumber_js_1.default.ROUND_HALF_UP, EXPONENTIAL_AT: [-10, 20], RANGE: [-1e9, 1e9], CRYPTO: false, MODULO_MODE: bignumber_js_1.default.ROUND_DOWN, POW_PRECISION: 100, FORMAT: { decimalSeparator: '.', groupSeparator: ',', groupSize: 3, secondaryGroupSize: 0, fractionGroupSeparator: ' ', fractionGroupSize: 0, }, }); } } create(value) { return new bignumber_js_1.default(value); } format(value, decimalPlaces = 2, roundingMode = bignumber_js_1.default.ROUND_HALF_UP, prefix = '', suffix = '') { return bignumber_utils_1.BigNumberUtils.format(value, decimalPlaces, roundingMode, prefix, suffix); } formatCurrency(value, currencySymbol = '$', decimalPlaces = 2) { return bignumber_utils_1.BigNumberUtils.formatCurrency(value, currencySymbol, decimalPlaces); } formatPercent(value, decimalPlaces = 2) { return bignumber_utils_1.BigNumberUtils.formatPercent(value, decimalPlaces); } add(...values) { return bignumber_utils_1.BigNumberUtils.add(...values); } subtract(...values) { return bignumber_utils_1.BigNumberUtils.subtract(...values); } multiply(...values) { return bignumber_utils_1.BigNumberUtils.multiply(...values); } divide(...values) { return bignumber_utils_1.BigNumberUtils.divide(...values); } power(base, exponent) { return bignumber_utils_1.BigNumberUtils.power(base, exponent); } abs(value) { return bignumber_utils_1.BigNumberUtils.abs(value); } isEqual(a, b) { return bignumber_utils_1.BigNumberUtils.isEqual(a, b); } isGreaterThan(a, b) { return bignumber_utils_1.BigNumberUtils.isGreaterThan(a, b); } isLessThan(a, b) { return bignumber_utils_1.BigNumberUtils.isLessThan(a, b); } max(...values) { return bignumber_utils_1.BigNumberUtils.max(...values); } min(...values) { return bignumber_utils_1.BigNumberUtils.min(...values); } average(...values) { return bignumber_utils_1.BigNumberUtils.average(...values); } round(value, decimalPlaces, roundingMode = bignumber_js_1.default.ROUND_HALF_UP) { return bignumber_utils_1.BigNumberUtils.round(value, decimalPlaces, roundingMode); } toFixed(value, decimalPlaces, roundingMode = bignumber_js_1.default.ROUND_HALF_UP) { return bignumber_utils_1.BigNumberUtils.toFixed(value, decimalPlaces, roundingMode); } }; exports.BigNumberService = BigNumberService; exports.BigNumberService = BigNumberService = __decorate([ (0, common_1.Injectable)(), __metadata("design:paramtypes", [Object]) ], BigNumberService); //# sourceMappingURL=bignumber.service.js.map