google-sheets-mapper
Version:
### A library for getting data from Google Sheets API v4
24 lines (20 loc) • 650 B
text/typescript
import { MapperOptions, MapperState, ValueRangesResponse } from './types';
import { fetchBatchData, fetchAllSheetsData, mapData } from './utils';
const GoogleSheetsMapper = {
async fetchGoogleSheetsData({
apiKey,
sheetId,
sheetsNames = [],
}: MapperOptions): Promise<MapperState[]> {
try {
const response: ValueRangesResponse =
sheetsNames.length === 0
? await fetchAllSheetsData({ apiKey, sheetId })
: await fetchBatchData({ apiKey, sheetId, sheetsNames });
return mapData(response.valueRanges);
} catch (error) {
throw error;
}
},
};
export default GoogleSheetsMapper;