(block: BlockState)
| 206 | } |
| 207 | |
| 208 | function resolveTriggerId(block: BlockState): string | undefined { |
| 209 | const blockConfig = getBlock(block.type) |
| 210 | |
| 211 | if (blockConfig?.category === 'triggers' && isTriggerValid(block.type)) { |
| 212 | return block.type |
| 213 | } |
| 214 | |
| 215 | if (!block.triggerMode) { |
| 216 | return undefined |
| 217 | } |
| 218 | |
| 219 | const selectedTriggerId = getSubBlockValue(block, 'selectedTriggerId') |
| 220 | if (typeof selectedTriggerId === 'string' && isTriggerValid(selectedTriggerId)) { |
| 221 | return selectedTriggerId |
| 222 | } |
| 223 | |
| 224 | const storedTriggerId = getSubBlockValue(block, 'triggerId') |
| 225 | if (typeof storedTriggerId === 'string' && isTriggerValid(storedTriggerId)) { |
| 226 | return storedTriggerId |
| 227 | } |
| 228 | |
| 229 | if (blockConfig?.triggers?.enabled) { |
| 230 | const configuredTriggerId = |
| 231 | typeof selectedTriggerId === 'string' ? selectedTriggerId : undefined |
| 232 | if (configuredTriggerId && isTriggerValid(configuredTriggerId)) { |
| 233 | return configuredTriggerId |
| 234 | } |
| 235 | |
| 236 | const available = blockConfig.triggers?.available?.[0] |
| 237 | if (available && isTriggerValid(available)) { |
| 238 | return available |
| 239 | } |
| 240 | } |
| 241 | |
| 242 | return undefined |
| 243 | } |
| 244 | |
| 245 | function getConfigValue(block: BlockState, subBlock: SubBlockConfig): unknown { |
| 246 | const fieldValue = getSubBlockValue(block, subBlock.id) |
no test coverage detected