Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion web/src/app/browser/src/defaultBrowserRules.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ import {

import { ContextManager } from './contextManager.js';

export default class DefaultBrowserRules extends DefaultRules {
export class DefaultBrowserRules extends DefaultRules {
private contextManager: ContextManager;

constructor(contextManager: ContextManager) {
Expand Down
2 changes: 1 addition & 1 deletion web/src/app/browser/src/keymanEngine.ts
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ import KeyboardObject = KeymanWebKeyboard.KeyboardObject;
import * as views from './viewsAnchorpoint.js';
import { BrowserConfiguration, BrowserInitOptionDefaults, BrowserInitOptionSpec } from './configuration.js';
import { ContextManager } from './contextManager.js';
import DefaultBrowserRules from './defaultBrowserRules.js';
import { DefaultBrowserRules } from './defaultBrowserRules.js';
import { HardwareEventKeyboard } from './hardwareEventKeyboard.js';
import { FocusStateAPIObject } from './context/focusAssistant.js';
import { PageIntegrationHandlers } from './context/pageIntegrationHandlers.js';
Expand Down
2 changes: 1 addition & 1 deletion web/src/app/webview/src/keymanEngine.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ import { toPrefixedKeyboardId, toUnprefixedKeyboardId } from 'keyman/engine/keyb

import { WebviewConfiguration, WebviewInitOptionDefaults, WebviewInitOptionSpec } from './configuration.js';
import { ContextManager, HostTextStore } from './contextManager.js';
import PassthroughKeyboard from './passthroughKeyboard.js';
import { PassthroughKeyboard } from './passthroughKeyboard.js';
import { buildEmbeddedGestureConfig, setupEmbeddedListeners } from './oskConfiguration.js';
import { WorkerFactory } from '@keymanapp/lexical-model-layer';

Expand Down
2 changes: 1 addition & 1 deletion web/src/app/webview/src/passthroughKeyboard.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import { DeviceSpec, Keyboard, KeyEvent, ManagedPromise } from 'keyman/engine/ke

import { HardKeyboardBase, processForMnemonicsAndLegacy } from 'keyman/engine/main';

export default class PassthroughKeyboard extends HardKeyboardBase {
export class PassthroughKeyboard extends HardKeyboardBase {
readonly baseDevice: DeviceSpec;
public activeKeyboard: Keyboard;

Expand Down
2 changes: 1 addition & 1 deletion web/src/common/web-utils/src/deepCopy.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
* Description Makes an actual copy (not a reference) of an object, copying simple members,
* arrays and member objects but not functions, so use with care!
*/
export default function deepCopy<T extends ({[key: string | number | symbol]: any} | Array<any>)>(p:T): T {
export function deepCopy<T extends ({[key: string | number | symbol]: any} | Array<any>)>(p:T): T {
// typeof undefined == 'undefined', ![] == false, !{} == false
if(typeof p != 'object' || !p) {
return p;
Expand Down
2 changes: 0 additions & 2 deletions web/src/common/web-utils/src/deviceSpec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -80,5 +80,3 @@ export namespace DeviceSpec {
export function physicalKeyDeviceAlias(device: DeviceSpec) {
return new DeviceSpec(device.browser, DeviceSpec.FormFactor.Desktop, device.OS, false);
}

export default DeviceSpec;
2 changes: 1 addition & 1 deletion web/src/common/web-utils/src/globalObject.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
* - In WebWorkers, returns `self`.
* - In Node, returns `global`.
*/
export default function getGlobalObject(): typeof globalThis {
export function globalObject(): typeof globalThis {
// Evergreen browsers have started defining 'globalThis'.
// Refer to https://devblogs.microsoft.com/typescript/announcing-typescript-3-4/#type-checking-for-globalthis
// and its referenced polyfill. Said polyfill is very complex, so we opt for this far leaner variant.
Expand Down
14 changes: 7 additions & 7 deletions web/src/common/web-utils/src/index.ts
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
// References all utility includes from a single file, making import/export simple.

export { default as deepCopy } from "./deepCopy.js";
export { deepCopy } from "./deepCopy.js";

export { default as DeviceSpec, physicalKeyDeviceAlias } from "./deviceSpec.js";
export { DeviceSpec, physicalKeyDeviceAlias } from "./deviceSpec.js";

/*
// An example valid use, post-import:
Expand All @@ -12,16 +12,16 @@ export { default as DeviceSpec, physicalKeyDeviceAlias } from "./deviceSpec.js";
true);
*/

export { default as Version } from "./version.js";
export { Version } from "./version.js";

export { default as globalObject } from "./globalObject.js";
export { globalObject } from "./globalObject.js";

export * as KMWString from './kmwstring.js';

export { default as ManagedPromise } from "./managedPromise.js";
export { default as TimeoutPromise, timedPromise } from "./timeoutPromise.js";
export { ManagedPromise } from "./managedPromise.js";
export { TimeoutPromise, timedPromise } from "./timeoutPromise.js";

export { default as PriorityQueue, QueueComparator } from "./priority-queue.js"
export { PriorityQueue, QueueComparator } from "./priority-queue.js"

export { isEmptyTransform } from './isEmptyTransform.js';

Expand Down
2 changes: 1 addition & 1 deletion web/src/common/web-utils/src/managedPromise.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
type ResolveSignature<Type> = (value: Type | PromiseLike<Type>) => void;
type RejectSignature = (reason?: any) => void;

export default class ManagedPromise<Type = void> {
export class ManagedPromise<Type = void> {
/**
* Calling this function will fulfill the Promise represented by this class.
*/
Expand Down
2 changes: 1 addition & 1 deletion web/src/common/web-utils/src/priority-queue.ts
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
*/
export type QueueComparator<Type> = (a: Type, b: Type) => number;

export default class PriorityQueue<Type> {
export class PriorityQueue<Type> {

private comparator: QueueComparator<Type>;
private heap: Type[];
Expand Down
4 changes: 2 additions & 2 deletions web/src/common/web-utils/src/timeoutPromise.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import ManagedPromise from "./managedPromise.js";
import { ManagedPromise } from "./managedPromise.js";

/**
* This class represents a cancelable timeout, wrapped in Promise form.
Expand All @@ -7,7 +7,7 @@ import ManagedPromise from "./managedPromise.js";
* `reject` is called earlier. Call `.resolve(false)` for early cancellation
* or `.resolve(true)` to cancel the timer while resolving the Promise early.
*/
export default class TimeoutPromise extends ManagedPromise<Boolean> {
export class TimeoutPromise extends ManagedPromise<Boolean> {
private timerHandle: number | NodeJS.Timeout;
constructor(timeoutInMillis: number) {
// Helps marshal the internal timer handle to its member field despite being
Expand Down
2 changes: 1 addition & 1 deletion web/src/common/web-utils/src/version.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import KEYMAN_VERSION from "@keymanapp/keyman-version";

// Dotted-decimal version
export default class Version {
export class Version {
public static readonly CURRENT = new Version(KEYMAN_VERSION.VERSION_RELEASE);

// Represents a default version value for keyboards compiled before this was compiled into keyboards.
Expand Down
4 changes: 2 additions & 2 deletions web/src/engine/predictive-text/templates/src/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,6 @@ export {
SENTINEL_CODE_UNIT, applyTransform, buildMergedTransform, isHighSurrogate, isLowSurrogate, isSentinel,
transformToSuggestion, defaultApplyCasing
} from "./common.js";
export { default as QuoteBehavior } from "./quote-behavior.js";
export { QuoteBehavior } from "./quote-behavior.js";
export { getLastPreCaretToken, Token, Tokenization, tokenize, wordbreak } from "./tokenization.js";
export { default as TrieModel, TrieModelOptions } from "./trie-model.js";
export { TrieModel, TrieModelOptions } from "./trie-model.js";
Original file line number Diff line number Diff line change
Expand Up @@ -36,5 +36,3 @@ export namespace QuoteBehavior {
}
}
}

export default QuoteBehavior;
2 changes: 1 addition & 1 deletion web/src/engine/predictive-text/templates/src/trie-model.ts
Original file line number Diff line number Diff line change
Expand Up @@ -269,7 +269,7 @@ export class Traversal implements LexiconTraversal {
* prefix searches within words, however they are not very good
* at predicting the next word.
*/
export default class TrieModel implements LexicalModel {
export class TrieModel implements LexicalModel {
configuration?: Configuration;
private _trie: Trie;
readonly breakWords: WordBreakingFunction;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import { LexicalModelTypes } from '@keymanapp/common-types';
*
* @param phrase
*/
export default function ascii(phrase: string): LexicalModelTypes.Span[] {
export function ascii(phrase: string): LexicalModelTypes.Span[] {
let matchWord = /[A-Za-z0-9']+/g;
let words: LexicalModelTypes.Span[] = [];
let match: RegExpExecArray | null;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ export interface DefaultWordBreakerOptions {
* @see http://unicode.org/reports/tr29/#Word_Boundaries
* @see https://github.com/eddieantonio/unicode-default-word-boundary/tree/v12.0.0
*/
export default function default_(text: string, options?: DefaultWordBreakerOptions): LexicalModelTypes.Span[] {
export function default_(text: string, options?: DefaultWordBreakerOptions): LexicalModelTypes.Span[] {
let boundaries = findBoundaries(text, options);
if (boundaries.length == 0) {
return [];
Expand Down
6 changes: 3 additions & 3 deletions web/src/engine/predictive-text/wordbreakers/src/main/index.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import placeholder from "./placeholder.js";
import ascii from "./ascii.js";
import default_ from "./default/index.js";
import { placeholder } from "./placeholder.js";
import { ascii } from "./ascii.js";
import { default_ } from "./default/index.js";

export { placeholder, ascii, default_ as default, default_ as defaultWordbreaker };
export { type BreakerContext } from "./default/index.js";
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ import { LexicalModelTypes } from '@keymanapp/common-types';
* @param phrase The phrase in which to break words.
* @deprecated Use a word breaker tailored to your language instead!
*/
export default function placeholder(phrase: string): LexicalModelTypes.Span[] {
export function placeholder(phrase: string): LexicalModelTypes.Span[] {
let nextStart = 0;
return phrase.split(/\s+/).map(utterance => {
// XXX: The indices are NOT accurate to the original phrase!
Expand Down
4 changes: 2 additions & 2 deletions web/src/engine/predictive-text/worker-main/src/lmlayer.ts
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ import Distribution = LexicalModelTypes.Distribution;
import Reversion = LexicalModelTypes.Reversion;
import Suggestion = LexicalModelTypes.Suggestion;
import Transform = LexicalModelTypes.Transform;
import PromiseStore from "./promise-store.js";
import { PromiseStore } from "./promise-store.js";
import { OutgoingMessage } from '@keymanapp/lm-message-types';

/// <reference types="worker-interface.d.ts" />
Expand All @@ -53,7 +53,7 @@ import { OutgoingMessage } from '@keymanapp/lm-message-types';
* The top-level LMLayer will automatically starts up its own Web Worker.
*/

export default class LMLayer {
export class LMLayer {
/**
* The underlying worker instance. By default, this is the LMLayerWorker.
*/
Expand Down
6 changes: 3 additions & 3 deletions web/src/engine/predictive-text/worker-main/src/node/index.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
export { default as LMLayer } from '../lmlayer.js';
export { default as Worker } from './worker.js';
export { default as SourcemappedWorker } from './sourcemappedWorker.js';
export { LMLayer } from '../lmlayer.js';
export { Worker } from './worker.js';
export { SourcemappedWorker } from './sourcemappedWorker.js';

export interface WorkerFactory {
constructInstance(): Worker
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ self.importScripts = importScripts;
* cross-platform Worker support in the future, it may be wise to swap to use of
* that package.
*/
export default class MappedWorker extends worker.Worker implements Worker {
export class MappedWorker extends worker.Worker implements Worker {
constructor(scriptStr: string) {
const concatenatedScript = `
${nodeWorkerToWebWorkerMappingSource}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
import MappedWorker from "./mappedWorker.js";
import unwrap from '../unwrap.js';
import { MappedWorker } from "./mappedWorker.js";
import { unwrap } from '../unwrap.js';

import { LMLayerWorkerCode, LMLayerWorkerSourcemapComment } from "@keymanapp/lm-worker/worker-main.wrapped.js";

export default class SourcemappedWorker {
export class SourcemappedWorker {
static constructInstance(): Worker {
let scriptStr = unwrap(LMLayerWorkerCode);

Expand Down
6 changes: 3 additions & 3 deletions web/src/engine/predictive-text/worker-main/src/node/worker.ts
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
import MappedWorker from "./mappedWorker.js";
import unwrap from '../unwrap.js';
import { MappedWorker } from "./mappedWorker.js";
import { unwrap } from '../unwrap.js';

import { LMLayerWorkerCode, LMLayerWorkerSourcemapComment } from "@keymanapp/lm-worker/worker-main.wrapped.min.js";

export default class Worker {
export class Worker {
static constructInstance(): Worker {
let scriptStr = unwrap(LMLayerWorkerCode);
const srcMapUrlIndex = scriptStr.indexOf("//# sourceMappingURL")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ interface PromiseCallbacks<T> {
*
* <T> is the type of resolved value (value yielded successfully by promise).
*/
export default class PromiseStore<T> {
export class PromiseStore<T> {
// IE11 offers partial support for new Map().
// Assume only .get(), .set(), .has(), .delete(), and .size work.
// See: http://kangax.github.io/compat-table/es6/#test-Map
Expand Down
2 changes: 1 addition & 1 deletion web/src/engine/predictive-text/worker-main/src/unwrap.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
*
* @param fn The function whose body will be returned.
*/
export default function unwrap(encodedSrc: string): string {
export function unwrap(encodedSrc: string): string {
// There used to be more to this, but now it's a pretty simple passthrough!
return encodedSrc;
}
8 changes: 4 additions & 4 deletions web/src/engine/predictive-text/worker-main/src/web/index.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
export { default as LMLayer } from '../lmlayer.js';
export { default as Worker } from './worker.js';
export { default as SourcemappedWorker } from './sourcemappedWorker.js';
export { LMLayer } from '../lmlayer.js';
export { DefaultWorker as Worker } from './worker.js';
export { SourcemappedWorker } from './sourcemappedWorker.js';

export interface WorkerFactory {
constructInstance(): Worker
}
}
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import unwrap from '../unwrap.js';
import { unwrap } from '../unwrap.js';
import { LMLayerWorkerCode, LMLayerWorkerSourcemapComment } from "@keymanapp/lm-worker/worker-main.wrapped.js";

export default class SourcemappedWorker {
export class SourcemappedWorker {
// the only difference to DefaultWorker is that this class uses
// the unminified LM* blobs

Expand Down
6 changes: 3 additions & 3 deletions web/src/engine/predictive-text/worker-main/src/web/worker.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import unwrap from '../unwrap.js';
import { unwrap } from '../unwrap.js';
import { LMLayerWorkerCode, LMLayerWorkerSourcemapComment } from "@keymanapp/lm-worker/worker-main.wrapped.min.js";

export default class DefaultWorker {
export class DefaultWorker {
static constructInstance(): Worker {
return new Worker(this.asBlobURI(LMLayerWorkerCode));
}
Expand All @@ -28,7 +28,7 @@ export default class DefaultWorker {
// if(false) {
code += '\n' + LMLayerWorkerSourcemapComment;
// }
let blob = new Blob([code], { type: 'text/javascript' });
const blob = new Blob([code], { type: 'text/javascript' });
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sneaking in a different change 😉 I'll allow it

return URL.createObjectURL(blob);
}
}
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import { assert } from 'chai';
import sinon from 'sinon';

import PromiseStore from '#./promise-store.js';
import { PromiseStore } from '#./promise-store.js';
import { randomToken } from '@keymanapp/common-test-resources/model-helpers.mjs';

describe('PromiseStore', function () {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ import { KMWString } from 'keyman/common/web-utils';

import { ClassicalDistanceCalculation, EditOperation } from './classical-calculation.js';
import { SearchSpace } from './distance-modeler.js';
import TransformUtils from '../transformUtils.js';
import { TransformUtils } from '../transformUtils.js';
import { determineModelTokenizer } from '../model-helpers.js';
import { tokenizeTransform, tokenizeTransformDistribution } from './transform-tokenization.js';
import { LexicalModelTypes } from '@keymanapp/common-types';
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,14 @@
export * from './classical-calculation.js';
export * from './context-tracker.js';
export * from './distance-modeler.js';
export * from './execution-timer.js';
export * from './transform-tokenization.js';
export { type EditOperation, ClassicalDistanceCalculation } from './classical-calculation.js';
export {
getEditPathLastMatch, TrackedContextSuggestion,
TrackedContextToken, TrackedContextState, ContextTracker
} from './context-tracker.js';
export {
type TraversableToken, QUEUE_NODE_COMPARATOR, PartialSearchEdge,
SearchNode, SearchResult, SearchSpace
} from './distance-modeler.js';
export {
STANDARD_TIME_BETWEEN_DEFERS, ExecutionBucket,
ExecutionSpan, ExecutionTimer
} from './execution-timer.js';
export { tokenizeTransform, tokenizeTransformDistribution } from './transform-tokenization.js';
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ import * as correction from './correction/index.js';
import * as wordBreakers from '@keymanapp/models-wordbreakers';
import { KMWString } from "keyman/common/web-utils";

import ModelCompositor from './model-compositor.js';
import { ModelCompositor } from './model-compositor.js';
import { ImportScripts, IncomingMessage, LMLayerWorkerState, LoadMessage, ModelEval, ModelFile, ModelSourceSpec, PostMessage } from './worker-interfaces.js';
import { LexicalModelTypes } from '@keymanapp/common-types';
import Capabilities = LexicalModelTypes.Capabilities;
Expand Down Expand Up @@ -66,7 +66,7 @@ import { OutgoingMessageKind } from '@keymanapp/lm-message-types';
* The model and the configuration are ONLY relevant in the `ready` state;
* as such, they are NOT direct properties of the LMLayerWorker.
*/
export default class LMLayerWorker {
export class LMLayerWorker {
/**
* State pattern. This object handles onMessage().
* handleMessage() can transition to a different state, if
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ import { KMWString } from 'keyman/common/web-utils';
import { LexicalModelTypes } from '@keymanapp/common-types';

import * as correction from './correction/index.js'
import TransformUtils from './transformUtils.js';
import { TransformUtils } from './transformUtils.js';
import { applySuggestionCasing, correctAndEnumerate, dedupeSuggestions, finalizeSuggestions, predictionAutoSelect, processSimilarity, toAnnotatedSuggestion, tupleDisplayOrderSort } from './predict-helpers.js';
import { detectCurrentCasing, determineModelTokenizer, determineModelWordbreaker, determinePunctuationFromModel } from './model-helpers.js';

Expand Down Expand Up @@ -355,5 +355,3 @@ export class ModelCompositor {
}
}
}

export default ModelCompositor;
Loading