Simple OS Platform
A helper that returns the current user's operating system. Eg. "Windows", "Linux", "Android", "MacOS", "iOS" etc.
Installation
yarn add simple-os-platform
or
npm install simple-os-platform
Usage
Here's an example of a component that renders a shortcut phrase based off the user's operating system:
import { getOS, isMac, isNotMac } from 'simple-os-platform'
getOS();
isMac();
isNotMac();
var simpleOSPlatform = require('simple-os-platform');
simpleOSPlatform.getOS();
simpleOSPlatform.isMac();
simpleOSPlatform.isNotMac();
If the user's operating system is a Mac
, the shortcut phrase renders cmd + click
, otherwise it renders ctrl + click
.
List of Possible Results [helper boolean functions]
- Android [isAndroid, isNotAndroid]
- BlackBerry [isBlackBerry, isNotBlackBerry]
- FirefoxOS [isFirefoxOS, isNotFirefoxOs]
- FreeBSD [isFreeBSD, isNotFreeBSD]
- iOS [isIOS, isNotIOS]
- Linux [isLinux, isNotLinux]
- Mac [isMac, isNotMac]
- Nintendo [isNintendo, isNotNintendo]
- OpenBSD [isOpenBSD, isNotOpenBSD]
- Palm [isPalm, isNotPalm]
- PlayStation [isPlayStation, isNotPlayStation]
- SunOS [isSunOS, isNotSunOS]
- Symbian [isSymbian, isNotSymbian]
- Windows [isWindows, isNotWindows]
If the user's operating system doesn't fall under the category of any of these list items, then the window.navigator.platform
result will be returned instead.
Testing
Testing is handled by Jest
and the packages has the following commands setup
Contributing
TODO: Write Unit Tests for the isHelpers
All contributions are welcome, and can be done by cloning the repo and running yarn install
.
Ensure that there are no errors in the tests or linter and ensure that your commit messages comply to the following format:
- break: COMMIT_MSG - changes in the code that changes the way other users would need to implement it.
- feat: COMMIT_MSG - adding a new feature or capability to the helper.
- fix: COMMIT_MSG - any bugs or minor updates that fixes the existing code without adding or removing any capabilities.
- none: COMMIT_MSG - used for simple updates like documentation, aka NO code has changed.
There are git hooks configured to ensure commit message format as well as test and linter compliance.
History
Discover the release history by heading on over to the releases page.
License
Unless stated otherwise all works are:
and licensed under: