needsPush()
function needsPush(metadata, globalSync?): boolean;
Defined in: packages/rxdb/src/sync-contract/sync-type-utils.ts:287
检查 repository 是否需要 push
Parameters
| Parameter | Type | Description |
|---|---|---|
metadata | EntityMetadata | 实体元数据 |
globalSync? | | SyncOptions | EntitySyncResolver | 全局同步配置(可选);传实例解析器 rxdb.entitySync 时连同实例覆盖一起解析 |
Returns
boolean
是否需要 push
Example
needsPush(metadataFull); // true (full)
needsPush(metadataFilter); // true (filter - 本地变更不受 filter 限制)
needsPush(metadataRemote); // false (remote)
needsPush(metadataLocal); // false (local —— 只在本地,不与远端同步)
needsPush(metadataNone); // false (none)
Remarks
'local' 一律返回 false:它的定义是「SyncType.None + 只配了 local adapter、没有 remote」,
公开契约写明「只在本地」。此前返回 true 会让私有本地数据进入推送队列(对外泄露),
而且这类仓库连 remote adapter 都没有,推送本就无从执行。
与 needsPull 一样只看 syncType,不看 RxDBSync.enabled。