@esfaenza/extensions 11.2.22 → 11.2.23
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundles/esfaenza-extensions.umd.js +76 -4
- package/bundles/esfaenza-extensions.umd.js.map +1 -1
- package/bundles/esfaenza-extensions.umd.min.js +1 -1
- package/bundles/esfaenza-extensions.umd.min.js.map +1 -1
- package/esfaenza-extensions.metadata.json +1 -1
- package/esm2015/lib/models/InboundMessageTypes.js +7 -0
- package/esm2015/lib/models/InterComMessage.js +14 -0
- package/esm2015/lib/modules/extensions.full.module.js +4 -1
- package/esm2015/lib/services/extensions.intercom.service.js +50 -0
- package/esm2015/public-api.js +5 -1
- package/fesm2015/esfaenza-extensions.js +70 -1
- package/fesm2015/esfaenza-extensions.js.map +1 -1
- package/lib/models/InboundMessageTypes.d.ts +5 -0
- package/lib/models/InterComMessage.d.ts +12 -0
- package/lib/modules/extensions.full.module.d.ts +1 -0
- package/lib/services/extensions.intercom.service.d.ts +25 -0
- package/package.json +1 -1
- package/public-api.d.ts +4 -0
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/** Classe che rappresenta un generico messaggio scambiato fra applicazione e moduli */
|
|
2
|
+
export declare class InterComMessage {
|
|
3
|
+
type: any;
|
|
4
|
+
message: any;
|
|
5
|
+
/**
|
|
6
|
+
* Costruttore
|
|
7
|
+
*
|
|
8
|
+
* @param type Tipo di messaggio
|
|
9
|
+
* @param message Contenuto del messaggio
|
|
10
|
+
*/
|
|
11
|
+
constructor(type: any, message: any);
|
|
12
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { Subject } from "rxjs";
|
|
2
|
+
import { InterComMessage } from "../models/InterComMessage";
|
|
3
|
+
/** Service che si occupa di gestire la comunicazione fra i moduli interni ed esterni dell'applicativo */
|
|
4
|
+
export declare class InterComService {
|
|
5
|
+
/** Messaggi in uscita, uno per ogni recipient registratosi dall'entrypoint **register** */
|
|
6
|
+
outbounds: {
|
|
7
|
+
[id: string]: Subject<InterComMessage>;
|
|
8
|
+
};
|
|
9
|
+
/** Messaggi in entrata, unico per applicazione principale */
|
|
10
|
+
inbounds: Subject<InterComMessage>;
|
|
11
|
+
/**
|
|
12
|
+
* Metodo che permette di inviare un messaggio dall'applicazione ad un modulo esterno o viceversa
|
|
13
|
+
*
|
|
14
|
+
* @param {any} messageType Tipologia di messaggio. Sarà di tipo **InboundMessageTypes** per tutti i messaggi inbound, dinamico per tutti i mesaggi outbound (il tipo dipenderà dagli enum dei messaggi dei moduli esterni)
|
|
15
|
+
* @param {any} message Messaggio da inviare che può essere un dto in casi complessi ma dovrà essere gestito a dovere lato implementativo
|
|
16
|
+
* @param {string} recipient Destinatario del messaggio. Per i messaggi inbound dev'essere lasciato vuoto, per i messaggi outbound sarà valorizzato alla chiave del modulo a cui si vuole inviare il messaggio
|
|
17
|
+
*/
|
|
18
|
+
send(messageType: any, message: any, recipient?: string): void;
|
|
19
|
+
/**
|
|
20
|
+
* Permette di registrare un modulo esterno alla lista dei moduli in listening sulla coda di messaggi
|
|
21
|
+
*
|
|
22
|
+
* @param {string} key Chiave del modulo da registrare. Tutti i messaggi inbound saranno inviati dall'applicazione principale su questa chiave
|
|
23
|
+
*/
|
|
24
|
+
register(key: string): void;
|
|
25
|
+
}
|
package/package.json
CHANGED
package/public-api.d.ts
CHANGED
|
@@ -10,3 +10,7 @@ export * from './lib/tokens';
|
|
|
10
10
|
export * from './lib/models/CallResult';
|
|
11
11
|
export * from './lib/models/CsvHeaders';
|
|
12
12
|
export * from './lib/models/GenericItem';
|
|
13
|
+
/** Intercom */
|
|
14
|
+
export * from './lib/models/InboundMessageTypes';
|
|
15
|
+
export * from './lib/models/InterComMessage';
|
|
16
|
+
export * from './lib/services/extensions.intercom.service';
|