Hong-Phuc Bui
2025-01-16 2889de7f0c2d587a17fbd322af57c29e84238620
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
import {debugCallbacks} from "./debug.js";
 
export function translation(phrase, target, callbacks = debugCallbacks) {
    const API = "https://mathcoach.htwsaar.de/online-glossary/api/translation/";
    const url = new URL(API);
    // Append query with automatically escape ?origin=de&word=Asymptoten&target=*
    url.searchParams.append("origin", "de");
    url.searchParams.append("word", phrase);
    url.searchParams.append("target", target);
    callbacks.start();
    const promise = fetch(url, {
        headers: {"Accept" : "application/json"}
    });
    promise.then(response => {
        if (response.ok) {
            return response.json();
        } else {
            callbacks.onError(response);
        }
    }).then(json => {
        callbacks.onSuccess(json);
    }).catch(reason => {
        console.error("Unexpected error", reason);
    }).finally(() => {
        callbacks.finish();
    });
}
 
 
// Debug only
window.translation =translation;