definition-header
Version:
DefinitelyTyped definition header tools
32 lines • 1.33 kB
JavaScript
'use strict';
Object.defineProperty(exports, "__esModule", { value: true });
var Joi = require("joi");
var regex = require("./regex");
exports.semver = Joi.string().regex(regex.semverC).description('semver');
exports.uri = Joi.string().regex(regex.uri).description('url');
exports.label = Joi.object({
name: Joi.string().regex(regex.nameUTF).required(),
version: Joi.string().allow(null).regex(regex.semverC).description('semver').optional()
}).description('label');
exports.project = Joi.object({
url: Joi.string().regex(regex.uri).required()
}).description('project');
exports.person = Joi.object({
name: Joi.string().regex(regex.nameUTF).required(),
url: Joi.string().allow(null).regex(regex.uri).optional().default(null)
}).description('person');
exports.repository = Joi.object({
// use default?
url: Joi.string().regex(regex.uri).required()
}).description('repository');
exports.header = Joi.object({
label: exports.label.required(),
project: Joi.array().min(1).items(exports.project).required(),
repository: exports.repository.required(),
authors: Joi.array().min(1).items(exports.person).required()
}).description('definition-header').options({
allowUnknown: true,
stripUnknown: true,
convert: false
});
//# sourceMappingURL=schema.js.map