@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,29 +0,0 @@
1
- /*********************************************************************
2
- * NAN - Native Abstractions for Node.js
3
- *
4
- * Copyright (c) 2018 NAN contributors
5
- *
6
- * MIT License <https://github.com/nodejs/nan/blob/master/LICENSE.md>
7
- ********************************************************************/
8
-
9
- #ifndef NAN_DEFINE_OWN_PROPERTY_HELPER_H_
10
- #define NAN_DEFINE_OWN_PROPERTY_HELPER_H_
11
-
12
- namespace imp {
13
-
14
- inline Maybe<bool> DefineOwnPropertyHelper(
15
- v8::PropertyAttribute current
16
- , v8::Handle<v8::Object> obj
17
- , v8::Handle<v8::String> key
18
- , v8::Handle<v8::Value> value
19
- , v8::PropertyAttribute attribs = v8::None) {
20
- return !(current & v8::DontDelete) || // configurable OR
21
- (!(current & v8::ReadOnly) && // writable AND
22
- !((attribs ^ current) & ~v8::ReadOnly)) // same excluding RO
23
- ? Just<bool>(obj->ForceSet(key, value, attribs))
24
- : Nothing<bool>();
25
- }
26
-
27
- } // end of namespace imp
28
-
29
- #endif // NAN_DEFINE_OWN_PROPERTY_HELPER_H_
@@ -1,430 +0,0 @@
1
- /*********************************************************************
2
- * NAN - Native Abstractions for Node.js
3
- *
4
- * Copyright (c) 2018 NAN contributors
5
- *
6
- * MIT License <https://github.com/nodejs/nan/blob/master/LICENSE.md>
7
- ********************************************************************/
8
-
9
- #ifndef NAN_IMPLEMENTATION_12_INL_H_
10
- #define NAN_IMPLEMENTATION_12_INL_H_
11
- //==============================================================================
12
- // node v0.11 implementation
13
- //==============================================================================
14
-
15
- namespace imp {
16
-
17
- //=== Array ====================================================================
18
-
19
- Factory<v8::Array>::return_t
20
- Factory<v8::Array>::New() {
21
- return v8::Array::New(v8::Isolate::GetCurrent());
22
- }
23
-
24
- Factory<v8::Array>::return_t
25
- Factory<v8::Array>::New(int length) {
26
- return v8::Array::New(v8::Isolate::GetCurrent(), length);
27
- }
28
-
29
- //=== Boolean ==================================================================
30
-
31
- Factory<v8::Boolean>::return_t
32
- Factory<v8::Boolean>::New(bool value) {
33
- return v8::Boolean::New(v8::Isolate::GetCurrent(), value);
34
- }
35
-
36
- //=== Boolean Object ===========================================================
37
-
38
- Factory<v8::BooleanObject>::return_t
39
- Factory<v8::BooleanObject>::New(bool value) {
40
- #if (NODE_MODULE_VERSION >= NODE_6_0_MODULE_VERSION)
41
- return v8::BooleanObject::New(
42
- v8::Isolate::GetCurrent(), value).As<v8::BooleanObject>();
43
- #else
44
- return v8::BooleanObject::New(value).As<v8::BooleanObject>();
45
- #endif
46
- }
47
-
48
- //=== Context ==================================================================
49
-
50
- Factory<v8::Context>::return_t
51
- Factory<v8::Context>::New( v8::ExtensionConfiguration* extensions
52
- , v8::Local<v8::ObjectTemplate> tmpl
53
- , v8::Local<v8::Value> obj) {
54
- return v8::Context::New(v8::Isolate::GetCurrent(), extensions, tmpl, obj);
55
- }
56
-
57
- //=== Date =====================================================================
58
-
59
- #if defined(V8_MAJOR_VERSION) && (V8_MAJOR_VERSION > 4 || \
60
- (V8_MAJOR_VERSION == 4 && defined(V8_MINOR_VERSION) && V8_MINOR_VERSION >= 3))
61
- Factory<v8::Date>::return_t
62
- Factory<v8::Date>::New(double value) {
63
- v8::Isolate *isolate = v8::Isolate::GetCurrent();
64
- v8::EscapableHandleScope scope(isolate);
65
- return scope.Escape(v8::Date::New(isolate->GetCurrentContext(), value)
66
- .FromMaybe(v8::Local<v8::Value>()).As<v8::Date>());
67
- }
68
- #else
69
- Factory<v8::Date>::return_t
70
- Factory<v8::Date>::New(double value) {
71
- return v8::Date::New(v8::Isolate::GetCurrent(), value).As<v8::Date>();
72
- }
73
- #endif
74
-
75
- //=== External =================================================================
76
-
77
- Factory<v8::External>::return_t
78
- Factory<v8::External>::New(void * value) {
79
- return v8::External::New(v8::Isolate::GetCurrent(), value);
80
- }
81
-
82
- //=== Function =================================================================
83
-
84
- Factory<v8::Function>::return_t
85
- Factory<v8::Function>::New( FunctionCallback callback
86
- , v8::Local<v8::Value> data) {
87
- v8::Isolate *isolate = v8::Isolate::GetCurrent();
88
- v8::EscapableHandleScope scope(isolate);
89
- v8::Local<v8::ObjectTemplate> tpl = v8::ObjectTemplate::New(isolate);
90
- tpl->SetInternalFieldCount(imp::kFunctionFieldCount);
91
- v8::Local<v8::Object> obj = NewInstance(tpl).ToLocalChecked();
92
-
93
- obj->SetInternalField(
94
- imp::kFunctionIndex
95
- , v8::External::New(isolate, reinterpret_cast<void *>(callback)));
96
-
97
- v8::Local<v8::Value> val = v8::Local<v8::Value>::New(isolate, data);
98
-
99
- if (!val.IsEmpty()) {
100
- obj->SetInternalField(imp::kDataIndex, val);
101
- }
102
-
103
- #if NODE_MAJOR_VERSION >= 10
104
- v8::Local<v8::Context> context = isolate->GetCurrentContext();
105
- v8::Local<v8::Function> function =
106
- v8::Function::New(context, imp::FunctionCallbackWrapper, obj)
107
- .ToLocalChecked();
108
- #else
109
- v8::Local<v8::Function> function =
110
- v8::Function::New(isolate, imp::FunctionCallbackWrapper, obj);
111
- #endif
112
-
113
- return scope.Escape(function);
114
- }
115
-
116
- //=== Function Template ========================================================
117
-
118
- Factory<v8::FunctionTemplate>::return_t
119
- Factory<v8::FunctionTemplate>::New( FunctionCallback callback
120
- , v8::Local<v8::Value> data
121
- , v8::Local<v8::Signature> signature) {
122
- v8::Isolate *isolate = v8::Isolate::GetCurrent();
123
- if (callback) {
124
- v8::EscapableHandleScope scope(isolate);
125
- v8::Local<v8::ObjectTemplate> tpl = v8::ObjectTemplate::New(isolate);
126
- tpl->SetInternalFieldCount(imp::kFunctionFieldCount);
127
- v8::Local<v8::Object> obj = NewInstance(tpl).ToLocalChecked();
128
-
129
- obj->SetInternalField(
130
- imp::kFunctionIndex
131
- , v8::External::New(isolate, reinterpret_cast<void *>(callback)));
132
- v8::Local<v8::Value> val = v8::Local<v8::Value>::New(isolate, data);
133
-
134
- if (!val.IsEmpty()) {
135
- obj->SetInternalField(imp::kDataIndex, val);
136
- }
137
-
138
- return scope.Escape(v8::FunctionTemplate::New( isolate
139
- , imp::FunctionCallbackWrapper
140
- , obj
141
- , signature));
142
- } else {
143
- return v8::FunctionTemplate::New(isolate, 0, data, signature);
144
- }
145
- }
146
-
147
- //=== Number ===================================================================
148
-
149
- Factory<v8::Number>::return_t
150
- Factory<v8::Number>::New(double value) {
151
- return v8::Number::New(v8::Isolate::GetCurrent(), value);
152
- }
153
-
154
- //=== Number Object ============================================================
155
-
156
- Factory<v8::NumberObject>::return_t
157
- Factory<v8::NumberObject>::New(double value) {
158
- return v8::NumberObject::New( v8::Isolate::GetCurrent()
159
- , value).As<v8::NumberObject>();
160
- }
161
-
162
- //=== Integer, Int32 and Uint32 ================================================
163
-
164
- template <typename T>
165
- typename IntegerFactory<T>::return_t
166
- IntegerFactory<T>::New(int32_t value) {
167
- return To<T>(T::New(v8::Isolate::GetCurrent(), value));
168
- }
169
-
170
- template <typename T>
171
- typename IntegerFactory<T>::return_t
172
- IntegerFactory<T>::New(uint32_t value) {
173
- return To<T>(T::NewFromUnsigned(v8::Isolate::GetCurrent(), value));
174
- }
175
-
176
- Factory<v8::Uint32>::return_t
177
- Factory<v8::Uint32>::New(int32_t value) {
178
- return To<v8::Uint32>(
179
- v8::Uint32::NewFromUnsigned(v8::Isolate::GetCurrent(), value));
180
- }
181
-
182
- Factory<v8::Uint32>::return_t
183
- Factory<v8::Uint32>::New(uint32_t value) {
184
- return To<v8::Uint32>(
185
- v8::Uint32::NewFromUnsigned(v8::Isolate::GetCurrent(), value));
186
- }
187
-
188
- //=== Object ===================================================================
189
-
190
- Factory<v8::Object>::return_t
191
- Factory<v8::Object>::New() {
192
- return v8::Object::New(v8::Isolate::GetCurrent());
193
- }
194
-
195
- //=== Object Template ==========================================================
196
-
197
- Factory<v8::ObjectTemplate>::return_t
198
- Factory<v8::ObjectTemplate>::New() {
199
- return v8::ObjectTemplate::New(v8::Isolate::GetCurrent());
200
- }
201
-
202
- //=== RegExp ===================================================================
203
-
204
- #if defined(V8_MAJOR_VERSION) && (V8_MAJOR_VERSION > 4 || \
205
- (V8_MAJOR_VERSION == 4 && defined(V8_MINOR_VERSION) && V8_MINOR_VERSION >= 3))
206
- Factory<v8::RegExp>::return_t
207
- Factory<v8::RegExp>::New(
208
- v8::Local<v8::String> pattern
209
- , v8::RegExp::Flags flags) {
210
- v8::Isolate *isolate = v8::Isolate::GetCurrent();
211
- v8::EscapableHandleScope scope(isolate);
212
- return scope.Escape(
213
- v8::RegExp::New(isolate->GetCurrentContext(), pattern, flags)
214
- .FromMaybe(v8::Local<v8::RegExp>()));
215
- }
216
- #else
217
- Factory<v8::RegExp>::return_t
218
- Factory<v8::RegExp>::New(
219
- v8::Local<v8::String> pattern
220
- , v8::RegExp::Flags flags) {
221
- return v8::RegExp::New(pattern, flags);
222
- }
223
- #endif
224
-
225
- //=== Script ===================================================================
226
-
227
- #if defined(V8_MAJOR_VERSION) && (V8_MAJOR_VERSION > 4 || \
228
- (V8_MAJOR_VERSION == 4 && defined(V8_MINOR_VERSION) && V8_MINOR_VERSION >= 3))
229
- Factory<v8::Script>::return_t
230
- Factory<v8::Script>::New( v8::Local<v8::String> source) {
231
- v8::Isolate *isolate = v8::Isolate::GetCurrent();
232
- v8::EscapableHandleScope scope(isolate);
233
- v8::ScriptCompiler::Source src(source);
234
- return scope.Escape(
235
- v8::ScriptCompiler::Compile(isolate->GetCurrentContext(), &src)
236
- .FromMaybe(v8::Local<v8::Script>()));
237
- }
238
-
239
- Factory<v8::Script>::return_t
240
- Factory<v8::Script>::New( v8::Local<v8::String> source
241
- , v8::ScriptOrigin const& origin) {
242
- v8::Isolate *isolate = v8::Isolate::GetCurrent();
243
- v8::EscapableHandleScope scope(isolate);
244
- v8::ScriptCompiler::Source src(source, origin);
245
- return scope.Escape(
246
- v8::ScriptCompiler::Compile(isolate->GetCurrentContext(), &src)
247
- .FromMaybe(v8::Local<v8::Script>()));
248
- }
249
- #else
250
- Factory<v8::Script>::return_t
251
- Factory<v8::Script>::New( v8::Local<v8::String> source) {
252
- v8::ScriptCompiler::Source src(source);
253
- return v8::ScriptCompiler::Compile(v8::Isolate::GetCurrent(), &src);
254
- }
255
-
256
- Factory<v8::Script>::return_t
257
- Factory<v8::Script>::New( v8::Local<v8::String> source
258
- , v8::ScriptOrigin const& origin) {
259
- v8::ScriptCompiler::Source src(source, origin);
260
- return v8::ScriptCompiler::Compile(v8::Isolate::GetCurrent(), &src);
261
- }
262
- #endif
263
-
264
- //=== Signature ================================================================
265
-
266
- Factory<v8::Signature>::return_t
267
- Factory<v8::Signature>::New(Factory<v8::Signature>::FTH receiver) {
268
- return v8::Signature::New(v8::Isolate::GetCurrent(), receiver);
269
- }
270
-
271
- //=== String ===================================================================
272
-
273
- Factory<v8::String>::return_t
274
- Factory<v8::String>::New() {
275
- return v8::String::Empty(v8::Isolate::GetCurrent());
276
- }
277
-
278
- #if defined(V8_MAJOR_VERSION) && (V8_MAJOR_VERSION > 4 || \
279
- (V8_MAJOR_VERSION == 4 && defined(V8_MINOR_VERSION) && V8_MINOR_VERSION >= 3))
280
- Factory<v8::String>::return_t
281
- Factory<v8::String>::New(const char * value, int length) {
282
- return v8::String::NewFromUtf8(
283
- v8::Isolate::GetCurrent(), value, v8::NewStringType::kNormal, length);
284
- }
285
-
286
- Factory<v8::String>::return_t
287
- Factory<v8::String>::New(std::string const& value) {
288
- assert(value.size() <= INT_MAX && "string too long");
289
- return v8::String::NewFromUtf8(v8::Isolate::GetCurrent(),
290
- value.data(), v8::NewStringType::kNormal, static_cast<int>(value.size()));
291
- }
292
-
293
- Factory<v8::String>::return_t
294
- Factory<v8::String>::New(const uint16_t * value, int length) {
295
- return v8::String::NewFromTwoByte(v8::Isolate::GetCurrent(), value,
296
- v8::NewStringType::kNormal, length);
297
- }
298
-
299
- Factory<v8::String>::return_t
300
- Factory<v8::String>::New(v8::String::ExternalStringResource * value) {
301
- return v8::String::NewExternalTwoByte(v8::Isolate::GetCurrent(), value);
302
- }
303
-
304
- Factory<v8::String>::return_t
305
- Factory<v8::String>::New(ExternalOneByteStringResource * value) {
306
- return v8::String::NewExternalOneByte(v8::Isolate::GetCurrent(), value);
307
- }
308
- #else
309
- Factory<v8::String>::return_t
310
- Factory<v8::String>::New(const char * value, int length) {
311
- return v8::String::NewFromUtf8(v8::Isolate::GetCurrent(), value,
312
- v8::String::kNormalString, length);
313
- }
314
-
315
- Factory<v8::String>::return_t
316
- Factory<v8::String>::New(
317
- std::string const& value) /* NOLINT(build/include_what_you_use) */ {
318
- assert(value.size() <= INT_MAX && "string too long");
319
- return v8::String::NewFromUtf8(v8::Isolate::GetCurrent(), value.data(),
320
- v8::String::kNormalString,
321
- static_cast<int>(value.size()));
322
- }
323
-
324
- Factory<v8::String>::return_t
325
- Factory<v8::String>::New(const uint16_t * value, int length) {
326
- return v8::String::NewFromTwoByte(v8::Isolate::GetCurrent(), value,
327
- v8::String::kNormalString, length);
328
- }
329
-
330
- Factory<v8::String>::return_t
331
- Factory<v8::String>::New(v8::String::ExternalStringResource * value) {
332
- return v8::String::NewExternal(v8::Isolate::GetCurrent(), value);
333
- }
334
-
335
- Factory<v8::String>::return_t
336
- Factory<v8::String>::New(ExternalOneByteStringResource * value) {
337
- return v8::String::NewExternal(v8::Isolate::GetCurrent(), value);
338
- }
339
- #endif
340
-
341
- //=== String Object ============================================================
342
-
343
- // See https://github.com/nodejs/nan/pull/811#discussion_r224594980.
344
- // Disable the warning as there is no way around it.
345
- // TODO(bnoordhuis) Use isolate-based version in Node.js v12.
346
- Factory<v8::StringObject>::return_t
347
- Factory<v8::StringObject>::New(v8::Local<v8::String> value) {
348
- // V8 > 7.0
349
- #if V8_MAJOR_VERSION > 7 || (V8_MAJOR_VERSION == 7 && V8_MINOR_VERSION > 0)
350
- return v8::StringObject::New(v8::Isolate::GetCurrent(), value)
351
- .As<v8::StringObject>();
352
- #else
353
- #ifdef _MSC_VER
354
- #pragma warning(push)
355
- #pragma warning(disable : 4996)
356
- #endif
357
- #ifdef __GNUC__
358
- #pragma GCC diagnostic push
359
- #pragma GCC diagnostic ignored "-Wdeprecated-declarations"
360
- #endif
361
- return v8::StringObject::New(value).As<v8::StringObject>();
362
- #ifdef __GNUC__
363
- #pragma GCC diagnostic pop
364
- #endif
365
- #ifdef _MSC_VER
366
- #pragma warning(pop)
367
- #endif
368
- #endif
369
- }
370
-
371
- //=== Unbound Script ===========================================================
372
-
373
- #if defined(V8_MAJOR_VERSION) && (V8_MAJOR_VERSION > 4 || \
374
- (V8_MAJOR_VERSION == 4 && defined(V8_MINOR_VERSION) && V8_MINOR_VERSION >= 3))
375
- Factory<v8::UnboundScript>::return_t
376
- Factory<v8::UnboundScript>::New(v8::Local<v8::String> source) {
377
- v8::ScriptCompiler::Source src(source);
378
- return v8::ScriptCompiler::CompileUnboundScript(
379
- v8::Isolate::GetCurrent(), &src);
380
- }
381
-
382
- Factory<v8::UnboundScript>::return_t
383
- Factory<v8::UnboundScript>::New( v8::Local<v8::String> source
384
- , v8::ScriptOrigin const& origin) {
385
- v8::ScriptCompiler::Source src(source, origin);
386
- return v8::ScriptCompiler::CompileUnboundScript(
387
- v8::Isolate::GetCurrent(), &src);
388
- }
389
- #else
390
- Factory<v8::UnboundScript>::return_t
391
- Factory<v8::UnboundScript>::New(v8::Local<v8::String> source) {
392
- v8::ScriptCompiler::Source src(source);
393
- return v8::ScriptCompiler::CompileUnbound(v8::Isolate::GetCurrent(), &src);
394
- }
395
-
396
- Factory<v8::UnboundScript>::return_t
397
- Factory<v8::UnboundScript>::New( v8::Local<v8::String> source
398
- , v8::ScriptOrigin const& origin) {
399
- v8::ScriptCompiler::Source src(source, origin);
400
- return v8::ScriptCompiler::CompileUnbound(v8::Isolate::GetCurrent(), &src);
401
- }
402
- #endif
403
-
404
- } // end of namespace imp
405
-
406
- //=== Presistents and Handles ==================================================
407
-
408
- #if NODE_MODULE_VERSION < IOJS_3_0_MODULE_VERSION
409
- template <typename T>
410
- inline v8::Local<T> New(v8::Handle<T> h) {
411
- return v8::Local<T>::New(v8::Isolate::GetCurrent(), h);
412
- }
413
- #endif
414
-
415
- template <typename T, typename M>
416
- inline v8::Local<T> New(v8::Persistent<T, M> const& p) {
417
- return v8::Local<T>::New(v8::Isolate::GetCurrent(), p);
418
- }
419
-
420
- template <typename T, typename M>
421
- inline v8::Local<T> New(Persistent<T, M> const& p) {
422
- return v8::Local<T>::New(v8::Isolate::GetCurrent(), p);
423
- }
424
-
425
- template <typename T>
426
- inline v8::Local<T> New(Global<T> const& p) {
427
- return v8::Local<T>::New(v8::Isolate::GetCurrent(), p);
428
- }
429
-
430
- #endif // NAN_IMPLEMENTATION_12_INL_H_