How to use where clause in Knex
Create refunds with Stripe
Load HTML with Cheerio
How to send POST request with Axios
Find intersection of array in Lodash
Powered by Official white Bloop logo with a period

Terms / Privacy / Search / Support

  • module.exports = function () {
    	try {
    		
    		//...
    if (pattern) {
    			try {
    				
    				//...
    if (!config.get('server.production') && config.get('code.validation.jsonSchema.live')) {
    					if (fs.existsSync(pattern.schemaFilePath)) {
    						
    						//...
    const valid = ajv.validate(schema, patternData);
    						
    						//...
    }
    				}
    				
    				//...
    } catch (e) {
    				
    				//...
    }
    		}
    
    		
    
    		//...
    } catch (e) {
    		
    		//...
    }
    }
    <pre class="typing-tooltip"><code data-language="javascript" class="language-javascript"><span class="token keyword">module</span> <span class="token keyword">export</span><span class="token operator">=</span> <span class="token punctuation">(</span>property<span class="token punctuation">)</span> <span class="token keyword">export</span><span class="token operator">=</span><span class="token operator">:</span> <span class="token punctuation">(</span><span class="token parameter"><span class="token operator">...</span>args<span class="token operator">:</span> any<span class="token punctuation">[</span><span class="token punctuation">]</span></span><span class="token punctuation">)</span> <span class="token operator">=></span> Handlebars<span class="token punctuation">.</span>SafeString</code></pre>
    /merkle-open/generator-nitro mit
    0
  • function validateJSON(data, schema) {
      const valid = ajv.validate(schema, data);
      return { valid, errors: ajv.errors || [] };
    }
    
    
    <pre class="typing-tooltip"><code data-language="javascript" class="language-javascript"><span class="token keyword">function</span> <span class="token function">validateJSON</span><span class="token punctuation">(</span><span class="token parameter">data<span class="token operator">:</span> any<span class="token punctuation">,</span> schema<span class="token operator">:</span> any</span><span class="token punctuation">)</span><span class="token operator">:</span> <span class="token builtin">boolean</span></code><div class="typing-tooltip-markup">Validates input data based on a specified schema<br><br><em>@param</em> <code>data</code> — The data to be validated<br><br><em>@param</em> <code>schema</code> — The schema to validate against<br><br><em>@returns</em> — - Will return true if the data is valid</div></pre>
    /mozilla/shield-studies-addon-utils mpl-2.0
    0
  • module.exports = async function (options) {
    	
    	//...
    return Promise.all([getSchema(options), getContent]).then(
    		([schema, json]) => {
    			const ajv = new Ajv({ extendRefs: true });
    			const valid = ajv.validate(schema, json);
    			if (valid) return json;
    			ajv.errors.forEach((error) =>
    				logger.error(error.message, error.dataPath)
    			);
    
    			throw new Error("Invalid dependencies");
    		}
    	);
    }
    <pre class="typing-tooltip"><code data-language="javascript" class="language-javascript"><span class="token keyword">module</span> <span class="token keyword">export</span><span class="token operator">=</span> <span class="token punctuation">(</span>property<span class="token punctuation">)</span> <span class="token keyword">export</span><span class="token operator">=</span><span class="token operator">:</span> <span class="token punctuation">(</span><span class="token parameter">options<span class="token operator">:</span> any</span><span class="token punctuation">)</span> <span class="token operator">=></span> <span class="token builtin">Promise</span><span class="token operator">&lt;</span><span class="token builtin">any</span><span class="token operator">></span></code></pre>
    /microsoft/powerbi-visuals-webpack-plugin mit
    0
  • const ajv = new Ajv({$data: true})
    
    const schema = {
      properties: {
        smaller: {
          type: "number",
          maximum: {$data: "1/larger"},
        },
        larger: {type: "number"},
      },
    }
    
    const validData = {
      smaller: 5,
      larger: 7,
    }
    
    ajv.validate(schema, validData) // true
    
    <pre class="typing-tooltip"><code data-language="javascript" class="language-javascript"><span class="token punctuation">(</span>alias<span class="token punctuation">)</span> <span class="token keyword">class</span> <span class="token class-name">ajv</span> <span class="token keyword">import</span> ajv <span class="token keyword">const</span> ajv<span class="token operator">:</span> Ajv</code></pre>
    Docs
    0
  • ajv.addKeyword({
      keyword: "range",
      type: "number",
      macro: ([minimum, maximum]) => ({minimum, maximum}), // schema with keywords minimum and maximum
      // metaSchema: the same as in the example above
    })
    
    <pre class="typing-tooltip"><code data-language="javascript" class="language-javascript"><span class="token punctuation">(</span>alias<span class="token punctuation">)</span> <span class="token keyword">class</span> <span class="token class-name">ajv</span> <span class="token keyword">import</span> ajv</code></pre>
    Docs
    0
  • import {_, nil, KeywordCxt} from Ajv
    
    ajv.addKeyword({
      keyword: "range",
      type: "number",
      code(cxt: KeywordCxt) {
        const {schema, parentSchema, data} = cxt
        const [min, max] = schema
        const eq: Code = parentSchema.exclusiveRange ? _`=` : nil
        cxt.fail(_`${data} <${eq} ${min} || ${data} >${eq} ${max}`)
      },
      metaSchema: {
        type: "array",
        items: [{type: "number"}, {type: "number"}],
        minItems: 2,
        additionalItems: false,
      },
    })
    
    <pre class="typing-tooltip"><code data-language="javascript" class="language-javascript"><span class="token keyword">import</span> _</code></pre>
    Docs
    0
  • ajv.addKeyword({
      keyword: "constant",
      validate: (schema, data) =>
        typeof schema == "object" && schema !== null ? deepEqual(schema, data) : schema === data,
      errors: false,
    })
    
    const schema = {
      constant: 2,
    }
    const validate = ajv.compile(schema)
    console.log(validate(2)) // true
    console.log(validate(3)) // false
    
    const schema = {
      constant: {foo: "bar"},
    }
    const validate = ajv.compile(schema)
    console.log(validate({foo: "bar"})) // true
    console.log(validate({foo: "baz"})) // false
    
    <pre class="typing-tooltip"><code data-language="javascript" class="language-javascript"><span class="token punctuation">(</span>alias<span class="token punctuation">)</span> <span class="token keyword">class</span> <span class="token class-name">ajv</span> <span class="token keyword">import</span> ajv</code></pre>
    Docs
    0
  • ajv.addKeyword({
      keyword: "range",
      type: "number",
      compile([min, max], parentSchema) {
        return parentSchema.exclusiveRange === true
          ? (data) => data > min && data < max
          : (data) => data >= min && data <= max
      },
      errors: false,
      metaSchema: {
        // schema to validate keyword value
        type: "array",
        items: [{type: "number"}, {type: "number"}],
        minItems: 2,
        additionalItems: false,
      },
    })
    
    const schema = {
      range: [2, 4],
      exclusiveRange: true,
    }
    const validate = ajv.compile(schema)
    console.log(validate(2.01)) // true
    console.log(validate(3.99)) // true
    console.log(validate(2)) // false
    console.log(validate(4)) // false
    
    <pre class="typing-tooltip"><code data-language="javascript" class="language-javascript"><span class="token punctuation">(</span>alias<span class="token punctuation">)</span> <span class="token keyword">class</span> <span class="token class-name">ajv</span> <span class="token keyword">import</span> ajv</code></pre>
    Docs
    0
  • import {_, KeywordCxt} from Ajv
    
    ajv.addKeyword({
      keyword: "even",
      type: "number",
      schemaType: "boolean",
      // $data: true // to support [$data reference](./guide/combining-schemas.md#data-reference), ...
      code(cxt: KeywordCxt) {
        const {data, schema} = cxt
        const op = schema ? _`!==` : _`===`
        cxt.fail(_`${data} %2 ${op} 0`) // ... the only code change needed is to use `cxt.fail$data` here
      },
    })
    
    const schema = {even: true}
    const validate = ajv.compile(schema)
    console.log(validate(2)) // true
    console.log(validate(3)) // false
    
    <pre class="typing-tooltip"><code data-language="javascript" class="language-javascript"><span class="token keyword">import</span> _</code></pre>
    Docs
    0
  • function (resolve, reject) {
    		if (!payload) {
    			
    			//...
    } else {
    			try {
    				
    				//...
    if (valid && !validate.errors) {
    					
    					//...
    } else {
    					let message = ajv.errorsText(validate.errors);
    					reject(new error.InternalValidationError(message));
    				}
    
    			} catch (err) {
    				
    				//...
    }
    
    		}
    
    	}
    <pre class="typing-tooltip"><code data-language="javascript" class="language-javascript"><span class="token punctuation">(</span>parameter<span class="token punctuation">)</span> <span class="token function-variable function">resolve</span><span class="token operator">:</span> <span class="token punctuation">(</span><span class="token parameter">value<span class="token operator">:</span> any</span><span class="token punctuation">)</span> <span class="token operator">=></span> <span class="token keyword">void</span></code></pre>
    /jc21/nginx-proxy-manager mit
    0
  • async function test() {
      
      //...
    const schema = JSON.parse(await fs.readFile("./schema/buttplug-schema.json", "utf-8"));
      const validator = new ajv();
      validator.addMetaSchema(require("ajv/lib/refs/json-schema-draft-06.json"));
      const jsonValidator = validator.compile(schema);
      
      //...
    }
    
    
    <pre class="typing-tooltip"><code data-language="javascript" class="language-javascript"><span class="token keyword">function</span> <span class="token function">test</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token operator">:</span> <span class="token builtin">Promise</span><span class="token operator">&lt;</span><span class="token keyword">void</span><span class="token operator">></span></code></pre>
    /buttplugio/buttplug bsd-3-clause
    0
  • //...
    const conf = require('../conf');
    
    const ajv = new Ajv({
        schemaId: 'auto',
        allErrors: true,
        verbose: true,
    });
    
    ajv.addMetaSchema(require('ajv/lib/refs/json-schema-draft-04.json'));
    ajv.addMetaSchema(require('ajv/lib/refs/json-schema-draft-06.json'));
    
    function URIfromId(id) {
        return url.parse(id).path;
    }
    
    
    
    //...
    
    <pre class="typing-tooltip"><code data-language="javascript" class="language-javascript"><span class="token keyword">import</span> conf</code></pre>
    /openintegrationhub/openintegrationhub apache-2.0
    0
  • //...
    //support draft-04
    validator.addMetaSchema(draft4);
    
    Object.keys(Schemas).forEach(function (key) {
      if (key === 'default') {
        return;
      }
      let val = Schemas[key];
    
      validator.addSchema(val, key);
    });
    
    
    
    //...
    
    <pre class="typing-tooltip"><code data-language="javascript" class="language-javascript"><span class="token keyword">const</span> validator<span class="token operator">:</span> Ajv<span class="token punctuation">.</span>Ajv</code></pre>
    /adiwg/mdEditor GPL-3.0
    0
  • constructor(validatorOptions) {
        
        //...
    const validator = ajv({
          allErrors: true,
          errorDataPath: 'property',
          jsonPointers: true,
          verbose: true,
          schemas: this.schemas,
          schemaId: 'auto',
        });
    
        validator.addMetaSchema(jsonSchemaDraft06);
        ajvMergePatch(validator);
        this._addCustomFormats(validator);
        
        //...
    }
    
      
    <pre class="typing-tooltip"><code data-language="javascript" class="language-javascript">constructor <span class="token function">SchemaValidator</span><span class="token punctuation">(</span>validatorOptions<span class="token operator">:</span> <span class="token punctuation">{</span> minManifestVersion<span class="token operator">?</span><span class="token operator">:</span> <span class="token builtin">number</span><span class="token punctuation">;</span> maxManifestVersion<span class="token operator">?</span><span class="token operator">:</span> <span class="token builtin">number</span><span class="token punctuation">;</span> schemas<span class="token operator">?</span><span class="token operator">:</span> object<span class="token punctuation">;</span> schemaObject<span class="token operator">?</span><span class="token operator">:</span> object<span class="token punctuation">;</span> themeSchemaObject<span class="token operator">?</span><span class="token operator">:</span> object<span class="token punctuation">;</span> messagesSchemaObject<span class="token operator">?</span><span class="token operator">:</span> object<span class="token punctuation">;</span> <span class="token punctuation">}</span><span class="token punctuation">)</span><span class="token operator">:</span> SchemaValidator</code><div class="typing-tooltip-markup">Create a SchemaValidator instance, optionally customized by the given options.<br><br><em>@param</em> <code>validatorOptions</code></div></pre>
    /mozilla/addons-linter mpl-2.0
    0
  • const draft6MetaSchema = require("ajv/dist/refs/json-schema-draft-06.json")
    ajv.addMetaSchema(draft6MetaSchema)
    
    <pre class="typing-tooltip"><code data-language="javascript" class="language-javascript"><span class="token keyword">import</span> draft6MetaSchema</code></pre>
    Docs
    0
  • apiValidator.loadSchemas = parser
        .dereference(path.resolve('src/backend/schema/index.json'))
        .then((schema) => {
            ajv.addSchema(schema);
            return schema;
        })
    <pre class="typing-tooltip"><code data-language="javascript" class="language-javascript"><span class="token keyword">module</span> apiValidator <span class="token keyword">function</span> <span class="token function">apiValidator</span><span class="token punctuation">(</span><span class="token parameter">schema<span class="token operator">:</span> any<span class="token punctuation">,</span> payload<span class="token operator">:</span> any</span><span class="token punctuation">)</span><span class="token operator">:</span> <span class="token builtin">Promise</span><span class="token operator">&lt;</span><span class="token builtin">any</span><span class="token operator">></span></code><div class="typing-tooltip-markup"><em>@param</em> <code>schema</code><br><br><em>@param</em> <code>payload</code><br><br><em>@returns</em></div></pre>
    /jc21/docker-registry-ui mit
    0
  • const ajv = new Ajv()
    const validate = ajv.addSchema(defsSchema).compile(schema)
    
    <pre class="typing-tooltip"><code data-language="javascript" class="language-javascript"><span class="token punctuation">(</span>alias<span class="token punctuation">)</span> <span class="token keyword">class</span> <span class="token class-name">ajv</span> <span class="token keyword">import</span> ajv <span class="token keyword">const</span> ajv<span class="token operator">:</span> Ajv</code></pre>
    Docs
    0
  • Powered by Official black Bloop logo with a period
    download the IDE extension

    View other examples