MCPcopy Create free account
hub / github.com/HelloCSV/HelloCSV / calculateNewMappingsForCsvColumnMapingChanged

Function calculateNewMappingsForCsvColumnMapingChanged

src/mapper/utils.ts:78–96  ·  view source on GitHub ↗
(
  currentMapping: ColumnMapping[],
  csvColumnName: string,
  newCsvColumnMaping: MapperOptionValue | null
)

Source from the content-addressed store, hash-verified

76};
77
78export function calculateNewMappingsForCsvColumnMapingChanged(
79 currentMapping: ColumnMapping[],
80 csvColumnName: string,
81 newCsvColumnMaping: MapperOptionValue | null
82): ColumnMapping[] {
83 if (newCsvColumnMaping == null) {
84 return currentMapping.filter((m) => m.csvColumnName !== csvColumnName);
85 }
86
87 // Make sure we don't allow dupplicate mappings for the same sheet column
88 const mappingsForOtherSheets = currentMapping.filter(
89 (m) =>
90 (m.sheetId !== newCsvColumnMaping.sheetId ||
91 m.sheetColumnId !== newCsvColumnMaping.sheetColumnId) &&
92 m.csvColumnName !== csvColumnName
93 );
94
95 return [...mappingsForOtherSheets, { ...newCsvColumnMaping, csvColumnName }];
96}
97
98export function calculateMappingExamples(
99 data: CSVParsedData[],

Callers 1

HeaderMapperFunction · 0.90

Calls

no outgoing calls

Tested by

no test coverage detected