jsdoc 0.5.0

JsDoc parser writen in rust
Documentation
[
    JsDoc {
        span: Span {
            lo: BytePos(
                0,
            ),
            hi: BytePos(
                0,
            ),
            ctxt: #0,
        },
        description: Text {
            span: Span {
                lo: BytePos(
                    0,
                ),
                hi: BytePos(
                    39,
                ),
                ctxt: #0,
            },
            value: Atom('*
                A class that represents a person.' type=dynamic),
        },
        tags: [
            TagItem {
                span: Span {
                    lo: BytePos(
                        0,
                    ),
                    hi: BytePos(
                        5,
                    ),
                    ctxt: #0,
                },
                tag_name: Text {
                    span: Span {
                        lo: BytePos(
                            0,
                        ),
                        hi: BytePos(
                            5,
                        ),
                        ctxt: #0,
                    },
                    value: Atom('class' type=static),
                },
                tag: Class(
                    ClassTag {
                        span: Span {
                            lo: BytePos(
                                0,
                            ),
                            hi: BytePos(
                                5,
                            ),
                            ctxt: #0,
                        },
                        ty: None,
                        name: None,
                    },
                ),
            },
        ],
    },
    JsDoc {
        span: Span {
            lo: BytePos(
                90,
            ),
            hi: BytePos(
                90,
            ),
            ctxt: #0,
        },
        description: Text {
            span: Span {
                lo: BytePos(
                    90,
                ),
                hi: BytePos(
                    91,
                ),
                ctxt: #0,
            },
            value: Atom('*' type=inline),
        },
        tags: [
            TagItem {
                span: Span {
                    lo: BytePos(
                        90,
                    ),
                    hi: BytePos(
                        100,
                    ),
                    ctxt: #0,
                },
                tag_name: Text {
                    span: Span {
                        lo: BytePos(
                            90,
                        ),
                        hi: BytePos(
                            100,
                        ),
                        ctxt: #0,
                    },
                    value: Atom('constructs' type=dynamic),
                },
                tag: Constructs(
                    ConstructsTag {
                        span: Span {
                            lo: BytePos(
                                90,
                            ),
                            hi: BytePos(
                                100,
                            ),
                            ctxt: #0,
                        },
                        name: Text {
                            span: Span {
                                lo: BytePos(
                                    90,
                                ),
                                hi: BytePos(
                                    96,
                                ),
                                ctxt: #0,
                            },
                            value: Atom('Person' type=inline),
                        },
                    },
                ),
            },
            TagItem {
                span: Span {
                    lo: BytePos(
                        90,
                    ),
                    hi: BytePos(
                        95,
                    ),
                    ctxt: #0,
                },
                tag_name: Text {
                    span: Span {
                        lo: BytePos(
                            90,
                        ),
                        hi: BytePos(
                            95,
                        ),
                        ctxt: #0,
                    },
                    value: Atom('param' type=inline),
                },
                tag: Parameter(
                    ParameterTag {
                        span: Span {
                            lo: BytePos(
                                90,
                            ),
                            hi: BytePos(
                                95,
                            ),
                            ctxt: #0,
                        },
                        name: None,
                        ty: Some(
                            Text {
                                span: Span {
                                    lo: BytePos(
                                        90,
                                    ),
                                    hi: BytePos(
                                        98,
                                    ),
                                    ctxt: #0,
                                },
                                value: Atom('{string}' type=dynamic),
                            },
                        ),
                        desc: Text {
                            span: Span {
                                lo: BytePos(
                                    90,
                                ),
                                hi: BytePos(
                                    94,
                                ),
                                ctxt: #0,
                            },
                            value: Atom('name' type=inline),
                        },
                    },
                ),
            },
        ],
    },
    JsDoc {
        span: Span {
            lo: BytePos(
                200,
            ),
            hi: BytePos(
                200,
            ),
            ctxt: #0,
        },
        description: Text {
            span: Span {
                lo: BytePos(
                    200,
                ),
                hi: BytePos(
                    225,
                ),
                ctxt: #0,
            },
            value: Atom('* The name of the person.' type=dynamic),
        },
        tags: [],
    },
    JsDoc {
        span: Span {
            lo: BytePos(
                269,
            ),
            hi: BytePos(
                269,
            ),
            ctxt: #0,
        },
        description: Text {
            span: Span {
                lo: BytePos(
                    269,
                ),
                hi: BytePos(
                    270,
                ),
                ctxt: #0,
            },
            value: Atom('*' type=inline),
        },
        tags: [
            TagItem {
                span: Span {
                    lo: BytePos(
                        269,
                    ),
                    hi: BytePos(
                        277,
                    ),
                    ctxt: #0,
                },
                tag_name: Text {
                    span: Span {
                        lo: BytePos(
                            269,
                        ),
                        hi: BytePos(
                            277,
                        ),
                        ctxt: #0,
                    },
                    value: Atom('memberof' type=dynamic),
                },
                tag: MemberOf(
                    MemberOfTag {
                        span: Span {
                            lo: BytePos(
                                269,
                            ),
                            hi: BytePos(
                                277,
                            ),
                            ctxt: #0,
                        },
                        parent_name_path: NamePath {
                            span: Span {
                                lo: BytePos(
                                    269,
                                ),
                                hi: BytePos(
                                    307,
                                ),
                                ctxt: #0,
                            },
                            components: [
                                Text {
                                    span: Span {
                                        lo: BytePos(
                                            269,
                                        ),
                                        hi: BytePos(
                                            275,
                                        ),
                                        ctxt: #0,
                                    },
                                    value: Atom('Person' type=inline),
                                },
                            ],
                        },
                    },
                ),
            },
            TagItem {
                span: Span {
                    lo: BytePos(
                        269,
                    ),
                    hi: BytePos(
                        274,
                    ),
                    ctxt: #0,
                },
                tag_name: Text {
                    span: Span {
                        lo: BytePos(
                            269,
                        ),
                        hi: BytePos(
                            274,
                        ),
                        ctxt: #0,
                    },
                    value: Atom('param' type=inline),
                },
                tag: Parameter(
                    ParameterTag {
                        span: Span {
                            lo: BytePos(
                                269,
                            ),
                            hi: BytePos(
                                274,
                            ),
                            ctxt: #0,
                        },
                        name: None,
                        ty: Some(
                            Text {
                                span: Span {
                                    lo: BytePos(
                                        269,
                                    ),
                                    hi: BytePos(
                                        277,
                                    ),
                                    ctxt: #0,
                                },
                                value: Atom('{string}' type=dynamic),
                            },
                        ),
                        desc: Text {
                            span: Span {
                                lo: BytePos(
                                    269,
                                ),
                                hi: BytePos(
                                    276,
                                ),
                                ctxt: #0,
                            },
                            value: Atom('message' type=inline),
                        },
                    },
                ),
            },
        ],
    },
    JsDoc {
        span: Span {
            lo: BytePos(
                377,
            ),
            hi: BytePos(
                377,
            ),
            ctxt: #0,
        },
        description: Text {
            span: Span {
                lo: BytePos(
                    377,
                ),
                hi: BytePos(
                    400,
                ),
                ctxt: #0,
            },
            value: Atom('* The person's message.' type=dynamic),
        },
        tags: [],
    },
]