UNPKG

plat

Version:

A tool for working with JavaScript platforms agnostically

60 lines (28 loc) 1.3 kB
# plat [![build status](https://secure.travis-ci.org/jasonkuhrt/plat.png)](http://travis-ci.org/jasonkuhrt/plat) A tool for working with JavaScript platforms agnostically ## Installation Server: npm install --save plat Client: component install jasonkuhrt/plat ## API ##### .isClient :: Bool Is `true` if the JavaScript is executing in a browser. `false` otherwise. ##### .isServer :: Bool Is `true` if the JavaScript is executing in NodeJS. `false` otherwise. ##### .platform :: String Is the label of the platform that the JavaScript is executing on; may be: `browser`, `node`. ##### .GLOBE | .globe :: Object Is a reference to the global scope. `window` in browsers, `GLOBAL` in NodeJS. ## Guide ##### Throwing If `plat` cannot determine the platform being used it will throw an error to let you know. At this point you should investigate why or create an issue/pull-request to justify and support your use-case/platform. The point is that `plat` will protect your code from executing in ambiguous execution contexts wherein e.g. you think you're in the server but not, etc. ##### Supported Platforms Currently supported: - Browsers - NodeJS More platform support is welcome by those that know how to unambiguously test for such contexts.