LightTableDelta

一个 Swift 包,提供一个类型 Delta<Element>,包含三种情况:

描述

Delta 类型代表一种包含性 OR 关系:要么有一个源元素可用,要么有一个目标元素可用,或者两者都可用。Delta 的行为类似于 Optional,但它不是表示 0 或 1 个元素,而是表示 1 或 2 个元素。

实现

源和目标被描述为 delta 的两个方面。可以通过可选的 sourcetarget 属性访问这两个方面。便捷的方法,如 resolve(favoring:)merge(coalesce:) 也提供了对元素的访问。

使用 map(:)asyncMap(:)mapAny(:)mapAll(:) 将一个 Delta 值转换为不同的 Delta 值。

Delta 类型也符合所有标准协议(取决于其 Element 类型的符合性):

此外,Delta 符合 RandomAccessCollection,允许遍历元素以及 SequenceCollectionBidirectionalCollection 提供的许多其他操作。