UNPKG

pricing4ts

Version:

![NPM Version](https://img.shields.io/npm/v/pricing4ts) Pricing4TS is a TypeScript-based toolkit designed to enhance the server-side functionality of a pricing-driven SaaS by enabling the seamless integration of pricing plans into the application logic. T

43 lines (42 loc) 1.55 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.generateChunkBlock = generateChunkBlock; exports.generateChunk = generateChunk; exports.formatMatrixToString = formatMatrixToString; var os_1 = require("os"); function generateChunkBlock(chunks) { var result = []; for (var i = 0; i < chunks.length; i++) { result.push(generateChunk(chunks[i])); } return result.join(''); } function generateChunk(chunk) { var rightValue = chunk.value; if (chunk.row && chunk.col) { rightValue = "array2d(".concat(chunk.row.toUpperCase(), ", ").concat(chunk.col.toUpperCase(), ", [").concat(os_1.EOL) + chunk.value + '])'; } return "".concat(chunk.left, " = ").concat(rightValue, ";") + os_1.EOL; } function formatMatrixToString(target, dataMatrix) { var dataString = ''; if (dataMatrix.length === 0) { return dataString; } if (dataMatrix.length != target.length) { throw Error('Names array has to be equal to the number of rows of the matrix'); } var padding = ' '; for (var i = 0; i < dataMatrix.length; i++) { dataString = dataString.concat(padding, "% ".concat(target[i]), os_1.EOL); var matrixDataString = dataMatrix[i].join(',').concat(',', os_1.EOL); if (i === dataMatrix.length - 1) { matrixDataString = dataMatrix[i].join(',').concat(os_1.EOL); } dataString = dataString.concat(padding, matrixDataString); } return dataString; }