Overview
| Comment: | [core][js] phonet initialization | 
|---|---|
| Downloads: | Tarball | ZIP archive | SQL archive | 
| Timelines: | family | ancestors | descendants | both | core | webext2 | 
| Files: | files | file ages | folders | 
| SHA3-256: | 1d14af82722d19a0ff8d28162cbcc1f1 | 
| User & Date: | olr on 2017-08-03 09:06:04 | 
| Other Links: | branch diff | manifest | tags | 
Context
| 2017-08-03 | ||
| 09:10 | [core][js] default properties in conj, phonet and mfsp + export all properties of mfsp check-in: ec97664b24 user: olr tags: core, webext2 | |
| 09:06 | [core][js] phonet initialization check-in: 1d14af8272 user: olr tags: core, webext2 | |
| 08:43 | [core][js] mfsp initialization check-in: ef57c2c66f user: olr tags: core, webext2 | |
Changes
Modified gc_lang/fr/modules-js/phonet.js from [4d18c58f77] to [24f239f989].
| 1 2 | // Grammalecte - Suggestion phonétique | | > > > > | > > > | | | | > > | > | | | | | | | | | | > > > > > > > > > > > > > > > > | 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 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 | 
// Grammalecte - Suggestion phonétique
if (typeof(require) !== 'undefined') {
    var helpers = require("resource://grammalecte/helpers.js");
}
const phonet = {
    _dWord: null,
    _lSet: null,
    _dMorph: null,
    init: function (sJSONData) {
        try {
            let _oData = JSON.parse(sJSONData);
            this._dWord = helpers.objectToMap(_oData.dWord);
            this._lSet = _oData.lSet;
            this._dMorph = helpers.objectToMap(_oData.dMorph);
        }
        catch (e) {
            console.error(e);
        }
    },
    hasSimil: function (sWord, sPattern=null) {
        // return True if there is list of words phonetically similar to sWord
        if (!sWord) {
            return false;
        }
        if (this._dWord.has(sWord)) {
            if (sPattern) {
                return this.getSimil(sWord).some(sSimil => this._dMorph.gl_get(sSimil, []).some(sMorph => sMorph.search(sPattern) >= 0));
            }
            return true;
        }
        if (sWord.slice(0,1).gl_isUpperCase()) {
            sWord = sWord.toLowerCase();
            if (this._dWord.has(sWord)) {
                if (sPattern) {
                    return this.getSimil(sWord).some(sSimil => this._dMorph.gl_get(sSimil, []).some(sMorph => sMorph.search(sPattern) >= 0));
                }
                return true;
            }
        }
        return false;
    },
    getSimil: function (sWord) {
        // return list of words phonetically similar to sWord
        if (!sWord) {
            return [];
        }
        if (this._dWord.has(sWord)) {
            return this._lSet[this._dWord.get(sWord)];
        }
        if (sWord.slice(0,1).gl_isUpperCase()) {
            sWord = sWord.toLowerCase();
            if (this._dWord.has(sWord)) {
                return this._lSet[this._dWord.get(sWord)];
            }
        }
        return [];
    },
    selectSimil: function (sWord, sPattern) {
        // return list of words phonetically similar to sWord and whom POS is matching sPattern
        if (!sPattern) {
            return new Set(this.getSimil(sWord));
        }
        let aSelect = new Set();
        for (let sSimil of this.getSimil(sWord)) {
            for (let sMorph of this._dMorph.gl_get(sSimil, [])) {
                if (sMorph.search(sPattern) >= 0) {
                    aSelect.add(sSimil);
                }
            }
        }
        return aSelect;
    }
}
// Initialization
if (typeof(browser) !== 'undefined') {
    // WebExtension
    phonet.init(helpers.loadFile(browser.extension.getURL("grammalecte/fr/phonet_data.json")));
} else if (typeof(require) !== 'undefined') {
    // Add-on SDK and Thunderbird
    phonet.init(helpers.loadFile("resource://grammalecte/fr/phonet_data.json"));
} else {
    console.log("Error: Impossible d’initialiser le module phonet");
}
if (typeof(exports) !== 'undefined') {
    exports._dWord = phonet._dWord;
    exports._lSet = phonet._lSet;
    exports._dMorph = phonet._dMorph;
    exports.init = phonet.init;
    exports.hasSimil = phonet.hasSimil;
    exports.getSimil = phonet.getSimil;
    exports.selectSimil = phonet.selectSimil;
}
 | 
Modified gc_lang/fr/webext/gce_worker.js from [0692342b85] to [19de02aa0c].
| ︙ | ︙ | |||
| 23 24 25 26 27 28 29 30 31 32 33 34 35 36 | 
helpers.echo("START");
helpers.echo(conj.getConj("devenir", ":E", ":2s"));
helpers.echo(mfsp.getMasForm("emmerdeuse", true));
helpers.echo(mfsp.getMasForm("pointilleuse", false));
let oTokenizer = null;
let oDict = null;
let oLxg = null;
function loadGrammarChecker (sGCOptions="", sContext="JavaScript") {
    if (gce === null) {
 | > > > | 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 | 
helpers.echo("START");
helpers.echo(conj.getConj("devenir", ":E", ":2s"));
helpers.echo(mfsp.getMasForm("emmerdeuse", true));
helpers.echo(mfsp.getMasForm("pointilleuse", false));
helpers.echo(phonet.getSimil("est"));
let oTokenizer = null;
let oDict = null;
let oLxg = null;
function loadGrammarChecker (sGCOptions="", sContext="JavaScript") {
    if (gce === null) {
 | 
| ︙ | ︙ | 
Modified gc_lang/fr/webext/manifest.json from [8518105802] to [ce6a6e89b7].
| ︙ | ︙ | |||
| 32 33 34 35 36 37 38 39 40 41 42 43 44 45 | 
  "background": {
    "scripts": [
      "grammalecte/helpers.js",
      "grammalecte/text.js",
      "grammalecte/tokenizer.js",
      "grammalecte/fr/conj.js",
      "grammalecte/fr/mfsp.js",
      "gce_worker.js"
    ]
  },
  "web_accessible_resources": [
    "grammalecte/fr/conj_data.json",
    "grammalecte/fr/mfsp_data.json",
    "grammalecte/fr/phonet_data.json",
 | > | 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 | 
  "background": {
    "scripts": [
      "grammalecte/helpers.js",
      "grammalecte/text.js",
      "grammalecte/tokenizer.js",
      "grammalecte/fr/conj.js",
      "grammalecte/fr/mfsp.js",
      "grammalecte/fr/phonet.js",
      "gce_worker.js"
    ]
  },
  "web_accessible_resources": [
    "grammalecte/fr/conj_data.json",
    "grammalecte/fr/mfsp_data.json",
    "grammalecte/fr/phonet_data.json",
 | 
| ︙ | ︙ |