本文へ移動
mie リファレンス
REPL Playground

std:diff リファレンス

@import 'std:diff' で取得する構造デルタモジュール。2 値の差分の取得 (diff)・適用 (apply)・反転 (invert) を提供する。

apply

apply(value, patch)
apply: { Any, List | Result(Any) }

value に patch を順に適用した新しい値を返す (非破壊)。

>>> d := diff.diff(1, 2)
>>> diff.apply(1, d)
Ok(2)

diff

diff(old, new)
diff: { Any, Any | List }

old と new の構造差分 (Patch = op の List) を返す。

>>> diff.diff(1, 2)
[{ op="replace", path=[], from=1, to=2 |}]

invert

invert(patch)
invert: { List | List }

patch を反転した逆 Patch を返す (undo 用)。

>>> d := diff.diff(1, 2)
>>> diff.invert(d)
[{ op="replace", path=[], from=2, to=1 |}]