From 866ede8ea4fea3d653e8965ccaa2afb976b77c6c Mon Sep 17 00:00:00 2001 From: Marc Durdin Date: Fri, 25 Sep 2026 08:45:32 +0200 Subject: [PATCH] chore(web): clarify `LanguageProcessorSpec` usage We had the interface but never showed where it was implemented. Test-bot: skip --- web/src/engine/src/interfaces/index.ts | 2 +- web/src/engine/src/main/headless/languageProcessor.ts | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/web/src/engine/src/interfaces/index.ts b/web/src/engine/src/interfaces/index.ts index 22366e3614..0a4c5aa35f 100644 --- a/web/src/engine/src/interfaces/index.ts +++ b/web/src/engine/src/interfaces/index.ts @@ -2,5 +2,5 @@ export { PathConfiguration } from './pathConfiguration.js'; export { PathOptionDefaults, PathOptionSpec } from './optionSpec.interface.js'; export { ModelSpec } from './modelSpec.js'; export { PredictionContext } from './prediction/predictionContext.js'; -export { LanguageProcessorEventMap, StateChangeEnum, ReadySuggestions } from './prediction/languageProcessor.interface.js'; +export { LanguageProcessorEventMap, StateChangeEnum, ReadySuggestions, type LanguageProcessorSpec } from './prediction/languageProcessor.interface.js'; export { OSKResourcePathConfiguration } from './oskResourcePathConfiguration.interface.js'; \ No newline at end of file diff --git a/web/src/engine/src/main/headless/languageProcessor.ts b/web/src/engine/src/main/headless/languageProcessor.ts index 20515c2288..238be77793 100644 --- a/web/src/engine/src/main/headless/languageProcessor.ts +++ b/web/src/engine/src/main/headless/languageProcessor.ts @@ -1,7 +1,7 @@ import { EventEmitter } from "eventemitter3"; import { LMLayer, WorkerFactory } from "@keymanapp/lexical-model-layer/web"; import { Transcription, TextStoreLanguageProcessorInterface, SyntheticTextStore, ProcessorAction } from 'keyman/engine/keyboard'; -import { LanguageProcessorEventMap, ModelSpec, StateChangeEnum, ReadySuggestions } from 'keyman/engine/interfaces'; +import { type LanguageProcessorEventMap, type ModelSpec, StateChangeEnum, ReadySuggestions, type LanguageProcessorSpec } from 'keyman/engine/interfaces'; import { ContextWindow } from "./contextWindow.js"; import { TranscriptionCache } from "./transcriptionCache.js"; import { LexicalModelTypes } from '@keymanapp/common-types'; @@ -11,7 +11,7 @@ import Reversion = LexicalModelTypes.Reversion; import Suggestion = LexicalModelTypes.Suggestion; /* Is more like the model configuration engine */ -export class LanguageProcessor extends EventEmitter { +export class LanguageProcessor extends EventEmitter implements LanguageProcessorSpec { private lmEngine: LMLayer; private currentModel?: ModelSpec; private configuration?: Configuration;