@ivandt/json-rules
Version:
Rule parsing engine for JSON rules
29 lines (28 loc) • 1.16 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.validateDomain = validateDomain;
const isFQDN_1 = __importDefault(require("validator/lib/isFQDN"));
/**
* Validates domain names with configurable options
*/
function validateDomain(value, config = null) {
// Must be a string
if (typeof value !== "string") {
return false;
}
// Use default config if none provided
const validationConfig = config || {};
// Convert our config to validator.js options
const options = {
require_tld: validationConfig.requireTld !== false, // Default true
allow_underscores: validationConfig.allowUnderscores || false,
allow_trailing_dot: validationConfig.allowTrailingDot || false,
allow_numeric_tld: validationConfig.allowNumericTld || false,
allow_wildcard: validationConfig.allowWildcard || false,
ignore_max_length: validationConfig.ignoreMaxLength || false,
};
return (0, isFQDN_1.default)(value, options);
}