wn-ts-node
Version:
Wordnet interface library - TypeScript port
116 lines (105 loc) • 3.75 kB
TypeScript
export declare interface Config {
dataDirectory: string;
downloadDirectory: string;
databasePath: string;
allowMultithreading: boolean;
}
export declare const config: ConfigManager;
/**
* Concrete Node.js implementation of ConfigManager
* Extends the abstract ConfigManager from wn-ts-core
*/
export declare class ConfigManager extends ConfigManager_2 {
private _dataDirectory;
private _projects;
private _allowMultithreading;
constructor();
get dataDirectory(): string;
set dataDirectory(path: string);
get databasePath(): string;
get downloadDirectory(): string;
get allowMultithreading(): boolean;
set allowMultithreading(value: boolean);
get index(): Record<string, any>;
getCachePath(url: string): string;
addProject(id: string, type?: string, label?: string, language?: string, license?: string, error?: string): void;
addProjectVersion(id: string, version: string, url?: string, error?: string, license?: string): void;
getProjectInfo(arg: string): any;
loadIndex(path: string): void;
ensureDirectory(path: string): void;
isDirectory(path: string): boolean;
splitLexiconSpecifier(spec: string): [string, string];
update(data: Record<string, any>): void;
}
/**
* Abstract configuration manager interface
* Environment-specific packages will provide concrete implementations
*/
declare abstract class ConfigManager_2 {
abstract get dataDirectory(): string;
abstract set dataDirectory(path: string);
abstract get downloadDirectory(): string;
abstract get allowMultithreading(): boolean;
abstract set allowMultithreading(value: boolean);
abstract get index(): Record<string, ProjectConfig>;
abstract getCachePath(url: string): string;
abstract addProject(id: string, type?: string, label?: string, language?: string, license?: string, error?: string): void;
abstract addProjectVersion(id: string, version: string, url?: string, error?: string, license?: string): void;
abstract getProjectInfo(arg: string): ProjectInfo_2;
abstract loadIndex(path: string): void;
abstract ensureDirectory(path: string): void;
abstract isDirectory(path: string): boolean;
abstract splitLexiconSpecifier(spec: string): [string, string];
abstract update(data: Record<string, any>): void;
}
export declare interface Project {
type?: string;
label?: string | undefined;
language?: string | undefined;
license?: string | undefined;
error?: string | undefined;
versions: Record<string, ProjectVersion>;
}
declare interface ProjectConfig {
type?: string;
label?: string | undefined;
language?: string | undefined;
license?: string | undefined;
error?: string | undefined;
versions: Record<string, ProjectVersion_2>;
}
export declare interface ProjectInfo {
id: string;
version: string;
type: string;
label: string;
language: string;
license: string;
resource_urls: string[];
cache?: string | undefined;
}
declare interface ProjectInfo_2 {
id: string;
version: string;
type: string;
label: string;
language: string;
license: string;
resource_urls: string[];
cache?: string | undefined;
}
export declare interface ProjectVersion {
resource_urls?: string[];
error?: string;
license?: string;
}
/**
* Environment-agnostic configuration interfaces for wn-ts-core
* Concrete implementations will be provided by environment-specific packages
*/
declare interface ProjectVersion_2 {
resource_urls?: string[];
error?: string;
license?: string;
}
export { }