summaryrefslogtreecommitdiff
path: root/lib/v8.js
diff options
context:
space:
mode:
Diffstat (limited to 'lib/v8.js')
-rw-r--r--lib/v8.js12
1 files changed, 11 insertions, 1 deletions
diff --git a/lib/v8.js b/lib/v8.js
index e5b31564ad..ba95c98dad 100644
--- a/lib/v8.js
+++ b/lib/v8.js
@@ -15,11 +15,21 @@
'use strict';
const { Buffer } = require('buffer');
-const { Serializer, Deserializer } = process.binding('serdes');
+const {
+ Serializer: _Serializer,
+ Deserializer: _Deserializer
+} = process.binding('serdes');
const { copy } = process.binding('buffer');
const { objectToString } = require('internal/util');
const { FastBuffer } = require('internal/buffer');
+// Calling exposed c++ functions directly throws exception as it expected to be
+// called with new operator and caused an assert to fire.
+// Creating JS wrapper so that it gets caught at JS layer.
+class Serializer extends _Serializer { }
+
+class Deserializer extends _Deserializer { }
+
const {
cachedDataVersionTag,
setFlagsFromString,