summaryrefslogtreecommitdiff
path: root/lib/internal/error-serdes.js
diff options
context:
space:
mode:
Diffstat (limited to 'lib/internal/error-serdes.js')
-rw-r--r--lib/internal/error-serdes.js42
1 files changed, 24 insertions, 18 deletions
diff --git a/lib/internal/error-serdes.js b/lib/internal/error-serdes.js
index 8647e3b78d..744098af53 100644
--- a/lib/internal/error-serdes.js
+++ b/lib/internal/error-serdes.js
@@ -2,10 +2,16 @@
const Buffer = require('buffer').Buffer;
const {
- ArrayPrototype,
- FunctionPrototype,
- Object,
- ObjectPrototype,
+ ArrayPrototypeForEach,
+ FunctionPrototypeCall,
+ ObjectAssign,
+ ObjectCreate,
+ ObjectDefineProperty,
+ ObjectGetOwnPropertyDescriptor,
+ ObjectGetOwnPropertyNames,
+ ObjectGetPrototypeOf,
+ ObjectKeys,
+ ObjectPrototypeToString,
SafeSet,
} = primordials;
@@ -16,24 +22,24 @@ const kInspectedError = 2;
const errors = {
Error, TypeError, RangeError, URIError, SyntaxError, ReferenceError, EvalError
};
-const errorConstructorNames = new SafeSet(Object.keys(errors));
+const errorConstructorNames = new SafeSet(ObjectKeys(errors));
function TryGetAllProperties(object, target = object) {
- const all = Object.create(null);
+ const all = ObjectCreate(null);
if (object === null)
return all;
- Object.assign(all,
- TryGetAllProperties(Object.getPrototypeOf(object), target));
- const keys = Object.getOwnPropertyNames(object);
- ArrayPrototype.forEach(keys, (key) => {
+ ObjectAssign(all,
+ TryGetAllProperties(ObjectGetPrototypeOf(object), target));
+ const keys = ObjectGetOwnPropertyNames(object);
+ ArrayPrototypeForEach(keys, (key) => {
let descriptor;
try {
- descriptor = Object.getOwnPropertyDescriptor(object, key);
+ descriptor = ObjectGetOwnPropertyDescriptor(object, key);
} catch { return; }
const getter = descriptor.get;
if (getter && key !== '__proto__') {
try {
- descriptor.value = FunctionPrototype.call(getter, target);
+ descriptor.value = FunctionPrototypeCall(getter, target);
} catch {}
}
if ('value' in descriptor && typeof descriptor.value !== 'function') {
@@ -50,10 +56,10 @@ function GetConstructors(object) {
for (var current = object;
current !== null;
- current = Object.getPrototypeOf(current)) {
- const desc = Object.getOwnPropertyDescriptor(current, 'constructor');
+ current = ObjectGetPrototypeOf(current)) {
+ const desc = ObjectGetOwnPropertyDescriptor(current, 'constructor');
if (desc && desc.value) {
- Object.defineProperty(constructors, constructors.length, {
+ ObjectDefineProperty(constructors, constructors.length, {
value: desc.value, enumerable: true
});
}
@@ -63,7 +69,7 @@ function GetConstructors(object) {
}
function GetName(object) {
- const desc = Object.getOwnPropertyDescriptor(object, 'name');
+ const desc = ObjectGetOwnPropertyDescriptor(object, 'name');
return desc && desc.value;
}
@@ -80,7 +86,7 @@ function serializeError(error) {
if (!serialize) serialize = require('v8').serialize;
try {
if (typeof error === 'object' &&
- ObjectPrototype.toString(error) === '[object Error]') {
+ ObjectPrototypeToString(error) === '[object Error]') {
const constructors = GetConstructors(error);
for (var i = 0; i < constructors.length; i++) {
const name = GetName(constructors[i]);
@@ -109,7 +115,7 @@ function deserializeError(error) {
case kSerializedError:
const { constructor, properties } = deserialize(error.subarray(1));
const ctor = errors[constructor];
- return Object.create(ctor.prototype, properties);
+ return ObjectCreate(ctor.prototype, properties);
case kSerializedObject:
return deserialize(error.subarray(1));
case kInspectedError: