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
| Parameter | Type | Description |
|---|---|---|
entities | readonly EntityType[] | config.entities,仓库集合真源 |
syncConfig | | SyncOptions | EntitySyncResolver | 实例解析器 rxdb.entitySync(含实例覆盖);传 config.sync 时只按实体声明 > 全局回退解析 |
repoSyncs | RxDBSync[] | 当前分支上已存在的同步记录 |
Returns
(
| Rule<RxDBChange, StringKey<RxDBChange>, RuleValueDefault>
| RuleGroupBase<RxDBChange, StringKey<RxDBChange>, Rule<RxDBChange, StringKey<RxDBChange>, RuleValueDefault>>)[]
每个可推送仓库一条 AND 规则;没有仓库可推送时返回空数组
Remarks
仓库集合的唯一真源是 config.entities × syncType(口径见 getSyncCapability),
不是「已经有 RxDBSync 记录的仓库」。记录只回答水位线在哪、开关关没关。
enabled = false 一票否决。没有记录 ⇒ 该仓库一次都没推过 ⇒ 不设上界。