26 lines
684 B
TypeScript
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
|
|
};
|
|
}
|