| 123456789101112131415161718192021222324252627282930 | 
							- module.exports = function properlyBoxed(method) {
 
- 	// Check node 0.6.21 bug where third parameter is not boxed
 
- 	var properlyBoxesNonStrict = true;
 
- 	var properlyBoxesStrict = true;
 
- 	var threwException = false;
 
- 	if (typeof method === 'function') {
 
- 		try {
 
- 			// eslint-disable-next-line max-params
 
- 			method.call('f', function (_, __, O) {
 
- 				if (typeof O !== 'object') {
 
- 					properlyBoxesNonStrict = false;
 
- 				}
 
- 			});
 
- 			method.call(
 
- 				[null],
 
- 				function () {
 
- 					'use strict';
 
- 					properlyBoxesStrict = typeof this === 'string'; // eslint-disable-line no-invalid-this
 
- 				},
 
- 				'x'
 
- 			);
 
- 		} catch (e) {
 
- 			threwException = true;
 
- 		}
 
- 		return !threwException && properlyBoxesNonStrict && properlyBoxesStrict;
 
- 	}
 
- 	return false;
 
- };
 
 
  |