@euirim/microsoft-cognitiveservices-speech-sdk
Version:
Microsoft Cognitive Services Speech SDK for JavaScript
70 lines (68 loc) • 2.7 kB
JavaScript
;
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT license.
Object.defineProperty(exports, "__esModule", { value: true });
/**
* Responsible for building the object to be sent to the speech service to support dynamic grammars.
* @class DynamicGrammarBuilder
*/
var DynamicGrammarBuilder = /** @class */ (function () {
function DynamicGrammarBuilder() {
}
// Adds one more reference phrases to the dynamic grammar to send.
// All added phrases are generic phrases.
DynamicGrammarBuilder.prototype.addPhrase = function (phrase) {
if (!this.privPhrases) {
this.privPhrases = [];
}
if (phrase instanceof Array) {
this.privPhrases = this.privPhrases.concat(phrase);
}
else {
this.privPhrases.push(phrase);
}
};
// Clears all phrases stored in the current object.
DynamicGrammarBuilder.prototype.clearPhrases = function () {
this.privPhrases = undefined;
};
// Adds one or more reference grammars to the current grammar.
DynamicGrammarBuilder.prototype.addReferenceGrammar = function (grammar) {
if (!this.privGrammars) {
this.privGrammars = [];
}
if (grammar instanceof Array) {
this.privGrammars = this.privGrammars.concat(grammar);
}
else {
this.privGrammars.push(grammar);
}
};
// clears all grammars stored on the recognizer.
DynamicGrammarBuilder.prototype.clearGrammars = function () {
this.privGrammars = undefined;
};
// Generates an object that represents the dynamic grammar used by the Speech Service.
// This is done by building an object with the correct layout based on the phrases and reference grammars added to this instance
// of a DynamicGrammarBuilder
DynamicGrammarBuilder.prototype.generateGrammarObject = function () {
if (this.privGrammars === undefined && this.privPhrases === undefined) {
return undefined;
}
var retObj = {};
retObj.ReferenceGrammars = this.privGrammars;
if (undefined !== this.privPhrases && 0 !== this.privPhrases.length) {
var retPhrases_1 = [];
this.privPhrases.forEach(function (value, index, array) {
retPhrases_1.push({
Text: value,
});
});
retObj.Groups = [{ Type: "Generic", Items: retPhrases_1 }];
}
return retObj;
};
return DynamicGrammarBuilder;
}());
exports.DynamicGrammarBuilder = DynamicGrammarBuilder;
//# sourceMappingURL=DynamicGrammarBuilder.js.map