| Server IP : 46.62.235.243 / Your IP : 216.73.216.163 Web Server : Apache/2.4.58 (Ubuntu) System : Linux Linkabili3Dicembre 6.8.0-100-generic #100-Ubuntu SMP PREEMPT_DYNAMIC Tue Jan 13 16:40:06 UTC 2026 x86_64 User : www-data ( 33) PHP Version : 8.1.33 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : OFF Directory : /usr/share/nodejs/ajv-keywords/src/definitions/ |
Upload File : |
import type {FuncKeywordDefinition} from "ajv"
type Constructor = new (...args: any[]) => any
const CONSTRUCTORS: Record<string, Constructor | undefined> = {
Object,
Array,
Function,
Number,
String,
Date,
RegExp,
}
/* istanbul ignore else */
if (typeof Buffer != "undefined") CONSTRUCTORS.Buffer = Buffer
/* istanbul ignore else */
if (typeof Promise != "undefined") CONSTRUCTORS.Promise = Promise
const getDef: (() => FuncKeywordDefinition) & {
CONSTRUCTORS: typeof CONSTRUCTORS
} = Object.assign(_getDef, {CONSTRUCTORS})
function _getDef(): FuncKeywordDefinition {
return {
keyword: "instanceof",
schemaType: ["string", "array"],
compile(schema: string | string[]) {
if (typeof schema == "string") {
const C = getConstructor(schema)
return (data) => data instanceof C
}
if (Array.isArray(schema)) {
const constructors = schema.map(getConstructor)
return (data) => {
for (const C of constructors) {
if (data instanceof C) return true
}
return false
}
}
/* istanbul ignore next */
throw new Error("ajv implementation error")
},
metaSchema: {
anyOf: [{type: "string"}, {type: "array", items: {type: "string"}}],
},
}
}
function getConstructor(c: string): Constructor {
const C = CONSTRUCTORS[c]
if (C) return C
throw new Error(`invalid "instanceof" keyword value ${c}`)
}
export default getDef
module.exports = getDef