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