arvo-core
Version:
This core package contains all the core classes and components of the Arvo Event Driven System
45 lines (44 loc) • 1.79 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.createArvoOrchestratorEventFactory = exports.createArvoEventFactory = void 0;
var _1 = __importDefault(require("."));
var Orchestrator_1 = require("./Orchestrator");
/**
* Creates an ArvoEventFactory for a specific version of a contract.
*
* @param contract - The versioned contract to create a factory for
* @returns An ArvoEventFactory instance for the specified contract version
*
* @example
* ```typescript
* const contract = createArvoContract({...});
* const v1Contract = contract.version('1.0.0');
* const factory = createArvoEventFactory(v1Contract);
* ```
*/
var createArvoEventFactory = function (contract) {
return new _1.default(contract);
};
exports.createArvoEventFactory = createArvoEventFactory;
/**
* Creates an ArvoOrchestratorEventFactory instance for handling orchestration events.
* Provides type-safe event creation with parent-child subject relationship handling.
*
* @param contract - The versioned contract for orchestration events
* @returns An ArvoOrchestratorEventFactory for creating orchestration events
*
* @example
* ```typescript
* const contract = createArvoOrchestratorContract({ ... });
* const factory = createArvoOrchestratorEventFactory(contract.version('1.0.0'));
* const event = factory.init({
* source: 'system',
* data: { parentSubject$$: null, data: 'value' }
* });
* ```
*/
var createArvoOrchestratorEventFactory = function (contract) { return new Orchestrator_1.ArvoOrchestratorEventFactory(contract); };
exports.createArvoOrchestratorEventFactory = createArvoOrchestratorEventFactory;