@kwirthmagnify/kwirth-common-back 0.5.45 → 0.5.46
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/dist/IPluvider.d.ts +53 -0
- package/dist/IPluvider.js +2 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { IProviderSubscriber, IProviderSubscriptionHelp } from './IProvider';
|
|
2
|
+
/**
|
|
3
|
+
* Lo que el gestor de extensiones y provider-debug enseñan de un pluvider. El consumidor de un
|
|
4
|
+
* pluvider es OTRO EQUIPO, asi que hace falta algo que mostrar sin leerse el codigo.
|
|
5
|
+
*/
|
|
6
|
+
export interface IPluviderData {
|
|
7
|
+
/** Que produce, en una linea. */
|
|
8
|
+
description: string;
|
|
9
|
+
/** Nombre del tipo del evento que emite (p.ej. 'IAgoraAlert'), para orientar al consumidor. */
|
|
10
|
+
eventTypeName?: string;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Un plugin que ADEMAS produce: expone in-process la informacion que ya genera, para que otros
|
|
14
|
+
* plugins se suscriban a ella. No es una segunda extension empaquetada dentro del plugin: lo
|
|
15
|
+
* implementa la MISMA clase del canal, sobre la misma instancia y los mismos datos.
|
|
16
|
+
*
|
|
17
|
+
* NO extiende IProvider a proposito. Un pluvider no pasa por la maquinaria de providers —no se mete
|
|
18
|
+
* en 'clusterInfo.providers', que es lo que recorren los bucles que montan routers, escriben
|
|
19
|
+
* 'apiKeyApi' o marcan 'started'—, asi que no tiene 'id', 'router', 'routerAlias', 'providesRouter',
|
|
20
|
+
* 'requiresApiKeyApi' ni 'apiKeyApi'.
|
|
21
|
+
*
|
|
22
|
+
* El id tampoco lo escribe el autor: lo compone el core como '<PLUVIDER_ID_PREFIX><channelId>', para
|
|
23
|
+
* que nadie se equivoque con el prefijo.
|
|
24
|
+
*
|
|
25
|
+
* 'TSub' es la forma del filtro de suscripcion. Como en los providers, cada pluvider decide si
|
|
26
|
+
* filtra y con que forma; si no filtra, se deja el generico sin especificar.
|
|
27
|
+
*
|
|
28
|
+
* Ejemplo:
|
|
29
|
+
*
|
|
30
|
+
* class AgoraChannel implements IChannel, IPluvider<IAgoraAlertSubscription> { … }
|
|
31
|
+
*/
|
|
32
|
+
export interface IPluvider<TSub = unknown> {
|
|
33
|
+
/**
|
|
34
|
+
* Metadatos del pluvider. Su PRESENCIA es la declaracion: un canal que implementa este metodo se
|
|
35
|
+
* ofrece como productor, y el core lo registra. No hay flags ni deteccion por duck-typing.
|
|
36
|
+
*/
|
|
37
|
+
getPluviderData(): IPluviderData;
|
|
38
|
+
addSubscriber(c: IProviderSubscriber, data: TSub): Promise<void>;
|
|
39
|
+
removeSubscriber(c: IProviderSubscriber): Promise<void>;
|
|
40
|
+
updateSubscription?(c: IProviderSubscriber, data: TSub): Promise<void>;
|
|
41
|
+
/**
|
|
42
|
+
* Arranca la produccion. El core lo llama en la fase de pluviders, es decir ANTES de
|
|
43
|
+
* 'startChannel()': el trabajo de fondo vive en este lado y el front se engancha despues.
|
|
44
|
+
*/
|
|
45
|
+
startProvider(): Promise<void>;
|
|
46
|
+
stopProvider(): Promise<void>;
|
|
47
|
+
/**
|
|
48
|
+
* Obligatorio, a diferencia del homonimo de IProvider, que es opcional. Un provider suele
|
|
49
|
+
* consumirlo quien lo escribio; un pluvider lo consume gente de fuera, y sin esto no tiene como
|
|
50
|
+
* saber que escribir en la suscripcion ni que va a recibir.
|
|
51
|
+
*/
|
|
52
|
+
getSubscriptionHelp(): IProviderSubscriptionHelp;
|
|
53
|
+
}
|
package/dist/index.d.ts
CHANGED
package/dist/index.js
CHANGED
|
@@ -19,6 +19,7 @@ __exportStar(require("./IFederation"), exports);
|
|
|
19
19
|
__exportStar(require("./ILogin"), exports);
|
|
20
20
|
__exportStar(require("./IChannel"), exports);
|
|
21
21
|
__exportStar(require("./IProvider"), exports);
|
|
22
|
+
__exportStar(require("./IPluvider"), exports);
|
|
22
23
|
__exportStar(require("./ISender"), exports);
|
|
23
24
|
__exportStar(require("./IWebhook"), exports);
|
|
24
25
|
__exportStar(require("./IIdpConnector"), exports);
|