const uv = process.binding('uv');
const Buffer = require('buffer').Buffer;
const internalUtil = require('internal/util');
+
var Debug;
+var ObjectIsPromise;
const formatRegExp = /%[sdj%]/g;
exports.format = function(f) {
}
+function ensureDebugIsInitialized() {
+ if (Debug === undefined) {
+ const runInDebugContext = require('vm').runInDebugContext;
+ const result = runInDebugContext('[Debug, ObjectIsPromise]');
+ Debug = result[0];
+ ObjectIsPromise = result[1];
+ }
+}
+
+
function inspectPromise(p) {
- Debug = Debug || require('vm').runInDebugContext('Debug');
- var mirror = Debug.MakeMirror(p, true);
- if (!mirror.isPromise())
+ ensureDebugIsInitialized();
+ if (!ObjectIsPromise(p))
return null;
+ const mirror = Debug.MakeMirror(p, true);
return {status: mirror.status(), value: mirror.promiseValue().value_};
}