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

51 lines (38 loc) 1.27 kB
import { EOL } from 'os'; import { Chunk } from '.'; export function generateChunkBlock(chunks: Chunk[]): string { const result = []; for (let i = 0; i < chunks.length; i++) { result.push(generateChunk(chunks[i])); } return result.join(''); } export function generateChunk(chunk: Chunk) { let rightValue = chunk.value; if (chunk.row && chunk.col) { rightValue = `array2d(${chunk.row.toUpperCase()}, ${chunk.col.toUpperCase()}, [${EOL}` + chunk.value + '])'; } return `${chunk.left} = ${rightValue};` + EOL; } export function formatMatrixToString(target: string[], dataMatrix: number[][]): string { let 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'); } const padding = ' '; for (let i = 0; i < dataMatrix.length; i++) { dataString = dataString.concat(padding, `% ${target[i]}`, EOL); let matrixDataString = dataMatrix[i].join(',').concat(',', EOL); if (i === dataMatrix.length - 1) { matrixDataString = dataMatrix[i].join(',').concat(EOL); } dataString = dataString.concat(padding, matrixDataString); } return dataString; }