✨ feat(vscode): 代码阅读 React 组件卡片按钩子分区:状态 / 引用 / 读取的数据 / 派生值 / 副作用 / 事件处理;副作用、处理函数成子卡片放进卡片那一行下面(库规则新增把子块放进属性表某一行的机制,事件处理表点名称展开)
This commit is contained in:
1 parent
15f3a6600d
commit
ee807ec7a4
19 files changed
+1057
-56
No files matched your search
@@ -48,6 +48,17 @@ function problemOf(rule: LibraryRule, block: CodeBlock, claimed: RuleBlock): str
|
||||
return undefined
|
||||
if (!claimed.kind.startsWith(`${rule.id}.`))
|
||||
return `种类 id「${claimed.kind}」没以「${rule.id}.」开头`
|
||||
const slots = claimed.slots ?? []
|
||||
if (slots.some(slot => !block.children.includes(slot.block) || claimed.absorbs.includes(slot.block)))
|
||||
return '放进卡片里的块不是留下的子块'
|
||||
if (new Set(slots.map(slot => slot.block)).size < slots.length)
|
||||
return '同一块放进了卡片里的几处'
|
||||
for (const { row, item } of slots) {
|
||||
if (!claimed.rows[row])
|
||||
return `放进卡片第 ${row} 行下面的块,卡片没有这一行`
|
||||
if (item !== undefined && !claimed.rows[row].items?.[item])
|
||||
return `放进卡片第 ${row} 行第 ${item} 个子行的块,这一行没有这个子行`
|
||||
}
|
||||
for (const { reference, offset } of referencedSegments(claimed.rows)) {
|
||||
if (reference?.rule !== rule.id)
|
||||
return `引用「${reference?.key}」标的规则是「${reference?.rule}」,不是自己`
|
||||
|
||||
Reference in new issue
Block a user