open-lineage-client
Version:
TypeScript/JavaScript client for creating and sending OpenLineage standard events.
27 lines • 861 B
JavaScript
import { DatasetEvent } from '../events/DatasetEvent.js';
import { validateEvent } from '../utils/utils.js';
/**
* Builder for creating DatasetEvent instances.
*/
export class DatasetEventBuilder {
constructor(eventTime, producer, schemaURL) {
this.eventTime = eventTime;
this.producer = producer;
this.schemaURL = schemaURL;
}
setDataset(dataset) {
this.dataset = dataset;
return this;
}
build() {
if (!this.dataset) {
throw new Error('DatasetEvent requires "dataset" to be set');
}
const event = new DatasetEvent(this.eventTime, this.producer, this.schemaURL, this.dataset);
if (validateEvent(event)) {
return event;
}
throw new Error('DatasetEvent validation failed');
}
}
//# sourceMappingURL=DatasetEventBuilder.js.map