open-lineage-client
Version:
TypeScript/JavaScript client for creating and sending OpenLineage standard events.
94 lines • 2.44 kB
JavaScript
import { InputDatasetFacets, DataQualityMetrics, ColumnMetrics, } from '../facets/InputDatasetFacets.js';
/**
* Builder for creating InputDatasetFacets instances.
*/
export class InputDatasetFacetsBuilder {
constructor() {
this.dataQualityMetrics = null;
}
setDataQualityMetrics(dataQualityMetrics) {
this.dataQualityMetrics = dataQualityMetrics;
return this;
}
build() {
return new InputDatasetFacets(this.dataQualityMetrics);
}
}
/**
* Builder for creating DataQualityMetrics instances.
*/
export class DataQualityMetricsBuilder {
constructor(producer, schemaURL) {
this.columnMetrics = {};
this.rowCount = null;
this.bytes = null;
this.fileCount = null;
this.producer = producer;
this.schemaURL = schemaURL;
}
addColumnMetrics(key, columnMetrics) {
this.columnMetrics[key] = columnMetrics;
return this;
}
setRowCount(rowCount) {
this.rowCount = rowCount;
return this;
}
setBytes(bytes) {
this.bytes = bytes;
return this;
}
setFileCount(fileCount) {
this.fileCount = fileCount;
return this;
}
build() {
return new DataQualityMetrics(this.producer, this.schemaURL, this.columnMetrics, this.rowCount, this.bytes, this.fileCount);
}
}
/**
* Builder for creating ColumnMetrics instances.
*/
export class ColumnMetricsBuilder {
constructor() {
this.nullCount = 0;
this.distinctCount = 0;
this.sum = 0;
this.count = 0;
this.min = 0;
this.max = 0;
this.quantiles = {};
}
setNullCount(nullCount) {
this.nullCount = nullCount;
return this;
}
setDistinctCount(distinctCount) {
this.distinctCount = distinctCount;
return this;
}
setSum(sum) {
this.sum = sum;
return this;
}
setCount(count) {
this.count = count;
return this;
}
setMin(min) {
this.min = min;
return this;
}
setMax(max) {
this.max = max;
return this;
}
addQuantile(key, value) {
this.quantiles[key] = value;
return this;
}
build() {
return new ColumnMetrics(this.nullCount, this.distinctCount, this.sum, this.count, this.min, this.max, this.quantiles);
}
}
//# sourceMappingURL=InputDatasetFacetsBuilder.js.map