@contrast/agent 4.5.2 → 4.6.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 (121) hide show
  1. package/lib/assess/policy/propagators.json +20 -0
  2. package/lib/assess/policy/signatures.json +10 -0
  3. package/lib/core/config/options.js +3 -2
  4. package/lib/core/stacktrace.js +2 -1
  5. package/lib/hooks/frameworks/base.js +8 -2
  6. package/lib/hooks/frameworks/http.js +23 -16
  7. package/lib/hooks/frameworks/http2.js +73 -0
  8. package/lib/hooks/frameworks/index.js +8 -3
  9. package/lib/hooks/http.js +112 -128
  10. package/lib/hooks/require.js +16 -22
  11. package/lib/instrumentation.js +0 -3
  12. package/package.json +12 -15
  13. package/lib/hooks/frameworks/https.js +0 -42
  14. package/node_modules/bindings/LICENSE.md +0 -22
  15. package/node_modules/bindings/README.md +0 -98
  16. package/node_modules/bindings/bindings.js +0 -221
  17. package/node_modules/bindings/package.json +0 -32
  18. package/node_modules/file-uri-to-path/.npmignore +0 -1
  19. package/node_modules/file-uri-to-path/.travis.yml +0 -30
  20. package/node_modules/file-uri-to-path/History.md +0 -21
  21. package/node_modules/file-uri-to-path/LICENSE +0 -20
  22. package/node_modules/file-uri-to-path/README.md +0 -74
  23. package/node_modules/file-uri-to-path/index.d.ts +0 -2
  24. package/node_modules/file-uri-to-path/index.js +0 -66
  25. package/node_modules/file-uri-to-path/package.json +0 -36
  26. package/node_modules/file-uri-to-path/test/test.js +0 -24
  27. package/node_modules/file-uri-to-path/test/tests.json +0 -13
  28. package/node_modules/glossy/LICENSE +0 -19
  29. package/node_modules/glossy/README.md +0 -129
  30. package/node_modules/glossy/index.js +0 -12
  31. package/node_modules/glossy/lib/glossy/parse.js +0 -520
  32. package/node_modules/glossy/lib/glossy/produce.js +0 -459
  33. package/node_modules/glossy/package.json +0 -47
  34. package/node_modules/glossy/test/decide.js +0 -7
  35. package/node_modules/glossy/test/decode_pri.js +0 -24
  36. package/node_modules/glossy/test/parse_3164.js +0 -104
  37. package/node_modules/glossy/test/parse_5424.js +0 -106
  38. package/node_modules/glossy/test/parse_5848.js +0 -40
  39. package/node_modules/glossy/test/parse_8601.js +0 -14
  40. package/node_modules/glossy/test/parse_rfc3339.js +0 -9
  41. package/node_modules/glossy/test/produce.js +0 -162
  42. package/node_modules/glossy/test/runner.js +0 -40
  43. package/node_modules/glossy/test/structure_data.js +0 -24
  44. package/node_modules/nan/CHANGELOG.md +0 -537
  45. package/node_modules/nan/LICENSE.md +0 -13
  46. package/node_modules/nan/README.md +0 -455
  47. package/node_modules/nan/doc/asyncworker.md +0 -146
  48. package/node_modules/nan/doc/buffers.md +0 -54
  49. package/node_modules/nan/doc/callback.md +0 -76
  50. package/node_modules/nan/doc/converters.md +0 -41
  51. package/node_modules/nan/doc/errors.md +0 -226
  52. package/node_modules/nan/doc/json.md +0 -62
  53. package/node_modules/nan/doc/maybe_types.md +0 -583
  54. package/node_modules/nan/doc/methods.md +0 -664
  55. package/node_modules/nan/doc/new.md +0 -147
  56. package/node_modules/nan/doc/node_misc.md +0 -123
  57. package/node_modules/nan/doc/object_wrappers.md +0 -263
  58. package/node_modules/nan/doc/persistent.md +0 -296
  59. package/node_modules/nan/doc/scopes.md +0 -73
  60. package/node_modules/nan/doc/script.md +0 -38
  61. package/node_modules/nan/doc/string_bytes.md +0 -62
  62. package/node_modules/nan/doc/v8_internals.md +0 -199
  63. package/node_modules/nan/doc/v8_misc.md +0 -85
  64. package/node_modules/nan/include_dirs.js +0 -1
  65. package/node_modules/nan/nan.h +0 -2898
  66. package/node_modules/nan/nan_callbacks.h +0 -88
  67. package/node_modules/nan/nan_callbacks_12_inl.h +0 -514
  68. package/node_modules/nan/nan_callbacks_pre_12_inl.h +0 -520
  69. package/node_modules/nan/nan_converters.h +0 -72
  70. package/node_modules/nan/nan_converters_43_inl.h +0 -68
  71. package/node_modules/nan/nan_converters_pre_43_inl.h +0 -42
  72. package/node_modules/nan/nan_define_own_property_helper.h +0 -29
  73. package/node_modules/nan/nan_implementation_12_inl.h +0 -430
  74. package/node_modules/nan/nan_implementation_pre_12_inl.h +0 -263
  75. package/node_modules/nan/nan_json.h +0 -166
  76. package/node_modules/nan/nan_maybe_43_inl.h +0 -356
  77. package/node_modules/nan/nan_maybe_pre_43_inl.h +0 -268
  78. package/node_modules/nan/nan_new.h +0 -340
  79. package/node_modules/nan/nan_object_wrap.h +0 -156
  80. package/node_modules/nan/nan_persistent_12_inl.h +0 -132
  81. package/node_modules/nan/nan_persistent_pre_12_inl.h +0 -242
  82. package/node_modules/nan/nan_private.h +0 -73
  83. package/node_modules/nan/nan_string_bytes.h +0 -305
  84. package/node_modules/nan/nan_typedarray_contents.h +0 -96
  85. package/node_modules/nan/nan_weak.h +0 -437
  86. package/node_modules/nan/package.json +0 -41
  87. package/node_modules/nan/tools/1to2.js +0 -412
  88. package/node_modules/nan/tools/README.md +0 -14
  89. package/node_modules/nan/tools/package.json +0 -19
  90. package/node_modules/unix-dgram/LICENSE +0 -13
  91. package/node_modules/unix-dgram/README.md +0 -107
  92. package/node_modules/unix-dgram/binding.gyp +0 -20
  93. package/node_modules/unix-dgram/build/Makefile +0 -324
  94. package/node_modules/unix-dgram/build/Release/.deps/Release/obj.target/unix_dgram/src/unix_dgram.o.d +0 -58
  95. package/node_modules/unix-dgram/build/Release/.deps/Release/obj.target/unix_dgram.node.d +0 -1
  96. package/node_modules/unix-dgram/build/Release/.deps/Release/unix_dgram.node.d +0 -1
  97. package/node_modules/unix-dgram/build/Release/obj.target/unix_dgram/src/unix_dgram.o +0 -0
  98. package/node_modules/unix-dgram/build/Release/obj.target/unix_dgram.node +0 -0
  99. package/node_modules/unix-dgram/build/Release/unix_dgram.node +0 -0
  100. package/node_modules/unix-dgram/build/binding.Makefile +0 -6
  101. package/node_modules/unix-dgram/build/config.gypi +0 -213
  102. package/node_modules/unix-dgram/build/unix_dgram.target.mk +0 -159
  103. package/node_modules/unix-dgram/lib/unix_dgram.js +0 -168
  104. package/node_modules/unix-dgram/package.json +0 -36
  105. package/node_modules/unix-dgram/src/unix_dgram.cc +0 -404
  106. package/node_modules/unix-dgram/src/win_dummy.cc +0 -7
  107. package/node_modules/unix-dgram/test/test-connect-callback.js +0 -68
  108. package/node_modules/unix-dgram/test/test-connect.js +0 -53
  109. package/node_modules/unix-dgram/test/test-dgram-unix.js +0 -58
  110. package/node_modules/unix-dgram/test/test-send-error.js +0 -26
  111. package/node_modules/winston-syslog/.eslintrc +0 -7
  112. package/node_modules/winston-syslog/.travis.yml +0 -14
  113. package/node_modules/winston-syslog/CHANGELOG.md +0 -9
  114. package/node_modules/winston-syslog/LICENSE +0 -20
  115. package/node_modules/winston-syslog/README.md +0 -135
  116. package/node_modules/winston-syslog/lib/utils.js +0 -26
  117. package/node_modules/winston-syslog/lib/winston-syslog.js +0 -385
  118. package/node_modules/winston-syslog/package.json +0 -56
  119. package/node_modules/winston-syslog/test/format-test.js +0 -122
  120. package/node_modules/winston-syslog/test/syslog-test.js +0 -95
  121. package/node_modules/winston-syslog/test/unix-connect-test.js +0 -133
