memoize-token

1.1.11 • Public • Published
microlink logo microlink logo

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.

  • 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

Package Sidebar

Install

npm i memoize-token

Weekly Downloads

4

Version

1.1.11

License

MIT

Unpacked Size

6.86 kB

Total Files

4

Last publish

Collaborators

  • kikobeats