@integromat/proto
Version:
Integromat Proto-Classes
199 lines • 6.55 kB
TypeScript
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