Skip to content

itavy/extended-map

Repository files navigation

ExtendedMap

This is a module extendeds native Map providing some extra features:

  • return default value if the requested key does not exist
  • protect against overrite of existing keys

Instalation

npm install @itavy/extended-map

Quick Example

const ExtendedMap = require('@itavy/extended-map').ExtendedMap;
const eMap = new ExtendedMap({
  defaultValue: 'myDefaultValue'
});

console.log('return value:', eMap.get('unknownkey'));

this will produce:

return value: myDefaultValue

API

Objects

itavy/extended-map : object

Typedefs

ExtendedMapOptions : Object

itavy/extended-map : object

Kind: global namespace

itavy/extended-map.ExtendedMap

ExtendedMap native map wth a few enhancements

Kind: static class of itavy/extended-map

new ExtendedMap([options])

Param Type Default Description
[options] itavy/extended-map.ExtendedMapOptions {} Map options

extendedMap.get()

Wrapper for get if no value is found then default value will be returned

Kind: instance method of ExtendedMap
Access: public
See: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map/get

extendedMap.set()

Wrapper for set if override is not allowed it will throw an error

Kind: instance method of ExtendedMap
Access: public
See: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map/get

itavy/extended-map.PromisedExtendedMap

ExtendedMap native map wth a few enhancements

Kind: static class of itavy/extended-map

new PromisedExtendedMap([options])

Param Type Default Description
[options] itavy/extended-map.ExtendedMapOptions {} Map options

promisedExtendedMap.defaultValue : *

Default value for non existing keys

Kind: instance property of PromisedExtendedMap
Default: undefined
Read only: true

promisedExtendedMap.allowOverrite : Boolean

Allow updating the keys

Kind: instance property of PromisedExtendedMap
Default: true
Read only: true

promisedExtendedMap.doNotRejectHas : Boolean

Weather to reject or not if the key does not exist

Kind: instance property of PromisedExtendedMap
Default: false
Read only: true

promisedExtendedMap.doNotRejectDelete : Boolean

Weather to reject or not if key to be deleted does not exist

Kind: instance property of PromisedExtendedMap
Default: false
Read only: true

promisedExtendedMap.get() ⇒ Promise.<*>

Promisified wrapper for get

Kind: instance method of PromisedExtendedMap
Returns: Promise.<*> - resolves with requested value or default value if none found
Access: public

promisedExtendedMap.set() ⇒ Promise.<PromisedExtendedMap>

Promisified wrapper for set it will resolve

Kind: instance method of PromisedExtendedMap
Returns: Promise.<PromisedExtendedMap> - resolves with the new map if overriting is allowed or the key does not exists, otherwise it will reject with an error
Access: public

promisedExtendedMap.has() ⇒ Promise.<Boolean>

Promisified wrapper for has

Kind: instance method of PromisedExtendedMap
Returns: Promise.<Boolean> - resolves with true if key exists or with false if doNotRejectHas is set otherwise it will reject with an error
Access: public

promisedExtendedMap.clear() ⇒ Promise.<undefined>

Promisified wrapper for clear

Kind: instance method of PromisedExtendedMap
Returns: Promise.<undefined> - resolves on success
Access: public

promisedExtendedMap.delete() ⇒ Promise.<Boolean>

Promisified wrapper for delete

Kind: instance method of PromisedExtendedMap
Returns: Promise.<Boolean> - resolves with true if key has been removed or with false if doNotRejectDelete is set otherwise it will reject with an error
Access: public

promisedExtendedMap.values() ⇒ Promise.<Iterator>

Promisified wrapper for values

Kind: instance method of PromisedExtendedMap
Returns: Promise.<Iterator> - resolves on success
Access: public

promisedExtendedMap.valuesAsArray() ⇒ Promise.<Array>

Iterate over all values and put them into an array

Kind: instance method of PromisedExtendedMap
Returns: Promise.<Array> - resolves with an array with all values

promisedExtendedMap.keys() ⇒ Promise.<Iterator>

Promisified wrapper for keys

Kind: instance method of PromisedExtendedMap
Returns: Promise.<Iterator> - resolves on success
Access: public

promisedExtendedMap.keysAsArray() ⇒ Promise.<Array>

Iterate over all keys and put them into an array

Kind: instance method of PromisedExtendedMap
Returns: Promise.<Array> - resolves with an array with all keys

promisedExtendedMap.entries() ⇒ Promise.<Iterator>

Promisified wrapper for entries

Kind: instance method of PromisedExtendedMap
Returns: Promise.<Iterator> - resolves on success
Access: public

promisedExtendedMap.entriesAsArray() ⇒ Promise.<Array>

Iterate over all elements and put them into an array

Kind: instance method of PromisedExtendedMap
Returns: Promise.<Array> - resolves with an array with all elements

promisedExtendedMap.forEach() ⇒ Promise.<undefined>

Promisified wrapper for forEach

Kind: instance method of PromisedExtendedMap
Returns: Promise.<undefined> - resolves on success
Access: public

ExtendedMapOptions : Object

Kind: global typedef
Properties

Name Type Default Description
defaultValue * default value to return when none is found
allowOverrite Boolean true if it is allowed to overrite an existing key

Usage

see Example

TODO

  • refactor jsdoc
  • add examples
  • promisify some methods

LICENSE

MIT

About

Extended Map for js

Resources

License

Stars

Watchers

Forks

Packages

No packages published