You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							161 lines
						
					
					
						
							7.6 KiB
						
					
					
				
			
		
		
	
	
							161 lines
						
					
					
						
							7.6 KiB
						
					
					
				'use strict'; | 
						|
 | 
						|
const internals = {}; | 
						|
 | 
						|
 | 
						|
exports.errors = { | 
						|
    root: 'value', | 
						|
    key: '"{{!label}}" ', | 
						|
    messages: { | 
						|
        wrapArrays: true | 
						|
    }, | 
						|
    any: { | 
						|
        unknown: 'is not allowed', | 
						|
        invalid: 'contains an invalid value', | 
						|
        empty: 'is not allowed to be empty', | 
						|
        required: 'is required', | 
						|
        allowOnly: 'must be one of {{valids}}', | 
						|
        default: 'threw an error when running default method' | 
						|
    }, | 
						|
    alternatives: { | 
						|
        base: 'not matching any of the allowed alternatives', | 
						|
        child: null | 
						|
    }, | 
						|
    array: { | 
						|
        base: 'must be an array', | 
						|
        includes: 'at position {{pos}} does not match any of the allowed types', | 
						|
        includesSingle: 'single value of "{{!label}}" does not match any of the allowed types', | 
						|
        includesOne: 'at position {{pos}} fails because {{reason}}', | 
						|
        includesOneSingle: 'single value of "{{!label}}" fails because {{reason}}', | 
						|
        includesRequiredUnknowns: 'does not contain {{unknownMisses}} required value(s)', | 
						|
        includesRequiredKnowns: 'does not contain {{knownMisses}}', | 
						|
        includesRequiredBoth: 'does not contain {{knownMisses}} and {{unknownMisses}} other required value(s)', | 
						|
        excludes: 'at position {{pos}} contains an excluded value', | 
						|
        excludesSingle: 'single value of "{{!label}}" contains an excluded value', | 
						|
        hasKnown: 'does not contain at least one required match for type "{{!patternLabel}}"', | 
						|
        hasUnknown: 'does not contain at least one required match', | 
						|
        min: 'must contain at least {{limit}} items', | 
						|
        max: 'must contain less than or equal to {{limit}} items', | 
						|
        length: 'must contain {{limit}} items', | 
						|
        ordered: 'at position {{pos}} fails because {{reason}}', | 
						|
        orderedLength: 'at position {{pos}} fails because array must contain at most {{limit}} items', | 
						|
        ref: 'references "{{ref}}" which is not a positive integer', | 
						|
        sparse: 'must not be a sparse array', | 
						|
        unique: 'position {{pos}} contains a duplicate value' | 
						|
    }, | 
						|
    boolean: { | 
						|
        base: 'must be a boolean' | 
						|
    }, | 
						|
    binary: { | 
						|
        base: 'must be a buffer or a string', | 
						|
        min: 'must be at least {{limit}} bytes', | 
						|
        max: 'must be less than or equal to {{limit}} bytes', | 
						|
        length: 'must be {{limit}} bytes' | 
						|
    }, | 
						|
    date: { | 
						|
        base: 'must be a number of milliseconds or valid date string', | 
						|
        strict: 'must be a valid date', | 
						|
        min: 'must be larger than or equal to "{{limit}}"', | 
						|
        max: 'must be less than or equal to "{{limit}}"', | 
						|
        less: 'must be less than "{{limit}}"', | 
						|
        greater: 'must be greater than "{{limit}}"', | 
						|
        isoDate: 'must be a valid ISO 8601 date', | 
						|
        timestamp: { | 
						|
            javascript: 'must be a valid timestamp or number of milliseconds', | 
						|
            unix: 'must be a valid timestamp or number of seconds' | 
						|
        }, | 
						|
        ref: 'references "{{ref}}" which is not a date' | 
						|
    }, | 
						|
    function: { | 
						|
        base: 'must be a Function', | 
						|
        arity: 'must have an arity of {{n}}', | 
						|
        minArity: 'must have an arity greater or equal to {{n}}', | 
						|
        maxArity: 'must have an arity lesser or equal to {{n}}', | 
						|
        ref: 'must be a Joi reference', | 
						|
        class: 'must be a class' | 
						|
    }, | 
						|
    lazy: { | 
						|
        base: '!!schema error: lazy schema must be set', | 
						|
        schema: '!!schema error: lazy schema function must return a schema' | 
						|
    }, | 
						|
    object: { | 
						|
        base: 'must be an object', | 
						|
        child: '!!child "{{!child}}" fails because {{reason}}', | 
						|
        min: 'must have at least {{limit}} children', | 
						|
        max: 'must have less than or equal to {{limit}} children', | 
						|
        length: 'must have {{limit}} children', | 
						|
        allowUnknown: '!!"{{!child}}" is not allowed', | 
						|
        with: '!!"{{mainWithLabel}}" missing required peer "{{peerWithLabel}}"', | 
						|
        without: '!!"{{mainWithLabel}}" conflict with forbidden peer "{{peerWithLabel}}"', | 
						|
        missing: 'must contain at least one of {{peersWithLabels}}', | 
						|
        xor: 'contains a conflict between exclusive peers {{peersWithLabels}}', | 
						|
        oxor: 'contains a conflict between optional exclusive peers {{peersWithLabels}}', | 
						|
        and: 'contains {{presentWithLabels}} without its required peers {{missingWithLabels}}', | 
						|
        nand: '!!"{{mainWithLabel}}" must not exist simultaneously with {{peersWithLabels}}', | 
						|
        assert: '!!"{{ref}}" validation failed because "{{ref}}" failed to {{message}}', | 
						|
        rename: { | 
						|
            multiple: 'cannot rename child "{{from}}" because multiple renames are disabled and another key was already renamed to "{{to}}"', | 
						|
            override: 'cannot rename child "{{from}}" because override is disabled and target "{{to}}" exists', | 
						|
            regex: { | 
						|
                multiple: 'cannot rename children {{from}} because multiple renames are disabled and another key was already renamed to "{{to}}"', | 
						|
                override: 'cannot rename children {{from}} because override is disabled and target "{{to}}" exists' | 
						|
            } | 
						|
        }, | 
						|
        type: 'must be an instance of "{{type}}"', | 
						|
        schema: 'must be a Joi instance' | 
						|
    }, | 
						|
    number: { | 
						|
        base: 'must be a number', | 
						|
        unsafe: 'must be a safe number', | 
						|
        min: 'must be larger than or equal to {{limit}}', | 
						|
        max: 'must be less than or equal to {{limit}}', | 
						|
        less: 'must be less than {{limit}}', | 
						|
        greater: 'must be greater than {{limit}}', | 
						|
        integer: 'must be an integer', | 
						|
        negative: 'must be a negative number', | 
						|
        positive: 'must be a positive number', | 
						|
        precision: 'must have no more than {{limit}} decimal places', | 
						|
        ref: 'references "{{ref}}" which is not a number', | 
						|
        multiple: 'must be a multiple of {{multiple}}', | 
						|
        port: 'must be a valid port' | 
						|
    }, | 
						|
    string: { | 
						|
        base: 'must be a string', | 
						|
        min: 'length must be at least {{limit}} characters long', | 
						|
        max: 'length must be less than or equal to {{limit}} characters long', | 
						|
        length: 'length must be {{limit}} characters long', | 
						|
        alphanum: 'must only contain alpha-numeric characters', | 
						|
        token: 'must only contain alpha-numeric and underscore characters', | 
						|
        regex: { | 
						|
            base: 'with value "{{!value}}" fails to match the required pattern: {{pattern}}', | 
						|
            name: 'with value "{{!value}}" fails to match the {{name}} pattern', | 
						|
            invert: { | 
						|
                base: 'with value "{{!value}}" matches the inverted pattern: {{pattern}}', | 
						|
                name: 'with value "{{!value}}" matches the inverted {{name}} pattern' | 
						|
            } | 
						|
        }, | 
						|
        email: 'must be a valid email', | 
						|
        uri: 'must be a valid uri', | 
						|
        uriRelativeOnly: 'must be a valid relative uri', | 
						|
        uriCustomScheme: 'must be a valid uri with a scheme matching the {{scheme}} pattern', | 
						|
        isoDate: 'must be a valid ISO 8601 date', | 
						|
        guid: 'must be a valid GUID', | 
						|
        hex: 'must only contain hexadecimal characters', | 
						|
        hexAlign: 'hex decoded representation must be byte aligned', | 
						|
        base64: 'must be a valid base64 string', | 
						|
        dataUri: 'must be a valid dataUri string', | 
						|
        hostname: 'must be a valid hostname', | 
						|
        normalize: 'must be unicode normalized in the {{form}} form', | 
						|
        lowercase: 'must only contain lowercase characters', | 
						|
        uppercase: 'must only contain uppercase characters', | 
						|
        trim: 'must not have leading or trailing whitespace', | 
						|
        creditCard: 'must be a credit card', | 
						|
        ref: 'references "{{ref}}" which is not a number', | 
						|
        ip: 'must be a valid ip address with a {{cidr}} CIDR', | 
						|
        ipVersion: 'must be a valid ip address of one of the following versions {{version}} with a {{cidr}} CIDR' | 
						|
    }, | 
						|
    symbol: { | 
						|
        base: 'must be a symbol', | 
						|
        map: 'must be one of {{map}}' | 
						|
    } | 
						|
};
 | 
						|
 |