first commit
Security: Sync from Public / sync-from-public (push) Has been cancelled
Test: Benchmark Nightly / build (push) Has been cancelled
Test: Benchmark Nightly / Notify Cats on failure (push) Has been cancelled
CI: Python / Checks (push) Has been cancelled
Test: Evals Python / Workflow Comparison Python (push) Has been cancelled
Util: Check Docs URLs / check-docs-urls (push) Has been cancelled
Test: Visual Storybook / Cloudflare Pages (push) Has been cancelled
Test: E2E Performance / build-and-test-performance (push) Has been cancelled
Test: Workflows Nightly / Run Workflow Tests (push) Has been cancelled
Util: Cleanup CI Docker Images / Delete stale CI images (push) Has been cancelled
Test: Benchmark Destroy Env / build (push) Has been cancelled
Util: Update Node Popularity / update-popularity (push) Has been cancelled
Test: E2E Coverage Weekly / Coverage Tests (push) Has been cancelled
Security: Sync from Public / sync-from-public (push) Has been cancelled
Test: Benchmark Nightly / build (push) Has been cancelled
Test: Benchmark Nightly / Notify Cats on failure (push) Has been cancelled
CI: Python / Checks (push) Has been cancelled
Test: Evals Python / Workflow Comparison Python (push) Has been cancelled
Util: Check Docs URLs / check-docs-urls (push) Has been cancelled
Test: Visual Storybook / Cloudflare Pages (push) Has been cancelled
Test: E2E Performance / build-and-test-performance (push) Has been cancelled
Test: Workflows Nightly / Run Workflow Tests (push) Has been cancelled
Util: Cleanup CI Docker Images / Delete stale CI images (push) Has been cancelled
Test: Benchmark Destroy Env / build (push) Has been cancelled
Util: Update Node Popularity / update-popularity (push) Has been cancelled
Test: E2E Coverage Weekly / Coverage Tests (push) Has been cancelled
This commit is contained in:
@@ -0,0 +1,43 @@
|
||||
import {
|
||||
NodeConnectionTypes,
|
||||
type IDataObject,
|
||||
type ITaskData,
|
||||
type NodeConnectionType,
|
||||
} from 'n8n-workflow';
|
||||
|
||||
type TaskData = {
|
||||
data: IDataObject;
|
||||
outputIndex?: number;
|
||||
nodeConnectionType?: NodeConnectionType;
|
||||
};
|
||||
|
||||
export function toITaskData(taskData: TaskData[], overrides?: Partial<ITaskData>): ITaskData {
|
||||
const result: ITaskData = {
|
||||
executionStatus: 'success',
|
||||
executionTime: 0,
|
||||
startTime: 0,
|
||||
executionIndex: 0,
|
||||
source: [],
|
||||
data: {},
|
||||
...(overrides ?? {}),
|
||||
};
|
||||
|
||||
// NOTE: Here to make TS happy.
|
||||
result.data = result.data ?? {};
|
||||
for (const taskDatum of taskData) {
|
||||
const type = taskDatum.nodeConnectionType ?? NodeConnectionTypes.Main;
|
||||
const outputIndex = taskDatum.outputIndex ?? 0;
|
||||
|
||||
result.data[type] = result.data[type] ?? [];
|
||||
const dataConnection = result.data[type];
|
||||
dataConnection[outputIndex] = [{ json: taskDatum.data }];
|
||||
}
|
||||
|
||||
for (const [type, dataConnection] of Object.entries(result.data)) {
|
||||
for (const [index, maybe] of dataConnection.entries()) {
|
||||
result.data[type][index] = maybe ?? null;
|
||||
}
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
Reference in New Issue
Block a user