Skip to content

Commit d322dd7

Browse files
callmehiphopJustinBeckwith
authored andcommitted
refactor(samples): use pb-util to encode/decode structs (#311)
1 parent 39ab9cd commit d322dd7

File tree

4 files changed

+11
-118
lines changed

4 files changed

+11
-118
lines changed

dialogflow/detect.js

+5-9
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717

1818
const util = require('util');
1919
const fs = require('fs');
20-
const structjson = require('./structjson.js');
20+
const {struct} = require('pb-util');
2121
const pump = require('pump');
2222
const through2 = require('through2');
2323

@@ -67,9 +67,7 @@ function detectTextIntent(projectId, sessionId, queries, languageCode) {
6767
// value contains fields with value of null, which causes error
6868
// when encoding it back. Converting to JSON and back to proto
6969
// removes those values.
70-
context.parameters = structjson.jsonToStructProto(
71-
structjson.structProtoToJson(context.parameters)
72-
);
70+
context.parameters = struct.encode(struct.decode(context.parameters));
7371
});
7472
request.queryParams = {
7573
contexts: response.queryResult.outputContexts,
@@ -114,7 +112,7 @@ async function detectEventIntent(
114112
queryInput: {
115113
event: {
116114
name: eventName,
117-
parameters: structjson.jsonToStructProto({foo: 'bar'}),
115+
parameters: struct.encode({foo: 'bar'}),
118116
languageCode: languageCode,
119117
},
120118
},
@@ -254,16 +252,14 @@ function logQueryResult(sessionClient, result) {
254252
} else {
255253
console.log(` No intent matched.`);
256254
}
257-
const parameters = JSON.stringify(
258-
structjson.structProtoToJson(result.parameters)
259-
);
255+
const parameters = JSON.stringify(struct.decode(result.parameters));
260256
console.log(` Parameters: ${parameters}`);
261257
if (result.outputContexts && result.outputContexts.length) {
262258
console.log(` Output contexts:`);
263259
result.outputContexts.forEach(context => {
264260
const contextId = contextClient.matchContextFromContextName(context.name);
265261
const contextParameters = JSON.stringify(
266-
structjson.structProtoToJson(context.parameters)
262+
struct.decode(context.parameters)
267263
);
268264
console.log(` ${contextId}`);
269265
console.log(` lifespan: ${context.lifespanCount}`);

dialogflow/detect.v2beta1.js

+3-5
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,9 @@
1616
'use strict';
1717

1818
const projectId = process.env.GCLOUD_PROJECT;
19+
const {struct} = require('pb-util');
1920
const sessionId = require('uuid/v1')();
2021
const util = require('util');
21-
const structjson = require('./structjson.js');
2222

2323
async function createKnowledgeBase(projectId, displayName) {
2424
// [START dialogflow_create_knowledge_base]
@@ -482,16 +482,14 @@ async function detectIntentwithModelSelection(
482482
} else {
483483
console.log(` No intent matched.`);
484484
}
485-
const parameters = JSON.stringify(
486-
structjson.structProtoToJson(result.parameters)
487-
);
485+
const parameters = JSON.stringify(struct.decode(result.parameters));
488486
console.log(` Parameters: ${parameters}`);
489487
if (result.outputContexts && result.outputContexts.length) {
490488
console.log(` Output contexts:`);
491489
result.outputContexts.forEach(context => {
492490
const contextId = contextClient.matchContextFromContextName(context.name);
493491
const contextParameters = JSON.stringify(
494-
structjson.structProtoToJson(context.parameters)
492+
struct.decode(context.parameters)
495493
);
496494
console.log(` ${contextId}`);
497495
console.log(` lifespan: ${context.lifespanCount}`);

dialogflow/package.json

+3-2
Original file line numberDiff line numberDiff line change
@@ -16,10 +16,11 @@
1616
},
1717
"dependencies": {
1818
"dialogflow": "^0.8.2",
19+
"pb-util": "^0.1.0",
1920
"pump": "^3.0.0",
2021
"through2": "^3.0.0",
21-
"yargs": "^13.0.0",
22-
"uuid": "^3.3.2"
22+
"uuid": "^3.3.2",
23+
"yargs": "^13.0.0"
2324
},
2425
"devDependencies": {
2526
"chai": "^4.2.0",

dialogflow/structjson.js

-102
This file was deleted.

0 commit comments

Comments
 (0)