1.3.0 • Published 3 years ago

@divine-dkh/extended-map v1.3.0

Weekly downloads
-
License
ISC
Repository
github
Last release
3 years ago

ExtendedMap

Map with extended functionality

Installation

$ npm install @divine-dkh/extended-map

Example

'use strict'

const ExtendedMap = require('@divine-dkh/extended-map')

const map = new ExtendedMap([ [ 1, 1 ] ])

const main = async () => {
  console.log(map.get(1))
  console.log(map.get(2))
  console.log(map.get(2, () => 2))
  console.log(map.get(2))
  console.log(await map.get('resolves', () => Promise.resolve(3)))
  console.log(await map.get('resolves'))

  try {
    await map.get('rejects', () => Promise.reject(new Error()))
  } catch (error) {
    // rejected promises are deleted
    console.log(map.has('rejects'))
  }

  console.log(map)

  // => 1
  //    undefined
  //    2
  //    2
  //    4
  //    4
  //    false
  //    ExtendedMap(3) [Map] { 1 => 1, 2 => 2, 'resolves' => Promise { 3 } }
}

main()