UNPKG

vulncheck-sdk

Version:

A comprehensive TypeScript/JavaScript SDK for the VulnCheck API - vulnerability intelligence platform with enriched CVE data, threat intelligence, and security tooling

43 lines 1.49 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.validateConfig = exports.buildQueryString = exports.isValidPURL = exports.isValidCPE = exports.isValidCVE = exports.sleep = void 0; function sleep(ms) { return new Promise((resolve) => setTimeout(resolve, ms)); } exports.sleep = sleep; function isValidCVE(cve) { return /^CVE-\d{4}-\d{4,}$/.test(cve); } exports.isValidCVE = isValidCVE; function isValidCPE(cpe) { return /^cpe:2\.3:[aho*]:.+/.test(cpe); } exports.isValidCPE = isValidCPE; function isValidPURL(purl) { return /^pkg:.+/.test(purl); } exports.isValidPURL = isValidPURL; function buildQueryString(params) { const filteredParams = {}; Object.entries(params) .filter(([, value]) => value !== undefined && value !== null) .forEach(([key, value]) => { filteredParams[key] = String(value); }); if (Object.keys(filteredParams).length === 0) { return ''; } const searchParams = new URLSearchParams(filteredParams); return `?${searchParams.toString()}`; } exports.buildQueryString = buildQueryString; function validateConfig(config) { if (!config.apiKey || typeof config.apiKey !== 'string') { throw new Error('API key is required and must be a string'); } if (config.baseURL && typeof config.baseURL !== 'string') { throw new Error('Base URL must be a string'); } } exports.validateConfig = validateConfig; //# sourceMappingURL=index.js.map