champollion.parser.js_class

champollion.parser.js_class.fetch_environment(content, module_id)[source]

Return class environment dictionary from content.

module_id represent the identifier of the module.

The environment is in the form of:

{
    "moduleName.AwesomeClass": {
        "id": "module.AwesomeClass",
        "name": "AwesomeClass",
        "parent": "MotherClass",
        "line": 42,
        "description": "Class doc.\n\nDetailed description."

        "id": "moduleName.AwesomeClass",
        "module_id": "moduleName",
        "exported": False,
        "default": False,
        "name": "AwesomeClass",
        "parent": None,
        "line_number": 2,
        "description": "Class doc.\n\nDetailed description."
        "method": {
            "moduleName.AwesomeClass.awesomeMethod": {
                ....
            }
        },
        "attribute": {
            "moduleName.AwesomeClass.DATA": {
                ....
            }
        }
    },
    ...
}
champollion.parser.js_class.fetch_methods_environment(content, class_id, line_number=0)[source]

Return function environment dictionary from content.

class_id represent the identifier of the method class.

line_number is the first line number of content.

The environment is in the form of:

{
    "moduleName.AwesomeClass.awesomeMethod": {
        "id": "moduleName.AwesomeClass.awesomeMethod",
        "class_id": "moduleName.AwesomeClass",
        "module_id": "moduleName",
        "name": "awesomeMethod",
        "prefix": "get",
        "arguments": ["argument1", "argument2"],
        "line_number": 5,
        "description": "Method doc.\n\nDetailed description."
    }
}
champollion.parser.js_class.fetch_attribute_environment(content, class_id, line_number=0)[source]

Return attribute environment dictionary from content.

class_id represent the identifier of the attribute class.

line_number is the first line number of content.

The environment is in the form of:

{
    "moduleName.AwesomeClass.DATA": {
        "id": "moduleName.AwesomeClass.DATA",
        "class_id": "moduleName.AwesomeClass",
        "module_id": "moduleName",
        "name": "DATA",
        "prefix": "static",
        "value": "42",
        "line_number": 8,
        "description": "Attribute doc.\n\nDetailed description."
    }
}