Docs: Update benchmark results

This commit is contained in:
github-actions[bot]
2025-11-27 19:36:55 +00:00
parent e8b9dd6d0e
commit ba567f4017
109 changed files with 1138 additions and 1679 deletions

View File

@@ -1,18 +1,43 @@
async function validateJSON(jsonObject, jsonSchema) {
const { default: Ajv } = await import("https://esm.sh/ajv@8");
const { default: addFormats } = await import("https://esm.sh/ajv-formats@3");
const ajv = new Ajv({ allErrors: true, strict: false });
addFormats(ajv);
const validate = ajv.compile(jsonSchema);
const valid = validate(jsonObject);
return {
valid,
errors: valid ? [] : validate.errors.map(e =>
e.instancePath ? `${e.instancePath} ${e.message}` : e.message
)
};
try {
const Ajv = (await import('https://cdn.jsdelivr.net/npm/ajv@8/dist/ajv.min.js')).default
|| (await import('https://esm.sh/ajv@8')).default;
const ajv = new Ajv({ allErrors: true, verbose: true });
const validate = ajv.compile(jsonSchema);
const valid = validate(jsonObject);
return {
valid,
errors: valid ? [] : validate.errors.map(e =>
e.instancePath
? `${e.instancePath} ${e.message}`
: e.message
)
};
} catch (e) {
try {
const { default: Ajv } = await import('https://esm.sh/ajv@8');
const ajv = new Ajv({ allErrors: true, verbose: true });
const validate = ajv.compile(jsonSchema);
const valid = validate(jsonObject);
return {
valid,
errors: valid ? [] : validate.errors.map(e =>
e.instancePath
? `${e.instancePath} ${e.message}`
: e.message
)
};
} catch (err) {
return {
valid: false,
errors: [`Schema validation failed: ${err.message}`]
};
}
}
}
export default validateJSON;
export default validateJSON;
// Generation time: 5.496s
// Result: PASS

View File

@@ -1,11 +1,18 @@
const validateJSON = async (data, schema) => {
const { default: Ajv } = await import('https://cdn.jsdelivr.net/npm/ajv@8/dist/2020.min.js');
const ajv = new Ajv({ allErrors: true, strict: false });
const { default: Ajv } = await import('https://cdn.jsdelivr.net/npm/ajv@8.12.0/dist/2020.min.js');
const ajv = new Ajv({ allErrors: true, verbose: true });
const validate = ajv.compile(schema);
const valid = validate(data);
return {
valid,
errors: valid ? [] : validate.errors.map(e => `${e.instancePath || '/'} ${e.message}`)
errors: valid ? [] : validate.errors.map(e => ({
path: e.instancePath || '/',
message: e.message,
keyword: e.keyword,
params: e.params
}))
};
};
export default validateJSON;
export default validateJSON;
// Generation time: 3.111s
// Result: FAIL

View File

@@ -1,24 +0,0 @@
const validateJSON = async (json, schema) => {
let ajv;
try {
const { default: Ajv } = await import('https://cdn.jsdelivr.net/npm/ajv@8.17.1/+esm');
ajv = new Ajv({ allErrors: true });
} catch (e) {
return { valid: false, errors: ["Failed to load validator: " + e.message] };
}
try {
const validate = ajv.compile(schema);
const valid = validate(json);
const errors = validate.errors?.map(
e => `${e.instancePath || 'root'} ${e.message}`.trim()
) ?? [];
return { valid, errors };
} catch (e) {
return { valid: false, errors: ["Invalid schema: " + e.message] };
}
};
export default validateJSON;

View File

@@ -1,10 +1,9 @@
const validateJSON = async (d, s) => {
const { default: A } = await import('https://esm.sh/ajv@8.17.1')
const v = new A({ allErrors: true }).compile(s)
const r = v(d)
return {
valid: r,
errors: r ? [] : v.errors.map(e => `${e.instancePath} ${e.message}`.trim())
}
}
export default validateJSON;
const validateJSON = async (data, schema) => {
const { default: Ajv } = await import('https://esm.sh/ajv@8.17.1');
const validate = new Ajv({ allErrors: true }).compile(schema);
const valid = validate(data);
return { valid, errors: valid ? [] : validate.errors.map(e => `${e.instancePath} ${e.message}`.trim()) };
};
export default validateJSON;
// Generation time: 20.754s
// Result: PASS

View File

