monkeyify

0.0.4 • Public • Published

monkeyify

Monkey patch factory

API

 
// demo: By monkeyify the atob function let atob support base64 url
window.atob = monkeyify(window.atob, {
 
// bind a caller, the default is the caller when the monkeyify function is called
  caller: window,
 
  // true(To monkeyify a monkeyifyed function is allowed)
  // 'return old monkey'(Return the first monkeyifyed function when you want to monkeyify a monkeyifyed function)
  allowMonkeyInMonkey: 'return old monkey';
 
  // monkey patch function. caller, args array and the original function
  monkey: function (caller, args, original) {
    var base64url = args[0];
    var d = 4 - base64url.length % 4;
    while (d-->0) {
      base64url += '=';
    }
    args[0] = base64url
      .replace(/\-/g, "+")
      .replace(/_/g, "/");
    return original.apply(caller, args);
  }
});
// or
window.atob = monkeyify(window.atob, function () {
// your code
});

Package Sidebar

Install

npm i monkeyify

Weekly Downloads

13

Version

0.0.4

License

MIT

Unpacked Size

4.99 kB

Total Files

4

Last publish

Collaborators

  • zenboss