From 946a0cc95719ff54537c7bb6ca3bf1c9e0379c2d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edgar=20Ram=C3=ADrez-Mondrag=C3=B3n?= Date: Fri, 12 Jul 2024 20:38:07 -0600 Subject: [PATCH] Re-use message writing and formatting logic --- singer_sdk/_singerlib/messages.py | 25 ++++--------------------- 1 file changed, 4 insertions(+), 21 deletions(-) diff --git a/singer_sdk/_singerlib/messages.py b/singer_sdk/_singerlib/messages.py index ae8977c9e1..a51830242a 100644 --- a/singer_sdk/_singerlib/messages.py +++ b/singer_sdk/_singerlib/messages.py @@ -8,7 +8,7 @@ from dataclasses import asdict, dataclass, field from datetime import datetime, timezone -from singer_sdk._singerlib.json import serialize_json +from singer_sdk._singerlib.encoding import SingerWriter if sys.version_info < (3, 11): from backports.datetime_fromisoformat import MonkeyPatch @@ -205,23 +205,6 @@ def __post_init__(self) -> None: self.type = SingerMessageType.ACTIVATE_VERSION -def format_message(message: Message) -> str: - """Format a message as a JSON string. - - Args: - message: The message to format. - - Returns: - The formatted message. - """ - return serialize_json(message.to_dict()) - - -def write_message(message: Message) -> None: - """Write a message to stdout. - - Args: - message: The message to write. - """ - sys.stdout.write(format_message(message) + "\n") - sys.stdout.flush() +WRITER = SingerWriter() +format_message = WRITER.format_message +write_message = WRITER.write_message