أنت تعمل على مشروع يتضمن استيراد الوحدات ديناميكيًا في تطبيق TypeScript. مهمتك هي تنفيذ وظيفة إعادة كتابة مسار الاستيراد الديناميكي التي ستقوم بتعديل مسارات الاستيراد بناءً على مجموعة من القواعد المحددة مسبقًا.

تحتوي الوظيفة، `dynamicImportPathRewrite`، على التوقيع التالي:

```مخطوطة
الدالة DynamicImportPathRewrite(path: string): string
```

المعلمة "المسار" عبارة عن سلسلة تمثل مسار الاستيراد الذي يحتاج إلى إعادة كتابته. يجب أن تقوم الدالة بإرجاع مسار الاستيراد المعدل.

قواعد إعادة الكتابة هي كما يلي:

1. إذا كان مسار الاستيراد يبدأ بـ `"@"`، فيجب إعادة كتابته إلى `"src/"`.
2. إذا كان مسار الاستيراد يبدأ بـ `"~"`، فيجب إعادة كتابته إلى `"node_modules/"`.
3. إذا كان مسار الاستيراد يبدأ بـ `"http://"` أو `"https://"` أو `"//"`، فيجب أن يظل دون تغيير.

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

مهمتك هي تنفيذ وظيفة `dynamicImportPathRewrite` لإعادة كتابة مسارات الاستيراد بشكل صحيح بناءً على القواعد المحددة.

ملحوظة:
- مسارات الاستيراد حساسة لحالة الأحرف.
- سيتم اختبار وظيفة `dynamicImportPathRewrite` المتوفرة فقط مع سلاسل إدخال صالحة.

مثال:

```مخطوطة
console.log(dynamicImportPathRewrite("@components/button")); // الإخراج: "src/components/button"
console.log(dynamicImportPathRewrite("~lodash")); // الإخراج: "node_modules/lodash"
console.log(dynamicImportPathRewrite("http://example.com")); // الإخراج: "http://example.com"
console.log(dynamicImportPathRewrite("المسار النسبي")); // الإخراج: "المسار النسبي"
```
{"source": "argilla/DistiCoder-dpo-binarized", "kind": "synthetic", "evolved_from": null}