From 4a139f56518ed39abe99c4767d2c9744715009cc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Philipp=20Ku=CC=88hn?= Date: Mon, 26 Oct 2020 20:04:55 +0100 Subject: [PATCH] improve attributes --- .../core/src/utils/injectExtensionAttributesToParseRule.ts | 5 ++++- packages/extension-link/index.ts | 3 +-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/packages/core/src/utils/injectExtensionAttributesToParseRule.ts b/packages/core/src/utils/injectExtensionAttributesToParseRule.ts index a08b9350..0934c480 100644 --- a/packages/core/src/utils/injectExtensionAttributesToParseRule.ts +++ b/packages/core/src/utils/injectExtensionAttributesToParseRule.ts @@ -26,9 +26,12 @@ export default function injectExtensionAttributesToParseRule(parseRule: ParseRul [item.name]: (node as HTMLElement).dataset[item.name], } + const filteredAttributes = Object.fromEntries(Object.entries(attributes) + .filter(([, value]) => value !== undefined && value !== null)) + return { ...items, - ...attributes, + ...filteredAttributes, } }, {}) diff --git a/packages/extension-link/index.ts b/packages/extension-link/index.ts index 29511ded..40659e34 100644 --- a/packages/extension-link/index.ts +++ b/packages/extension-link/index.ts @@ -39,8 +39,7 @@ const Link = createMark({ target: attributes.target, }), parseHTML: node => ({ - // TODO: always return default value on `null` or `undefined` - target: node.getAttribute('target') || this.options.target, + target: node.getAttribute('target'), }), }, }