pocxxeci 0.30.1

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of pocxxeci might be problematic. Click here for more details.

Files changed (160) hide show
  1. package/LICENSE +19 -0
  2. package/Makefile +18 -0
  3. package/README.md +52 -0
  4. package/binding.gyp +81 -0
  5. package/index.d.ts +273 -0
  6. package/index.js +45 -0
  7. package/lib/bindings.js +1 -0
  8. package/lib/document.js +122 -0
  9. package/lib/element.js +82 -0
  10. package/lib/sax_parser.js +38 -0
  11. package/package.json +70 -0
  12. package/src/html_document.cc +7 -0
  13. package/src/html_document.h +18 -0
  14. package/src/libxmljs.cc +252 -0
  15. package/src/libxmljs.h +53 -0
  16. package/src/xml_attribute.cc +173 -0
  17. package/src/xml_attribute.h +40 -0
  18. package/src/xml_comment.cc +117 -0
  19. package/src/xml_comment.h +30 -0
  20. package/src/xml_document.cc +810 -0
  21. package/src/xml_document.h +67 -0
  22. package/src/xml_element.cc +565 -0
  23. package/src/xml_element.h +61 -0
  24. package/src/xml_namespace.cc +158 -0
  25. package/src/xml_namespace.h +39 -0
  26. package/src/xml_node.cc +761 -0
  27. package/src/xml_node.h +73 -0
  28. package/src/xml_pi.cc +161 -0
  29. package/src/xml_pi.h +34 -0
  30. package/src/xml_sax_parser.cc +424 -0
  31. package/src/xml_sax_parser.h +73 -0
  32. package/src/xml_syntax_error.cc +66 -0
  33. package/src/xml_syntax_error.h +25 -0
  34. package/src/xml_text.cc +320 -0
  35. package/src/xml_text.h +48 -0
  36. package/src/xml_textwriter.cc +315 -0
  37. package/src/xml_textwriter.h +62 -0
  38. package/src/xml_xpath_context.cc +70 -0
  39. package/src/xml_xpath_context.h +23 -0
  40. package/vendor/libxml/Copyright +23 -0
  41. package/vendor/libxml/DOCBparser.c +305 -0
  42. package/vendor/libxml/HTMLparser.c +7287 -0
  43. package/vendor/libxml/HTMLtree.c +1200 -0
  44. package/vendor/libxml/Makefile +2983 -0
  45. package/vendor/libxml/SAX.c +180 -0
  46. package/vendor/libxml/SAX2.c +3036 -0
  47. package/vendor/libxml/buf.c +1351 -0
  48. package/vendor/libxml/buf.h +72 -0
  49. package/vendor/libxml/c14n.c +2234 -0
  50. package/vendor/libxml/catalog.c +3828 -0
  51. package/vendor/libxml/chvalid.c +336 -0
  52. package/vendor/libxml/config.h +294 -0
  53. package/vendor/libxml/config.h.gch +0 -0
  54. package/vendor/libxml/debugXML.c +3423 -0
  55. package/vendor/libxml/dict.c +1298 -0
  56. package/vendor/libxml/elfgcchack.h +17818 -0
  57. package/vendor/libxml/enc.h +32 -0
  58. package/vendor/libxml/encoding.c +3975 -0
  59. package/vendor/libxml/entities.c +1163 -0
  60. package/vendor/libxml/error.c +998 -0
  61. package/vendor/libxml/globals.c +1126 -0
  62. package/vendor/libxml/hash.c +1146 -0
  63. package/vendor/libxml/include/libxml/DOCBparser.h +96 -0
  64. package/vendor/libxml/include/libxml/HTMLparser.h +306 -0
  65. package/vendor/libxml/include/libxml/HTMLtree.h +147 -0
  66. package/vendor/libxml/include/libxml/Makefile +725 -0
  67. package/vendor/libxml/include/libxml/Makefile.am +54 -0
  68. package/vendor/libxml/include/libxml/Makefile.in +725 -0
  69. package/vendor/libxml/include/libxml/SAX.h +173 -0
  70. package/vendor/libxml/include/libxml/SAX2.h +178 -0
  71. package/vendor/libxml/include/libxml/c14n.h +128 -0
  72. package/vendor/libxml/include/libxml/catalog.h +182 -0
  73. package/vendor/libxml/include/libxml/chvalid.h +230 -0
  74. package/vendor/libxml/include/libxml/debugXML.h +217 -0
  75. package/vendor/libxml/include/libxml/dict.h +79 -0
  76. package/vendor/libxml/include/libxml/encoding.h +245 -0
  77. package/vendor/libxml/include/libxml/entities.h +151 -0
  78. package/vendor/libxml/include/libxml/globals.h +508 -0
  79. package/vendor/libxml/include/libxml/hash.h +236 -0
  80. package/vendor/libxml/include/libxml/list.h +137 -0
  81. package/vendor/libxml/include/libxml/nanoftp.h +163 -0
  82. package/vendor/libxml/include/libxml/nanohttp.h +81 -0
  83. package/vendor/libxml/include/libxml/parser.h +1243 -0
  84. package/vendor/libxml/include/libxml/parserInternals.h +644 -0
  85. package/vendor/libxml/include/libxml/pattern.h +100 -0
  86. package/vendor/libxml/include/libxml/relaxng.h +217 -0
  87. package/vendor/libxml/include/libxml/schemasInternals.h +958 -0
  88. package/vendor/libxml/include/libxml/schematron.h +142 -0
  89. package/vendor/libxml/include/libxml/threads.h +89 -0
  90. package/vendor/libxml/include/libxml/tree.h +1311 -0
  91. package/vendor/libxml/include/libxml/uri.h +94 -0
  92. package/vendor/libxml/include/libxml/valid.h +458 -0
  93. package/vendor/libxml/include/libxml/xinclude.h +129 -0
  94. package/vendor/libxml/include/libxml/xlink.h +189 -0
  95. package/vendor/libxml/include/libxml/xmlIO.h +368 -0
  96. package/vendor/libxml/include/libxml/xmlautomata.h +146 -0
  97. package/vendor/libxml/include/libxml/xmlerror.h +945 -0
  98. package/vendor/libxml/include/libxml/xmlexports.h +77 -0
  99. package/vendor/libxml/include/libxml/xmlmemory.h +224 -0
  100. package/vendor/libxml/include/libxml/xmlmodule.h +57 -0
  101. package/vendor/libxml/include/libxml/xmlreader.h +428 -0
  102. package/vendor/libxml/include/libxml/xmlregexp.h +222 -0
  103. package/vendor/libxml/include/libxml/xmlsave.h +88 -0
  104. package/vendor/libxml/include/libxml/xmlschemas.h +246 -0
  105. package/vendor/libxml/include/libxml/xmlschemastypes.h +151 -0
  106. package/vendor/libxml/include/libxml/xmlstring.h +140 -0
  107. package/vendor/libxml/include/libxml/xmlunicode.h +202 -0
  108. package/vendor/libxml/include/libxml/xmlversion.h +484 -0
  109. package/vendor/libxml/include/libxml/xmlwin32version.h +239 -0
  110. package/vendor/libxml/include/libxml/xmlwriter.h +488 -0
  111. package/vendor/libxml/include/libxml/xpath.h +564 -0
  112. package/vendor/libxml/include/libxml/xpathInternals.h +632 -0
  113. package/vendor/libxml/include/libxml/xpointer.h +114 -0
  114. package/vendor/libxml/include/win32config.h +122 -0
  115. package/vendor/libxml/include/wsockcompat.h +54 -0
  116. package/vendor/libxml/legacy.c +1343 -0
  117. package/vendor/libxml/libxml.h +134 -0
  118. package/vendor/libxml/list.c +779 -0
  119. package/vendor/libxml/nanoftp.c +2118 -0
  120. package/vendor/libxml/nanohttp.c +1899 -0
  121. package/vendor/libxml/parser.c +15553 -0
  122. package/vendor/libxml/parserInternals.c +2164 -0
  123. package/vendor/libxml/pattern.c +2621 -0
  124. package/vendor/libxml/relaxng.c +11101 -0
  125. package/vendor/libxml/rngparser.c +1595 -0
  126. package/vendor/libxml/runsuite.c +1157 -0
  127. package/vendor/libxml/save.h +36 -0
  128. package/vendor/libxml/schematron.c +1787 -0
  129. package/vendor/libxml/threads.c +1049 -0
  130. package/vendor/libxml/timsort.h +601 -0
  131. package/vendor/libxml/tree.c +10183 -0
  132. package/vendor/libxml/trio.c +6895 -0
  133. package/vendor/libxml/trio.h +230 -0
  134. package/vendor/libxml/triodef.h +228 -0
  135. package/vendor/libxml/trionan.c +914 -0
  136. package/vendor/libxml/trionan.h +84 -0
  137. package/vendor/libxml/triop.h +150 -0
  138. package/vendor/libxml/triostr.c +2112 -0
  139. package/vendor/libxml/triostr.h +144 -0
  140. package/vendor/libxml/uri.c +2561 -0
  141. package/vendor/libxml/valid.c +7138 -0
  142. package/vendor/libxml/xinclude.c +2657 -0
  143. package/vendor/libxml/xlink.c +183 -0
  144. package/vendor/libxml/xmlIO.c +4135 -0
  145. package/vendor/libxml/xmlcatalog.c +624 -0
  146. package/vendor/libxml/xmllint.c +3796 -0
  147. package/vendor/libxml/xmlmemory.c +1163 -0
  148. package/vendor/libxml/xmlmodule.c +468 -0
  149. package/vendor/libxml/xmlreader.c +6033 -0
  150. package/vendor/libxml/xmlregexp.c +8271 -0
  151. package/vendor/libxml/xmlsave.c +2735 -0
  152. package/vendor/libxml/xmlschemas.c +29173 -0
  153. package/vendor/libxml/xmlschemastypes.c +6276 -0
  154. package/vendor/libxml/xmlstring.c +1050 -0
  155. package/vendor/libxml/xmlunicode.c +3179 -0
  156. package/vendor/libxml/xmlwriter.c +4738 -0
  157. package/vendor/libxml/xpath.c +14734 -0
  158. package/vendor/libxml/xpointer.c +2969 -0
  159. package/vendor/libxml/xzlib.c +815 -0
  160. package/vendor/libxml/xzlib.h +19 -0
