export writes:
walk(run)→ every statement in the tree, each with apathand adepth. The path format (2.if.0) is the shared address: a lint finding, a review comment and a runtime error written by three different tools all name the same node.subStacks(raw)→ the nested stacks a statement carries, keyed by where they are stored and labelled by what they mean — a try/catch and a conditional share the same three storage keys. Found by shape, so a nesting form added later is still walked.statementCatalog()→ the storedmvp:*name to its authoring path, minus the namespace (mvp:dbo_view→db.query, thesPathyou write afters.) — which is the point: the stored name is often not the one you’d guess.structuralHash(raw)→ a diff key for a statement and everything under it, with engine-filled operands excluded — so adding a column to a table leavesdb.edit/db.add_or_editunchanged. Adb.addwrites every column, so its hash does change.tableRefOf(column)/linkedTableOf(column)→ the table a column points at.normalize(value)→ the normalizerxanosdk preflightcompares with, for diffing a stored workspace against a compiled one.
Generated from @xano/sdk 1.0.9.