UNPKG

dtamind-components

Version:

DTAmindai Components

48 lines 1.54 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.isPathTraversal = exports.isValidURL = exports.isValidUUID = void 0; /** * Validates if a string is a valid UUID v4 * @param {string} uuid The string to validate * @returns {boolean} True if valid UUID, false otherwise */ const isValidUUID = (uuid) => { // UUID v4 regex pattern const uuidV4Pattern = /^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i; return uuidV4Pattern.test(uuid); }; exports.isValidUUID = isValidUUID; /** * Validates if a string is a valid URL * @param {string} url The string to validate * @returns {boolean} True if valid URL, false otherwise */ const isValidURL = (url) => { try { new URL(url); return true; } catch { return false; } }; exports.isValidURL = isValidURL; /** * Validates if a string contains path traversal attempts * @param {string} path The string to validate * @returns {boolean} True if path traversal detected, false otherwise */ const isPathTraversal = (path) => { // Check for common path traversal patterns const dangerousPatterns = [ '..', // Directory traversal '/', // Root directory '\\', // Windows root directory '%2e', // URL encoded . '%2f', // URL encoded / '%5c' // URL encoded \ ]; return dangerousPatterns.some((pattern) => path.toLowerCase().includes(pattern)); }; exports.isPathTraversal = isPathTraversal; //# sourceMappingURL=validator.js.map