wn-ts-node
Version:
Wordnet interface library - TypeScript port
96 lines (95 loc) • 2.46 kB
JavaScript
import { K as r } from "./index-DslY9aj0.js";
class y {
kyselyWordnet;
constructor(e = "*", t = {}) {
const s = {
filename: ":memory:",
...t
};
this.kyselyWordnet = new r(e, s);
}
// Core database operations
async query(e, t) {
return console.warn("Direct SQL queries not implemented in NodeWordNetCore. Use specific methods instead."), [];
}
// Base WordNet methods (delegate to KyselyWordnet)
async words(e) {
return this.kyselyWordnet.words(e);
}
async word(e) {
const t = await this.kyselyWordnet.getWord(e);
if (!t)
throw new Error(`Word with id ${e} not found`);
return t;
}
async synsets(e) {
return this.kyselyWordnet.synsets(e);
}
async synset(e) {
const t = await this.kyselyWordnet.getSynset(e);
if (!t)
throw new Error(`Synset with id ${e} not found`);
return t;
}
async senses(e) {
return this.kyselyWordnet.senses(e);
}
async sense(e) {
const t = await this.kyselyWordnet.getSense(e);
if (!t)
throw new Error(`Sense with id ${e} not found`);
return t;
}
// ILI methods (delegate to KyselyWordnet)
async ili(e) {
const t = await this.kyselyWordnet.getIli(e);
if (!t)
throw new Error(`ILI with id ${e} not found`);
return t;
}
async ilis(e) {
return this.kyselyWordnet.ilis(e);
}
async lexicons() {
return this.kyselyWordnet.lexicons();
}
async synsetsByILI(e) {
return this.kyselyWordnet.synsetsByILI(e);
}
// Additional methods for plugin system
async getWord(e) {
return this.kyselyWordnet.words({ form: e });
}
async getSynset(e) {
try {
return await this.kyselyWordnet.getSynset(e);
} catch {
return null;
}
}
async getSenses(e) {
return this.kyselyWordnet.senses({ wordIdOrForm: e });
}
async getDefinitions(e) {
const t = await this.kyselyWordnet.getSynset(e);
return t ? t.definitions || [] : [];
}
async getRelations(e, t) {
const s = await this.kyselyWordnet.getSynset(e);
return !s || !s.relations ? [] : t ? s.relations.filter((n) => n.type === t) : s.relations;
}
// Additional utility methods
async initialize() {
await this.kyselyWordnet.initialize();
}
async close() {
await this.kyselyWordnet.close();
}
// Get the underlying KyselyWordnet instance for advanced usage
getKyselyWordnet() {
return this.kyselyWordnet;
}
}
export {
y as NodeWordNetCore
};