Skip to content

Commit

Permalink
refactor: rename googleSpreadsheet to privateGoogleSheetsParser
Browse files Browse the repository at this point in the history
  • Loading branch information
Gumball12 committed Mar 10, 2024
1 parent e173e46 commit 48ae9cc
Show file tree
Hide file tree
Showing 4 changed files with 25 additions and 19 deletions.
6 changes: 3 additions & 3 deletions src/__tests__/parser.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ import PublicGoogleSheetsParser from 'public-google-sheets-parser';

import {
publicGoogleSheetsParser,
googleSpreadsheet,
privateGoogleSheetsParser,
filledDataToObject,
} from '../parser';

Expand Down Expand Up @@ -102,7 +102,7 @@ describe.skipIf(!hasPrivate)('GoogleSpreadsheet', () => {

const sheetInstance = doc.sheetsByIndex[0];

const parsed = await googleSpreadsheet(sheetInstance, {
const parsed = await privateGoogleSheetsParser(sheetInstance, {
path: ['Key', 'Property'],
typeName: 'Type',
})();
Expand All @@ -117,7 +117,7 @@ describe.skipIf(!hasPrivate)('GoogleSpreadsheet', () => {
scopes: PRIVATE_SHEETS_SCOPES,
});

const parsed = await googleSpreadsheet(
const parsed = await privateGoogleSheetsParser(
{
auth: jwt,
spreadsheetId: SPREADSHEET_ID,
Expand Down
20 changes: 11 additions & 9 deletions src/parser/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -92,20 +92,20 @@ If `path` is `['Key', 'Property']` and `typeName` is `Type`, the return will loo
});
```

## google-spreadsheet (node-google-spreadsheet)
## private-google-sheets-parser

A parser that parses **private** Google Sheets. This parser uses [google-spreadsheet](https://github.com/theoephraim/node-google-spreadsheet).

### Usage

```ts
import { generateDtsFile } from 'google-spreadsheet-dts';
import { googleSpreadsheet } from 'google-spreadsheet-dts/parser';
import { privateGoogleSheetsParser } from 'google-spreadsheet-dts/parser';
import { JWT } from 'google-auth-library';

// Define parser
// You can pass an instance of GoogleSpreadsheetWorksheet
const parser = googleSpreadsheet(
const parser = privateGoogleSheetsParser(
// You can pass an instance of GoogleSpreadsheetWorksheet (https://theoephraim.github.io/node-google-spreadsheet/#/classes/google-spreadsheet-worksheet)
{
auth: new JWT(/* ... */),
spreadsheetId: '...',
Expand All @@ -129,18 +129,20 @@ Note that you need to pass the [sheet instance](https://theoephraim.github.io/no

### API

#### `googleSpreadsheet`
#### `privateGoogleSheetsParser`

```ts
function googleSpreadsheet(
instanceOrOptions: GoogleSpreadsheetWorksheet | GoogleSpreadsheetOptions,
function privateGoogleSheetsParser(
instanceOrOptions:
| GoogleSpreadsheetWorksheet
| PrivateGoogleSheetsParserOptions,
params: {
path: string[];
typeName: string;
},
): Parser;

interface GoogleSpreadsheetOptions {
interface PrivateGoogleSheetsParserOptions {
auth: JWT;
spreadsheetId: string;
sheetInfo: SheetName | SheetIndex;
Expand All @@ -150,7 +152,7 @@ type SheetName = string;
type SheetIndex = number;
```

- `sheetInstance`: An instance of [`GoogleSpreadsheetWorksheet`](https://theoephraim.github.io/node-google-spreadsheet/#/classes/google-spreadsheet-worksheet) or an object with the following properties:
- `instanceOrOptions`: An instance of [`GoogleSpreadsheetWorksheet`](https://theoephraim.github.io/node-google-spreadsheet/#/classes/google-spreadsheet-worksheet) or an object with the following properties:
- `auth`: An instance of [`JWT`](https://www.npmjs.com/package/google-auth-library#json-web-tokens) from [`google-auth-library`](https://www.npmjs.com/package/google-auth-library)
- `spreadsheetId`: The ID of the Google Sheets
- `sheetInfo`: The sheet name or the index of the sheet
Expand Down
2 changes: 1 addition & 1 deletion src/parser/index.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
export { publicGoogleSheetsParser } from './publicGoogleSheetsParser';
export { googleSpreadsheet } from './googleSpreadsheet';
export { privateGoogleSheetsParser } from './privateGoogleSheetsParser';

// Utils
export { filledDataToObject } from './utils/filledDataToObject';
Original file line number Diff line number Diff line change
Expand Up @@ -5,24 +5,26 @@ import {
import { filledDataToObject } from './utils/filledDataToObject';
import { FilledData } from './types/data';

type GoogleSpreadsheetParams = {
type PrivateGoogleSheetsParserParams = {
path: string[];
typeName: string;
};

type SheetName = string;
type SheetIndex = number;

type GoogleSpreadsheetOptions = {
type PrivateGoogleSheetsParserOptions = {
auth: ConstructorParameters<typeof GoogleSpreadsheet>[1];
spreadsheetId: ConstructorParameters<typeof GoogleSpreadsheet>[0];
sheetInfo: SheetName | SheetIndex;
};

export const googleSpreadsheet =
export const privateGoogleSheetsParser =
(
instanceOfOptions: GoogleSpreadsheetWorksheet | GoogleSpreadsheetOptions,
{ path, typeName }: GoogleSpreadsheetParams,
instanceOfOptions:
| GoogleSpreadsheetWorksheet
| PrivateGoogleSheetsParserOptions,
{ path, typeName }: PrivateGoogleSheetsParserParams,
) =>
async (): Promise<object> => {
const sheetInstance = await getSheetInstance(instanceOfOptions);
Expand All @@ -43,7 +45,9 @@ export const googleSpreadsheet =
};

const getSheetInstance = async (
instanceOfOptions: GoogleSpreadsheetWorksheet | GoogleSpreadsheetOptions,
instanceOfOptions:
| GoogleSpreadsheetWorksheet
| PrivateGoogleSheetsParserOptions,
) => {
if (instanceOfOptions instanceof GoogleSpreadsheetWorksheet) {
return instanceOfOptions;
Expand Down

0 comments on commit 48ae9cc

Please sign in to comment.