Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

microlinkhq/memoize-token

Repository files navigation

Last version NPM Status

A memoize library for refreshing and cache token values.

Install

$ npm install memoize-token --save

Usage

const memoizeToken = require('memoize-token')
let value = -1
const values = ['foo', 'bar']
const fn = memoizeToken(
 () => values[++value],
 { max: 2, key: 'test', cache }
)
;(async () => {
 await fn() // => 'foo'
 await fn() // => 'foo'
 await fn() // max excedeed, refresh the token => 'bar'
 await fn() // => 'bar'
})()

API

memoizeToken(fn, [options])

fn

Required
Type: Function

Function to be memoized and used for refreshing the token.

options

max

Required
Type: Number

Maximum numbers of calls after refresh the token.

key

Required
Type: String

The base key to use into the cache.

expire

Type: Number

Time in milliseconds to consider a token as expired.

cache

Type: Object
Default: new Map()

Use a different cache storage.

Must implement the following methods: .get(key) and .set(key, value), Check keyv to see database connectors.

Related

  • bottleneck – Job scheduler and rate limiter.
  • limiter – Provides a generic rate limiter and token bucket for Node.js.

License

memoize-token © microlink.io, released under the MIT License.
Authored and maintained by Kiko Beats with help from contributors.

microlink.io · GitHub microlink.io · Twitter @microlinkhq

About

A memoize library for refreshing and cache token values.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 4

AltStyle によって変換されたページ (->オリジナル) /