1 | 'use strict';
|
2 | Object.defineProperty(exports, "__esModule", { value: true });
|
3 | var Joi = require("joi");
|
4 | var regex = require("./regex");
|
5 | exports.semver = Joi.string().regex(regex.semverC).description('semver');
|
6 | exports.uri = Joi.string().regex(regex.uri).description('url');
|
7 | exports.label = Joi.object({
|
8 | name: Joi.string().regex(regex.nameUTF).required(),
|
9 | version: Joi.string().allow(null).regex(regex.semverC).description('semver').optional()
|
10 | }).description('label');
|
11 | exports.project = Joi.object({
|
12 | url: Joi.string().regex(regex.uri).required()
|
13 | }).description('project');
|
14 | exports.person = Joi.object({
|
15 | name: Joi.string().regex(regex.nameUTF).required(),
|
16 | url: Joi.string().allow(null).regex(regex.uri).optional().default(null)
|
17 | }).description('person');
|
18 | exports.repository = Joi.object({
|
19 |
|
20 | url: Joi.string().regex(regex.uri).required()
|
21 | }).description('repository');
|
22 | exports.header = Joi.object({
|
23 | label: exports.label.required(),
|
24 | project: Joi.array().min(1).items(exports.project).required(),
|
25 | repository: exports.repository.required(),
|
26 | authors: Joi.array().min(1).items(exports.person).required()
|
27 | }).description('definition-header').options({
|
28 | allowUnknown: true,
|
29 | stripUnknown: true,
|
30 | convert: false
|
31 | });
|
32 |
|
\ | No newline at end of file |