Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

enmap

Package Overview
Dependencies
Maintainers
1
Versions
172
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

enmap

  • 0.3.0
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
0
Maintainers
1
Weekly downloads
 
Created
Source

Enmap - Enhanced Maps

Enmap ⇐ Map

Enhanced Map structure with additional utility methods. Can be made persistent using an underlying level database.

Kind: global class
Extends: Map

enmap.init() ⇒ Void

Internal method called on persistent Enmaps to load data from the underlying database.

Kind: instance method of Enmap

enmap.validateName() ⇒ boolean

Internal method used to validate persistent enmap names (valid Windows filenames);

Kind: instance method of Enmap
Returns: boolean - Indicates whether the name is valid.

enmap.close()

Shuts down the underlying persistent enmap database.

Kind: instance method of Enmap

enmap.set(key, val) ⇒ Map

Kind: instance method of Enmap
Returns: Map - The EnMap object.

ParamTypeDescription
key*Required. The key of the element to add to the EnMap object. If the EnMap is persistent this value MUST be a string or number.
val*Required. The value of the element to add to the EnMap object. If the EnMap is persistent this value MUST be stringifiable as JSON.

enmap.setAsync(key, val) ⇒ Map

Kind: instance method of Enmap
Returns: Map - The EnMap object.

ParamTypeDescription
key*Required. The key of the element to add to the EnMap object. If the EnMap is persistent this value MUST be a string or number.
val*Required. The value of the element to add to the EnMap object. If the EnMap is persistent this value MUST be stringifiable as JSON.

enmap.delete(key, bulk)

Kind: instance method of Enmap

ParamTypeDefaultDescription
key*Required. The key of the element to delete from the EnMap object.
bulkbooleanfalseInternal property used by the purge method.

enmap.deleteAsync(key, bulk)

Kind: instance method of Enmap

ParamTypeDefaultDescription
key*Required. The key of the element to delete from the EnMap object.
bulkbooleanfalseInternal property used by the purge method.

enmap.purge() ⇒ Promise

Completely deletes all keys from an EnMap, including persistent data.

Kind: instance method of Enmap

enmap.array() ⇒ Array

Creates an ordered array of the values of this Enmap, and caches it internally. The array will only be reconstructed if an item is added to or removed from the Enmap, or if you change the length of the array itself. If you don't want this caching behaviour, use Array.from(enmap.values()) instead.

Kind: instance method of Enmap

enmap.keyArray() ⇒ Array

Creates an ordered array of the keys of this Enmap, and caches it internally. The array will only be reconstructed if an item is added to or removed from the Enmap, or if you change the length of the array itself. If you don't want this caching behaviour, use Array.from(enmap.keys()) instead.

Kind: instance method of Enmap

enmap.first([count]) ⇒ * | Array.<*>

Obtains the first value(s) in this Enmap.

Kind: instance method of Enmap
Returns: * | Array.<*> - The single value if count is undefined, or an array of values of count length

ParamTypeDescription
[count]numberNumber of values to obtain from the beginning

enmap.firstKey([count]) ⇒ * | Array.<*>

Obtains the first key(s) in this Enmap.

Kind: instance method of Enmap
Returns: * | Array.<*> - The single key if count is undefined, or an array of keys of count length

ParamTypeDescription
[count]numberNumber of keys to obtain from the beginning

enmap.last([count]) ⇒ * | Array.<*>

Obtains the last value(s) in this Enmap. This relies on array, and thus the caching mechanism applies here as well.

Kind: instance method of Enmap
Returns: * | Array.<*> - The single value if count is undefined, or an array of values of count length

ParamTypeDescription
[count]numberNumber of values to obtain from the end

enmap.lastKey([count]) ⇒ * | Array.<*>

Obtains the last key(s) in this Enmap. This relies on keyArray, and thus the caching mechanism applies here as well.

Kind: instance method of Enmap
Returns: * | Array.<*> - The single key if count is undefined, or an array of keys of count length

ParamTypeDescription
[count]numberNumber of keys to obtain from the end

enmap.random([count]) ⇒ * | Array.<*>

Obtains random value(s) from this Enmap. This relies on array, and thus the caching mechanism applies here as well.

Kind: instance method of Enmap
Returns: * | Array.<*> - The single value if count is undefined, or an array of values of count length

ParamTypeDescription
[count]numberNumber of values to obtain randomly

enmap.randomKey([count]) ⇒ * | Array.<*>

Obtains random key(s) from this Enmap. This relies on keyArray, and thus the caching mechanism applies here as well.

