From 0df1dac5ca05bd71f0d0a6c569cfd414944a6492 Mon Sep 17 00:00:00 2001 From: Yomen Date: Mon, 30 Sep 2019 15:35:30 +0200 Subject: [PATCH] removed Container from Attributes.dart --- packages/notus/lib/src/convert/html.dart | 2 - .../notus/lib/src/document/attributes.dart | 54 ++----------------- 2 files changed, 4 insertions(+), 52 deletions(-) diff --git a/packages/notus/lib/src/convert/html.dart b/packages/notus/lib/src/convert/html.dart index 74f37f9e8..aaf2b9c28 100644 --- a/packages/notus/lib/src/convert/html.dart +++ b/packages/notus/lib/src/convert/html.dart @@ -283,8 +283,6 @@ class _NotusHTMLEncoder extends Converter { _writeBlockTag(buffer, attribute, close: close); } else if (attribute.key == NotusAttribute.embed.key) { _writeEmbedTag(buffer, attribute, close: close); - } else if (attribute.key == NotusAttribute.container.key) { - // do nothing } else { throw new ArgumentError('Cannot handle $attribute'); } diff --git a/packages/notus/lib/src/document/attributes.dart b/packages/notus/lib/src/document/attributes.dart index b222b1232..ec211b823 100644 --- a/packages/notus/lib/src/document/attributes.dart +++ b/packages/notus/lib/src/document/attributes.dart @@ -40,6 +40,7 @@ abstract class NotusAttributeBuilder implements NotusAttributeKey { final String key; final NotusAttributeScope scope; + NotusAttribute get unset => NotusAttribute._(key, scope, null); NotusAttribute withValue(T value) => NotusAttribute._(key, scope, value); @@ -77,7 +78,6 @@ class NotusAttribute implements NotusAttributeBuilder { NotusAttribute.heading.key: NotusAttribute.heading, NotusAttribute.block.key: NotusAttribute.block, NotusAttribute.embed.key: NotusAttribute.embed, - NotusAttribute.container.key: NotusAttribute.container, }; // Inline attributes @@ -127,9 +127,6 @@ class NotusAttribute implements NotusAttributeBuilder { // ignore: const_eval_throws_exception static const embed = EmbedAttributeBuilder._(); - /// Container attribute - static const container = const ContainerAttributeBuilder._(); - static NotusAttribute _fromKeyValue(String key, dynamic value) { if (!_registry.containsKey(key)) { throw ArgumentError.value( @@ -337,6 +334,7 @@ class _ItalicAttribute extends NotusAttribute { /// [NotusAttribute.link] instead. class LinkAttributeBuilder extends NotusAttributeBuilder { static const _kLink = 'a'; + const LinkAttributeBuilder._() : super._(_kLink, NotusAttributeScope.inline); /// Creates a link attribute with specified link [value]. @@ -350,6 +348,7 @@ class LinkAttributeBuilder extends NotusAttributeBuilder { /// [NotusAttribute.heading] instead. class HeadingAttributeBuilder extends NotusAttributeBuilder { static const _kHeading = 'heading'; + const HeadingAttributeBuilder._() : super._(_kHeading, NotusAttributeScope.line); @@ -369,6 +368,7 @@ class HeadingAttributeBuilder extends NotusAttributeBuilder { /// [NotusAttribute.block] instead. class BlockAttributeBuilder extends NotusAttributeBuilder { static const _kBlock = 'block'; + const BlockAttributeBuilder._() : super._(_kBlock, NotusAttributeScope.line); /// Formats a block of lines as a bullet list. @@ -458,49 +458,3 @@ class EmbedAttribute extends NotusAttribute> { return hashObjects(objects); } } - -class ContainerAttributeBuilder - extends NotusAttributeBuilder> { - const ContainerAttributeBuilder._() - : super._(ContainerAttribute._kContainer, NotusAttributeScope.inline); - - @override - NotusAttribute> get unset => ContainerAttribute._(null); - - NotusAttribute> withValue(Map value) => - ContainerAttribute._(value); -} - -class ContainerAttribute extends NotusAttribute> { - static const _kValueEquality = const MapEquality(); - static const _kContainer = 'container'; - - ContainerAttribute._(Map value) - : super._(_kContainer, NotusAttributeScope.inline, value); - - @override - NotusAttribute> get unset => ContainerAttribute._(null); - - @override - bool operator ==(other) { - if (identical(this, other)) return true; - if (other is! ContainerAttribute) return false; - ContainerAttribute typedOther = other; - return key == typedOther.key && - scope == typedOther.scope && - _kValueEquality.equals(value, typedOther.value); - } - - @override - int get hashCode { - final objects = [key, scope]; - if (value != null) { - final valueHashes = - value.entries.map((entry) => hash2(entry.key, entry.value)); - objects.addAll(valueHashes); - } else { - objects.add(value); - } - return hashObjects(objects); - } -}