Download Fore_End/cpcn2/node_modules/joi/lib/common.js from zxy0307/JavaWeb: direct link, hf CLI and curl.
- Browser
- Download file 4.96 kB
-
https://huggingface.co/zxy0307/JavaWeb/resolve/main/Fore_End/cpcn2/node_modules/joi/lib/common.js
- Command line
-
hf download hf://zxy0307/JavaWeb/Fore_End/cpcn2/node_modules/joi/lib/common.js
-
curl -L -o common.js https://huggingface.co/zxy0307/JavaWeb/resolve/main/Fore_End/cpcn2/node_modules/joi/lib/common.js
4.96 kB
| ; | |
| const Assert = require('@hapi/hoek/lib/assert'); | |
| const AssertError = require('@hapi/hoek/lib/error'); | |
| const Pkg = require('../package.json'); | |
| let Messages; | |
| let Schemas; | |
| const internals = { | |
| isoDate: /^(?:[-+]\d{2})?(?:\d{4}(?!\d{2}\b))(?:(-?)(?:(?:0[1-9]|1[0-2])(?:\1(?:[12]\d|0[1-9]|3[01]))?|W(?:[0-4]\d|5[0-2])(?:-?[1-7])?|(?:00[1-9]|0[1-9]\d|[12]\d{2}|3(?:[0-5]\d|6[1-6])))(?![T]$|[T][\d]+Z$)(?:[T\s](?:(?:(?:[01]\d|2[0-3])(?:(:?)[0-5]\d)?|24\:?00)(?:[.,]\d+(?!:))?)(?:\2[0-5]\d(?:[.,]\d+)?)?(?:[Z]|(?:[+-])(?:[01]\d|2[0-3])(?::?[0-5]\d)?)?)?)?$/ | |
| }; | |
| exports.version = Pkg.version; | |
| exports.defaults = { | |
| abortEarly: true, | |
| allowUnknown: false, | |
| artifacts: false, | |
| cache: true, | |
| context: null, | |
| convert: true, | |
| dateFormat: 'iso', | |
| errors: { | |
| escapeHtml: false, | |
| label: 'path', | |
| language: null, | |
| render: true, | |
| stack: false, | |
| wrap: { | |
| label: '"', | |
| array: '[]' | |
| } | |
| }, | |
| externals: true, | |
| messages: {}, | |
| nonEnumerables: false, | |
| noDefaults: false, | |
| presence: 'optional', | |
| skipFunctions: false, | |
| stripUnknown: false, | |
| warnings: false | |
| }; | |
| exports.symbols = { | |
| any: Symbol.for('@hapi/joi/schema'), // Used to internally identify any-based types (shared with other joi versions) | |
| arraySingle: Symbol('arraySingle'), | |
| deepDefault: Symbol('deepDefault'), | |
| errors: Symbol('errors'), | |
| literal: Symbol('literal'), | |
| override: Symbol('override'), | |
| parent: Symbol('parent'), | |
| prefs: Symbol('prefs'), | |
| ref: Symbol('ref'), | |
| template: Symbol('template'), | |
| values: Symbol('values') | |
| }; | |
| exports.assertOptions = function (options, keys, name = 'Options') { | |
| Assert(options && typeof options === 'object' && !Array.isArray(options), 'Options must be of type object'); | |
| const unknownKeys = Object.keys(options).filter((k) => !keys.includes(k)); | |
| Assert(unknownKeys.length === 0, `${name} contain unknown keys: ${unknownKeys}`); | |
| }; | |
| exports.checkPreferences = function (prefs) { | |
| Schemas = Schemas || require('./schemas'); | |
| const result = Schemas.preferences.validate(prefs); | |
| if (result.error) { | |
| throw new AssertError([result.error.details[0].message]); | |
| } | |
| }; | |
| exports.compare = function (a, b, operator) { | |
| switch (operator) { | |
| case '=': return a === b; | |
| case '>': return a > b; | |
| case '<': return a < b; | |
| case '>=': return a >= b; | |
| case '<=': return a <= b; | |
| } | |
| }; | |
| exports.default = function (value, defaultValue) { | |
| return value === undefined ? defaultValue : value; | |
| }; | |
| exports.isIsoDate = function (date) { | |
| return internals.isoDate.test(date); | |
| }; | |
| exports.isNumber = function (value) { | |
| return typeof value === 'number' && !isNaN(value); | |
| }; | |
| exports.isResolvable = function (obj) { | |
| if (!obj) { | |
| return false; | |
| } | |
| return obj[exports.symbols.ref] || obj[exports.symbols.template]; | |
| }; | |
| exports.isSchema = function (schema, options = {}) { | |
| const any = schema && schema[exports.symbols.any]; | |
| if (!any) { | |
| return false; | |
| } | |
| Assert(options.legacy || any.version === exports.version, 'Cannot mix different versions of joi schemas'); | |
| return true; | |
| }; | |
| exports.isValues = function (obj) { | |
| return obj[exports.symbols.values]; | |
| }; | |
| exports.limit = function (value) { | |
| return Number.isSafeInteger(value) && value >= 0; | |
| }; | |
| exports.preferences = function (target, source) { | |
| Messages = Messages || require('./messages'); | |
| target = target || {}; | |
| source = source || {}; | |
| const merged = Object.assign({}, target, source); | |
| if (source.errors && | |
| target.errors) { | |
| merged.errors = Object.assign({}, target.errors, source.errors); | |
| merged.errors.wrap = Object.assign({}, target.errors.wrap, source.errors.wrap); | |
| } | |
| if (source.messages) { | |
| merged.messages = Messages.compile(source.messages, target.messages); | |
| } | |
| delete merged[exports.symbols.prefs]; | |
| return merged; | |
| }; | |
| exports.tryWithPath = function (fn, key, options = {}) { | |
| try { | |
| return fn(); | |
| } | |
| catch (err) { | |
| if (err.path !== undefined) { | |
| err.path = key + '.' + err.path; | |
| } | |
| else { | |
| err.path = key; | |
| } | |
| if (options.append) { | |
| err.message = `${err.message} (${err.path})`; | |
| } | |
| throw err; | |
| } | |
| }; | |
| exports.validateArg = function (value, label, { assert, message }) { | |
| if (exports.isSchema(assert)) { | |
| const result = assert.validate(value); | |
| if (!result.error) { | |
| return; | |
| } | |
| return result.error.message; | |
| } | |
| else if (!assert(value)) { | |
| return label ? `${label} ${message}` : message; | |
| } | |
| }; | |
| exports.verifyFlat = function (args, method) { | |
| for (const arg of args) { | |
| Assert(!Array.isArray(arg), 'Method no longer accepts array arguments:', method); | |
| } | |
| }; | |