"""サニタイズ処理用デコレーター"""

import html


def sanitize(cls):
    original_init = cls.__init__

    def new_init(self, *args, **kwargs):
        # オリジナルの __init__ メソッドを呼び出してインスタンスを初期化
        sanitized_kwargs = {**kwargs}
        for key, value in kwargs.items():
            if isinstance(value, str):
                # 文字列の場合はサニタイズ処理を行う（例：HTMLタグをエスケープ）
                sanitized_value = html.escape(value, quote=True)
                sanitized_kwargs[key] = sanitized_value
        original_init(self, *args, **sanitized_kwargs)

    cls.__init__ = new_init

    return cls
