open-lineage-client
Version:
TypeScript/JavaScript client for creating and sending OpenLineage standard events.
31 lines • 1.16 kB
JavaScript
import { ConsoleTransport } from './transports/ConsoleTransport.js';
import { getTransportFromFile } from './transports/Factory.js';
/**
* OpenLineageClient is responsible for emitting events to a specified transport.
*/
export class OpenLineageClient {
/**
* Constructs an OpenLineageClient instance.
* @param transport - A custom transport implementation (optional).
*/
constructor(transport = null) {
this.transport = transport || getTransportFromFile();
if (!this.transport) {
this.transport = new ConsoleTransport();
console.log('No transport provided, defaulting to console transport');
}
}
/**
* Emits an event using the configured transport.
* @param event - The event to emit.
* @returns A promise that resolves when the event is successfully emitted.
*/
async emit(event) {
if (!this.transport) {
this.transport = new ConsoleTransport();
console.log('No transport provided, defaulting to console transport');
}
return this.transport.emit(event);
}
}
//# sourceMappingURL=OpenLineageClient.js.map