@hpbyte/h-codex-core
Version:
Core indexing and search functionality for h-codex
38 lines • 1.21 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.getEnvVar = getEnvVar;
exports.getEnvNumber = getEnvNumber;
exports.formatString = formatString;
exports.countLengthWithoutWhitespace = countLengthWithoutWhitespace;
function getEnvVar(key, defaultValue) {
const value = process.env[key];
if (!value && !defaultValue) {
throw new Error(`Environment variable ${key} is required`);
}
return value || defaultValue;
}
function getEnvNumber(key, defaultValue) {
const value = process.env[key];
if (!value)
return defaultValue;
const parsed = parseInt(value, 10);
if (isNaN(parsed)) {
throw new Error(`Environment variable ${key} must be a valid number`);
}
return parsed;
}
function formatString(name) {
return name
.normalize('NFD')
.replace(/[\u0300-\u036f]/g, '')
.toLowerCase()
.replace(/[^a-z0-9.]+/g, '-')
.replace(/\.{2,}/g, '.')
.replace(/^[.-]+|[.-]+$/g, '')
.replace(/^$/, 'untitled-project')
.substring(0, 100);
}
function countLengthWithoutWhitespace(s) {
return s.replace(/\s/g, '').length;
}
//# sourceMappingURL=helpers.js.map