{
  "definitions": [
    {
      "callable": true,
      "callees": [],
      "callers": [
        {
          "file": "core/validators/metadata.validator.ts",
          "name": "checkArticleImages",
          "source": {
            "href": "https://banes-lab.com/anatomy/build-scripts#file-build-scripts-core-validators-metadata-validator-ts",
            "json": "https://banes-lab.com/json/source/build-scripts/core/validators/metadata.validator.ts",
            "label": "core/validators/metadata.validator.ts",
            "markdown": "https://banes-lab.com/source/build-scripts/core/validators/metadata.validator.ts.md",
            "ref": "anatomy:file-build-scripts-core-validators-metadata-validator-ts"
          }
        },
        {
          "file": "core/validators/metadata.validator.ts",
          "name": "checkSchema",
          "source": {
            "href": "https://banes-lab.com/anatomy/build-scripts#file-build-scripts-core-validators-metadata-validator-ts",
            "json": "https://banes-lab.com/json/source/build-scripts/core/validators/metadata.validator.ts",
            "label": "core/validators/metadata.validator.ts",
            "markdown": "https://banes-lab.com/source/build-scripts/core/validators/metadata.validator.ts.md",
            "ref": "anatomy:file-build-scripts-core-validators-metadata-validator-ts"
          }
        },
        {
          "file": "core/validators/metadata.validator.ts",
          "name": "checkSchema",
          "source": {
            "href": "https://banes-lab.com/anatomy/build-scripts#file-build-scripts-core-validators-metadata-validator-ts",
            "json": "https://banes-lab.com/json/source/build-scripts/core/validators/metadata.validator.ts",
            "label": "core/validators/metadata.validator.ts",
            "markdown": "https://banes-lab.com/source/build-scripts/core/validators/metadata.validator.ts.md",
            "ref": "anatomy:file-build-scripts-core-validators-metadata-validator-ts"
          }
        }
      ],
      "exported": false,
      "flow": "leaf",
      "kind": "lexical_declaration",
      "line": 57,
      "name": "typedEntitiesOf",
      "signature": "const typedEntitiesOf = function typedEntitiesOf(value: unknown): Record<string, unknown>[] {"
    },
    {
      "callable": true,
      "callees": [
        {
          "file": "configuration/strings/site.strings.ts",
          "name": "undatedWebPage",
          "source": {
            "href": "https://banes-lab.com/anatomy/build-scripts#file-build-scripts-configuration-strings-site-strings-ts",
            "json": "https://banes-lab.com/json/source/build-scripts/configuration/strings/site.strings.ts",
            "label": "configuration/strings/site.strings.ts",
            "markdown": "https://banes-lab.com/source/build-scripts/configuration/strings/site.strings.ts.md",
            "ref": "anatomy:file-build-scripts-configuration-strings-site-strings-ts"
          }
        },
        {
          "file": "core/validators/metadata.validator.ts",
          "name": "isIsoInstant",
          "source": {
            "href": "https://banes-lab.com/anatomy/build-scripts#file-build-scripts-core-validators-metadata-validator-ts",
            "json": "https://banes-lab.com/json/source/build-scripts/core/validators/metadata.validator.ts",
            "label": "core/validators/metadata.validator.ts",
            "markdown": "https://banes-lab.com/source/build-scripts/core/validators/metadata.validator.ts.md",
            "ref": "anatomy:file-build-scripts-core-validators-metadata-validator-ts"
          }
        }
      ],
      "callers": [
        {
          "file": "core/validators/metadata.validator.ts",
          "name": "checkDates",
          "source": {
            "href": "https://banes-lab.com/anatomy/build-scripts#file-build-scripts-core-validators-metadata-validator-ts",
            "json": "https://banes-lab.com/json/source/build-scripts/core/validators/metadata.validator.ts",
            "label": "core/validators/metadata.validator.ts",
            "markdown": "https://banes-lab.com/source/build-scripts/core/validators/metadata.validator.ts.md",
            "ref": "anatomy:file-build-scripts-core-validators-metadata-validator-ts"
          }
        },
        {
          "file": "core/validators/metadata.validator.ts",
          "name": "checkDates",
          "source": {
            "href": "https://banes-lab.com/anatomy/build-scripts#file-build-scripts-core-validators-metadata-validator-ts",
            "json": "https://banes-lab.com/json/source/build-scripts/core/validators/metadata.validator.ts",
            "label": "core/validators/metadata.validator.ts",
            "markdown": "https://banes-lab.com/source/build-scripts/core/validators/metadata.validator.ts.md",
            "ref": "anatomy:file-build-scripts-core-validators-metadata-validator-ts"
          }
        }
      ],
      "exported": false,
      "flow": "relay",
      "kind": "lexical_declaration",
      "line": 112,
      "name": "undatedFieldsOf",
      "signature": "const undatedFieldsOf = function undatedFieldsOf("
    },
    {
      "callable": true,
      "callees": [],
      "callers": [
        {
          "file": "core/validators/metadata.validator.ts",
          "name": "checkArticleImages",
          "source": {
            "href": "https://banes-lab.com/anatomy/build-scripts#file-build-scripts-core-validators-metadata-validator-ts",
            "json": "https://banes-lab.com/json/source/build-scripts/core/validators/metadata.validator.ts",
            "label": "core/validators/metadata.validator.ts",
            "markdown": "https://banes-lab.com/source/build-scripts/core/validators/metadata.validator.ts.md",
            "ref": "anatomy:file-build-scripts-core-validators-metadata-validator-ts"
          }
        },
        {
          "file": "core/validators/metadata.validator.ts",
          "name": "checkEncodings",
          "source": {
            "href": "https://banes-lab.com/anatomy/build-scripts#file-build-scripts-core-validators-metadata-validator-ts",
            "json": "https://banes-lab.com/json/source/build-scripts/core/validators/metadata.validator.ts",
            "label": "core/validators/metadata.validator.ts",
            "markdown": "https://banes-lab.com/source/build-scripts/core/validators/metadata.validator.ts.md",
            "ref": "anatomy:file-build-scripts-core-validators-metadata-validator-ts"
          }
        }
      ],
      "exported": false,
      "flow": "leaf",
      "kind": "lexical_declaration",
      "line": 34,
      "name": "entitiesOf",
      "signature": "const entitiesOf = function entitiesOf(schema: string | null): Record<string, unknown>[] {"
    },
    {
      "callable": true,
      "callees": [
        {
          "file": "configuration/strings/site.strings.ts",
          "name": "missingWebPage",
          "source": {
            "href": "https://banes-lab.com/anatomy/build-scripts#file-build-scripts-configuration-strings-site-strings-ts",
            "json": "https://banes-lab.com/json/source/build-scripts/configuration/strings/site.strings.ts",
            "label": "configuration/strings/site.strings.ts",
            "markdown": "https://banes-lab.com/source/build-scripts/configuration/strings/site.strings.ts.md",
            "ref": "anatomy:file-build-scripts-configuration-strings-site-strings-ts"
          }
        },
        {
          "file": "core/validators/metadata.validator.ts",
          "name": "foreignPropertiesOf",
          "source": {
            "href": "https://banes-lab.com/anatomy/build-scripts#file-build-scripts-core-validators-metadata-validator-ts",
            "json": "https://banes-lab.com/json/source/build-scripts/core/validators/metadata.validator.ts",
            "label": "core/validators/metadata.validator.ts",
            "markdown": "https://banes-lab.com/source/build-scripts/core/validators/metadata.validator.ts.md",
            "ref": "anatomy:file-build-scripts-core-validators-metadata-validator-ts"
          }
        },
        {
          "file": "core/validators/metadata.validator.ts",
          "name": "isPageAt",
          "source": {
            "href": "https://banes-lab.com/anatomy/build-scripts#file-build-scripts-core-validators-metadata-validator-ts",
            "json": "https://banes-lab.com/json/source/build-scripts/core/validators/metadata.validator.ts",
            "label": "core/validators/metadata.validator.ts",
            "markdown": "https://banes-lab.com/source/build-scripts/core/validators/metadata.validator.ts.md",
            "ref": "anatomy:file-build-scripts-core-validators-metadata-validator-ts"
          }
        },
        {
          "file": "core/validators/metadata.validator.ts",
          "name": "missingFieldsOf",
          "source": {
            "href": "https://banes-lab.com/anatomy/build-scripts#file-build-scripts-core-validators-metadata-validator-ts",
            "json": "https://banes-lab.com/json/source/build-scripts/core/validators/metadata.validator.ts",
            "label": "core/validators/metadata.validator.ts",
            "markdown": "https://banes-lab.com/source/build-scripts/core/validators/metadata.validator.ts.md",
            "ref": "anatomy:file-build-scripts-core-validators-metadata-validator-ts"
          }
        },
        {
          "file": "core/validators/metadata.validator.ts",
          "name": "typedEntitiesOf",
          "source": {
            "href": "https://banes-lab.com/anatomy/build-scripts#file-build-scripts-core-validators-metadata-validator-ts",
            "json": "https://banes-lab.com/json/source/build-scripts/core/validators/metadata.validator.ts",
            "label": "core/validators/metadata.validator.ts",
            "markdown": "https://banes-lab.com/source/build-scripts/core/validators/metadata.validator.ts.md",
            "ref": "anatomy:file-build-scripts-core-validators-metadata-validator-ts"
          }
        },
        {
          "file": "core/validators/metadata.validator.ts",
          "name": "typedEntitiesOf",
          "source": {
            "href": "https://banes-lab.com/anatomy/build-scripts#file-build-scripts-core-validators-metadata-validator-ts",
            "json": "https://banes-lab.com/json/source/build-scripts/core/validators/metadata.validator.ts",
            "label": "core/validators/metadata.validator.ts",
            "markdown": "https://banes-lab.com/source/build-scripts/core/validators/metadata.validator.ts.md",
            "ref": "anatomy:file-build-scripts-core-validators-metadata-validator-ts"
          }
        }
      ],
      "callers": [
        {
          "file": "core/validators/source.page.validator.ts",
          "name": "servedPageFinding",
          "source": {
            "href": "https://banes-lab.com/anatomy/build-scripts#file-build-scripts-core-validators-source-page-validator-ts",
            "json": "https://banes-lab.com/json/source/build-scripts/core/validators/source.page.validator.ts",
            "label": "core/validators/source.page.validator.ts",
            "markdown": "https://banes-lab.com/source/build-scripts/core/validators/source.page.validator.ts.md",
            "ref": "anatomy:file-build-scripts-core-validators-source-page-validator-ts"
          }
        }
      ],
      "exported": true,
      "flow": "relay",
      "kind": "lexical_declaration",
      "line": 79,
      "name": "checkSchema",
      "signature": "export const checkSchema = function checkSchema(file: string, artifact: PageArtifact, address: string): Finding[] {"
    },
    {
      "callable": true,
      "callees": [
        {
          "file": "configuration/strings/site.strings.ts",
          "name": "unservedEncoding",
          "source": {
            "href": "https://banes-lab.com/anatomy/build-scripts#file-build-scripts-configuration-strings-site-strings-ts",
            "json": "https://banes-lab.com/json/source/build-scripts/configuration/strings/site.strings.ts",
            "label": "configuration/strings/site.strings.ts",
            "markdown": "https://banes-lab.com/source/build-scripts/configuration/strings/site.strings.ts.md",
            "ref": "anatomy:file-build-scripts-configuration-strings-site-strings-ts"
          }
        },
        {
          "file": "core/predicates/asset.predicate.ts",
          "name": "isServed",
          "source": {
            "href": "https://banes-lab.com/anatomy/build-scripts#file-build-scripts-core-predicates-asset-predicate-ts",
            "json": "https://banes-lab.com/json/source/build-scripts/core/predicates/asset.predicate.ts",
            "label": "core/predicates/asset.predicate.ts",
            "markdown": "https://banes-lab.com/source/build-scripts/core/predicates/asset.predicate.ts.md",
            "ref": "anatomy:file-build-scripts-core-predicates-asset-predicate-ts"
          }
        },
        {
          "file": "core/validators/metadata.validator.ts",
          "name": "contentUrlsOf",
          "source": {
            "href": "https://banes-lab.com/anatomy/build-scripts#file-build-scripts-core-validators-metadata-validator-ts",
            "json": "https://banes-lab.com/json/source/build-scripts/core/validators/metadata.validator.ts",
            "label": "core/validators/metadata.validator.ts",
            "markdown": "https://banes-lab.com/source/build-scripts/core/validators/metadata.validator.ts.md",
            "ref": "anatomy:file-build-scripts-core-validators-metadata-validator-ts"
          }
        },
        {
          "file": "core/validators/metadata.validator.ts",
          "name": "entitiesOf",
          "source": {
            "href": "https://banes-lab.com/anatomy/build-scripts#file-build-scripts-core-validators-metadata-validator-ts",
            "json": "https://banes-lab.com/json/source/build-scripts/core/validators/metadata.validator.ts",
            "label": "core/validators/metadata.validator.ts",
            "markdown": "https://banes-lab.com/source/build-scripts/core/validators/metadata.validator.ts.md",
            "ref": "anatomy:file-build-scripts-core-validators-metadata-validator-ts"
          }
        }
      ],
      "callers": [
        {
          "file": "core/validators/source.page.validator.ts",
          "name": "servedPageFinding",
          "source": {
            "href": "https://banes-lab.com/anatomy/build-scripts#file-build-scripts-core-validators-source-page-validator-ts",
            "json": "https://banes-lab.com/json/source/build-scripts/core/validators/source.page.validator.ts",
            "label": "core/validators/source.page.validator.ts",
            "markdown": "https://banes-lab.com/source/build-scripts/core/validators/source.page.validator.ts.md",
            "ref": "anatomy:file-build-scripts-core-validators-source-page-validator-ts"
          }
        }
      ],
      "exported": true,
      "flow": "relay",
      "kind": "lexical_declaration",
      "line": 177,
      "name": "checkEncodings",
      "signature": "export const checkEncodings = function checkEncodings("
    },
    {
      "callable": true,
      "callees": [
        {
          "file": "configuration/strings/site.strings.ts",
          "name": "unknownSchemaProperty",
          "source": {
            "href": "https://banes-lab.com/anatomy/build-scripts#file-build-scripts-configuration-strings-site-strings-ts",
            "json": "https://banes-lab.com/json/source/build-scripts/configuration/strings/site.strings.ts",
            "label": "configuration/strings/site.strings.ts",
            "markdown": "https://banes-lab.com/source/build-scripts/configuration/strings/site.strings.ts.md",
            "ref": "anatomy:file-build-scripts-configuration-strings-site-strings-ts"
          }
        },
        {
          "file": "configuration/strings/site.strings.ts",
          "name": "unknownSchemaType",
          "source": {
            "href": "https://banes-lab.com/anatomy/build-scripts#file-build-scripts-configuration-strings-site-strings-ts",
            "json": "https://banes-lab.com/json/source/build-scripts/configuration/strings/site.strings.ts",
            "label": "configuration/strings/site.strings.ts",
            "markdown": "https://banes-lab.com/source/build-scripts/configuration/strings/site.strings.ts.md",
            "ref": "anatomy:file-build-scripts-configuration-strings-site-strings-ts"
          }
        }
      ],
      "callers": [
        {
          "file": "core/validators/metadata.validator.ts",
          "name": "checkSchema",
          "source": {
            "href": "https://banes-lab.com/anatomy/build-scripts#file-build-scripts-core-validators-metadata-validator-ts",
            "json": "https://banes-lab.com/json/source/build-scripts/core/validators/metadata.validator.ts",
            "label": "core/validators/metadata.validator.ts",
            "markdown": "https://banes-lab.com/source/build-scripts/core/validators/metadata.validator.ts.md",
            "ref": "anatomy:file-build-scripts-core-validators-metadata-validator-ts"
          }
        }
      ],
      "exported": false,
      "flow": "relay",
      "kind": "lexical_declaration",
      "line": 68,
      "name": "foreignPropertiesOf",
      "signature": "const foreignPropertiesOf = function foreignPropertiesOf(file: string, entity: Record<string, unknown>): Finding[] {"
    },
    {
      "callable": true,
      "callees": [
        {
          "file": "core/validators/metadata.validator.ts",
          "name": "hasOffset",
          "source": {
            "href": "https://banes-lab.com/anatomy/build-scripts#file-build-scripts-core-validators-metadata-validator-ts",
            "json": "https://banes-lab.com/json/source/build-scripts/core/validators/metadata.validator.ts",
            "label": "core/validators/metadata.validator.ts",
            "markdown": "https://banes-lab.com/source/build-scripts/core/validators/metadata.validator.ts.md",
            "ref": "anatomy:file-build-scripts-core-validators-metadata-validator-ts"
          }
        },
        {
          "file": "core/validators/metadata.validator.ts",
          "name": "isIsoDay",
          "source": {
            "href": "https://banes-lab.com/anatomy/build-scripts#file-build-scripts-core-validators-metadata-validator-ts",
            "json": "https://banes-lab.com/json/source/build-scripts/core/validators/metadata.validator.ts",
            "label": "core/validators/metadata.validator.ts",
            "markdown": "https://banes-lab.com/source/build-scripts/core/validators/metadata.validator.ts.md",
            "ref": "anatomy:file-build-scripts-core-validators-metadata-validator-ts"
          }
        }
      ],
      "callers": [
        {
          "file": "core/validators/metadata.validator.ts",
          "name": "undatedFieldsOf",
          "source": {
            "href": "https://banes-lab.com/anatomy/build-scripts#file-build-scripts-core-validators-metadata-validator-ts",
            "json": "https://banes-lab.com/json/source/build-scripts/core/validators/metadata.validator.ts",
            "label": "core/validators/metadata.validator.ts",
            "markdown": "https://banes-lab.com/source/build-scripts/core/validators/metadata.validator.ts.md",
            "ref": "anatomy:file-build-scripts-core-validators-metadata-validator-ts"
          }
        }
      ],
      "exported": false,
      "flow": "relay",
      "kind": "lexical_declaration",
      "line": 104,
      "name": "isIsoInstant",
      "signature": "const isIsoInstant = function isIsoInstant(value: unknown): boolean {"
    },
    {
      "callable": true,
      "callees": [
        {
          "file": "configuration/strings/site.strings.ts",
          "name": "missingSchemaField",
          "source": {
            "href": "https://banes-lab.com/anatomy/build-scripts#file-build-scripts-configuration-strings-site-strings-ts",
            "json": "https://banes-lab.com/json/source/build-scripts/configuration/strings/site.strings.ts",
            "label": "configuration/strings/site.strings.ts",
            "markdown": "https://banes-lab.com/source/build-scripts/configuration/strings/site.strings.ts.md",
            "ref": "anatomy:file-build-scripts-configuration-strings-site-strings-ts"
          }
        }
      ],
      "callers": [
        {
          "file": "core/validators/metadata.validator.ts",
          "name": "checkSchema",
          "source": {
            "href": "https://banes-lab.com/anatomy/build-scripts#file-build-scripts-core-validators-metadata-validator-ts",
            "json": "https://banes-lab.com/json/source/build-scripts/core/validators/metadata.validator.ts",
            "label": "core/validators/metadata.validator.ts",
            "markdown": "https://banes-lab.com/source/build-scripts/core/validators/metadata.validator.ts.md",
            "ref": "anatomy:file-build-scripts-core-validators-metadata-validator-ts"
          }
        }
      ],
      "exported": false,
      "flow": "relay",
      "kind": "lexical_declaration",
      "line": 49,
      "name": "missingFieldsOf",
      "signature": "const missingFieldsOf = function missingFieldsOf(file: string, entity: Record<string, unknown>): Finding[] {"
    },
    {
      "callable": true,
      "callees": [],
      "callers": [
        {
          "file": "core/validators/metadata.validator.ts",
          "name": "checkSchema",
          "source": {
            "href": "https://banes-lab.com/anatomy/build-scripts#file-build-scripts-core-validators-metadata-validator-ts",
            "json": "https://banes-lab.com/json/source/build-scripts/core/validators/metadata.validator.ts",
            "label": "core/validators/metadata.validator.ts",
            "markdown": "https://banes-lab.com/source/build-scripts/core/validators/metadata.validator.ts.md",
            "ref": "anatomy:file-build-scripts-core-validators-metadata-validator-ts"
          }
        }
      ],
      "exported": false,
      "flow": "leaf",
      "kind": "lexical_declaration",
      "line": 45,
      "name": "isPageAt",
      "signature": "const isPageAt = function isPageAt(entity: Record<string, unknown>, address: string): boolean {"
    },
    {
      "callable": true,
      "callees": [],
      "callers": [
        {
          "file": "core/validators/metadata.validator.ts",
          "name": "isIsoInstant",
          "source": {
            "href": "https://banes-lab.com/anatomy/build-scripts#file-build-scripts-core-validators-metadata-validator-ts",
            "json": "https://banes-lab.com/json/source/build-scripts/core/validators/metadata.validator.ts",
            "label": "core/validators/metadata.validator.ts",
            "markdown": "https://banes-lab.com/source/build-scripts/core/validators/metadata.validator.ts.md",
            "ref": "anatomy:file-build-scripts-core-validators-metadata-validator-ts"
          }
        }
      ],
      "exported": false,
      "flow": "leaf",
      "kind": "lexical_declaration",
      "line": 95,
      "name": "isIsoDay",
      "signature": "const isIsoDay = function isIsoDay(value: string): boolean {"
    },
    {
      "callable": true,
      "callees": [],
      "callers": [
        {
          "file": "core/validators/metadata.validator.ts",
          "name": "isIsoInstant",
          "source": {
            "href": "https://banes-lab.com/anatomy/build-scripts#file-build-scripts-core-validators-metadata-validator-ts",
            "json": "https://banes-lab.com/json/source/build-scripts/core/validators/metadata.validator.ts",
            "label": "core/validators/metadata.validator.ts",
            "markdown": "https://banes-lab.com/source/build-scripts/core/validators/metadata.validator.ts.md",
            "ref": "anatomy:file-build-scripts-core-validators-metadata-validator-ts"
          }
        }
      ],
      "exported": false,
      "flow": "leaf",
      "kind": "lexical_declaration",
      "line": 100,
      "name": "hasOffset",
      "signature": "const hasOffset = function hasOffset(time: string): boolean {"
    },
    {
      "callable": true,
      "callees": [],
      "callers": [
        {
          "file": "core/validators/metadata.validator.ts",
          "name": "checkEncodings",
          "source": {
            "href": "https://banes-lab.com/anatomy/build-scripts#file-build-scripts-core-validators-metadata-validator-ts",
            "json": "https://banes-lab.com/json/source/build-scripts/core/validators/metadata.validator.ts",
            "label": "core/validators/metadata.validator.ts",
            "markdown": "https://banes-lab.com/source/build-scripts/core/validators/metadata.validator.ts.md",
            "ref": "anatomy:file-build-scripts-core-validators-metadata-validator-ts"
          }
        }
      ],
      "exported": false,
      "flow": "leaf",
      "kind": "lexical_declaration",
      "line": 166,
      "name": "contentUrlsOf",
      "signature": "const contentUrlsOf = function contentUrlsOf(value: unknown): string[] {"
    },
    {
      "callable": true,
      "callees": [
        {
          "file": "configuration/strings/site.strings.ts",
          "name": "smallArticleImage",
          "source": {
            "href": "https://banes-lab.com/anatomy/build-scripts#file-build-scripts-configuration-strings-site-strings-ts",
            "json": "https://banes-lab.com/json/source/build-scripts/configuration/strings/site.strings.ts",
            "label": "configuration/strings/site.strings.ts",
            "markdown": "https://banes-lab.com/source/build-scripts/configuration/strings/site.strings.ts.md",
            "ref": "anatomy:file-build-scripts-configuration-strings-site-strings-ts"
          }
        },
        {
          "file": "configuration/strings/site.strings.ts",
          "name": "unreadableArticleImage",
          "source": {
            "href": "https://banes-lab.com/anatomy/build-scripts#file-build-scripts-configuration-strings-site-strings-ts",
            "json": "https://banes-lab.com/json/source/build-scripts/configuration/strings/site.strings.ts",
            "label": "configuration/strings/site.strings.ts",
            "markdown": "https://banes-lab.com/source/build-scripts/configuration/strings/site.strings.ts.md",
            "ref": "anatomy:file-build-scripts-configuration-strings-site-strings-ts"
          }
        },
        {
          "file": "core/validators/metadata.validator.ts",
          "name": "entitiesOf",
          "source": {
            "href": "https://banes-lab.com/anatomy/build-scripts#file-build-scripts-core-validators-metadata-validator-ts",
            "json": "https://banes-lab.com/json/source/build-scripts/core/validators/metadata.validator.ts",
            "label": "core/validators/metadata.validator.ts",
            "markdown": "https://banes-lab.com/source/build-scripts/core/validators/metadata.validator.ts.md",
            "ref": "anatomy:file-build-scripts-core-validators-metadata-validator-ts"
          }
        },
        {
          "file": "core/validators/metadata.validator.ts",
          "name": "typedEntitiesOf",
          "source": {
            "href": "https://banes-lab.com/anatomy/build-scripts#file-build-scripts-core-validators-metadata-validator-ts",
            "json": "https://banes-lab.com/json/source/build-scripts/core/validators/metadata.validator.ts",
            "label": "core/validators/metadata.validator.ts",
            "markdown": "https://banes-lab.com/source/build-scripts/core/validators/metadata.validator.ts.md",
            "ref": "anatomy:file-build-scripts-core-validators-metadata-validator-ts"
          }
        }
      ],
      "callers": [],
      "exported": true,
      "flow": "entry",
      "kind": "lexical_declaration",
      "line": 147,
      "name": "checkArticleImages",
      "signature": "export const checkArticleImages = function checkArticleImages("
    },
    {
      "callable": true,
      "callees": [
        {
          "file": "core/validators/metadata.validator.ts",
          "name": "undatedFieldsOf",
          "source": {
            "href": "https://banes-lab.com/anatomy/build-scripts#file-build-scripts-core-validators-metadata-validator-ts",
            "json": "https://banes-lab.com/json/source/build-scripts/core/validators/metadata.validator.ts",
            "label": "core/validators/metadata.validator.ts",
            "markdown": "https://banes-lab.com/source/build-scripts/core/validators/metadata.validator.ts.md",
            "ref": "anatomy:file-build-scripts-core-validators-metadata-validator-ts"
          }
        },
        {
          "file": "core/validators/metadata.validator.ts",
          "name": "undatedFieldsOf",
          "source": {
            "href": "https://banes-lab.com/anatomy/build-scripts#file-build-scripts-core-validators-metadata-validator-ts",
            "json": "https://banes-lab.com/json/source/build-scripts/core/validators/metadata.validator.ts",
            "label": "core/validators/metadata.validator.ts",
            "markdown": "https://banes-lab.com/source/build-scripts/core/validators/metadata.validator.ts.md",
            "ref": "anatomy:file-build-scripts-core-validators-metadata-validator-ts"
          }
        }
      ],
      "callers": [],
      "exported": true,
      "flow": "entry",
      "kind": "lexical_declaration",
      "line": 122,
      "name": "checkDates",
      "signature": "export const checkDates = function checkDates(file: string, artifact: PageArtifact, address: string): Finding[] {"
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": false,
      "flow": "isolated",
      "kind": "lexical_declaration",
      "line": 23,
      "name": "GRAPH_KEY",
      "signature": "const GRAPH_KEY = \"@graph\";"
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": false,
      "flow": "isolated",
      "kind": "lexical_declaration",
      "line": 24,
      "name": "TYPE_KEY",
      "signature": "const TYPE_KEY = \"@type\";"
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": false,
      "flow": "isolated",
      "kind": "lexical_declaration",
      "line": 25,
      "name": "ORGANIZATION_TYPE",
      "signature": "const ORGANIZATION_TYPE = \"Organization\";"
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": false,
      "flow": "isolated",
      "kind": "lexical_declaration",
      "line": 26,
      "name": "CONTENT_URL_KEY",
      "signature": "const CONTENT_URL_KEY = \"contentUrl\";"
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": false,
      "flow": "isolated",
      "kind": "lexical_declaration",
      "line": 27,
      "name": "ARTICLE_TYPE",
      "signature": "const ARTICLE_TYPE = \"TechArticle\";"
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": false,
      "flow": "isolated",
      "kind": "lexical_declaration",
      "line": 28,
      "name": "ISO_DAY_LENGTH",
      "signature": "const ISO_DAY_LENGTH = 10;"
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": false,
      "flow": "isolated",
      "kind": "lexical_declaration",
      "line": 29,
      "name": "TIME_MARK",
      "signature": "const TIME_MARK = \"T\";"
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": false,
      "flow": "isolated",
      "kind": "lexical_declaration",
      "line": 30,
      "name": "UTC_MARK",
      "signature": "const UTC_MARK = \"Z\";"
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": false,
      "flow": "isolated",
      "kind": "lexical_declaration",
      "line": 31,
      "name": "OFFSET_LENGTH",
      "signature": "const OFFSET_LENGTH = 6;"
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": false,
      "flow": "isolated",
      "kind": "lexical_declaration",
      "line": 32,
      "name": "OFFSET_SIGNS",
      "signature": "const OFFSET_SIGNS: ReadonlySet<string> = new Set([\"+\", \"-\"]);"
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": false,
      "flow": "isolated",
      "kind": "lexical_declaration",
      "line": 38,
      "name": "parsed",
      "signature": "const parsed: unknown = JSON.parse(schema);"
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": false,
      "flow": "isolated",
      "kind": "lexical_declaration",
      "line": 51,
      "name": "fields",
      "signature": "const fields = typeof type === \"string\" ? (SCHEMA_FIELDS.get(type) ?? []) : [];"
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": false,
      "flow": "isolated",
      "kind": "lexical_declaration",
      "line": 69,
      "name": "type",
      "signature": "const type = String(entity[TYPE_KEY]);"
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": false,
      "flow": "isolated",
      "kind": "lexical_declaration",
      "line": 70,
      "name": "allowed",
      "signature": "const allowed = SCHEMA_PROPERTIES.get(type);"
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": true,
      "flow": "isolated",
      "kind": "lexical_declaration",
      "line": 81,
      "name": "findings",
      "signature": "const findings: Finding[] = [];"
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": false,
      "flow": "isolated",
      "kind": "lexical_declaration",
      "line": 96,
      "name": "day",
      "signature": "const day = new Date(value);"
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": false,
      "flow": "isolated",
      "kind": "lexical_declaration",
      "line": 108,
      "name": "time",
      "signature": "const time = value.slice(ISO_DAY_LENGTH);"
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": true,
      "flow": "isolated",
      "kind": "lexical_declaration",
      "line": 123,
      "name": "entities",
      "signature": "const entities = entitiesOf(artifact.schema);"
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": true,
      "flow": "isolated",
      "kind": "lexical_declaration",
      "line": 124,
      "name": "page",
      "signature": "const page = entities.find((entity) => isPageAt(entity, address));"
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": true,
      "flow": "isolated",
      "kind": "lexical_declaration",
      "line": 128,
      "name": "dated",
      "signature": "const dated = typedEntitiesOf(entities).filter((entity) => entity !== page);"
    },
    {
      "callable": true,
      "callees": [],
      "callers": [],
      "exported": false,
      "flow": "isolated",
      "kind": "lexical_declaration",
      "line": 141,
      "name": "imagesOf",
      "signature": "const imagesOf = function imagesOf(entity: Record<string, unknown>): readonly string[] {"
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": false,
      "flow": "isolated",
      "kind": "lexical_declaration",
      "line": 142,
      "name": "{ image }",
      "signature": "const { image } = entity;"
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": false,
      "flow": "isolated",
      "kind": "lexical_declaration",
      "line": 143,
      "name": "listed",
      "signature": "const listed: readonly unknown[] = Array.isArray(image) ? image : [image];"
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": true,
      "flow": "isolated",
      "kind": "lexical_declaration",
      "line": 156,
      "name": "pixels",
      "signature": "const pixels = pixelsOf(url);"
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": false,
      "flow": "isolated",
      "kind": "lexical_declaration",
      "line": 173,
      "name": "own",
      "signature": "const own = typeof value[CONTENT_URL_KEY] === \"string\" ? [value[CONTENT_URL_KEY]] : [];"
    }
  ],
  "document": null,
  "findings": [],
  "generated": false,
  "href": "https://banes-lab.com/anatomy/build-scripts#file-build-scripts-core-validators-metadata-validator-ts",
  "language": "typescript",
  "layer": "processing",
  "name": "metadata.validator.ts",
  "path": "core/validators/metadata.validator.ts",
  "ref": "anatomy:file-build-scripts-core-validators-metadata-validator-ts",
  "relations": [
    {
      "links": [
        {
          "href": "https://banes-lab.com/anatomy/build-scripts#folder-build-scripts-core-validators",
          "json": "https://banes-lab.com/json/anatomy/build-scripts/folder-build-scripts-core-validators",
          "label": "core/validators",
          "markdown": "https://banes-lab.com/anatomy/build-scripts/folder-build-scripts-core-validators.md",
          "ref": "chapter:/anatomy/build-scripts#folder-build-scripts-core-validators"
        }
      ],
      "relation": "contained-in"
    },
    {
      "links": [
        {
          "href": "https://banes-lab.com/anatomy/build-scripts#file-build-scripts-configuration-strings-site-strings-ts",
          "json": "https://banes-lab.com/json/source/build-scripts/configuration/strings/site.strings.ts",
          "label": "configuration/strings/site.strings.ts",
          "markdown": "https://banes-lab.com/source/build-scripts/configuration/strings/site.strings.ts.md",
          "ref": "anatomy:file-build-scripts-configuration-strings-site-strings-ts"
        },
        {
          "href": "https://banes-lab.com/anatomy/build-scripts#file-build-scripts-core-predicates-asset-predicate-ts",
          "json": "https://banes-lab.com/json/source/build-scripts/core/predicates/asset.predicate.ts",
          "label": "core/predicates/asset.predicate.ts",
          "markdown": "https://banes-lab.com/source/build-scripts/core/predicates/asset.predicate.ts.md",
          "ref": "anatomy:file-build-scripts-core-predicates-asset-predicate-ts"
        }
      ],
      "relation": "uses"
    },
    {
      "links": [
        {
          "href": "https://banes-lab.com/anatomy/build-scripts#file-build-scripts-core-validators-source-page-validator-ts",
          "json": "https://banes-lab.com/json/source/build-scripts/core/validators/source.page.validator.ts",
          "label": "core/validators/source.page.validator.ts",
          "markdown": "https://banes-lab.com/source/build-scripts/core/validators/source.page.validator.ts.md",
          "ref": "anatomy:file-build-scripts-core-validators-source-page-validator-ts"
        }
      ],
      "relation": "used-by"
    },
    {
      "links": [
        {
          "href": "https://banes-lab.com/anatomy/build-scripts#folder-build-scripts-configuration-strings",
          "json": "https://banes-lab.com/json/anatomy/build-scripts/folder-build-scripts-configuration-strings",
          "label": "configuration/strings",
          "markdown": "https://banes-lab.com/anatomy/build-scripts/folder-build-scripts-configuration-strings.md",
          "ref": "chapter:/anatomy/build-scripts#folder-build-scripts-configuration-strings"
        },
        {
          "href": "https://banes-lab.com/anatomy/build-scripts#folder-build-scripts-core-predicates",
          "json": "https://banes-lab.com/json/anatomy/build-scripts/folder-build-scripts-core-predicates",
          "label": "core/predicates",
          "markdown": "https://banes-lab.com/anatomy/build-scripts/folder-build-scripts-core-predicates.md",
          "ref": "chapter:/anatomy/build-scripts#folder-build-scripts-core-predicates"
        },
        {
          "href": "https://banes-lab.com/anatomy/build-scripts#folder-build-scripts-core-validators",
          "json": "https://banes-lab.com/json/anatomy/build-scripts/folder-build-scripts-core-validators",
          "label": "core/validators",
          "markdown": "https://banes-lab.com/anatomy/build-scripts/folder-build-scripts-core-validators.md",
          "ref": "chapter:/anatomy/build-scripts#folder-build-scripts-core-validators"
        }
      ],
      "relation": "linked-from"
    }
  ],
  "slots": {
    "concern": "validator",
    "subject": "metadata",
    "variant": null
  },
  "stats": {
    "bytes": 6760,
    "callable": 15,
    "definitions": 39,
    "edges": 23,
    "exported": 9,
    "files": 1,
    "findings": {},
    "flows": {
      "leaf": 6,
      "relay": 6,
      "entry": 2,
      "isolated": 25
    },
    "lines": {
      "blank": 16,
      "code": 169,
      "total": 185
    }
  },
  "summary": "169 lines of code and 39 definitions.",
  "text": "https://banes-lab.com/source/build-scripts/core/validators/metadata.validator.ts.txt",
  "tree": "build-scripts",
  "siblings": {
    "next": {
      "href": "https://banes-lab.com/anatomy/build-scripts#file-build-scripts-core-validators-payload-validator-ts",
      "json": "https://banes-lab.com/json/source/build-scripts/core/validators/payload.validator.ts",
      "label": "core/validators/payload.validator.ts",
      "markdown": "https://banes-lab.com/source/build-scripts/core/validators/payload.validator.ts.md",
      "ref": "anatomy:file-build-scripts-core-validators-payload-validator-ts"
    },
    "previous": {
      "href": "https://banes-lab.com/anatomy/build-scripts#file-build-scripts-core-validators-link-validator-ts",
      "json": "https://banes-lab.com/json/source/build-scripts/core/validators/link.validator.ts",
      "label": "core/validators/link.validator.ts",
      "markdown": "https://banes-lab.com/source/build-scripts/core/validators/link.validator.ts.md",
      "ref": "anatomy:file-build-scripts-core-validators-link-validator-ts"
    }
  },
  "up": {
    "href": null,
    "json": "https://banes-lab.com/json/api/source/build-scripts/core/validators",
    "label": "core/validators",
    "markdown": "https://banes-lab.com/api/source/build-scripts/core/validators.md",
    "ref": "api:source/build-scripts/core/validators"
  }
}
