@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,583 +0,0 @@
1
- ## Maybe Types
2
-
3
- The `Nan::MaybeLocal` and `Nan::Maybe` types are monads that encapsulate `v8::Local` handles that _may be empty_.
4
-
5
- * **Maybe Types**
6
- - <a href="#api_nan_maybe_local"><b><code>Nan::MaybeLocal</code></b></a>
7
- - <a href="#api_nan_maybe"><b><code>Nan::Maybe</code></b></a>
8
- - <a href="#api_nan_nothing"><b><code>Nan::Nothing</code></b></a>
9
- - <a href="#api_nan_just"><b><code>Nan::Just</code></b></a>
10
- * **Maybe Helpers**
11
- - <a href="#api_nan_call"><b><code>Nan::Call()</code></b></a>
12
- - <a href="#api_nan_to_detail_string"><b><code>Nan::ToDetailString()</code></b></a>
13
- - <a href="#api_nan_to_array_index"><b><code>Nan::ToArrayIndex()</code></b></a>
14
- - <a href="#api_nan_equals"><b><code>Nan::Equals()</code></b></a>
15
- - <a href="#api_nan_new_instance"><b><code>Nan::NewInstance()</code></b></a>
16
- - <a href="#api_nan_get_function"><b><code>Nan::GetFunction()</code></b></a>
17
- - <a href="#api_nan_set"><b><code>Nan::Set()</code></b></a>
18
- - <a href="#api_nan_define_own_property"><b><code>Nan::DefineOwnProperty()</code></b></a>
19
- - <a href="#api_nan_force_set"><del><b><code>Nan::ForceSet()</code></b></del></a>
20
- - <a href="#api_nan_get"><b><code>Nan::Get()</code></b></a>
21
- - <a href="#api_nan_get_property_attribute"><b><code>Nan::GetPropertyAttributes()</code></b></a>
22
- - <a href="#api_nan_has"><b><code>Nan::Has()</code></b></a>
23
- - <a href="#api_nan_delete"><b><code>Nan::Delete()</code></b></a>
24
- - <a href="#api_nan_get_property_names"><b><code>Nan::GetPropertyNames()</code></b></a>
25
- - <a href="#api_nan_get_own_property_names"><b><code>Nan::GetOwnPropertyNames()</code></b></a>
26
- - <a href="#api_nan_set_prototype"><b><code>Nan::SetPrototype()</code></b></a>
27
- - <a href="#api_nan_object_proto_to_string"><b><code>Nan::ObjectProtoToString()</code></b></a>
28
- - <a href="#api_nan_has_own_property"><b><code>Nan::HasOwnProperty()</code></b></a>
29
- - <a href="#api_nan_has_real_named_property"><b><code>Nan::HasRealNamedProperty()</code></b></a>
30
- - <a href="#api_nan_has_real_indexed_property"><b><code>Nan::HasRealIndexedProperty()</code></b></a>
31
- - <a href="#api_nan_has_real_named_callback_property"><b><code>Nan::HasRealNamedCallbackProperty()</code></b></a>
32
- - <a href="#api_nan_get_real_named_property_in_prototype_chain"><b><code>Nan::GetRealNamedPropertyInPrototypeChain()</code></b></a>
33
- - <a href="#api_nan_get_real_named_property"><b><code>Nan::GetRealNamedProperty()</code></b></a>
34
- - <a href="#api_nan_call_as_function"><b><code>Nan::CallAsFunction()</code></b></a>
35
- - <a href="#api_nan_call_as_constructor"><b><code>Nan::CallAsConstructor()</code></b></a>
36
- - <a href="#api_nan_get_source_line"><b><code>Nan::GetSourceLine()</code></b></a>
37
- - <a href="#api_nan_get_line_number"><b><code>Nan::GetLineNumber()</code></b></a>
38
- - <a href="#api_nan_get_start_column"><b><code>Nan::GetStartColumn()</code></b></a>
39
- - <a href="#api_nan_get_end_column"><b><code>Nan::GetEndColumn()</code></b></a>
40
- - <a href="#api_nan_clone_element_at"><b><code>Nan::CloneElementAt()</code></b></a>
41
- - <a href="#api_nan_has_private"><b><code>Nan::HasPrivate()</code></b></a>
42
- - <a href="#api_nan_get_private"><b><code>Nan::GetPrivate()</code></b></a>
43
- - <a href="#api_nan_set_private"><b><code>Nan::SetPrivate()</code></b></a>
44
- - <a href="#api_nan_delete_private"><b><code>Nan::DeletePrivate()</code></b></a>
45
- - <a href="#api_nan_make_maybe"><b><code>Nan::MakeMaybe()</code></b></a>
46
-
47
- <a name="api_nan_maybe_local"></a>
48
- ### Nan::MaybeLocal
49
-
50
- A `Nan::MaybeLocal<T>` is a wrapper around [`v8::Local<T>`](https://v8docs.nodesource.com/node-8.16/de/deb/classv8_1_1_local.html) that enforces a check that determines whether the `v8::Local<T>` is empty before it can be used.
51
-
52
- If an API method returns a `Nan::MaybeLocal`, the API method can potentially fail either because an exception is thrown, or because an exception is pending, e.g. because a previous API call threw an exception that hasn't been caught yet, or because a `v8::TerminateExecution` exception was thrown. In that case, an empty `Nan::MaybeLocal` is returned.
53
-
54
- Definition:
55
-
56
- ```c++
57
- template<typename T> class Nan::MaybeLocal {
58
- public:
59
- MaybeLocal();
60
-
61
- template<typename S> MaybeLocal(v8::Local<S> that);
62
-
63
- bool IsEmpty() const;
64
-
65
- template<typename S> bool ToLocal(v8::Local<S> *out);
66
-
67
- // Will crash if the MaybeLocal<> is empty.
68
- v8::Local<T> ToLocalChecked();
69
-
70
- template<typename S> v8::Local<S> FromMaybe(v8::Local<S> default_value) const;
71
- };
72
- ```
73
-
74
- See the documentation for [`v8::MaybeLocal`](https://v8docs.nodesource.com/node-8.16/d8/d7d/classv8_1_1_maybe_local.html) for further details.
75
-
76
- <a name="api_nan_maybe"></a>
77
- ### Nan::Maybe
78
-
79
- A simple `Nan::Maybe` type, representing an object which may or may not have a value, see https://hackage.haskell.org/package/base/docs/Data-Maybe.html.
80
-
81
- If an API method returns a `Nan::Maybe<>`, the API method can potentially fail either because an exception is thrown, or because an exception is pending, e.g. because a previous API call threw an exception that hasn't been caught yet, or because a `v8::TerminateExecution` exception was thrown. In that case, a "Nothing" value is returned.
82
-
83
- Definition:
84
-
85
- ```c++
86
- template<typename T> class Nan::Maybe {
87
- public:
88
- bool IsNothing() const;
89
- bool IsJust() const;
90
-
91
- // Will crash if the Maybe<> is nothing.
92
- T FromJust();
93
-
94
- T FromMaybe(const T& default_value);
95
-
96
- bool operator==(const Maybe &other);
97
-
98
- bool operator!=(const Maybe &other);
99
- };
100
- ```
101
-
102
- See the documentation for [`v8::Maybe`](https://v8docs.nodesource.com/node-8.16/d9/d4b/classv8_1_1_maybe.html) for further details.
103
-
104
- <a name="api_nan_nothing"></a>
105
- ### Nan::Nothing
106
-
107
- Construct an empty `Nan::Maybe` type representing _nothing_.
108
-
109
- ```c++
110
- template<typename T> Nan::Maybe<T> Nan::Nothing();
111
- ```
112
-
113
- <a name="api_nan_just"></a>
114
- ### Nan::Just
115
-
116
- Construct a `Nan::Maybe` type representing _just_ a value.
117
-
118
- ```c++
119
- template<typename T> Nan::Maybe<T> Nan::Just(const T &t);
120
- ```
121
-
122
- <a name="api_nan_call"></a>
123
- ### Nan::Call()
124
-
125
- A helper method for calling a synchronous [`v8::Function#Call()`](https://v8docs.nodesource.com/node-8.16/d5/d54/classv8_1_1_function.html#a9c3d0e4e13ddd7721fce238aa5b94a11) in a way compatible across supported versions of V8.
126
-
127
- For asynchronous callbacks, use Nan::Callback::Call along with an AsyncResource.
128
-
129
- Signature:
130
-
131
- ```c++
132
- Nan::MaybeLocal<v8::Value> Nan::Call(v8::Local<v8::Function> fun, v8::Local<v8::Object> recv, int argc, v8::Local<v8::Value> argv[]);
133
- Nan::MaybeLocal<v8::Value> Nan::Call(const Nan::Callback& callback, v8::Local<v8::Object> recv,
134
- int argc, v8::Local<v8::Value> argv[]);
135
- Nan::MaybeLocal<v8::Value> Nan::Call(const Nan::Callback& callback, int argc, v8::Local<v8::Value> argv[]);
136
- ```
137
-
138
-
139
- <a name="api_nan_to_detail_string"></a>
140
- ### Nan::ToDetailString()
141
-
142
- A helper method for calling [`v8::Value#ToDetailString()`](https://v8docs.nodesource.com/node-8.16/dc/d0a/classv8_1_1_value.html#a2f9770296dc2c8d274bc8cc0dca243e5) in a way compatible across supported versions of V8.
143
-
144
- Signature:
145
-
146
- ```c++
147
- Nan::MaybeLocal<v8::String> Nan::ToDetailString(v8::Local<v8::Value> val);
148
- ```
149
-
150
-
151
- <a name="api_nan_to_array_index"></a>
152
- ### Nan::ToArrayIndex()
153
-
154
- A helper method for calling [`v8::Value#ToArrayIndex()`](https://v8docs.nodesource.com/node-8.16/dc/d0a/classv8_1_1_value.html#acc5bbef3c805ec458470c0fcd6f13493) in a way compatible across supported versions of V8.
155
-
156
- Signature:
157
-
158
- ```c++
159
- Nan::MaybeLocal<v8::Uint32> Nan::ToArrayIndex(v8::Local<v8::Value> val);
160
- ```
161
-
162
-
163
- <a name="api_nan_equals"></a>
164
- ### Nan::Equals()
165
-
166
- A helper method for calling [`v8::Value#Equals()`](https://v8docs.nodesource.com/node-8.16/dc/d0a/classv8_1_1_value.html#a08fba1d776a59bbf6864b25f9152c64b) in a way compatible across supported versions of V8.
167
-
168
- Signature:
169
-
170
- ```c++
171
- Nan::Maybe<bool> Nan::Equals(v8::Local<v8::Value> a, v8::Local<v8::Value>(b));
172
- ```
173
-
174
-
175
- <a name="api_nan_new_instance"></a>
176
- ### Nan::NewInstance()
177
-
178
- A helper method for calling [`v8::Function#NewInstance()`](https://v8docs.nodesource.com/node-8.16/d5/d54/classv8_1_1_function.html#ae477558b10c14b76ed00e8dbab44ce5b) and [`v8::ObjectTemplate#NewInstance()`](https://v8docs.nodesource.com/node-8.16/db/d5f/classv8_1_1_object_template.html#ad605a7543cfbc5dab54cdb0883d14ae4) in a way compatible across supported versions of V8.
179
-
180
- Signature:
181
-
182
- ```c++
183
- Nan::MaybeLocal<v8::Object> Nan::NewInstance(v8::Local<v8::Function> h);
184
- Nan::MaybeLocal<v8::Object> Nan::NewInstance(v8::Local<v8::Function> h, int argc, v8::Local<v8::Value> argv[]);
185
- Nan::MaybeLocal<v8::Object> Nan::NewInstance(v8::Local<v8::ObjectTemplate> h);
186
- ```
187
-
188
-
189
- <a name="api_nan_get_function"></a>
190
- ### Nan::GetFunction()
191
-
192
- A helper method for calling [`v8::FunctionTemplate#GetFunction()`](https://v8docs.nodesource.com/node-8.16/d8/d83/classv8_1_1_function_template.html#a56d904662a86eca78da37d9bb0ed3705) in a way compatible across supported versions of V8.
193
-
194
- Signature:
195
-
196
- ```c++
197
- Nan::MaybeLocal<v8::Function> Nan::GetFunction(v8::Local<v8::FunctionTemplate> t);
198
- ```
199
-
200
-
201
- <a name="api_nan_set"></a>
202
- ### Nan::Set()
203
-
204
- A helper method for calling [`v8::Object#Set()`](https://v8docs.nodesource.com/node-8.16/db/d85/classv8_1_1_object.html#a67604ea3734f170c66026064ea808f20) in a way compatible across supported versions of V8.
205
-
206
- Signature:
207
-
208
- ```c++
209
- Nan::Maybe<bool> Nan::Set(v8::Local<v8::Object> obj,
210
- v8::Local<v8::Value> key,
211
- v8::Local<v8::Value> value)
212
- Nan::Maybe<bool> Nan::Set(v8::Local<v8::Object> obj,
213
- uint32_t index,
214
- v8::Local<v8::Value> value);
215
- ```
216
-
217
-
218
- <a name="api_nan_define_own_property"></a>
219
- ### Nan::DefineOwnProperty()
220
-
221
- A helper method for calling [`v8::Object#DefineOwnProperty()`](https://v8docs.nodesource.com/node-8.16/db/d85/classv8_1_1_object.html#a6f76b2ed605cb8f9185b92de0033a820) in a way compatible across supported versions of V8.
222
-
223
- Signature:
224
-
225
- ```c++
226
- Nan::Maybe<bool> Nan::DefineOwnProperty(v8::Local<v8::Object> obj,
227
- v8::Local<v8::String> key,
228
- v8::Local<v8::Value> value,
229
- v8::PropertyAttribute attribs = v8::None);
230
- ```
231
-
232
-
233
- <a name="api_nan_force_set"></a>
234
- ### <del>Nan::ForceSet()</del>
235
-
236
- Deprecated, use <a href="#api_nan_define_own_property"><code>Nan::DefineOwnProperty()</code></a>.
237
-
238
- <del>A helper method for calling [`v8::Object#ForceSet()`](https://v8docs.nodesource.com/node-0.12/db/d85/classv8_1_1_object.html#acfbdfd7427b516ebdb5c47c4df5ed96c) in a way compatible across supported versions of V8.</del>
239
-
240
- Signature:
241
-
242
- ```c++
243
- NAN_DEPRECATED Nan::Maybe<bool> Nan::ForceSet(v8::Local<v8::Object> obj,
244
- v8::Local<v8::Value> key,
245
- v8::Local<v8::Value> value,
246
- v8::PropertyAttribute attribs = v8::None);
247
- ```
248
-
249
-
250
- <a name="api_nan_get"></a>
251
- ### Nan::Get()
252
-
253
- A helper method for calling [`v8::Object#Get()`](https://v8docs.nodesource.com/node-8.16/db/d85/classv8_1_1_object.html#a2565f03e736694f6b1e1cf22a0b4eac2) in a way compatible across supported versions of V8.
254
-
255
- Signature:
256
-
257
- ```c++
258
- Nan::MaybeLocal<v8::Value> Nan::Get(v8::Local<v8::Object> obj,
259
- v8::Local<v8::Value> key);
260
- Nan::MaybeLocal<v8::Value> Nan::Get(v8::Local<v8::Object> obj, uint32_t index);
261
- ```
262
-
263
-
264
- <a name="api_nan_get_property_attribute"></a>
265
- ### Nan::GetPropertyAttributes()
266
-
267
- A helper method for calling [`v8::Object#GetPropertyAttributes()`](https://v8docs.nodesource.com/node-8.16/db/d85/classv8_1_1_object.html#a9b898894da3d1db2714fd9325a54fe57) in a way compatible across supported versions of V8.
268
-
269
- Signature:
270
-
271
- ```c++
272
- Nan::Maybe<v8::PropertyAttribute> Nan::GetPropertyAttributes(
273
- v8::Local<v8::Object> obj,
274
- v8::Local<v8::Value> key);
275
- ```
276
-
277
-
278
- <a name="api_nan_has"></a>
279
- ### Nan::Has()
280
-
281
- A helper method for calling [`v8::Object#Has()`](https://v8docs.nodesource.com/node-8.16/db/d85/classv8_1_1_object.html#ab3c3d89ea7c2f9afd08965bd7299a41d) in a way compatible across supported versions of V8.
282
-
283
- Signature:
284
-
285
- ```c++
286
- Nan::Maybe<bool> Nan::Has(v8::Local<v8::Object> obj, v8::Local<v8::String> key);
287
- Nan::Maybe<bool> Nan::Has(v8::Local<v8::Object> obj, uint32_t index);
288
- ```
289
-
290
-
291
- <a name="api_nan_delete"></a>
292
- ### Nan::Delete()
293
-
294
- A helper method for calling [`v8::Object#Delete()`](https://v8docs.nodesource.com/node-8.16/db/d85/classv8_1_1_object.html#a48e4a19b2cedff867eecc73ddb7d377f) in a way compatible across supported versions of V8.
295
-
296
- Signature:
297
-
298
- ```c++
299
- Nan::Maybe<bool> Nan::Delete(v8::Local<v8::Object> obj,
300
- v8::Local<v8::String> key);
301
- Nan::Maybe<bool> Nan::Delete(v8::Local<v8::Object> obj, uint32_t index);
302
- ```
303
-
304
-
305
- <a name="api_nan_get_property_names"></a>
306
- ### Nan::GetPropertyNames()
307
-
308
- A helper method for calling [`v8::Object#GetPropertyNames()`](https://v8docs.nodesource.com/node-8.16/db/d85/classv8_1_1_object.html#aced885270cfd2c956367b5eedc7fbfe8) in a way compatible across supported versions of V8.
309
-
310
- Signature:
311
-
312
- ```c++
313
- Nan::MaybeLocal<v8::Array> Nan::GetPropertyNames(v8::Local<v8::Object> obj);
314
- ```
315
-
316
-
317
- <a name="api_nan_get_own_property_names"></a>
318
- ### Nan::GetOwnPropertyNames()
319
-
320
- A helper method for calling [`v8::Object#GetOwnPropertyNames()`](https://v8docs.nodesource.com/node-8.16/db/d85/classv8_1_1_object.html#a79a6e4d66049b9aa648ed4dfdb23e6eb) in a way compatible across supported versions of V8.
321
-
322
- Signature:
323
-
324
- ```c++
325
- Nan::MaybeLocal<v8::Array> Nan::GetOwnPropertyNames(v8::Local<v8::Object> obj);
326
- ```
327
-
328
-
329
- <a name="api_nan_set_prototype"></a>
330
- ### Nan::SetPrototype()
331
-
332
- A helper method for calling [`v8::Object#SetPrototype()`](https://v8docs.nodesource.com/node-8.16/db/d85/classv8_1_1_object.html#a442706b22fceda6e6d1f632122a9a9f4) in a way compatible across supported versions of V8.
333
-
334
- Signature:
335
-
336
- ```c++
337
- Nan::Maybe<bool> Nan::SetPrototype(v8::Local<v8::Object> obj,
338
- v8::Local<v8::Value> prototype);
339
- ```
340
-
341
-
342
- <a name="api_nan_object_proto_to_string"></a>
343
- ### Nan::ObjectProtoToString()
344
-
345
- A helper method for calling [`v8::Object#ObjectProtoToString()`](https://v8docs.nodesource.com/node-8.16/db/d85/classv8_1_1_object.html#ab7a92b4dcf822bef72f6c0ac6fea1f0b) in a way compatible across supported versions of V8.
346
-
347
- Signature:
348
-
349
- ```c++
350
- Nan::MaybeLocal<v8::String> Nan::ObjectProtoToString(v8::Local<v8::Object> obj);
351
- ```
352
-
353
-
354
- <a name="api_nan_has_own_property"></a>
355
- ### Nan::HasOwnProperty()
356
-
357
- A helper method for calling [`v8::Object#HasOwnProperty()`](https://v8docs.nodesource.com/node-8.16/db/d85/classv8_1_1_object.html#ab7b7245442ca6de1e1c145ea3fd653ff) in a way compatible across supported versions of V8.
358
-
359
- Signature:
360
-
361
- ```c++
362
- Nan::Maybe<bool> Nan::HasOwnProperty(v8::Local<v8::Object> obj,
363
- v8::Local<v8::String> key);
364
- ```
365
-
366
-
367
- <a name="api_nan_has_real_named_property"></a>
368
- ### Nan::HasRealNamedProperty()
369
-
370
- A helper method for calling [`v8::Object#HasRealNamedProperty()`](https://v8docs.nodesource.com/node-8.16/db/d85/classv8_1_1_object.html#ad8b80a59c9eb3c1e6c3cd6c84571f767) in a way compatible across supported versions of V8.
371
-
372
- Signature:
373
-
374
- ```c++
375
- Nan::Maybe<bool> Nan::HasRealNamedProperty(v8::Local<v8::Object> obj,
376
- v8::Local<v8::String> key);
377
- ```
378
-
379
-
380
- <a name="api_nan_has_real_indexed_property"></a>
381
- ### Nan::HasRealIndexedProperty()
382
-
383
- A helper method for calling [`v8::Object#HasRealIndexedProperty()`](https://v8docs.nodesource.com/node-8.16/db/d85/classv8_1_1_object.html#af94fc1135a5e74a2193fb72c3a1b9855) in a way compatible across supported versions of V8.
384
-
385
- Signature:
386
-
387
- ```c++
388
- Nan::Maybe<bool> Nan::HasRealIndexedProperty(v8::Local<v8::Object> obj,
389
- uint32_t index);
390
- ```
391
-
392
-
393
- <a name="api_nan_has_real_named_callback_property"></a>
394
- ### Nan::HasRealNamedCallbackProperty()
395
-
396
- A helper method for calling [`v8::Object#HasRealNamedCallbackProperty()`](https://v8docs.nodesource.com/node-8.16/db/d85/classv8_1_1_object.html#af743b7ea132b89f84d34d164d0668811) in a way compatible across supported versions of V8.
397
-
398
- Signature:
399
-
400
- ```c++
401
- Nan::Maybe<bool> Nan::HasRealNamedCallbackProperty(
402
- v8::Local<v8::Object> obj,
403
- v8::Local<v8::String> key);
404
- ```
405
-
406
-
407
- <a name="api_nan_get_real_named_property_in_prototype_chain"></a>
408
- ### Nan::GetRealNamedPropertyInPrototypeChain()
409
-
410
- A helper method for calling [`v8::Object#GetRealNamedPropertyInPrototypeChain()`](https://v8docs.nodesource.com/node-8.16/db/d85/classv8_1_1_object.html#a8700b1862e6b4783716964ba4d5e6172) in a way compatible across supported versions of V8.
411
-
412
- Signature:
413
-
414
- ```c++
415
- Nan::MaybeLocal<v8::Value> Nan::GetRealNamedPropertyInPrototypeChain(
416
- v8::Local<v8::Object> obj,
417
- v8::Local<v8::String> key);
418
- ```
419
-
420
-
421
- <a name="api_nan_get_real_named_property"></a>
422
- ### Nan::GetRealNamedProperty()
423
-
424
- A helper method for calling [`v8::Object#GetRealNamedProperty()`](https://v8docs.nodesource.com/node-8.16/db/d85/classv8_1_1_object.html#a84471a824576a5994fdd0ffcbf99ccc0) in a way compatible across supported versions of V8.
425
-
426
- Signature:
427
-
428
- ```c++
429
- Nan::MaybeLocal<v8::Value> Nan::GetRealNamedProperty(v8::Local<v8::Object> obj,
430
- v8::Local<v8::String> key);
431
- ```
432
-
433
-
434
- <a name="api_nan_call_as_function"></a>
435
- ### Nan::CallAsFunction()
436
-
437
- A helper method for calling [`v8::Object#CallAsFunction()`](https://v8docs.nodesource.com/node-8.16/db/d85/classv8_1_1_object.html#ad3ffc36f3dfc3592ce2a96bc047ee2cd) in a way compatible across supported versions of V8.
438
-
439
- Signature:
440
-
441
- ```c++
442
- Nan::MaybeLocal<v8::Value> Nan::CallAsFunction(v8::Local<v8::Object> obj,
443
- v8::Local<v8::Object> recv,
444
- int argc,
445
- v8::Local<v8::Value> argv[]);
446
- ```
447
-
448
-
449
- <a name="api_nan_call_as_constructor"></a>
450
- ### Nan::CallAsConstructor()
451
-
452
- A helper method for calling [`v8::Object#CallAsConstructor()`](https://v8docs.nodesource.com/node-8.16/db/d85/classv8_1_1_object.html#a50d571de50d0b0dfb28795619d07a01b) in a way compatible across supported versions of V8.
453
-
454
- Signature:
455
-
456
- ```c++
457
- Nan::MaybeLocal<v8::Value> Nan::CallAsConstructor(v8::Local<v8::Object> obj,
458
- int argc,
459
- v8::Local<v8::Value> argv[]);
460
- ```
461
-
462
-
463
- <a name="api_nan_get_source_line"></a>
464
- ### Nan::GetSourceLine()
465
-
466
- A helper method for calling [`v8::Message#GetSourceLine()`](https://v8docs.nodesource.com/node-8.16/d9/d28/classv8_1_1_message.html#a849f7a6c41549d83d8159825efccd23a) in a way compatible across supported versions of V8.
467
-
468
- Signature:
469
-
470
- ```c++
471
- Nan::MaybeLocal<v8::String> Nan::GetSourceLine(v8::Local<v8::Message> msg);
472
- ```
473
-
474
-
475
- <a name="api_nan_get_line_number"></a>
476
- ### Nan::GetLineNumber()
477
-
478
- A helper method for calling [`v8::Message#GetLineNumber()`](https://v8docs.nodesource.com/node-8.16/d9/d28/classv8_1_1_message.html#adbe46c10a88a6565f2732a2d2adf99b9) in a way compatible across supported versions of V8.
479
-
480
- Signature:
481
-
482
- ```c++
483
- Nan::Maybe<int> Nan::GetLineNumber(v8::Local<v8::Message> msg);
484
- ```
485
-
486
-
487
- <a name="api_nan_get_start_column"></a>
488
- ### Nan::GetStartColumn()
489
-
490
- A helper method for calling [`v8::Message#GetStartColumn()`](https://v8docs.nodesource.com/node-8.16/d9/d28/classv8_1_1_message.html#a60ede616ba3822d712e44c7a74487ba6) in a way compatible across supported versions of V8.
491
-
492
- Signature:
493
-
494
- ```c++
495
- Nan::Maybe<int> Nan::GetStartColumn(v8::Local<v8::Message> msg);
496
- ```
497
-
498
-
499
- <a name="api_nan_get_end_column"></a>
500
- ### Nan::GetEndColumn()
501
-
502
- A helper method for calling [`v8::Message#GetEndColumn()`](https://v8docs.nodesource.com/node-8.16/d9/d28/classv8_1_1_message.html#aaa004cf19e529da980bc19fcb76d93be) in a way compatible across supported versions of V8.
503
-
504
- Signature:
505
-
506
- ```c++
507
- Nan::Maybe<int> Nan::GetEndColumn(v8::Local<v8::Message> msg);
508
- ```
509
-
510
-
511
- <a name="api_nan_clone_element_at"></a>
512
- ### Nan::CloneElementAt()
513
-
514
- A helper method for calling [`v8::Array#CloneElementAt()`](https://v8docs.nodesource.com/node-4.8/d3/d32/classv8_1_1_array.html#a1d3a878d4c1c7cae974dd50a1639245e) in a way compatible across supported versions of V8.
515
-
516
- Signature:
517
-
518
- ```c++
519
- Nan::MaybeLocal<v8::Object> Nan::CloneElementAt(v8::Local<v8::Array> array, uint32_t index);
520
- ```
521
-
522
- <a name="api_nan_has_private"></a>
523
- ### Nan::HasPrivate()
524
-
525
- A helper method for calling [`v8::Object#HasPrivate()`](https://v8docs.nodesource.com/node-8.16/db/d85/classv8_1_1_object.html#af68a0b98066cfdeb8f943e98a40ba08d) in a way compatible across supported versions of V8.
526
-
527
- Signature:
528
-
529
- ```c++
530
- Nan::Maybe<bool> Nan::HasPrivate(v8::Local<v8::Object> object, v8::Local<v8::String> key);
531
- ```
532
-
533
- <a name="api_nan_get_private"></a>
534
- ### Nan::GetPrivate()
535
-
536
- A helper method for calling [`v8::Object#GetPrivate()`](https://v8docs.nodesource.com/node-8.16/db/d85/classv8_1_1_object.html#a169f2da506acbec34deadd9149a1925a) in a way compatible across supported versions of V8.
537
-
538
- Signature:
539
-
540
- ```c++
541
- Nan::MaybeLocal<v8::Value> Nan::GetPrivate(v8::Local<v8::Object> object, v8::Local<v8::String> key);
542
- ```
543
-
544
- <a name="api_nan_set_private"></a>
545
- ### Nan::SetPrivate()
546
-
547
- A helper method for calling [`v8::Object#SetPrivate()`](https://v8docs.nodesource.com/node-8.16/db/d85/classv8_1_1_object.html#ace1769b0f3b86bfe9fda1010916360ee) in a way compatible across supported versions of V8.
548
-
549
- Signature:
550
-
551
- ```c++
552
- Nan::Maybe<bool> Nan::SetPrivate(v8::Local<v8::Object> object, v8::Local<v8::String> key, v8::Local<v8::Value> value);
553
- ```
554
-
555
- <a name="api_nan_delete_private"></a>
556
- ### Nan::DeletePrivate()
557
-
558
- A helper method for calling [`v8::Object#DeletePrivate()`](https://v8docs.nodesource.com/node-8.16/db/d85/classv8_1_1_object.html#a138bb32a304f3982be02ad499693b8fd) in a way compatible across supported versions of V8.
559
-
560
- Signature:
561
-
562
- ```c++
563
- Nan::Maybe<bool> Nan::DeletePrivate(v8::Local<v8::Object> object, v8::Local<v8::String> key);
564
- ```
565
-
566
- <a name="api_nan_make_maybe"></a>
567
- ### Nan::MakeMaybe()
568
-
569
- Wraps a `v8::Local<>` in a `Nan::MaybeLocal<>`. When called with a `Nan::MaybeLocal<>` it just returns its argument. This is useful in generic template code that builds on NAN.
570
-
571
- Synopsis:
572
-
573
- ```c++
574
- MaybeLocal<v8::Number> someNumber = MakeMaybe(New<v8::Number>(3.141592654));
575
- MaybeLocal<v8::String> someString = MakeMaybe(New<v8::String>("probably"));
576
- ```
577
-
578
- Signature:
579
-
580
- ```c++
581
- template <typename T, template <typename> class MaybeMaybe>
582
- Nan::MaybeLocal<T> Nan::MakeMaybe(MaybeMaybe<T> v);
583
- ```