ÿØÿà JFIF ` ` ÿþ
|
Server : Apache System : Linux cloud.heroica.com.br 4.18.0-553.36.1.el8_10.x86_64 #1 SMP Wed Jan 22 03:07:54 EST 2025 x86_64 User : farolpborg ( 1053) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /var/www/node_services/apimetaexamepopular/node_modules/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