Download Fore_End/cpcn2/node_modules/joi/lib/schemas.js from zxy0307/JavaWeb: direct link, hf CLI and curl.
- Browser
- Download file 8.11 kB
-
https://huggingface.co/zxy0307/JavaWeb/resolve/main/Fore_End/cpcn2/node_modules/joi/lib/schemas.js
- Command line
-
hf download hf://zxy0307/JavaWeb/Fore_End/cpcn2/node_modules/joi/lib/schemas.js
-
curl -L -o schemas.js https://huggingface.co/zxy0307/JavaWeb/resolve/main/Fore_End/cpcn2/node_modules/joi/lib/schemas.js
8.11 kB
| ; | |
| const Joi = require('./index'); | |
| const internals = {}; | |
| // Preferences | |
| internals.wrap = Joi.string() | |
| .min(1) | |
| .max(2) | |
| .allow(false); | |
| exports.preferences = Joi.object({ | |
| allowUnknown: Joi.boolean(), | |
| abortEarly: Joi.boolean(), | |
| artifacts: Joi.boolean(), | |
| cache: Joi.boolean(), | |
| context: Joi.object(), | |
| convert: Joi.boolean(), | |
| dateFormat: Joi.valid('date', 'iso', 'string', 'time', 'utc'), | |
| debug: Joi.boolean(), | |
| errors: { | |
| escapeHtml: Joi.boolean(), | |
| label: Joi.valid('path', 'key', false), | |
| language: [ | |
| Joi.string(), | |
| Joi.object().ref() | |
| ], | |
| render: Joi.boolean(), | |
| stack: Joi.boolean(), | |
| wrap: { | |
| label: internals.wrap, | |
| array: internals.wrap, | |
| string: internals.wrap | |
| } | |
| }, | |
| externals: Joi.boolean(), | |
| messages: Joi.object(), | |
| noDefaults: Joi.boolean(), | |
| nonEnumerables: Joi.boolean(), | |
| presence: Joi.valid('required', 'optional', 'forbidden'), | |
| skipFunctions: Joi.boolean(), | |
| stripUnknown: Joi.object({ | |
| arrays: Joi.boolean(), | |
| objects: Joi.boolean() | |
| }) | |
| .or('arrays', 'objects') | |
| .allow(true, false), | |
| warnings: Joi.boolean() | |
| }) | |
| .strict(); | |
| // Extensions | |
| internals.nameRx = /^[a-zA-Z0-9]\w*$/; | |
| internals.rule = Joi.object({ | |
| alias: Joi.array().items(Joi.string().pattern(internals.nameRx)).single(), | |
| args: Joi.array().items( | |
| Joi.string(), | |
| Joi.object({ | |
| name: Joi.string().pattern(internals.nameRx).required(), | |
| ref: Joi.boolean(), | |
| assert: Joi.alternatives([ | |
| Joi.function(), | |
| Joi.object().schema() | |
| ]) | |
| .conditional('ref', { is: true, then: Joi.required() }), | |
| normalize: Joi.function(), | |
| message: Joi.string().when('assert', { is: Joi.function(), then: Joi.required() }) | |
| }) | |
| ), | |
| convert: Joi.boolean(), | |
| manifest: Joi.boolean(), | |
| method: Joi.function().allow(false), | |
| multi: Joi.boolean(), | |
| validate: Joi.function() | |
| }); | |
| exports.extension = Joi.object({ | |
| type: Joi.alternatives([ | |
| Joi.string(), | |
| Joi.object().regex() | |
| ]) | |
| .required(), | |
| args: Joi.function(), | |
| cast: Joi.object().pattern(internals.nameRx, Joi.object({ | |
| from: Joi.function().maxArity(1).required(), | |
| to: Joi.function().minArity(1).maxArity(2).required() | |
| })), | |
| base: Joi.object().schema() | |
| .when('type', { is: Joi.object().regex(), then: Joi.forbidden() }), | |
| coerce: [ | |
| Joi.function().maxArity(3), | |
| Joi.object({ method: Joi.function().maxArity(3).required(), from: Joi.array().items(Joi.string()).single() }) | |
| ], | |
| flags: Joi.object().pattern(internals.nameRx, Joi.object({ | |
| setter: Joi.string(), | |
| default: Joi.any() | |
| })), | |
| manifest: { | |
| build: Joi.function().arity(2) | |
| }, | |
| messages: [Joi.object(), Joi.string()], | |
| modifiers: Joi.object().pattern(internals.nameRx, Joi.function().minArity(1).maxArity(2)), | |
| overrides: Joi.object().pattern(internals.nameRx, Joi.function()), | |
| prepare: Joi.function().maxArity(3), | |
| rebuild: Joi.function().arity(1), | |
| rules: Joi.object().pattern(internals.nameRx, internals.rule), | |
| terms: Joi.object().pattern(internals.nameRx, Joi.object({ | |
| init: Joi.array().allow(null).required(), | |
| manifest: Joi.object().pattern(/.+/, [ | |
| Joi.valid('schema', 'single'), | |
| Joi.object({ | |
| mapped: Joi.object({ | |
| from: Joi.string().required(), | |
| to: Joi.string().required() | |
| }) | |
| .required() | |
| }) | |
| ]) | |
| })), | |
| validate: Joi.function().maxArity(3) | |
| }) | |
| .strict(); | |
| exports.extensions = Joi.array().items(Joi.object(), Joi.function().arity(1)).strict(); | |
| // Manifest | |
| internals.desc = { | |
| buffer: Joi.object({ | |
| buffer: Joi.string() | |
| }), | |
| func: Joi.object({ | |
| function: Joi.function().required(), | |
| options: { | |
| literal: true | |
| } | |
| }), | |
| override: Joi.object({ | |
| override: true | |
| }), | |
| ref: Joi.object({ | |
| ref: Joi.object({ | |
| type: Joi.valid('value', 'global', 'local'), | |
| path: Joi.array().required(), | |
| separator: Joi.string().length(1).allow(false), | |
| ancestor: Joi.number().min(0).integer().allow('root'), | |
| map: Joi.array().items(Joi.array().length(2)).min(1), | |
| adjust: Joi.function(), | |
| iterables: Joi.boolean(), | |
| in: Joi.boolean(), | |
| render: Joi.boolean() | |
| }) | |
| .required() | |
| }), | |
| regex: Joi.object({ | |
| regex: Joi.string().min(3) | |
| }), | |
| special: Joi.object({ | |
| special: Joi.valid('deep').required() | |
| }), | |
| template: Joi.object({ | |
| template: Joi.string().required(), | |
| options: Joi.object() | |
| }), | |
| value: Joi.object({ | |
| value: Joi.alternatives([Joi.object(), Joi.array()]).required() | |
| }) | |
| }; | |
| internals.desc.entity = Joi.alternatives([ | |
| Joi.array().items(Joi.link('...')), | |
| Joi.boolean(), | |
| Joi.function(), | |
| Joi.number(), | |
| Joi.string(), | |
| internals.desc.buffer, | |
| internals.desc.func, | |
| internals.desc.ref, | |
| internals.desc.regex, | |
| internals.desc.special, | |
| internals.desc.template, | |
| internals.desc.value, | |
| Joi.link('/') | |
| ]); | |
| internals.desc.values = Joi.array() | |
| .items( | |
| null, | |
| Joi.boolean(), | |
| Joi.function(), | |
| Joi.number().allow(Infinity, -Infinity), | |
| Joi.string().allow(''), | |
| Joi.symbol(), | |
| internals.desc.buffer, | |
| internals.desc.func, | |
| internals.desc.override, | |
| internals.desc.ref, | |
| internals.desc.regex, | |
| internals.desc.template, | |
| internals.desc.value | |
| ); | |
| internals.desc.messages = Joi.object() | |
| .pattern(/.+/, [ | |
| Joi.string(), | |
| internals.desc.template, | |
| Joi.object().pattern(/.+/, [Joi.string(), internals.desc.template]) | |
| ]); | |
| exports.description = Joi.object({ | |
| type: Joi.string().required(), | |
| flags: Joi.object({ | |
| cast: Joi.string(), | |
| default: Joi.any(), | |
| description: Joi.string(), | |
| empty: Joi.link('/'), | |
| failover: internals.desc.entity, | |
| id: Joi.string(), | |
| label: Joi.string(), | |
| only: true, | |
| presence: ['optional', 'required', 'forbidden'], | |
| result: ['raw', 'strip'], | |
| strip: Joi.boolean(), | |
| unit: Joi.string() | |
| }) | |
| .unknown(), | |
| preferences: { | |
| allowUnknown: Joi.boolean(), | |
| abortEarly: Joi.boolean(), | |
| artifacts: Joi.boolean(), | |
| cache: Joi.boolean(), | |
| convert: Joi.boolean(), | |
| dateFormat: ['date', 'iso', 'string', 'time', 'utc'], | |
| errors: { | |
| escapeHtml: Joi.boolean(), | |
| label: ['path', 'key'], | |
| language: [ | |
| Joi.string(), | |
| internals.desc.ref | |
| ], | |
| wrap: { | |
| label: internals.wrap, | |
| array: internals.wrap | |
| } | |
| }, | |
| externals: Joi.boolean(), | |
| messages: internals.desc.messages, | |
| noDefaults: Joi.boolean(), | |
| nonEnumerables: Joi.boolean(), | |
| presence: ['required', 'optional', 'forbidden'], | |
| skipFunctions: Joi.boolean(), | |
| stripUnknown: Joi.object({ | |
| arrays: Joi.boolean(), | |
| objects: Joi.boolean() | |
| }) | |
| .or('arrays', 'objects') | |
| .allow(true, false), | |
| warnings: Joi.boolean() | |
| }, | |
| allow: internals.desc.values, | |
| invalid: internals.desc.values, | |
| rules: Joi.array().min(1).items({ | |
| name: Joi.string().required(), | |
| args: Joi.object().min(1), | |
| keep: Joi.boolean(), | |
| message: [ | |
| Joi.string(), | |
| internals.desc.messages | |
| ], | |
| warn: Joi.boolean() | |
| }), | |
| // Terms | |
| keys: Joi.object().pattern(/.*/, Joi.link('/')), | |
| link: internals.desc.ref | |
| }) | |
| .pattern(/^[a-z]\w*$/, Joi.any()); | |