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 | * |