getEntityStatus()
function getEntityStatus<T>(target): EntityStatus<T>;
Defined in: packages/rxdb/src/rxdb-utils.ts:99
获取实体状态。
Type Parameters
| Type Parameter |
|---|
T extends EntityType |
Parameters
| Parameter | Type | Description |
|---|---|---|
target | object | 实体实例 |
Returns
EntityStatus<T>
实体状态对象
Throws
RxDBError 当 target 不是已挂载的实体实例时
Remarks
旧实现是 target && target[STATUS]:target 为假值时返回的是 target 自己
(null / undefined / 0 / ''),却声明成 EntityStatus<T>。
需要「探测」语义的只有 isRxDBEntity,它现在自己直接读槽位,
所以这里可以老老实实 fail-fast。
形参写 object 而不是实例类型:T 从形参根本推不出来(实例类型是条件类型,
属于不可推断位),从前的 InstanceType<T> 只是看着精确——它恒等于 any,
既没约束住入参、又让每个调用点的返回值继续摊开成 any。真正决定 T 的一直是
显式类型实参或默认约束,object 把这件事说清楚。