UNPKG

open-lineage-client

Version:

TypeScript/JavaScript client for creating and sending OpenLineage standard events.

94 lines 2.44 kB
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