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

30 lines (29 loc) 1.2 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.getNumberOfUsageLimits = getNumberOfUsageLimits; exports.getUsageLimitNames = getUsageLimitNames; exports.calculateLinkedFeaturesMatrix = calculateLinkedFeaturesMatrix; function getNumberOfUsageLimits(usageLimits) { return usageLimits ? Object.keys(usageLimits).length : 0; } function getUsageLimitNames(usageLimits) { return usageLimits ? Object.values(usageLimits).map(function (usageLimit) { return usageLimit.name; }) : []; } function calculateLinkedFeaturesMatrix(usageLimits, featureNames) { var matrix = []; for (var i = 0; i < Object.keys(usageLimits).length; i++) { var row = []; var usageLimit = usageLimits[Object.keys(usageLimits)[i]]; var linkedFeatures = usageLimit.linkedFeatures; if (!linkedFeatures) { matrix.push(new Array(featureNames.length).fill(0)); continue; } for (var j = 0; j < featureNames.length; j++) { var isLinkedToFeature = linkedFeatures.includes(featureNames[j]) ? 1 : 0; row.push(isLinkedToFeature); } matrix.push(row); } return matrix; }