Skip to content

Abstract Class: BaseSerializer

@blobs/sdk v0.1.0


@blobs/sdk / serializers / BaseSerializer

Defined in: serializers/BaseSerializer.ts:31

Abstract base for IContentSerializer implementations.

Provides shared HTML escape/unescape helpers, contenteditable line-break normalization, paragraph wrapping, and configuration management. Concrete subclasses (PlainTextSerializer, MarkdownSerializer, JSONSerializer) implement the format-specific toContent/toHTML conversions.

Extended by

Implements

Constructors

Constructor

new BaseSerializer(config?): BaseSerializer

Defined in: serializers/BaseSerializer.ts:40

Parameters

config?

SerializerConfig

Optional config overrides merged over the defaults.

Returns

BaseSerializer

Properties

format

abstract readonly format: ContentFormat

Defined in: serializers/BaseSerializer.ts:33

The content format this serializer handles.

Implementation of

IContentSerializer.format


config

protected config: SerializerConfig

Defined in: serializers/BaseSerializer.ts:35

Effective configuration (defaults merged with constructor overrides).

Methods

toContent()

abstract toContent(html): ParsedContent

Defined in: serializers/BaseSerializer.ts:49

Parses contenteditable HTML into the canonical content string.

Parameters

html

string

HTML produced by a contenteditable element.

Returns

ParsedContent

Implementation of

IContentSerializer.toContent


toHTML()

abstract toHTML(content): RenderedHTML

Defined in: serializers/BaseSerializer.ts:55

Renders a content string into HTML suitable for contenteditable.

Parameters

content

string

Canonical content string.

Returns

RenderedHTML

Implementation of

IContentSerializer.toHTML


configure()

configure(config): void

Defined in: serializers/BaseSerializer.ts:62

Merges new options into the current configuration.

Parameters

config

SerializerConfig

Partial config to apply.

Returns

void

Implementation of

IContentSerializer.configure


getConfig()

getConfig(): SerializerConfig

Defined in: serializers/BaseSerializer.ts:69

Returns a defensive copy of the current configuration.

Returns

SerializerConfig

Implementation of

IContentSerializer.getConfig


escapeHTML()

protected escapeHTML(text): string

Defined in: serializers/BaseSerializer.ts:76

Escape HTML special characters

Parameters

text

string

Returns

string


unescapeHTML()

protected unescapeHTML(html): string

Defined in: serializers/BaseSerializer.ts:90

Unescape HTML entities back to characters

Parameters

html

string

Returns

string


createLineBreak()

protected createLineBreak(): string

Defined in: serializers/BaseSerializer.ts:105

Create a line break element based on config

Returns

string


wrapParagraph()

protected wrapParagraph(content, className?): string

Defined in: serializers/BaseSerializer.ts:116

Create a paragraph wrapper

Parameters

content

string

className?

string

Returns

string


stripTags()

protected stripTags(html): string

Defined in: serializers/BaseSerializer.ts:124

Strip all HTML tags from a string

Parameters

html

string

Returns

string


normalizeWhitespace()

protected normalizeWhitespace(text): string

Defined in: serializers/BaseSerializer.ts:131

Normalize whitespace in content

Parameters

text

string

Returns

string


divBreaksToNewlines()

protected divBreaksToNewlines(html): string

Defined in: serializers/BaseSerializer.ts:141

Convert contenteditable div breaks to newlines

Parameters

html

string

Returns

string


parseHTML()

protected parseHTML(html): string

Defined in: serializers/BaseSerializer.ts:161

Parse HTML using DOMParser if available, fallback to regex

Parameters

html

string

Returns

string