UNPKG

1.7 kBTypeScriptView Raw
1import { EventRegistrationManager } from "../registration/EventRegistrationManager";
2import { IngesterRegistrationManager } from "../registration/IngesterRegistrationManager";
3import { CommandRegistrationManager } from "./CommandRegistrationManager";
4import { ExtensionPack } from "./ExtensionPack";
5import { FunctionalUnit } from "./FunctionalUnit";
6import { GoalDrivenMachine } from "./GoalDrivenMachine";
7import { ListenerRegistrationManager } from "./ListenerRegistrationManager";
8import { SoftwareDeliveryMachineConfiguration } from "./SoftwareDeliveryMachineOptions";
9/**
10 * Class instantiated to create a **Software Delivery MachineConfiguration**.
11 * Combines commands and delivery event handling using _goals_.
12 *
13 * Goals and goal "implementations" can be defined by users.
14 *
15 * The most important element of a software delivery machine is setting
16 * zero or more _push rules_.
17 * This is normally done using an internal DSL
18 */
19export interface SoftwareDeliveryMachine<O extends SoftwareDeliveryMachineConfiguration = SoftwareDeliveryMachineConfiguration> extends GoalDrivenMachine<O>, ListenerRegistrationManager, CommandRegistrationManager, EventRegistrationManager, IngesterRegistrationManager, FunctionalUnit {
20 /**
21 * Add capabilities from these extension packs.
22 * This is the primary SDM extension
23 * mechanism. Extension packs are typically brought in as Node modules,
24 * and can contribute goals as well configure SDM behavior.
25 * @param {ExtensionPack} packs
26 * @return {this}
27 */
28 addExtensionPacks(...packs: ExtensionPack[]): this;
29 readonly extensionPacks: ReadonlyArray<ExtensionPack>;
30}
31//# sourceMappingURL=SoftwareDeliveryMachine.d.ts.map
\No newline at end of file