UNPKG

mesdan

Version:

Latinî mesdan ile Osmanî metin yazmak için hazırlanmış bir alettir.

95 lines (94 loc) 5.15 kB
import { hazırlaAlemMevkisini, hazırlaAlemMevkisiniMenzilli } from "../nev/alem-mevkisi"; import { TadiliMetinEmri } from "../nev/tadili-metin-emri"; import { ekleOsmaniMetneHarf } from "./ekle-osmani-metne-harf"; import { kaydirAlemiAşağı, kaydirAlemiSağa, kaydirAlemiSola, kaydirAlemiYukarı } from "./kaydir-alemi"; import { tensihZihne } from "./tensih-zihne"; import { tensihZihinden } from "./tensih-zihinden"; import { silOsmaniMetindenHarfSonra } from "./sil-osmani-metinden-harf-sonra"; import { silOsmaniMetindenHarfBaşra } from "./sil-osmani-metinden-harf-basra"; export const Talimat_MetniTadilEt = async (metinSahası, metin, alemMevkisi, tadiliMetinEmri, mesHadisesi, fizikiMesdanlıMı) => { // console.log("tadiliMetinEmri: " + JSON.stringify(tadiliMetinEmri)); // console.log("mesHadisesi: " + JSON.stringify(mesHadisesi)); // if (hususlar && tadiliMetinEmri === TadiliMetinEmri.ARA) { // if (hususlar.aramaTalepEdilince) { // hususlar.aramaTalepEdilince(); // } // } // else if (tadiliMetinEmri === TadiliMetinEmri.TEMİZLE) { // alemMevkisiTadilSonrası = hazırlaAlemMevkisini(0); // tebdilMetin(""); // } let metinTadilSonrası = metin; let alemMevkisiTadilSonrası = alemMevkisi; let sahneYenidenÇizilsinMi = false; if (tadiliMetinEmri === TadiliMetinEmri.ALEM_SAĞA) { alemMevkisiTadilSonrası = kaydirAlemiSağa(metin, alemMevkisi); } else if (tadiliMetinEmri === TadiliMetinEmri.ALEM_SOLA) { alemMevkisiTadilSonrası = kaydirAlemiSola(metin, alemMevkisi); } else if (tadiliMetinEmri === TadiliMetinEmri.ALEM_YUKARI) { // alemMevkisiTadilSonrası = hazırlaAlemMevkisini(0); alemMevkisiTadilSonrası = kaydirAlemiYukarı(metin, alemMevkisi); } else if (tadiliMetinEmri === TadiliMetinEmri.ALEM_AŞAĞI) { // alemMevkisiTadilSonrası = hazırlaAlemMevkisini(metin.length); alemMevkisiTadilSonrası = kaydirAlemiAşağı(metin, alemMevkisi); } else if (tadiliMetinEmri === TadiliMetinEmri.KES) { const kesilecekMetin = metin.slice(alemMevkisi.başMevki, alemMevkisi.sonMevki); tensihZihne(kesilecekMetin, (netice) => { }); const kesilmedenSonraMetin = metin.slice(0, alemMevkisi.başMevki) + metin.slice(alemMevkisi.sonMevki); alemMevkisiTadilSonrası = hazırlaAlemMevkisini(alemMevkisi.başMevki); metinTadilSonrası = kesilmedenSonraMetin; } else if (tadiliMetinEmri === TadiliMetinEmri.TENSİH) { const TENSİHnacakMetin = metin.slice(alemMevkisi.başMevki, alemMevkisi.sonMevki); tensihZihne(TENSİHnacakMetin, (netice) => { }); } else if (tadiliMetinEmri === TadiliMetinEmri.YAPIŞTIR) { const hafızadakiMetin = await tensihZihinden(); if (hafızadakiMetin.length > 0) { const ilavedenSonraMetin = metin.slice(0, alemMevkisi.başMevki) + hafızadakiMetin + metin.slice(alemMevkisi.sonMevki); alemMevkisiTadilSonrası = hazırlaAlemMevkisini(alemMevkisi.başMevki + hafızadakiMetin.length); metinTadilSonrası = ilavedenSonraMetin; } else { // yapıştırma için hafızadan metni okuyamazsak mevcud Metni gösterelim sahneYenidenÇizilsinMi = true; } } else if (tadiliMetinEmri === TadiliMetinEmri.SİL_EVVELDEN) { let alemMevkisiMenzili = hazırlaAlemMevkisiniMenzilli(alemMevkisi.sonMevki, alemMevkisi.sonMevki); if (fizikiMesdanlıMı) { alemMevkisiMenzili = hazırlaAlemMevkisiniMenzilli(alemMevkisi.başMevki, alemMevkisi.sonMevki); } const { metinOsmani, alemBaşMevkisi } = silOsmaniMetindenHarfBaşra(metin, alemMevkisiMenzili); alemMevkisiTadilSonrası = hazırlaAlemMevkisini(alemBaşMevkisi); metinTadilSonrası = metinOsmani; } else if (tadiliMetinEmri === TadiliMetinEmri.SİL_AHİRDEN) { let alemMevkisiMenzili = hazırlaAlemMevkisiniMenzilli(alemMevkisi.sonMevki, alemMevkisi.sonMevki); if (fizikiMesdanlıMı) { alemMevkisiMenzili = hazırlaAlemMevkisiniMenzilli(alemMevkisi.başMevki, alemMevkisi.sonMevki); } const { metinOsmani, alemBaşMevkisi } = silOsmaniMetindenHarfSonra(metin, alemMevkisiMenzili); alemMevkisiTadilSonrası = hazırlaAlemMevkisini(alemBaşMevkisi); metinTadilSonrası = metinOsmani; } else if (tadiliMetinEmri === TadiliMetinEmri.EKLE) { const { metinOsmani, alemBaşMevkisi } = ekleOsmaniMetneHarf(metin, hazırlaAlemMevkisiniMenzilli(alemMevkisi.başMevki, alemMevkisi.sonMevki), mesHadisesi); alemMevkisiTadilSonrası = hazırlaAlemMevkisini(alemBaşMevkisi); metinTadilSonrası = metinOsmani; if (metin === metinOsmani) { // metin değişmezse latin harfi görünüyor, sahneyi tekrar çizmeliyiz sahneYenidenÇizilsinMi = true; } } // console.log("alemMevkisi: " + JSON.stringify(alemMevkisi)); return { metinTadilSonrası, alemMevkisiTadilSonrası, sahneYenidenÇizilsinMi, }; };