UNPKG

@allgemein/schema-api

Version:
37 lines 1.65 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.HOSTNAME_RFC1034_REGEX = exports.HOSTNAME_RFC952_REGEX = void 0; exports.Hostname = Hostname; const lodash_1 = require("lodash"); const AnnotationsHelper_1 = require("../../lib/AnnotationsHelper"); const DefaultValidator_1 = require("../../lib/validation/DefaultValidator"); function Hostname(options) { return function (source, propertyName) { const opts = { format: 'hostname', }; if (options) { (0, lodash_1.assign)(opts, { validateOptions: { hostname: {} } }); (0, lodash_1.assign)(opts.validateOptions.hostname, options); } AnnotationsHelper_1.AnnotationsHelper.forPropertyOn(source.constructor, propertyName, opts, 'merge'); }; } exports.HOSTNAME_RFC952_REGEX = /^(([a-zA-Z]|[a-zA-Z][a-zA-Z0-9\-]*[a-zA-Z0-9])\.)*([A-Za-z]|[A-Za-z][A-Za-z0-9\-]*[A-Za-z0-9])$/; exports.HOSTNAME_RFC1034_REGEX = /^(([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]*[a-zA-Z0-9])\.)*([A-Za-z0-9]|[A-Za-z0-9][A-Za-z0-9\-]*[A-Za-z0-9])$/; DefaultValidator_1.DefaultValidator.define({ name: 'hostname', fn: (value, options, instance) => { if ((0, lodash_1.isUndefined)(value) || (0, lodash_1.isNull)(value) || !(0, lodash_1.isString)(value)) { // if (!get(options, 'required', false)) { // return true; // } return false; } return exports.HOSTNAME_RFC952_REGEX.test(value); }, defaultOptions: { message: 'Value of property "%propertyName" must be a valid hostname.' } }); //# sourceMappingURL=Hostname.js.map