gumbo-html 0.2.4 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (52) hide show
  1. package/README.md +27 -10
  2. package/binding.gyp +49 -0
  3. package/examples/example.js +87 -0
  4. package/examples/scrape.js +301 -0
  5. package/index.d.ts +58 -3
  6. package/index.js +7 -2
  7. package/lib/wrapper.js +385 -0
  8. package/package.json +36 -5
  9. package/src/addon.cc +19 -0
  10. package/src/gumbo-parser/COPYING +201 -0
  11. package/src/gumbo-parser/README.md +8 -0
  12. package/src/gumbo-parser/src/attribute.c +44 -0
  13. package/src/gumbo-parser/src/attribute.h +37 -0
  14. package/src/gumbo-parser/src/char_ref.c +23069 -0
  15. package/src/gumbo-parser/src/char_ref.h +60 -0
  16. package/src/gumbo-parser/src/error.c +279 -0
  17. package/src/gumbo-parser/src/error.h +225 -0
  18. package/src/gumbo-parser/src/gumbo.h +671 -0
  19. package/src/gumbo-parser/src/insertion_mode.h +57 -0
  20. package/src/gumbo-parser/src/parser.c +4192 -0
  21. package/src/gumbo-parser/src/parser.h +57 -0
  22. package/src/gumbo-parser/src/string_buffer.c +110 -0
  23. package/src/gumbo-parser/src/string_buffer.h +84 -0
  24. package/src/gumbo-parser/src/string_piece.c +48 -0
  25. package/src/gumbo-parser/src/string_piece.h +38 -0
  26. package/src/gumbo-parser/src/tag.c +95 -0
  27. package/src/gumbo-parser/src/tag_enum.h +153 -0
  28. package/src/gumbo-parser/src/tag_gperf.h +105 -0
  29. package/src/gumbo-parser/src/tag_sizes.h +4 -0
  30. package/src/gumbo-parser/src/tag_strings.h +153 -0
  31. package/src/gumbo-parser/src/token_type.h +41 -0
  32. package/src/gumbo-parser/src/tokenizer.c +2897 -0
  33. package/src/gumbo-parser/src/tokenizer.h +123 -0
  34. package/src/gumbo-parser/src/tokenizer_states.h +103 -0
  35. package/src/gumbo-parser/src/utf8.c +270 -0
  36. package/src/gumbo-parser/src/utf8.h +132 -0
  37. package/src/gumbo-parser/src/util.c +58 -0
  38. package/src/gumbo-parser/src/util.h +60 -0
  39. package/src/gumbo-parser/src/vector.c +123 -0
  40. package/src/gumbo-parser/src/vector.h +67 -0
  41. package/src/html_document.cc +411 -0
  42. package/src/html_document.h +56 -0
  43. package/src/html_element.cc +963 -0
  44. package/src/html_element.h +70 -0
  45. package/src/include/win/strings.h +11 -0
  46. package/src/jsa.c +182 -0
  47. package/src/jsa.h +44 -0
  48. package/src/xnode.c +372 -0
  49. package/src/xnode_query.c +330 -0
  50. package/src/xnode_query.h +186 -0
  51. package/src/xnode_query_parser.c +414 -0
  52. package/install.js +0 -15
@@ -0,0 +1,56 @@
1
+ #ifndef HTML_DOCUMENT_
2
+ #define HTML_DOCUMENT_
3
+
4
+ #include <napi.h>
5
+
6
+ #include "xnode_query.h"
7
+
8
+ namespace html {
9
+
10
+ struct XDocWrapper {
11
+ XNodeDocument *xdoc;
12
+ size_t ref_count;
13
+
14
+ XDocWrapper(XNodeDocument *p)
15
+ : xdoc(p), ref_count(1) {
16
+ }
17
+
18
+ ~XDocWrapper() {
19
+ if (xdoc) {
20
+ xnode_document_free(xdoc);
21
+ }
22
+ }
23
+ };
24
+
25
+ class Document : public Napi::ObjectWrap<Document> {
26
+ public:
27
+ static void Init(Napi::Env env);
28
+ static Napi::Value Parse(const Napi::CallbackInfo& info);
29
+
30
+ static Napi::FunctionReference constructor;
31
+
32
+ Document(const Napi::CallbackInfo& info);
33
+ ~Document();
34
+
35
+ Napi::Value Find(const Napi::CallbackInfo& info);
36
+ Napi::Value First(const Napi::CallbackInfo& info);
37
+ Napi::Value FirstSafe(const Napi::CallbackInfo& info);
38
+ Napi::Value Only(const Napi::CallbackInfo& info);
39
+ Napi::Value OnlySafe(const Napi::CallbackInfo& info);
40
+ Napi::Value GetDocumentElement(const Napi::CallbackInfo& info);
41
+
42
+ Napi::Value FirstOrThrow(const Napi::CallbackInfo& info);
43
+ Napi::Value OnlyOrThrow(const Napi::CallbackInfo& info);
44
+ Napi::Value Text(const Napi::CallbackInfo& info);
45
+ Napi::Value TextOrThrow(const Napi::CallbackInfo& info);
46
+ Napi::Value Exists(const Napi::CallbackInfo& info);
47
+ Napi::Value Count(const Napi::CallbackInfo& info);
48
+ Napi::Value Attr2(const Napi::CallbackInfo& info);
49
+ Napi::Value AttrOrThrow2(const Napi::CallbackInfo& info);
50
+
51
+ XDocWrapper *xdoc_wrapper_;
52
+ };
53
+
54
+ }
55
+
56
+ #endif // HTML_DOCUMENT_