@@ -0,0 +1,117 @@
1
+ #include <node.h>
2
+
3
+ #include <cstring>
4
+
5
+ #include "libxmljs.h"
6
+
7
+ #include "xml_attribute.h"
8
+ #include "xml_comment.h"
9
+ #include "xml_document.h"
10
+ #include "xml_xpath_context.h"
11
+
12
+ using namespace v8;
13
+
14
+ namespace libxmljs {
15
+
16
+ Nan::Persistent<FunctionTemplate> XmlComment::constructor_template;
17
+
18
+ // doc, content
19
+ NAN_METHOD(XmlComment::New) {
20
+ NAN_CONSTRUCTOR_CHECK(Comment)
21
+ Nan::HandleScope scope;
22
+
23
+ // if we were created for an existing xml node, then we don't need
24
+ // to create a new node on the document
25
+ if (info.Length() == 0) {
26
+ return info.GetReturnValue().Set(info.Holder());
27
+ }
28
+
29
+ DOCUMENT_ARG_CHECK
30
+
31
+ XmlDocument *document = Nan::ObjectWrap::Unwrap<XmlDocument>(doc);
32
+ assert(document);
33
+
34
+ Local<Value> contentOpt;
35
+ if (info[1]->IsString()) {
36
+ contentOpt = info[1];
37
+ }
38
+ Nan::Utf8String contentRaw(contentOpt);
39
+ const char *content = (contentRaw.length()) ? *contentRaw : NULL;
40
+
41
+ xmlNode *comm = xmlNewDocComment(document->xml_obj, (xmlChar *)content);
42
+
43
+ XmlComment *comment = new XmlComment(comm);
44
+ comm->_private = comment;
45
+ comment->Wrap(info.Holder());
46
+
47
+ // this prevents the document from going away
48
+ Nan::Set(info.Holder(), Nan::New<String>("document").ToLocalChecked(),
49
+ info[0])
50
+ .Check();
51
+
52
+ return info.GetReturnValue().Set(info.Holder());
53
+ }
54
+
55
+ NAN_METHOD(XmlComment::Text) {
56
+ Nan::HandleScope scope;
57
+ XmlComment *comment = Nan::ObjectWrap::Unwrap<XmlComment>(info.Holder());
58
+ assert(comment);
59
+
60
+ if (info.Length() == 0) {
61
+ return info.GetReturnValue().Set(comment->get_content());
62
+ } else {
63
+ comment->set_content(*Nan::Utf8String(info[0]));
64
+ }
65
+
66
+ return info.GetReturnValue().Set(info.Holder());
67
+ }
68
+
69
+ void XmlComment::set_content(const char *content) {
70
+ xmlNodeSetContent(xml_obj, (xmlChar *)content);
71
+ }
72
+
73
+ Local<Value> XmlComment::get_content() {
74
+ Nan::EscapableHandleScope scope;
75
+ xmlChar *content = xmlNodeGetContent(xml_obj);
76
+ if (content) {
77
+ Local<String> ret_content =
78
+ Nan::New<String>((const char *)content).ToLocalChecked();
79
+ xmlFree(content);
80
+ return scope.Escape(ret_content);
81
+ }
82
+
83
+ return scope.Escape(Nan::New<String>("").ToLocalChecked());
84
+ }
85
+
86
+ Local<Object> XmlComment::New(xmlNode *node) {
87
+ Nan::EscapableHandleScope scope;
88
+ if (node->_private) {
89
+ return scope.Escape(static_cast<XmlNode *>(node->_private)->handle());
90
+ }
91
+
92
+ XmlComment *comment = new XmlComment(node);
93
+ Local<Object> obj =
94
+ Nan::NewInstance(
95
+ Nan::GetFunction(Nan::New(constructor_template)).ToLocalChecked())
96
+ .ToLocalChecked();
97
+ comment->Wrap(obj);
98
+ return scope.Escape(obj);
99
+ }
100
+
101
+ XmlComment::XmlComment(xmlNode *node) : XmlNode(node) {}
102
+
103
+ void XmlComment::Initialize(Local<Object> target) {
104
+ Nan::HandleScope scope;
105
+ Local<FunctionTemplate> t =
106
+ Nan::New<FunctionTemplate>(static_cast<NAN_METHOD((*))>(New));
107
+ t->Inherit(Nan::New(XmlNode::constructor_template));
108
+ t->InstanceTemplate()->SetInternalFieldCount(1);
109
+ constructor_template.Reset(t);
110
+
111
+ Nan::SetPrototypeMethod(t, "text", XmlComment::Text);
112
+
113
+ Nan::Set(target, Nan::New<String>("Comment").ToLocalChecked(),
114
+ Nan::GetFunction(t).ToLocalChecked());
115
+ }
116
+
117
+ } // namespace libxmljs
@@ -0,0 +1,30 @@
1
+ #ifndef SRC_XML_COMMENT_H_
2
+ #define SRC_XML_COMMENT_H_
3
+
4
+ #include "libxmljs.h"
5
+ #include "xml_node.h"
6
+
7
+ namespace libxmljs {
8
+
9
+ class XmlComment : public XmlNode {
10
+ public:
11
+ explicit XmlComment(xmlNode *node);
12
+
13
+ static void Initialize(v8::Local<v8::Object> target);
14
+
15
+ static Nan::Persistent<v8::FunctionTemplate> constructor_template;
16
+
17
+ // create new xml comment to wrap the node
18
+ static v8::Local<v8::Object> New(xmlNode *node);
19
+
20
+ protected:
21
+ static NAN_METHOD(New);
22
+ static NAN_METHOD(Text);
23
+
24
+ void set_content(const char *content);
25
+ v8::Local<v8::Value> get_content();
26
+ };
27
+
28
+ } // namespace libxmljs
29
+
30
+ #endif // SRC_XML_COMMENT_H_