UNPKG

qapinterface

Version:

Comprehensive API utilities for Node.js applications including authentication, security, request processing, and response handling with zero external dependencies

28 lines (25 loc) 885 B
/** * Version Formatting * Single Responsibility: Format API version strings consistently */ const { isNil } = require('lodash'); const localVars = require('../../config/localVars'); /** * Formats API version strings for consistent versioning. * @param {string|number} version - The version to format. * @param {string} [prefix='v'] - Prefix for the version string. * @returns {string} - Formatted version string (e.g., "v1.2.3"). */ function formatApiVersion(version, prefix = localVars.DEFAULT_API_VERSION_PREFIX) { if (isNil(version)) { throw new Error('Version cannot be null or undefined'); } const versionStr = String(version).trim(); if (!versionStr) { throw new Error('Version cannot be empty'); } return versionStr.toLowerCase().startsWith(prefix.toLowerCase()) ? versionStr : `${prefix}${versionStr}`; } module.exports = { formatApiVersion };