Skip to content

Commit dbd813d

Browse files
authored
Merge 14fefb9 into 5bec25a
2 parents 5bec25a + 14fefb9 commit dbd813d

36 files changed

+77993
-77881
lines changed

packages/client-adapters/dist/alpheios-client-adapters.js

Lines changed: 1301 additions & 1287 deletions
Large diffs are not rendered by default.

packages/client-adapters/dist/alpheios-client-adapters.js.map

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

packages/client-adapters/dist/alpheios-client-adapters.min.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

packages/client-adapters/dist/alpheios-client-adapters.node.js

Lines changed: 1236 additions & 1222 deletions
Large diffs are not rendered by default.

packages/client-adapters/dist/alpheios-client-adapters.node.js.map

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

packages/client-adapters/dist/alpheios-client-adapters.node.min.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

packages/client-adapters/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
"test-no-coverage": "jest",
1010
"test-c": "jest tests/morph-fixture.test.js",
1111
"test-u": "jest tests/adapters/tufts/tufts-example.test.js",
12-
"test-l": "jest tests/adapters/concordance/adapter.test.js",
12+
"test-l": "jest tests/adapters/translations/adapter.test.js",
1313
"build": "npm run build-lib && npm run build-node",
1414
"build-lib": "eslint --fix src/**/*.js && node --experimental-modules ./node_modules/alpheios-node-build/dist/build.mjs -m all -M all -p vue -c config.mjs",
1515
"build-node": "eslint --fix src/**/*.js && node --experimental-modules ./node_modules/alpheios-node-build/dist/build.mjs -m all -M all -p node-lib -c config-node.mjs",

packages/client-adapters/src/adapters/translations/adapter.js

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ class AlpheiosLemmaTranslationsAdapter extends BaseAdapter {
1313
this.config = this.uploadConfig(config, DefaultConfig)
1414
this.mapLangUri = {}
1515
this.provider = new ResourceProvider(this.config.url, this.config.rights)
16+
this.sourceData = config.sourceData
1617
}
1718

1819
/**
@@ -50,7 +51,12 @@ class AlpheiosLemmaTranslationsAdapter extends BaseAdapter {
5051
if (input && urlLang) {
5152
try {
5253
const url = urlLang + '?input=' + input
53-
const translationsList = await this.fetch(url)
54+
let translationsList
55+
if (this.sourceData && this.sourceData.translations) {
56+
translationsList = this.sourceData.translations
57+
} else {
58+
translationsList = await this.fetch(url)
59+
}
5460
if (translationsList && translationsList.constructor.name === 'AdapterError') {
5561
return
5662
}
@@ -84,7 +90,14 @@ class AlpheiosLemmaTranslationsAdapter extends BaseAdapter {
8490
async getAvailableResLang (inLang, outLang) {
8591
if (this.mapLangUri[inLang] === undefined) {
8692
const urlAvaLangsRes = this.config.url + '/' + inLang + '/'
87-
const unparsed = await this.fetch(urlAvaLangsRes)
93+
94+
let unparsed
95+
96+
if (!this.sourceData || !this.sourceData.langs) {
97+
unparsed = await this.fetch(urlAvaLangsRes)
98+
} else {
99+
unparsed = this.sourceData.langs
100+
}
88101

89102
if (unparsed && unparsed.constructor.name === 'AdapterError') {
90103
return unparsed

packages/client-adapters/src/client-adapters.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -249,7 +249,8 @@ class ClientAdapters {
249249
category: 'lemmatranslation',
250250
adapterName: 'alpheios',
251251
method: options.method,
252-
clientId: options.clientId
252+
clientId: options.clientId,
253+
sourceData: options.sourceData
253254
})
254255

255256
if (options.method === 'fetchTranslations') {

packages/client-adapters/tests/adapters/translations/adapter.test.js

Lines changed: 21 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -6,23 +6,30 @@ import AlpheiosLemmaTranslationsAdapter from '@clAdapters/adapters/translations/
66
import ClientAdapters from '@clAdapters/client-adapters.js'
77
import { LanguageModelFactory as LMF, Constants, Homonym, Lexeme, Lemma } from 'alpheios-data-models'
88

9+
import { Fixture, TranslationsFixture } from 'alpheios-fixtures'
10+
911
describe('lexicons/adapter.test.js', () => {
1012
console.error = function () {}
1113
console.log = function () {}
1214
console.warn = function () {}
1315

1416
let testSuccessHomonym, testLangID
15-
17+
1618
beforeAll(async () => {
1719
ClientAdapters.init()
1820
testLangID = Constants.LANG_LATIN
1921

22+
let sourceJson = Fixture.getFixtureRes({
23+
langCode: 'lat', adapter: 'tufts', word: 'mare'
24+
})
25+
2026
let homonymRes1 = await ClientAdapters.maAdapter({
2127
method: 'getHomonym',
2228
params: {
2329
languageID: testLangID,
2430
word: 'mare'
25-
}
31+
},
32+
sourceData: sourceJson
2633
})
2734
testSuccessHomonym = homonymRes1.result
2835
})
@@ -56,16 +63,19 @@ describe('lexicons/adapter.test.js', () => {
5663
expect(adapter.provider).toBeDefined()
5764
})
5865

59-
it.skip('2 AlpheiosLemmaTranslationsAdapter - getTranslationsList gets translations and adds no error', async () => {
66+
it('2 AlpheiosLemmaTranslationsAdapter - getTranslationsList gets translations and adds no error', async () => {
6067
let adapter = new AlpheiosLemmaTranslationsAdapter({
6168
category: 'lexicon',
6269
adapterName: 'alpheios',
63-
method: 'fetchTranslations'
70+
method: 'fetchTranslations',
71+
sourceData: {
72+
langs: TranslationsFixture.allLangs,
73+
translations: TranslationsFixture.library['lat-spa-mare']
74+
}
6475
})
6576

6677
adapter.addError = jest.fn()
6778
await adapter.getTranslationsList(testSuccessHomonym, 'es')
68-
let timeoutRes = await timeout(15000)
6979

7080
let translationsCheck = [
7181
['mar'], ['varón, macho; varonil, viril'], ['varón, macho; varonil, viril'], ['mar']
@@ -75,8 +85,6 @@ describe('lexicons/adapter.test.js', () => {
7585
expect(lexeme.lemma.translation).toBeDefined()
7686
expect(lexeme.lemma.translation.glosses).toEqual(translationsCheck[i])
7787
})
78-
79-
return timeoutRes
8088
}, 30000)
8189

8290
it('3 AlpheiosLemmaTranslationsAdapter - prepareInput creates input string for url', async () => {
@@ -99,13 +107,16 @@ describe('lexicons/adapter.test.js', () => {
99107
let adapter = new AlpheiosLemmaTranslationsAdapter({
100108
category: 'lexicon',
101109
adapterName: 'alpheios',
102-
method: 'fetchTranslations'
110+
method: 'fetchTranslations',
111+
sourceData: {
112+
langs: TranslationsFixture.allLangs
113+
}
103114
})
104115

105-
let resSuccess = await adapter.getAvailableResLang('lat', 'spa')
116+
let resSuccess = await adapter.getAvailableResLang('lat', 'spa', TranslationsFixture.allLangs)
106117
expect(resSuccess).toEqual('https://ats.alpheios.net/lat/spa')
107118

108-
let resFailed = await adapter.getAvailableResLang('lat', 'foo')
119+
let resFailed = await adapter.getAvailableResLang('lat', 'foo', TranslationsFixture.allLangs)
109120
expect(resFailed).toBeUndefined()
110121
})
111122

0 commit comments

Comments
 (0)