UNPKG

gas-client

Version:

A client-side utility class that can call server-side Google Apps Script functions

27 lines (23 loc) 769 B
import { ignoredFunctionNames } from '../utils/ignored-function-names'; import { promisify } from '../utils/promisify'; import { FunctionProvider } from './function-provider'; import { FunctionMap, ServerFunctions } from '../types/functions'; class GASPromises<FM extends FunctionMap> extends FunctionProvider<FM> { constructor() { super(); this.promisifyGASFunctions(); } private promisifyGASFunctions(): void { this._serverFunctions = Object.keys(google.script.run).reduce( (acc, functionName) => ignoredFunctionNames.includes(functionName) ? acc : { ...acc, [functionName]: promisify(functionName), }, {} ) as ServerFunctions<FM>; } } export { GASPromises };