Spaces:
Running
on
Zero
Running
on
Zero
# Copyright (c) Meta Platforms, Inc. and affiliates. | |
# All rights reserved. | |
# | |
# This source code is licensed under the license found in the | |
# LICENSE file in the root directory of this source tree. | |
from abc import ABCMeta, abstractmethod | |
from typing import Dict, List, Optional, Tuple, Union | |
class BaseTransform(metaclass=ABCMeta): | |
"""Base class for all transformations.""" | |
def __call__(self, | |
results: Dict) -> Optional[Union[Dict, Tuple[List, List]]]: | |
return self.transform(results) | |
def transform(self, | |
results: Dict) -> Optional[Union[Dict, Tuple[List, List]]]: | |
"""The transform function. All subclass of BaseTransform should | |
override this method. | |
This function takes the result dict as the input, and can add new | |
items to the dict or modify existing items in the dict. And the result | |
dict will be returned in the end, which allows to concate multiple | |
transforms into a pipeline. | |
Args: | |
results (dict): The result dict. | |
Returns: | |
dict: The result dict. | |
""" | |