DevToolsNativeFilesystem
Defined in: native/native-files-provider.ts:66
provider 需要宿主提供的最小文件能力。
Remarks
刻意不复用 @aiao/rxdb-plugin-storage 的 StorageFilesystem:那个接口是按
RxdbFileStorage 的调用点反推出来的(移动、锁后端、Blob 整读),devtools 一条都不需要,
却少一件它必须有的东西——目录项的大小与时间。让 devtools 依赖那个包还会把桌面传输层
拖进一个要能打进浏览器 bundle 的包里。装配层负责把两者对接(见 US-504 的
@aiao/rxdb-plugin-storage/desktop)。
入参是已校验的段序列,不是路径字符串:字符串会诱导实现方再解析一次,而再解析一次
就是再给一次 .. 生效的机会。
Methods
createDirectory()
createDirectory(segments): Promise<void>;
Defined in: native/native-files-provider.ts:72
建目录;父目录一并创建。已存在时由 provider 先探测并拒绝,实现方不必处理冲突。
Parameters
| Parameter | Type |
|---|---|
segments | readonly string[] |
Returns
Promise<void>
list()
list(segments): Promise<readonly DevToolsNativeEntry[]>;
Defined in: native/native-files-provider.ts:68
列出目录的直属条目;空段序列表示插件专用根。
Parameters
| Parameter | Type |
|---|---|
segments | readonly string[] |
Returns
Promise<readonly DevToolsNativeEntry[]>
openRead()
openRead(segments): Promise<DevToolsChunkSource>;
Defined in: native/native-files-provider.ts:76
打开按需读取的字节源。
Parameters
| Parameter | Type |
|---|---|
segments | readonly string[] |
Returns
Promise<DevToolsChunkSource>
openWrite()
openWrite(segments): Promise<DevToolsChunkSink>;
Defined in: native/native-files-provider.ts:84
打开一次写入。
Parameters
| Parameter | Type |
|---|---|
segments | readonly string[] |
Returns
Promise<DevToolsChunkSink>
Remarks
契约与 DevToolsChunkSink 一致:commit() 之前目标文件不得对其他读者可见,
discard() 必须清干净临时产物。AC#47 的「失败/取消/超时无半写文件」就落在这一条上。
remove()
remove(segments): Promise<void>;
Defined in: native/native-files-provider.ts:74
递归删除文件或目录。
Parameters
| Parameter | Type |
|---|---|
segments | readonly string[] |
Returns
Promise<void>
stat()
stat(segments): Promise<DevToolsNativeEntry | undefined>;
Defined in: native/native-files-provider.ts:70
取单个条目;不存在时为 undefined。
Parameters
| Parameter | Type |
|---|---|
segments | readonly string[] |
Returns
Promise<DevToolsNativeEntry | undefined>