https://github.com/bytebodger/local-storage-is-available
A simple utility function to safely determine whether localStorage is available in the current environment
https://github.com/bytebodger/local-storage-is-available
Last synced: 12 months ago
JSON representation
A simple utility function to safely determine whether localStorage is available in the current environment
- Host: GitHub
- URL: https://github.com/bytebodger/local-storage-is-available
- Owner: bytebodger
- License: mit
- Created: 2021-03-19T00:29:40.000Z (about 5 years ago)
- Default Branch: main
- Last Pushed: 2021-03-19T00:49:18.000Z (about 5 years ago)
- Last Synced: 2025-05-19T00:17:30.430Z (about 1 year ago)
- Language: JavaScript
- Size: 79.1 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# local-storage-is-available
`local-storage-is-available` is a tiny utility function to safely determine whether localStorage is available in the current environment. It's dangerous to _assume_ that `localStorage()` is available. It can be absent in non-supported browsers, or when scripts are invoked from the command line, or when the user's browser is in Incognito Mode. Trying to access `localStorage()` when it's unavailable can spawn an `Error`. So it's best to test for its existence before attempting to access it.
## Usage
After installation, import the package:
```javascript
import { localStorageIsAvailable } from '@toolz/local-storage-is-available';
```
### localStorageIsAvailable()
`localStorageIsAvailable()` attempts to set-and-remove a value in `localStorage`, returning a Boolean value based on its failure or success.
```javascript
const API = {
arguments: {
// none
},
returns: Boolean,
}
```
**Examples:**
```javascript
localStorageIsAvailable(); // returns Boolean TRUE in "normal" browser situations
localStorageIsAvailable(); // returns Boolean FALSE when invoked outside a "normal" browser
// or when the browser can localStorage disabled (e.g., Incognito Mode)
```