anl 26.107.0 → 26.107.2

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/README.ar.md CHANGED
@@ -113,11 +113,11 @@ $ anl type
113
113
  "indentation": "\t",
114
114
  "lineEnding": "\n"
115
115
  },
116
- "swaggerServers": {
116
+ "swaggerConfig": {
117
117
  "url": "https://generator3.swagger.io/openapi2.json",
118
118
  "apiListFileName": "index.ts",
119
119
  "publicPrefix": "/api",
120
- "pathPrefix": "/gateway",
120
+ "modulePrefix": "/gateway",
121
121
  "dataLevel": "serve",
122
122
  "parameterSeparator": "_",
123
123
  "headers": {
@@ -158,11 +158,11 @@ $ anl type
158
158
  "varnames": "enum-varnames",
159
159
  "comment": "enum-descriptions"
160
160
  },
161
- "swaggerServers": [
161
+ "swaggerConfig": [
162
162
  {
163
163
  "url": "https://generator3.swagger.io/openapi1.json",
164
164
  "apiListFileName": "op.ts",
165
- "pathPrefix": "/forward",
165
+ "modulePrefix": "/forward",
166
166
  "dataLevel": "serve",
167
167
  "parameterSeparator": "_",
168
168
  "headers": {},
@@ -186,39 +186,39 @@ $ anl type
186
186
 
187
187
  #### شرح عناصر التكوين
188
188
 
189
- | عنصر التكوين | النوع | مطلوب | الوصف |
190
- | -------------------------------- | ------------------------------------- | ----- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
191
- | saveTypeFolderPath | string | نعم | مسار حفظ ملفات تعريف الأنواع |
192
- | saveApiListFolderPath | string | نعم | مسار حفظ ملفات دوال طلبات API |
193
- | saveEnumFolderPath | string | نعم | مسار حفظ ملفات بيانات التعداد |
194
- | importEnumPath | string | نعم | مسار استيراد التعداد (مسار ملف enum المُشار إليه في apps/types/models/\*.ts) |
195
- | swaggerJsonUrl | string | لا | عنوان مستند Swagger JSON (تم نقله إلى `swaggerServers`، محفوظ للتوافق مع التكوين القديم) **سيتم حذف هذا الحقل في الإصدارات التالية** |
196
- | swaggerServers | object \| Array<object> | لا | تكوين خادم Swagger. يمكن ملء خادم واحد مباشرة ككائن، أو استخدام مصفوفة لخوادم متعددة. يمكن تكوين `url` و `publicPrefix` و `apiListFileName` و `headers` لكل خادم<br />يتوافق هذا الحقل مع أمثلة تكوين خادم Swagger الواحد وتكوين خوادم Swagger المتعددة، يرجى التمرير لأعلى للعرض |
197
- | swaggerServers[].url | string | نعم | عنوان مستند Swagger JSON |
198
- | swaggerServers[].publicPrefix | string | لا | البادئة العامة على مسار url، على سبيل المثال: api/users، api/users/{id}، api هي البادئة العامة |
199
- | swaggerServers[].pathPrefix | string | لا | بادئة مسار الطلب (يمكن فهمها كاسم وحدة)، سيتم إضافتها تلقائيًا أمام كل مسار طلب API.<br />على سبيل المثال: عندما `pathPrefix: "/forward"`، <br />`/publicPrefix/pathPrefix/user` سيصبح `/api/forward/user` |
200
- | swaggerServers[].apiListFileName | string | لا | اسم ملف قائمة API، الافتراضي هو `index.ts`. عند استخدام خوادم متعددة، يجب أن يكون اسم الملف لكل خادم فريدًا |
201
- | swaggerServers[].headers | object | لا | تكوين رأس طلب هذا الخادم |
202
- | swaggerServers[].dataLevel | 'data' \| 'serve' \| 'axios' | لا | مستوى بيانات إرجاع واجهة هذا الخادم. إذا لم يتم تعيينه، يتم استخدام تكوين `dataLevel` العام |
203
- | swaggerServers[].parameterSeparator | '$' \| '\_' | لا | الفاصل المستخدم عند إنشاء أسماء API وأسماء الأنواع لهذا الخادم. إذا لم يتم تعيينه، يتم استخدام تكوين `parameterSeparator` العام |
204
- | swaggerServers[].includeInterface | Array<{path: string, method: string}> | لا | قائمة الواجهات المضمنة في هذا الخادم. إذا لم يتم تعيينها، يتم استخدام تكوين `includeInterface` العام |
205
- | swaggerServers[].excludeInterface | Array<{path: string, method: string}> | لا | قائمة الواجهات المستبعدة في هذا الخادم. إذا لم يتم تعيينها، يتم استخدام تكوين `excludeInterface` العام |
206
- | requestMethodsImportPath | string | نعم | مسار استيراد طرق الطلب |
207
- | dataLevel | 'data' \| 'serve' \| 'axios' | لا | تكوين مستوى بيانات إرجاع الواجهة العامة، القيمة الافتراضية: `'serve'`. يمكن لكل خادم تكوينه بشكل منفصل للتجاوز |
208
- | formatting | object | لا | تكوين تنسيق الكود |
209
- | formatting.indentation | string | لا | حرف مسافة بادئة الكود، على سبيل المثال: `"\t"` أو `" "` (مسافتان) |
210
- | formatting.lineEnding | string | لا | حرف سطر جديد، على سبيل المثال: `"\n"` (LF) أو `"\r\n"` (CRLF) |
211
- | headers | object | لا | تكوين رأس الطلب (تم نقله إلى `swaggerServers`، محفوظ للتوافق مع التكوين القديم) |
212
- | includeInterface | Array<{path: string, method: string}> | لا | الواجهات المضمنة عالميًا: ملف قائمة الواجهات المحدد بـ `saveApiListFolderPath` سيتضمن فقط الواجهات في القائمة، متعارض مع حقل `excludeInterface`. يمكن لكل خادم تكوينه بشكل منفصل للتجاوز |
213
- | excludeInterface | Array<{path: string, method: string}> | لا | الواجهات المستبعدة عالميًا: نص قائمة الواجهات المحدد بـ `saveApiListFolderPath` لن يتضمن الواجهات في هذه القائمة، متعارض مع `includeInterface`. يمكن لكل خادم تكوينه بشكل منفصل للتجاوز |
214
- | publicPrefix | string | لا | البادئة العامة على مسار url عالميًا (تم نقله إلى `swaggerServers`، محفوظ للتوافق مع التكوين القديم) |
215
- | pathPrefix | string | لا | بادئة مسار الطلب العامة (يمكن لكل خادم تكوينه بشكل منفصل للتجاوز) |
216
- | apiListFileName | string | لا | اسم ملف قائمة API العامة، الافتراضي هو `index.ts` (تم نقله إلى `swaggerServers`، محفوظ للتوافق مع التكوين القديم) |
217
- | enmuConfig | object | نعم | كائن تكوين التعداد |
218
- | enmuConfig.erasableSyntaxOnly | boolean | نعم | يتوافق مع خيار `compilerOptions.erasableSyntaxOnly` في tsconfig.json. عندما يكون `true`، يتم إنشاء كائن const بدلاً من enum (صيغة النوع فقط). القيمة الافتراضية: `false` |
219
- | enmuConfig.varnames | string | لا | اسم الحقل في مخطط Swagger الذي يحتوي على أسماء عناصر التعداد المخصصة. القيمة الافتراضية: `enum-varnames`. |
220
- | enmuConfig.comment | string | لا | اسم الحقل في مخطط Swagger الذي يحتوي على أوصاف عناصر التعداد (يُستخدم لإنشاء التعليقات). القيمة الافتراضية: `enum-descriptions`. |
221
- | parameterSeparator | '$' \| '\_' | لا | الفاصل المستخدم بين أجزاء المسار والمعاملات عالميًا عند إنشاء أسماء API وأسماء الأنواع. على سبيل المثال، `/users/{userId}/posts` مع الفاصل `'_'` ينشئ `users_userId_posts_GET`. القيمة الافتراضية: `'_'`. يمكن لكل خادم تكوينه بشكل منفصل للتجاوز |
189
+ | عنصر التكوين | النوع | مطلوب | الوصف |
190
+ | ---------------------------------- | ------------------------------------- | ----- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
191
+ | saveTypeFolderPath | string | نعم | مسار حفظ ملفات تعريف الأنواع |
192
+ | saveApiListFolderPath | string | نعم | مسار حفظ ملفات دوال طلبات API |
193
+ | saveEnumFolderPath | string | نعم | مسار حفظ ملفات بيانات التعداد |
194
+ | importEnumPath | string | نعم | مسار استيراد التعداد (مسار ملف enum المُشار إليه في apps/types/models/\*.ts) |
195
+ | swaggerJsonUrl | string | لا | عنوان مستند Swagger JSON (تم نقله إلى `swaggerConfig`، محفوظ للتوافق مع التكوين القديم) **سيتم حذف هذا الحقل في الإصدارات التالية** |
196
+ | swaggerConfig | object \| Array<object> | لا | تكوين خادم Swagger. يمكن ملء خادم واحد مباشرة ككائن، أو استخدام مصفوفة لخوادم متعددة. يمكن تكوين `url` و `publicPrefix` و `apiListFileName` و `headers` لكل خادم<br />يتوافق هذا الحقل مع أمثلة تكوين خادم Swagger الواحد وتكوين خوادم Swagger المتعددة، يرجى التمرير لأعلى للعرض |
197
+ | swaggerConfig[].url | string | نعم | عنوان مستند Swagger JSON |
198
+ | swaggerConfig[].publicPrefix | string | لا | البادئة العامة على مسار url، على سبيل المثال: api/users، api/users/{id}، api هي البادئة العامة |
199
+ | swaggerConfig[].modulePrefix | string | لا | بادئة مسار الطلب (يمكن فهمها كاسم وحدة)، سيتم إضافتها تلقائيًا أمام كل مسار طلب API.<br />على سبيل المثال: عندما `modulePrefix: "/forward"`، <br />`/publicPrefix/modulePrefix/user` سيصبح `/api/forward/user` |
200
+ | swaggerConfig[].apiListFileName | string | لا | اسم ملف قائمة API، الافتراضي هو `index.ts`. عند استخدام خوادم متعددة، يجب أن يكون اسم الملف لكل خادم فريدًا |
201
+ | swaggerConfig[].headers | object | لا | تكوين رأس طلب هذا الخادم |
202
+ | swaggerConfig[].dataLevel | 'data' \| 'serve' \| 'axios' | لا | مستوى بيانات إرجاع واجهة هذا الخادم. إذا لم يتم تعيينه، يتم استخدام تكوين `dataLevel` العام |
203
+ | swaggerConfig[].parameterSeparator | '$' \| '\_' | لا | الفاصل المستخدم عند إنشاء أسماء API وأسماء الأنواع لهذا الخادم. إذا لم يتم تعيينه، يتم استخدام تكوين `parameterSeparator` العام |
204
+ | swaggerConfig[].includeInterface | Array<{path: string, method: string}> | لا | قائمة الواجهات المضمنة في هذا الخادم. إذا لم يتم تعيينها، يتم استخدام تكوين `includeInterface` العام |
205
+ | swaggerConfig[].excludeInterface | Array<{path: string, method: string}> | لا | قائمة الواجهات المستبعدة في هذا الخادم. إذا لم يتم تعيينها، يتم استخدام تكوين `excludeInterface` العام |
206
+ | requestMethodsImportPath | string | نعم | مسار استيراد طرق الطلب |
207
+ | dataLevel | 'data' \| 'serve' \| 'axios' | لا | تكوين مستوى بيانات إرجاع الواجهة العامة، القيمة الافتراضية: `'serve'`. يمكن لكل خادم تكوينه بشكل منفصل للتجاوز |
208
+ | formatting | object | لا | تكوين تنسيق الكود |
209
+ | formatting.indentation | string | لا | حرف مسافة بادئة الكود، على سبيل المثال: `"\t"` أو `" "` (مسافتان) |
210
+ | formatting.lineEnding | string | لا | حرف سطر جديد، على سبيل المثال: `"\n"` (LF) أو `"\r\n"` (CRLF) |
211
+ | headers | object | لا | تكوين رأس الطلب (تم نقله إلى `swaggerConfig`، محفوظ للتوافق مع التكوين القديم) |
212
+ | includeInterface | Array<{path: string, method: string}> | لا | الواجهات المضمنة عالميًا: ملف قائمة الواجهات المحدد بـ `saveApiListFolderPath` سيتضمن فقط الواجهات في القائمة، متعارض مع حقل `excludeInterface`. يمكن لكل خادم تكوينه بشكل منفصل للتجاوز |
213
+ | excludeInterface | Array<{path: string, method: string}> | لا | الواجهات المستبعدة عالميًا: نص قائمة الواجهات المحدد بـ `saveApiListFolderPath` لن يتضمن الواجهات في هذه القائمة، متعارض مع `includeInterface`. يمكن لكل خادم تكوينه بشكل منفصل للتجاوز |
214
+ | publicPrefix | string | لا | البادئة العامة على مسار url عالميًا (تم نقله إلى `swaggerConfig`، محفوظ للتوافق مع التكوين القديم) |
215
+ | modulePrefix | string | لا | بادئة مسار الطلب العامة (يمكن لكل خادم تكوينه بشكل منفصل للتجاوز) |
216
+ | apiListFileName | string | لا | اسم ملف قائمة API العامة، الافتراضي هو `index.ts` (تم نقله إلى `swaggerConfig`، محفوظ للتوافق مع التكوين القديم) |
217
+ | enmuConfig | object | نعم | كائن تكوين التعداد |
218
+ | enmuConfig.erasableSyntaxOnly | boolean | نعم | يتوافق مع خيار `compilerOptions.erasableSyntaxOnly` في tsconfig.json. عندما يكون `true`، يتم إنشاء كائن const بدلاً من enum (صيغة النوع فقط). القيمة الافتراضية: `false` |
219
+ | enmuConfig.varnames | string | لا | اسم الحقل في مخطط Swagger الذي يحتوي على أسماء عناصر التعداد المخصصة. القيمة الافتراضية: `enum-varnames`. |
220
+ | enmuConfig.comment | string | لا | اسم الحقل في مخطط Swagger الذي يحتوي على أوصاف عناصر التعداد (يُستخدم لإنشاء التعليقات). القيمة الافتراضية: `enum-descriptions`. |
221
+ | parameterSeparator | '$' \| '\_' | لا | الفاصل المستخدم بين أجزاء المسار والمعاملات عالميًا عند إنشاء أسماء API وأسماء الأنواع. على سبيل المثال، `/users/{userId}/posts` مع الفاصل `'_'` ينشئ `users_userId_posts_GET`. القيمة الافتراضية: `'_'`. يمكن لكل خادم تكوينه بشكل منفصل للتجاوز |
222
222
 
223
223
  #### العلاقة بين عناصر التكوين والملفات المولدة
224
224
 
@@ -284,7 +284,7 @@ export const userDetailGet = (params: UserDetail_GET.Query) => GET<UserDetail_GE
284
284
  - `parameterSeparator`: الفاصل لأسماء API وأسماء الأنواع
285
285
  - `includeInterface`: قائمة الواجهات المضمنة
286
286
  - `excludeInterface`: قائمة الواجهات المستبعدة
287
- - `pathPrefix`: بادئة مسار الطلب
287
+ - `modulePrefix`: بادئة مسار الطلب
288
288
  - `publicPrefix`: البادئة العامة لـ URL
289
289
  - `headers`: تكوين رأس الطلب
290
290
 
@@ -294,7 +294,7 @@ export const userDetailGet = (params: UserDetail_GET.Query) => GET<UserDetail_GE
294
294
  {
295
295
  "dataLevel": "serve",
296
296
  "parameterSeparator": "_",
297
- "swaggerServers": [
297
+ "swaggerConfig": [
298
298
  {
299
299
  "url": "http://api1.example.com/swagger.json",
300
300
  "dataLevel": "data",
@@ -393,7 +393,7 @@ interface User {
393
393
  ```json
394
394
  {
395
395
  "dataLevel": "serve",
396
- "swaggerServers": [
396
+ "swaggerConfig": [
397
397
  {
398
398
  "url": "http://api1.example.com/swagger.json",
399
399
  "dataLevel": "data"
@@ -489,8 +489,8 @@ export const uploadFile = (params: UploadFile.Body) =>
489
489
 
490
490
  تدعم الأداة تكوين خوادم Swagger متعددة، ويمكن تكوين كل خادم بشكل مستقل:
491
491
 
492
- - **خادم واحد**: يمكن ملء `swaggerServers` مباشرة ككائن
493
- - **خوادم متعددة**: استخدم `swaggerServers` كمصفوفة، ويجب تكوين `apiListFileName` فريد لكل خادم
492
+ - **خادم واحد**: يمكن ملء `swaggerConfig` مباشرة ككائن
493
+ - **خوادم متعددة**: استخدم `swaggerConfig` كمصفوفة، ويجب تكوين `apiListFileName` فريد لكل خادم
494
494
 
495
495
  **كيفية العمل:**
496
496
 
@@ -506,11 +506,11 @@ export const uploadFile = (params: UploadFile.Body) =>
506
506
  - `parameterSeparator` - الفاصل لأسماء API وأسماء الأنواع
507
507
  - `includeInterface` - قائمة الواجهات المضمنة
508
508
  - `excludeInterface` - قائمة الواجهات المستبعدة
509
- - `pathPrefix` - بادئة مسار الطلب
509
+ - `modulePrefix` - بادئة مسار الطلب
510
510
 
511
- #### بادئة المسار (pathPrefix)
511
+ #### بادئة المسار (modulePrefix)
512
512
 
513
- يُستخدم `pathPrefix` لإضافة بادئة تلقائيًا أمام جميع مسارات طلبات API، وهو مفيد بشكل خاص في السيناريوهات التالية:
513
+ يُستخدم `modulePrefix` لإضافة بادئة تلقائيًا أمام جميع مسارات طلبات API، وهو مفيد بشكل خاص في السيناريوهات التالية:
514
514
 
515
515
  1. **سيناريو الوكيل العكسي**: عندما يتم توجيه خدمة الخلفية من خلال وكيل عكسي
516
516
  2. **بوابة API**: إضافة بادئة بوابة موحدة أمام المسار
@@ -520,10 +520,10 @@ export const uploadFile = (params: UploadFile.Body) =>
520
520
 
521
521
  ```json
522
522
  {
523
- "swaggerServers": [
523
+ "swaggerConfig": [
524
524
  {
525
525
  "url": "http://api.example.com/swagger.json",
526
- "pathPrefix": "/forward",
526
+ "modulePrefix": "/forward",
527
527
  "apiListFileName": "api.ts"
528
528
  }
529
529
  ]
@@ -541,18 +541,18 @@ export const apiUserListGet = (params: ApiUserList_GET.Query) => GET<ApiUserList
541
541
  **الفرق مع publicPrefix:**
542
542
 
543
543
  - `publicPrefix`: يُستخدم لإزالة البادئة العامة من مسار الواجهة (يؤثر فقط على اسم الدالة المولدة)
544
- - `pathPrefix`: يُستخدم لإضافة بادئة أمام مسار الطلب الفعلي (يؤثر على URL الطلب في وقت التشغيل)
544
+ - `modulePrefix`: يُستخدم لإضافة بادئة أمام مسار الطلب الفعلي (يؤثر على URL الطلب في وقت التشغيل)
545
545
 
546
546
  **مثال على التكوين:**
547
547
 
548
548
  ```json
549
549
  {
550
- "swaggerServers": [
550
+ "swaggerConfig": [
551
551
  {
552
552
  "url": "http://api1.example.com/swagger.json",
553
553
  "apiListFileName": "api1.ts",
554
554
  "publicPrefix": "/api/v1",
555
- "pathPrefix": "/forward",
555
+ "modulePrefix": "/forward",
556
556
  "dataLevel": "serve",
557
557
  "parameterSeparator": "_",
558
558
  "headers": {
@@ -582,7 +582,7 @@ export const apiUserListGet = (params: ApiUserList_GET.Query) => GET<ApiUserList
582
582
 
583
583
  ```json
584
584
  {
585
- "swaggerServers": [
585
+ "swaggerConfig": [
586
586
  {
587
587
  "url": "http://api1.example.com/swagger.json",
588
588
  "apiListFileName": "api1.ts",
@@ -607,7 +607,7 @@ export const apiUserListGet = (params: ApiUserList_GET.Query) => GET<ApiUserList
607
607
 
608
608
  - لا يزال التكوين القديم (`swaggerJsonUrl` و `publicPrefix` و `headers`) متوافقًا
609
609
  - ستكتشف الأداة تلقائيًا التكوين القديم وتقترح طريقة الترحيل
610
- - يُنصح بالترحيل إلى تكوين `swaggerServers` الجديد للحصول على مرونة أفضل
610
+ - يُنصح بالترحيل إلى تكوين `swaggerConfig` الجديد للحصول على مرونة أفضل
611
611
 
612
612
  #### دعم طرق HTTP
613
613
 
@@ -632,7 +632,7 @@ export const apiUserListGet = (params: ApiUserList_GET.Query) => GET<ApiUserList
632
632
  4. يُنصح بإضافة الملفات المولدة إلى التحكم في الإصدار
633
633
  5. عند استخدام خوادم Swagger متعددة، تأكد من أن `apiListFileName` لكل خادم فريد لتجنب استبدال الملفات
634
634
  6. عند تكوين خوادم متعددة، سيتم دمج تعريفات الأنواع والتعدادات، وقد تحدث تعارضات إذا كانت هناك أنواع بنفس الاسم من خوادم مختلفة
635
- 7. تكوين مستوى الخادم (`dataLevel` و `parameterSeparator` و `includeInterface` و `excludeInterface` و `pathPrefix`) سيتجاوز التكوين العام
635
+ 7. تكوين مستوى الخادم (`dataLevel` و `parameterSeparator` و `includeInterface` و `excludeInterface` و `modulePrefix`) سيتجاوز التكوين العام
636
636
  8. لا يمكن تكوين `includeInterface` و `excludeInterface` في نفس الوقت، إذا تم تكوينهما معًا، سيتم إعطاء الأولوية لـ `includeInterface`
637
637
 
638
638
  ### الأسئلة الشائعة
@@ -645,15 +645,15 @@ export const apiUserListGet = (params: ApiUserList_GET.Query) => GET<ApiUserList
645
645
  - تحقق من صحة تكوين requestMethodsImportPath
646
646
  - تأكد من وجود ملف طريقة الطلب
647
647
 
648
- 3. **متى تستخدم `pathPrefix`؟**
648
+ 3. **متى تستخدم `modulePrefix`؟**
649
649
  - عندما تحتاج واجهة API الخاصة بك إلى الوصول عبر وكيل عكسي أو بوابة
650
650
  - على سبيل المثال: المحدد في Swagger هو `/api/user`، لكن الطلب الفعلي يحتاج إلى `/gateway/api/user`
651
- - ما عليك سوى تعيين `pathPrefix: "/gateway"`
651
+ - ما عليك سوى تعيين `modulePrefix: "/gateway"`
652
652
 
653
- 4. **ما الفرق بين `publicPrefix` و `pathPrefix`؟**
653
+ 4. **ما الفرق بين `publicPrefix` و `modulePrefix`؟**
654
654
  - `publicPrefix`: يزيل البادئة من مسار الواجهة، ويؤثر فقط على اسم الدالة المولدة
655
655
  - على سبيل المثال: `/api/user/list` بعد إزالة `/api`، يكون اسم الدالة `userListGet`
656
- - `pathPrefix`: يضيف بادئة أمام مسار الطلب، ويؤثر على URL الطلب الفعلي
656
+ - `modulePrefix`: يضيف بادئة أمام مسار الطلب، ويؤثر على URL الطلب الفعلي
657
657
  - على سبيل المثال: `/api/user/list` بعد إضافة `/forward`، يكون URL الطلب `/forward/api/user/list`
658
658
 
659
659
  5. **كيفية تكوين `dataLevel` مختلف لخوادم متعددة؟**
@@ -661,7 +661,7 @@ export const apiUserListGet = (params: ApiUserList_GET.Query) => GET<ApiUserList
661
661
  ```json
662
662
  {
663
663
  "dataLevel": "serve",
664
- "swaggerServers": [
664
+ "swaggerConfig": [
665
665
  {
666
666
  "url": "http://old-api.com/swagger.json",
667
667
  "dataLevel": "axios",
@@ -682,7 +682,7 @@ export const apiUserListGet = (params: ApiUserList_GET.Query) => GET<ApiUserList
682
682
  - استخدم تكوين `includeInterface`:
683
683
  ```json
684
684
  {
685
- "swaggerServers": [
685
+ "swaggerConfig": [
686
686
  {
687
687
  "url": "http://api.com/swagger.json",
688
688
  "includeInterface": [
package/README.es.md CHANGED
@@ -111,11 +111,11 @@ $ anl type
111
111
  "indentation": "\t",
112
112
  "lineEnding": "\n"
113
113
  },
114
- "swaggerServers": {
114
+ "swaggerConfig": {
115
115
  "url": "https://generator3.swagger.io/openapi2.json",
116
116
  "apiListFileName": "index.ts",
117
117
  "publicPrefix": "/api",
118
- "pathPrefix": "/gateway",
118
+ "modulePrefix": "/gateway",
119
119
  "dataLevel": "serve",
120
120
  "parameterSeparator": "_",
121
121
  "headers": {
@@ -156,11 +156,11 @@ $ anl type
156
156
  "varnames": "enum-varnames",
157
157
  "comment": "enum-descriptions"
158
158
  },
159
- "swaggerServers": [
159
+ "swaggerConfig": [
160
160
  {
161
161
  "url": "https://generator3.swagger.io/openapi1.json",
162
162
  "apiListFileName": "op.ts",
163
- "pathPrefix": "/forward",
163
+ "modulePrefix": "/forward",
164
164
  "dataLevel": "serve",
165
165
  "parameterSeparator": "_",
166
166
  "headers": {},
@@ -184,39 +184,39 @@ $ anl type
184
184
 
185
185
  #### Descripción de Elementos de Configuración
186
186
 
187
- | Elemento de Configuración | Tipo | Requerido | Descripción |
188
- | ------------------------------ | ------------------------------------- | --------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
189
- | saveTypeFolderPath | string | Sí | Ruta de guardado de archivos de definición de tipos |
190
- | saveApiListFolderPath | string | Sí | Ruta de guardado de archivos de funciones de solicitud API |
191
- | saveEnumFolderPath | string | Sí | Ruta de guardado de archivos de datos enum |
192
- | importEnumPath | string | Sí | Ruta de importación de enum (ruta de referencia de archivos enum en apps/types/models/\*.ts) |
193
- | swaggerJsonUrl | string | No | Dirección del documento Swagger JSON (migrado a `swaggerServers`, conservado para compatibilidad con configuración antigua) **Este campo se eliminará en versiones futuras** |
194
- | swaggerServers | object \| Array<object> | No | Configuración del servidor Swagger. Un solo servidor se puede completar directamente como objeto, múltiples servidores usan array. Cada servidor puede configurar `url`, `publicPrefix`, `apiListFileName`, `headers`<br />Este campo corresponde a los ejemplos de configuración de un solo servidor Swagger y configuración de múltiples servidores Swagger, desplázate hacia arriba para verlos |
195
- | swaggerServers[].url | string | Sí | Dirección del documento Swagger JSON |
196
- | swaggerServers[].publicPrefix | string | No | Prefijo público en la ruta URL, por ejemplo: api/users, api/users/{id}, api es el prefijo público |
197
- | swaggerServers[].pathPrefix | string | No | Prefijo de ruta de solicitud (puede entenderse como nombre de módulo), se agregará automáticamente delante de cada ruta de solicitud API.<br />Por ejemplo: cuando `pathPrefix: "/forward"`,<br />`/publicPrefix/pathPrefix/user` se convierte en `/api/forward/user` |
198
- | swaggerServers[].apiListFileName | string | No | Nombre del archivo de lista de API, el predeterminado es `index.ts`. Cuando hay múltiples servidores, el nombre de archivo de cada servidor debe ser único |
199
- | swaggerServers[].headers | object | No | Configuración de encabezados de solicitud para este servidor |
200
- | swaggerServers[].dataLevel | 'data' \| 'serve' \| 'axios' | No | Nivel de datos de retorno de interfaz para este servidor. Si no se configura, se usa la configuración global `dataLevel` |
201
- | swaggerServers[].parameterSeparator | '$' \| '\_' | No | Separador utilizado al generar nombres de API y nombres de tipo para este servidor. Si no se configura, se usa la configuración global `parameterSeparator` |
202
- | swaggerServers[].includeInterface | Array<{path: string, method: string}> | No | Lista de interfaces incluidas para este servidor. Si no se configura, se usa la configuración global `includeInterface` |
203
- | swaggerServers[].excludeInterface | Array<{path: string, method: string}> | No | Lista de interfaces excluidas para este servidor. Si no se configura, se usa la configuración global `excludeInterface` |
204
- | requestMethodsImportPath | string | Sí | Ruta de importación de métodos de solicitud |
205
- | dataLevel | 'data' \| 'serve' \| 'axios' | No | Configuración global de nivel de datos de retorno de interfaz, valor predeterminado: `'serve'`. Cada servidor puede configurarlo individualmente para sobrescribir |
206
- | formatting | object | No | Configuración de formateo de código |
207
- | formatting.indentation | string | No | Carácter de indentación de código, por ejemplo: `"\t"` o `" "` (dos espacios) |
208
- | formatting.lineEnding | string | No | Carácter de salto de línea, por ejemplo: `"\n"` (LF) o `"\r\n"` (CRLF) |
209
- | headers | object | No | Configuración de encabezados de solicitud (migrado a `swaggerServers`, conservado para compatibilidad con configuración antigua) |
210
- | includeInterface | Array<{path: string, method: string}> | No | Interfaces incluidas globalmente: el archivo de lista de interfaces especificado por `saveApiListFolderPath` solo incluirá las interfaces en la lista, es mutuamente excluyente con el campo `excludeInterface`. Cada servidor puede configurarlo individualmente para sobrescribir |
211
- | excludeInterface | Array<{path: string, method: string}> | No | Interfaces excluidas globalmente: el texto de lista de interfaces especificado por `saveApiListFolderPath` no incluirá las interfaces en esta lista, es mutuamente excluyente con `includeInterface`. Cada servidor puede configurarlo individualmente para sobrescribir |
212
- | publicPrefix | string | No | Prefijo público global en la ruta URL (migrado a `swaggerServers`, conservado para compatibilidad con configuración antigua) |
213
- | pathPrefix | string | No | Prefijo de ruta de solicitud global (cada servidor puede configurarlo individualmente para sobrescribir) |
214
- | apiListFileName | string | No | Nombre del archivo de lista de API global, el predeterminado es `index.ts` (migrado a `swaggerServers`, conservado para compatibilidad con configuración antigua) |
215
- | enmuConfig | object | Sí | Objeto de configuración de enumeración |
216
- | enmuConfig.erasableSyntaxOnly | boolean | Sí | Alineado con la opción `compilerOptions.erasableSyntaxOnly` de tsconfig.json. Cuando es `true`, genera objetos const en lugar de enum (solo sintaxis de tipo). Valor predeterminado: `false` |
217
- | enmuConfig.varnames | string | No | Nombre del campo en el esquema Swagger que contiene los nombres personalizados de los miembros del enum. Valor predeterminado: `enum-varnames`. |
218
- | enmuConfig.comment | string | No | Nombre del campo en el esquema Swagger que contiene las descripciones de los miembros del enum (se usa para generar comentarios). Valor predeterminado: `enum-descriptions`. |
219
- | parameterSeparator | '$' \| '\_' | No | Separador utilizado globalmente entre segmentos de ruta y parámetros al generar nombres de API y nombres de tipo. Por ejemplo, `/users/{userId}/posts` con el separador `'_'` genera `users_userId_posts_GET`. Valor predeterminado: `'_'`. Cada servidor puede configurarlo individualmente para sobrescribir |
187
+ | Elemento de Configuración | Tipo | Requerido | Descripción |
188
+ | ---------------------------------- | ------------------------------------- | --------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
189
+ | saveTypeFolderPath | string | Sí | Ruta de guardado de archivos de definición de tipos |
190
+ | saveApiListFolderPath | string | Sí | Ruta de guardado de archivos de funciones de solicitud API |
191
+ | saveEnumFolderPath | string | Sí | Ruta de guardado de archivos de datos enum |
192
+ | importEnumPath | string | Sí | Ruta de importación de enum (ruta de referencia de archivos enum en apps/types/models/\*.ts) |
193
+ | swaggerJsonUrl | string | No | Dirección del documento Swagger JSON (migrado a `swaggerConfig`, conservado para compatibilidad con configuración antigua) **Este campo se eliminará en versiones futuras** |
194
+ | swaggerConfig | object \| Array<object> | No | Configuración del servidor Swagger. Un solo servidor se puede completar directamente como objeto, múltiples servidores usan array. Cada servidor puede configurar `url`, `publicPrefix`, `apiListFileName`, `headers`<br />Este campo corresponde a los ejemplos de configuración de un solo servidor Swagger y configuración de múltiples servidores Swagger, desplázate hacia arriba para verlos |
195
+ | swaggerConfig[].url | string | Sí | Dirección del documento Swagger JSON |
196
+ | swaggerConfig[].publicPrefix | string | No | Prefijo público en la ruta URL, por ejemplo: api/users, api/users/{id}, api es el prefijo público |
197
+ | swaggerConfig[].modulePrefix | string | No | Prefijo de ruta de solicitud (puede entenderse como nombre de módulo), se agregará automáticamente delante de cada ruta de solicitud API.<br />Por ejemplo: cuando `modulePrefix: "/forward"`,<br />`/publicPrefix/modulePrefix/user` se convierte en `/api/forward/user` |
198
+ | swaggerConfig[].apiListFileName | string | No | Nombre del archivo de lista de API, el predeterminado es `index.ts`. Cuando hay múltiples servidores, el nombre de archivo de cada servidor debe ser único |
199
+ | swaggerConfig[].headers | object | No | Configuración de encabezados de solicitud para este servidor |
200
+ | swaggerConfig[].dataLevel | 'data' \| 'serve' \| 'axios' | No | Nivel de datos de retorno de interfaz para este servidor. Si no se configura, se usa la configuración global `dataLevel` |
201
+ | swaggerConfig[].parameterSeparator | '$' \| '\_' | No | Separador utilizado al generar nombres de API y nombres de tipo para este servidor. Si no se configura, se usa la configuración global `parameterSeparator` |
202
+ | swaggerConfig[].includeInterface | Array<{path: string, method: string}> | No | Lista de interfaces incluidas para este servidor. Si no se configura, se usa la configuración global `includeInterface` |
203
+ | swaggerConfig[].excludeInterface | Array<{path: string, method: string}> | No | Lista de interfaces excluidas para este servidor. Si no se configura, se usa la configuración global `excludeInterface` |
204
+ | requestMethodsImportPath | string | Sí | Ruta de importación de métodos de solicitud |
205
+ | dataLevel | 'data' \| 'serve' \| 'axios' | No | Configuración global de nivel de datos de retorno de interfaz, valor predeterminado: `'serve'`. Cada servidor puede configurarlo individualmente para sobrescribir |
206
+ | formatting | object | No | Configuración de formateo de código |
207
+ | formatting.indentation | string | No | Carácter de indentación de código, por ejemplo: `"\t"` o `" "` (dos espacios) |
208
+ | formatting.lineEnding | string | No | Carácter de salto de línea, por ejemplo: `"\n"` (LF) o `"\r\n"` (CRLF) |
209
+ | headers | object | No | Configuración de encabezados de solicitud (migrado a `swaggerConfig`, conservado para compatibilidad con configuración antigua) |
210
+ | includeInterface | Array<{path: string, method: string}> | No | Interfaces incluidas globalmente: el archivo de lista de interfaces especificado por `saveApiListFolderPath` solo incluirá las interfaces en la lista, es mutuamente excluyente con el campo `excludeInterface`. Cada servidor puede configurarlo individualmente para sobrescribir |
211
+ | excludeInterface | Array<{path: string, method: string}> | No | Interfaces excluidas globalmente: el texto de lista de interfaces especificado por `saveApiListFolderPath` no incluirá las interfaces en esta lista, es mutuamente excluyente con `includeInterface`. Cada servidor puede configurarlo individualmente para sobrescribir |
212
+ | publicPrefix | string | No | Prefijo público global en la ruta URL (migrado a `swaggerConfig`, conservado para compatibilidad con configuración antigua) |
213
+ | modulePrefix | string | No | Prefijo de ruta de solicitud global (cada servidor puede configurarlo individualmente para sobrescribir) |
214
+ | apiListFileName | string | No | Nombre del archivo de lista de API global, el predeterminado es `index.ts` (migrado a `swaggerConfig`, conservado para compatibilidad con configuración antigua) |
215
+ | enmuConfig | object | Sí | Objeto de configuración de enumeración |
216
+ | enmuConfig.erasableSyntaxOnly | boolean | Sí | Alineado con la opción `compilerOptions.erasableSyntaxOnly` de tsconfig.json. Cuando es `true`, genera objetos const en lugar de enum (solo sintaxis de tipo). Valor predeterminado: `false` |
217
+ | enmuConfig.varnames | string | No | Nombre del campo en el esquema Swagger que contiene los nombres personalizados de los miembros del enum. Valor predeterminado: `enum-varnames`. |
218
+ | enmuConfig.comment | string | No | Nombre del campo en el esquema Swagger que contiene las descripciones de los miembros del enum (se usa para generar comentarios). Valor predeterminado: `enum-descriptions`. |
219
+ | parameterSeparator | '$' \| '\_' | No | Separador utilizado globalmente entre segmentos de ruta y parámetros al generar nombres de API y nombres de tipo. Por ejemplo, `/users/{userId}/posts` con el separador `'_'` genera `users_userId_posts_GET`. Valor predeterminado: `'_'`. Cada servidor puede configurarlo individualmente para sobrescribir |
220
220
 
221
221
  #### Relación entre Elementos de Configuración y Archivos Generados
222
222
 
@@ -282,7 +282,7 @@ Los siguientes elementos de configuración admiten sobrescritura a nivel de serv
282
282
  - `parameterSeparator`: Separador para nombres de API y nombres de tipo
283
283
  - `includeInterface`: Lista de interfaces incluidas
284
284
  - `excludeInterface`: Lista de interfaces excluidas
285
- - `pathPrefix`: Prefijo de ruta de solicitud
285
+ - `modulePrefix`: Prefijo de ruta de solicitud
286
286
  - `publicPrefix`: Prefijo común de URL
287
287
  - `headers`: Configuración de encabezados de solicitud
288
288
 
@@ -292,7 +292,7 @@ Los siguientes elementos de configuración admiten sobrescritura a nivel de serv
292
292
  {
293
293
  "dataLevel": "serve",
294
294
  "parameterSeparator": "_",
295
- "swaggerServers": [
295
+ "swaggerConfig": [
296
296
  {
297
297
  "url": "http://api1.example.com/swagger.json",
298
298
  "dataLevel": "data",
@@ -391,7 +391,7 @@ interface User {
391
391
  ```json
392
392
  {
393
393
  "dataLevel": "serve",
394
- "swaggerServers": [
394
+ "swaggerConfig": [
395
395
  {
396
396
  "url": "http://api1.example.com/swagger.json",
397
397
  "dataLevel": "data"
@@ -487,8 +487,8 @@ Nota: `includeInterface` y `excludeInterface` no se pueden usar simultáneamente
487
487
 
488
488
  La herramienta admite la configuración de múltiples servidores Swagger, cada servidor se puede configurar de forma independiente:
489
489
 
490
- - **Un solo servidor**: `swaggerServers` se puede completar directamente como objeto
491
- - **Múltiples servidores**: `swaggerServers` usa formato de array, cada servidor debe configurar un `apiListFileName` único
490
+ - **Un solo servidor**: `swaggerConfig` se puede completar directamente como objeto
491
+ - **Múltiples servidores**: `swaggerConfig` usa formato de array, cada servidor debe configurar un `apiListFileName` único
492
492
 
493
493
  **Cómo funciona:**
494
494
 
@@ -504,11 +504,11 @@ Cada servidor admite configuración independiente de las siguientes opciones. Si
504
504
  - `parameterSeparator` - Separador para nombres de API y nombres de tipo
505
505
  - `includeInterface` - Lista de interfaces incluidas
506
506
  - `excludeInterface` - Lista de interfaces excluidas
507
- - `pathPrefix` - Prefijo de ruta de solicitud
507
+ - `modulePrefix` - Prefijo de ruta de solicitud
508
508
 
509
- #### Prefijo de Ruta (pathPrefix)
509
+ #### Prefijo de Ruta (modulePrefix)
510
510
 
511
- `pathPrefix` se utiliza para agregar automáticamente un prefijo delante de todas las rutas de solicitud API, esto es especialmente útil en los siguientes escenarios:
511
+ `modulePrefix` se utiliza para agregar automáticamente un prefijo delante de todas las rutas de solicitud API, esto es especialmente útil en los siguientes escenarios:
512
512
 
513
513
  1. **Escenario de proxy inverso**: Cuando el servicio backend se enruta a través de un proxy inverso
514
514
  2. **Gateway de API**: Agregar uniformemente un prefijo de gateway delante de la ruta
@@ -518,10 +518,10 @@ Cada servidor admite configuración independiente de las siguientes opciones. Si
518
518
 
519
519
  ```json
520
520
  {
521
- "swaggerServers": [
521
+ "swaggerConfig": [
522
522
  {
523
523
  "url": "http://api.example.com/swagger.json",
524
- "pathPrefix": "/forward",
524
+ "modulePrefix": "/forward",
525
525
  "apiListFileName": "api.ts"
526
526
  }
527
527
  ]
@@ -539,18 +539,18 @@ export const apiUserListGet = (params: ApiUserList_GET.Query) => GET<ApiUserList
539
539
  **Diferencia con publicPrefix:**
540
540
 
541
541
  - `publicPrefix`: Se usa para eliminar el prefijo común de la ruta de interfaz (solo afecta al nombre de función generado)
542
- - `pathPrefix`: Se usa para agregar prefijo delante de la ruta de solicitud real (afecta a la URL de solicitud en tiempo de ejecución)
542
+ - `modulePrefix`: Se usa para agregar prefijo delante de la ruta de solicitud real (afecta a la URL de solicitud en tiempo de ejecución)
543
543
 
544
544
  **Ejemplo de configuración:**
545
545
 
546
546
  ```json
547
547
  {
548
- "swaggerServers": [
548
+ "swaggerConfig": [
549
549
  {
550
550
  "url": "http://api1.example.com/swagger.json",
551
551
  "apiListFileName": "api1.ts",
552
552
  "publicPrefix": "/api/v1",
553
- "pathPrefix": "/forward",
553
+ "modulePrefix": "/forward",
554
554
  "dataLevel": "serve",
555
555
  "parameterSeparator": "_",
556
556
  "headers": {
@@ -580,7 +580,7 @@ export const apiUserListGet = (params: ApiUserList_GET.Query) => GET<ApiUserList
580
580
 
581
581
  ```json
582
582
  {
583
- "swaggerServers": [
583
+ "swaggerConfig": [
584
584
  {
585
585
  "url": "http://api1.example.com/swagger.json",
586
586
  "apiListFileName": "api1.ts",
@@ -605,7 +605,7 @@ export const apiUserListGet = (params: ApiUserList_GET.Query) => GET<ApiUserList
605
605
 
606
606
  - La configuración antigua (`swaggerJsonUrl`, `publicPrefix`, `headers`) sigue siendo compatible
607
607
  - La herramienta detectará automáticamente la configuración antigua y sugerirá el método de migración
608
- - Se recomienda migrar a la nueva configuración `swaggerServers` para obtener mayor flexibilidad
608
+ - Se recomienda migrar a la nueva configuración `swaggerConfig` para obtener mayor flexibilidad
609
609
 
610
610
  #### Soporte para Métodos HTTP
611
611
 
@@ -630,7 +630,7 @@ Todos los métodos admiten definiciones de tipos seguros para parámetros y resp
630
630
  4. Se recomienda incluir los archivos generados en el control de versiones
631
631
  5. Al usar múltiples servidores Swagger, asegúrate de que el `apiListFileName` de cada servidor sea único para evitar sobrescritura de archivos
632
632
  6. Al configurar múltiples servidores, las definiciones de tipos y enumeraciones se fusionarán, y pueden ocurrir conflictos si hay tipos con el mismo nombre de diferentes servidores
633
- 7. La configuración a nivel de servidor (`dataLevel`, `parameterSeparator`, `includeInterface`, `excludeInterface`, `pathPrefix`) sobrescribirá la configuración global
633
+ 7. La configuración a nivel de servidor (`dataLevel`, `parameterSeparator`, `includeInterface`, `excludeInterface`, `modulePrefix`) sobrescribirá la configuración global
634
634
  8. `includeInterface` y `excludeInterface` no se pueden configurar simultáneamente. Si se configuran ambos, se usará `includeInterface` con prioridad
635
635
 
636
636
  ### Preguntas Frecuentes
@@ -643,15 +643,15 @@ Todos los métodos admiten definiciones de tipos seguros para parámetros y resp
643
643
  - Verifica si la configuración de requestMethodsImportPath es correcta
644
644
  - Confirma si el archivo de métodos de solicitud existe
645
645
 
646
- 3. **¿Cuándo usar `pathPrefix`?**
646
+ 3. **¿Cuándo usar `modulePrefix`?**
647
647
  - Cuando tu API necesita accederse a través de un proxy inverso o gateway
648
648
  - Por ejemplo: Swagger define `/api/user`, pero la solicitud real necesita ser `/gateway/api/user`
649
- - Simplemente configura `pathPrefix: "/gateway"`
649
+ - Simplemente configura `modulePrefix: "/gateway"`
650
650
 
651
- 4. **¿Cuál es la diferencia entre `publicPrefix` y `pathPrefix`?**
651
+ 4. **¿Cuál es la diferencia entre `publicPrefix` y `modulePrefix`?**
652
652
  - `publicPrefix`: Elimina el prefijo de la ruta de interfaz, solo afecta al nombre de función generado
653
653
  - Por ejemplo: `/api/user/list` después de eliminar `/api`, el nombre de función es `userListGet`
654
- - `pathPrefix`: Agrega prefijo delante de la ruta de solicitud, afecta a la URL de solicitud real
654
+ - `modulePrefix`: Agrega prefijo delante de la ruta de solicitud, afecta a la URL de solicitud real
655
655
  - Por ejemplo: `/api/user/list` después de agregar `/forward`, la URL de solicitud es `/forward/api/user/list`
656
656
 
657
657
  5. **¿Cómo configurar diferentes `dataLevel` para múltiples servidores?**
@@ -659,7 +659,7 @@ Todos los métodos admiten definiciones de tipos seguros para parámetros y resp
659
659
  ```json
660
660
  {
661
661
  "dataLevel": "serve",
662
- "swaggerServers": [
662
+ "swaggerConfig": [
663
663
  {
664
664
  "url": "http://old-api.com/swagger.json",
665
665
  "dataLevel": "axios",
@@ -680,7 +680,7 @@ Todos los métodos admiten definiciones de tipos seguros para parámetros y resp
680
680
  - Usa la configuración `includeInterface`:
681
681
  ```json
682
682
  {
683
- "swaggerServers": [
683
+ "swaggerConfig": [
684
684
  {
685
685
  "url": "http://api.com/swagger.json",
686
686
  "includeInterface": [