From 22f458724f19bb389e0fac0e8aa7b6daa7b6ab36 Mon Sep 17 00:00:00 2001 From: Andreas Rumpf Date: Mon, 5 Jun 2017 21:31:26 +0200 Subject: [PATCH] new diff algorithm works --- src/karax.nim | 44 +++++++++++++++++++++++--------------------- 1 file changed, 23 insertions(+), 21 deletions(-) diff --git a/src/karax.nim b/src/karax.nim index 555b3bb..3fa2d7e 100644 --- a/src/karax.nim +++ b/src/karax.nim @@ -127,26 +127,22 @@ type EqResult = enum different, similar, identical -proc eq(a, b: VNode; shallow: bool): EqResult = +proc eq(a, b: VNode; deep: bool): EqResult = if a.kind != b.kind: return different if a.id != b.id: return different result = identical - if a.key != b.key: - kout cstring"different keys", a.key, b.key - if b.key == 0: - kout cstring"key for ", cstring($b.kind) - return different + if a.key != b.key: return different if a.kind == VNodeKind.text: if a.text != b.text: return different elif a.kind == VNodeKind.vthunk or a.kind == VNodeKind.dthunk: if a.text != b.text: return different if a.len != b.len: return different for i in 0..