1.0.0 • Published 5 years ago

es6patterns v1.0.0

Weekly downloads
2
License
ISC
Repository
github
Last release
5 years ago

es6patterns

npm.io npm.io

Set of design patterns and similar utilities for EcmaScript6 syntax (for browsers and node.js).

Installation

~$ npm install --save es6patterns

Usage

Get the API:

Once you install the module, either with node.js, browserify, webpack, or simply a <script> tag in the html page, to get the API you can:

a) Via require/import, then:

const ES6Patterns = require("es6patterns");

b) Via <script src=...>, then:

const ES6Patterns = window.ES6PatternsAPI;

API


Singleton = ES6Patterns.Singleton

Type: Class

Description: A Singleton Pattern implementation scoped per context (window or global).


Singleton.getUniqueStore()

Access: Static

Type: Method

Returns: Object. The store with all the keys.

Description: This method returns the map that holds all the keys of the singleton store. This data is attached (indirectly) to the context, which is window or global. This method is aimed for internal usage but it is available for anyone too.


Singleton.getter(String:key, Function:initializer)

Access: Static

Type: Method

Parameter: String:key. Unique string identifier of the desired key.

Parameter: Function:initializer. Optional. Function that returns the initial value of the singleton if the key is not found in the store yet. By default: `() => undefined''.

Returns: Function. A getter for the value hold in the store identified by the key.

Description: This method returns a function that, when called, it returns the value of the store identified by the provided key. This method also provides a lazy-loading initialization of the singleton values, by default, which can be overriden calling set method whenever is desired..


Singleton.setter(String:key)

Type: Method

Access: Static

Parameter: String:key.

Returns: Function. A setter for the value hold in the store identified by the key.

Description: This method returns a function that, when called, it sets the value of the store identified by the provided key to the provided value. The function also returns the current value of the key in the store.


Singleton.get(key, initializer = () => undefined)

Type: Method

Access: Static

Parameter: String:key. Unique string identifier of the desired key.

Parameter: Function:initializer. Optional. Function that returns the initial value of the singleton if the key is not found in the store yet. By default: `() => undefined''.

Returns: Any. The new value of the key in the store.

Description: This method returns the value of the provided key in the store.


Singleton.set(String:key, Any:value)

Type: Method

Access: Static

Parameter: String:key. Unique string identifier of the desired key.

Parameter: Any:value. Optional. Function that returns the initial value of the singleton if the key is not found in the store yet. By default: `() => undefined''.

Returns: Any. The new value of the key in the store.

Description: This method sets the value to the provided key in the store.

Examples

The API is decoupled in different design patterns and similar utilities under the API object.

To see more of each example, take a look to the test folder. Tests are written using mocha and chai.

Commands

The commands of the project are the npm commands listed at package.json#scripts.

License

MIT License.

Conclusions

Soon, more.