UNPKG

speech-rule-engine

Version:

A standalone speech rule engine for XML structures, based on the original engine from ChromeVox.

112 lines 4.41 kB
"use strict"; var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { if (k2 === undefined) k2 = k; var desc = Object.getOwnPropertyDescriptor(m, k); if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { desc = { enumerable: true, get: function() { return m[k]; } }; } Object.defineProperty(o, k2, desc); }) : (function(o, m, k, k2) { if (k2 === undefined) k2 = k; o[k2] = m[k]; })); var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v }); }) : function(o, v) { o["default"] = v; }); var __importStar = (this && this.__importStar) || (function () { var ownKeys = function(o) { ownKeys = Object.getOwnPropertyNames || function (o) { var ar = []; for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k; return ar; }; return ownKeys(o); }; return function (mod) { if (mod && mod.__esModule) return mod; var result = {}; if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]); __setModuleDefault(result, mod); return result; }; })(); Object.defineProperty(exports, "__esModule", { value: true }); exports.setSeparator = setSeparator; exports.getSeparator = getSeparator; exports.markup = markup; exports.merge = merge; exports.finalize = finalize; exports.error = error; exports.registerRenderer = registerRenderer; exports.isXml = isXml; const engine_js_1 = require("../common/engine.js"); const EngineConst = __importStar(require("../common/engine_const.js")); const acss_renderer_js_1 = require("./acss_renderer.js"); const layout_renderer_js_1 = require("./layout_renderer.js"); const punctuation_renderer_js_1 = require("./punctuation_renderer.js"); const sable_renderer_js_1 = require("./sable_renderer.js"); const span_js_1 = require("./span.js"); const ssml_renderer_js_1 = require("./ssml_renderer.js"); const string_renderer_js_1 = require("./string_renderer.js"); const xml_renderer_js_1 = require("./xml_renderer.js"); const xmlInstance = new ssml_renderer_js_1.SsmlRenderer(); const renderers = new Map([ [EngineConst.Markup.NONE, new string_renderer_js_1.StringRenderer()], [EngineConst.Markup.COUNTING, new string_renderer_js_1.CountingRenderer()], [EngineConst.Markup.PUNCTUATION, new punctuation_renderer_js_1.PunctuationRenderer()], [EngineConst.Markup.LAYOUT, new layout_renderer_js_1.LayoutRenderer()], [EngineConst.Markup.ACSS, new acss_renderer_js_1.AcssRenderer()], [EngineConst.Markup.SABLE, new sable_renderer_js_1.SableRenderer()], [EngineConst.Markup.VOICEXML, xmlInstance], [EngineConst.Markup.SSML, xmlInstance] ]); function setSeparator(sep) { const renderer = renderers.get(engine_js_1.Engine.getInstance().options.markup); if (renderer) { renderer.separator = sep; } } function getSeparator() { const renderer = renderers.get(engine_js_1.Engine.getInstance().options.markup); return renderer ? renderer.separator : ''; } function markup(descrs) { const renderer = renderers.get(engine_js_1.Engine.getInstance().options.markup); if (!renderer) { return ''; } return renderer.markup(descrs); } function merge(strs) { const span = strs.map((s) => { return typeof s === 'string' ? span_js_1.Span.stringEmpty(s) : s; }); const renderer = renderers.get(engine_js_1.Engine.getInstance().options.markup); if (!renderer) { return strs.join(); } return renderer.merge(span); } function finalize(str) { const renderer = renderers.get(engine_js_1.Engine.getInstance().options.markup); if (!renderer) { return str; } return renderer.finalize(str); } function error(key) { const renderer = renderers.get(engine_js_1.Engine.getInstance().options.markup); if (!renderer) { return ''; } return renderer.error(key); } function registerRenderer(type, renderer) { renderers.set(type, renderer); } function isXml() { return (renderers.get(engine_js_1.Engine.getInstance().options.markup) instanceof xml_renderer_js_1.XmlRenderer); } //# sourceMappingURL=aural_rendering.js.map