在运行时是否有任何方法可以检查功能参数是否是Normalizr模式类?可以是任何类型:实体,数组,对象等。
例如:
function processTMDBRespose(response, schema) {
// if 'schema' param is not a normalizr schema, throw!
// some code
}
答案 0 :(得分:0)
您可以做的不能做。
如果您自己编写了一条仅允许从normalizr类(例如term
)创建模式并且禁止使用速记fall
的lint规则,那么您可以使用{ {1}}:
winter
但是,如果使用简写形式,则任何数组spring
或普通对象new schema.Array()
分别也是[]
和instanceof
的有效架构。这很难验证,因为JavaScript中几乎所有内容都是if (
mySchema instanceof schema.Array ||
mySchema instanceof schema.Entity ||
mySchema instanceof schema.Object ||
mySchema instanceof schema.Union ||
mySchema instanceof schema.Values
) {
// your code
} else {
throw new Error('mySchema is not a schema');
}
(如[]
)