{
    "Function": "facets",
    "File": "src/Facets/DiamondLoupeFacet.sol",
    "Parent Contracts": [
        "src/Interfaces/IERC165.sol",
        "src/Interfaces/IDiamondLoupe.sol"
    ],
    "High-Level Calls": [
        "LibDiamond"
    ],
    "Internal Calls": [],
    "Library Calls": [
        "diamondStorage"
    ],
    "Low-Level Calls": [],
    "Code": "function facets() external view override returns (Facet[] memory facets_) {\n        LibDiamond.DiamondStorage storage ds = LibDiamond.diamondStorage();\n        uint256 numFacets = ds.facetAddresses.length;\n        facets_ = new Facet[](numFacets);\n        for (uint256 i; i < numFacets; i++) {\n            address facetAddress_ = ds.facetAddresses[i];\n            facets_[i].facetAddress = facetAddress_;\n            facets_[i].functionSelectors = ds.facetFunctionSelectors[facetAddress_].functionSelectors;\n        }\n    }"
}