136
137
138
139
140
141
142
143
144
145
146
147
148
149
|
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
|
+
|
let bInitDone = false;
let oDict = null;
let oTokenizer = null;
let oLxg = null;
let oTest = null;
let oLocution = null;
/*
Technical note:
This worker don’t work as a PromiseWorker (which returns a promise), so when we send request
to this worker, we can’t wait the return of the answer just after the request made.
The answer is received by the background in another function (onmessage).
|
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
|
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
|
+
+
+
+
-
+
-
|
conj.init(helpers.loadFile(sExtensionPath + "/grammalecte/fr/conj_data.json"));
phonet.init(helpers.loadFile(sExtensionPath + "/grammalecte/fr/phonet_data.json"));
mfsp.init(helpers.loadFile(sExtensionPath + "/grammalecte/fr/mfsp_data.json"));
//console.log("[Worker] Modules have been initialized…");
gc_engine.load(sContext, sExtensionPath+"grammalecte/_dictionaries");
oDict = gc_engine.getDictionary();
oTest = new TestGrammarChecking(gc_engine, sExtensionPath+"/grammalecte/fr/tests_data.json");
oTokenizer = new Tokenizer("fr");
oLocution = helpers.loadFile(sExtensionPath + "/grammalecte/fr/locutions_data.json");
oLxg = new Lexicographe(oDict);
oLxg = new Lexicographe(oDict, oTokenizer, oLocution);
if (dOptions !== null) {
gc_engine.setOptions(dOptions);
}
oTokenizer = new Tokenizer("fr");
//tests();
bInitDone = true;
} else {
console.log("[Worker] Already initialized…")
}
// we always retrieve options from the gc_engine, for setOptions filters obsolete options
postMessage(createResponse("init", gc_engine.getOptions(), dInfo, true));
|
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
|
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
|
-
-
-
-
-
-
-
-
-
+
|
// Lexicographer
function getListOfTokens (sText, dInfo={}) {
try {
sText = sText.replace(//g, "").normalize("NFC");
for (let sParagraph of text.getParagraph(sText)) {
if (sParagraph.trim() !== "") {
let aElem = [];
let aRes = null;
for (let oToken of oTokenizer.genTokens(sParagraph)) {
aRes = oLxg.getInfoForToken(oToken);
if (aRes) {
aElem.push(aRes);
}
}
postMessage(createResponse("getListOfTokens", aElem, dInfo, false));
postMessage(createResponse("getListOfTokens", oLxg.getListOfTokensReduc(sParagraph, true), dInfo, false));
}
}
postMessage(createResponse("getListOfTokens", null, dInfo, true));
}
catch (e) {
helpers.logerror(e);
postMessage(createResponse("getListOfTokens", createErrorResult(e, "no tokens"), dInfo, true, true));
}
}
|