es-patterns
v0.0.3
Published
The collection of usefull pre builded EcmaScript patterns and utilities.
Downloads
5
Readme
JS Patterns
The collection of usefull pre builded EcmaScript patterns and utilities.
This collection today is very small, but it will grow up in order of new features/tools developed.
All the features are written in ES6+, than, you could get the source code and use in your project, but, if you need run in browsers, the minified version is transpiled to ES5 by Babel.
Until this moment we don't use any testing library yet, but we have plans to add.
Modules:Observer
Methods
factory
: Build an observable itemnotify
: Notify an especific linstenerbroadcast
: Notify all listenersprint
: Print all observables registreredlog
: Instance of Log to control loggin in Observable
Example
// To register new Observer, you should use the factory, passing the respectives parameters
/**
* @param {string} listenner - Declare the name of listenner that will be observable by this function.
* @param {function} exec - Declare the function executed when listenner was trigged.
* @param {?boolean} removeOnCall - Declare if after notified the observable should be removed.
* @returns {Observable} A builded return {@link Observable}
*/
Observable returnedObject = Observer.factory([...params]);
// The object returned by the factory
/**
* @typedef {Object} Observable
* @property {ObservableItem} item - return {@link ObservableItem}.
* @property {function} subscribe - Do a subscribe of build item
* @property {function} unsubscribe - Do a unsubscribe of build item
*/
// Example of use:
const {subscribe, unsubscribe} = Observer.factory('test', e => console.log(e));
// Do a subscribe of obserser
subscribe();
// Print all observers registered
Observer.print();
// Notify an listener passing a data object
Observer.notify('test', {...data});
// Do a unsubscribe of obserser
unsubscribe();
// Notify all observer registereds passing a data object
Observer.broadcast('aaaa');
Modules:Log
Methods
debug
: Print a "debug" log level if enablesetDebug
: Enabled/Disable log debugerror
: Print a "error" log level if enablesetError
: Enabled/Disable log errorwarn
: Print a "warn" log level if enablesetWarn
: Enabled/Disable log warninfo
: Print a "info" log level if enablesetInfo
: Enabled/Disable log infoconfig
: Print the current config
Example
// Enabled debug
log.setDebug(true);
// Print a simple debug
log.debug('DEBUG -> Test simple');
// Print a debug with params
log.debug('DEBUG -> Test with param {0}', 'success');
// Disabled debug
log.setDebug(false);
//Obs: All the method have the same use exemplified here with the debug
Util:MessageFormat
// const fmt = require('./MessageFormat');
var fmt = MessageFormat;
fmt("Message with args: '{0}'", test);
// -> Message with args 'test'
Util:Storage
Polifill to use LocalStorage in anywhere