{
  "definitions": [
    {
      "callable": true,
      "callees": [
        {
          "file": "codemods/analyzers/vocabulary.analyzer.ts",
          "name": "findingsIn",
          "source": {
            "href": "https://banes-lab.com/anatomy/governance#file-governance-codemods-analyzers-vocabulary-analyzer-ts",
            "json": "https://banes-lab.com/json/source/governance/codemods/analyzers/vocabulary.analyzer.ts",
            "label": "codemods/analyzers/vocabulary.analyzer.ts",
            "markdown": "https://banes-lab.com/source/governance/codemods/analyzers/vocabulary.analyzer.ts.md",
            "ref": "anatomy:file-governance-codemods-analyzers-vocabulary-analyzer-ts"
          }
        },
        {
          "file": "codemods/analyzers/vocabulary.analyzer.ts",
          "name": "isModuleSpecifier",
          "source": {
            "href": "https://banes-lab.com/anatomy/governance#file-governance-codemods-analyzers-vocabulary-analyzer-ts",
            "json": "https://banes-lab.com/json/source/governance/codemods/analyzers/vocabulary.analyzer.ts",
            "label": "codemods/analyzers/vocabulary.analyzer.ts",
            "markdown": "https://banes-lab.com/source/governance/codemods/analyzers/vocabulary.analyzer.ts.md",
            "ref": "anatomy:file-governance-codemods-analyzers-vocabulary-analyzer-ts"
          }
        },
        {
          "file": "codemods/analyzers/vocabulary.analyzer.ts",
          "name": "namesAField",
          "source": {
            "href": "https://banes-lab.com/anatomy/governance#file-governance-codemods-analyzers-vocabulary-analyzer-ts",
            "json": "https://banes-lab.com/json/source/governance/codemods/analyzers/vocabulary.analyzer.ts",
            "label": "codemods/analyzers/vocabulary.analyzer.ts",
            "markdown": "https://banes-lab.com/source/governance/codemods/analyzers/vocabulary.analyzer.ts.md",
            "ref": "anatomy:file-governance-codemods-analyzers-vocabulary-analyzer-ts"
          }
        },
        {
          "file": "codemods/analyzers/vocabulary.analyzer.ts",
          "name": "rulesFor",
          "source": {
            "href": "https://banes-lab.com/anatomy/governance#file-governance-codemods-analyzers-vocabulary-analyzer-ts",
            "json": "https://banes-lab.com/json/source/governance/codemods/analyzers/vocabulary.analyzer.ts",
            "label": "codemods/analyzers/vocabulary.analyzer.ts",
            "markdown": "https://banes-lab.com/source/governance/codemods/analyzers/vocabulary.analyzer.ts.md",
            "ref": "anatomy:file-governance-codemods-analyzers-vocabulary-analyzer-ts"
          }
        }
      ],
      "callers": [
        {
          "file": "codemods/analyzers/vocabulary.analyzer.ts",
          "name": "scriptFindings",
          "source": {
            "href": "https://banes-lab.com/anatomy/governance#file-governance-codemods-analyzers-vocabulary-analyzer-ts",
            "json": "https://banes-lab.com/json/source/governance/codemods/analyzers/vocabulary.analyzer.ts",
            "label": "codemods/analyzers/vocabulary.analyzer.ts",
            "markdown": "https://banes-lab.com/source/governance/codemods/analyzers/vocabulary.analyzer.ts.md",
            "ref": "anatomy:file-governance-codemods-analyzers-vocabulary-analyzer-ts"
          }
        }
      ],
      "exported": false,
      "flow": "relay",
      "kind": "lexical_declaration",
      "line": 111,
      "name": "visit",
      "signature": "const visit = (node: ts.Node): void => {"
    },
    {
      "callable": true,
      "callees": [
        {
          "file": "codemods/selectors/program.selector.ts",
          "name": "relPath",
          "source": {
            "href": "https://banes-lab.com/anatomy/governance#file-governance-codemods-selectors-program-selector-ts",
            "json": "https://banes-lab.com/json/source/governance/codemods/selectors/program.selector.ts",
            "label": "codemods/selectors/program.selector.ts",
            "markdown": "https://banes-lab.com/source/governance/codemods/selectors/program.selector.ts.md",
            "ref": "anatomy:file-governance-codemods-selectors-program-selector-ts"
          }
        },
        {
          "file": "shared/matchers/word.matcher.ts",
          "name": "renamedSpans",
          "source": {
            "href": "https://banes-lab.com/anatomy/governance#file-governance-shared-matchers-word-matcher-ts",
            "json": "https://banes-lab.com/json/source/governance/shared/matchers/word.matcher.ts",
            "label": "shared/matchers/word.matcher.ts",
            "markdown": "https://banes-lab.com/source/governance/shared/matchers/word.matcher.ts.md",
            "ref": "anatomy:file-governance-shared-matchers-word-matcher-ts"
          }
        }
      ],
      "callers": [
        {
          "file": "codemods/analyzers/vocabulary.analyzer.ts",
          "name": "visit",
          "source": {
            "href": "https://banes-lab.com/anatomy/governance#file-governance-codemods-analyzers-vocabulary-analyzer-ts",
            "json": "https://banes-lab.com/json/source/governance/codemods/analyzers/vocabulary.analyzer.ts",
            "label": "codemods/analyzers/vocabulary.analyzer.ts",
            "markdown": "https://banes-lab.com/source/governance/codemods/analyzers/vocabulary.analyzer.ts.md",
            "ref": "anatomy:file-governance-codemods-analyzers-vocabulary-analyzer-ts"
          }
        }
      ],
      "exported": false,
      "flow": "relay",
      "kind": "lexical_declaration",
      "line": 49,
      "name": "findingsIn",
      "signature": "const findingsIn = function findingsIn("
    },
    {
      "callable": true,
      "callees": [
        {
          "file": "codemods/analyzers/vocabulary.analyzer.ts",
          "name": "markdownFindings",
          "source": {
            "href": "https://banes-lab.com/anatomy/governance#file-governance-codemods-analyzers-vocabulary-analyzer-ts",
            "json": "https://banes-lab.com/json/source/governance/codemods/analyzers/vocabulary.analyzer.ts",
            "label": "codemods/analyzers/vocabulary.analyzer.ts",
            "markdown": "https://banes-lab.com/source/governance/codemods/analyzers/vocabulary.analyzer.ts.md",
            "ref": "anatomy:file-governance-codemods-analyzers-vocabulary-analyzer-ts"
          }
        },
        {
          "file": "codemods/analyzers/vocabulary.analyzer.ts",
          "name": "scriptFindings",
          "source": {
            "href": "https://banes-lab.com/anatomy/governance#file-governance-codemods-analyzers-vocabulary-analyzer-ts",
            "json": "https://banes-lab.com/json/source/governance/codemods/analyzers/vocabulary.analyzer.ts",
            "label": "codemods/analyzers/vocabulary.analyzer.ts",
            "markdown": "https://banes-lab.com/source/governance/codemods/analyzers/vocabulary.analyzer.ts.md",
            "ref": "anatomy:file-governance-codemods-analyzers-vocabulary-analyzer-ts"
          }
        }
      ],
      "callers": [
        {
          "file": "codemods/analyzers/vocabulary.analyzer.ts",
          "name": "collectVocabularyFindings",
          "source": {
            "href": "https://banes-lab.com/anatomy/governance#file-governance-codemods-analyzers-vocabulary-analyzer-ts",
            "json": "https://banes-lab.com/json/source/governance/codemods/analyzers/vocabulary.analyzer.ts",
            "label": "codemods/analyzers/vocabulary.analyzer.ts",
            "markdown": "https://banes-lab.com/source/governance/codemods/analyzers/vocabulary.analyzer.ts.md",
            "ref": "anatomy:file-governance-codemods-analyzers-vocabulary-analyzer-ts"
          }
        }
      ],
      "exported": true,
      "flow": "relay",
      "kind": "lexical_declaration",
      "line": 167,
      "name": "vocabularyFindingsIn",
      "signature": "export const vocabularyFindingsIn = function vocabularyFindingsIn("
    },
    {
      "callable": true,
      "callees": [
        {
          "file": "codemods/analyzers/vocabulary.analyzer.ts",
          "name": "visit",
          "source": {
            "href": "https://banes-lab.com/anatomy/governance#file-governance-codemods-analyzers-vocabulary-analyzer-ts",
            "json": "https://banes-lab.com/json/source/governance/codemods/analyzers/vocabulary.analyzer.ts",
            "label": "codemods/analyzers/vocabulary.analyzer.ts",
            "markdown": "https://banes-lab.com/source/governance/codemods/analyzers/vocabulary.analyzer.ts.md",
            "ref": "anatomy:file-governance-codemods-analyzers-vocabulary-analyzer-ts"
          }
        }
      ],
      "callers": [
        {
          "file": "codemods/analyzers/vocabulary.analyzer.ts",
          "name": "vocabularyFindingsIn",
          "source": {
            "href": "https://banes-lab.com/anatomy/governance#file-governance-codemods-analyzers-vocabulary-analyzer-ts",
            "json": "https://banes-lab.com/json/source/governance/codemods/analyzers/vocabulary.analyzer.ts",
            "label": "codemods/analyzers/vocabulary.analyzer.ts",
            "markdown": "https://banes-lab.com/source/governance/codemods/analyzers/vocabulary.analyzer.ts.md",
            "ref": "anatomy:file-governance-codemods-analyzers-vocabulary-analyzer-ts"
          }
        }
      ],
      "exported": false,
      "flow": "relay",
      "kind": "lexical_declaration",
      "line": 106,
      "name": "scriptFindings",
      "signature": "const scriptFindings = function scriptFindings(fileName: string, content: string, wholeIds: boolean): LiteralFinding[] {"
    },
    {
      "callable": true,
      "callees": [
        {
          "file": "codemods/analyzers/vocabulary.analyzer.ts",
          "name": "codeSpans",
          "source": {
            "href": "https://banes-lab.com/anatomy/governance#file-governance-codemods-analyzers-vocabulary-analyzer-ts",
            "json": "https://banes-lab.com/json/source/governance/codemods/analyzers/vocabulary.analyzer.ts",
            "label": "codemods/analyzers/vocabulary.analyzer.ts",
            "markdown": "https://banes-lab.com/source/governance/codemods/analyzers/vocabulary.analyzer.ts.md",
            "ref": "anatomy:file-governance-codemods-analyzers-vocabulary-analyzer-ts"
          }
        }
      ],
      "callers": [
        {
          "file": "codemods/analyzers/vocabulary.analyzer.ts",
          "name": "markdownFindings",
          "source": {
            "href": "https://banes-lab.com/anatomy/governance#file-governance-codemods-analyzers-vocabulary-analyzer-ts",
            "json": "https://banes-lab.com/json/source/governance/codemods/analyzers/vocabulary.analyzer.ts",
            "label": "codemods/analyzers/vocabulary.analyzer.ts",
            "markdown": "https://banes-lab.com/source/governance/codemods/analyzers/vocabulary.analyzer.ts.md",
            "ref": "anatomy:file-governance-codemods-analyzers-vocabulary-analyzer-ts"
          }
        }
      ],
      "exported": false,
      "flow": "relay",
      "kind": "lexical_declaration",
      "line": 138,
      "name": "markdownLines",
      "signature": "const markdownLines = function markdownLines(content: string): readonly MarkdownLine[] {"
    },
    {
      "callable": true,
      "callees": [
        {
          "file": "codemods/analyzers/vocabulary.analyzer.ts",
          "name": "markdownLines",
          "source": {
            "href": "https://banes-lab.com/anatomy/governance#file-governance-codemods-analyzers-vocabulary-analyzer-ts",
            "json": "https://banes-lab.com/json/source/governance/codemods/analyzers/vocabulary.analyzer.ts",
            "label": "codemods/analyzers/vocabulary.analyzer.ts",
            "markdown": "https://banes-lab.com/source/governance/codemods/analyzers/vocabulary.analyzer.ts.md",
            "ref": "anatomy:file-governance-codemods-analyzers-vocabulary-analyzer-ts"
          }
        }
      ],
      "callers": [
        {
          "file": "codemods/analyzers/vocabulary.analyzer.ts",
          "name": "vocabularyFindingsIn",
          "source": {
            "href": "https://banes-lab.com/anatomy/governance#file-governance-codemods-analyzers-vocabulary-analyzer-ts",
            "json": "https://banes-lab.com/json/source/governance/codemods/analyzers/vocabulary.analyzer.ts",
            "label": "codemods/analyzers/vocabulary.analyzer.ts",
            "markdown": "https://banes-lab.com/source/governance/codemods/analyzers/vocabulary.analyzer.ts.md",
            "ref": "anatomy:file-governance-codemods-analyzers-vocabulary-analyzer-ts"
          }
        }
      ],
      "exported": false,
      "flow": "relay",
      "kind": "lexical_declaration",
      "line": 156,
      "name": "markdownFindings",
      "signature": "const markdownFindings = function markdownFindings(fileName: string, content: string): LiteralFinding[] {"
    },
    {
      "callable": true,
      "callees": [],
      "callers": [
        {
          "file": "codemods/analyzers/vocabulary.analyzer.ts",
          "name": "visit",
          "source": {
            "href": "https://banes-lab.com/anatomy/governance#file-governance-codemods-analyzers-vocabulary-analyzer-ts",
            "json": "https://banes-lab.com/json/source/governance/codemods/analyzers/vocabulary.analyzer.ts",
            "label": "codemods/analyzers/vocabulary.analyzer.ts",
            "markdown": "https://banes-lab.com/source/governance/codemods/analyzers/vocabulary.analyzer.ts.md",
            "ref": "anatomy:file-governance-codemods-analyzers-vocabulary-analyzer-ts"
          }
        }
      ],
      "exported": false,
      "flow": "leaf",
      "kind": "lexical_declaration",
      "line": 40,
      "name": "rulesFor",
      "signature": "const rulesFor = function rulesFor(reach: RenameReach): RenameRules {"
    },
    {
      "callable": true,
      "callees": [],
      "callers": [
        {
          "file": "codemods/analyzers/vocabulary.analyzer.ts",
          "name": "visit",
          "source": {
            "href": "https://banes-lab.com/anatomy/governance#file-governance-codemods-analyzers-vocabulary-analyzer-ts",
            "json": "https://banes-lab.com/json/source/governance/codemods/analyzers/vocabulary.analyzer.ts",
            "label": "codemods/analyzers/vocabulary.analyzer.ts",
            "markdown": "https://banes-lab.com/source/governance/codemods/analyzers/vocabulary.analyzer.ts.md",
            "ref": "anatomy:file-governance-codemods-analyzers-vocabulary-analyzer-ts"
          }
        }
      ],
      "exported": false,
      "flow": "leaf",
      "kind": "lexical_declaration",
      "line": 89,
      "name": "isModuleSpecifier",
      "signature": "const isModuleSpecifier = function isModuleSpecifier(node: ts.Node): boolean {"
    },
    {
      "callable": true,
      "callees": [],
      "callers": [
        {
          "file": "codemods/analyzers/vocabulary.analyzer.ts",
          "name": "visit",
          "source": {
            "href": "https://banes-lab.com/anatomy/governance#file-governance-codemods-analyzers-vocabulary-analyzer-ts",
            "json": "https://banes-lab.com/json/source/governance/codemods/analyzers/vocabulary.analyzer.ts",
            "label": "codemods/analyzers/vocabulary.analyzer.ts",
            "markdown": "https://banes-lab.com/source/governance/codemods/analyzers/vocabulary.analyzer.ts.md",
            "ref": "anatomy:file-governance-codemods-analyzers-vocabulary-analyzer-ts"
          }
        }
      ],
      "exported": false,
      "flow": "leaf",
      "kind": "lexical_declaration",
      "line": 93,
      "name": "namesAField",
      "signature": "const namesAField = function namesAField(node: ts.Node): boolean {"
    },
    {
      "callable": true,
      "callees": [],
      "callers": [
        {
          "file": "codemods/analyzers/vocabulary.analyzer.ts",
          "name": "markdownLines",
          "source": {
            "href": "https://banes-lab.com/anatomy/governance#file-governance-codemods-analyzers-vocabulary-analyzer-ts",
            "json": "https://banes-lab.com/json/source/governance/codemods/analyzers/vocabulary.analyzer.ts",
            "label": "codemods/analyzers/vocabulary.analyzer.ts",
            "markdown": "https://banes-lab.com/source/governance/codemods/analyzers/vocabulary.analyzer.ts.md",
            "ref": "anatomy:file-governance-codemods-analyzers-vocabulary-analyzer-ts"
          }
        }
      ],
      "exported": false,
      "flow": "leaf",
      "kind": "lexical_declaration",
      "line": 124,
      "name": "codeSpans",
      "signature": "const codeSpans = function codeSpans(line: string): readonly (readonly [number, number])[] {"
    },
    {
      "callable": true,
      "callees": [],
      "callers": [
        {
          "file": "codemods/analyzers/vocabulary.analyzer.ts",
          "name": "wanted",
          "source": {
            "href": "https://banes-lab.com/anatomy/governance#file-governance-codemods-analyzers-vocabulary-analyzer-ts",
            "json": "https://banes-lab.com/json/source/governance/codemods/analyzers/vocabulary.analyzer.ts",
            "label": "codemods/analyzers/vocabulary.analyzer.ts",
            "markdown": "https://banes-lab.com/source/governance/codemods/analyzers/vocabulary.analyzer.ts.md",
            "ref": "anatomy:file-governance-codemods-analyzers-vocabulary-analyzer-ts"
          }
        }
      ],
      "exported": true,
      "flow": "leaf",
      "kind": "lexical_declaration",
      "line": 180,
      "name": "isSkipped",
      "signature": "const isSkipped = (fileName: string): boolean =>"
    },
    {
      "callable": true,
      "callees": [
        {
          "file": "codemods/analyzers/vocabulary.analyzer.ts",
          "name": "vocabularyFindingsIn",
          "source": {
            "href": "https://banes-lab.com/anatomy/governance#file-governance-codemods-analyzers-vocabulary-analyzer-ts",
            "json": "https://banes-lab.com/json/source/governance/codemods/analyzers/vocabulary.analyzer.ts",
            "label": "codemods/analyzers/vocabulary.analyzer.ts",
            "markdown": "https://banes-lab.com/source/governance/codemods/analyzers/vocabulary.analyzer.ts.md",
            "ref": "anatomy:file-governance-codemods-analyzers-vocabulary-analyzer-ts"
          }
        }
      ],
      "callers": [],
      "exported": true,
      "flow": "entry",
      "kind": "lexical_declaration",
      "line": 177,
      "name": "collectVocabularyFindings",
      "signature": "export const collectVocabularyFindings = function collectVocabularyFindings(scope: VocabularyScope): LiteralFinding[] {"
    },
    {
      "callable": true,
      "callees": [
        {
          "file": "codemods/analyzers/vocabulary.analyzer.ts",
          "name": "isSkipped",
          "source": {
            "href": "https://banes-lab.com/anatomy/governance#file-governance-codemods-analyzers-vocabulary-analyzer-ts",
            "json": "https://banes-lab.com/json/source/governance/codemods/analyzers/vocabulary.analyzer.ts",
            "label": "codemods/analyzers/vocabulary.analyzer.ts",
            "markdown": "https://banes-lab.com/source/governance/codemods/analyzers/vocabulary.analyzer.ts.md",
            "ref": "anatomy:file-governance-codemods-analyzers-vocabulary-analyzer-ts"
          }
        }
      ],
      "callers": [],
      "exported": true,
      "flow": "entry",
      "kind": "lexical_declaration",
      "line": 182,
      "name": "wanted",
      "signature": "const wanted = (fileName: string): boolean =>"
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": false,
      "flow": "isolated",
      "kind": "interface_declaration",
      "line": 16,
      "name": "MarkdownLine",
      "signature": "interface MarkdownLine {"
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": false,
      "flow": "isolated",
      "kind": "interface_declaration",
      "line": 23,
      "name": "Region",
      "signature": "interface Region {"
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": false,
      "flow": "isolated",
      "kind": "lexical_declaration",
      "line": 28,
      "name": "MARKDOWN_EXTENSION",
      "signature": "const MARKDOWN_EXTENSION = \".md\";"
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": false,
      "flow": "isolated",
      "kind": "lexical_declaration",
      "line": 29,
      "name": "JSON_EXTENSION",
      "signature": "const JSON_EXTENSION = \".json\";"
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": false,
      "flow": "isolated",
      "kind": "lexical_declaration",
      "line": 30,
      "name": "FENCE",
      "signature": "const FENCE = \"```\";"
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": false,
      "flow": "isolated",
      "kind": "lexical_declaration",
      "line": 31,
      "name": "TICK",
      "signature": "const TICK = \"`\";"
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": false,
      "flow": "isolated",
      "kind": "lexical_declaration",
      "line": 32,
      "name": "NEWLINE",
      "signature": "const NEWLINE = \"\\n\";"
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": false,
      "flow": "isolated",
      "kind": "lexical_declaration",
      "line": 33,
      "name": "SPACE",
      "signature": "const SPACE = \" \";"
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": false,
      "flow": "isolated",
      "kind": "lexical_declaration",
      "line": 34,
      "name": "QUOTE_WIDTH",
      "signature": "const QUOTE_WIDTH = 1;"
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": false,
      "flow": "isolated",
      "kind": "lexical_declaration",
      "line": 35,
      "name": "HOLE_OPEN_WIDTH",
      "signature": "const HOLE_OPEN_WIDTH = 2;"
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": false,
      "flow": "isolated",
      "kind": "lexical_declaration",
      "line": 36,
      "name": "PATH_BUILDERS",
      "signature": "const PATH_BUILDERS: ReadonlySet<string> = new Set([\"absolutePath\", \"relativePath\", \"join\", \"resolve\"]);"
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": false,
      "flow": "isolated",
      "kind": "lexical_declaration",
      "line": 37,
      "name": "SHAPES_ONLY",
      "signature": "const SHAPES_ONLY: RenameReach = { prose: false, wholeId: false };"
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": false,
      "flow": "isolated",
      "kind": "lexical_declaration",
      "line": 38,
      "name": "SHAPES_AND_WORDS",
      "signature": "const SHAPES_AND_WORDS: RenameReach = { prose: true, wholeId: false };"
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": false,
      "flow": "isolated",
      "kind": "lexical_declaration",
      "line": 55,
      "name": "text",
      "signature": "const text = content.slice(region.start, region.end);"
    },
    {
      "callable": true,
      "callees": [],
      "callers": [],
      "exported": false,
      "flow": "isolated",
      "kind": "lexical_declaration",
      "line": 68,
      "name": "calleeName",
      "signature": "const calleeName = function calleeName(call: ts.CallExpression): string {"
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": false,
      "flow": "isolated",
      "kind": "lexical_declaration",
      "line": 69,
      "name": "callee",
      "signature": "const callee = call.expression;"
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": false,
      "flow": "isolated",
      "kind": "lexical_declaration",
      "line": 73,
      "name": "MODULE_POSITIONS",
      "signature": "const MODULE_POSITIONS: readonly ((parent: ts.Node) => boolean)[] = ["
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": false,
      "flow": "isolated",
      "kind": "lexical_declaration",
      "line": 80,
      "name": "FIELD_POSITIONS",
      "signature": "const FIELD_POSITIONS: readonly ((node: ts.Node, parent: ts.Node) => boolean)[] = ["
    },
    {
      "callable": true,
      "callees": [],
      "callers": [],
      "exported": false,
      "flow": "isolated",
      "kind": "lexical_declaration",
      "line": 97,
      "name": "literalRegion",
      "signature": "const literalRegion = function literalRegion(node: ts.Node, source: ts.SourceFile): Region | null {"
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": false,
      "flow": "isolated",
      "kind": "lexical_declaration",
      "line": 107,
      "name": "json",
      "signature": "const json = path.extname(fileName) === JSON_EXTENSION;"
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": false,
      "flow": "isolated",
      "kind": "lexical_declaration",
      "line": 108,
      "name": "kind",
      "signature": "const kind = json ? ts.ScriptKind.JSON : ts.ScriptKind.TS;"
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": false,
      "flow": "isolated",
      "kind": "lexical_declaration",
      "line": 109,
      "name": "source",
      "signature": "const source = ts.createSourceFile(fileName, content, ts.ScriptTarget.Latest, true, kind);"
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": false,
      "flow": "isolated",
      "kind": "lexical_declaration",
      "line": 110,
      "name": "found",
      "signature": "const found: LiteralFinding[] = [];"
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": false,
      "flow": "isolated",
      "kind": "lexical_declaration",
      "line": 114,
      "name": "prose",
      "signature": "const prose = content.slice(region.start, region.end).includes(SPACE);"
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": false,
      "flow": "isolated",
      "kind": "lexical_declaration",
      "line": 115,
      "name": "wholeId",
      "signature": "const wholeId = wholeIds && ts.isStringLiteralLike(node) && !namesAField(node);"
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": false,
      "flow": "isolated",
      "kind": "lexical_declaration",
      "line": 125,
      "name": "spans",
      "signature": "const spans: [number, number][] = [];"
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": false,
      "flow": "isolated",
      "kind": "lexical_declaration",
      "line": 126,
      "name": "open",
      "signature": "let open = line.indexOf(TICK);"
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": false,
      "flow": "isolated",
      "kind": "lexical_declaration",
      "line": 128,
      "name": "close",
      "signature": "const close = line.indexOf(TICK, open + 1);"
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": false,
      "flow": "isolated",
      "kind": "lexical_declaration",
      "line": 139,
      "name": "lines",
      "signature": "const lines: MarkdownLine[] = [];"
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": false,
      "flow": "isolated",
      "kind": "lexical_declaration",
      "line": 140,
      "name": "offset",
      "signature": "let offset = 0;"
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": false,
      "flow": "isolated",
      "kind": "lexical_declaration",
      "line": 141,
      "name": "fenced",
      "signature": "let fenced = false;"
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": false,
      "flow": "isolated",
      "kind": "lexical_declaration",
      "line": 143,
      "name": "fence",
      "signature": "const fence = text.trimStart().startsWith(FENCE);"
    },
    {
      "callable": true,
      "callees": [],
      "callers": [],
      "exported": false,
      "flow": "isolated",
      "kind": "lexical_declaration",
      "line": 151,
      "name": "inCode",
      "signature": "const inCode = function inCode(line: MarkdownLine, at: number): boolean {"
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": false,
      "flow": "isolated",
      "kind": "lexical_declaration",
      "line": 152,
      "name": "column",
      "signature": "const column = at - line.offset;"
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": false,
      "flow": "isolated",
      "kind": "lexical_declaration",
      "line": 158,
      "name": "region",
      "signature": "const region = { end: line.offset + line.text.length, start: line.offset };"
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": false,
      "flow": "isolated",
      "kind": "lexical_declaration",
      "line": 159,
      "name": "shapes",
      "signature": "const shapes = findingsIn(fileName, content, region, rulesFor(SHAPES_ONLY));"
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": false,
      "flow": "isolated",
      "kind": "lexical_declaration",
      "line": 160,
      "name": "words",
      "signature": "const words = findingsIn(fileName, content, region, rulesFor(SHAPES_AND_WORDS)).filter("
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": true,
      "flow": "isolated",
      "kind": "lexical_declaration",
      "line": 178,
      "name": "wholeRoots",
      "signature": "const wholeRoots = scope.wholeIdRoots.map((root) => path.resolve(ROOT, root) + path.sep);"
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": true,
      "flow": "isolated",
      "kind": "lexical_declaration",
      "line": 179,
      "name": "skippedPaths",
      "signature": "const skippedPaths = scope.skippedPaths.map((skipped) => path.resolve(ROOT, skipped));"
    }
  ],
  "document": null,
  "findings": [],
  "generated": false,
  "href": "https://banes-lab.com/anatomy/governance#file-governance-codemods-analyzers-vocabulary-analyzer-ts",
  "language": "typescript",
  "layer": "processing",
  "name": "vocabulary.analyzer.ts",
  "path": "codemods/analyzers/vocabulary.analyzer.ts",
  "ref": "anatomy:file-governance-codemods-analyzers-vocabulary-analyzer-ts",
  "relations": [
    {
      "links": [
        {
          "href": "https://banes-lab.com/anatomy/governance#folder-governance-codemods-analyzers",
          "json": "https://banes-lab.com/json/anatomy/governance/folder-governance-codemods-analyzers",
          "label": "codemods/analyzers",
          "markdown": "https://banes-lab.com/anatomy/governance/folder-governance-codemods-analyzers.md",
          "ref": "chapter:/anatomy/governance#folder-governance-codemods-analyzers"
        }
      ],
      "relation": "contained-in"
    },
    {
      "links": [
        {
          "href": "https://banes-lab.com/anatomy/governance#file-governance-codemods-selectors-program-selector-ts",
          "json": "https://banes-lab.com/json/source/governance/codemods/selectors/program.selector.ts",
          "label": "codemods/selectors/program.selector.ts",
          "markdown": "https://banes-lab.com/source/governance/codemods/selectors/program.selector.ts.md",
          "ref": "anatomy:file-governance-codemods-selectors-program-selector-ts"
        },
        {
          "href": "https://banes-lab.com/anatomy/governance#file-governance-shared-matchers-word-matcher-ts",
          "json": "https://banes-lab.com/json/source/governance/shared/matchers/word.matcher.ts",
          "label": "shared/matchers/word.matcher.ts",
          "markdown": "https://banes-lab.com/source/governance/shared/matchers/word.matcher.ts.md",
          "ref": "anatomy:file-governance-shared-matchers-word-matcher-ts"
        }
      ],
      "relation": "uses"
    },
    {
      "links": [
        {
          "href": "https://banes-lab.com/anatomy/governance#folder-governance-codemods-analyzers",
          "json": "https://banes-lab.com/json/anatomy/governance/folder-governance-codemods-analyzers",
          "label": "codemods/analyzers",
          "markdown": "https://banes-lab.com/anatomy/governance/folder-governance-codemods-analyzers.md",
          "ref": "chapter:/anatomy/governance#folder-governance-codemods-analyzers"
        },
        {
          "href": "https://banes-lab.com/anatomy/governance#folder-governance-codemods-selectors",
          "json": "https://banes-lab.com/json/anatomy/governance/folder-governance-codemods-selectors",
          "label": "codemods/selectors",
          "markdown": "https://banes-lab.com/anatomy/governance/folder-governance-codemods-selectors.md",
          "ref": "chapter:/anatomy/governance#folder-governance-codemods-selectors"
        },
        {
          "href": "https://banes-lab.com/anatomy/governance#folder-governance-shared-matchers",
          "json": "https://banes-lab.com/json/anatomy/governance/folder-governance-shared-matchers",
          "label": "shared/matchers",
          "markdown": "https://banes-lab.com/anatomy/governance/folder-governance-shared-matchers.md",
          "ref": "chapter:/anatomy/governance#folder-governance-shared-matchers"
        }
      ],
      "relation": "linked-from"
    }
  ],
  "slots": {
    "concern": "analyzer",
    "subject": "vocabulary",
    "variant": null
  },
  "stats": {
    "bytes": 8085,
    "callable": 16,
    "definitions": 52,
    "edges": 13,
    "exported": 6,
    "files": 1,
    "findings": {},
    "flows": {
      "relay": 6,
      "leaf": 5,
      "entry": 2,
      "isolated": 39
    },
    "lines": {
      "blank": 18,
      "code": 176,
      "total": 194
    }
  },
  "summary": "176 lines of code and 52 definitions.",
  "text": "https://banes-lab.com/source/governance/codemods/analyzers/vocabulary.analyzer.ts.txt",
  "tree": "governance",
  "siblings": {
    "next": {
      "href": "https://banes-lab.com/anatomy/governance#file-governance-codemods-analyzers-word-analyzer-ts",
      "json": "https://banes-lab.com/json/source/governance/codemods/analyzers/word.analyzer.ts",
      "label": "codemods/analyzers/word.analyzer.ts",
      "markdown": "https://banes-lab.com/source/governance/codemods/analyzers/word.analyzer.ts.md",
      "ref": "anatomy:file-governance-codemods-analyzers-word-analyzer-ts"
    },
    "previous": {
      "href": "https://banes-lab.com/anatomy/governance#file-governance-codemods-analyzers-specifier-target-analyzer-ts",
      "json": "https://banes-lab.com/json/source/governance/codemods/analyzers/specifier.target.analyzer.ts",
      "label": "codemods/analyzers/specifier.target.analyzer.ts",
      "markdown": "https://banes-lab.com/source/governance/codemods/analyzers/specifier.target.analyzer.ts.md",
      "ref": "anatomy:file-governance-codemods-analyzers-specifier-target-analyzer-ts"
    }
  },
  "up": {
    "href": null,
    "json": "https://banes-lab.com/json/api/source/governance/codemods/analyzers",
    "label": "codemods/analyzers",
    "markdown": "https://banes-lab.com/api/source/governance/codemods/analyzers.md",
    "ref": "api:source/governance/codemods/analyzers"
  }
}
