@khitab/core 0.1.0

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.
@@ -0,0 +1,21 @@
1
+ type Gender = 'male' | 'female' | 'neutral';
2
+ type Mode = 'strict' | 'lenient';
3
+ type MissingNeutralBehavior = 'male' | 'throw';
4
+ interface KhitabOptions {
5
+ defaultGender?: Gender;
6
+ mode?: Mode;
7
+ onMissingNeutral?: MissingNeutralBehavior;
8
+ }
9
+
10
+ /**
11
+ * الواجهة البسيطة (الموصى بها للسيرفرات): stateless، gender إلزامي.
12
+ * إعدادات افتراضية: mode='lenient', onMissingNeutral='male'.
13
+ */
14
+ declare function khitab(key: string, gender: Gender): string;
15
+ /**
16
+ * الواجهة المتقدمة (Factory): scope محلي فقط.
17
+ * gender اختياري يتجاوز defaultGender؛ undefined يستخدم defaultGender.
18
+ */
19
+ declare function createKhitab(options?: KhitabOptions): (key: string, gender?: Gender) => string;
20
+
21
+ export { type Gender, type KhitabOptions, type MissingNeutralBehavior, type Mode, createKhitab, khitab };
@@ -0,0 +1,21 @@
1
+ type Gender = 'male' | 'female' | 'neutral';
2
+ type Mode = 'strict' | 'lenient';
3
+ type MissingNeutralBehavior = 'male' | 'throw';
4
+ interface KhitabOptions {
5
+ defaultGender?: Gender;
6
+ mode?: Mode;
7
+ onMissingNeutral?: MissingNeutralBehavior;
8
+ }
9
+
10
+ /**
11
+ * الواجهة البسيطة (الموصى بها للسيرفرات): stateless، gender إلزامي.
12
+ * إعدادات افتراضية: mode='lenient', onMissingNeutral='male'.
13
+ */
14
+ declare function khitab(key: string, gender: Gender): string;
15
+ /**
16
+ * الواجهة المتقدمة (Factory): scope محلي فقط.
17
+ * gender اختياري يتجاوز defaultGender؛ undefined يستخدم defaultGender.
18
+ */
19
+ declare function createKhitab(options?: KhitabOptions): (key: string, gender?: Gender) => string;
20
+
21
+ export { type Gender, type KhitabOptions, type MissingNeutralBehavior, type Mode, createKhitab, khitab };