48 lines
993 B
Markdown
48 lines
993 B
Markdown
# BearMetalStore
|
|
|
|
A no-dep, lightweight, synchronous store for storing data in a JSON file.
|
|
|
|
## Usage
|
|
|
|
```ts
|
|
import { BearMetalStore } from "@bearmetal/store";
|
|
|
|
const store = new BearMetalStore();
|
|
|
|
store.set("key", "value");
|
|
|
|
console.log(store.get("key"));
|
|
|
|
store.close();
|
|
```
|
|
|
|
## API
|
|
|
|
### `new BearMetalStore(storePath?: string)`
|
|
|
|
Creates a new store.
|
|
|
|
#### Parameters
|
|
|
|
- `storePath?: string`
|
|
|
|
The path to the store file.
|
|
|
|
### Environment Variables
|
|
|
|
- `BEAR_METAL_STORE_PATH`
|
|
|
|
The path to the store file. Can be used instead of the `storePath` parameter.
|
|
If neither is provided, the store will be stored in `./BearMetal/store.json`.
|
|
|
|
### Events
|
|
|
|
The store will dispatch a custom event with the name
|
|
`"bm:refresh-store" + storePath` when the store is updated. This can be used to
|
|
trigger a refresh of the store in other parts of the application.
|
|
|
|
## Permisions
|
|
|
|
Read and write access to the store file is required. Environment access to the
|
|
"BEAR_METAL_STORE_PATH" variable is required.
|