numeric icon indicating copy to clipboard operation
numeric copied to clipboard

CommonJS/RequireJS/AMD support

Open wellcaffeinated opened this issue 11 years ago • 1 comments

Hi I've patched the code so that it should work as an AMD Module (with requireJS), a node module (as per commonJS syntax), or a browser global.

The declaration style keeps everything defined in a local scope and then only exposes window.numeric as a last resort.

I've done a build, and all unit tests pass

In order to get around the difficulty of the functions defined with the Function constructor, I had to wrap all of these constructions with a small internal function _fn() which simply does the following:

function _fn( fn ){
    fn.numeric = numeric;
    return fn;
}

so that the body of a function created with the Function constructor (which doesn't have access to the scope that defines numeric), will have access to numeric via

var numeric = arguments.callee.numeric;

I think this was the best way of getting around the scoping issues. But if anyone has a better way, I'm all ears.

Cheers!

wellcaffeinated avatar Apr 30 '13 21:04 wellcaffeinated

This is a pretty old PR, and does way more than the patch title claims. A separate PR just to expose the top level numeric in the proper way so that it will work in plain browser mode as well as when used as AMD or Commonjs module would be most excellent to have.

Pomax avatar Apr 18 '15 16:04 Pomax