MCPcopy Index your code
hub / github.com/simstudioai/sim / getSubBlocksDependingOnChange

Function getSubBlocksDependingOnChange

apps/sim/blocks/utils.ts:113–131  ·  view source on GitHub ↗
(
  allSubBlocks: SubBlockConfig[],
  changedSubBlockId: string
)

Source from the content-addressed store, hash-verified

111 * Finds subblocks that depend on a changed field, accounting for canonical pairs.
112 */
113export function getSubBlocksDependingOnChange(
114 allSubBlocks: SubBlockConfig[],
115 changedSubBlockId: string
116): SubBlockConfig[] {
117 const canonicalIndex = buildCanonicalIndex(allSubBlocks)
118 const canonicalId = canonicalIndex.canonicalIdBySubBlockId[changedSubBlockId]
119 const group = canonicalId ? canonicalIndex.groupsById[canonicalId] : undefined
120 const changedFields = new Set<string>([changedSubBlockId])
121
122 if (canonicalId) changedFields.add(canonicalId)
123 if (group?.basicId) changedFields.add(group.basicId)
124 for (const advancedId of group?.advancedIds || []) {
125 changedFields.add(advancedId)
126 }
127
128 return allSubBlocks.filter((subBlock) =>
129 getDependsOnFields(subBlock.dependsOn).some((field) => changedFields.has(field))
130 )
131}
132
133export function resolveOutputType(
134 outputs: Record<string, OutputFieldDefinition>

Callers 3

utils.test.tsFile · 0.90
useCollaborativeWorkflowFunction · 0.90

Calls 3

buildCanonicalIndexFunction · 0.90
getDependsOnFieldsFunction · 0.85
addMethod · 0.45

Tested by

no test coverage detected