function Token(type, tag, nesting) {
                    /**
                     * Token#type -> String
                     *
                     * Type of the token (string, e.g. "paragraph_open")
                     **/
                    this.type     = type;

                    /**
                     * Token#tag -> String
                     *
                     * html tag name, e.g. "p"
                     **/
                    this.tag      = tag;

                    /**
                     * Token#attrs -> Array
                     *
                     * Html attributes. Format: `[ [ name1, value1 ], [ name2, value2 ] ]`
                     **/
                    this.attrs    = null;

                    /**
                     * Token#map -> Array
                     *
                     * Source map info. Format: `[ line_begin, line_end ]`
                     **/
                    this.map      = null;

                    /**
                     * Token#nesting -> Number
                     *
                     * Level change (number in {-1, 0, 1} set), where:
                     *
                     * -  `1` means the tag is opening
                     * -  `0` means the tag is self-closing
                     * - `-1` means the tag is closing
                     **/
                    this.nesting  = nesting;

                    /**
                     * Token#level -> Number
                     *
                     * nesting level, the same as `state.level`
                     **/
                    this.level    = 0;

                    /**
                     * Token#children -> Array
                     *
                     * An array of child nodes (inline and img tokens)
                     **/
                    this.children = null;

                    /**
                     * Token#content -> String
                     *
                     * In a case of self-closing tag (code, html, fence, etc.),
                     * it has contents of this tag.
                     **/
                    this.content  = '';

                    /**
                     * Token#markup -> String
                     *
                     * '*' or '_' for emphasis, fence string for fence, etc.
                     **/
                    this.markup   = '';

                    /**
                     * Token#info -> String
                     *
                     * fence infostring
                     **/
                    this.info     = '';

                    /**
                     * Token#meta -> Object
                     *
                     * A place for plugins to store an arbitrary data
                     **/
                    this.meta     = null;

                    /**
                     * Token#block -> Boolean
                     *
                     * True for block-level tokens, false for inline tokens.
                     * Used in renderer to calculate line breaks
                     **/
                    this.block    = false;

                    /**
                     * Token#hidden -> Boolean
                     *
                     * If it's true, ignore this element when rendering. Used for tight lists
                     * to hide paragraphs.
                     **/
                    this.hidden   = false;
                }
Token.attrIndex(name) -> Number

Search attribute index by name.