WriteColumns
type WriteColumns =
| {
kind: "whole_row";
}
| {
kind: "unknown";
}
| {
kind: "columns";
names: readonly string[];
};
Defined in: packages/rxdb-plugin-working-tree/src/working-tree/write-entry-matrix.ts:50
这次写碰了哪些列
Union Members
Type Literal
{
kind: "whole_row";
}
整行被替换:批量写原语与 upsert 的形态,永远不是 untracked 子集
kind
readonly kind: "whole_row";
判别位:整行替换
Type Literal
{
kind: "unknown";
}
解析不出被写列:按「不是 untracked 子集」处理(fail-closed)
kind
readonly kind: "unknown";
判别位:被写列解析不出
Type Literal
{
kind: "columns";
names: readonly string[];
}
明确的被写列名集合;空数组即语义 no-op
kind
readonly kind: "columns";
判别位:被写列已知
names
readonly names: readonly string[];
被写的列名;空数组即语义 no-op,与 whole_row 的结论相反
Remarks
三态而不是「一个可能为空的数组」:whole_row(整行替换)与 columns: [](一列都没写)
语义相反,unknown(解析不出)与两者都不同。压成数组之后 [] 要同时表达三件事,
而其中两件的正确结论相反。