如何检查函数参数是否为Normalizr模式类?

时间:2019-05-06 01:23:41

标签: normalizr

在运行时是否有任何方法可以检查功能参数是否是Normalizr模式类?可以是任何类型:实体,数组,对象等。

例如:

function processTMDBRespose(response, schema) {
  // if 'schema' param is not a normalizr schema, throw!

  // some code
}

1 个答案:

答案 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'); } (如[]