{"version":3,"file":"index.d.cts","sources":["../src/types.ts","../src/index.ts"],"sourcesContent":["export interface SheetsOption {\n  id: string;\n  headerRowIndex?: number;\n}\n\nexport interface MapperOptions {\n  apiKey: string;\n  sheetId: string;\n  sheetsOptions?: SheetsOption[];\n}\n\nexport interface ValueRange {\n  majorDimensions: string;\n  range: string;\n  values: string[][];\n}\n\nexport interface ValueRangesResponse {\n  spreadsheetId: string;\n  valueRanges: ValueRange[];\n}\n\nexport interface PropertiesFromResponse {\n  title: string;\n}\n\nexport interface SheetFromResponse {\n  properties: PropertiesFromResponse;\n}\n\nexport interface SheetsResponse {\n  sheets: SheetFromResponse[];\n}\n\nexport interface MapperState {\n  id: string;\n  data: Record<string, string>[];\n}\n","import type { MapperOptions, MapperState, ValueRangesResponse } from \"./types\";\nimport { fetchBatchData, fetchAllSheetsData, mapData } from \"./utils\";\n\nconst GoogleSheetsMapper = {\n  async fetchGoogleSheetsData({\n    apiKey,\n    sheetId,\n    sheetsOptions = [],\n  }: MapperOptions): Promise<MapperState[]> {\n    const response: ValueRangesResponse =\n      sheetsOptions.length === 0\n        ? await fetchAllSheetsData({ apiKey, sheetId })\n        : await fetchBatchData({ apiKey, sheetId, sheetsOptions });\n    return mapData({ sheets: response.valueRanges, sheetsOptions });\n  },\n};\n\nexport default GoogleSheetsMapper;\nexport const fetchGoogleSheetsData = GoogleSheetsMapper.fetchGoogleSheetsData;\n"],"names":[],"mappings":"AAAO,UAAA,YAAA;AACP;AACA;AACA;AACO,UAAA,aAAA;AACP;AACA;AACA,oBAAA,YAAA;AACA;AAmBO,UAAA,WAAA;AACP;AACA,UAAA,MAAA;AACA;;AC7BA,cAAA,kBAAA;AACA,+DAAA,aAAA,GAAA,OAAA,CAAA,WAAA;AACA;;AAEO,cAAA,qBAAA,wCAAA,aAAA,KAAA,OAAA,CAAA,WAAA;;;;"}