Assessor_2.0/src/importers/sheet-factory.ts

26 lines
684 B
TypeScript

import type { DatasetSheet } from '../domain/dataset';
import { analyzeRows } from '../analysis/schema-detector';
import { normalizeRows } from '../analysis/row-normalizer';
import { stableSheetId } from '../shared/identifiers';
export function makeSheet(
name: string,
rows: unknown[][],
raw: string,
sourceFile: string,
extra: Partial<DatasetSheet> = {},
highlightedRows?: boolean[]
): DatasetSheet {
const normalized = normalizeRows(rows);
return {
id: stableSheetId(sourceFile, name),
name,
rows: normalized,
raw,
sourceFile,
sourceSheet: name,
analysis: analyzeRows(normalized, name, sourceFile, highlightedRows),
...extra
};
}