getTopLevelDeclarations
Extract and filter top-level declarations in PureScript code to retrieve names, types, and full source code. Supports regex-based filtering for precise analysis of functions, data types, or classes.
Instructions
Get detailed information about all main definitions in PureScript code: names, types (function/data/class), and full source code. Includes filtering options to find specific items. More comprehensive than getTopLevelDeclarationNames.
Input Schema
Name | Required | Description | Default |
---|---|---|---|
code | No | PureScript code string. | |
filePath | No | Absolute path to the PureScript file. Only absolute paths are supported. | |
filters | No | Optional filters to apply to the declarations. |
Input Schema (JSON Schema)
{
"additionalProperties": false,
"description": "Exactly one of 'filePath' or 'code' must be provided. Filters are optional.",
"properties": {
"code": {
"description": "PureScript code string.",
"type": "string"
},
"filePath": {
"description": "Absolute path to the PureScript file. Only absolute paths are supported.",
"type": "string"
},
"filters": {
"additionalProperties": false,
"description": "Optional filters to apply to the declarations.",
"properties": {
"name": {
"description": "Regex to filter declarations by name.",
"type": "string"
},
"type": {
"description": "Regex to filter declarations by their mapped type (e.g., DeclData, DeclValue).",
"type": "string"
},
"value": {
"description": "Regex to filter declarations by their full text value.",
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
}