EdgeAIG's picture
download
raw
969 Bytes
/**
* Interfaces for describing changes to a value as patches. A
* `Differ<T, Patch>` compares an old and new value, creates a patch for the
* difference, combines patches in order, and applies a patch to an old value to
* produce an updated value.
*
* @since 4.0.0
*/
/**
* Describes how to compute, combine, and apply patches for values of type `T`.
*
* **When to use**
*
* Use to model patch-based updates for a value type when callers need to
* compute a patch from two values, combine patches, and apply a patch later.
*
* **Details**
*
* A `Differ` provides an empty patch, computes the patch between two values,
* combines patches, and applies a patch to an old value to produce an updated
* value.
*
* @category models
* @since 2.0.0
*/
export interface Differ<in out T, in out Patch> {
readonly empty: Patch
diff(oldValue: T, newValue: T): Patch
combine(first: Patch, second: Patch): Patch
patch(oldValue: T, patch: Patch): T
}

Xet Storage Details

Size:
969 Bytes
·
Xet hash:
e426e813c384c69eea74d2422fedfe739a7c729af2ff1f63b4b1603f211da3e9

Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.