Skip to content

Commit 2e5d7af

Browse files
BridgeARphated
authored andcommitted
Update: Use inspect symbol on node 11+ (#141)
1 parent a1c2e82 commit 2e5d7af

File tree

2 files changed

+13
-1
lines changed

2 files changed

+13
-1
lines changed

index.js

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
'use strict';
22

33
var path = require('path');
4+
var util = require('util');
45
var isBuffer = require('buffer').Buffer.isBuffer;
56

67
var clone = require('clone');
@@ -157,6 +158,11 @@ File.prototype.inspect = function() {
157158
return '<File ' + inspect.join(' ') + '>';
158159
};
159160

161+
// Newer Node.js versions use this symbol for custom inspection.
162+
if (util.inspect.custom) {
163+
File.prototype[util.inspect.custom] = File.prototype.inspect;
164+
}
165+
160166
File.isCustomProp = function(key) {
161167
return builtInFields.indexOf(key) === -1;
162168
};

test/file.js

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
var fs = require('fs');
44
var path = require('path');
5+
var util = require('util');
56
var expect = require('expect');
67
var miss = require('mississippi');
78
var cloneable = require('cloneable-readable');
@@ -746,7 +747,12 @@ describe('File', function() {
746747

747748
it('returns correct format when no contents and no path', function(done) {
748749
var file = new File();
749-
expect(file.inspect()).toEqual('<File >');
750+
var expectation = '<File >';
751+
expect(file.inspect()).toEqual(expectation);
752+
expect(util.inspect(file)).toEqual(expectation);
753+
if (util.inspect.custom) {
754+
expect(file[util.inspect.custom]()).toEqual(expectation);
755+
}
750756
done();
751757
});
752758

0 commit comments

Comments
 (0)