Skip to content

Commit 0fd577a

Browse files
committed
Externalize options schema
1 parent cd64f9f commit 0fd577a

File tree

2 files changed

+27
-18
lines changed

2 files changed

+27
-18
lines changed

lib/any.js

Lines changed: 2 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -32,24 +32,8 @@ internals.defaults = {
3232

3333
internals.checkOptions = function (options) {
3434

35-
const Joi = require('../');
36-
37-
const optionsSchema = Joi.object({
38-
abortEarly: Joi.boolean(),
39-
convert: Joi.boolean(),
40-
allowUnknown: Joi.boolean(),
41-
skipFunctions: Joi.boolean(),
42-
stripUnknown: [Joi.boolean(), Joi.object({ arrays: Joi.boolean(), objects: Joi.boolean() }).or('arrays', 'objects')],
43-
language: Joi.object(),
44-
presence: Joi.string().only('required', 'optional', 'forbidden', 'ignore'),
45-
raw: Joi.boolean(),
46-
context: Joi.object(),
47-
strip: Joi.boolean(),
48-
noDefaults: Joi.boolean(),
49-
error: Joi.object()
50-
}).strict();
51-
52-
const result = optionsSchema.validate(options);
35+
const Schemas = require('./schemas');
36+
const result = Schemas.options.validate(options);
5337
if (result.error) {
5438
throw new Error(result.error.details[0].message);
5539
}

lib/schemas.js

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
'use strict';
2+
3+
// Load modules
4+
5+
const Joi = require('../');
6+
7+
8+
// Declare internals
9+
10+
const internals = {};
11+
12+
exports.options = Joi.object({
13+
abortEarly: Joi.boolean(),
14+
convert: Joi.boolean(),
15+
allowUnknown: Joi.boolean(),
16+
skipFunctions: Joi.boolean(),
17+
stripUnknown: [Joi.boolean(), Joi.object({ arrays: Joi.boolean(), objects: Joi.boolean() }).or('arrays', 'objects')],
18+
language: Joi.object(),
19+
presence: Joi.string().only('required', 'optional', 'forbidden', 'ignore'),
20+
raw: Joi.boolean(),
21+
context: Joi.object(),
22+
strip: Joi.boolean(),
23+
noDefaults: Joi.boolean(),
24+
error: Joi.object()
25+
}).strict();

0 commit comments

Comments
 (0)