Fish's memory is only 7 seconds - localStorage based Object storage with auto cache time.
You can install FishStore from npm:
# Via pnpm
pnpm add fish-store
# Using yarn? OK
yarn add fish-store
# Or just using npm
npm install fish-store
Then import it to your project
import { FishStore } from 'fish-store'
const store = new FishStore('wuchang-fish', 7e3)
You can include the script directly in your HTML file:
<!-- e.g. unpkg -->
<script src="https://unpkg.com/fish-store"></script>
<script>
const store = FishStore.createStore('bass', 7e3)
</script>
Or...why not ESM:
<script>
import('https://unpkg.com/fish-store/dist/index.mjs').then(
({ FishStore }) => {
// ...
}
)
</script>
import { FishStore } from 'fish-store'
interface Fish {
type: string
kg: number
}
const weel = new FishStore<Fish[]>('my-weel', 10 * 60 * 1000) // create a store with 10 minutes cache
async function lookingMyWeel(): Fish[] {
const cached = weel.getItem() // or `const cached = weel.value`
if (cached) {
return cached
}
const fishes = await fishing()
weel.setItem(fishes) // or `weel.value = fishes`
return fishes
}
Create a store with given namespace
& maxAge
(in millisecond, defaults to 7e3
).
name
: the namespace of the storemaxAge
: the max age of the cache0
/Infinity
: never expire
Sugar
// also called `createStore`
function createWeel(name: string, maxAge?: number): FishStore
Returns the stored data. null
if expired.
Set data and refresh the cache time.
Remove related data.
- get
value
: same asgetItem
- set
value
: same assetItem
MIT License
Copyright (c) 2023 机智的小鱼君 (A.K.A. Dragon-Fish)