| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 | 
							- 'use strict';
 
- const internals = {};
 
- exports = module.exports = {
 
-     array: Array.prototype,
 
-     buffer: Buffer && Buffer.prototype,             // $lab:coverage:ignore$
 
-     date: Date.prototype,
 
-     error: Error.prototype,
 
-     generic: Object.prototype,
 
-     map: Map.prototype,
 
-     promise: Promise.prototype,
 
-     regex: RegExp.prototype,
 
-     set: Set.prototype,
 
-     weakMap: WeakMap.prototype,
 
-     weakSet: WeakSet.prototype
 
- };
 
- internals.typeMap = new Map([
 
-     ['[object Error]', exports.error],
 
-     ['[object Map]', exports.map],
 
-     ['[object Promise]', exports.promise],
 
-     ['[object Set]', exports.set],
 
-     ['[object WeakMap]', exports.weakMap],
 
-     ['[object WeakSet]', exports.weakSet]
 
- ]);
 
- exports.getInternalProto = function (obj) {
 
-     if (Array.isArray(obj)) {
 
-         return exports.array;
 
-     }
 
-     if (Buffer && obj instanceof Buffer) {          // $lab:coverage:ignore$
 
-         return exports.buffer;
 
-     }
 
-     if (obj instanceof Date) {
 
-         return exports.date;
 
-     }
 
-     if (obj instanceof RegExp) {
 
-         return exports.regex;
 
-     }
 
-     if (obj instanceof Error) {
 
-         return exports.error;
 
-     }
 
-     const objName = Object.prototype.toString.call(obj);
 
-     return internals.typeMap.get(objName) || exports.generic;
 
- };
 
 
  |