@@ -1,12 +1,24 @@
let Ajv;
async function validateJSON(json, schema) {
if(!(json&&typeof json==='object')||!(schema===true||schema===false||(schema&&typeof schema==='object')))
return{valid:false,errors:['Invalid input']};
try{
if(!Ajv){const m=await import('https://esm.sh/ajv@8');Ajv=m.default}
const ajv=new Ajv({allErrors:true}),v=ajv.compile(schema);
const valid=v(json);
return{valid,errors:valid?[]:v.errors.map(e=>`${e.instancePath||'root'} ${e.message}`)};
}catch(e){return{valid:false,errors:[e.message]}}
}
export default validateJSON;
let a, c;
export const validateJSON = async (d, s) => {
try {
if (!a) {
const { default: Ajv } = await import('https://esm.sh/ajv?bundle');
a = new Ajv({ allErrors: true });
c = new Map();
}
const k = JSON.stringify(s);
if (!c.has(k)) c.set(k, a.compile(s));
const v = c.get(k);
const valid = v(d);
return {
valid,
errors: valid ? [] : v.errors.map(e => `${e.instancePath || 'root'} ${e.message}`)
};
} catch (e) {
return { valid: false, errors: [e.message] };
}
};
export default validateJSON;
// Generation time: 19.566s
// Result: PASS

View File

@@ -1,2 +1,21 @@
const validateJSON=(()=>{let a;return async(j,s)=>{a??=(async()=>{const{default:Ajv}=await import('https://esm.run/ajv@8');return new Ajv({allErrors:1});})();const v=await a,c=v.compile(s),valid=c(j);return{valid,errors:valid?[]:(c.errors||[]).map(e=>`${e.instancePath||'/'} ${e.message}`)}}})();
export default validateJSON;
const loadAjv = (() => {
let ajv
return async () => {
if (!ajv) {
const { default: Ajv } = await import('https://cdn.jsdelivr.net/npm/ajv@8.12.0/dist/ajv.js')
ajv = new Ajv({ allErrors: true, strict: false })
}
return ajv
}
})()
export const validateJSON = async (data, schema) => {
const ajv = await loadAjv()
const validate = ajv.compile(schema)
const valid = validate(data)
const errors = valid ? [] : validate.errors.map(e => `${e.instancePath || '/'} ${e.message}`)
return { valid, errors }
}
export default validateJSON;
// Generation time: 6.678s
// Result: FAIL

View File

@@ -1,36 +0,0 @@
const validateJSON = async (json, schema) => {
try {
const { default: Ajv } = await import('https://cdn.jsdelivr.net/npm/ajv@8.12.0/+esm')
const { default: addFormats } = await import('https://cdn.jsdelivr.net/npm/ajv-formats@2.1.1/+esm')
const ajv = new Ajv({
allErrors: true,
strict: false,
validateSchema: true
})
addFormats(ajv)
const validate = ajv.compile(schema)
const valid = validate(json)
return {
valid,
errors: valid ? [] : validate.errors.map(err => ({
message: err.message,
instancePath: err.instancePath,
schemaPath: err.schemaPath,
params: err.params
}))
}
} catch (error) {
return {
valid: false,
errors: [{
message: error.message,
stack: error.stack
}]
}
}
}
export default validateJSON;

View File

@@ -1,21 +0,0 @@
let ajvInstance;
async function validateJSON(data, schema) {
if (!ajvInstance) {
const { default: Ajv } = await import('https://cdn.skypack.dev/ajv@8');
ajvInstance = new Ajv({ allErrors: true });
}
const ajv = ajvInstance;
try {
const validate = ajv.compile(schema);
const valid = validate(data);
const errors = valid ? [] : ajv.errorsText(validate.errors, { separator: '\n' })
.split('\n')
.map(s => s.trim())
.filter(Boolean);
return { valid, errors };
} catch (e) {
return { valid: false, errors: [`Schema error: ${e.message}`] };
}
}
export default validateJSON;

View File

@@ -1,10 +0,0 @@
async function validateJSON(data,schema){
const{default:Ajv}=await import('https://esm.sh/ajv@7.13.4');
const ajv=new Ajv({allErrors:true});
const validate=ajv.compile(schema);
const valid=validate(data);
if(valid)return{valid:true,errors:[]};
const errors=validate.errors.map(e=>`${e.instancePath||''} ${e.message||'Validation error'}`.trim()).filter(Boolean);
return{valid:false,errors};
}
export default validateJSON;

View File

@@ -0,0 +1,13 @@
async function validateJSON(data, schema) {
const { default: Ajv } = await import('https://cdn.jsdelivr.net/npm/ajv@8/dist/ajv.min.js');
const ajv = new Ajv({ allErrors: true });
const validate = ajv.compile(schema);
const valid = validate(data);
return {
valid,
errors: valid ? [] : validate.errors.map(e => e.message)
};
}
export default validateJSON;
// Generation time: 16.498s
// Result: FAIL