Archived
1
0
This repository has been archived on 2023-05-15. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
home-page/node_modules/es5-ext/function/#/copy.js
Sean Edmunds 0584430b5c First commit
2021-12-13 17:00:40 -06:00

23 lines
541 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;
// eslint-disable-next-line no-new-func
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;
};