| 1234567891011121314151617181920212223242526272829303132 | 'use strict';var slice = Array.prototype.slice;var isArgs = require('./isArguments');var origKeys = Object.keys;var keysShim = origKeys ? function keys(o) { return origKeys(o); } : require('./implementation');var originalKeys = Object.keys;keysShim.shim = function shimObjectKeys() {	if (Object.keys) {		var keysWorksWithArguments = (function () {			// Safari 5.0 bug			var args = Object.keys(arguments);			return args && args.length === arguments.length;		}(1, 2));		if (!keysWorksWithArguments) {			Object.keys = function keys(object) { // eslint-disable-line func-name-matching				if (isArgs(object)) {					return originalKeys(slice.call(object));				}				return originalKeys(object);			};		}	} else {		Object.keys = keysShim;	}	return Object.keys || keysShim;};module.exports = keysShim;
 |