@fidel-tools/core 0.1.0 → 0.1.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/normalizer.js +16 -14
- package/dist/normalizer.js.map +1 -1
- package/dist/pipeline.d.ts +3 -3
- package/dist/pipeline.js +31 -8
- package/dist/pipeline.js.map +1 -1
- package/dist/transliterator.d.ts +3 -3
- package/dist/transliterator.js +24 -7
- package/dist/transliterator.js.map +1 -1
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -5,6 +5,6 @@ export { sentenceTokenize } from './sentence_tokenizer.js';
|
|
|
5
5
|
export { stem } from './stemmer.js';
|
|
6
6
|
export { removeStopwords } from './stopword_remover.js';
|
|
7
7
|
export { lexAnalyze } from './lexical_analyzer.js';
|
|
8
|
-
export { felig_transliterate
|
|
8
|
+
export { felig_transliterate } from './transliterator.js';
|
|
9
9
|
export { indexDocuments, indexQuery, indexTerms } from './indexer.js';
|
|
10
10
|
export { weighTerms, weigh_terms } from './term_weighter.js';
|
package/dist/index.js
CHANGED
|
@@ -6,7 +6,7 @@ export { sentenceTokenize } from './sentence_tokenizer.js';
|
|
|
6
6
|
export { stem } from './stemmer.js';
|
|
7
7
|
export { removeStopwords } from './stopword_remover.js';
|
|
8
8
|
export { lexAnalyze } from './lexical_analyzer.js';
|
|
9
|
-
export { felig_transliterate
|
|
9
|
+
export { felig_transliterate } from './transliterator.js';
|
|
10
10
|
export { indexDocuments, indexQuery, indexTerms } from './indexer.js';
|
|
11
11
|
export { weighTerms, weigh_terms } from './term_weighter.js';
|
|
12
12
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,yBAAyB;AACzB,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAExC,yDAAyD;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAC3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAA;AAC1D,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAA;AACnC,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA;AAClD,OAAO,EAAE,mBAAmB,EAAE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,yBAAyB;AACzB,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAExC,yDAAyD;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAC3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAA;AAC1D,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAA;AACnC,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA;AAClD,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAA;AACzD,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACrE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA"}
|
package/dist/normalizer.js
CHANGED
|
@@ -7,28 +7,30 @@
|
|
|
7
7
|
* @returns The normalized string.
|
|
8
8
|
*/
|
|
9
9
|
export function normalize(text, pack) {
|
|
10
|
+
if (!text) {
|
|
11
|
+
return "";
|
|
12
|
+
}
|
|
10
13
|
if (!pack.normalization) {
|
|
11
14
|
return text;
|
|
12
15
|
}
|
|
13
16
|
let normalized = text;
|
|
14
|
-
// 1. Apply char_map
|
|
17
|
+
// 1 & 2. Apply char_map and labialized_map in a single pass over characters
|
|
15
18
|
const charMap = pack.normalization.char_map || {};
|
|
16
|
-
let chars = normalized.split("");
|
|
17
|
-
for (let i = 0; i < chars.length; i++) {
|
|
18
|
-
if (charMap[chars[i]] !== undefined) {
|
|
19
|
-
chars[i] = charMap[chars[i]];
|
|
20
|
-
}
|
|
21
|
-
}
|
|
22
|
-
normalized = chars.join("");
|
|
23
|
-
// 2. Apply labialized_map
|
|
24
19
|
const labializedMap = pack.normalization.labialized_map || {};
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
20
|
+
if (Object.keys(charMap).length > 0 || Object.keys(labializedMap).length > 0) {
|
|
21
|
+
const chars = normalized.split("");
|
|
22
|
+
for (let i = 0; i < chars.length; i++) {
|
|
23
|
+
let char = chars[i];
|
|
24
|
+
if (charMap[char] !== undefined) {
|
|
25
|
+
char = charMap[char];
|
|
26
|
+
}
|
|
27
|
+
if (labializedMap[char] !== undefined) {
|
|
28
|
+
char = labializedMap[char];
|
|
29
|
+
}
|
|
30
|
+
chars[i] = char;
|
|
29
31
|
}
|
|
32
|
+
normalized = chars.join("");
|
|
30
33
|
}
|
|
31
|
-
normalized = chars2.join("");
|
|
32
34
|
// 3. Collapse gemination
|
|
33
35
|
const threshold = pack.normalization.gemination_threshold;
|
|
34
36
|
if (threshold !== undefined && threshold > 0) {
|
package/dist/normalizer.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"normalizer.js","sourceRoot":"","sources":["../src/normalizer.ts"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AACH,MAAM,UAAU,SAAS,CAAC,IAAY,EAAE,IAAkB;IACxD,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;QACxB,OAAO,IAAI,CAAA;IACb,CAAC;IAED,IAAI,UAAU,GAAG,IAAI,CAAA;IAErB,
|
|
1
|
+
{"version":3,"file":"normalizer.js","sourceRoot":"","sources":["../src/normalizer.ts"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AACH,MAAM,UAAU,SAAS,CAAC,IAAY,EAAE,IAAkB;IACxD,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,EAAE,CAAA;IACX,CAAC;IAED,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;QACxB,OAAO,IAAI,CAAA;IACb,CAAC;IAED,IAAI,UAAU,GAAG,IAAI,CAAA;IAErB,4EAA4E;IAC5E,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,QAAQ,IAAI,EAAE,CAAA;IACjD,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,cAAc,IAAI,EAAE,CAAA;IAE7D,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC7E,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;QAClC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACtC,IAAI,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;YACnB,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,SAAS,EAAE,CAAC;gBAChC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;YACtB,CAAC;YACD,IAAI,aAAa,CAAC,IAAI,CAAC,KAAK,SAAS,EAAE,CAAC;gBACtC,IAAI,GAAG,aAAa,CAAC,IAAI,CAAC,CAAA;YAC5B,CAAC;YACD,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAA;QACjB,CAAC;QACD,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IAC7B,CAAC;IAED,yBAAyB;IACzB,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,oBAAoB,CAAA;IACzD,IAAI,SAAS,KAAK,SAAS,IAAI,SAAS,GAAG,CAAC,EAAE,CAAC;QAC7C,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,eAAe,SAAS,IAAI,EAAE,GAAG,CAAC,CAAA;QAC3D,UAAU,GAAG,UAAU,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAA;IAC7E,CAAC;IAED,OAAO,UAAU,CAAA;AACnB,CAAC;AAED,eAAe,SAAS,CAAA"}
|
package/dist/pipeline.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { LanguagePack } from
|
|
2
|
-
import type { DocIndexData, QueryIndexData } from
|
|
1
|
+
import type { LanguagePack } from "./types.js";
|
|
2
|
+
import type { DocIndexData, QueryIndexData } from "./indexer.js";
|
|
3
3
|
export declare class Pipeline {
|
|
4
4
|
private pack;
|
|
5
5
|
constructor(pack: LanguagePack);
|
|
@@ -15,5 +15,5 @@ export declare class Pipeline {
|
|
|
15
15
|
content: string;
|
|
16
16
|
}>): DocIndexData;
|
|
17
17
|
indexQuery(query: string): QueryIndexData;
|
|
18
|
-
weighTerms(index: DocIndexData | QueryIndexData, type: "doc" | "query"): Record<string, any
|
|
18
|
+
weighTerms(index: DocIndexData | QueryIndexData, type: "doc" | "query"): Record<string, any> | null;
|
|
19
19
|
}
|
package/dist/pipeline.js
CHANGED
|
@@ -1,43 +1,66 @@
|
|
|
1
|
-
import { stem } from
|
|
2
|
-
import { removeStopwords } from
|
|
3
|
-
import { lexAnalyze } from
|
|
4
|
-
import { felig_transliterate, sera_transliterate } from
|
|
5
|
-
import { indexDocuments, indexQuery } from
|
|
6
|
-
import { weighTerms } from
|
|
7
|
-
import { normalize } from
|
|
8
|
-
import { sentenceTokenize } from
|
|
1
|
+
import { stem } from "./stemmer.js";
|
|
2
|
+
import { removeStopwords } from "./stopword_remover.js";
|
|
3
|
+
import { lexAnalyze } from "./lexical_analyzer.js";
|
|
4
|
+
import { felig_transliterate, sera_transliterate } from "./transliterator.js";
|
|
5
|
+
import { indexDocuments, indexQuery } from "./indexer.js";
|
|
6
|
+
import { weighTerms } from "./term_weighter.js";
|
|
7
|
+
import { normalize } from "./normalizer.js";
|
|
8
|
+
import { sentenceTokenize } from "./sentence_tokenizer.js";
|
|
9
9
|
export class Pipeline {
|
|
10
10
|
constructor(pack) {
|
|
11
11
|
this.pack = pack;
|
|
12
12
|
}
|
|
13
13
|
normalize(text) {
|
|
14
|
+
if (!text)
|
|
15
|
+
return "";
|
|
14
16
|
return normalize(text, this.pack);
|
|
15
17
|
}
|
|
16
18
|
sentenceTokenize(text) {
|
|
19
|
+
if (!text)
|
|
20
|
+
return [];
|
|
17
21
|
return sentenceTokenize(text, this.pack);
|
|
18
22
|
}
|
|
19
23
|
stem(word) {
|
|
24
|
+
if (!word)
|
|
25
|
+
return "";
|
|
20
26
|
return stem(word, this.pack);
|
|
21
27
|
}
|
|
22
28
|
removeStopwords(corpus) {
|
|
29
|
+
if (!corpus)
|
|
30
|
+
return "";
|
|
23
31
|
return removeStopwords(corpus, this.pack);
|
|
24
32
|
}
|
|
25
33
|
lexAnalyze(corpus) {
|
|
34
|
+
if (!corpus)
|
|
35
|
+
return "";
|
|
26
36
|
return lexAnalyze(corpus, this.pack);
|
|
27
37
|
}
|
|
28
38
|
feligTransliterate(word, lang) {
|
|
39
|
+
if (!word)
|
|
40
|
+
return "";
|
|
29
41
|
return felig_transliterate(word, lang, this.pack);
|
|
30
42
|
}
|
|
43
|
+
// Depreciated : Not used across our toolset (just here so we can fix it later)
|
|
31
44
|
seraTransliterate(word, lang) {
|
|
45
|
+
if (!word)
|
|
46
|
+
return "";
|
|
32
47
|
return sera_transliterate(word, lang, this.pack);
|
|
33
48
|
}
|
|
34
49
|
indexDocuments(docs) {
|
|
50
|
+
if (!docs || docs.length === 0) {
|
|
51
|
+
return { corpus_size: 0, corpus_word_count: {}, words: {} };
|
|
52
|
+
}
|
|
35
53
|
return indexDocuments(docs, this.pack);
|
|
36
54
|
}
|
|
37
55
|
indexQuery(query) {
|
|
56
|
+
if (!query) {
|
|
57
|
+
return { corpus_size: 0, corpus_word_count: 0, words: {} };
|
|
58
|
+
}
|
|
38
59
|
return indexQuery(query, this.pack);
|
|
39
60
|
}
|
|
40
61
|
weighTerms(index, type) {
|
|
62
|
+
if (!index)
|
|
63
|
+
return null;
|
|
41
64
|
return weighTerms(index, type);
|
|
42
65
|
}
|
|
43
66
|
}
|
package/dist/pipeline.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pipeline.js","sourceRoot":"","sources":["../src/pipeline.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,
|
|
1
|
+
{"version":3,"file":"pipeline.js","sourceRoot":"","sources":["../src/pipeline.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AACpC,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAC9E,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAEhD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAE3D,MAAM,OAAO,QAAQ;IACjB,YAAoB,IAAkB;QAAlB,SAAI,GAAJ,IAAI,CAAc;IAAG,CAAC;IAE1C,SAAS,CAAC,IAAY;QAClB,IAAI,CAAC,IAAI;YAAE,OAAO,EAAE,CAAC;QACrB,OAAO,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IACtC,CAAC;IAED,gBAAgB,CAAC,IAAY;QACzB,IAAI,CAAC,IAAI;YAAE,OAAO,EAAE,CAAC;QACrB,OAAO,gBAAgB,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IAC7C,CAAC;IAED,IAAI,CAAC,IAAY;QACb,IAAI,CAAC,IAAI;YAAE,OAAO,EAAE,CAAC;QACrB,OAAO,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;IAED,eAAe,CAAC,MAAc;QAC1B,IAAI,CAAC,MAAM;YAAE,OAAO,EAAE,CAAC;QACvB,OAAO,eAAe,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IAC9C,CAAC;IAED,UAAU,CAAC,MAAc;QACrB,IAAI,CAAC,MAAM;YAAE,OAAO,EAAE,CAAC;QACvB,OAAO,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IACzC,CAAC;IAED,kBAAkB,CAAC,IAAY,EAAE,IAAiB;QAC9C,IAAI,CAAC,IAAI;YAAE,OAAO,EAAE,CAAC;QACrB,OAAO,mBAAmB,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IACtD,CAAC;IAED,+EAA+E;IAC/E,iBAAiB,CAAC,IAAY,EAAE,IAAiB;QAC7C,IAAI,CAAC,IAAI;YAAE,OAAO,EAAE,CAAC;QACrB,OAAO,kBAAkB,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IACrD,CAAC;IACD,cAAc,CAAC,IAA4C;QACvD,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC7B,OAAO,EAAE,WAAW,EAAE,CAAC,EAAE,iBAAiB,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;QAChE,CAAC;QACD,OAAO,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IAC3C,CAAC;IAED,UAAU,CAAC,KAAa;QACpB,IAAI,CAAC,KAAK,EAAE,CAAC;YACT,OAAO,EAAE,WAAW,EAAE,CAAC,EAAE,iBAAiB,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;QAC/D,CAAC;QACD,OAAO,UAAU,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IACxC,CAAC;IAED,UAAU,CAAC,KAAoC,EAAE,IAAqB;QAClE,IAAI,CAAC,KAAK;YAAE,OAAO,IAAI,CAAC;QACxB,OAAO,UAAU,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IACnC,CAAC;CACJ"}
|
package/dist/transliterator.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { LanguagePack } from './types.js';
|
|
2
2
|
/**
|
|
3
|
-
|
|
3
|
+
* @deprecated Internal fallback only. Use {@link felig_transliterate} instead.
|
|
4
4
|
*/
|
|
5
5
|
export declare function sera_transliterate(word: string, lang: "am" | "en", pack: LanguagePack): string;
|
|
6
6
|
/**
|
|
@@ -9,8 +9,8 @@ export declare function sera_transliterate(word: string, lang: "am" | "en", pack
|
|
|
9
9
|
* @param lang : language to transliterate form
|
|
10
10
|
* @returns : a transliterated string
|
|
11
11
|
*
|
|
12
|
-
* @example{ transliterate Amharic word to English}
|
|
13
|
-
*
|
|
12
|
+
* @example { transliterate Amharic word to English }
|
|
13
|
+
* felig_transliterate("ወንበር","am") // returns "wenber"
|
|
14
14
|
*/
|
|
15
15
|
export declare function felig_transliterate(word: string, lang: "am" | "en", pack: LanguagePack): string;
|
|
16
16
|
declare const transliterate: {
|
package/dist/transliterator.js
CHANGED
|
@@ -1,5 +1,20 @@
|
|
|
1
|
+
// Cache for reverse maps to ensure O(1) lookups instead of O(n) linear scans
|
|
2
|
+
const reverseMapCache = new WeakMap();
|
|
3
|
+
function getReverseMap(map) {
|
|
4
|
+
let reverseMap = reverseMapCache.get(map);
|
|
5
|
+
if (!reverseMap) {
|
|
6
|
+
reverseMap = {};
|
|
7
|
+
for (const [key, value] of Object.entries(map)) {
|
|
8
|
+
if (reverseMap[value] === undefined) {
|
|
9
|
+
reverseMap[value] = key;
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
reverseMapCache.set(map, reverseMap);
|
|
13
|
+
}
|
|
14
|
+
return reverseMap;
|
|
15
|
+
}
|
|
1
16
|
/**
|
|
2
|
-
|
|
17
|
+
* @deprecated Internal fallback only. Use {@link felig_transliterate} instead.
|
|
3
18
|
*/
|
|
4
19
|
export function sera_transliterate(word, lang, pack) {
|
|
5
20
|
let trans_word = "";
|
|
@@ -15,8 +30,9 @@ export function sera_transliterate(word, lang, pack) {
|
|
|
15
30
|
else if (lang === "en") {
|
|
16
31
|
let tokens = word.match(/.{1,2}/g);
|
|
17
32
|
if (tokens) {
|
|
33
|
+
const reverseTable = getReverseMap(sera_transliteration_lookup_table);
|
|
18
34
|
tokens.forEach((letter) => {
|
|
19
|
-
|
|
35
|
+
const en_letter = reverseTable[letter];
|
|
20
36
|
if (en_letter !== undefined) {
|
|
21
37
|
trans_word += en_letter;
|
|
22
38
|
}
|
|
@@ -31,8 +47,8 @@ export function sera_transliterate(word, lang, pack) {
|
|
|
31
47
|
* @param lang : language to transliterate form
|
|
32
48
|
* @returns : a transliterated string
|
|
33
49
|
*
|
|
34
|
-
* @example{ transliterate Amharic word to English}
|
|
35
|
-
*
|
|
50
|
+
* @example { transliterate Amharic word to English }
|
|
51
|
+
* felig_transliterate("ወንበር","am") // returns "wenber"
|
|
36
52
|
*/
|
|
37
53
|
export function felig_transliterate(word, lang, pack) {
|
|
38
54
|
let trans_word = "";
|
|
@@ -50,14 +66,15 @@ export function felig_transliterate(word, lang, pack) {
|
|
|
50
66
|
if (tokens === null) {
|
|
51
67
|
return "";
|
|
52
68
|
}
|
|
69
|
+
const reverseTable = getReverseMap(felig_transliteration_lookup_table);
|
|
53
70
|
tokens.forEach((letter) => {
|
|
54
71
|
if (/[^aeiou][aeiou]/i.test(letter)) {
|
|
55
72
|
let am_letter = "";
|
|
56
73
|
if (/[W][a]/g.test(letter)) {
|
|
57
|
-
am_letter =
|
|
74
|
+
am_letter = reverseTable[letter.toLowerCase()];
|
|
58
75
|
}
|
|
59
76
|
else {
|
|
60
|
-
am_letter =
|
|
77
|
+
am_letter = reverseTable[letter];
|
|
61
78
|
}
|
|
62
79
|
if (am_letter !== undefined) {
|
|
63
80
|
trans_word += am_letter;
|
|
@@ -67,7 +84,7 @@ export function felig_transliterate(word, lang, pack) {
|
|
|
67
84
|
let ltrs = letter.split("");
|
|
68
85
|
let am_letter = "";
|
|
69
86
|
ltrs.forEach((ltr) => {
|
|
70
|
-
const found =
|
|
87
|
+
const found = reverseTable[ltr];
|
|
71
88
|
if (found !== undefined) {
|
|
72
89
|
am_letter += found;
|
|
73
90
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transliterator.js","sourceRoot":"","sources":["../src/transliterator.ts"],"names":[],"mappings":"AAGA;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAAC,IAAY,EAAE,IAAiB,EAAE,IAAkB;IACpF,IAAI,UAAU,GAAG,EAAE,CAAA;IACnB,MAAM,iCAAiC,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,CAAA;IAEvE,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;QAClB,IAAI,MAAM,GAAa,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;QACrC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;YACxB,IAAI,iCAAiC,CAAC,MAAM,CAAC,KAAK,SAAS,EAAE,CAAC;gBAC5D,UAAU,IAAI,iCAAiC,CAAC,MAAM,CAAC,CAAA;YACzD,CAAC;QACH,CAAC,CAAC,CAAA;IACJ,CAAC;SAAM,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;QACzB,IAAI,MAAM,GAAoB,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAA;QACnD,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,
|
|
1
|
+
{"version":3,"file":"transliterator.js","sourceRoot":"","sources":["../src/transliterator.ts"],"names":[],"mappings":"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"}
|