{
  "definitions": [
    {
      "callable": true,
      "callees": [
        {
          "file": "core/resolvers/catalog.resolver.ts",
          "name": "queryIndex",
          "source": {
            "href": "https://banes-lab.com/anatomy/build-scripts#file-build-scripts-core-resolvers-catalog-resolver-ts",
            "json": "https://banes-lab.com/json/source/build-scripts/core/resolvers/catalog.resolver.ts",
            "label": "core/resolvers/catalog.resolver.ts",
            "markdown": "https://banes-lab.com/source/build-scripts/core/resolvers/catalog.resolver.ts.md",
            "ref": "anatomy:file-build-scripts-core-resolvers-catalog-resolver-ts"
          }
        }
      ],
      "callers": [],
      "exported": true,
      "flow": "entry",
      "kind": "lexical_declaration",
      "line": 102,
      "name": "queryLeaf",
      "signature": "export const queryLeaf = function queryLeaf(site: string, relations: readonly string[]): Leaf {"
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": false,
      "flow": "isolated",
      "kind": "lexical_declaration",
      "line": 20,
      "name": "QUERY_REF",
      "signature": "const QUERY_REF = \"api:query\";"
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": false,
      "flow": "isolated",
      "kind": "type_alias_declaration",
      "line": 22,
      "name": "Words",
      "signature": "type Words = (text: string) => readonly string[];"
    },
    {
      "callable": true,
      "callees": [],
      "callers": [],
      "exported": true,
      "flow": "isolated",
      "kind": "lexical_declaration",
      "line": 24,
      "name": "searchSections",
      "signature": "export const searchSections = async function searchSections("
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": true,
      "flow": "isolated",
      "kind": "lexical_declaration",
      "line": 27,
      "name": "index",
      "signature": "const index = web.search.indexOf(await web.corpus.loadCorpus());"
    },
    {
      "callable": true,
      "callees": [],
      "callers": [],
      "exported": true,
      "flow": "isolated",
      "kind": "lexical_declaration",
      "line": 37,
      "name": "searchRulesOf",
      "signature": "export const searchRulesOf = function searchRulesOf("
    },
    {
      "callable": true,
      "callees": [],
      "callers": [],
      "exported": false,
      "flow": "isolated",
      "kind": "lexical_declaration",
      "line": 54,
      "name": "byPosition",
      "signature": "const byPosition = function byPosition(left: SearchEntry, right: SearchEntry): number {"
    },
    {
      "callable": true,
      "callees": [],
      "callers": [],
      "exported": true,
      "flow": "isolated",
      "kind": "lexical_declaration",
      "line": 58,
      "name": "sectionEntries",
      "signature": "export const sectionEntries = function sectionEntries("
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": true,
      "flow": "isolated",
      "kind": "lexical_declaration",
      "line": 64,
      "name": "identity",
      "signature": "const identity = linker.byHref(section.href);"
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": true,
      "flow": "isolated",
      "kind": "lexical_declaration",
      "line": 65,
      "name": "position",
      "signature": "const position = Number.isFinite(section.position) ? section.position : null;"
    },
    {
      "callable": true,
      "callees": [],
      "callers": [],
      "exported": true,
      "flow": "isolated",
      "kind": "lexical_declaration",
      "line": 71,
      "name": "recordEntries",
      "signature": "export const recordEntries = function recordEntries("
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": true,
      "flow": "isolated",
      "kind": "lexical_declaration",
      "line": 76,
      "name": "aliases",
      "signature": "const aliases = groupedBy(phrases, (phrase) => phrase.ref);"
    },
    {
      "callable": true,
      "callees": [],
      "callers": [],
      "exported": true,
      "flow": "isolated",
      "kind": "lexical_declaration",
      "line": 88,
      "name": "fileEntries",
      "signature": "export const fileEntries = function fileEntries(files: readonly NamedSource[], words: Words): readonly SearchEntry[] {"
    },
    {
      "callable": true,
      "callees": [],
      "callers": [],
      "exported": false,
      "flow": "isolated",
      "kind": "lexical_declaration",
      "line": 98,
      "name": "sortedUnique",
      "signature": "const sortedUnique = function sortedUnique(values: readonly string[]): readonly string[] {"
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": true,
      "flow": "isolated",
      "kind": "lexical_declaration",
      "line": 103,
      "name": "ref",
      "signature": "const ref = QUERY_REF;"
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": true,
      "flow": "isolated",
      "kind": "lexical_declaration",
      "line": 104,
      "name": "data",
      "signature": "const data = {"
    }
  ],
  "document": null,
  "findings": [],
  "generated": false,
  "href": "https://banes-lab.com/anatomy/build-scripts#file-build-scripts-core-converters-search-converter-ts",
  "language": "typescript",
  "layer": "processing",
  "name": "search.converter.ts",
  "path": "core/converters/search.converter.ts",
  "ref": "anatomy:file-build-scripts-core-converters-search-converter-ts",
  "relations": [
    {
      "links": [
        {
          "href": "https://banes-lab.com/anatomy/build-scripts#folder-build-scripts-core-converters",
          "json": "https://banes-lab.com/json/anatomy/build-scripts/folder-build-scripts-core-converters",
          "label": "core/converters",
          "markdown": "https://banes-lab.com/anatomy/build-scripts/folder-build-scripts-core-converters.md",
          "ref": "chapter:/anatomy/build-scripts#folder-build-scripts-core-converters"
        }
      ],
      "relation": "contained-in"
    },
    {
      "links": [
        {
          "href": "https://banes-lab.com/anatomy/build-scripts#file-build-scripts-core-resolvers-catalog-resolver-ts",
          "json": "https://banes-lab.com/json/source/build-scripts/core/resolvers/catalog.resolver.ts",
          "label": "core/resolvers/catalog.resolver.ts",
          "markdown": "https://banes-lab.com/source/build-scripts/core/resolvers/catalog.resolver.ts.md",
          "ref": "anatomy:file-build-scripts-core-resolvers-catalog-resolver-ts"
        }
      ],
      "relation": "uses"
    },
    {
      "links": [
        {
          "href": "https://banes-lab.com/anatomy/build-scripts#folder-build-scripts-core-resolvers",
          "json": "https://banes-lab.com/json/anatomy/build-scripts/folder-build-scripts-core-resolvers",
          "label": "core/resolvers",
          "markdown": "https://banes-lab.com/anatomy/build-scripts/folder-build-scripts-core-resolvers.md",
          "ref": "chapter:/anatomy/build-scripts#folder-build-scripts-core-resolvers"
        }
      ],
      "relation": "linked-from"
    }
  ],
  "slots": {
    "concern": "converter",
    "subject": "search",
    "variant": null
  },
  "stats": {
    "bytes": 4535,
    "callable": 8,
    "definitions": 16,
    "edges": 1,
    "exported": 12,
    "files": 1,
    "findings": {},
    "flows": {
      "entry": 1,
      "isolated": 15
    },
    "lines": {
      "blank": 10,
      "code": 111,
      "total": 121
    }
  },
  "summary": "111 lines of code and 16 definitions.",
  "text": "https://banes-lab.com/source/build-scripts/core/converters/search.converter.ts.txt",
  "tree": "build-scripts",
  "siblings": {
    "next": {
      "href": "https://banes-lab.com/anatomy/build-scripts#file-build-scripts-core-converters-search-index-converter-ts",
      "json": "https://banes-lab.com/json/source/build-scripts/core/converters/search.index.converter.ts",
      "label": "core/converters/search.index.converter.ts",
      "markdown": "https://banes-lab.com/source/build-scripts/core/converters/search.index.converter.ts.md",
      "ref": "anatomy:file-build-scripts-core-converters-search-index-converter-ts"
    },
    "previous": {
      "href": "https://banes-lab.com/anatomy/build-scripts#file-build-scripts-core-converters-schema-converter-ts",
      "json": "https://banes-lab.com/json/source/build-scripts/core/converters/schema.converter.ts",
      "label": "core/converters/schema.converter.ts",
      "markdown": "https://banes-lab.com/source/build-scripts/core/converters/schema.converter.ts.md",
      "ref": "anatomy:file-build-scripts-core-converters-schema-converter-ts"
    }
  },
  "up": {
    "href": null,
    "json": "https://banes-lab.com/json/api/source/build-scripts/core/converters",
    "label": "core/converters",
    "markdown": "https://banes-lab.com/api/source/build-scripts/core/converters.md",
    "ref": "api:source/build-scripts/core/converters"
  }
}
