UNPKG

@integromat/proto

Version:
199 lines 6.55 kB
import { EventEmitter } from 'events'; import { DoneCallback, DoneWithReportCallback } from './types'; export type CommonData = Record<string, any>; export type ModuleData = Record<string, any>; export type Parameters = { host: string; } & Record<string, any>; export type ScenarioData = Record<string, any>; export type EnvironmentData = Record<string, any>; export type InternalData = Record<string, any>; export declare enum ModuleType { NONE = 0, TRIGGER = 1, TRANSFORMER = 2, ROUTER = 3, ACTION = 4, LISTENER = 5, FEEDER = 6, AGGREGATOR = 7, DIRECTIVE = 8, SEARCH = 9, CONVERGER = 10, HITL = 11, RETURNER = 12, PAUSER = 13, STARTER = 14, AGENT = 15, CONDITIONAL = 16 } export declare const moduleTypeNames: { 1: { readonly singular: "trigger"; readonly plural: "triggers"; }; 2: { readonly singular: "transformer"; readonly plural: "transformers"; }; 3: { readonly singular: "router"; readonly plural: "routers"; }; 4: { readonly singular: "action"; readonly plural: "actions"; }; 5: { readonly singular: "listener"; readonly plural: "listeners"; }; 6: { readonly singular: "feeder"; readonly plural: "feeders"; }; 7: { readonly singular: "aggregator"; readonly plural: "aggregators"; }; 8: { readonly singular: "directive"; readonly plural: "directives"; }; 9: { readonly singular: "search"; readonly plural: "searches"; }; 10: { readonly singular: "converger"; readonly plural: "convergers"; }; 11: { readonly singular: "hitl"; readonly plural: "hitls"; }; 12: { readonly singular: "returner"; readonly plural: "returners"; }; 13: { readonly singular: "pauser"; readonly plural: "pausers"; }; 14: { readonly singular: "starter"; readonly plural: "starters"; }; 15: { readonly singular: "agent"; readonly plural: "agents"; }; 16: { readonly singular: "conditional"; readonly plural: "conditionals"; }; }; /** * Base class for all Modules. * * @property scenario - Collection of scenario parameters. Read only. * @property common - Collection of common parameters. Read only. * @property data - Collection of data specific to one concrete occurance of this module in Scenario. * @property parameters - Collection of config parameters. Read only. * @property environment - Collection of environment variables. Read only. * @property type - Module type. Read only. * * @event log - Dispatched when message is about to be printed to info log. * @event warn - Dispatched when message is about to be printed to warning log. */ export declare class IMTBase extends EventEmitter { readonly type: ModuleType; static readonly MODULETYPE_NONE = ModuleType.NONE; static readonly MODULETYPE_TRIGGER = ModuleType.TRIGGER; static readonly MODULETYPE_TRANSFORMER = ModuleType.TRANSFORMER; static readonly MODULETYPE_ROUTER = ModuleType.ROUTER; static readonly MODULETYPE_ACTION = ModuleType.ACTION; static readonly MODULETYPE_LISTENER = ModuleType.LISTENER; static readonly MODULETYPE_FEEDER = ModuleType.FEEDER; static readonly MODULETYPE_AGGREGATOR = ModuleType.AGGREGATOR; static readonly MODULETYPE_DIRECTIVE = ModuleType.DIRECTIVE; static readonly MODULETYPE_CONVERGER = ModuleType.CONVERGER; static readonly MODULETYPE_HITL = ModuleType.HITL; static readonly MODULETYPE_PAUSER = ModuleType.PAUSER; static readonly MODULETYPE_RETURNER = ModuleType.RETURNER; static readonly MODULETYPE_STARTER = ModuleType.STARTER; static readonly MODULETYPE_AGENT = ModuleType.AGENT; static readonly MODULETYPE_CONDITIONAL = ModuleType.CONDITIONAL; common: CommonData | null; data: ModuleData | null; parameters: Parameters | null; scenario: ScenarioData | null; environment: EnvironmentData | null; internal: InternalData | null; /** * Initializes the module. Function that overrides should always call super. * * @callback done Callback to call when module is initialized. * @param {Error} err Error on error, otherwise null. */ initialize(done: DoneCallback): void; /** * Finalizes the module. Function that overrides should always call super. * * @callback done Callback to call when module is finalized. * @param {Error} err Error on error, otherwise null. */ finalize(done: DoneCallback): void; /** * Adds module to a shared transaction. * * @param {Number} [id] Transaction ID. If omited, new transaction ID is generated. * @return {Number} Transaction ID. */ addSharedTransaction(id: number): number; /** * Emit audit message to Engine log. The arguments provided are intended to be shown in the Audit Trail for Module Execution Logs * * @param {object} payload Payload to be added to the Module Execution Log */ audit(payload: Record<string, unknown>): void; /** * Commit all operations. * * @callback done Callback to call when operations are done. * @param {Error} err Error on error, otherwise null. * @param {Array} report Commit report (see docs). */ commit(done: DoneWithReportCallback): void; /** * Print debug message to Scenario info log. Debug messages are only visible to system administrators. * * @param {...*} message Message to be printed to Scenario info log. */ debug(...args: any[]): void; /** * Print message to Scenario info log. * * @param {...String|Warning|Error} message Message to be printed to Scenario info log. */ log(...args: any[]): void; /** * Reset the module so it can be reused again. */ reset(): void; /** * Rollback all operations. * * @callback done Callback to call when operations are done. * @param {Error} err Error on error, otherwise null. * @param {Array} report Rollback report (see docs). */ rollback(done: DoneWithReportCallback): void; /** * Print message to Scenario warning log. * * @param {...String} message Message to be printed to Scenario warning log. */ warn(...args: any[]): void; } //# sourceMappingURL=base.d.ts.map