plat
Version:
A tool for working with JavaScript platforms agnostically
60 lines (28 loc) • 1.3 kB
Markdown
# plat [](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.