@polyglot-bundles/ar-sa-lang 1.1.1
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/characters.d.ts +43 -0
- package/dist/characters.js +74 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +8 -0
- package/package.json +34 -0
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Arabic (Saudi Arabia) Character Types
|
|
3
|
+
*
|
|
4
|
+
* Type definitions for Arabic (Saudi Arabia) characters (Arabic script).
|
|
5
|
+
* Arabic has 28 letters: 3 vowels (diacritics), 25 consonants.
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* Base character info
|
|
9
|
+
*/
|
|
10
|
+
type ArabicSaCharacterBaseInfo = {
|
|
11
|
+
char: string;
|
|
12
|
+
id: string;
|
|
13
|
+
display?: string;
|
|
14
|
+
audio?: string;
|
|
15
|
+
notes?: string;
|
|
16
|
+
};
|
|
17
|
+
/**
|
|
18
|
+
* Arabic (Saudi Arabia) Vowels (Harakat)
|
|
19
|
+
*/
|
|
20
|
+
export type ArabicSaVowelsInfo = {
|
|
21
|
+
charType: "vowel";
|
|
22
|
+
ipa: string;
|
|
23
|
+
name: string;
|
|
24
|
+
length?: "short" | "long";
|
|
25
|
+
} & ArabicSaCharacterBaseInfo;
|
|
26
|
+
/**
|
|
27
|
+
* Arabic (Saudi Arabia) Consonants
|
|
28
|
+
*/
|
|
29
|
+
export type ArabicSaConsonantsInfo = {
|
|
30
|
+
charType: "consonant";
|
|
31
|
+
ipa: string;
|
|
32
|
+
name: string;
|
|
33
|
+
articulation: "stop" | "fricative" | "nasal" | "approximant" | "lateral" | "trill" | "affricate";
|
|
34
|
+
voicing: "voiced" | "voiceless" | "nasal" | "lateral" | "approximant" | "trill" | "fricative" | "affricate";
|
|
35
|
+
place: "velar" | "palatal" | "pharyngeal" | "emphatic" | "dental" | "labial" | "glottal" | "alveolar" | "uvular";
|
|
36
|
+
} & ArabicSaCharacterBaseInfo;
|
|
37
|
+
export type ArabicSaCharacter = ArabicSaVowelsInfo | ArabicSaConsonantsInfo;
|
|
38
|
+
export declare function isVowel(character: ArabicSaCharacter): character is ArabicSaVowelsInfo;
|
|
39
|
+
export declare function isConsonant(character: ArabicSaCharacter): character is ArabicSaConsonantsInfo;
|
|
40
|
+
export declare const arabicSaVowels: ArabicSaVowelsInfo[];
|
|
41
|
+
export declare const arabicSaConsonants: ArabicSaConsonantsInfo[];
|
|
42
|
+
export declare const arabicSaAllCharacters: (ArabicSaVowelsInfo | ArabicSaConsonantsInfo)[];
|
|
43
|
+
export {};
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
function c(a) {
|
|
2
|
+
return a.charType === "vowel";
|
|
3
|
+
}
|
|
4
|
+
function e(a) {
|
|
5
|
+
return a.charType === "consonant";
|
|
6
|
+
}
|
|
7
|
+
const i = [
|
|
8
|
+
// Short vowels (Harakat)
|
|
9
|
+
{ char: "َ", id: "fatha", charType: "vowel", ipa: "a", name: "Fatha", length: "short" },
|
|
10
|
+
{ char: "ِ", id: "kasra", charType: "vowel", ipa: "i", name: "Kasra", length: "short" },
|
|
11
|
+
{ char: "ُ", id: "damma", charType: "vowel", ipa: "u", name: "Damma", length: "short" },
|
|
12
|
+
// Long vowels (with alif, ya, waw)
|
|
13
|
+
{ char: "ا", id: "alif", charType: "vowel", ipa: "aː", name: "Alif", length: "long" },
|
|
14
|
+
{ char: "ي", id: "ya", charType: "vowel", ipa: "iː", name: "Ya", length: "long" },
|
|
15
|
+
{ char: "و", id: "waw", charType: "vowel", ipa: "uː", name: "Waw", length: "long" },
|
|
16
|
+
// Dual vowels
|
|
17
|
+
{ char: "ً", id: "fathatan", charType: "vowel", ipa: "an", name: "Fathatan", length: "short" },
|
|
18
|
+
{ char: "ٍ", id: "kasratan", charType: "vowel", ipa: "in", name: "Kasratan", length: "short" },
|
|
19
|
+
{ char: "ٌ", id: "dammatan", charType: "vowel", ipa: "un", name: "Dammatan", length: "short" },
|
|
20
|
+
// Tanwin
|
|
21
|
+
{ char: "ْ", id: "sukun", charType: "vowel", ipa: "", name: "Sukun", length: "short" }
|
|
22
|
+
], n = [
|
|
23
|
+
// Labial consonants
|
|
24
|
+
{ char: "ب", id: "ba", charType: "consonant", ipa: "b", name: "Ba", voicing: "voiced", articulation: "stop", place: "labial" },
|
|
25
|
+
{ char: "ف", id: "fa", charType: "consonant", ipa: "f", name: "Fa", voicing: "voiceless", articulation: "fricative", place: "labial" },
|
|
26
|
+
{ char: "م", id: "me", charType: "consonant", ipa: "m", name: "Me", voicing: "nasal", articulation: "nasal", place: "labial" },
|
|
27
|
+
{ char: "و", id: "waw_consonant", charType: "consonant", ipa: "w", name: "Waw (consonant)", voicing: "voiced", articulation: "approximant", place: "labial" },
|
|
28
|
+
// Dental consonants
|
|
29
|
+
{ char: "ت", id: "ta", charType: "consonant", ipa: "t", name: "Ta", voicing: "voiceless", articulation: "stop", place: "dental" },
|
|
30
|
+
{ char: "ث", id: "tha", charType: "consonant", ipa: "θ", name: "Tha", voicing: "voiceless", articulation: "fricative", place: "dental" },
|
|
31
|
+
{ char: "د", id: "dal", charType: "consonant", ipa: "d", name: "Dal", voicing: "voiced", articulation: "stop", place: "dental" },
|
|
32
|
+
{ char: "ذ", id: "dhal", charType: "consonant", ipa: "ð", name: "Dhal", voicing: "voiced", articulation: "fricative", place: "dental" },
|
|
33
|
+
{ char: "ر", id: "ra", charType: "consonant", ipa: "r", name: "Ra", voicing: "trill", articulation: "trill", place: "alveolar" },
|
|
34
|
+
{ char: "ز", id: "za", charType: "consonant", ipa: "z", name: "Za", voicing: "voiced", articulation: "fricative", place: "alveolar" },
|
|
35
|
+
{ char: "س", id: "sin", charType: "consonant", ipa: "s", name: "Sin", voicing: "voiceless", articulation: "fricative", place: "alveolar" },
|
|
36
|
+
{ char: "ش", id: "shin", charType: "consonant", ipa: "ʃ", name: "Shin", voicing: "voiceless", articulation: "fricative", place: "palatal" },
|
|
37
|
+
{ char: "ن", id: "nun", charType: "consonant", ipa: "n", name: "Nun", voicing: "nasal", articulation: "nasal", place: "alveolar" },
|
|
38
|
+
{ char: "ل", id: "lam", charType: "consonant", ipa: "l", name: "Lam", voicing: "lateral", articulation: "lateral", place: "alveolar" },
|
|
39
|
+
// Palatal consonants
|
|
40
|
+
{ char: "ي", id: "ya_consonant", charType: "consonant", ipa: "j", name: "Ya (consonant)", voicing: "voiced", articulation: "approximant", place: "palatal" },
|
|
41
|
+
// Emphatic consonants
|
|
42
|
+
{ char: "ص", id: "sad", charType: "consonant", ipa: "sˤ", name: "Sad", voicing: "voiceless", articulation: "fricative", place: "emphatic" },
|
|
43
|
+
{ char: "ض", id: "dad", charType: "consonant", ipa: "dˤ", name: "Dad", voicing: "voiced", articulation: "stop", place: "emphatic" },
|
|
44
|
+
{ char: "ط", id: "ta", charType: "consonant", ipa: "tˤ", name: "Ta", voicing: "voiceless", articulation: "stop", place: "emphatic" },
|
|
45
|
+
{ char: "ظ", id: "zha", charType: "consonant", ipa: "ðˤ", name: "Zha", voicing: "voiced", articulation: "fricative", place: "emphatic" },
|
|
46
|
+
// Velar consonants
|
|
47
|
+
{ char: "ق", id: "qaf", charType: "consonant", ipa: "q", name: "Qaf", voicing: "voiceless", articulation: "stop", place: "velar" },
|
|
48
|
+
{ char: "ك", id: "kaf", charType: "consonant", ipa: "k", name: "Kaf", voicing: "voiceless", articulation: "stop", place: "velar" },
|
|
49
|
+
{ char: "غ", id: "ghain", charType: "consonant", ipa: "ɣ", name: " Ghain", voicing: "voiced", articulation: "fricative", place: "velar" },
|
|
50
|
+
// Uvular consonants
|
|
51
|
+
{ char: "خ", id: "kha", charType: "consonant", ipa: "x", name: "Kha", voicing: "voiceless", articulation: "fricative", place: "velar" },
|
|
52
|
+
{ char: "ه", id: "ha", charType: "consonant", ipa: "h", name: "Ha", voicing: "voiceless", articulation: "fricative", place: "glottal" },
|
|
53
|
+
// Glottal consonants
|
|
54
|
+
{ char: "ء", id: "hamza", charType: "consonant", ipa: "ʔ", name: "Hamza", voicing: "voiceless", articulation: "stop", place: "glottal" },
|
|
55
|
+
{ char: "ء", id: "hamza_on_alif", charType: "consonant", ipa: "ʔ", name: "Hamza (on alif)", voicing: "voiceless", articulation: "stop", place: "glottal" },
|
|
56
|
+
// Other consonants
|
|
57
|
+
{ char: "ح", id: "ha", charType: "consonant", ipa: "ħ", name: "Ha (pharyngeal)", voicing: "voiceless", articulation: "fricative", place: "pharyngeal" },
|
|
58
|
+
{ char: "ع", id: "ain", charType: "consonant", ipa: "ʕ", name: "Ain (pharyngeal)", voicing: "voiced", articulation: "fricative", place: "pharyngeal" },
|
|
59
|
+
{ char: "ة", id: "ta_marbuta", charType: "consonant", ipa: "t", name: "Ta Marbuta", voicing: "voiceless", articulation: "stop", place: "dental" },
|
|
60
|
+
{ char: "أ", id: "alif_hamza", charType: "consonant", ipa: "ʔa", name: "Alif Hamza", voicing: "voiceless", articulation: "stop", place: "glottal" },
|
|
61
|
+
{ char: "إ", id: "alif_hamza_below", charType: "consonant", ipa: "ʔi", name: "Alif Hamza Below", voicing: "voiceless", articulation: "stop", place: "glottal" },
|
|
62
|
+
{ char: "ؤ", id: "waw_hamza", charType: "consonant", ipa: "ʔu", name: "Waw Hamza", voicing: "voiceless", articulation: "stop", place: "glottal" },
|
|
63
|
+
{ char: "ى", id: "alif_madda", charType: "consonant", ipa: "aː", name: "Alif Madda", voicing: "voiced", articulation: "approximant", place: "glottal" }
|
|
64
|
+
], o = [
|
|
65
|
+
...i,
|
|
66
|
+
...n
|
|
67
|
+
];
|
|
68
|
+
export {
|
|
69
|
+
o as arabicSaAllCharacters,
|
|
70
|
+
n as arabicSaConsonants,
|
|
71
|
+
i as arabicSaVowels,
|
|
72
|
+
e as isConsonant,
|
|
73
|
+
c as isVowel
|
|
74
|
+
};
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { arabicSaVowels, arabicSaConsonants, arabicSaAllCharacters, type ArabicSaVowelsInfo, type ArabicSaConsonantsInfo, type ArabicSaCharacter, isVowel, isConsonant, } from './characters.js';
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { arabicSaAllCharacters as r, arabicSaConsonants as s, arabicSaVowels as n, isConsonant as i, isVowel as c } from "./characters.js";
|
|
2
|
+
export {
|
|
3
|
+
r as arabicSaAllCharacters,
|
|
4
|
+
s as arabicSaConsonants,
|
|
5
|
+
n as arabicSaVowels,
|
|
6
|
+
i as isConsonant,
|
|
7
|
+
c as isVowel
|
|
8
|
+
};
|
package/package.json
ADDED
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@polyglot-bundles/ar-sa-lang",
|
|
3
|
+
"version": "1.1.1",
|
|
4
|
+
"type": "module",
|
|
5
|
+
"main": "./dist/index.js",
|
|
6
|
+
"types": "./dist/index.d.ts",
|
|
7
|
+
"scripts": {
|
|
8
|
+
"build": "vite build",
|
|
9
|
+
"clean": "rm -rf dist"
|
|
10
|
+
},
|
|
11
|
+
"exports": {
|
|
12
|
+
".": {
|
|
13
|
+
"import": "./dist/index.js",
|
|
14
|
+
"types": "./dist/index.d.ts"
|
|
15
|
+
}
|
|
16
|
+
},
|
|
17
|
+
"files": ["dist"],
|
|
18
|
+
"publishConfig": {
|
|
19
|
+
"access": "public"
|
|
20
|
+
},
|
|
21
|
+
"dependencies": {
|
|
22
|
+
"@polyglot-bundles/content-shared": "workspace:*"
|
|
23
|
+
},
|
|
24
|
+
"devDependencies": {
|
|
25
|
+
"@polyglot-bundles/lang-tooling": "workspace:*",
|
|
26
|
+
"vite": "catalog:",
|
|
27
|
+
"vite-plugin-dts": "catalog:"
|
|
28
|
+
},
|
|
29
|
+
"repository": {
|
|
30
|
+
"type": "git",
|
|
31
|
+
"url": "https://github.com/fustilio/polyglot-bundles",
|
|
32
|
+
"directory": "packages/ar-sa/lang"
|
|
33
|
+
}
|
|
34
|
+
}
|