> ## Documentation Index
> Fetch the complete documentation index at: https://docs.kayanos.com/llms.txt
> Use this file to discover all available pages before exploring further.

# دوال التحويل العامة

> جميع الدوال العامة المسجلة، مع التواقيع والأمثلة لفحص الفراغ والتحويل والتعامل المشترك مع القيم.

## متى تستخدم هذه الدوال؟

استخدم التحويل بعد فهم قيمة المصدر. يمكن للتحويل أن يجعل التعبير مقروءاً، لكنه لا يصلح بيانات مفقودة أو ذات بنية خاطئة.

## طريقة الكتابة

استخدم الدالة بصيغة `isEmpty($.optional_note)`. لا تكون كل دالة متاحة في كل مكان: دوال التحقق ودوال النموذج ودوال قالب المستند لها عقود سياق مختلفة. لا تفترض أن اقتراح المحرر يعني أن الدالة مدعومة وقت التشغيل.

## مرجع الدوال الكامل

### `contains`

تتحقق من احتواء النص أو القائمة على القيمة المعطاة.

**التوقيع:** `contains(strOrArr, substring)`

**مثال:**

```txt theme={null}
contains(["hello", "world"], "lo") // true
```

**ملاحظة:** يمكن أيضاً كتابتها كتحويل عندما تكون القيمة الأولى هي المدخل: `value | contains(...)`.

### `indexOf`

تعيد موضع أول ظهور للقيمة في نص أو قائمة، أو قيمة عدم العثور وفق تنفيذ الدالة.

**التوقيع:** `indexOf(str, substring)`

**مثال:**

```txt theme={null}
indexOf("hello", "lo") // 3
```

**ملاحظة:** يمكن أيضاً كتابتها كتحويل عندما تكون القيمة الأولى هي المدخل: `value | indexOf(...)`.

### `isEmpty`

تتحقق من قيمة غير صادقة أو قائمة فارغة أو نص فارغ بعد إزالة أطرافه. استخدم فحصاً صريحاً مع الكائنات غير النصية.

**التوقيع:** `isEmpty(value)`

**مثال:**

```txt theme={null}
isEmpty($.supporting_documents)
```

**التوافر:** دالة عامة in shared builder and document-template runtimes; function and transform forms are available.

**ملاحظة:** يمكن أيضاً كتابتها كتحويل عندما تكون القيمة الأولى هي المدخل: `value | isEmpty(...)`.

### `isNotEmpty`

تعكس سلوك `isEmpty` الفعال للقيم والنصوص والقوائم.

**التوقيع:** `isNotEmpty(value)`

**مثال:**

```txt theme={null}
isNotEmpty($.service_category)
```

**التوافر:** دالة عامة in shared builder and document-template runtimes; function and transform forms are available.

**ملاحظة:** يمكن أيضاً كتابتها كتحويل عندما تكون القيمة الأولى هي المدخل: `value | isNotEmpty(...)`.

### `lastIndexOf`

تعيد موضع آخر ظهور للقيمة في نص أو قائمة.

**التوقيع:** `lastIndexOf(str, substring)`

**مثال:**

```txt theme={null}
lastIndexOf("hello", "lo") // 3
```

**ملاحظة:** يمكن أيضاً كتابتها كتحويل عندما تكون القيمة الأولى هي المدخل: `value | lastIndexOf(...)`.

### `length`

تعيد طول نص أو قائمة أو قيمة تدعم خاصية طول.

**التوقيع:** `length(strOrArr)`

**مثال:**

```txt theme={null}
length("hello") // 5
```

**ملاحظة:** يمكن أيضاً كتابتها كتحويل عندما تكون القيمة الأولى هي المدخل: `value | length(...)`.

### `reverse`

تعيد نسخة معكوسة من نص أو قائمة حيث يدعم السياق ذلك.

**التوقيع:** `reverse(val)`

**مثال:**

```txt theme={null}
reverse("hello") // "olleh"
```

**ملاحظة:** يمكن أيضاً كتابتها كتحويل عندما تكون القيمة الأولى هي المدخل: `value | reverse(...)`.

### `toBoolean`

تحول القيمة إلى قيمة منطقية وفق قواعد التحويل.

**التوقيع:** `toBoolean(val)`

**مثال:**

```txt theme={null}
toBoolean("true") // true
```

**ملاحظة:** يمكن أيضاً كتابتها كتحويل عندما تكون القيمة الأولى هي المدخل: `value | toBoolean(...)`.

### `toInt`

تحول القيمة إلى عدد صحيح عند إمكان ذلك.

**التوقيع:** `toInt(value, radix?)`

**مثال:**

```txt theme={null}
toInt("10") // 10
```

**ملاحظة:** يمكن أيضاً كتابتها كتحويل عندما تكون القيمة الأولى هي المدخل: `value | toInt(...)`.

### `toNumber`

تحول القيمة إلى عدد عند إمكان ذلك.

**التوقيع:** `toNumber(val)`

**مثال:**

```txt theme={null}
toNumber("12.5") // 12.5
```

**ملاحظة:** يمكن أيضاً كتابتها كتحويل عندما تكون القيمة الأولى هي المدخل: `value | toNumber(...)`.

### `toStr`

تحول القيمة إلى تمثيل نصي.

**التوقيع:** `toStr(value)`

**مثال:**

```txt theme={null}
toStr(123) // "123"
```

**ملاحظة:** يمكن أيضاً كتابتها كتحويل عندما تكون القيمة الأولى هي المدخل: `value | toStr(...)`.

## قائمة تحقق قبل النشر

* ابدأ بقيمة معروفة وتحقق من النتيجة المتوقعة.
* تعامل صراحةً مع القيم الفارغة وnull والقوائم الفارغة.
* لا تضع أسراراً أو رموز وصول أو بيانات شخصية حساسة داخل تعبير.
* راجع [سياقات وتوافر التعبيرات](/ar/reference/expressions/contexts) قبل نسخ تعبير بين ميزتين.

![دوال التحويل العامة في KayanOS](https://kayanos.app/docs-images/ar/reference/expressions-helpers-common.png)
