UNPKG

@buttercup/googledrive-client

Version:
58 lines (57 loc) 1.77 kB
import { HotPatcher } from "hot-patcher"; import { request } from "./request.js"; import { createDirectory } from "./requests/createDirectory.js"; import { deleteFile } from "./requests/deleteFile.js"; import { getDirectoryContents, mapDirectoryContents } from "./requests/getDirectoryContents.js"; import { getFileContents } from "./requests/getFileContents.js"; import { putFileContents } from "./requests/putFileContents.js"; export class GoogleDriveClient { constructor(token) { this.__cache = {}; this.__token = token; this.patcher = new HotPatcher(); this.patcher.patch("request", request); } async createDirectory(name, parentID) { return createDirectory({ name, parentID, patcher: this.patcher, token: this.__token }); } async deleteFile(id) { await deleteFile({ id, patcher: this.patcher, token: this.__token }); } async getDirectoryContents(tree = true) { return getDirectoryContents({ formTree: tree, patcher: this.patcher, token: this.__token }); } async getFileContents(id) { return getFileContents({ id, patcher: this.patcher, token: this.__token }); } async mapDirectoryContents(path) { return mapDirectoryContents(this.__token, this.patcher, this.__cache, path); } async putFileContents(contents, id, name, parentID) { return putFileContents({ contents, id: id ? id : undefined, name, parentID, patcher: this.patcher, token: this.__token }); } }