c56bef871b
Sync docs with Docusaurus / sync (push) Waiting to run
Tests / Check if changed (push) Waiting to run
Tests / format (push) Blocked by required conditions
Tests / check-imports (push) Blocked by required conditions
Tests / Unit / macos-latest (push) Blocked by required conditions
Tests / Unit / ubuntu-latest (push) Blocked by required conditions
Tests / Unit / windows-latest (push) Blocked by required conditions
Tests / mypy (push) Blocked by required conditions
Tests / Integration / ubuntu-latest (push) Blocked by required conditions
Tests / Integration / macos-latest (push) Blocked by required conditions
Tests / Integration / windows-latest (push) Blocked by required conditions
Tests / notify-slack-on-failure (push) Blocked by required conditions
Tests / Mark tests as completed (push) Blocked by required conditions
Docker image release / Build base image (push) Waiting to run
CodeQL / Analyze (python) (push) Has been cancelled
Update Platform Components Table / update (push) Has been cancelled
30 lines
869 B
Python
30 lines
869 B
Python
# SPDX-FileCopyrightText: 2022-present deepset GmbH <info@deepset.ai>
|
|
#
|
|
# SPDX-License-Identifier: Apache-2.0
|
|
|
|
from haystack.core.component import component
|
|
|
|
|
|
@component
|
|
class Concatenate:
|
|
"""
|
|
Concatenates two values
|
|
"""
|
|
|
|
@component.output_types(value=list[str])
|
|
def run(self, first: list[str] | str, second: list[str] | str):
|
|
"""
|
|
Concatenates two values
|
|
"""
|
|
if isinstance(first, str) and isinstance(second, str):
|
|
res = [first, second]
|
|
elif isinstance(first, list) and isinstance(second, list):
|
|
res = first + second
|
|
elif isinstance(first, list) and isinstance(second, str):
|
|
res = first + [second]
|
|
elif isinstance(first, str) and isinstance(second, list):
|
|
res = [first] + second
|
|
else:
|
|
res = None
|
|
return {"value": res}
|