Skip to content

Commit 2feefa4

Browse files
docs(samples): modernize the samples (#838)
1 parent a2e86d3 commit 2feefa4

32 files changed

+359
-208
lines changed

vision/samples/.eslintrc.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
11
---
22
rules:
33
no-console: off
4+
node/no-unsupported-features/node-builtins: off

vision/samples/async-batch-annotate-images.js

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -80,4 +80,9 @@ function main(
8080
// [END vision_async_batch_annotate_images]
8181
}
8282

83+
process.on('unhandledRejection', err => {
84+
console.error(err.message);
85+
process.exitCode = 1;
86+
});
87+
8388
main(...process.argv.slice(2));

vision/samples/batch-annotate-files-gcs.js

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -100,4 +100,9 @@ function main(
100100
// [END vision_batch_annotate_files_gcs]
101101
}
102102

103+
process.on('unhandledRejection', err => {
104+
console.error(err.message);
105+
process.exitCode = 1;
106+
});
107+
103108
main(...process.argv.slice(2));

vision/samples/batch-annotate-files.js

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -23,9 +23,7 @@ function main(fileName = 'path/to/your/file.pdf') {
2323

2424
// Imports the Google Cloud client libraries
2525
const {ImageAnnotatorClient} = require('@google-cloud/vision').v1;
26-
const fs = require('fs');
27-
const {promisify} = require('util');
28-
const readFileAsync = promisify(fs.readFile);
26+
const fs = require('fs').promises;
2927

3028
// Instantiates a client
3129
const client = new ImageAnnotatorClient();
@@ -38,7 +36,7 @@ function main(fileName = 'path/to/your/file.pdf') {
3836
// https://cloud.google.com/vision/docs/reference/rpc/google.cloud.vision.v1#inputconfig
3937
const inputConfig = {
4038
mimeType: 'application/pdf',
41-
content: await readFileAsync(fileName),
39+
content: await fs.readFile(fileName),
4240
};
4341

4442
// Set the type of annotation you want to perform on the file
@@ -99,4 +97,9 @@ function main(fileName = 'path/to/your/file.pdf') {
9997
// [END vision_batch_annotate_files]
10098
}
10199

100+
process.on('unhandledRejection', err => {
101+
console.error(err.message);
102+
process.exitCode = 1;
103+
});
104+
102105
main(...process.argv.slice(2));

vision/samples/detect.v1p3beta1.js

Lines changed: 10 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,6 @@
1212
// See the License for the specific language governing permissions and
1313
// limitations under the License.
1414

15-
/* eslint-disable */
16-
1715
'use strict';
1816

1917
async function detectHandwritingOCR(fileName) {
@@ -74,40 +72,40 @@ async function detectHandwritingGCS(uri) {
7472
// [END vision_handwritten_ocr_gcs_beta]
7573
}
7674

77-
require(`yargs`)
75+
require('yargs')
7876
.demand(1)
7977
.command(
80-
`detectHandwriting`,
81-
`Detects handwriting in a local image file.`,
78+
'detectHandwriting',
79+
'Detects handwriting in a local image file.',
8280
{},
8381
opts => detectHandwritingOCR(opts.handwritingSample)
8482
)
8583
.command(
86-
`detectHandwritingGCS`,
87-
`Detects handwriting from Google Cloud Storage Bucket.`,
84+
'detectHandwritingGCS',
85+
'Detects handwriting from Google Cloud Storage Bucket.',
8886
{},
8987
opts => detectHandwritingGCS(opts.handwritingSample)
9088
)
9189
.options({
9290
handwritingSample: {
9391
alias: 'h',
94-
default: `./resources/handwritten.jpg`,
92+
default: './resources/handwritten.jpg',
9593
global: true,
9694
requiresArg: true,
9795
type: 'string',
9896
},
9997
handwritingGcsUri: {
10098
alias: 'u',
101-
default: `gs://cloud-samples-data/vision/handwritten.jpg`,
99+
default: 'gs://cloud-samples-data/vision/handwritten.jpg',
102100
global: true,
103101
requiresArg: true,
104102
type: 'string',
105103
},
106104
})
107-
.example(`node $0 detectHandwriting ./resources/handwritten.jpg`)
108-
.example(`node $0 detectHandwritingGCS gs://my-bucket/image.jpg`)
105+
.example('node $0 detectHandwriting ./resources/handwritten.jpg')
106+
.example('node $0 detectHandwritingGCS gs://my-bucket/image.jpg')
109107
.wrap(120)
110108
.recommendCommands()
111-
.epilogue(`For more information, see https://cloud.google.com/vision/docs`)
109+
.epilogue('For more information, see https://cloud.google.com/vision/docs')
112110
.help()
113111
.strict().argv;

vision/samples/package.json

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,9 @@
22
"name": "nodejs-docs-samples-vision",
33
"private": true,
44
"license": "Apache-2.0",
5-
"author": "Google Inc.",
5+
"author": "Google LLC",
66
"engines": {
7-
"node": ">=8"
7+
"node": ">=10.17.0"
88
},
99
"files": [
1010
"*.js"
@@ -14,7 +14,6 @@
1414
},
1515
"dependencies": {
1616
"@google-cloud/vision": "^2.1.2",
17-
"mathjs": "^7.0.0",
1817
"natural": "^2.0.0",
1918
"pureimage": "^0.2.1",
2019
"redis": "^3.0.0",

vision/samples/productSearch/addProductToProductSet.js

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -16,11 +16,10 @@
1616

1717
function main(projectId, location, productId, productSetId) {
1818
// [START vision_product_search_add_product_to_product_set]
19-
async function addProductToProductSet() {
20-
const vision = require('@google-cloud/vision');
21-
22-
const client = new vision.ProductSearchClient();
19+
const vision = require('@google-cloud/vision');
20+
const client = new vision.ProductSearchClient();
2321

22+
async function addProductToProductSet() {
2423
/**
2524
* TODO(developer): Uncomment the following line before running the sample.
2625
*/
@@ -44,7 +43,13 @@ function main(projectId, location, productId, productSetId) {
4443
await client.addProductToProductSet(request);
4544
console.log('Product added to product set.');
4645
}
47-
// [END vision_product_search_add_product_to_product_set]
4846
addProductToProductSet();
47+
// [END vision_product_search_add_product_to_product_set]
4948
}
49+
50+
process.on('unhandledRejection', err => {
51+
console.error(err.message);
52+
process.exitCode = 1;
53+
});
54+
5055
main(...process.argv.slice(2));

vision/samples/productSearch/createProduct.js

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -22,13 +22,12 @@ function main(
2222
productCategory
2323
) {
2424
// [START vision_product_search_create_product]
25-
async function createProduct() {
26-
// Imports the Google Cloud client library
27-
const vision = require('@google-cloud/vision');
28-
29-
// Creates a client
30-
const client = new vision.ProductSearchClient();
25+
// Imports the Google Cloud client library
26+
const vision = require('@google-cloud/vision');
3127

28+
// Creates a client
29+
const client = new vision.ProductSearchClient();
30+
async function createProduct() {
3231
/**
3332
* TODO(developer): Uncomment the following line before running the sample.
3433
*/
@@ -55,7 +54,12 @@ function main(
5554
const [createdProduct] = await client.createProduct(request);
5655
console.log(`Product name: ${createdProduct.name}`);
5756
}
58-
// [END vision_product_search_create_product]
5957
createProduct();
58+
// [END vision_product_search_create_product]
6059
}
60+
process.on('unhandledRejection', err => {
61+
console.error(err.message);
62+
process.exitCode = 1;
63+
});
64+
6165
main(...process.argv.slice(2));

vision/samples/productSearch/createProductSet.js

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -16,13 +16,13 @@
1616

1717
function main(projectId, location, productSetId, productSetDisplayName) {
1818
// [START vision_product_search_create_product_set]
19-
async function createProductSet() {
20-
// Imports the Google Cloud client library
21-
const vision = require('@google-cloud/vision');
19+
// Imports the Google Cloud client library
20+
const vision = require('@google-cloud/vision');
2221

23-
// Creates a client
24-
const client = new vision.ProductSearchClient();
22+
// Creates a client
23+
const client = new vision.ProductSearchClient();
2524

25+
async function createProductSet() {
2626
/**
2727
* TODO(developer): Uncomment the following line before running the sample.
2828
*/
@@ -47,7 +47,13 @@ function main(projectId, location, productSetId, productSetDisplayName) {
4747
const [createdProductSet] = await client.createProductSet(request);
4848
console.log(`Product Set name: ${createdProductSet.name}`);
4949
}
50-
// [END vision_product_search_create_product_set]
5150
createProductSet();
51+
// [END vision_product_search_create_product_set]
5252
}
53+
54+
process.on('unhandledRejection', err => {
55+
console.error(err.message);
56+
process.exitCode = 1;
57+
});
58+
5359
main(...process.argv.slice(2));

vision/samples/productSearch/createReferenceImage.js

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,11 +16,11 @@
1616

1717
function main(projectId, location, productId, referenceImageId, gcsUri) {
1818
// [START vision_product_search_create_reference_image]
19-
async function createReferenceImage() {
20-
const vision = require('@google-cloud/vision');
19+
const vision = require('@google-cloud/vision');
2120

22-
const client = new vision.ProductSearchClient();
21+
const client = new vision.ProductSearchClient();
2322

23+
async function createReferenceImage() {
2424
/**
2525
* TODO(developer): Uncomment the following line before running the sample.
2626
*/
@@ -46,7 +46,13 @@ function main(projectId, location, productId, referenceImageId, gcsUri) {
4646
console.log(`response.name: ${response.name}`);
4747
console.log(`response.uri: ${response.uri}`);
4848
}
49-
// [END vision_product_search_create_reference_image]
5049
createReferenceImage();
50+
// [END vision_product_search_create_reference_image]
5151
}
52+
53+
process.on('unhandledRejection', err => {
54+
console.error(err.message);
55+
process.exitCode = 1;
56+
});
57+
5258
main(...process.argv.slice(2));

0 commit comments

Comments
 (0)