UNPKG

@eang/core

Version:

eang - model driven enterprise event processing

41 lines (40 loc) 1.22 kB
import { JetStreamPublishOptions, JsMsg } from '@nats-io/jetstream'; import { IFunctionStartContext } from '../eang-core.js'; import { Payload } from '@nats-io/nats-core'; import { Cnx, EangEventTypes, Obj } from './entity.js'; export interface IEangEvent { msg: JsMsg; subjectData: ISubjectData | ICnxSubjectData; entity: Obj | Cnx; eventType: EangEventTypes; context?: IFunctionStartContext; tenant: string; organizationalUnit: string; user: string; } export interface IEangOutMessage { subject: string; payload: Payload; opts: Partial<JetStreamPublishOptions>; } export declare function parseMsg(msg: JsMsg): IEangEvent; export interface ISubjectData { entityType: 'obj' | 'cnx'; tenant: string; organizationalUnit: string; user: string; typeOf: string; instanceOf: string; key: string; eventType: string; } export interface ICnxSubjectData extends ISubjectData { entityType: 'cnx'; fromObjTypeOf: string; fromObjInstanceOf: string; fromObjKey: string; toObjTypeOf: string; toObjInstanceOf: string; toObjKey: string; } export declare function parseSubjectData(subject: string): ISubjectData | ICnxSubjectData;