DevToolsOptions
Defined in: connector-types.ts:146
RxDB DevTools 配置选项。
Properties
allowOpaqueOrigin?
optional allowOpaqueOrigin?: boolean;
Defined in: connector-types.ts:205
是否允许在 opaque origin(location.origin === 'null')下用 '*' 广播消息。
Default Value
false
Remarks
连接器一律以 location.origin 为 targetOrigin。sandbox iframe、data:/blob:
文档的 origin 是不透明的,location.origin 求值为字符串 'null',
postMessage(msg, 'null') 会静默失败 —— 消息不到、也没有任何报错。
默认策略是显式失败:DevToolsConnector.init 打一次 warning 并保持停用,
而不是偷偷退回 '*' 把消息广播给同页所有 frame。确实需要在 sandbox 里调试时,
把本项设为 true 显式接受该风险。
capabilities?
optional capabilities?: DevToolsCapability;
Defined in: connector-types.ts:175
授予 DevTools 的命令能力档。
Default Value
'full'
Remarks
默认 'full' 是为了不破坏已发布的扩展面板(它依赖 SWITCH/CREATE/DELETE_BRANCH)。
生产环境应显式降到 'readonly' 或 'none' —— 页面消息总线对同源脚本完全开放,
档位决定了伪造命令最多能做到什么。语义见 DevToolsCapability。
enabled?
optional enabled?: boolean;
Defined in: connector-types.ts:164
是否启用连接器。
Default Value
true
Remarks
false 时 DevToolsConnector.init 直接返回:不注册 message 监听、
不订阅 RxDB 事件、不挂全局 helper。生产构建里关掉它即可完全消除
「页面消息总线上出现实体数据」这条暴露面。
maxBufferSize?
optional maxBufferSize?: number;
Defined in: connector-types.ts:153
握手完成前缓存的事件条数上限,超出按 FIFO 丢弃最旧的。
Default Value
100
Throws
RangeError 构造时传入非正安全整数
mutationPolicy?
optional mutationPolicy?: DevToolsMutationPolicy;
Defined in: connector-types.ts:190
页面是否为本次运行打开 v2 数据面的写路径。
Default Value
'omit'
Remarks
与 DevToolsOptions.capabilities 是两个决策者的开关,不能合成一个:
档位说的是「面板被允许下达多重的命令」,本项说的是「页面愿不愿意被写盘」。
合一之后,为了让面板能列目录而调到 'full',会顺带把删除、上传、建目录一起打开。
默认 'omit':接上 provider 只意味着可读,写入必须 owner 显式表态。
被拒时对端收到的是 provider_unsupported——与「没有这个领域」同形,
不泄漏页面开了哪些写能力(见 DevToolsMutationPolicy)。
providers?
optional providers?: DevToolsProviderOptions;
Defined in: connector-types.ts:215
原生宿主(Electron / Tauri)的 provider 装配端口。
Remarks
缺省时连接器按浏览器自动探测(OPFS files + browser settings + runtime: browser)。
桌面宿主必须显式给出:原生文件后端(nativeFiles)、settings 的语义 kind(sqlite),
与显示用 runtime。省略任何一项都不做「猜一个」的兜底,而是退回浏览器形态。
transport?
optional transport?: DevToolsConnectorTransport;
Defined in: connector-types.ts:225
连接器的传输层;缺省为浏览器实现(window 总线 + MessageChannel 私有端口)。
Remarks
Tauri / 其它无共享 window 的宿主必须显式给一个宿主传输(如 invoke/listen),
否则 connector 仍按浏览器发 window.postMessage,面板侧永远收不到。缺省保持浏览器行为,
不破坏既有三框架 demo。