basic-collection
A generic collection class to contain array-like data.
Table of contents:
Installation
$ npm install basic-collection
Usage
You can load basic-collection
like a typical node module or using the global variable basicCollection
:
let Collection = ;// or...let Collection = windowbasicCollection;
Example 1: Basic usage
; let Collection = ; Collection;Collection;Collection; Collection; // value_1Collection; // value_2Collection; // default Collection; // trueCollection; // trueCollection; // false Collection;console; // 2console; // [ 'key_1', 1234567 ]console; // [ 'value_1', true ]console; // [ [ 'key_1', 'value_1' ], [ '1234567', 'true' ] ] Collection; Collectionclear;console; // 0
Example 2: Creating custom collections
; { super parameters ; } { return `transformed_`; }; let Collection = ; Collection;Collection; console;// => [ 'transformed_key_1', 'transformed_key_2' ]
Example 3: Filtering values
You can filter data using patterns. A pattern can contain wildcards. There are predefined wildcards by a basic collection:
[digit] // Match /([0-9]+)/
[alnum] // Match /([0-9A-Za-z]+)/
[alpah] // Match /([A-Za-z]+)/
[xdigit] // Match /([0-9A-Fa-f]+)/
[punct] // Match /([\p{P}\d]+)/
[print] // Match /([\x20-\x7e]*)/
[upper] // Match /([A-Z]+)/
[lower] // Match /([a-z]+)/
[all] // Match /(.*?)/
; let Collection = ; Collection;Collection;Collection;Collection; Collection;// => [ 'key_1', 'key_2' ] Collection;// => [ '1_abc', '2_def' ]
API
new BasicCollection( parameters )
Creates a new BasicCollection
instance with custom parameters in [ [ 'key1', 'value1' ], [ 'key2', 'value2' ] ]
format.
.normalize( key )
Normalizes data key.
.set( key, value )
Sets an attribute for the current collection. If the attribute name already exists, its value will be overwritten.
.get( key[, default] )
Returns an attribute of the collection or a default value if the key does not exist.
.has( key )
Checks if an attribute exists in the current collection.
.remove( key )
Removes an attribute from the current collection.
.clear()
Clears all values.
.each( callback )
Executes a callback for each element of this Collection.
.filterByKey( pattern )
Returns keys that match a pattern.
.filterByValue( pattern )
Returns values that match a pattern.
.size
Counts parameters.
.entries
Returns a new Iterator object that contains an array of [key, value]
for each element in the Collection in insertion order.
.keys
Returns a new Iterator object that contains the keys for each element in the Collection in insertion order.
.values
Returns a new Iterator object that contains the values for each element in the Collection in insertion order.
Tests
$ npm test