Function
| Static Public Summary | ||
| public |
LoggerMiddleware(next: *): * |
|
| public |
TimerMiddleware(next: *): * |
|
| public |
addImportFunction(lib: string, func: function) Funcion que permite añadir librerias externas para cargar dinamicamente nuevos comandos y observadores la funcion recibe como parametro la ruta del fichero a cargar siguiendo el siguiente patron ${type}/${mapLib}@${version}/${action.key} y la funcion tiene que hacer el import dinamico import() |
|
| public |
addMapLibrary(name: *, func: *) |
|
| public |
func(type: *, mapLib: *, version: *, key: *) |
|
| public |
getAllActionsName(): Array<String|action> Recupera la lista de acciones registradas |
|
| public |
getAllFuctionsName(): Array<String|action> Recupera la lista de funciones registradas |
|
| public |
|
|
| public |
getSrc(): * |
|
| public |
async importMapLibrary(lib: *, options: {}): * |
|
| public |
isPromise(value: *): * |
|
| public |
loadCSS(href: *) |
|
| public |
loadGoogle(key: *) |
|
| public |
async loadLib(lib: *, mapLib: *, type: *, key: *, version: string): * |
|
| public |
observableStore(): * |
|
| public |
observerFrom(observerName: string | Array | Promise | Iterable | Observer, args: ...any): Observer Funcion que puede recibir un string con el nombre del obsevador que se quiere recuperar de los registrados o que puede recibir un Array, una promesa o un Iterable o otro Observebable sobre el que devuelve un observable con el CommandBus aplicado para poder invocar los comandos. |
|
| public |
registerAction(actionName: string, action: function, options: object) Permite registrar las acciones que luego se podra utilizar en @link {RxMap} o desde los Observadores
|
|
| public |
registerFunction(funcitonName: string, action: function, options: object) Permite registrar las funciones que luego se podra utilizar en @link {RxMap} |
|
| public |
registerLib(name: string, options: object{actions:Array,observers:Array}, func: Function(name:string)) Funcion que permite registrar librerias de Comandos y Observadores |
|
| public |
registerMiddleware(actionName: *, middlewares: ...*) funcion que permite registar los middlewares, para realizar acciones antes y depués de ejecutar una acción, se puden pasar mas de un middlleware . |
|
| public |
registerObserver(name: string, observer: function) Funcion que permite registrar los observadores que luego se podran utilzar desde el metodo RxMap.observer({name}). |
|
| public |
async rxMapFromConfig(id: *, config: *): * |
|
| public |
setProxy(obj: *) |
|
| public |
subscribe(func: *) |
|
Static Public
public LoggerMiddleware(next: *): * source
import {LoggerMiddleware} from '@rxmap/rxmap/RxMap/src/map/middlewares/logger.js'Params:
| Name | Type | Attribute | Description |
| next | * |
Return:
| * |
public TimerMiddleware(next: *): * source
import {TimerMiddleware} from '@rxmap/rxmap/RxMap/src/map/middlewares/logger.js'Params:
| Name | Type | Attribute | Description |
| next | * |
Return:
| * |
public addImportFunction(lib: string, func: function) source
import {addImportFunction} from '@rxmap/rxmap/RxMap/src/core/importLazyLoad.js'Funcion que permite añadir librerias externas para cargar dinamicamente nuevos comandos y observadores la funcion recibe como parametro la ruta del fichero a cargar siguiendo el siguiente patron ${type}/${mapLib}@${version}/${action.key} y la funcion tiene que hacer el import dinamico import()
Params:
| Name | Type | Attribute | Description |
| lib | string | Nombre de la libreria |
|
| func | function | Funcion a invocar |
Example:
RxMap.addImportLib('test',arg => import(`../lib/${arg}`));
public addMapLibrary(name: *, func: *) source
import {addMapLibrary} from '@rxmap/rxmap/RxMap/src/map/importMapLibrary.js'Params:
| Name | Type | Attribute | Description |
| name | * | ||
| func | * |
public func(type: *, mapLib: *, version: *, key: *) source
import {func} from '@rxmap/rxmap/RxMap/lib.js'Params:
| Name | Type | Attribute | Description |
| type | * | ||
| mapLib | * | ||
| version | * | ||
| key | * |
public getAllActionsName(): Array<String|action> source
import {getAllActionsName} from '@rxmap/rxmap/RxMap/src/core/registerAction.js'Recupera la lista de acciones registradas
Return:
| Array<String|action> |
public getAllFuctionsName(): Array<String|action> source
import {getAllFuctionsName} from '@rxmap/rxmap/RxMap/src/core/resgisterFunction.js'Recupera la lista de funciones registradas
Return:
| Array<String|action> |
public async importMapLibrary(lib: *, options: {}): * source
import importMapLibrary from '@rxmap/rxmap/RxMap/src/map/importMapLibrary.js'Params:
| Name | Type | Attribute | Description |
| lib | * | ||
| options | {} |
|
Return:
| * |
public isPromise(value: *): * source
import isPromise from '@rxmap/rxmap/RxMap/src/utils/isPromise.js'Params:
| Name | Type | Attribute | Description |
| value | * |
Return:
| * |
public loadCSS(href: *) source
import {loadCSS} from '@rxmap/rxmap/RxMap/src/core/importLazyLoad.js'Params:
| Name | Type | Attribute | Description |
| href | * |
public loadGoogle(key: *) source
import {loadGoogle} from '@rxmap/rxmap/RxMap/src/utils/google.js'Params:
| Name | Type | Attribute | Description |
| key | * |
public async loadLib(lib: *, mapLib: *, type: *, key: *, version: string): * source
import {loadLib} from '@rxmap/rxmap/RxMap/src/core/importLazyLoad.js'Params:
| Name | Type | Attribute | Description |
| lib | * | ||
| mapLib | * | ||
| type | * | ||
| key | * | ||
| version | string |
|
Return:
| * |
public observableStore(): * source
import observableStore from '@rxmap/rxmap/RxMap/src/core/observableStore.js'Return:
| * |
public observerFrom(observerName: string | Array | Promise | Iterable | Observer, args: ...any): Observer source
import {observerFrom} from '@rxmap/rxmap/RxMap/src/core/proxyObservable.js'Funcion que puede recibir un string con el nombre del obsevador que se quiere recuperar de los registrados o que puede recibir un Array, una promesa o un Iterable o otro Observebable sobre el que devuelve un observable con el CommandBus aplicado para poder invocar los comandos.
Al observador se le pueden pasar los argumentos que necesite.
Params:
| Name | Type | Attribute | Description |
| observerName | string | Array | Promise | Iterable | Observer | ||
| args | ...any |
Return:
| Observer |
Example:
// String
RxMap.observer('test')
.example('test')
.subscribe(console.log);
// Array
RxMap.observer([1,2,3,4,5])
.example('test')
.subscribe(console.log);
const $stream = from(['a','b','c']);
RxMap.observer($stream)
.example('test')
.subscribe(console.log);
public registerAction(actionName: string, action: function, options: object) source
import {registerAction} from '@rxmap/rxmap/RxMap/src/core/registerAction.js'Permite registrar las acciones que luego se podra utilizar en @link {RxMap} o desde los Observadores
@example // Registrar accion registerAction'test',arg=>console.log(arg));
// Utilizar el comando RxMap.test('asasfasdf'); RxMap.fromObserver(from(5)).test('asfadf').subscribe(console.log)
Params:
| Name | Type | Attribute | Description |
| actionName | string | Nombre de la accion a regitrar |
|
| action | function | Action a ejecutar |
|
| options | object |
|
Opciones para la accion |
public registerFunction(funcitonName: string, action: function, options: object) source
import {registerFunction} from '@rxmap/rxmap/RxMap/src/core/resgisterFunction.js'Permite registrar las funciones que luego se podra utilizar en @link {RxMap}
@example // Registrar accion registerFunction'test',arg=>console.log(arg));
// Utilizar el comando RxMap.test('asasfasdf');
Params:
| Name | Type | Attribute | Description |
| funcitonName | string | Nombre de la accion a regitrar |
|
| action | function | Action a ejecutar |
|
| options | object |
|
Opciones para la accion |
public registerLib(name: string, options: object{actions:Array,observers:Array}, func: Function(name:string)) source
import registerLib from '@rxmap/rxmap/RxMap/src/core/registerLib.js'Funcion que permite registrar librerias de Comandos y Observadores
Solo se registran los comamdos y los observadores que se pasen en los parametros, si ya existiera un comando o observador con el mismo nombre lo sobreescribiria.
La funcion recibira los parametros ( type, mapLib, version, key ) para indicar lo que se quiere recuperar. Y tiene que devolver de manera asyncrona( async, promise ) un objeto con la funcion del comando o el observador el valor "default" o en el valor del nombre del comando o observador. Esta funcion tiene que cargar el codigo en la aplicación la manera más aconsejado es con un import dynamico
Params:
| Name | Type | Attribute | Description |
| name | string | Nombre de la libreria a registrar |
|
| options | object{actions:Array,observers:Array} | Lista de comandos y Observadores de la lirberia |
|
| func | Function(name:string) | Funcion que se utilizara para cargar dynamicamente los comados y los Observadores |
Example:
Ejemplo de Funcion import dinamico
(type, mapLib, version, key) => import( `../lib/${type}/${mapLib}@${version}/${key}`));
public registerMiddleware(actionName: *, middlewares: ...*) source
import {registerMiddleware} from '@rxmap/rxmap/RxMap/src/core/middlewares.js'funcion que permite registar los middlewares, para realizar acciones antes y depués de ejecutar una acción, se puden pasar mas de un middlleware . El primer parametro es opcional y es el nombre de la acción sobre la que se va a aplicar el middleware, si no se pasa ningun nombre se aplicará sobre todas las acciones.
Params:
| Name | Type | Attribute | Description |
| actionName | * | ||
| middlewares | ...* |
Example:
registerMiddleware('test',middleware1,middleware2);
registerMiddleware(middleware1,middleware2);
Las funciones del midleware son funciones que revien la accion a ejecutar y devuelve una
función async que recibe como parametro el CommandBus y un array con los argumentos
La función tiene que hacer lo que quiera, ejecutar la acción, volver a ejecutar el código
que desee y devolver el resultado de la acción ejecutada.
const LoggerMiddleware = next => async (Map, args) => {
const actionName = Map.getActionName();
const now = new Date().getTime();
const name = `Command ${actionName} [${now}]: `;
console.log(`Pre ${name}`, args);
const res = await next(Map, args);
console.log(`Post ${name}`, res);
return res;
};
registerMiddleware(LoggerMiddleware);
public registerObserver(name: string, observer: function) source
import {registerObserver} from '@rxmap/rxmap/RxMap/src/core/registerObserver.js'Funcion que permite registrar los observadores que luego se podran utilzar desde el metodo RxMap.observer({name}). La funcion tiene que devolver un objeto observable de RxJs
Params:
| Name | Type | Attribute | Description |
| name | string | nombre del observador a registrar |
|
| observer | function | observador a implementar |
Example:
// Registrar observador
registerObserver('gps',()=>from('5'));
// Utilizar observador
RxMap.observer('gps').subscribe(cosole.log);
public async rxMapFromConfig(id: *, config: *): * source
import rxMapFromConfig from '@rxmap/rxmap/RxMap/src/map/config.js'Params:
| Name | Type | Attribute | Description |
| id | * | ||
| config | * |
Return:
| * |
public setProxy(obj: *) source
import setProxy from '@rxmap/rxmap/RxMap/src/core/proxyAction.js'Params:
| Name | Type | Attribute | Description |
| obj | * |
public subscribe(func: *) source
import {subscribe} from '@rxmap/rxmap/RxMap/src/core/middlewares.js'Params:
| Name | Type | Attribute | Description |
| func | * |
Reference
Source
Test
