From 0252b2825c7777c73db5f9436a2dc87d9ab1bee3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Benjam=C3=ADn=20Eidelman?= Date: Thu, 27 Mar 2025 21:49:35 -0300 Subject: [PATCH 1/4] fix: fixes #367 --- packages/jsondiffpatch/src/formatters/html.ts | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/packages/jsondiffpatch/src/formatters/html.ts b/packages/jsondiffpatch/src/formatters/html.ts index 2a3fe080..2388588a 100644 --- a/packages/jsondiffpatch/src/formatters/html.ts +++ b/packages/jsondiffpatch/src/formatters/html.ts @@ -30,7 +30,10 @@ class HtmlFormatter extends BaseFormatter { } formatValue(context: HtmlFormatterContext, value: unknown) { - context.out(`
${htmlEscape(JSON.stringify(value, null, 2))}
`); + const valueAsHtml = typeof value === "undefined" + ? "undefined" + : htmlEscape(JSON.stringify(value, null, 2)); + context.out(`
${valueAsHtml}
`); } formatTextDiffString(context: HtmlFormatterContext, value: string) { From 20bc92023afb9626205db4482bd6571bce14d48f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Benjam=C3=ADn=20Eidelman?= Date: Thu, 27 Mar 2025 23:20:41 -0300 Subject: [PATCH 2/4] fix: fixes #180 --- demos/html-demo/demo.ts | 26 ++++++++++++++------------ 1 file changed, 14 insertions(+), 12 deletions(-) diff --git a/demos/html-demo/demo.ts b/demos/html-demo/demo.ts index ce06d266..a27a94cc 100644 --- a/demos/html-demo/demo.ts +++ b/demos/html-demo/demo.ts @@ -268,18 +268,20 @@ const getExampleJson = function () { const diffOptions = { objectHash: function (obj, index) { - const objRecord = obj as Record; - if (typeof objRecord._id !== 'undefined') { - return objRecord._id; - } - if (typeof objRecord.id !== 'undefined') { - return objRecord.id; - } - if (typeof objRecord.key !== 'undefined') { - return objRecord.key; - } - if (typeof objRecord.name !== 'undefined') { - return objRecord.name; + if (typeof obj === 'object' && obj !== null) { + const objRecord = obj as Record; + if (typeof objRecord._id !== 'undefined') { + return objRecord._id; + } + if (typeof objRecord.id !== 'undefined') { + return objRecord.id; + } + if (typeof objRecord.key !== 'undefined') { + return objRecord.key; + } + if (typeof objRecord.name !== 'undefined') { + return objRecord.name; + } } return '$$index:' + index; }, From dfe01ef3b2e09916e95b1bc731a1dbff99209fdc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Benjam=C3=ADn=20Eidelman?= Date: Fri, 28 Mar 2025 09:56:09 -0300 Subject: [PATCH 3/4] chore: update gtag --- demos/html-demo/index.html | 40 ++++++++++++++------------------------ 1 file changed, 15 insertions(+), 25 deletions(-) diff --git a/demos/html-demo/index.html b/demos/html-demo/index.html index 271dbc09..393b53e7 100644 --- a/demos/html-demo/index.html +++ b/demos/html-demo/index.html @@ -58,6 +58,21 @@ + + + + Features

- - From c291c3c6944a49c1c9e5d79160797e44e328f5d4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Benjam=C3=ADn=20Eidelman?= Date: Fri, 28 Mar 2025 09:56:47 -0300 Subject: [PATCH 4/4] fix: reformat --- packages/jsondiffpatch/src/formatters/html.ts | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/packages/jsondiffpatch/src/formatters/html.ts b/packages/jsondiffpatch/src/formatters/html.ts index 2388588a..1a520fd4 100644 --- a/packages/jsondiffpatch/src/formatters/html.ts +++ b/packages/jsondiffpatch/src/formatters/html.ts @@ -30,9 +30,10 @@ class HtmlFormatter extends BaseFormatter { } formatValue(context: HtmlFormatterContext, value: unknown) { - const valueAsHtml = typeof value === "undefined" - ? "undefined" - : htmlEscape(JSON.stringify(value, null, 2)); + const valueAsHtml = + typeof value === 'undefined' + ? 'undefined' + : htmlEscape(JSON.stringify(value, null, 2)); context.out(`
${valueAsHtml}
`); }