Files
sim/apps/sim/executor/utils/block-data.ts
Vikhyath Mondreti bf8fbebe22 improvement(code-quality): centralize regex checks, normalization (#2554)
* improvement(code-quality): centralize regex checks, normalization

* simplify resolution

* fix(copilot): don't allow duplicate name blocks

* centralize uuid check
2025-12-23 15:12:04 -08:00

25 lines
791 B
TypeScript

import { normalizeName } from '@/executor/constants'
import type { ExecutionContext } from '@/executor/types'
export interface BlockDataCollection {
blockData: Record<string, any>
blockNameMapping: Record<string, string>
}
export function collectBlockData(ctx: ExecutionContext): BlockDataCollection {
const blockData: Record<string, any> = {}
const blockNameMapping: Record<string, string> = {}
for (const [id, state] of ctx.blockStates.entries()) {
if (state.output !== undefined) {
blockData[id] = state.output
const workflowBlock = ctx.workflow?.blocks?.find((b) => b.id === id)
if (workflowBlock?.metadata?.name) {
blockNameMapping[normalizeName(workflowBlock.metadata.name)] = id
}
}
}
return { blockData, blockNameMapping }
}