{
  "definitions": [
    {
      "callable": true,
      "callees": [
        {
          "file": "core/stylelint/no-held-entrance-fill.stylelint.rule.ts",
          "name": "endsOpaque",
          "source": {
            "href": "https://banes-lab.com/anatomy/quality#file-quality-core-stylelint-no-held-entrance-fill-stylelint-rule-ts",
            "json": "https://banes-lab.com/json/source/quality/core/stylelint/no-held-entrance-fill.stylelint.rule.ts",
            "label": "core/stylelint/no-held-entrance-fill.stylelint.rule.ts",
            "markdown": "https://banes-lab.com/source/quality/core/stylelint/no-held-entrance-fill.stylelint.rule.ts.md",
            "ref": "anatomy:file-quality-core-stylelint-no-held-entrance-fill-stylelint-rule-ts"
          }
        }
      ],
      "callers": [
        {
          "file": "core/stylelint/no-held-entrance-fill.stylelint.rule.ts",
          "name": "opaqueEndingsOf",
          "source": {
            "href": "https://banes-lab.com/anatomy/quality#file-quality-core-stylelint-no-held-entrance-fill-stylelint-rule-ts",
            "json": "https://banes-lab.com/json/source/quality/core/stylelint/no-held-entrance-fill.stylelint.rule.ts",
            "label": "core/stylelint/no-held-entrance-fill.stylelint.rule.ts",
            "markdown": "https://banes-lab.com/source/quality/core/stylelint/no-held-entrance-fill.stylelint.rule.ts.md",
            "ref": "anatomy:file-quality-core-stylelint-no-held-entrance-fill-stylelint-rule-ts"
          }
        },
        {
          "file": "core/stylelint/no-held-entrance-fill.stylelint.rule.ts",
          "name": "opaqueEndingsOf",
          "source": {
            "href": "https://banes-lab.com/anatomy/quality#file-quality-core-stylelint-no-held-entrance-fill-stylelint-rule-ts",
            "json": "https://banes-lab.com/json/source/quality/core/stylelint/no-held-entrance-fill.stylelint.rule.ts",
            "label": "core/stylelint/no-held-entrance-fill.stylelint.rule.ts",
            "markdown": "https://banes-lab.com/source/quality/core/stylelint/no-held-entrance-fill.stylelint.rule.ts.md",
            "ref": "anatomy:file-quality-core-stylelint-no-held-entrance-fill-stylelint-rule-ts"
          }
        },
        {
          "file": "core/stylelint/no-held-entrance-fill.stylelint.rule.ts",
          "name": "opaqueEndingsOf",
          "source": {
            "href": "https://banes-lab.com/anatomy/quality#file-quality-core-stylelint-no-held-entrance-fill-stylelint-rule-ts",
            "json": "https://banes-lab.com/json/source/quality/core/stylelint/no-held-entrance-fill.stylelint.rule.ts",
            "label": "core/stylelint/no-held-entrance-fill.stylelint.rule.ts",
            "markdown": "https://banes-lab.com/source/quality/core/stylelint/no-held-entrance-fill.stylelint.rule.ts.md",
            "ref": "anatomy:file-quality-core-stylelint-no-held-entrance-fill-stylelint-rule-ts"
          }
        }
      ],
      "exported": false,
      "flow": "relay",
      "kind": "lexical_declaration",
      "line": 61,
      "name": "opaqueEndingsIn",
      "signature": "const opaqueEndingsIn = function opaqueEndingsIn(root: Root): readonly string[] {"
    },
    {
      "callable": true,
      "callees": [
        {
          "file": "core/stylelint/no-held-entrance-fill.stylelint.rule.ts",
          "name": "isFinalFrame",
          "source": {
            "href": "https://banes-lab.com/anatomy/quality#file-quality-core-stylelint-no-held-entrance-fill-stylelint-rule-ts",
            "json": "https://banes-lab.com/json/source/quality/core/stylelint/no-held-entrance-fill.stylelint.rule.ts",
            "label": "core/stylelint/no-held-entrance-fill.stylelint.rule.ts",
            "markdown": "https://banes-lab.com/source/quality/core/stylelint/no-held-entrance-fill.stylelint.rule.ts.md",
            "ref": "anatomy:file-quality-core-stylelint-no-held-entrance-fill-stylelint-rule-ts"
          }
        }
      ],
      "callers": [
        {
          "file": "core/stylelint/no-held-entrance-fill.stylelint.rule.ts",
          "name": "opaqueEndingsIn",
          "source": {
            "href": "https://banes-lab.com/anatomy/quality#file-quality-core-stylelint-no-held-entrance-fill-stylelint-rule-ts",
            "json": "https://banes-lab.com/json/source/quality/core/stylelint/no-held-entrance-fill.stylelint.rule.ts",
            "label": "core/stylelint/no-held-entrance-fill.stylelint.rule.ts",
            "markdown": "https://banes-lab.com/source/quality/core/stylelint/no-held-entrance-fill.stylelint.rule.ts.md",
            "ref": "anatomy:file-quality-core-stylelint-no-held-entrance-fill-stylelint-rule-ts"
          }
        }
      ],
      "exported": false,
      "flow": "relay",
      "kind": "lexical_declaration",
      "line": 48,
      "name": "endsOpaque",
      "signature": "const endsOpaque = function endsOpaque(keyframes: AtRule): boolean {"
    },
    {
      "callable": true,
      "callees": [
        {
          "file": "core/stylelint/no-held-entrance-fill.stylelint.rule.ts",
          "name": "layerBreak",
          "source": {
            "href": "https://banes-lab.com/anatomy/quality#file-quality-core-stylelint-no-held-entrance-fill-stylelint-rule-ts",
            "json": "https://banes-lab.com/json/source/quality/core/stylelint/no-held-entrance-fill.stylelint.rule.ts",
            "label": "core/stylelint/no-held-entrance-fill.stylelint.rule.ts",
            "markdown": "https://banes-lab.com/source/quality/core/stylelint/no-held-entrance-fill.stylelint.rule.ts.md",
            "ref": "anatomy:file-quality-core-stylelint-no-held-entrance-fill-stylelint-rule-ts"
          }
        }
      ],
      "callers": [
        {
          "file": "core/stylelint/no-held-entrance-fill.stylelint.rule.ts",
          "name": "heldNames",
          "source": {
            "href": "https://banes-lab.com/anatomy/quality#file-quality-core-stylelint-no-held-entrance-fill-stylelint-rule-ts",
            "json": "https://banes-lab.com/json/source/quality/core/stylelint/no-held-entrance-fill.stylelint.rule.ts",
            "label": "core/stylelint/no-held-entrance-fill.stylelint.rule.ts",
            "markdown": "https://banes-lab.com/source/quality/core/stylelint/no-held-entrance-fill.stylelint.rule.ts.md",
            "ref": "anatomy:file-quality-core-stylelint-no-held-entrance-fill-stylelint-rule-ts"
          }
        }
      ],
      "exported": false,
      "flow": "relay",
      "kind": "lexical_declaration",
      "line": 108,
      "name": "layersOf",
      "signature": "const layersOf = function layersOf(value: string): readonly (readonly string[])[] {"
    },
    {
      "callable": true,
      "callees": [],
      "callers": [
        {
          "file": "core/stylelint/no-held-entrance-fill.stylelint.rule.ts",
          "name": "endsOpaque",
          "source": {
            "href": "https://banes-lab.com/anatomy/quality#file-quality-core-stylelint-no-held-entrance-fill-stylelint-rule-ts",
            "json": "https://banes-lab.com/json/source/quality/core/stylelint/no-held-entrance-fill.stylelint.rule.ts",
            "label": "core/stylelint/no-held-entrance-fill.stylelint.rule.ts",
            "markdown": "https://banes-lab.com/source/quality/core/stylelint/no-held-entrance-fill.stylelint.rule.ts.md",
            "ref": "anatomy:file-quality-core-stylelint-no-held-entrance-fill-stylelint-rule-ts"
          }
        }
      ],
      "exported": false,
      "flow": "leaf",
      "kind": "lexical_declaration",
      "line": 44,
      "name": "isFinalFrame",
      "signature": "const isFinalFrame = function isFinalFrame(frame: CssRule): boolean {"
    },
    {
      "callable": true,
      "callees": [],
      "callers": [
        {
          "file": "core/stylelint/no-held-entrance-fill.stylelint.rule.ts",
          "name": "layersOf",
          "source": {
            "href": "https://banes-lab.com/anatomy/quality#file-quality-core-stylelint-no-held-entrance-fill-stylelint-rule-ts",
            "json": "https://banes-lab.com/json/source/quality/core/stylelint/no-held-entrance-fill.stylelint.rule.ts",
            "label": "core/stylelint/no-held-entrance-fill.stylelint.rule.ts",
            "markdown": "https://banes-lab.com/source/quality/core/stylelint/no-held-entrance-fill.stylelint.rule.ts.md",
            "ref": "anatomy:file-quality-core-stylelint-no-held-entrance-fill-stylelint-rule-ts"
          }
        }
      ],
      "exported": false,
      "flow": "leaf",
      "kind": "lexical_declaration",
      "line": 120,
      "name": "layerBreak",
      "signature": "const layerBreak = function layerBreak(node: Node): string[][] {"
    },
    {
      "callable": true,
      "callees": [
        {
          "file": "core/stylelint/no-held-entrance-fill.stylelint.rule.ts",
          "name": "opaqueEndingsIn",
          "source": {
            "href": "https://banes-lab.com/anatomy/quality#file-quality-core-stylelint-no-held-entrance-fill-stylelint-rule-ts",
            "json": "https://banes-lab.com/json/source/quality/core/stylelint/no-held-entrance-fill.stylelint.rule.ts",
            "label": "core/stylelint/no-held-entrance-fill.stylelint.rule.ts",
            "markdown": "https://banes-lab.com/source/quality/core/stylelint/no-held-entrance-fill.stylelint.rule.ts.md",
            "ref": "anatomy:file-quality-core-stylelint-no-held-entrance-fill-stylelint-rule-ts"
          }
        },
        {
          "file": "core/stylelint/no-held-entrance-fill.stylelint.rule.ts",
          "name": "opaqueEndingsIn",
          "source": {
            "href": "https://banes-lab.com/anatomy/quality#file-quality-core-stylelint-no-held-entrance-fill-stylelint-rule-ts",
            "json": "https://banes-lab.com/json/source/quality/core/stylelint/no-held-entrance-fill.stylelint.rule.ts",
            "label": "core/stylelint/no-held-entrance-fill.stylelint.rule.ts",
            "markdown": "https://banes-lab.com/source/quality/core/stylelint/no-held-entrance-fill.stylelint.rule.ts.md",
            "ref": "anatomy:file-quality-core-stylelint-no-held-entrance-fill-stylelint-rule-ts"
          }
        },
        {
          "file": "core/stylelint/no-held-entrance-fill.stylelint.rule.ts",
          "name": "opaqueEndingsIn",
          "source": {
            "href": "https://banes-lab.com/anatomy/quality#file-quality-core-stylelint-no-held-entrance-fill-stylelint-rule-ts",
            "json": "https://banes-lab.com/json/source/quality/core/stylelint/no-held-entrance-fill.stylelint.rule.ts",
            "label": "core/stylelint/no-held-entrance-fill.stylelint.rule.ts",
            "markdown": "https://banes-lab.com/source/quality/core/stylelint/no-held-entrance-fill.stylelint.rule.ts.md",
            "ref": "anatomy:file-quality-core-stylelint-no-held-entrance-fill-stylelint-rule-ts"
          }
        }
      ],
      "callers": [],
      "exported": false,
      "flow": "entry",
      "kind": "lexical_declaration",
      "line": 91,
      "name": "opaqueEndingsOf",
      "signature": "const opaqueEndingsOf = function opaqueEndingsOf(root: Root): ReadonlySet<string> {"
    },
    {
      "callable": true,
      "callees": [
        {
          "file": "core/stylelint/no-held-entrance-fill.stylelint.rule.ts",
          "name": "layersOf",
          "source": {
            "href": "https://banes-lab.com/anatomy/quality#file-quality-core-stylelint-no-held-entrance-fill-stylelint-rule-ts",
            "json": "https://banes-lab.com/json/source/quality/core/stylelint/no-held-entrance-fill.stylelint.rule.ts",
            "label": "core/stylelint/no-held-entrance-fill.stylelint.rule.ts",
            "markdown": "https://banes-lab.com/source/quality/core/stylelint/no-held-entrance-fill.stylelint.rule.ts.md",
            "ref": "anatomy:file-quality-core-stylelint-no-held-entrance-fill-stylelint-rule-ts"
          }
        }
      ],
      "callers": [],
      "exported": false,
      "flow": "entry",
      "kind": "lexical_declaration",
      "line": 139,
      "name": "heldNames",
      "signature": "const heldNames = function heldNames(decl: Declaration, opaque: ReadonlySet<string>): readonly string[] {"
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": false,
      "flow": "isolated",
      "kind": "lexical_declaration",
      "line": 9,
      "name": "{ createPlugin, utils }",
      "signature": "const { createPlugin, utils } = stylelint;"
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": false,
      "flow": "isolated",
      "kind": "lexical_declaration",
      "line": 10,
      "name": "ruleName",
      "signature": "const ruleName = \"govlab/no-held-entrance-fill\";"
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": false,
      "flow": "isolated",
      "kind": "lexical_declaration",
      "line": 11,
      "name": "ruleId",
      "signature": "const ruleId = \"no_held_entrance_fill\";"
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": true,
      "flow": "isolated",
      "kind": "lexical_declaration",
      "line": 13,
      "name": "RULE_META",
      "signature": "export const RULE_META: GovlabStylelintMeta = {"
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": false,
      "flow": "isolated",
      "kind": "lexical_declaration",
      "line": 23,
      "name": "KEYFRAMES",
      "signature": "const KEYFRAMES = \"keyframes\";"
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": false,
      "flow": "isolated",
      "kind": "lexical_declaration",
      "line": 24,
      "name": "FINAL_FRAMES",
      "signature": "const FINAL_FRAMES = new Set([\"to\", \"100%\"]);"
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": false,
      "flow": "isolated",
      "kind": "lexical_declaration",
      "line": 25,
      "name": "OPACITY",
      "signature": "const OPACITY = \"opacity\";"
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": false,
      "flow": "isolated",
      "kind": "lexical_declaration",
      "line": 26,
      "name": "OPAQUE",
      "signature": "const OPAQUE = new Set([\"1\", \"100%\"]);"
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": false,
      "flow": "isolated",
      "kind": "lexical_declaration",
      "line": 27,
      "name": "HOLDING_FILLS",
      "signature": "const HOLDING_FILLS = new Set([\"forwards\", \"both\"]);"
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": false,
      "flow": "isolated",
      "kind": "lexical_declaration",
      "line": 28,
      "name": "SHORTHAND",
      "signature": "const SHORTHAND = \"animation\";"
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": false,
      "flow": "isolated",
      "kind": "lexical_declaration",
      "line": 29,
      "name": "NAME_LONGHAND",
      "signature": "const NAME_LONGHAND = \"animation-name\";"
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": false,
      "flow": "isolated",
      "kind": "lexical_declaration",
      "line": 30,
      "name": "FILL_LONGHAND",
      "signature": "const FILL_LONGHAND = \"animation-fill-mode\";"
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": false,
      "flow": "isolated",
      "kind": "lexical_declaration",
      "line": 31,
      "name": "LAYER_SEPARATOR",
      "signature": "const LAYER_SEPARATOR = \",\";"
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": false,
      "flow": "isolated",
      "kind": "lexical_declaration",
      "line": 32,
      "name": "PACKAGE_MANIFEST",
      "signature": "const PACKAGE_MANIFEST = \"package.json\";"
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": false,
      "flow": "isolated",
      "kind": "lexical_declaration",
      "line": 33,
      "name": "STYLESHEET_EXTENSION",
      "signature": "const STYLESHEET_EXTENSION = \".css\";"
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": false,
      "flow": "isolated",
      "kind": "lexical_declaration",
      "line": 34,
      "name": "DEPENDENCY_FOLDER",
      "signature": "const DEPENDENCY_FOLDER = \"node_modules\";"
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": false,
      "flow": "isolated",
      "kind": "lexical_declaration",
      "line": 36,
      "name": "messages",
      "signature": "const messages = utils.ruleMessages(ruleName, {"
    },
    {
      "callable": true,
      "callees": [],
      "callers": [],
      "exported": false,
      "flow": "isolated",
      "kind": "lexical_declaration",
      "line": 71,
      "name": "memberRootOf",
      "signature": "const memberRootOf = function memberRootOf(file: string): string | null {"
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": false,
      "flow": "isolated",
      "kind": "lexical_declaration",
      "line": 72,
      "name": "folder",
      "signature": "for (let folder = dirname(file); ; folder = dirname(folder)) {"
    },
    {
      "callable": true,
      "callees": [],
      "callers": [],
      "exported": false,
      "flow": "isolated",
      "kind": "lexical_declaration",
      "line": 82,
      "name": "stylesheetsUnder",
      "signature": "const stylesheetsUnder = function stylesheetsUnder(folder: string): readonly string[] {"
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": false,
      "flow": "isolated",
      "kind": "lexical_declaration",
      "line": 89,
      "name": "memberEndings",
      "signature": "const memberEndings = new Map<string, ReadonlySet<string>>();"
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": false,
      "flow": "isolated",
      "kind": "lexical_declaration",
      "line": 92,
      "name": "file",
      "signature": "const file = root.source?.input.file;"
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": false,
      "flow": "isolated",
      "kind": "lexical_declaration",
      "line": 93,
      "name": "member",
      "signature": "const member = file === undefined ? null : memberRootOf(file);"
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": false,
      "flow": "isolated",
      "kind": "lexical_declaration",
      "line": 97,
      "name": "cached",
      "signature": "const cached = memberEndings.get(member);"
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": false,
      "flow": "isolated",
      "kind": "lexical_declaration",
      "line": 109,
      "name": "layers",
      "signature": "const layers: string[][] = [[]];"
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": false,
      "flow": "isolated",
      "kind": "lexical_declaration",
      "line": 112,
      "name": "current",
      "signature": "const current = layers.at(-1);"
    },
    {
      "callable": true,
      "callees": [],
      "callers": [],
      "exported": false,
      "flow": "isolated",
      "kind": "lexical_declaration",
      "line": 124,
      "name": "heldIn",
      "signature": "const heldIn = function heldIn(words: readonly string[], opaque: ReadonlySet<string>): string | null {"
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": false,
      "flow": "isolated",
      "kind": "lexical_declaration",
      "line": 125,
      "name": "holds",
      "signature": "const holds = words.some((word) => HOLDING_FILLS.has(word.toLowerCase()));"
    },
    {
      "callable": true,
      "callees": [],
      "callers": [],
      "exported": false,
      "flow": "isolated",
      "kind": "lexical_declaration",
      "line": 129,
      "name": "siblingValue",
      "signature": "const siblingValue = function siblingValue(decl: Declaration, prop: string): string | null {"
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": false,
      "flow": "isolated",
      "kind": "lexical_declaration",
      "line": 130,
      "name": "found",
      "signature": "let found: string | null = null;"
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": false,
      "flow": "isolated",
      "kind": "lexical_declaration",
      "line": 140,
      "name": "prop",
      "signature": "const prop = decl.prop.toLowerCase();"
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": false,
      "flow": "isolated",
      "kind": "lexical_declaration",
      "line": 150,
      "name": "names",
      "signature": "const names = siblingValue(decl, NAME_LONGHAND);"
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": false,
      "flow": "isolated",
      "kind": "lexical_declaration",
      "line": 151,
      "name": "words",
      "signature": "const words = [...layersOf(decl.value).flat(), ...(names === null ? [] : layersOf(names).flat())];"
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": false,
      "flow": "isolated",
      "kind": "lexical_declaration",
      "line": 152,
      "name": "name",
      "signature": "const name = heldIn(words, opaque);"
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": false,
      "flow": "isolated",
      "kind": "lexical_declaration",
      "line": 156,
      "name": "rule",
      "signature": "const rule: Rule = Object.assign("
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": false,
      "flow": "isolated",
      "kind": "lexical_declaration",
      "line": 162,
      "name": "opaque",
      "signature": "const opaque = opaqueEndingsOf(root);"
    }
  ],
  "document": null,
  "findings": [],
  "generated": false,
  "href": "https://banes-lab.com/anatomy/quality#file-quality-core-stylelint-no-held-entrance-fill-stylelint-rule-ts",
  "language": "typescript",
  "layer": null,
  "name": "no-held-entrance-fill.stylelint.rule.ts",
  "path": "core/stylelint/no-held-entrance-fill.stylelint.rule.ts",
  "ref": "anatomy:file-quality-core-stylelint-no-held-entrance-fill-stylelint-rule-ts",
  "relations": [
    {
      "links": [
        {
          "href": "https://banes-lab.com/anatomy/quality#folder-quality-core-stylelint",
          "json": "https://banes-lab.com/json/anatomy/quality/folder-quality-core-stylelint",
          "label": "core/stylelint",
          "markdown": "https://banes-lab.com/anatomy/quality/folder-quality-core-stylelint.md",
          "ref": "chapter:/anatomy/quality#folder-quality-core-stylelint"
        }
      ],
      "relation": "contained-in"
    },
    {
      "links": [
        {
          "href": "https://banes-lab.com/anatomy/quality#folder-quality-core-stylelint",
          "json": "https://banes-lab.com/json/anatomy/quality/folder-quality-core-stylelint",
          "label": "core/stylelint",
          "markdown": "https://banes-lab.com/anatomy/quality/folder-quality-core-stylelint.md",
          "ref": "chapter:/anatomy/quality#folder-quality-core-stylelint"
        }
      ],
      "relation": "linked-from"
    }
  ],
  "slots": null,
  "stats": {
    "bytes": 6524,
    "callable": 11,
    "definitions": 43,
    "edges": 7,
    "exported": 1,
    "files": 1,
    "findings": {},
    "flows": {
      "relay": 3,
      "leaf": 2,
      "entry": 2,
      "isolated": 36
    },
    "lines": {
      "blank": 18,
      "code": 157,
      "total": 175
    }
  },
  "summary": "157 lines of code and 43 definitions.",
  "text": "https://banes-lab.com/source/quality/core/stylelint/no-held-entrance-fill.stylelint.rule.ts.txt",
  "tree": "quality",
  "siblings": {
    "next": {
      "href": "https://banes-lab.com/anatomy/quality#file-quality-core-stylelint-no-large-viewport-unit-stylelint-rule-ts",
      "json": "https://banes-lab.com/json/source/quality/core/stylelint/no-large-viewport-unit.stylelint.rule.ts",
      "label": "core/stylelint/no-large-viewport-unit.stylelint.rule.ts",
      "markdown": "https://banes-lab.com/source/quality/core/stylelint/no-large-viewport-unit.stylelint.rule.ts.md",
      "ref": "anatomy:file-quality-core-stylelint-no-large-viewport-unit-stylelint-rule-ts"
    },
    "previous": {
      "href": "https://banes-lab.com/anatomy/quality#file-quality-core-stylelint-no-custom-property-redefinition-stylelint-rule-ts",
      "json": "https://banes-lab.com/json/source/quality/core/stylelint/no-custom-property-redefinition.stylelint.rule.ts",
      "label": "core/stylelint/no-custom-property-redefinition.stylelint.rule.ts",
      "markdown": "https://banes-lab.com/source/quality/core/stylelint/no-custom-property-redefinition.stylelint.rule.ts.md",
      "ref": "anatomy:file-quality-core-stylelint-no-custom-property-redefinition-stylelint-rule-ts"
    }
  },
  "up": {
    "href": null,
    "json": "https://banes-lab.com/json/api/source/quality/core/stylelint",
    "label": "core/stylelint",
    "markdown": "https://banes-lab.com/api/source/quality/core/stylelint.md",
    "ref": "api:source/quality/core/stylelint"
  }
}
