Skip to content

Commit

Permalink
Add SingerWriter to InlineMapper as a parent class
Browse files Browse the repository at this point in the history
  • Loading branch information
BuzzCutNorman committed Nov 20, 2023
1 parent 4ecc90f commit 01cecaf
Showing 1 changed file with 7 additions and 6 deletions.
13 changes: 7 additions & 6 deletions singer_sdk/mapper_base.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,14 +7,16 @@

import click

import singer_sdk._singerlib as singer
from singer_sdk.helpers._classproperty import classproperty
from singer_sdk.helpers.capabilities import CapabilitiesEnum, PluginCapabilities
from singer_sdk.io_base import SingerReader
from singer_sdk.io_base import SingerReader, SingerWriter
from singer_sdk.plugin_base import PluginBase

if t.TYPE_CHECKING:
import singer_sdk._singerlib as singer

class InlineMapper(PluginBase, SingerReader, metaclass=abc.ABCMeta):

class InlineMapper(PluginBase, SingerReader, SingerWriter, metaclass=abc.ABCMeta):
"""Abstract base class for inline mappers."""

@classproperty
Expand All @@ -28,10 +30,9 @@ def capabilities(self) -> list[CapabilitiesEnum]:
PluginCapabilities.STREAM_MAPS,
]

@staticmethod
def _write_messages(messages: t.Iterable[singer.Message]) -> None:
def _write_messages(self, messages: t.Iterable[singer.Message]) -> None:
for message in messages:
singer.write_message(message)
self.write_message(message)

def _process_schema_message(self, message_dict: dict) -> None:
self._write_messages(self.map_schema_message(message_dict))
Expand Down

0 comments on commit 01cecaf

Please sign in to comment.