本文整理匯總了TypeScript中@heroku-cli/command.APIClient類的典型用法代碼示例。如果您正苦於以下問題:TypeScript APIClient類的具體用法?TypeScript APIClient怎麽用?TypeScript APIClient使用的例子?那麽, 這裏精選的類代碼示例或許可以為您提供幫助。
在下文中一共展示了APIClient類的4個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的TypeScript代碼示例。
示例1: function
export const completions: Hook<any> = async function ({type, app}: {type?: 'app' | 'addon' | 'config' | 'login' | 'logout', app?: string}) {
// autocomplete is now in core, skip windows
if (this.config.windows) return
const logInOut = type === 'login' || type === 'logout'
const completionsDir = path.join(this.config.cacheDir, 'autocomplete', 'completions')
const rm = () => fs.emptyDir(completionsDir)
const rmKey = (cacheKey: string) => fs.remove(path.join(completionsDir, cacheKey))
if (type === 'app') return rmKey('app')
if (type === 'addon' && app) return rmKey(`${app}_addons`)
if (type === 'config' && app) return rmKey(`${app}_config_vars`)
if (logInOut) return rm()
const update = async (completion: any, cacheKey: string) => {
const cachePath = path.join(completionsDir, cacheKey)
const options = await completion.options({config: this.config})
await updateCache(cachePath, options)
}
// if user is not logged in, exit
try {
const heroku = new APIClient(this.config)
if (!heroku.auth) return
await heroku.get('/account', {retryAuth: false})
} catch (err) {
this.debug(err.message)
return
}
cli.action.start('Updating completions')
await rm()
await acCreate.run([], this.config)
try {
await update(AppCompletion, 'app')
await update(PipelineCompletion, 'pipeline')
await update(SpaceCompletion, 'space')
await update(TeamCompletion, 'team')
} catch (err) {
this.debug(err.message)
}
cli.action.stop()
}
示例2: put
async put(app: string, buildpackUpdates: {buildpack: string}[]): Promise<BuildpackResponse[]> {
let buildpacks = await this.heroku.put(`/apps/${app}/buildpack-installations`, {
headers: {Range: ''},
body: {updates: buildpackUpdates}
})
return this.mapBuildpackResponse(buildpacks)
}
示例3: clear
async clear(app: string, command: 'clear' | 'remove', action: 'cleared' | 'removed') {
await this.put(app, [])
let configVars: any = await this.heroku.get(`/apps/${app}/config-vars`)
let message = `Buildpack${command === 'clear' ? 's' : ''} ${action}.`
if (configVars.body.BUILDPACK_URL) {
cli.log(message)
cli.warn('The BUILDPACK_URL config var is still set and will be used for the next release')
} else if (configVars.body.LANGUAGE_PACK_URL) {
cli.log(message)
cli.warn('The LANGUAGE_PACK_URL config var is still set and will be used for the next release')
} else {
cli.log(`${message} Next release on ${app} will detect buildpacks normally.`)
}
}
示例4: fetch
async fetch(app: string): Promise<any[]> {
let buildpacks = await this.heroku.get(`/apps/${app}/buildpack-installations`)
return this.mapBuildpackResponse(buildpacks)
}