Press n or j to go to the next uncovered block, b, p or k for the previous block.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 | 1x 2x | // @flow import { finish } from './utils/jobs'; import { type Caller } from '.'; /** * A description of an IP range. */ export type Network = { amazonAccountId: string, subnet: string, }; /** * Show your IP ranges. */ export interface NetworksAPI { list(): Promise<Network[]>; create(values: Network): Promise<Network>; } export default function networks(call: Caller): NetworksAPI { function intoAsync(response: any) { return { value: response, finish(sideEffect, interval, timeout, interrupt) { return Promise.all( response.jobs.map(job => finish(call, job.jobId, sideEffect, interval, timeout, interrupt), ), ); }, }; } return { async list() { return call('GET', 'Networks'); }, async create(values) { return call('POST', 'Networks', values); }, async restore() { return intoAsync(await call('PATCH', 'Networks/Restore')); }, async abort() { return intoAsync(await call('PATCH', 'Networks/Abort')); }, }; } |