add initial marp implementation with sample content and build configuration
This commit is contained in:
68
node_modules/speech-rule-engine/mjs/audio/aural_rendering.js
generated
vendored
Normal file
68
node_modules/speech-rule-engine/mjs/audio/aural_rendering.js
generated
vendored
Normal file
@@ -0,0 +1,68 @@
|
||||
import { Engine } from '../common/engine.js';
|
||||
import * as EngineConst from '../common/engine_const.js';
|
||||
import { AcssRenderer } from './acss_renderer.js';
|
||||
import { LayoutRenderer } from './layout_renderer.js';
|
||||
import { PunctuationRenderer } from './punctuation_renderer.js';
|
||||
import { SableRenderer } from './sable_renderer.js';
|
||||
import { Span } from './span.js';
|
||||
import { SsmlRenderer } from './ssml_renderer.js';
|
||||
import { CountingRenderer, StringRenderer } from './string_renderer.js';
|
||||
import { XmlRenderer } from './xml_renderer.js';
|
||||
const xmlInstance = new SsmlRenderer();
|
||||
const renderers = new Map([
|
||||
[EngineConst.Markup.NONE, new StringRenderer()],
|
||||
[EngineConst.Markup.COUNTING, new CountingRenderer()],
|
||||
[EngineConst.Markup.PUNCTUATION, new PunctuationRenderer()],
|
||||
[EngineConst.Markup.LAYOUT, new LayoutRenderer()],
|
||||
[EngineConst.Markup.ACSS, new AcssRenderer()],
|
||||
[EngineConst.Markup.SABLE, new SableRenderer()],
|
||||
[EngineConst.Markup.VOICEXML, xmlInstance],
|
||||
[EngineConst.Markup.SSML, xmlInstance]
|
||||
]);
|
||||
export function setSeparator(sep) {
|
||||
const renderer = renderers.get(Engine.getInstance().markup);
|
||||
if (renderer) {
|
||||
renderer.separator = sep;
|
||||
}
|
||||
}
|
||||
export function getSeparator() {
|
||||
const renderer = renderers.get(Engine.getInstance().markup);
|
||||
return renderer ? renderer.separator : '';
|
||||
}
|
||||
export function markup(descrs) {
|
||||
const renderer = renderers.get(Engine.getInstance().markup);
|
||||
if (!renderer) {
|
||||
return '';
|
||||
}
|
||||
return renderer.markup(descrs);
|
||||
}
|
||||
export function merge(strs) {
|
||||
const span = strs.map((s) => {
|
||||
return typeof s === 'string' ? Span.stringEmpty(s) : s;
|
||||
});
|
||||
const renderer = renderers.get(Engine.getInstance().markup);
|
||||
if (!renderer) {
|
||||
return strs.join();
|
||||
}
|
||||
return renderer.merge(span);
|
||||
}
|
||||
export function finalize(str) {
|
||||
const renderer = renderers.get(Engine.getInstance().markup);
|
||||
if (!renderer) {
|
||||
return str;
|
||||
}
|
||||
return renderer.finalize(str);
|
||||
}
|
||||
export function error(key) {
|
||||
const renderer = renderers.get(Engine.getInstance().markup);
|
||||
if (!renderer) {
|
||||
return '';
|
||||
}
|
||||
return renderer.error(key);
|
||||
}
|
||||
export function registerRenderer(type, renderer) {
|
||||
renderers.set(type, renderer);
|
||||
}
|
||||
export function isXml() {
|
||||
return renderers.get(Engine.getInstance().markup) instanceof XmlRenderer;
|
||||
}
|
||||
Reference in New Issue
Block a user