summaryrefslogtreecommitdiff
path: root/bin/wiki/ImportarDesdeURL/node_modules/htmlparser2/lib/index.js
blob: 887b9b4d15ad3885fb5adc9606edfa01dd8b222b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
var Parser = require("./Parser.js");
var DomHandler = require("domhandler");

function defineProp(name, value) {
    delete module.exports[name];
    module.exports[name] = value;
    return value;
}

module.exports = {
    Parser: Parser,
    Tokenizer: require("./Tokenizer.js"),
    ElementType: require("domelementtype"),
    DomHandler: DomHandler,
    get FeedHandler() {
        return defineProp("FeedHandler", require("./FeedHandler.js"));
    },
    get Stream() {
        return defineProp("Stream", require("./Stream.js"));
    },
    get WritableStream() {
        return defineProp("WritableStream", require("./WritableStream.js"));
    },
    get ProxyHandler() {
        return defineProp("ProxyHandler", require("./ProxyHandler.js"));
    },
    get DomUtils() {
        return defineProp("DomUtils", require("domutils"));
    },
    get CollectingHandler() {
        return defineProp(
            "CollectingHandler",
            require("./CollectingHandler.js")
        );
    },
    // For legacy support
    DefaultHandler: DomHandler,
    get RssHandler() {
        return defineProp("RssHandler", this.FeedHandler);
    },
    //helper methods
    parseDOM: function(data, options) {
        var handler = new DomHandler(options);
        new Parser(handler, options).end(data);
        return handler.dom;
    },
    parseFeed: function(feed, options) {
        var handler = new module.exports.FeedHandler(options);
        new Parser(handler, options).end(feed);
        return handler.dom;
    },
    createDomStream: function(cb, options, elementCb) {
        var handler = new DomHandler(cb, options, elementCb);
        return new Parser(handler, options);
    },
    // List of all events that the parser emits
    EVENTS: {
        /* Format: eventname: number of arguments */
        attribute: 2,
        cdatastart: 0,
        cdataend: 0,
        text: 1,
        processinginstruction: 2,
        comment: 1,
        commentend: 0,
        closetag: 1,
        opentag: 2,
        opentagname: 1,
        error: 1,
        end: 0
    }
};