跳到主要内容

buildPushableRepositoryRules()

function buildPushableRepositoryRules(
entities,
syncConfig,
repoSyncs
): (
| Rule<RxDBChange, StringKey<RxDBChange>, RuleValueDefault>
| RuleGroupBase<RxDBChange, StringKey<RxDBChange>, Rule<RxDBChange, StringKey<RxDBChange>, RuleValueDefault>>)[];

Defined in: packages/rxdb/src/sync-contract/pushable-repository-rules.ts:23

按「当前配置里有推送资格的仓库」构造 OR 组,同步记录只提供水位线。

Parameters​

ParameterTypeDescription
entitiesreadonly EntityType[]config.entities,仓库集合真源
syncConfig| SyncOptions | EntitySyncResolver实例解析器 rxdb.entitySync(含实例覆盖);传 config.sync 时只按实体声明 > 全局回退解析
repoSyncsRxDBSync[]当前分支上已存在的同步记录

Returns​

( | Rule<RxDBChange, StringKey<RxDBChange>, RuleValueDefault> | RuleGroupBase<RxDBChange, StringKey<RxDBChange>, Rule<RxDBChange, StringKey<RxDBChange>, RuleValueDefault>>)[]

每个可推送仓库一条 AND 规则;没有仓库可推送时返回空数组

Remarks​

仓库集合的唯一真源是 config.entities × syncType(口径见 getSyncCapability), 不是「已经有 RxDBSync 记录的仓库」。记录只回答水位线在哪、开关关没关。 enabled = false 一票否决。没有记录 ⇒ 该仓库一次都没推过 ⇒ 不设上界。