@@ -1,54 +0,0 @@
1
- ## Buffers
2
-
3
- NAN's `node::Buffer` helpers exist as the API has changed across supported Node versions. Use these methods to ensure compatibility.
4
-
5
- - <a href="#api_nan_new_buffer"><b><code>Nan::NewBuffer()</code></b></a>
6
- - <a href="#api_nan_copy_buffer"><b><code>Nan::CopyBuffer()</code></b></a>
7
- - <a href="#api_nan_free_callback"><b><code>Nan::FreeCallback()</code></b></a>
8
-
9
- <a name="api_nan_new_buffer"></a>
10
- ### Nan::NewBuffer()
11
-
12
- Allocate a new `node::Buffer` object with the specified size and optional data. Calls `node::Buffer::New()`.
13
-
14
- Note that when creating a `Buffer` using `Nan::NewBuffer()` and an existing `char*`, it is assumed that the ownership of the pointer is being transferred to the new `Buffer` for management.
15
- When a `node::Buffer` instance is garbage collected and a `FreeCallback` has not been specified, `data` will be disposed of via a call to `free()`.
16
- You _must not_ free the memory space manually once you have created a `Buffer` in this way.
17
-
18
- Signature:
19
-
20
- ```c++
21
- Nan::MaybeLocal<v8::Object> Nan::NewBuffer(uint32_t size)
22
- Nan::MaybeLocal<v8::Object> Nan::NewBuffer(char* data, uint32_t size)
23
- Nan::MaybeLocal<v8::Object> Nan::NewBuffer(char *data,
24
- size_t length,
25
- Nan::FreeCallback callback,
26
- void *hint)
27
- ```
28
-
29
-
30
- <a name="api_nan_copy_buffer"></a>
31
- ### Nan::CopyBuffer()
32
-
33
- Similar to [`Nan::NewBuffer()`](#api_nan_new_buffer) except that an implicit memcpy will occur within Node. Calls `node::Buffer::Copy()`.
34
-
35
- Management of the `char*` is left to the user, you should manually free the memory space if necessary as the new `Buffer` will have its own copy.
36
-
37
- Signature:
38
-
39
- ```c++
40
- Nan::MaybeLocal<v8::Object> Nan::CopyBuffer(const char *data, uint32_t size)
41
- ```
42
-
43
-
44
- <a name="api_nan_free_callback"></a>
45
- ### Nan::FreeCallback()
46
-
47
- A free callback that can be provided to [`Nan::NewBuffer()`](#api_nan_new_buffer).
48
- The supplied callback will be invoked when the `Buffer` undergoes garbage collection.
49
-
50
- Signature:
51
-
52
- ```c++
53
- typedef void (*FreeCallback)(char *data, void *hint);
54
- ```
@@ -1,76 +0,0 @@
1
- ## Nan::Callback
2
-
3
- `Nan::Callback` makes it easier to use `v8::Function` handles as callbacks. A class that wraps a `v8::Function` handle, protecting it from garbage collection and making it particularly useful for storage and use across asynchronous execution.
4
-
5
- - <a href="#api_nan_callback"><b><code>Nan::Callback</code></b></a>
6
-
7
- <a name="api_nan_callback"></a>
8
- ### Nan::Callback
9
-
10
- ```c++
11
- class Callback {
12
- public:
13
- Callback();
14
-
15
- explicit Callback(const v8::Local<v8::Function> &fn);
16
-
17
- ~Callback();
18
-
19
- bool operator==(const Callback &other) const;
20
-
21
- bool operator!=(const Callback &other) const;
22
-
23
- v8::Local<v8::Function> operator*() const;
24
-
25
- MaybeLocal<v8::Value> operator()(AsyncResource* async_resource,
26
- v8::Local<v8::Object> target,
27
- int argc = 0,
28
- v8::Local<v8::Value> argv[] = 0) const;
29
-
30
- MaybeLocal<v8::Value> operator()(AsyncResource* async_resource,
31
- int argc = 0,
32
- v8::Local<v8::Value> argv[] = 0) const;
33
-
34
- void SetFunction(const v8::Local<v8::Function> &fn);
35
-
36
- v8::Local<v8::Function> GetFunction() const;
37
-
38
- bool IsEmpty() const;
39
-
40
- void Reset(const v8::Local<v8::Function> &fn);
41
-
42
- void Reset();
43
-
44
- MaybeLocal<v8::Value> Call(v8::Local<v8::Object> target,
45
- int argc,
46
- v8::Local<v8::Value> argv[],
47
- AsyncResource* async_resource) const;
48
- MaybeLocal<v8::Value> Call(int argc,
49
- v8::Local<v8::Value> argv[],
50
- AsyncResource* async_resource) const;
51
-
52
- // Deprecated versions. Use the versions that accept an async_resource instead
53
- // as they run the callback in the correct async context as specified by the
54
- // resource. If you want to call a synchronous JS function (i.e. on a
55
- // non-empty JS stack), you can use Nan::Call instead.
56
- v8::Local<v8::Value> operator()(v8::Local<v8::Object> target,
57
- int argc = 0,
58
- v8::Local<v8::Value> argv[] = 0) const;
59
-
60
- v8::Local<v8::Value> operator()(int argc = 0,
61
- v8::Local<v8::Value> argv[] = 0) const;
62
- v8::Local<v8::Value> Call(v8::Local<v8::Object> target,
63
- int argc,
64
- v8::Local<v8::Value> argv[]) const;
65
-
66
- v8::Local<v8::Value> Call(int argc, v8::Local<v8::Value> argv[]) const;
67
- };
68
- ```
69
-
70
- Example usage:
71
-
72
- ```c++
73
- v8::Local<v8::Function> function;
74
- Nan::Callback callback(function);
75
- callback.Call(0, 0);
76
- ```
@@ -1,41 +0,0 @@
1
- ## Converters
2
-
3
- NAN contains functions that convert `v8::Value`s to other `v8::Value` types and native types. Since type conversion is not guaranteed to succeed, they return `Nan::Maybe` types. These converters can be used in place of `value->ToX()` and `value->XValue()` (where `X` is one of the types, e.g. `Boolean`) in a way that provides a consistent interface across V8 versions. Newer versions of V8 use the new `v8::Maybe` and `v8::MaybeLocal` types for these conversions, older versions don't have this functionality so it is provided by NAN.
4
-
5
- - <a href="#api_nan_to"><b><code>Nan::To()</code></b></a>
6
-
7
- <a name="api_nan_to"></a>
8
- ### Nan::To()
9
-
10
- Converts a `v8::Local<v8::Value>` to a different subtype of `v8::Value` or to a native data type. Returns a `Nan::MaybeLocal<>` or a `Nan::Maybe<>` accordingly.
11
-
12
- See [maybe_types.md](./maybe_types.md) for more information on `Nan::Maybe` types.
13
-
14
- Signatures:
15
-
16
- ```c++
17
- // V8 types
18
- Nan::MaybeLocal<v8::Boolean> Nan::To<v8::Boolean>(v8::Local<v8::Value> val);
19
- Nan::MaybeLocal<v8::Int32> Nan::To<v8::Int32>(v8::Local<v8::Value> val);
20
- Nan::MaybeLocal<v8::Integer> Nan::To<v8::Integer>(v8::Local<v8::Value> val);
21
- Nan::MaybeLocal<v8::Object> Nan::To<v8::Object>(v8::Local<v8::Value> val);
22
- Nan::MaybeLocal<v8::Number> Nan::To<v8::Number>(v8::Local<v8::Value> val);
23
- Nan::MaybeLocal<v8::String> Nan::To<v8::String>(v8::Local<v8::Value> val);
24
- Nan::MaybeLocal<v8::Uint32> Nan::To<v8::Uint32>(v8::Local<v8::Value> val);
25
-
26
- // Native types
27
- Nan::Maybe<bool> Nan::To<bool>(v8::Local<v8::Value> val);
28
- Nan::Maybe<double> Nan::To<double>(v8::Local<v8::Value> val);
29
- Nan::Maybe<int32_t> Nan::To<int32_t>(v8::Local<v8::Value> val);
30
- Nan::Maybe<int64_t> Nan::To<int64_t>(v8::Local<v8::Value> val);
31
- Nan::Maybe<uint32_t> Nan::To<uint32_t>(v8::Local<v8::Value> val);
32
- ```
33
-
34
- ### Example
35
-
36
- ```c++
37
- v8::Local<v8::Value> val;
38
- Nan::MaybeLocal<v8::String> str = Nan::To<v8::String>(val);
39
- Nan::Maybe<double> d = Nan::To<double>(val);
40
- ```
41
-
@@ -1,226 +0,0 @@
1
- ## Errors
2
-
3
- NAN includes helpers for creating, throwing and catching Errors as much of this functionality varies across the supported versions of V8 and must be abstracted.
4
-
5
- Note that an Error object is simply a specialized form of `v8::Value`.
6
-
7
- Also consult the V8 Embedders Guide section on [Exceptions](https://developers.google.com/v8/embed#exceptions) for more information.
8
-
9
- - <a href="#api_nan_error"><b><code>Nan::Error()</code></b></a>
10
- - <a href="#api_nan_range_error"><b><code>Nan::RangeError()</code></b></a>
11
- - <a href="#api_nan_reference_error"><b><code>Nan::ReferenceError()</code></b></a>
12
- - <a href="#api_nan_syntax_error"><b><code>Nan::SyntaxError()</code></b></a>
13
- - <a href="#api_nan_type_error"><b><code>Nan::TypeError()</code></b></a>
14
- - <a href="#api_nan_throw_error"><b><code>Nan::ThrowError()</code></b></a>
15
- - <a href="#api_nan_throw_range_error"><b><code>Nan::ThrowRangeError()</code></b></a>
16
- - <a href="#api_nan_throw_reference_error"><b><code>Nan::ThrowReferenceError()</code></b></a>
17
- - <a href="#api_nan_throw_syntax_error"><b><code>Nan::ThrowSyntaxError()</code></b></a>
18
- - <a href="#api_nan_throw_type_error"><b><code>Nan::ThrowTypeError()</code></b></a>
19
- - <a href="#api_nan_fatal_exception"><b><code>Nan::FatalException()</code></b></a>
20
- - <a href="#api_nan_errno_exception"><b><code>Nan::ErrnoException()</code></b></a>
21
- - <a href="#api_nan_try_catch"><b><code>Nan::TryCatch</code></b></a>
22
-
23
-
24
- <a name="api_nan_error"></a>
25
- ### Nan::Error()
26
-
27
- Create a new Error object using the [v8::Exception](https://v8docs.nodesource.com/node-8.16/da/d6a/classv8_1_1_exception.html) class in a way that is compatible across the supported versions of V8.
28
-
29
- Note that an Error object is simply a specialized form of `v8::Value`.
30
-
31
- Signature:
32
-
33
- ```c++
34
- v8::Local<v8::Value> Nan::Error(const char *msg);
35
- v8::Local<v8::Value> Nan::Error(v8::Local<v8::String> msg);
36
- ```
37
-
38
-
39
- <a name="api_nan_range_error"></a>
40
- ### Nan::RangeError()
41
-
42
- Create a new RangeError object using the [v8::Exception](https://v8docs.nodesource.com/node-8.16/da/d6a/classv8_1_1_exception.html) class in a way that is compatible across the supported versions of V8.
43
-
44
- Note that an RangeError object is simply a specialized form of `v8::Value`.
45
-
46
- Signature:
47
-
48
- ```c++
49
- v8::Local<v8::Value> Nan::RangeError(const char *msg);
50
- v8::Local<v8::Value> Nan::RangeError(v8::Local<v8::String> msg);
51
- ```
52
-
53
-
54
- <a name="api_nan_reference_error"></a>
55
- ### Nan::ReferenceError()
56
-
57
- Create a new ReferenceError object using the [v8::Exception](https://v8docs.nodesource.com/node-8.16/da/d6a/classv8_1_1_exception.html) class in a way that is compatible across the supported versions of V8.
58
-
59
- Note that an ReferenceError object is simply a specialized form of `v8::Value`.
60
-
61
- Signature:
62
-
63
- ```c++
64
- v8::Local<v8::Value> Nan::ReferenceError(const char *msg);
65
- v8::Local<v8::Value> Nan::ReferenceError(v8::Local<v8::String> msg);
66
- ```
67
-
68
-
69
- <a name="api_nan_syntax_error"></a>
70
- ### Nan::SyntaxError()
71
-
72
- Create a new SyntaxError object using the [v8::Exception](https://v8docs.nodesource.com/node-8.16/da/d6a/classv8_1_1_exception.html) class in a way that is compatible across the supported versions of V8.
73
-
74
- Note that an SyntaxError object is simply a specialized form of `v8::Value`.
75
-
76
- Signature:
77
-
78
- ```c++
79
- v8::Local<v8::Value> Nan::SyntaxError(const char *msg);
80
- v8::Local<v8::Value> Nan::SyntaxError(v8::Local<v8::String> msg);
81
- ```
82
-
83
-
84
- <a name="api_nan_type_error"></a>
85
- ### Nan::TypeError()
86
-
87
- Create a new TypeError object using the [v8::Exception](https://v8docs.nodesource.com/node-8.16/da/d6a/classv8_1_1_exception.html) class in a way that is compatible across the supported versions of V8.
88
-
89
- Note that an TypeError object is simply a specialized form of `v8::Value`.
90
-
91
- Signature:
92
-
93
- ```c++
94
- v8::Local<v8::Value> Nan::TypeError(const char *msg);
95
- v8::Local<v8::Value> Nan::TypeError(v8::Local<v8::String> msg);
96
- ```
97
-
98
-
99
- <a name="api_nan_throw_error"></a>
100
- ### Nan::ThrowError()
101
-
102
- Throw an Error object (a specialized `v8::Value` as above) in the current context. If a `msg` is provided, a new Error object will be created.
103
-
104
- Signature:
105
-
106
- ```c++
107
- void Nan::ThrowError(const char *msg);
108
- void Nan::ThrowError(v8::Local<v8::String> msg);
109
- void Nan::ThrowError(v8::Local<v8::Value> error);
110
- ```
111
-
112
-
113
- <a name="api_nan_throw_range_error"></a>
114
- ### Nan::ThrowRangeError()
115
-
116
- Throw an RangeError object (a specialized `v8::Value` as above) in the current context. If a `msg` is provided, a new RangeError object will be created.
117
-
118
- Signature:
119
-
120
- ```c++
121
- void Nan::ThrowRangeError(const char *msg);
122
- void Nan::ThrowRangeError(v8::Local<v8::String> msg);
123
- void Nan::ThrowRangeError(v8::Local<v8::Value> error);
124
- ```
125
-
126
-
127
- <a name="api_nan_throw_reference_error"></a>
128
- ### Nan::ThrowReferenceError()
129
-
130
- Throw an ReferenceError object (a specialized `v8::Value` as above) in the current context. If a `msg` is provided, a new ReferenceError object will be created.
131
-
132
- Signature:
133
-
134
- ```c++
135
- void Nan::ThrowReferenceError(const char *msg);
136
- void Nan::ThrowReferenceError(v8::Local<v8::String> msg);
137
- void Nan::ThrowReferenceError(v8::Local<v8::Value> error);
138
- ```
139
-
140
-
141
- <a name="api_nan_throw_syntax_error"></a>
142
- ### Nan::ThrowSyntaxError()
143
-
144
- Throw an SyntaxError object (a specialized `v8::Value` as above) in the current context. If a `msg` is provided, a new SyntaxError object will be created.
145
-
146
- Signature:
147
-
148
- ```c++
149
- void Nan::ThrowSyntaxError(const char *msg);
150
- void Nan::ThrowSyntaxError(v8::Local<v8::String> msg);
151
- void Nan::ThrowSyntaxError(v8::Local<v8::Value> error);
152
- ```
153
-
154
-
155
- <a name="api_nan_throw_type_error"></a>
156
- ### Nan::ThrowTypeError()
157
-
158
- Throw an TypeError object (a specialized `v8::Value` as above) in the current context. If a `msg` is provided, a new TypeError object will be created.
159
-
160
- Signature:
161
-
162
- ```c++
163
- void Nan::ThrowTypeError(const char *msg);
164
- void Nan::ThrowTypeError(v8::Local<v8::String> msg);
165
- void Nan::ThrowTypeError(v8::Local<v8::Value> error);
166
- ```
167
-
168
- <a name="api_nan_fatal_exception"></a>
169
- ### Nan::FatalException()
170
-
171
- Replaces `node::FatalException()` which has a different API across supported versions of Node. For use with [`Nan::TryCatch`](#api_nan_try_catch).
172
-
173
- Signature:
174
-
175
- ```c++
176
- void Nan::FatalException(const Nan::TryCatch& try_catch);
177
- ```
178
-
179
- <a name="api_nan_errno_exception"></a>
180
- ### Nan::ErrnoException()
181
-
182
- Replaces `node::ErrnoException()` which has a different API across supported versions of Node.
183
-
184
- Signature:
185
-
186
- ```c++
187
- v8::Local<v8::Value> Nan::ErrnoException(int errorno,
188
- const char* syscall = NULL,
189
- const char* message = NULL,
190
- const char* path = NULL);
191
- ```
192
-
193
-
194
- <a name="api_nan_try_catch"></a>
195
- ### Nan::TryCatch
196
-
197
- A simple wrapper around [`v8::TryCatch`](https://v8docs.nodesource.com/node-8.16/d4/dc6/classv8_1_1_try_catch.html) compatible with all supported versions of V8. Can be used as a direct replacement in most cases. See also [`Nan::FatalException()`](#api_nan_fatal_exception) for an internal use compatible with `node::FatalException`.
198
-
199
- Signature:
200
-
201
- ```c++
202
- class Nan::TryCatch {
203
- public:
204
- Nan::TryCatch();
205
-
206
- bool HasCaught() const;
207
-
208
- bool CanContinue() const;
209
-
210
- v8::Local<v8::Value> ReThrow();
211
-
212
- v8::Local<v8::Value> Exception() const;
213
-
214
- // Nan::MaybeLocal for older versions of V8
215
- v8::MaybeLocal<v8::Value> StackTrace() const;
216
-
217
- v8::Local<v8::Message> Message() const;
218
-
219
- void Reset();
220
-
221
- void SetVerbose(bool value);
222
-
223
- void SetCaptureMessage(bool value);
224
- };
225
- ```
226
-
@@ -1,62 +0,0 @@
1
- ## JSON
2
-
3
- The _JSON_ object provides the c++ versions of the methods offered by the `JSON` object in javascript. V8 exposes these methods via the `v8::JSON` object.
4
-
5
- - <a href="#api_nan_json_parse"><b><code>Nan::JSON.Parse</code></b></a>
6
- - <a href="#api_nan_json_stringify"><b><code>Nan::JSON.Stringify</code></b></a>
7
-
8
- Refer to the V8 JSON object in the [V8 documentation](https://v8docs.nodesource.com/node-8.16/da/d6f/classv8_1_1_j_s_o_n.html) for more information about these methods and their arguments.
9
-
10
- <a name="api_nan_json_parse"></a>
11
-
12
- ### Nan::JSON.Parse
13
-
14
- A simple wrapper around [`v8::JSON::Parse`](https://v8docs.nodesource.com/node-8.16/da/d6f/classv8_1_1_j_s_o_n.html#a936310d2540fb630ed37d3ee3ffe4504).
15
-
16
- Definition:
17
-
18
- ```c++
19
- Nan::MaybeLocal<v8::Value> Nan::JSON::Parse(v8::Local<v8::String> json_string);
20
- ```
21
-
22
- Use `JSON.Parse(json_string)` to parse a string into a `v8::Value`.
23
-
24
- Example:
25
-
26
- ```c++
27
- v8::Local<v8::String> json_string = Nan::New("{ \"JSON\": \"object\" }").ToLocalChecked();
28
-
29
- Nan::JSON NanJSON;
30
- Nan::MaybeLocal<v8::Value> result = NanJSON.Parse(json_string);
31
- if (!result.IsEmpty()) {
32
- v8::Local<v8::Value> val = result.ToLocalChecked();
33
- }
34
- ```
35
-
36
- <a name="api_nan_json_stringify"></a>
37
-
38
- ### Nan::JSON.Stringify
39
-
40
- A simple wrapper around [`v8::JSON::Stringify`](https://v8docs.nodesource.com/node-8.16/da/d6f/classv8_1_1_j_s_o_n.html#a44b255c3531489ce43f6110209138860).
41
-
42
- Definition:
43
-
44
- ```c++
45
- Nan::MaybeLocal<v8::String> Nan::JSON::Stringify(v8::Local<v8::Object> json_object, v8::Local<v8::String> gap = v8::Local<v8::String>());
46
- ```
47
-
48
- Use `JSON.Stringify(value)` to stringify a `v8::Object`.
49
-
50
- Example:
51
-
52
- ```c++
53
- // using `v8::Local<v8::Value> val` from the `JSON::Parse` example
54
- v8::Local<v8::Object> obj = Nan::To<v8::Object>(val).ToLocalChecked();
55
-
56
- Nan::JSON NanJSON;
57
- Nan::MaybeLocal<v8::String> result = NanJSON.Stringify(obj);
58
- if (!result.IsEmpty()) {
59
- v8::Local<v8::String> stringified = result.ToLocalChecked();
60
- }
61
- ```
62
-