Skip to content

Commit 859189c

Browse files
feat(api): manual updates (#16)
1 parent b92947c commit 859189c

File tree

4 files changed

+30
-29
lines changed

4 files changed

+30
-29
lines changed

README.md

Lines changed: 21 additions & 19 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({ id: 'bui_123', target: 'node' });
33+
const output = await client.builds.outputs.retrieve('node', { id: 'bui_123' });
3434

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

5353
async function main() {
54-
const params: Stainless.Builds.OutputRetrieveParams = { id: 'bui_123', target: 'node' };
55-
const output: Stainless.Builds.OutputRetrieveResponse = await client.builds.outputs.retrieve(params);
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+
);
5659
}
5760

5861
main();
@@ -69,17 +72,15 @@ a subclass of `APIError` will be thrown:
6972
<!-- prettier-ignore -->
7073
```ts
7174
async function main() {
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-
});
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+
});
8384
}
8485

8586
main();
@@ -114,7 +115,7 @@ const client = new Stainless({
114115
});
115116

116117
// Or, configure per-request:
117-
await client.builds.outputs.retrieve({ id: 'bui_123', target: 'node' }, {
118+
await client.builds.outputs.retrieve('node', { id: 'bui_123' }, {
118119
maxRetries: 5,
119120
});
120121
```
@@ -131,7 +132,7 @@ const client = new Stainless({
131132
});
132133

133134
// Override per-request:
134-
await client.builds.outputs.retrieve({ id: 'bui_123', target: 'node' }, {
135+
await client.builds.outputs.retrieve('node', { id: 'bui_123' }, {
135136
timeout: 5 * 1000,
136137
});
137138
```
@@ -152,12 +153,12 @@ You can also use the `.withResponse()` method to get the raw `Response` along wi
152153
```ts
153154
const client = new Stainless();
154155

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

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

268269
// Override per-request:
269270
await client.builds.outputs.retrieve(
270-
{ id: 'bui_123', target: 'node' },
271+
'node',
272+
{ id: 'bui_123' },
271273
{
272274
httpAgent: new http.Agent({ keepAlive: false }),
273275
},

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>({ ...params }) -> OutputRetrieveResponse</code>
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>

src/resources/builds/outputs.ts

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

132131
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({ id: 'id', target: 'node' });
12+
const responsePromise = client.builds.outputs.retrieve('node', { id: 'id' });
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({ id: 'id', target: 'node' });
23+
const response = await client.builds.outputs.retrieve('node', { id: 'id' });
2424
});
2525
});

0 commit comments

Comments
 (0)