pricing4ts
Version:
 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
JavaScript
;
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;
}