👏
Google apps scriptでの型定義
公式で型が定義されてない場合でもコードアシスト使いたい場合の定義方法
@typedef
と@property
を使用する
以下定義サンプル
doGetのイベント
script.gs
/**
* @typedef ApiEventGet
* @property {string} queryString
* @property {Object<string, string>} parameter
* @property {Object<string, string[]>} parameters
* @property {number} contentLength
*/
/**
* @param {ApiEventGet} e
*/
function doGet(e) {
console.log(e.queryString);
}
フォーム受信時のイベントの型定義
script.gs
/**
* @typedef ApiFormSubmittedEvent
* @property {{[key:string]: string[]}} namedValues
* @property {SpreadsheetApp.Range} range
* @property {string} triggerUid
* @property {string[]} values
*
* @see https://developers.google.com/apps-script/guides/triggers/events?hl=ja
*/
型の拡張
script.gs
/**
* ベースタイプ1
* @typedef A
* @property {string} count
*/
/**
* ベースタイプ2
* @typedef B
* @property {string} name
*/
/**
* AとBのプロパティを持つC(拡張された型)
* @typedef {A & B} C
*/
Discussion