{"id":17113860,"url":"https://github.com/potatoparser/mini-sheets","last_synced_at":"2025-03-23T22:29:28.172Z","repository":{"id":44843634,"uuid":"177907407","full_name":"PotatoParser/Mini-Sheets","owner":"PotatoParser","description":"Minified and simplified Google Sheets","archived":false,"fork":false,"pushed_at":"2022-12-06T14:34:02.000Z","size":54,"stargazers_count":0,"open_issues_count":2,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-03-21T10:39:23.627Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/PotatoParser.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-03-27T02:56:10.000Z","updated_at":"2020-04-17T04:44:52.000Z","dependencies_parsed_at":"2023-01-23T08:15:34.086Z","dependency_job_id":null,"html_url":"https://github.com/PotatoParser/Mini-Sheets","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PotatoParser%2FMini-Sheets","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PotatoParser%2FMini-Sheets/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PotatoParser%2FMini-Sheets/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PotatoParser%2FMini-Sheets/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/PotatoParser","download_url":"https://codeload.github.com/PotatoParser/Mini-Sheets/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245177438,"owners_count":20573101,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-14T17:13:05.776Z","updated_at":"2025-03-23T22:29:28.148Z","avatar_url":"https://github.com/PotatoParser.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Mini Sheets\nMinified and simplified Google Sheets with [Promises](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise)\n\n## Example Usage\n```javascript\nconst {Drive, Spreadsheets} = require('minisheets');\nconst minisheets = new Spreadsheets(CLIENT_ID, TOKEN);\nminisheets.createSpreadsheet(spreadsheetTitle, {sheet1: [[1]]})\n    .then(worksheet=\u003econsole.log(worksheet))\n    .catch(err=\u003econsole.log(err));\n```\n\n## Table of Contents\n+ [gAPI](#gapi)\n    + [constructor(clientId, token)](#constructorclientid-token)\n    + [Spreadsheets](#spreadsheets)\n        + [Worksheet Object](#worksheet-object)\n            + [Grid Data Format](#grid-data-format)\n            + [Metadata Format](#metadata-format)\n        + [createSpreadsheet(title, gridData, metadata)](#createspreadsheet)\n        + [getSpreadsheet(spreadsheetId, options)](#getspreadsheetspreadsheetid-options)\n        + [setSpreadsheet(spreadsheetId, gridData, metadata)](#setspreadsheetspreadsheetid-griddata-metadata)\n    + [Drive](#drive)\n        + [getFile(fileId)](#getfilefileid)\n        + [setFile(fileId, properties)](#setfilefileid-properties)\n        + [deleteFile(fileId)](#deletefilefildid)\n\n## gAPI\n---\n### constructor(clientId, token)\n\u003e Initialize gAPI (parent class of Drive \u0026 Spreadsheets)\n\nArguments:\n+ `clientId`\u003c**String**\\|**Object**\u003e: string of client id\n    + Can be an \u003c**Object**\u003e containing a client_id and client_secret\n+ `token`\u003c**Object**\u003e: authentication token object\n\n\n## Spreadsheets\n---\n```javascript\nconst {Spreadsheets} = require('minisheets');\nlet worksheets = new Spreadsheets(clientId, token);\n```\n\n---\n### Worksheet Object\n\u003e Object returned from using Spreadsheets methods\n\n```javascript\n{\n    id: spreadsheetId,\n    title: spreadsheetTitle,\n    sheets: {\n        Sheet1: [[String, Number],\n                 [...]],\n        Sheet2: ...,\n        ...\n    },\n    metadata: {\n        Sheet1: {\n            key1: String,\n            key2: Number,\n            ...\n        },\n        ...\n    }\n}\n```\n\n#### Grid Data Format\n```javascript\n{\n    sheetTitle: [[String, Number],\n                 [..., ...]],\n    ...\n}\n```\n\n#### Metadata Format\n```javascript\n{\n    sheetTitle: {\n        key: value,\n        ...\n    },\n    ...\n}\n```\n\n---\n### createSpreadsheet(title, gridData, metadata)\n\u003e Creates a new Google Sheets spreadsheet\n\nArguments:\n+ `title` \u003c**String**\u003e: ID of Google Sheets spreadsheet\n+ `gridData` \u003c[**Grid Data Format**](#grid-data-format)\u003e: Object of sheets\n+ `metadata` \u003c[**Metadata Format**](#metadata-format)\u003e: Object of metadata\n\nReturns **Promise**:\n+ \u003c[**Worksheet Object**](#worksheet-object)\u003e\n\nUsage:\n```javascript\nworksheets.createSpreadsheet(newTitle, {sheet1: [['Hello', 'World', 1]]}, {sheet1: {key1: 'Hello World'}}).then(console.log);\n/*{\n    title: newTitle,\n    id: generatedId,\n    sheets: {\n        sheet1: [['Hello', 'World', 1]]\n    },\n    metadata: {\n        sheet1: {\n            key1: 'Hello World'\n        }\n    }\n}*/\n```\n\n---\n### getSpreadsheet(spreadsheetId, \\_options)\n\u003e Gets the data of a Google Sheets spreadsheet\n\nArguments:\n+ `spreadsheetId` \u003c**String**\u003e: ID of Google Sheets spreadsheet\n+ (OPTIONAL) \u003c**Object**\u003e: options Object\n    + `include` \u003c**String**\\|**Array**\u003e: only include sheets with specified titles\n\nReturns **Promise**:\n+ \u003c[**Worksheet Object**](#worksheet-object)\u003e\n\nUsage:\n```javascript\nworksheets.getSpreadsheet(spreadsheetId, {include: ['sheet1']}).then(console.log);\n/*{\n    title: spreadsheetTitle,\n    id: spreadsheetId,\n    sheets: {\n        sheet1: [['Hello', 'World', 1]]\n    },\n    metadata: {\n        sheet1: {\n            key1: 'Hello World'\n        }\n    }\n}*/\n```\n\n---\n### setSpreadsheet(spreadsheetId, gridData, metadata)\n\u003e Changes a Google Sheets spreadsheet\n\nArguments:\n+ `spreadsheetId` \u003c**String**\u003e: ID of Google Sheets spreadsheet\n+ `gridData` \u003c[**Grid Data Format**](#grid-data-format)\u003e: Object of sheets\n+ `metadata` \u003c[**Metadata Format**](#metadata-format)\u003e: Object of metadata\n\nReturns **Promise**:\n+ \u003c[**Worksheet Object**](#worksheet-object)\u003e\n\nUsage:\n```javascript\nworksheets.setSpreadsheet(spreadsheetId, {sheet1: [['Hello', 'World', 2]]}, {sheet1: {key1: 'Hello There'}}).then(console.log);\n/*{\n    title: spreadsheetTitle,\n    id: spreadsheetId,\n    sheets: {\n        sheet1: [['Hello', 'World', 2]]\n    },\n    metadata: {\n        sheet1: {\n            key1: 'Hello There'\n        }\n    }\n}*/\n```\n\n## Drive\n---\n```javascript\nconst {Drive} = require('minisheets');\nlet files = new Drive(clientId, token);\n```\n\n---\n### getFile(fileId)\n\u003e Fetches the properties of a file within Google Drive\n\nArguments:\n+ `fileId` \u003c**String**\u003e: ID of file\n\nReturns **Promise**:\n+ \u003c**Object**\u003e: [metadata](https://developers.google.com/drive/api/v3/reference/files)\n    + `null` if file does not exist\n\nUsage:\n```javascript\nfiles.getFile(fileId).then(console.log);\n/*{\n    \"kind\": \"drive#file\",\n    \"id\": String,\n    \"name\": String,\n    \"mimeType\": String\n}*/\n```\n\n---\n### setFile(fileId, properties)\n\u003e Alters properties of a file within Google Drive\n\nArguments:\n+ `fileId` \u003c**String**\u003e: ID of file\n\nReturns **Promise**:\n+ \u003c**Object**\u003e: [metadata](https://developers.google.com/drive/api/v3/reference/files)\n    + `null` if file does not exist\n\nUsage:\n```javascript\nfiles.deleteFile(fileId).then(console.log); // true\n```\n\n---\n### deleteFile(fileId)\n\u003e Deletes a file within Google Drive\n\nArguments:\n+ `fileId` \u003c**String**\u003e: ID of file\n\nReturns **Promise**:\n+ \u003c**Boolean**\u003e: `false` if the file does not exist \n\nUsage:\n```javascript\nfiles.setFile(fileId, {name: newName}).then(console.log);\n/*{\n    \"kind\": \"drive#file\",\n    \"id\": String,\n    \"name\": String,\n    \"mimeType\": String,\n    ...\n}*/\n```","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpotatoparser%2Fmini-sheets","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpotatoparser%2Fmini-sheets","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpotatoparser%2Fmini-sheets/lists"}