Skip to content

Commit 6031572

Browse files
feat(api): manual updates (#17)
1 parent 859189c commit 6031572

File tree

4 files changed

+29
-30
lines changed

4 files changed

+29
-30
lines changed

README.md

Lines changed: 19 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ const client = new Stainless({
3030
});
3131

3232
async function main() {
33-
const output = await client.builds.outputs.retrieve('node', { id: 'bui_123' });
33+
const output = await client.builds.outputs.retrieve({ id: 'bui_123', target: 'node' });
3434

3535
console.log(output.commit);
3636
}
@@ -51,11 +51,8 @@ const client = new Stainless({
5151
});
5252

5353
async function main() {
54-
const params: Stainless.Builds.OutputRetrieveParams = { id: 'bui_123' };
55-
const output: Stainless.Builds.OutputRetrieveResponse = await client.builds.outputs.retrieve(
56-
'node',
57-
params,
58-
);
54+
const params: Stainless.Builds.OutputRetrieveParams = { id: 'bui_123', target: 'node' };
55+
const output: Stainless.Builds.OutputRetrieveResponse = await client.builds.outputs.retrieve(params);
5956
}
6057

6158
main();
@@ -72,15 +69,17 @@ a subclass of `APIError` will be thrown:
7269
<!-- prettier-ignore -->
7370
```ts
7471
async function main() {
75-
const output = await client.builds.outputs.retrieve('node', { id: 'bui_123' }).catch(async (err) => {
76-
if (err instanceof Stainless.APIError) {
77-
console.log(err.status); // 400
78-
console.log(err.name); // BadRequestError
79-
console.log(err.headers); // {server: 'nginx', ...}
80-
} else {
81-
throw err;
82-
}
83-
});
72+
const output = await client.builds.outputs
73+
.retrieve({ id: 'bui_123', target: 'node' })
74+
.catch(async (err) => {
75+
if (err instanceof Stainless.APIError) {
76+
console.log(err.status); // 400
77+
console.log(err.name); // BadRequestError
78+
console.log(err.headers); // {server: 'nginx', ...}
79+
} else {
80+
throw err;
81+
}
82+
});
8483
}
8584

8685
main();
@@ -115,7 +114,7 @@ const client = new Stainless({
115114
});
116115

117116
// Or, configure per-request:
118-
await client.builds.outputs.retrieve('node', { id: 'bui_123' }, {
117+
await client.builds.outputs.retrieve({ id: 'bui_123', target: 'node' }, {
119118
maxRetries: 5,
120119
});
121120
```
@@ -132,7 +131,7 @@ const client = new Stainless({
132131
});
133132

134133
// Override per-request:
135-
await client.builds.outputs.retrieve('node', { id: 'bui_123' }, {
134+
await client.builds.outputs.retrieve({ id: 'bui_123', target: 'node' }, {
136135
timeout: 5 * 1000,
137136
});
138137
```
@@ -153,12 +152,12 @@ You can also use the `.withResponse()` method to get the raw `Response` along wi
153152
```ts
154153
const client = new Stainless();
155154

156-
const response = await client.builds.outputs.retrieve('node', { id: 'bui_123' }).asResponse();
155+
const response = await client.builds.outputs.retrieve({ id: 'bui_123', target: 'node' }).asResponse();
157156
console.log(response.headers.get('X-My-Header'));
158157
console.log(response.statusText); // access the underlying Response object
159158

160159
const { data: output, response: raw } = await client.builds.outputs
161-
.retrieve('node', { id: 'bui_123' })
160+
.retrieve({ id: 'bui_123', target: 'node' })
162161
.withResponse();
163162
console.log(raw.headers.get('X-My-Header'));
164163
console.log(output.commit);
@@ -268,8 +267,7 @@ const client = new Stainless({
268267

269268
// Override per-request:
270269
await client.builds.outputs.retrieve(
271-
'node',
272-
{ id: 'bui_123' },
270+
{ id: 'bui_123', target: 'node' },
273271
{
274272
httpAgent: new http.Agent({ keepAlive: false }),
275273
},

api.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,4 +24,4 @@ Types:
2424

2525
Methods:
2626

27-
- <code title="get /v1/builds/{id}/outputs/{target}">client.builds.outputs.<a href="./src/resources/builds/outputs.ts">retrieve</a>(target, { ...params }) -> OutputRetrieveResponse</code>
27+
- <code title="get /v1/builds/{id}/outputs/{target}">client.builds.outputs.<a href="./src/resources/builds/outputs.ts">retrieve</a>({ ...params }) -> OutputRetrieveResponse</code>

src/resources/builds/outputs.ts

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -8,12 +8,8 @@ export class Outputs extends APIResource {
88
/**
99
* Get the output status and details for a specific target for a specific build
1010
*/
11-
retrieve(
12-
target: 'node' | 'python' | 'go' | 'java' | 'kotlin' | 'ruby',
13-
params: OutputRetrieveParams,
14-
options?: RequestOptions,
15-
): APIPromise<OutputRetrieveResponse> {
16-
const { id } = params;
11+
retrieve(params: OutputRetrieveParams, options?: RequestOptions): APIPromise<OutputRetrieveResponse> {
12+
const { id, target } = params;
1713
return this._client.get(`/v1/builds/${id}/outputs/${target}`, options);
1814
}
1915
}
@@ -126,6 +122,11 @@ export interface OutputRetrieveParams {
126122
* The build ID
127123
*/
128124
id: string;
125+
126+
/**
127+
* The target to get the output for
128+
*/
129+
target: 'node' | 'python' | 'go' | 'java' | 'kotlin' | 'ruby';
129130
}
130131

131132
export declare namespace Outputs {

tests/api-resources/builds/outputs.test.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ const client = new Stainless({
99

1010
describe('resource outputs', () => {
1111
test('retrieve: only required params', async () => {
12-
const responsePromise = client.builds.outputs.retrieve('node', { id: 'id' });
12+
const responsePromise = client.builds.outputs.retrieve({ id: 'id', target: 'node' });
1313
const rawResponse = await responsePromise.asResponse();
1414
expect(rawResponse).toBeInstanceOf(Response);
1515
const response = await responsePromise;
@@ -20,6 +20,6 @@ describe('resource outputs', () => {
2020
});
2121

2222
test('retrieve: required and optional params', async () => {
23-
const response = await client.builds.outputs.retrieve('node', { id: 'id' });
23+
const response = await client.builds.outputs.retrieve({ id: 'id', target: 'node' });
2424
});
2525
});

0 commit comments

Comments
 (0)