mirror of
https://github.com/nodejs/node.git
synced 2025-05-18 22:22:58 +00:00

PR-URL: https://github.com/nodejs/io.js/pull/2286 Reviewed-By: Roman Reiss <me@silverwind.io>
16 lines
475 B
JavaScript
16 lines
475 B
JavaScript
'use strict';
|
|
|
|
var mixin = require('../../object/mixin')
|
|
, validFunction = require('../valid-function')
|
|
|
|
, re = /^\s*function\s*([\0-'\)-\uffff]+)*\s*\(([\0-\(\*-\uffff]*)\)\s*\{/;
|
|
|
|
module.exports = function () {
|
|
var match = String(validFunction(this)).match(re), fn;
|
|
|
|
fn = new Function('fn', 'return function ' + match[1].trim() + '(' +
|
|
match[2] + ') { return fn.apply(this, arguments); };')(this);
|
|
try { mixin(fn, this); } catch (ignore) {}
|
|
return fn;
|
|
};
|