gpt4 book ai didi

google-apps-script - Google Apps 脚本库自动完成

转载 作者:行者123 更新时间:2023-11-30 06:54:12 25 4
gpt4 key购买 nike

我正在创建一个用于谷歌应用程序脚本的库,但在使用 JSDoc Style Documentation 时遇到了一些问题这样 IDE 自动完成功能就可以为最终用户工作。

作为 User.prototype.METHODNAME 输入的所有方法都应该显示在该库的自动完成中。目前只有 .getEmail() 方法出现在用户对象的自动完成中。 .getName() .getPassword() .hasPaid() 等方法也应该出现但没有出现。特别奇怪的是,当我交换 .getEmail() 和 .getId() 的方法名称(并且只有方法名称)时,IDE 仍然显示 .getEmail() 作为唯一选项,并运行原始的 .getId() 方法.

这是一个没有敏感信息的模拟库的库 key ,用于测试目的:M1TqnX8hyIa1H8ikAojXirsqqTKXVxxXC

/** 
*@param {Number} id
*@param {String} email
*@param {String} name
*@param {String} password
*@return {User} User
*/
function User(id, email, name, password){
var ss = SpreadsheetApp.openById("INSERT SPREADSHEET HERE").getSheetByName("Users");
var data = ss.getRange(1, 1, ss.getLastRow(), ss.getLastColumn()).getValues();
for (var i = 1; i < data.length; i++){
if (data[i][0] == id){
this.id = id;
this.email = data[i][1];
this.name = data[i][2];
this.password = data[i][3];
this.picks = data[i][4];
this.paid = data[i][5];
}
}
return this;
}
/**
* @param {Number} id ID of the user
* @return {User} User
*/
function getUserById(id){
var user = new User(id, null, null, null);
return user;
}
/**
* @param {String} email email of the user
* @param {String} name name of the user
* @return {User} User
*/
function getUserByEmailAndName(email, name){
return new User(null, email, name, null);
}
/**
*@return {Boolean} isCorrect
*/
User.prototype.checkPassword = function (password){ return this.password == Utilities.base64Encode(password); }

User.prototype.getEmail = function (){return this.email;}
/**
*@return {Number} id
*/
User.prototype.getId = function (){return this.id;}
/**
*@return {String} name
*/
User.prototype.getName = function (){return this.name;}
/**
*@return {String} encodedPassword
*/
User.prototype.getPassword = function (){return this.password;}
/**
*@return {String} jsonPicks
*/
User.prototype.getPicksAsString = function (){return this.picks;}
/**
*@return {JSON} jsonPicks
*/
User.prototype.getPicksAsJson = function (){return Utilities.jsonParse(this.picks);}
/**
*@return {Boolean} hasPaid
*/
User.prototype.hasPaid = function (){return this.paid;}

最佳答案

如果您正在使用 TypeScript - 或者打算迁移到 - 我们已经构建了一个旨在帮助解决此问题的包:

https://github.com/maelcaldas/clasp-types

您可以使用它为我们在 Typescript 上编写的面向对象库和客户端 API 生成自动完成功能。

关于google-apps-script - Google Apps 脚本库自动完成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17440085/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com