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 (50 loc) 1.89 kB
"use strict"; // deno-lint-ignore-file no-explicit-any Object.defineProperty(exports, "__esModule", { value: true }); exports.default = v10Tov11Updater; var version_manager_1 = require("../../version-manager"); function v10Tov11Updater(extractedPricing) { var nextVersion = (0, version_manager_1.calculateNextVersion)(extractedPricing.version); extractedPricing.version = nextVersion; _updateDayMonthYearToASingleField(extractedPricing); return extractedPricing; } function _updateDayMonthYearToASingleField(extractedPricing) { var errors = []; if (extractedPricing.day === undefined || extractedPricing.day === null) { errors.push("day field is mandatory"); } else if (typeof extractedPricing.day !== "number") { errors.push("day field must be an integer"); } if (extractedPricing.month === undefined || extractedPricing.month === null) { errors.push("month field is mandatory"); } else if (typeof extractedPricing.month !== "number") { errors.push("month field must be an integer"); } if (extractedPricing.year === undefined || extractedPricing.year === null) { errors.push("year field is mandatory"); } else if (typeof extractedPricing.year !== "number") { errors.push("year field must be an integer"); } if (errors.length > 0) { throw new Error(errors.join("\n")); } var day = extractedPricing.day; var month = extractedPricing.month; var year = extractedPricing.year; try { var createdAt = new Date(year, month - 1, day) .toISOString() .split("T")[0]; // Formato yyyy-mm-dd extractedPricing.createdAt = createdAt; delete extractedPricing.day; delete extractedPricing.month; delete extractedPricing.year; } catch (e) { throw new Error(e.message); } }