Kind: instance method of Enmap
Returns: * | Array.<*> - The single key if count is undefined, or an array of keys of count length

ParamTypeDescription
[count]numberNumber of keys to obtain randomly

enmap.findAll(prop, value) ⇒ Array

Searches for all items where their specified property's value is identical to the given value (item[prop] === value).

Kind: instance method of Enmap

ParamTypeDescription
propstringThe property to test against
value*The expected value

Example

enmap.findAll('username', 'Bob');

enmap.find(propOrFn, [value]) ⇒ *

Searches for a single item where its specified property's value is identical to the given value (item[prop] === value), or the given function returns a truthy value. In the latter case, this is identical to Array.find(). All Enmap used in Discord.js are mapped using their id property, and if you want to find by id you should use the get method. See MDN for details.

Kind: instance method of Enmap

ParamTypeDescription
propOrFnstring | functionThe property to test against, or the function to test with
[value]*The expected value - only applicable and required if using a property for the first argument

Example

enmap.find('username', 'Bob');

Example

enmap.find(val => val.username === 'Bob');

enmap.exists(prop, value) ⇒ boolean

Searches for the existence of a single item where its specified property's value is identical to the given value (item[prop] === value). Do not use this to check for an item by its ID. Instead, use enmap.has(id). See MDN for details.

Kind: instance method of Enmap

ParamTypeDescription
propstringThe property to test against
value*The expected value

Example

if (enmap.exists('username', 'Bob')) {
 console.log('user here!');
}

enmap.filter(fn, [thisArg]) ⇒ Enmap

Identical to Array.filter(), but returns a Enmap instead of an Array.

Kind: instance method of Enmap

ParamTypeDescription
fnfunctionFunction used to test (should return a boolean)
[thisArg]ObjectValue to use as this when executing function

enmap.filterArray(fn, [thisArg]) ⇒ Array

Identical to Array.filter().

Kind: instance method of Enmap

ParamTypeDescription
fnfunctionFunction used to test (should return a boolean)
[thisArg]ObjectValue to use as this when executing function

enmap.map(fn, [thisArg]) ⇒ Array

Identical to Array.map().

Kind: instance method of Enmap

ParamTypeDescription
fnfunctionFunction that produces an element of the new array, taking three arguments
[thisArg]*Value to use as this when executing function

enmap.some(fn, [thisArg]) ⇒ boolean

Identical to Array.some().

Kind: instance method of Enmap

ParamTypeDescription
fnfunctionFunction used to test (should return a boolean)
[thisArg]ObjectValue to use as this when executing function

enmap.every(fn, [thisArg]) ⇒ boolean

Identical to Array.every().

Kind: instance method of Enmap

ParamTypeDescription
fnfunctionFunction used to test (should return a boolean)
[thisArg]ObjectValue to use as this when executing function

enmap.reduce(fn, [initialValue]) ⇒ *

Identical to Array.reduce().

Kind: instance method of Enmap

ParamTypeDescription
fnfunctionFunction used to reduce, taking four arguments; accumulator, currentValue, currentKey, and enmap
[initialValue]*Starting value for the accumulator

enmap.clone() ⇒ Enmap

Creates an identical shallow copy of this Enmap.

Kind: instance method of Enmap
Example

const newColl = someColl.clone();

enmap.concat(...enmaps) ⇒ Enmap

Combines this Enmap with others into a new Enmap. None of the source Enmaps are modified.

Kind: instance method of Enmap

ParamTypeDescription
...enmapsEnmapEnmaps to merge

Example

const newColl = someColl.concat(someOtherColl, anotherColl, ohBoyAColl);

enmap.deleteAll() ⇒ Array.<Promise>

Calls the delete() method on all items that have it.

Kind: instance method of Enmap

enmap.equals(enmap) ⇒ boolean

Checks if this Enmap shares identical key-value pairings with another. This is different to checking for equality using equal-signs, because the Enmaps may be different objects, but contain the same data.

Kind: instance method of Enmap
Returns: boolean - Whether the Enmaps have identical contents

ParamTypeDescription
enmapEnmapEnmap to compare with

enmap.sort([compareFunction]) ⇒ Enmap

The sort() method sorts the elements of a Enmap in place and returns the Enmap. The sort is not necessarily stable. The default sort order is according to string Unicode code points.

Kind: instance method of Enmap

ParamTypeDescription
[compareFunction]functionSpecifies a function that defines the sort order. if omitted, the Enmap is sorted according to each character's Unicode code point value, according to the string conversion of each element.

FAQs

Package last updated on 18 Sep 2017

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc