UNPKG

@takentrade/takentrade-libs

Version:
32 lines (31 loc) 1.03 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.toPrismaDecimal = exports.toDecimal = void 0; const decimal_js_1 = __importDefault(require("decimal.js")); const DEFAULT_DECIMAL_PLACES = 4; decimal_js_1.default.set({ precision: 20, rounding: decimal_js_1.default.ROUND_HALF_UP }); /** * Convert a value to Decimal */ const toDecimal = (value) => { try { return new decimal_js_1.default(value); } catch (error) { throw new Error(`Invalid decimal value: ${value}`); } }; exports.toDecimal = toDecimal; /** * Convert Decimal to Prisma-compatible number */ const toPrismaDecimal = (value) => { if (!decimal_js_1.default.isDecimal(value)) { throw new Error('Value must be a Decimal instance'); } return value.toDecimalPlaces(DEFAULT_DECIMAL_PLACES).toNumber(); }; exports.toPrismaDecimal = toPrismaDecimal;