Skip to content

Commit b876b17

Browse files
vijay-qlogicJustinBeckwith
authored andcommitted
docs(samples): updated samples code to use async/await and tests to use mocha (#241)
1 parent faa9cbc commit b876b17

32 files changed

+1870
-2200
lines changed

vision/samples/automl/.eslintrc.yml

+2
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
11
---
2+
env:
3+
mocha: true
24
rules:
35
no-console: off
46
node/no-missing-require: off

vision/samples/automl/automlVisionDataset.js

+89-122
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,12 @@
2323

2424
`use strict`;
2525

26-
function createDataset(projectId, computeRegion, datasetName, multiLabel) {
26+
async function createDataset(
27+
projectId,
28+
computeRegion,
29+
datasetName,
30+
multiLabel
31+
) {
2732
// [START automl_vision_create_dataset]
2833
const automl = require(`@google-cloud/automl`).v1beta1;
2934

@@ -58,31 +63,26 @@ function createDataset(projectId, computeRegion, datasetName, multiLabel) {
5863
};
5964

6065
// Create a dataset with the dataset metadata in the region.
61-
client
62-
.createDataset({parent: projectLocation, dataset: myDataset})
63-
.then(responses => {
64-
const dataset = responses[0];
65-
66-
// Display the dataset information.
67-
console.log(`Dataset name: ${dataset.name}`);
68-
console.log(`Dataset id: ${dataset.name.split(`/`).pop(-1)}`);
69-
console.log(`Dataset display name: ${dataset.displayName}`);
70-
console.log(`Dataset example count: ${dataset.exampleCount}`);
71-
console.log(`Image Classification type:`);
72-
console.log(
73-
`\t ${dataset.imageClassificationDatasetMetadata.classificationType}`
74-
);
75-
console.log(`Dataset create time:`);
76-
console.log(`\tseconds: ${dataset.createTime.seconds}`);
77-
console.log(`\tnanos: ${dataset.createTime.nanos}`);
78-
})
79-
.catch(err => {
80-
console.error(err);
81-
});
66+
const [dataset] = await client.createDataset({
67+
parent: projectLocation,
68+
dataset: myDataset,
69+
});
70+
// Display the dataset information.
71+
console.log(`Dataset name: ${dataset.name}`);
72+
console.log(`Dataset id: ${dataset.name.split(`/`).pop(-1)}`);
73+
console.log(`Dataset display name: ${dataset.displayName}`);
74+
console.log(`Dataset example count: ${dataset.exampleCount}`);
75+
console.log(`Image Classification type:`);
76+
console.log(
77+
`\t ${dataset.imageClassificationDatasetMetadata.classificationType}`
78+
);
79+
console.log(`Dataset create time:`);
80+
console.log(`\tseconds: ${dataset.createTime.seconds}`);
81+
console.log(`\tnanos: ${dataset.createTime.nanos}`);
8282
// [END automl_vision_create_dataset]
8383
}
8484

85-
function listDatasets(projectId, computeRegion, filter) {
85+
async function listDatasets(projectId, computeRegion, filter) {
8686
// [START automl_vision_list_datasets]
8787
const automl = require(`@google-cloud/automl`).v1beta1;
8888

@@ -98,36 +98,30 @@ function listDatasets(projectId, computeRegion, filter) {
9898
const projectLocation = client.locationPath(projectId, computeRegion);
9999

100100
// List all the datasets available in the region by applying filter.
101-
client
102-
.listDatasets({parent: projectLocation, filter: filter})
103-
.then(responses => {
104-
const datasets = responses[0];
105-
106-
// Display the dataset information.
107-
console.log(`List of datasets:`);
108-
datasets.forEach(dataset => {
109-
console.log(`Dataset name: ${dataset.name}`);
110-
console.log(`Dataset Id: ${dataset.name.split(`/`).pop(-1)}`);
111-
console.log(`Dataset display name: ${dataset.displayName}`);
112-
console.log(`Dataset example count: ${dataset.exampleCount}`);
113-
console.log(`Image Classification type:`);
114-
console.log(
115-
`\t`,
116-
dataset.imageClassificationDatasetMetadata.classificationType
117-
);
118-
console.log(`Dataset create time: `);
119-
console.log(`\tseconds: ${dataset.createTime.seconds}`);
120-
console.log(`\tnanos: ${dataset.createTime.nanos}`);
121-
console.log(`\n`);
122-
});
123-
})
124-
.catch(err => {
125-
console.error(err);
126-
});
101+
const [datasets] = await client.listDatasets({
102+
parent: projectLocation,
103+
filter: filter,
104+
});
105+
console.log(`List of datasets:`);
106+
datasets.forEach(dataset => {
107+
console.log(`Dataset name: ${dataset.name}`);
108+
console.log(`Dataset Id: ${dataset.name.split(`/`).pop(-1)}`);
109+
console.log(`Dataset display name: ${dataset.displayName}`);
110+
console.log(`Dataset example count: ${dataset.exampleCount}`);
111+
console.log(`Image Classification type:`);
112+
console.log(
113+
`\t`,
114+
dataset.imageClassificationDatasetMetadata.classificationType
115+
);
116+
console.log(`Dataset create time: `);
117+
console.log(`\tseconds: ${dataset.createTime.seconds}`);
118+
console.log(`\tnanos: ${dataset.createTime.nanos}`);
119+
console.log(`\n`);
120+
});
127121
// [END automl_vision_list_datasets]
128122
}
129123

130-
function getDataset(projectId, computeRegion, datasetId) {
124+
async function getDataset(projectId, computeRegion, datasetId) {
131125
// [START automl_vision_get_dataset]
132126
const automl = require(`@google-cloud/automl`).v1beta1;
133127

@@ -144,32 +138,24 @@ function getDataset(projectId, computeRegion, datasetId) {
144138
const datasetFullId = client.datasetPath(projectId, computeRegion, datasetId);
145139

146140
// Get complete detail of the dataset.
147-
client
148-
.getDataset({name: datasetFullId})
149-
.then(responses => {
150-
const dataset = responses[0];
151-
152-
// Display the dataset information.
153-
console.log(`Dataset name: ${dataset.name}`);
154-
console.log(`Dataset Id: ${dataset.name.split(`/`).pop(-1)}`);
155-
console.log(`Dataset display name: ${dataset.displayName}`);
156-
console.log(`Dataset example count: ${dataset.exampleCount}`);
157-
console.log(
158-
`Classification type: ${
159-
dataset.imageClassificationDatasetMetadata.classificationType
160-
}`
161-
);
162-
console.log(`Dataset create time: `);
163-
console.log(`\tseconds: ${dataset.createTime.seconds}`);
164-
console.log(`\tnanos: ${dataset.createTime.nanos}`);
165-
})
166-
.catch(err => {
167-
console.error(err);
168-
});
141+
const [dataset] = await client.getDataset({name: datasetFullId});
142+
// Display the dataset information.
143+
console.log(`Dataset name: ${dataset.name}`);
144+
console.log(`Dataset Id: ${dataset.name.split(`/`).pop(-1)}`);
145+
console.log(`Dataset display name: ${dataset.displayName}`);
146+
console.log(`Dataset example count: ${dataset.exampleCount}`);
147+
console.log(
148+
`Classification type: ${
149+
dataset.imageClassificationDatasetMetadata.classificationType
150+
}`
151+
);
152+
console.log(`Dataset create time: `);
153+
console.log(`\tseconds: ${dataset.createTime.seconds}`);
154+
console.log(`\tnanos: ${dataset.createTime.nanos}`);
169155
// [END automl_vision_get_dataset]
170156
}
171157

172-
function importData(projectId, computeRegion, datasetId, path) {
158+
async function importData(projectId, computeRegion, datasetId, path) {
173159
// [START automl_vision_import_data]
174160
const automl = require(`@google-cloud/automl`).v1beta1;
175161

@@ -195,26 +181,22 @@ function importData(projectId, computeRegion, datasetId, path) {
195181
};
196182

197183
// Import the dataset from the input URI.
198-
client
199-
.importData({name: datasetFullId, inputConfig: inputConfig})
200-
.then(responses => {
201-
const operation = responses[0];
202-
console.log(`Processing import...`);
203-
return operation.promise();
204-
})
205-
.then(responses => {
206-
// The final result of the operation.
207-
if (responses[2].done) {
208-
console.log(`Data imported.`);
209-
}
210-
})
211-
.catch(err => {
212-
console.error(err);
213-
});
184+
const [operation] = await client.importData({
185+
name: datasetFullId,
186+
inputConfig: inputConfig,
187+
});
188+
console.log(`Processing import...`);
189+
190+
const [, , response] = await operation.promise();
191+
192+
// The final result of the operation.
193+
if (response.done) {
194+
console.log(`Data imported.`);
195+
}
214196
// [END automl_vision_import_data]
215197
}
216198

217-
function exportData(projectId, computeRegion, datasetId, outputUri) {
199+
async function exportData(projectId, computeRegion, datasetId, outputUri) {
218200
// [START automl_vision_export_data]
219201
const automl = require(`@google-cloud/automl`).v1beta1;
220202

@@ -239,26 +221,20 @@ function exportData(projectId, computeRegion, datasetId, outputUri) {
239221
};
240222

241223
// Export the data to the output URI.
242-
client
243-
.exportData({name: datasetFullId, outputConfig: outputConfig})
244-
.then(responses => {
245-
const operation = responses[0];
246-
console.log(`Processing export...`);
247-
return operation.promise();
248-
})
249-
.then(responses => {
250-
// The final result of the operation.
251-
if (responses[2].done) {
252-
console.log(`Data exported.`);
253-
}
254-
})
255-
.catch(err => {
256-
console.error(err);
257-
});
224+
const [operation] = await client.exportData({
225+
name: datasetFullId,
226+
outputConfig: outputConfig,
227+
});
228+
const [, , response] = await operation.promise();
229+
230+
// The final result of the operation.
231+
if (response.done) {
232+
console.log(`Data exported.`);
233+
}
258234
// [END automl_vision_export_data]
259235
}
260236

261-
function deleteDataset(projectId, computeRegion, datasetId) {
237+
async function deleteDataset(projectId, computeRegion, datasetId) {
262238
// [START automl_vision_delete_dataset]
263239
const automl = require(`@google-cloud/automl`).v1beta1;
264240

@@ -275,21 +251,12 @@ function deleteDataset(projectId, computeRegion, datasetId) {
275251
const datasetFullId = client.datasetPath(projectId, computeRegion, datasetId);
276252

277253
// Delete a dataset.
278-
client
279-
.deleteDataset({name: datasetFullId})
280-
.then(responses => {
281-
const operation = responses[0];
282-
return operation.promise();
283-
})
284-
.then(responses => {
285-
// The final result of the operation.
286-
if (responses[2].done) {
287-
console.log(`Dataset deleted.`);
288-
}
289-
})
290-
.catch(err => {
291-
console.error(err);
292-
});
254+
const [operation] = await client.deleteDataset({name: datasetFullId});
255+
const [, , response] = await operation.promise();
256+
// The final result of the operation.
257+
if (response.done) {
258+
console.log(`Dataset deleted.`);
259+
}
293260
// [END automl_vision_delete_dataset]
294261
}
295262

0 commit comments

Comments
 (0)