{
  "definitions": [
    {
      "callable": true,
      "callees": [
        {
          "file": "core/aggregators/catalog.aggregator.ts",
          "name": "tallyBy",
          "source": {
            "href": "https://banes-lab.com/anatomy/quality#file-quality-core-aggregators-catalog-aggregator-ts",
            "json": "https://banes-lab.com/json/source/quality/core/aggregators/catalog.aggregator.ts",
            "label": "core/aggregators/catalog.aggregator.ts",
            "markdown": "https://banes-lab.com/source/quality/core/aggregators/catalog.aggregator.ts.md",
            "ref": "anatomy:file-quality-core-aggregators-catalog-aggregator-ts"
          }
        },
        {
          "file": "core/aggregators/catalog.aggregator.ts",
          "name": "tallyBy",
          "source": {
            "href": "https://banes-lab.com/anatomy/quality#file-quality-core-aggregators-catalog-aggregator-ts",
            "json": "https://banes-lab.com/json/source/quality/core/aggregators/catalog.aggregator.ts",
            "label": "core/aggregators/catalog.aggregator.ts",
            "markdown": "https://banes-lab.com/source/quality/core/aggregators/catalog.aggregator.ts.md",
            "ref": "anatomy:file-quality-core-aggregators-catalog-aggregator-ts"
          }
        }
      ],
      "callers": [
        {
          "file": "core/producers/tool.clippy.producer.ts",
          "name": "produce",
          "source": {
            "href": "https://banes-lab.com/anatomy/quality#file-quality-core-producers-tool-clippy-producer-ts",
            "json": "https://banes-lab.com/json/source/quality/core/producers/tool.clippy.producer.ts",
            "label": "core/producers/tool.clippy.producer.ts",
            "markdown": "https://banes-lab.com/source/quality/core/producers/tool.clippy.producer.ts.md",
            "ref": "anatomy:file-quality-core-producers-tool-clippy-producer-ts"
          }
        },
        {
          "file": "core/producers/tool.clippy.producer.ts",
          "name": "produce",
          "source": {
            "href": "https://banes-lab.com/anatomy/quality#file-quality-core-producers-tool-clippy-producer-ts",
            "json": "https://banes-lab.com/json/source/quality/core/producers/tool.clippy.producer.ts",
            "label": "core/producers/tool.clippy.producer.ts",
            "markdown": "https://banes-lab.com/source/quality/core/producers/tool.clippy.producer.ts.md",
            "ref": "anatomy:file-quality-core-producers-tool-clippy-producer-ts"
          }
        }
      ],
      "exported": false,
      "flow": "relay",
      "kind": "lexical_declaration",
      "line": 125,
      "name": "productOf",
      "signature": "const productOf = function productOf(tool: string, rules: CatalogRule[], version: string): CatalogProduct {"
    },
    {
      "callable": true,
      "callees": [
        {
          "file": "core/producers/tool.clippy.producer.ts",
          "name": "toUnderscore",
          "source": {
            "href": "https://banes-lab.com/anatomy/quality#file-quality-core-producers-tool-clippy-producer-ts",
            "json": "https://banes-lab.com/json/source/quality/core/producers/tool.clippy.producer.ts",
            "label": "core/producers/tool.clippy.producer.ts",
            "markdown": "https://banes-lab.com/source/quality/core/producers/tool.clippy.producer.ts.md",
            "ref": "anatomy:file-quality-core-producers-tool-clippy-producer-ts"
          }
        }
      ],
      "callers": [
        {
          "file": "core/producers/tool.clippy.producer.ts",
          "name": "groupOf",
          "source": {
            "href": "https://banes-lab.com/anatomy/quality#file-quality-core-producers-tool-clippy-producer-ts",
            "json": "https://banes-lab.com/json/source/quality/core/producers/tool.clippy.producer.ts",
            "label": "core/producers/tool.clippy.producer.ts",
            "markdown": "https://banes-lab.com/source/quality/core/producers/tool.clippy.producer.ts.md",
            "ref": "anatomy:file-quality-core-producers-tool-clippy-producer-ts"
          }
        }
      ],
      "exported": false,
      "flow": "relay",
      "kind": "lexical_declaration",
      "line": 78,
      "name": "groupMembers",
      "signature": "const groupMembers = function groupMembers(group: string, rest: readonly string[]): [string, string][] {"
    },
    {
      "callable": true,
      "callees": [
        {
          "file": "core/predicates/knob.predicate.ts",
          "name": "isThreshold",
          "source": {
            "href": "https://banes-lab.com/anatomy/quality#file-quality-core-predicates-knob-predicate-ts",
            "json": "https://banes-lab.com/json/source/quality/core/predicates/knob.predicate.ts",
            "label": "core/predicates/knob.predicate.ts",
            "markdown": "https://banes-lab.com/source/quality/core/predicates/knob.predicate.ts.md",
            "ref": "anatomy:file-quality-core-predicates-knob-predicate-ts"
          }
        }
      ],
      "callers": [
        {
          "file": "core/producers/tool.clippy.producer.ts",
          "name": "knobs",
          "source": {
            "href": "https://banes-lab.com/anatomy/quality#file-quality-core-producers-tool-clippy-producer-ts",
            "json": "https://banes-lab.com/json/source/quality/core/producers/tool.clippy.producer.ts",
            "label": "core/producers/tool.clippy.producer.ts",
            "markdown": "https://banes-lab.com/source/quality/core/producers/tool.clippy.producer.ts.md",
            "ref": "anatomy:file-quality-core-producers-tool-clippy-producer-ts"
          }
        }
      ],
      "exported": false,
      "flow": "relay",
      "kind": "lexical_declaration",
      "line": 156,
      "name": "lintEntries",
      "signature": "const lintEntries = function lintEntries(text: string, open: number, close: number): KnobEntry[] {"
    },
    {
      "callable": true,
      "callees": [],
      "callers": [
        {
          "file": "core/producers/tool.clippy.producer.ts",
          "name": "splitColumns",
          "source": {
            "href": "https://banes-lab.com/anatomy/quality#file-quality-core-producers-tool-clippy-producer-ts",
            "json": "https://banes-lab.com/json/source/quality/core/producers/tool.clippy.producer.ts",
            "label": "core/producers/tool.clippy.producer.ts",
            "markdown": "https://banes-lab.com/source/quality/core/producers/tool.clippy.producer.ts.md",
            "ref": "anatomy:file-quality-core-producers-tool-clippy-producer-ts"
          }
        }
      ],
      "exported": false,
      "flow": "leaf",
      "kind": "lexical_declaration",
      "line": 28,
      "name": "skipSpaces",
      "signature": "const skipSpaces = function skipSpaces(text: string, start: number): number {"
    },
    {
      "callable": true,
      "callees": [],
      "callers": [
        {
          "file": "core/producers/tool.clippy.producer.ts",
          "name": "checksOf",
          "source": {
            "href": "https://banes-lab.com/anatomy/quality#file-quality-core-producers-tool-clippy-producer-ts",
            "json": "https://banes-lab.com/json/source/quality/core/producers/tool.clippy.producer.ts",
            "label": "core/producers/tool.clippy.producer.ts",
            "markdown": "https://banes-lab.com/source/quality/core/producers/tool.clippy.producer.ts.md",
            "ref": "anatomy:file-quality-core-producers-tool-clippy-producer-ts"
          }
        }
      ],
      "exported": false,
      "flow": "leaf",
      "kind": "lexical_declaration",
      "line": 59,
      "name": "parseCheckLine",
      "signature": "const parseCheckLine = function parseCheckLine(text: string): CheckLine | null {"
    },
    {
      "callable": true,
      "callees": [],
      "callers": [
        {
          "file": "core/producers/tool.clippy.producer.ts",
          "name": "groupMembers",
          "source": {
            "href": "https://banes-lab.com/anatomy/quality#file-quality-core-producers-tool-clippy-producer-ts",
            "json": "https://banes-lab.com/json/source/quality/core/producers/tool.clippy.producer.ts",
            "label": "core/producers/tool.clippy.producer.ts",
            "markdown": "https://banes-lab.com/source/quality/core/producers/tool.clippy.producer.ts.md",
            "ref": "anatomy:file-quality-core-producers-tool-clippy-producer-ts"
          }
        }
      ],
      "exported": false,
      "flow": "leaf",
      "kind": "lexical_declaration",
      "line": 68,
      "name": "toUnderscore",
      "signature": "const toUnderscore = function toUnderscore(name: string): string {"
    },
    {
      "callable": true,
      "callees": [],
      "callers": [
        {
          "file": "core/producers/tool.clippy.producer.ts",
          "name": "checksOf",
          "source": {
            "href": "https://banes-lab.com/anatomy/quality#file-quality-core-producers-tool-clippy-producer-ts",
            "json": "https://banes-lab.com/json/source/quality/core/producers/tool.clippy.producer.ts",
            "label": "core/producers/tool.clippy.producer.ts",
            "markdown": "https://banes-lab.com/source/quality/core/producers/tool.clippy.producer.ts.md",
            "ref": "anatomy:file-quality-core-producers-tool-clippy-producer-ts"
          }
        }
      ],
      "exported": false,
      "flow": "leaf",
      "kind": "lexical_declaration",
      "line": 72,
      "name": "sectionLines",
      "signature": "const sectionLines = function sectionLines(lines: readonly string[], start: string, end: string): string[] {"
    },
    {
      "callable": true,
      "callees": [
        {
          "file": "core/producers/tool.clippy.producer.ts",
          "name": "productOf",
          "source": {
            "href": "https://banes-lab.com/anatomy/quality#file-quality-core-producers-tool-clippy-producer-ts",
            "json": "https://banes-lab.com/json/source/quality/core/producers/tool.clippy.producer.ts",
            "label": "core/producers/tool.clippy.producer.ts",
            "markdown": "https://banes-lab.com/source/quality/core/producers/tool.clippy.producer.ts.md",
            "ref": "anatomy:file-quality-core-producers-tool-clippy-producer-ts"
          }
        },
        {
          "file": "core/producers/tool.clippy.producer.ts",
          "name": "productOf",
          "source": {
            "href": "https://banes-lab.com/anatomy/quality#file-quality-core-producers-tool-clippy-producer-ts",
            "json": "https://banes-lab.com/json/source/quality/core/producers/tool.clippy.producer.ts",
            "label": "core/producers/tool.clippy.producer.ts",
            "markdown": "https://banes-lab.com/source/quality/core/producers/tool.clippy.producer.ts.md",
            "ref": "anatomy:file-quality-core-producers-tool-clippy-producer-ts"
          }
        }
      ],
      "callers": [],
      "exported": false,
      "flow": "entry",
      "kind": "lexical_declaration",
      "line": 139,
      "name": "produce",
      "signature": "const produce = async function produce(): Promise<CatalogProduct[]> {"
    },
    {
      "callable": true,
      "callees": [
        {
          "file": "core/producers/tool.clippy.producer.ts",
          "name": "parseCheckLine",
          "source": {
            "href": "https://banes-lab.com/anatomy/quality#file-quality-core-producers-tool-clippy-producer-ts",
            "json": "https://banes-lab.com/json/source/quality/core/producers/tool.clippy.producer.ts",
            "label": "core/producers/tool.clippy.producer.ts",
            "markdown": "https://banes-lab.com/source/quality/core/producers/tool.clippy.producer.ts.md",
            "ref": "anatomy:file-quality-core-producers-tool-clippy-producer-ts"
          }
        },
        {
          "file": "core/producers/tool.clippy.producer.ts",
          "name": "sectionLines",
          "source": {
            "href": "https://banes-lab.com/anatomy/quality#file-quality-core-producers-tool-clippy-producer-ts",
            "json": "https://banes-lab.com/json/source/quality/core/producers/tool.clippy.producer.ts",
            "label": "core/producers/tool.clippy.producer.ts",
            "markdown": "https://banes-lab.com/source/quality/core/producers/tool.clippy.producer.ts.md",
            "ref": "anatomy:file-quality-core-producers-tool-clippy-producer-ts"
          }
        }
      ],
      "callers": [],
      "exported": false,
      "flow": "entry",
      "kind": "lexical_declaration",
      "line": 144,
      "name": "checksOf",
      "signature": "const checksOf = (start: string, end: string): CheckLine[] =>"
    },
    {
      "callable": true,
      "callees": [
        {
          "file": "core/producers/tool.clippy.producer.ts",
          "name": "skipSpaces",
          "source": {
            "href": "https://banes-lab.com/anatomy/quality#file-quality-core-producers-tool-clippy-producer-ts",
            "json": "https://banes-lab.com/json/source/quality/core/producers/tool.clippy.producer.ts",
            "label": "core/producers/tool.clippy.producer.ts",
            "markdown": "https://banes-lab.com/source/quality/core/producers/tool.clippy.producer.ts.md",
            "ref": "anatomy:file-quality-core-producers-tool-clippy-producer-ts"
          }
        }
      ],
      "callers": [],
      "exported": false,
      "flow": "entry",
      "kind": "lexical_declaration",
      "line": 44,
      "name": "splitColumns",
      "signature": "const splitColumns = function splitColumns(text: string): string[] {"
    },
    {
      "callable": true,
      "callees": [
        {
          "file": "core/producers/tool.clippy.producer.ts",
          "name": "groupMembers",
          "source": {
            "href": "https://banes-lab.com/anatomy/quality#file-quality-core-producers-tool-clippy-producer-ts",
            "json": "https://banes-lab.com/json/source/quality/core/producers/tool.clippy.producer.ts",
            "label": "core/producers/tool.clippy.producer.ts",
            "markdown": "https://banes-lab.com/source/quality/core/producers/tool.clippy.producer.ts.md",
            "ref": "anatomy:file-quality-core-producers-tool-clippy-producer-ts"
          }
        }
      ],
      "callers": [],
      "exported": false,
      "flow": "entry",
      "kind": "lexical_declaration",
      "line": 91,
      "name": "groupOf",
      "signature": "const groupOf = function groupOf(lines: readonly string[]): Map<string, string> {"
    },
    {
      "callable": true,
      "callees": [
        {
          "file": "core/producers/tool.clippy.producer.ts",
          "name": "lintEntries",
          "source": {
            "href": "https://banes-lab.com/anatomy/quality#file-quality-core-producers-tool-clippy-producer-ts",
            "json": "https://banes-lab.com/json/source/quality/core/producers/tool.clippy.producer.ts",
            "label": "core/producers/tool.clippy.producer.ts",
            "markdown": "https://banes-lab.com/source/quality/core/producers/tool.clippy.producer.ts.md",
            "ref": "anatomy:file-quality-core-producers-tool-clippy-producer-ts"
          }
        }
      ],
      "callers": [],
      "exported": false,
      "flow": "entry",
      "kind": "lexical_declaration",
      "line": 181,
      "name": "knobs",
      "signature": "const knobs = async function knobs(): Promise<KnobEntry[]> {"
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": false,
      "flow": "isolated",
      "kind": "lexical_declaration",
      "line": 11,
      "name": "CLIPPY",
      "signature": "const CLIPPY = \"clippy\";"
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": false,
      "flow": "isolated",
      "kind": "lexical_declaration",
      "line": 12,
      "name": "RUSTC",
      "signature": "const RUSTC = \"rustc\";"
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": false,
      "flow": "isolated",
      "kind": "lexical_declaration",
      "line": 13,
      "name": "DRIVER",
      "signature": "const DRIVER = \"clippy-driver\";"
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": false,
      "flow": "isolated",
      "kind": "lexical_declaration",
      "line": 14,
      "name": "CLIPPY_PREFIX",
      "signature": "const CLIPPY_PREFIX = \"clippy::\";"
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": false,
      "flow": "isolated",
      "kind": "lexical_declaration",
      "line": 15,
      "name": "CLIPPY_DOCS",
      "signature": "const CLIPPY_DOCS = \"https://rust-lang.github.io/rust-clippy/master/#\";"
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": false,
      "flow": "isolated",
      "kind": "lexical_declaration",
      "line": 16,
      "name": "CONF_SOURCE",
      "signature": "const CONF_SOURCE = \"https://raw.githubusercontent.com/rust-lang/rust-clippy/master/clippy_config/src/conf.rs\";"
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": false,
      "flow": "isolated",
      "kind": "lexical_declaration",
      "line": 17,
      "name": "LINTS_OPEN",
      "signature": "const LINTS_OPEN = \"#[lints(\";"
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": false,
      "flow": "isolated",
      "kind": "lexical_declaration",
      "line": 18,
      "name": "LINTS_CLOSE",
      "signature": "const LINTS_CLOSE = \")]\";"
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": false,
      "flow": "isolated",
      "kind": "lexical_declaration",
      "line": 19,
      "name": "FIELD_WINDOW",
      "signature": "const FIELD_WINDOW = 200;"
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": false,
      "flow": "isolated",
      "kind": "lexical_declaration",
      "line": 20,
      "name": "MIN_COLS",
      "signature": "const MIN_COLS = 2;"
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": false,
      "flow": "isolated",
      "kind": "interface_declaration",
      "line": 22,
      "name": "CheckLine",
      "signature": "interface CheckLine {"
    },
    {
      "callable": true,
      "callees": [],
      "callers": [],
      "exported": false,
      "flow": "isolated",
      "kind": "lexical_declaration",
      "line": 36,
      "name": "columnEnd",
      "signature": "const columnEnd = function columnEnd(text: string, start: number): number {"
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": false,
      "flow": "isolated",
      "kind": "lexical_declaration",
      "line": 46,
      "name": "i",
      "signature": "let i = skipSpaces(text, 0);"
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": false,
      "flow": "isolated",
      "kind": "lexical_declaration",
      "line": 48,
      "name": "end",
      "signature": "const end = columnEnd(text, i);"
    },
    {
      "callable": true,
      "callees": [],
      "callers": [],
      "exported": false,
      "flow": "isolated",
      "kind": "lexical_declaration",
      "line": 55,
      "name": "isTableRow",
      "signature": "const isTableRow = function isTableRow(text: string): boolean {"
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": false,
      "flow": "isolated",
      "kind": "lexical_declaration",
      "line": 60,
      "name": "cols",
      "signature": "const cols = isTableRow(text) ? splitColumns(text) : [];"
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": false,
      "flow": "isolated",
      "kind": "lexical_declaration",
      "line": 64,
      "name": "meaning",
      "signature": "const meaning = cols.slice(MIN_COLS).join(\" \");"
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": false,
      "flow": "isolated",
      "kind": "lexical_declaration",
      "line": 73,
      "name": "from",
      "signature": "const from = lines.findIndex((line) => line.trim() === start);"
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": false,
      "flow": "isolated",
      "kind": "lexical_declaration",
      "line": 74,
      "name": "to",
      "signature": "const to = end === \"\" ? lines.length : lines.findIndex((line) => line.trim() === end);"
    },
    {
      "callable": true,
      "callees": [],
      "callers": [],
      "exported": false,
      "flow": "isolated",
      "kind": "lexical_declaration",
      "line": 100,
      "name": "build",
      "signature": "const build = function build("
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": false,
      "flow": "isolated",
      "kind": "lexical_declaration",
      "line": 107,
      "name": "id",
      "signature": "const id = toUnderscore(check.name);"
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": false,
      "flow": "isolated",
      "kind": "lexical_declaration",
      "line": 108,
      "name": "short",
      "signature": "const short = id.startsWith(CLIPPY_PREFIX) ? id.slice(CLIPPY_PREFIX.length) : id;"
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": false,
      "flow": "isolated",
      "kind": "lexical_declaration",
      "line": 140,
      "name": "version",
      "signature": "const version = commandVersion(DRIVER, [\"--version\"]);"
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": false,
      "flow": "isolated",
      "kind": "lexical_declaration",
      "line": 141,
      "name": "lines",
      "signature": "const lines = commandOutput(DRIVER, [\"-Whelp\"])"
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": false,
      "flow": "isolated",
      "kind": "lexical_declaration",
      "line": 146,
      "name": "context",
      "signature": "const context = { groups: groupOf(sectionLines(lines, \"Lint groups loaded by this crate:\", \"\")), version };"
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": false,
      "flow": "isolated",
      "kind": "lexical_declaration",
      "line": 147,
      "name": "clippy",
      "signature": "const clippy = build("
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": false,
      "flow": "isolated",
      "kind": "lexical_declaration",
      "line": 152,
      "name": "rustc",
      "signature": "const rustc = build(checksOf(\"Lint checks provided by rustc:\", \"Lint groups provided by rustc:\"), RUSTC, context);"
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": false,
      "flow": "isolated",
      "kind": "lexical_declaration",
      "line": 157,
      "name": "colon",
      "signature": "const colon = text.indexOf(\":\", close);"
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": false,
      "flow": "isolated",
      "kind": "lexical_declaration",
      "line": 158,
      "name": "eq",
      "signature": "const eq = text.indexOf(\"=\", colon);"
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": false,
      "flow": "isolated",
      "kind": "lexical_declaration",
      "line": 159,
      "name": "def",
      "signature": "const def = colon !== -1 && eq !== -1 && eq - close <= FIELD_WINDOW ? intAt(text, eq + 1) : null;"
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": false,
      "flow": "isolated",
      "kind": "lexical_declaration",
      "line": 163,
      "name": "field",
      "signature": "const field = trailingIdentifier(text.slice(close + LINTS_CLOSE.length, colon));"
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": false,
      "flow": "isolated",
      "kind": "lexical_declaration",
      "line": 182,
      "name": "text",
      "signature": "const text = (await remoteText(CONF_SOURCE)) ?? \"\";"
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": false,
      "flow": "isolated",
      "kind": "lexical_declaration",
      "line": 183,
      "name": "entries",
      "signature": "const entries: KnobEntry[] = [];"
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": false,
      "flow": "isolated",
      "kind": "lexical_declaration",
      "line": 184,
      "name": "open",
      "signature": "let open = text.indexOf(LINTS_OPEN);"
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": false,
      "flow": "isolated",
      "kind": "lexical_declaration",
      "line": 186,
      "name": "close",
      "signature": "const close = text.indexOf(LINTS_CLOSE, open);"
    }
  ],
  "document": null,
  "findings": [],
  "generated": false,
  "href": "https://banes-lab.com/anatomy/quality#file-quality-core-producers-tool-clippy-producer-ts",
  "language": "typescript",
  "layer": "application",
  "name": "tool.clippy.producer.ts",
  "path": "core/producers/tool.clippy.producer.ts",
  "ref": "anatomy:file-quality-core-producers-tool-clippy-producer-ts",
  "relations": [
    {
      "links": [
        {
          "href": "https://banes-lab.com/anatomy/quality#folder-quality-core-producers",
          "json": "https://banes-lab.com/json/anatomy/quality/folder-quality-core-producers",
          "label": "core/producers",
          "markdown": "https://banes-lab.com/anatomy/quality/folder-quality-core-producers.md",
          "ref": "chapter:/anatomy/quality#folder-quality-core-producers"
        }
      ],
      "relation": "contained-in"
    },
    {
      "links": [
        {
          "href": "https://banes-lab.com/anatomy/quality#file-quality-core-aggregators-catalog-aggregator-ts",
          "json": "https://banes-lab.com/json/source/quality/core/aggregators/catalog.aggregator.ts",
          "label": "core/aggregators/catalog.aggregator.ts",
          "markdown": "https://banes-lab.com/source/quality/core/aggregators/catalog.aggregator.ts.md",
          "ref": "anatomy:file-quality-core-aggregators-catalog-aggregator-ts"
        },
        {
          "href": "https://banes-lab.com/anatomy/quality#file-quality-core-predicates-knob-predicate-ts",
          "json": "https://banes-lab.com/json/source/quality/core/predicates/knob.predicate.ts",
          "label": "core/predicates/knob.predicate.ts",
          "markdown": "https://banes-lab.com/source/quality/core/predicates/knob.predicate.ts.md",
          "ref": "anatomy:file-quality-core-predicates-knob-predicate-ts"
        }
      ],
      "relation": "uses"
    },
    {
      "links": [
        {
          "href": "https://banes-lab.com/anatomy/quality#folder-quality-core-aggregators",
          "json": "https://banes-lab.com/json/anatomy/quality/folder-quality-core-aggregators",
          "label": "core/aggregators",
          "markdown": "https://banes-lab.com/anatomy/quality/folder-quality-core-aggregators.md",
          "ref": "chapter:/anatomy/quality#folder-quality-core-aggregators"
        },
        {
          "href": "https://banes-lab.com/anatomy/quality#folder-quality-core-predicates",
          "json": "https://banes-lab.com/json/anatomy/quality/folder-quality-core-predicates",
          "label": "core/predicates",
          "markdown": "https://banes-lab.com/anatomy/quality/folder-quality-core-predicates.md",
          "ref": "chapter:/anatomy/quality#folder-quality-core-predicates"
        },
        {
          "href": "https://banes-lab.com/anatomy/quality#folder-quality-core-producers",
          "json": "https://banes-lab.com/json/anatomy/quality/folder-quality-core-producers",
          "label": "core/producers",
          "markdown": "https://banes-lab.com/anatomy/quality/folder-quality-core-producers.md",
          "ref": "chapter:/anatomy/quality#folder-quality-core-producers"
        }
      ],
      "relation": "linked-from"
    }
  ],
  "slots": {
    "concern": "producer",
    "subject": "tool",
    "variant": "clippy"
  },
  "stats": {
    "bytes": 7176,
    "callable": 15,
    "definitions": 47,
    "edges": 11,
    "exported": 0,
    "files": 1,
    "findings": {},
    "flows": {
      "relay": 3,
      "leaf": 4,
      "entry": 5,
      "isolated": 35
    },
    "lines": {
      "blank": 17,
      "code": 179,
      "total": 196
    }
  },
  "summary": "179 lines of code and 47 definitions.",
  "text": "https://banes-lab.com/source/quality/core/producers/tool.clippy.producer.ts.txt",
  "tree": "quality",
  "siblings": {
    "next": {
      "href": "https://banes-lab.com/anatomy/quality#file-quality-core-producers-tool-clj-kondo-producer-ts",
      "json": "https://banes-lab.com/json/source/quality/core/producers/tool.clj-kondo.producer.ts",
      "label": "core/producers/tool.clj-kondo.producer.ts",
      "markdown": "https://banes-lab.com/source/quality/core/producers/tool.clj-kondo.producer.ts.md",
      "ref": "anatomy:file-quality-core-producers-tool-clj-kondo-producer-ts"
    },
    "previous": {
      "href": "https://banes-lab.com/anatomy/quality#file-quality-core-producers-tool-clang-tidy-producer-ts",
      "json": "https://banes-lab.com/json/source/quality/core/producers/tool.clang-tidy.producer.ts",
      "label": "core/producers/tool.clang-tidy.producer.ts",
      "markdown": "https://banes-lab.com/source/quality/core/producers/tool.clang-tidy.producer.ts.md",
      "ref": "anatomy:file-quality-core-producers-tool-clang-tidy-producer-ts"
    }
  },
  "up": {
    "href": null,
    "json": "https://banes-lab.com/json/api/source/quality/core/producers",
    "label": "core/producers",
    "markdown": "https://banes-lab.com/api/source/quality/core/producers.md",
    "ref": "api:source/quality/core/producers"
  }
}
