gitverse-api-sdk 3.1.0 → 3.2.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.
Files changed (55) hide show
  1. package/README.md +93 -0
  2. package/dist/api/actions.d.ts +58 -39
  3. package/dist/api/actions.js +3 -3
  4. package/dist/api/actions.js.map +3 -3
  5. package/dist/api/branches.d.ts +26 -7
  6. package/dist/api/branches.js +3 -3
  7. package/dist/api/branches.js.map +3 -3
  8. package/dist/api/collaborators.d.ts +27 -8
  9. package/dist/api/collaborators.js +3 -3
  10. package/dist/api/collaborators.js.map +3 -3
  11. package/dist/api/commits.d.ts +28 -9
  12. package/dist/api/commits.js +3 -3
  13. package/dist/api/commits.js.map +3 -3
  14. package/dist/api/contents.d.ts +29 -10
  15. package/dist/api/contents.js +3 -3
  16. package/dist/api/contents.js.map +3 -3
  17. package/dist/api/emails.d.ts +28 -9
  18. package/dist/api/emails.js +3 -3
  19. package/dist/api/emails.js.map +3 -3
  20. package/dist/api/forks.d.ts +26 -7
  21. package/dist/api/forks.js +3 -3
  22. package/dist/api/forks.js.map +3 -3
  23. package/dist/api/git.d.ts +28 -9
  24. package/dist/api/git.js +3 -3
  25. package/dist/api/git.js.map +3 -3
  26. package/dist/api/issues.d.ts +31 -12
  27. package/dist/api/issues.js +3 -3
  28. package/dist/api/issues.js.map +3 -3
  29. package/dist/api/organizations.d.ts +26 -7
  30. package/dist/api/organizations.js +3 -3
  31. package/dist/api/organizations.js.map +3 -3
  32. package/dist/api/pulls.d.ts +33 -14
  33. package/dist/api/pulls.js +3 -3
  34. package/dist/api/pulls.js.map +3 -3
  35. package/dist/api/releases.d.ts +35 -16
  36. package/dist/api/releases.js +3 -3
  37. package/dist/api/releases.js.map +3 -3
  38. package/dist/api/repositories.d.ts +32 -13
  39. package/dist/api/repositories.js +3 -3
  40. package/dist/api/repositories.js.map +3 -3
  41. package/dist/api/stars.d.ts +29 -10
  42. package/dist/api/stars.js +3 -3
  43. package/dist/api/stars.js.map +3 -3
  44. package/dist/api/teams.d.ts +29 -10
  45. package/dist/api/teams.js +3 -3
  46. package/dist/api/teams.js.map +3 -3
  47. package/dist/api/users.d.ts +27 -8
  48. package/dist/api/users.js +3 -3
  49. package/dist/api/users.js.map +3 -3
  50. package/dist/client.d.ts +25 -6
  51. package/dist/client.js +3 -3
  52. package/dist/client.js.map +3 -3
  53. package/dist/index.d.ts +117 -98
  54. package/dist/types.d.ts +14 -1
  55. package/package.json +1 -1
@@ -33,6 +33,19 @@ declare const PullRequestState: {
33
33
  */
34
34
  type PullRequestState = (typeof PullRequestState)[keyof typeof PullRequestState];
35
35
  /**
36
+ * Опции для выполнения HTTP-запросов
37
+ */
38
+ interface RequestOptions {
39
+ /**
40
+ * AbortSignal для отмены запроса
41
+ * @example
42
+ * const controller = new AbortController();
43
+ * const promise = client.users.getCurrent({ signal: controller.signal });
44
+ * controller.abort(); // Отменяет запрос
45
+ */
46
+ signal?: AbortSignal;
47
+ }
48
+ /**
36
49
  * Интерфейс пользователя
37
50
  */
38
51
  interface User2 {
@@ -406,45 +419,51 @@ declare class GitVerseClient {
406
419
  * @param path Путь к API-ресурсу
407
420
  * @param method HTTP-метод
408
421
  * @param body Тело запроса (опционально)
422
+ * @param options Опции запроса (опционально)
409
423
  * @returns Ответ от API
410
424
  * @throws {RateLimitError} При превышении лимита запросов (429)
411
425
  * @throws {GitVerseApiError} При других ошибках API
412
426
  */
413
- request<T>(path: string, method: HTTPMethods, body?: unknown): Promise<T>;
427
+ request<T>(path: string, method: HTTPMethods, body?: unknown, options?: RequestOptions): Promise<T>;
414
428
  /**
415
429
  * Выполняет GET-запрос
416
430
  * @param path Путь к API-ресурсу
431
+ * @param options Опции запроса (опционально)
417
432
  * @returns Ответ от API
418
433
  */
419
- get<T>(path: string): Promise<T>;
434
+ get<T>(path: string, options?: RequestOptions): Promise<T>;
420
435
  /**
421
436
  * Выполняет POST-запрос
422
437
  * @param path Путь к API-ресурсу
423
438
  * @param body Тело запроса
439
+ * @param options Опции запроса (опционально)
424
440
  * @returns Ответ от API
425
441
  */
426
- post<T>(path: string, body?: unknown): Promise<T>;
442
+ post<T>(path: string, body?: unknown, options?: RequestOptions): Promise<T>;
427
443
  /**
428
444
  * Выполняет PUT-запрос
429
445
  * @param path Путь к API-ресурсу
430
446
  * @param body Тело запроса
447
+ * @param options Опции запроса (опционально)
431
448
  * @returns Ответ от API
432
449
  */
433
- put<T>(path: string, body?: unknown): Promise<T>;
450
+ put<T>(path: string, body?: unknown, options?: RequestOptions): Promise<T>;
434
451
  /**
435
452
  * Выполняет DELETE-запрос
436
453
  * @param path Путь к API-ресурсу
437
454
  * @param body Тело запроса (опционально)
455
+ * @param options Опции запроса (опционально)
438
456
  * @returns Ответ от API
439
457
  */
440
- delete<T>(path: string, body?: unknown): Promise<T>;
458
+ delete<T>(path: string, body?: unknown, options?: RequestOptions): Promise<T>;
441
459
  /**
442
460
  * Выполняет PATCH-запрос
443
461
  * @param path Путь к API-ресурсу
444
462
  * @param body Тело запроса
463
+ * @param options Опции запроса (опционально)
445
464
  * @returns Ответ от API
446
465
  */
447
- patch<T>(path: string, body?: unknown): Promise<T>;
466
+ patch<T>(path: string, body?: unknown, options?: RequestOptions): Promise<T>;
448
467
  }
449
468
  /**
450
469
  * API для работы с запросами на слияние (пулл-реквестами)
@@ -463,7 +482,7 @@ declare class PullsApi {
463
482
  * @param params Параметры создания запроса на слияние
464
483
  * @returns Информация о созданном запросе на слияние
465
484
  */
466
- create(owner: string, repo: string, params: CreatePullRequestParams): Promise<PullRequest>;
485
+ create(owner: string, repo: string, params: CreatePullRequestParams, options?: RequestOptions): Promise<PullRequest>;
467
486
  /**
468
487
  * Получает запрос на слияние по его номеру
469
488
  * @param owner Владелец репозитория
@@ -471,7 +490,7 @@ declare class PullsApi {
471
490
  * @param number Номер запроса на слияние
472
491
  * @returns Информация о запросе на слияние
473
492
  */
474
- get(owner: string, repo: string, number: number): Promise<PullRequest>;
493
+ get(owner: string, repo: string, number: number, options?: RequestOptions): Promise<PullRequest>;
475
494
  /**
476
495
  * Получает список запросов на слияние в репозитории
477
496
  * @param owner Владелец репозитория
@@ -479,7 +498,7 @@ declare class PullsApi {
479
498
  * @param state Состояние запросов на слияние (открытые/закрытые/все)
480
499
  * @returns Список запросов на слияние
481
500
  */
482
- list(owner: string, repo: string, state?: PullRequestState): Promise<PullRequest[]>;
501
+ list(owner: string, repo: string, state?: PullRequestState, options?: RequestOptions): Promise<PullRequest[]>;
483
502
  /**
484
503
  * Обновляет pull request
485
504
  * @param owner Владелец репозитория
@@ -488,7 +507,7 @@ declare class PullsApi {
488
507
  * @param params Параметры для обновления
489
508
  * @returns Обновлённый pull request
490
509
  */
491
- update(owner: string, repo: string, number: number, params: UpdatePullRequestParams): Promise<PullRequest>;
510
+ update(owner: string, repo: string, number: number, params: UpdatePullRequestParams, options?: RequestOptions): Promise<PullRequest>;
492
511
  /**
493
512
  * Получает список файлов в pull request
494
513
  * @param owner Владелец репозитория
@@ -496,7 +515,7 @@ declare class PullsApi {
496
515
  * @param number Номер pull request
497
516
  * @returns Список изменённых файлов
498
517
  */
499
- getFiles(owner: string, repo: string, number: number): Promise<PullRequestFile[]>;
518
+ getFiles(owner: string, repo: string, number: number, options?: RequestOptions): Promise<PullRequestFile[]>;
500
519
  /**
501
520
  * Обновляет ветку pull request с базовой веткой
502
521
  * @param owner Владелец репозитория
@@ -504,7 +523,7 @@ declare class PullsApi {
504
523
  * @param number Номер pull request
505
524
  * @returns Результат операции
506
525
  */
507
- updateBranch(owner: string, repo: string, number: number): Promise<void>;
526
+ updateBranch(owner: string, repo: string, number: number, options?: RequestOptions): Promise<void>;
508
527
  /**
509
528
  * Получает список коммитов в pull request
510
529
  * @param owner Владелец репозитория
@@ -512,7 +531,7 @@ declare class PullsApi {
512
531
  * @param number Номер pull request
513
532
  * @returns Список коммитов
514
533
  */
515
- getCommits(owner: string, repo: string, number: number): Promise<Commit[]>;
534
+ getCommits(owner: string, repo: string, number: number, options?: RequestOptions): Promise<Commit[]>;
516
535
  /**
517
536
  * Проверяет, был ли pull request влит в базовую ветку
518
537
  * @param owner Владелец репозитория
@@ -520,6 +539,6 @@ declare class PullsApi {
520
539
  * @param number Номер pull request
521
540
  * @returns true если PR был влит, false если не был влит или не существует
522
541
  */
523
- checkIfMerged(owner: string, repo: string, number: number): Promise<boolean>;
542
+ checkIfMerged(owner: string, repo: string, number: number, options?: RequestOptions): Promise<boolean>;
524
543
  }
525
544
  export { PullsApi };
package/dist/api/pulls.js CHANGED
@@ -1,4 +1,4 @@
1
- import{v as q}from"../errors.js";class v{client;constructor(d){this.client=d}create(d,g,f){return this.client.post(`/repos/${d}/${g}/pulls`,f)}get(d,g,f){return this.client.get(`/repos/${d}/${g}/pulls/${f}`)}list(d,g,f){let k=new URL(`/repos/${d}/${g}/pulls`,"http://localhost");if(f)k.searchParams.set("state",f);return this.client.get(k.href.replace("http://localhost",""))}update(d,g,f,j){return this.client.patch(`/repos/${d}/${g}/pulls/${f}`,j)}getFiles(d,g,f){return this.client.get(`/repos/${d}/${g}/pulls/${f}/files`)}updateBranch(d,g,f){return this.client.put(`/repos/${d}/${g}/pulls/${f}/update-branch`,{})}getCommits(d,g,f){return this.client.get(`/repos/${d}/${g}/pulls/${f}/commits`)}async checkIfMerged(d,g,f){try{return await this.client.get(`/repos/${d}/${g}/pulls/${f}/merge`),!0}catch(j){if(j instanceof q&&j.status===404)return!1;throw j}}}export{v as PullsApi};
2
- export{v as m};
1
+ import{v}from"../errors.js";class x{client;constructor(d){this.client=d}create(d,g,f,j){return this.client.post(`/repos/${d}/${g}/pulls`,f,j)}get(d,g,f,j){return this.client.get(`/repos/${d}/${g}/pulls/${f}`,j)}list(d,g,f,j){let q=new URL(`/repos/${d}/${g}/pulls`,"http://localhost");if(f)q.searchParams.set("state",f);return this.client.get(q.href.replace("http://localhost",""),j)}update(d,g,f,j,k){return this.client.patch(`/repos/${d}/${g}/pulls/${f}`,j,k)}getFiles(d,g,f,j){return this.client.get(`/repos/${d}/${g}/pulls/${f}/files`,j)}updateBranch(d,g,f,j){return this.client.put(`/repos/${d}/${g}/pulls/${f}/update-branch`,{},j)}getCommits(d,g,f,j){return this.client.get(`/repos/${d}/${g}/pulls/${f}/commits`,j)}async checkIfMerged(d,g,f,j){try{return await this.client.get(`/repos/${d}/${g}/pulls/${f}/merge`,j),!0}catch(k){if(k instanceof v&&k.status===404)return!1;throw k}}}export{x as PullsApi};
2
+ export{x as m};
3
3
 
4
- //# debugId=25A34B7E93392AB864756E2164756E21
4
+ //# debugId=F9594B133ABA979A64756E2164756E21
@@ -2,9 +2,9 @@
2
2
  "version": 3,
3
3
  "sources": ["../src/api/pulls.ts"],
4
4
  "sourcesContent": [
5
- "import type { GitVerseClient } from \"../client\";\nimport type { PullRequestState } from \"../enums\";\nimport { GitVerseApiError } from \"../errors\";\nimport type { Commit, CreatePullRequestParams, PullRequest, PullRequestFile, UpdatePullRequestParams } from \"../types\";\n\n/**\n * API для работы с запросами на слияние (пулл-реквестами)\n */\nexport class PullsApi {\n private client: GitVerseClient;\n\n /**\n * Создает новый экземпляр API для работы с пулл-реквестами\n * @param client GitVerse клиент\n */\n constructor(client: GitVerseClient) {\n this.client = client;\n }\n\n /**\n * Создает новый запрос на слияние в репозитории\n * @param owner Владелец репозитория\n * @param repo Название репозитория\n * @param params Параметры создания запроса на слияние\n * @returns Информация о созданном запросе на слияние\n */\n create(owner: string, repo: string, params: CreatePullRequestParams): Promise<PullRequest> {\n return this.client.post<PullRequest>(`/repos/${owner}/${repo}/pulls`, params);\n }\n\n /**\n * Получает запрос на слияние по его номеру\n * @param owner Владелец репозитория\n * @param repo Название репозитория\n * @param number Номер запроса на слияние\n * @returns Информация о запросе на слияние\n */\n get(owner: string, repo: string, number: number): Promise<PullRequest> {\n return this.client.get<PullRequest>(`/repos/${owner}/${repo}/pulls/${number}`);\n }\n\n /**\n * Получает список запросов на слияние в репозитории\n * @param owner Владелец репозитория\n * @param repo Название репозитория\n * @param state Состояние запросов на слияние (открытые/закрытые/все)\n * @returns Список запросов на слияние\n */\n list(owner: string, repo: string, state?: PullRequestState): Promise<PullRequest[]> {\n const TEMP = \"http://localhost\";\n\n const path = new URL(`/repos/${owner}/${repo}/pulls`, TEMP);\n if (state) {\n path.searchParams.set(\"state\", state);\n }\n return this.client.get<PullRequest[]>(path.href.replace(TEMP, \"\"));\n }\n\n /**\n * Обновляет pull request\n * @param owner Владелец репозитория\n * @param repo Название репозитория\n * @param number Номер pull request\n * @param params Параметры для обновления\n * @returns Обновлённый pull request\n */\n update(owner: string, repo: string, number: number, params: UpdatePullRequestParams): Promise<PullRequest> {\n return this.client.patch<PullRequest>(`/repos/${owner}/${repo}/pulls/${number}`, params);\n }\n\n /**\n * Получает список файлов в pull request\n * @param owner Владелец репозитория\n * @param repo Название репозитория\n * @param number Номер pull request\n * @returns Список изменённых файлов\n */\n getFiles(owner: string, repo: string, number: number): Promise<PullRequestFile[]> {\n return this.client.get<PullRequestFile[]>(`/repos/${owner}/${repo}/pulls/${number}/files`);\n }\n\n /**\n * Обновляет ветку pull request с базовой веткой\n * @param owner Владелец репозитория\n * @param repo Название репозитория\n * @param number Номер pull request\n * @returns Результат операции\n */\n updateBranch(owner: string, repo: string, number: number): Promise<void> {\n return this.client.put<void>(`/repos/${owner}/${repo}/pulls/${number}/update-branch`, {});\n }\n\n /**\n * Получает список коммитов в pull request\n * @param owner Владелец репозитория\n * @param repo Название репозитория\n * @param number Номер pull request\n * @returns Список коммитов\n */\n getCommits(owner: string, repo: string, number: number): Promise<Commit[]> {\n return this.client.get<Commit[]>(`/repos/${owner}/${repo}/pulls/${number}/commits`);\n }\n\n /**\n * Проверяет, был ли pull request влит в базовую ветку\n * @param owner Владелец репозитория\n * @param repo Название репозитория\n * @param number Номер pull request\n * @returns true если PR был влит, false если не был влит или не существует\n */\n async checkIfMerged(owner: string, repo: string, number: number): Promise<boolean> {\n try {\n await this.client.get<void>(`/repos/${owner}/${repo}/pulls/${number}/merge`);\n return true; // Статус 204 - PR был влит\n } catch (error) {\n if (error instanceof GitVerseApiError && error.status === 404) {\n return false; // Статус 404 - PR не был влит или не существует\n }\n throw error; // Пробрасываем другие ошибки (401, 403, 500 и т.д.)\n }\n }\n}\n"
5
+ "import type { GitVerseClient } from \"../client\";\nimport type { PullRequestState } from \"../enums\";\nimport { GitVerseApiError } from \"../errors\";\nimport type {\n Commit,\n CreatePullRequestParams,\n PullRequest,\n PullRequestFile,\n RequestOptions,\n UpdatePullRequestParams,\n} from \"../types\";\n\n/**\n * API для работы с запросами на слияние (пулл-реквестами)\n */\nexport class PullsApi {\n private client: GitVerseClient;\n\n /**\n * Создает новый экземпляр API для работы с пулл-реквестами\n * @param client GitVerse клиент\n */\n constructor(client: GitVerseClient) {\n this.client = client;\n }\n\n /**\n * Создает новый запрос на слияние в репозитории\n * @param owner Владелец репозитория\n * @param repo Название репозитория\n * @param params Параметры создания запроса на слияние\n * @returns Информация о созданном запросе на слияние\n */\n create(owner: string, repo: string, params: CreatePullRequestParams, options?: RequestOptions): Promise<PullRequest> {\n return this.client.post<PullRequest>(`/repos/${owner}/${repo}/pulls`, params, options);\n }\n\n /**\n * Получает запрос на слияние по его номеру\n * @param owner Владелец репозитория\n * @param repo Название репозитория\n * @param number Номер запроса на слияние\n * @returns Информация о запросе на слияние\n */\n get(owner: string, repo: string, number: number, options?: RequestOptions): Promise<PullRequest> {\n return this.client.get<PullRequest>(`/repos/${owner}/${repo}/pulls/${number}`, options);\n }\n\n /**\n * Получает список запросов на слияние в репозитории\n * @param owner Владелец репозитория\n * @param repo Название репозитория\n * @param state Состояние запросов на слияние (открытые/закрытые/все)\n * @returns Список запросов на слияние\n */\n list(owner: string, repo: string, state?: PullRequestState, options?: RequestOptions): Promise<PullRequest[]> {\n const TEMP = \"http://localhost\";\n\n const path = new URL(`/repos/${owner}/${repo}/pulls`, TEMP);\n if (state) {\n path.searchParams.set(\"state\", state);\n }\n return this.client.get<PullRequest[]>(path.href.replace(TEMP, \"\"), options);\n }\n\n /**\n * Обновляет pull request\n * @param owner Владелец репозитория\n * @param repo Название репозитория\n * @param number Номер pull request\n * @param params Параметры для обновления\n * @returns Обновлённый pull request\n */\n update(\n owner: string,\n repo: string,\n number: number,\n params: UpdatePullRequestParams,\n options?: RequestOptions,\n ): Promise<PullRequest> {\n return this.client.patch<PullRequest>(`/repos/${owner}/${repo}/pulls/${number}`, params, options);\n }\n\n /**\n * Получает список файлов в pull request\n * @param owner Владелец репозитория\n * @param repo Название репозитория\n * @param number Номер pull request\n * @returns Список изменённых файлов\n */\n getFiles(owner: string, repo: string, number: number, options?: RequestOptions): Promise<PullRequestFile[]> {\n return this.client.get<PullRequestFile[]>(`/repos/${owner}/${repo}/pulls/${number}/files`, options);\n }\n\n /**\n * Обновляет ветку pull request с базовой веткой\n * @param owner Владелец репозитория\n * @param repo Название репозитория\n * @param number Номер pull request\n * @returns Результат операции\n */\n updateBranch(owner: string, repo: string, number: number, options?: RequestOptions): Promise<void> {\n return this.client.put<void>(`/repos/${owner}/${repo}/pulls/${number}/update-branch`, {}, options);\n }\n\n /**\n * Получает список коммитов в pull request\n * @param owner Владелец репозитория\n * @param repo Название репозитория\n * @param number Номер pull request\n * @returns Список коммитов\n */\n getCommits(owner: string, repo: string, number: number, options?: RequestOptions): Promise<Commit[]> {\n return this.client.get<Commit[]>(`/repos/${owner}/${repo}/pulls/${number}/commits`, options);\n }\n\n /**\n * Проверяет, был ли pull request влит в базовую ветку\n * @param owner Владелец репозитория\n * @param repo Название репозитория\n * @param number Номер pull request\n * @returns true если PR был влит, false если не был влит или не существует\n */\n async checkIfMerged(owner: string, repo: string, number: number, options?: RequestOptions): Promise<boolean> {\n try {\n await this.client.get<void>(`/repos/${owner}/${repo}/pulls/${number}/merge`, options);\n return true; // Статус 204 - PR был влит\n } catch (error) {\n if (error instanceof GitVerseApiError && error.status === 404) {\n return false; // Статус 404 - PR не был влит или не существует\n }\n throw error; // Пробрасываем другие ошибки (401, 403, 500 и т.д.)\n }\n }\n}\n"
6
6
  ],
7
- "mappings": "iCAQO,MAAM,CAAS,CACZ,OAMR,WAAW,CAAC,EAAwB,CAClC,KAAK,OAAS,EAUhB,MAAM,CAAC,EAAe,EAAc,EAAuD,CACzF,OAAO,KAAK,OAAO,KAAkB,UAAU,KAAS,UAAc,CAAM,EAU9E,GAAG,CAAC,EAAe,EAAc,EAAsC,CACrE,OAAO,KAAK,OAAO,IAAiB,UAAU,KAAS,WAAc,GAAQ,EAU/E,IAAI,CAAC,EAAe,EAAc,EAAkD,CAGlF,IAAM,EAAO,IAAI,IAAI,UAAU,KAAS,UAF3B,kBAE6C,EAC1D,GAAI,EACF,EAAK,aAAa,IAAI,QAAS,CAAK,EAEtC,OAAO,KAAK,OAAO,IAAmB,EAAK,KAAK,QANnC,mBAMiD,EAAE,CAAC,EAWnE,MAAM,CAAC,EAAe,EAAc,EAAgB,EAAuD,CACzG,OAAO,KAAK,OAAO,MAAmB,UAAU,KAAS,WAAc,IAAU,CAAM,EAUzF,QAAQ,CAAC,EAAe,EAAc,EAA4C,CAChF,OAAO,KAAK,OAAO,IAAuB,UAAU,KAAS,WAAc,SAAc,EAU3F,YAAY,CAAC,EAAe,EAAc,EAA+B,CACvE,OAAO,KAAK,OAAO,IAAU,UAAU,KAAS,WAAc,kBAAwB,CAAC,CAAC,EAU1F,UAAU,CAAC,EAAe,EAAc,EAAmC,CACzE,OAAO,KAAK,OAAO,IAAc,UAAU,KAAS,WAAc,WAAgB,OAU9E,cAAa,CAAC,EAAe,EAAc,EAAkC,CACjF,GAAI,CAEF,OADA,MAAM,KAAK,OAAO,IAAU,UAAU,KAAS,WAAc,SAAc,EACpE,GACP,MAAO,EAAO,CACd,GAAI,aAAiB,GAAoB,EAAM,SAAW,IACxD,MAAO,GAET,MAAM,GAGZ",
8
- "debugId": "25A34B7E93392AB864756E2164756E21",
7
+ "mappings": "4BAeO,MAAM,CAAS,CACZ,OAMR,WAAW,CAAC,EAAwB,CAClC,KAAK,OAAS,EAUhB,MAAM,CAAC,EAAe,EAAc,EAAiC,EAAgD,CACnH,OAAO,KAAK,OAAO,KAAkB,UAAU,KAAS,UAAc,EAAQ,CAAO,EAUvF,GAAG,CAAC,EAAe,EAAc,EAAgB,EAAgD,CAC/F,OAAO,KAAK,OAAO,IAAiB,UAAU,KAAS,WAAc,IAAU,CAAO,EAUxF,IAAI,CAAC,EAAe,EAAc,EAA0B,EAAkD,CAG5G,IAAM,EAAO,IAAI,IAAI,UAAU,KAAS,UAF3B,kBAE6C,EAC1D,GAAI,EACF,EAAK,aAAa,IAAI,QAAS,CAAK,EAEtC,OAAO,KAAK,OAAO,IAAmB,EAAK,KAAK,QANnC,mBAMiD,EAAE,EAAG,CAAO,EAW5E,MAAM,CACJ,EACA,EACA,EACA,EACA,EACsB,CACtB,OAAO,KAAK,OAAO,MAAmB,UAAU,KAAS,WAAc,IAAU,EAAQ,CAAO,EAUlG,QAAQ,CAAC,EAAe,EAAc,EAAgB,EAAsD,CAC1G,OAAO,KAAK,OAAO,IAAuB,UAAU,KAAS,WAAc,UAAgB,CAAO,EAUpG,YAAY,CAAC,EAAe,EAAc,EAAgB,EAAyC,CACjG,OAAO,KAAK,OAAO,IAAU,UAAU,KAAS,WAAc,kBAAwB,CAAC,EAAG,CAAO,EAUnG,UAAU,CAAC,EAAe,EAAc,EAAgB,EAA6C,CACnG,OAAO,KAAK,OAAO,IAAc,UAAU,KAAS,WAAc,YAAkB,CAAO,OAUvF,cAAa,CAAC,EAAe,EAAc,EAAgB,EAA4C,CAC3G,GAAI,CAEF,OADA,MAAM,KAAK,OAAO,IAAU,UAAU,KAAS,WAAc,UAAgB,CAAO,EAC7E,GACP,MAAO,EAAO,CACd,GAAI,aAAiB,GAAoB,EAAM,SAAW,IACxD,MAAO,GAET,MAAM,GAGZ",
8
+ "debugId": "F9594B133ABA979A64756E2164756E21",
9
9
  "names": []
10
10
  }
@@ -22,6 +22,19 @@ declare const VisibilityType: {
22
22
  */
23
23
  type VisibilityType = (typeof VisibilityType)[keyof typeof VisibilityType];
24
24
  /**
25
+ * Опции для выполнения HTTP-запросов
26
+ */
27
+ interface RequestOptions {
28
+ /**
29
+ * AbortSignal для отмены запроса
30
+ * @example
31
+ * const controller = new AbortController();
32
+ * const promise = client.users.getCurrent({ signal: controller.signal });
33
+ * controller.abort(); // Отменяет запрос
34
+ */
35
+ signal?: AbortSignal;
36
+ }
37
+ /**
25
38
  * Интерфейс пользователя
26
39
  */
27
40
  interface User2 {
@@ -264,45 +277,51 @@ declare class GitVerseClient {
264
277
  * @param path Путь к API-ресурсу
265
278
  * @param method HTTP-метод
266
279
  * @param body Тело запроса (опционально)
280
+ * @param options Опции запроса (опционально)
267
281
  * @returns Ответ от API
268
282
  * @throws {RateLimitError} При превышении лимита запросов (429)
269
283
  * @throws {GitVerseApiError} При других ошибках API
270
284
  */
271
- request<T>(path: string, method: HTTPMethods, body?: unknown): Promise<T>;
285
+ request<T>(path: string, method: HTTPMethods, body?: unknown, options?: RequestOptions): Promise<T>;
272
286
  /**
273
287
  * Выполняет GET-запрос
274
288
  * @param path Путь к API-ресурсу
289
+ * @param options Опции запроса (опционально)
275
290
  * @returns Ответ от API
276
291
  */
277
- get<T>(path: string): Promise<T>;
292
+ get<T>(path: string, options?: RequestOptions): Promise<T>;
278
293
  /**
279
294
  * Выполняет POST-запрос
280
295
  * @param path Путь к API-ресурсу
281
296
  * @param body Тело запроса
297
+ * @param options Опции запроса (опционально)
282
298
  * @returns Ответ от API
283
299
  */
284
- post<T>(path: string, body?: unknown): Promise<T>;
300
+ post<T>(path: string, body?: unknown, options?: RequestOptions): Promise<T>;
285
301
  /**
286
302
  * Выполняет PUT-запрос
287
303
  * @param path Путь к API-ресурсу
288
304
  * @param body Тело запроса
305
+ * @param options Опции запроса (опционально)
289
306
  * @returns Ответ от API
290
307
  */
291
- put<T>(path: string, body?: unknown): Promise<T>;
308
+ put<T>(path: string, body?: unknown, options?: RequestOptions): Promise<T>;
292
309
  /**
293
310
  * Выполняет DELETE-запрос
294
311
  * @param path Путь к API-ресурсу
295
312
  * @param body Тело запроса (опционально)
313
+ * @param options Опции запроса (опционально)
296
314
  * @returns Ответ от API
297
315
  */
298
- delete<T>(path: string, body?: unknown): Promise<T>;
316
+ delete<T>(path: string, body?: unknown, options?: RequestOptions): Promise<T>;
299
317
  /**
300
318
  * Выполняет PATCH-запрос
301
319
  * @param path Путь к API-ресурсу
302
320
  * @param body Тело запроса
321
+ * @param options Опции запроса (опционально)
303
322
  * @returns Ответ от API
304
323
  */
305
- patch<T>(path: string, body?: unknown): Promise<T>;
324
+ patch<T>(path: string, body?: unknown, options?: RequestOptions): Promise<T>;
306
325
  }
307
326
  /**
308
327
  * API для работы с релизами репозитория
@@ -320,7 +339,7 @@ declare class ReleasesApi {
320
339
  * @param repo Название репозитория
321
340
  * @returns Список релизов
322
341
  */
323
- list(owner: string, repo: string): Promise<Release[]>;
342
+ list(owner: string, repo: string, options?: RequestOptions): Promise<Release[]>;
324
343
  /**
325
344
  * Создает новый релиз
326
345
  * @param owner Владелец репозитория
@@ -328,7 +347,7 @@ declare class ReleasesApi {
328
347
  * @param params Параметры создания релиза
329
348
  * @returns Созданный релиз
330
349
  */
331
- create(owner: string, repo: string, params: CreateReleaseParams): Promise<Release>;
350
+ create(owner: string, repo: string, params: CreateReleaseParams, options?: RequestOptions): Promise<Release>;
332
351
  /**
333
352
  * Получает релиз по тегу
334
353
  * @param owner Владелец репозитория
@@ -336,7 +355,7 @@ declare class ReleasesApi {
336
355
  * @param tag Тег релиза
337
356
  * @returns Информация о релизе
338
357
  */
339
- getByTag(owner: string, repo: string, tag: string): Promise<Release>;
358
+ getByTag(owner: string, repo: string, tag: string, options?: RequestOptions): Promise<Release>;
340
359
  /**
341
360
  * Удаляет релиз по тегу
342
361
  * @param owner Владелец репозитория
@@ -344,7 +363,7 @@ declare class ReleasesApi {
344
363
  * @param tag Тег релиза
345
364
  * @returns Результат операции
346
365
  */
347
- deleteByTag(owner: string, repo: string, tag: string): Promise<void>;
366
+ deleteByTag(owner: string, repo: string, tag: string, options?: RequestOptions): Promise<void>;
348
367
  /**
349
368
  * Получает релиз по ID
350
369
  * @param owner Владелец репозитория
@@ -352,7 +371,7 @@ declare class ReleasesApi {
352
371
  * @param releaseId ID релиза
353
372
  * @returns Информация о релизе
354
373
  */
355
- get(owner: string, repo: string, releaseId: number): Promise<Release>;
374
+ get(owner: string, repo: string, releaseId: number, options?: RequestOptions): Promise<Release>;
356
375
  /**
357
376
  * Удаляет релиз по ID
358
377
  * @param owner Владелец репозитория
@@ -360,7 +379,7 @@ declare class ReleasesApi {
360
379
  * @param releaseId ID релиза
361
380
  * @returns Результат операции
362
381
  */
363
- delete(owner: string, repo: string, releaseId: number): Promise<void>;
382
+ delete(owner: string, repo: string, releaseId: number, options?: RequestOptions): Promise<void>;
364
383
  /**
365
384
  * Обновляет релиз
366
385
  * @param owner Владелец репозитория
@@ -369,7 +388,7 @@ declare class ReleasesApi {
369
388
  * @param params Параметры обновления релиза
370
389
  * @returns Обновлённый релиз
371
390
  */
372
- update(owner: string, repo: string, releaseId: number, params: UpdateReleaseParams): Promise<Release>;
391
+ update(owner: string, repo: string, releaseId: number, params: UpdateReleaseParams, options?: RequestOptions): Promise<Release>;
373
392
  /**
374
393
  * Получает список ассетов релиза
375
394
  * @param owner Владелец репозитория
@@ -377,7 +396,7 @@ declare class ReleasesApi {
377
396
  * @param releaseId ID релиза
378
397
  * @returns Список ассетов
379
398
  */
380
- getAssets(owner: string, repo: string, releaseId: number): Promise<Asset[]>;
399
+ getAssets(owner: string, repo: string, releaseId: number, options?: RequestOptions): Promise<Asset[]>;
381
400
  /**
382
401
  * Загружает ассет к релизу
383
402
  * @param owner Владелец репозитория
@@ -386,7 +405,7 @@ declare class ReleasesApi {
386
405
  * @param params Параметры загрузки ассета
387
406
  * @returns Загруженный ассет
388
407
  */
389
- uploadAsset(owner: string, repo: string, releaseId: number, params: UploadAssetParams): Promise<Asset>;
408
+ uploadAsset(owner: string, repo: string, releaseId: number, params: UploadAssetParams, options?: RequestOptions): Promise<Asset>;
390
409
  /**
391
410
  * Удаляет ассет релиза
392
411
  * @param owner Владелец репозитория
@@ -395,6 +414,6 @@ declare class ReleasesApi {
395
414
  * @param assetId ID ассета
396
415
  * @returns Результат операции
397
416
  */
398
- deleteAsset(owner: string, repo: string, releaseId: number, assetId: number): Promise<void>;
417
+ deleteAsset(owner: string, repo: string, releaseId: number, assetId: number, options?: RequestOptions): Promise<void>;
399
418
  }
400
419
  export { ReleasesApi };
@@ -1,4 +1,4 @@
1
- class k{client;constructor(b){this.client=b}list(b,f){return this.client.get(`/repos/${b}/${f}/releases`)}create(b,f,h){return this.client.post(`/repos/${b}/${f}/releases`,h)}getByTag(b,f,h){return this.client.get(`/repos/${b}/${f}/releases/tags/${h}`)}deleteByTag(b,f,h){return this.client.delete(`/repos/${b}/${f}/releases/tags/${h}`)}get(b,f,h){return this.client.get(`/repos/${b}/${f}/releases/${h}`)}delete(b,f,h){return this.client.delete(`/repos/${b}/${f}/releases/${h}`)}update(b,f,h,j){return this.client.patch(`/repos/${b}/${f}/releases/${h}`,j)}getAssets(b,f,h){return this.client.get(`/repos/${b}/${f}/releases/${h}/assets`)}uploadAsset(b,f,h,j){return this.client.post(`/repos/${b}/${f}/releases/${h}/assets`,j)}deleteAsset(b,f,h,j){return this.client.delete(`/repos/${b}/${f}/releases/${h}/assets/${j}`)}}export{k as ReleasesApi};
2
- export{k as l};
1
+ class q{client;constructor(b){this.client=b}list(b,f,h){return this.client.get(`/repos/${b}/${f}/releases`,h)}create(b,f,h,j){return this.client.post(`/repos/${b}/${f}/releases`,h,j)}getByTag(b,f,h,j){return this.client.get(`/repos/${b}/${f}/releases/tags/${h}`,j)}deleteByTag(b,f,h,j){return this.client.delete(`/repos/${b}/${f}/releases/tags/${h}`,void 0,j)}get(b,f,h,j){return this.client.get(`/repos/${b}/${f}/releases/${h}`,j)}delete(b,f,h,j){return this.client.delete(`/repos/${b}/${f}/releases/${h}`,void 0,j)}update(b,f,h,j,k){return this.client.patch(`/repos/${b}/${f}/releases/${h}`,j,k)}getAssets(b,f,h,j){return this.client.get(`/repos/${b}/${f}/releases/${h}/assets`,j)}uploadAsset(b,f,h,j,k){return this.client.post(`/repos/${b}/${f}/releases/${h}/assets`,j,k)}deleteAsset(b,f,h,j,k){return this.client.delete(`/repos/${b}/${f}/releases/${h}/assets/${j}`,void 0,k)}}export{q as ReleasesApi};
2
+ export{q as l};
3
3
 
4
- //# debugId=7CD31A4CC1DE9F7664756E2164756E21
4
+ //# debugId=C90F84EBC74A2C6E64756E2164756E21
@@ -2,9 +2,9 @@
2
2
  "version": 3,
3
3
  "sources": ["../src/api/releases.ts"],
4
4
  "sourcesContent": [
5
- "import type { GitVerseClient } from \"../client\";\nimport type { Asset, CreateReleaseParams, Release, UpdateReleaseParams, UploadAssetParams } from \"../types\";\n\n/**\n * API для работы с релизами репозитория\n */\nexport class ReleasesApi {\n private client: GitVerseClient;\n\n /**\n * Создает новый экземпляр API для работы с релизами\n * @param client GitVerse клиент\n */\n constructor(client: GitVerseClient) {\n this.client = client;\n }\n\n /**\n * Получает список релизов репозитория\n * @param owner Владелец репозитория\n * @param repo Название репозитория\n * @returns Список релизов\n */\n list(owner: string, repo: string): Promise<Release[]> {\n return this.client.get<Release[]>(`/repos/${owner}/${repo}/releases`);\n }\n\n /**\n * Создает новый релиз\n * @param owner Владелец репозитория\n * @param repo Название репозитория\n * @param params Параметры создания релиза\n * @returns Созданный релиз\n */\n create(owner: string, repo: string, params: CreateReleaseParams): Promise<Release> {\n return this.client.post<Release>(`/repos/${owner}/${repo}/releases`, params);\n }\n\n /**\n * Получает релиз по тегу\n * @param owner Владелец репозитория\n * @param repo Название репозитория\n * @param tag Тег релиза\n * @returns Информация о релизе\n */\n getByTag(owner: string, repo: string, tag: string): Promise<Release> {\n return this.client.get<Release>(`/repos/${owner}/${repo}/releases/tags/${tag}`);\n }\n\n /**\n * Удаляет релиз по тегу\n * @param owner Владелец репозитория\n * @param repo Название репозитория\n * @param tag Тег релиза\n * @returns Результат операции\n */\n deleteByTag(owner: string, repo: string, tag: string): Promise<void> {\n return this.client.delete<void>(`/repos/${owner}/${repo}/releases/tags/${tag}`);\n }\n\n /**\n * Получает релиз по ID\n * @param owner Владелец репозитория\n * @param repo Название репозитория\n * @param releaseId ID релиза\n * @returns Информация о релизе\n */\n get(owner: string, repo: string, releaseId: number): Promise<Release> {\n return this.client.get<Release>(`/repos/${owner}/${repo}/releases/${releaseId}`);\n }\n\n /**\n * Удаляет релиз по ID\n * @param owner Владелец репозитория\n * @param repo Название репозитория\n * @param releaseId ID релиза\n * @returns Результат операции\n */\n delete(owner: string, repo: string, releaseId: number): Promise<void> {\n return this.client.delete<void>(`/repos/${owner}/${repo}/releases/${releaseId}`);\n }\n\n /**\n * Обновляет релиз\n * @param owner Владелец репозитория\n * @param repo Название репозитория\n * @param releaseId ID релиза\n * @param params Параметры обновления релиза\n * @returns Обновлённый релиз\n */\n update(owner: string, repo: string, releaseId: number, params: UpdateReleaseParams): Promise<Release> {\n return this.client.patch<Release>(`/repos/${owner}/${repo}/releases/${releaseId}`, params);\n }\n\n /**\n * Получает список ассетов релиза\n * @param owner Владелец репозитория\n * @param repo Название репозитория\n * @param releaseId ID релиза\n * @returns Список ассетов\n */\n getAssets(owner: string, repo: string, releaseId: number): Promise<Asset[]> {\n return this.client.get<Asset[]>(`/repos/${owner}/${repo}/releases/${releaseId}/assets`);\n }\n\n /**\n * Загружает ассет к релизу\n * @param owner Владелец репозитория\n * @param repo Название репозитория\n * @param releaseId ID релиза\n * @param params Параметры загрузки ассета\n * @returns Загруженный ассет\n */\n uploadAsset(owner: string, repo: string, releaseId: number, params: UploadAssetParams): Promise<Asset> {\n return this.client.post<Asset>(`/repos/${owner}/${repo}/releases/${releaseId}/assets`, params);\n }\n\n /**\n * Удаляет ассет релиза\n * @param owner Владелец репозитория\n * @param repo Название репозитория\n * @param releaseId ID релиза\n * @param assetId ID ассета\n * @returns Результат операции\n */\n deleteAsset(owner: string, repo: string, releaseId: number, assetId: number): Promise<void> {\n return this.client.delete<void>(`/repos/${owner}/${repo}/releases/${releaseId}/assets/${assetId}`);\n }\n}\n"
5
+ "import type { GitVerseClient } from \"../client\";\nimport type {\n Asset,\n CreateReleaseParams,\n Release,\n RequestOptions,\n UpdateReleaseParams,\n UploadAssetParams,\n} from \"../types\";\n\n/**\n * API для работы с релизами репозитория\n */\nexport class ReleasesApi {\n private client: GitVerseClient;\n\n /**\n * Создает новый экземпляр API для работы с релизами\n * @param client GitVerse клиент\n */\n constructor(client: GitVerseClient) {\n this.client = client;\n }\n\n /**\n * Получает список релизов репозитория\n * @param owner Владелец репозитория\n * @param repo Название репозитория\n * @returns Список релизов\n */\n list(owner: string, repo: string, options?: RequestOptions): Promise<Release[]> {\n return this.client.get<Release[]>(`/repos/${owner}/${repo}/releases`, options);\n }\n\n /**\n * Создает новый релиз\n * @param owner Владелец репозитория\n * @param repo Название репозитория\n * @param params Параметры создания релиза\n * @returns Созданный релиз\n */\n create(owner: string, repo: string, params: CreateReleaseParams, options?: RequestOptions): Promise<Release> {\n return this.client.post<Release>(`/repos/${owner}/${repo}/releases`, params, options);\n }\n\n /**\n * Получает релиз по тегу\n * @param owner Владелец репозитория\n * @param repo Название репозитория\n * @param tag Тег релиза\n * @returns Информация о релизе\n */\n getByTag(owner: string, repo: string, tag: string, options?: RequestOptions): Promise<Release> {\n return this.client.get<Release>(`/repos/${owner}/${repo}/releases/tags/${tag}`, options);\n }\n\n /**\n * Удаляет релиз по тегу\n * @param owner Владелец репозитория\n * @param repo Название репозитория\n * @param tag Тег релиза\n * @returns Результат операции\n */\n deleteByTag(owner: string, repo: string, tag: string, options?: RequestOptions): Promise<void> {\n return this.client.delete<void>(`/repos/${owner}/${repo}/releases/tags/${tag}`, undefined, options);\n }\n\n /**\n * Получает релиз по ID\n * @param owner Владелец репозитория\n * @param repo Название репозитория\n * @param releaseId ID релиза\n * @returns Информация о релизе\n */\n get(owner: string, repo: string, releaseId: number, options?: RequestOptions): Promise<Release> {\n return this.client.get<Release>(`/repos/${owner}/${repo}/releases/${releaseId}`, options);\n }\n\n /**\n * Удаляет релиз по ID\n * @param owner Владелец репозитория\n * @param repo Название репозитория\n * @param releaseId ID релиза\n * @returns Результат операции\n */\n delete(owner: string, repo: string, releaseId: number, options?: RequestOptions): Promise<void> {\n return this.client.delete<void>(`/repos/${owner}/${repo}/releases/${releaseId}`, undefined, options);\n }\n\n /**\n * Обновляет релиз\n * @param owner Владелец репозитория\n * @param repo Название репозитория\n * @param releaseId ID релиза\n * @param params Параметры обновления релиза\n * @returns Обновлённый релиз\n */\n update(\n owner: string,\n repo: string,\n releaseId: number,\n params: UpdateReleaseParams,\n options?: RequestOptions,\n ): Promise<Release> {\n return this.client.patch<Release>(`/repos/${owner}/${repo}/releases/${releaseId}`, params, options);\n }\n\n /**\n * Получает список ассетов релиза\n * @param owner Владелец репозитория\n * @param repo Название репозитория\n * @param releaseId ID релиза\n * @returns Список ассетов\n */\n getAssets(owner: string, repo: string, releaseId: number, options?: RequestOptions): Promise<Asset[]> {\n return this.client.get<Asset[]>(`/repos/${owner}/${repo}/releases/${releaseId}/assets`, options);\n }\n\n /**\n * Загружает ассет к релизу\n * @param owner Владелец репозитория\n * @param repo Название репозитория\n * @param releaseId ID релиза\n * @param params Параметры загрузки ассета\n * @returns Загруженный ассет\n */\n uploadAsset(\n owner: string,\n repo: string,\n releaseId: number,\n params: UploadAssetParams,\n options?: RequestOptions,\n ): Promise<Asset> {\n return this.client.post<Asset>(`/repos/${owner}/${repo}/releases/${releaseId}/assets`, params, options);\n }\n\n /**\n * Удаляет ассет релиза\n * @param owner Владелец репозитория\n * @param repo Название репозитория\n * @param releaseId ID релиза\n * @param assetId ID ассета\n * @returns Результат операции\n */\n deleteAsset(\n owner: string,\n repo: string,\n releaseId: number,\n assetId: number,\n options?: RequestOptions,\n ): Promise<void> {\n return this.client.delete<void>(\n `/repos/${owner}/${repo}/releases/${releaseId}/assets/${assetId}`,\n undefined,\n options,\n );\n }\n}\n"
6
6
  ],
7
- "mappings": "AAMO,MAAM,CAAY,CACf,OAMR,WAAW,CAAC,EAAwB,CAClC,KAAK,OAAS,EAShB,IAAI,CAAC,EAAe,EAAkC,CACpD,OAAO,KAAK,OAAO,IAAe,UAAU,KAAS,YAAe,EAUtE,MAAM,CAAC,EAAe,EAAc,EAA+C,CACjF,OAAO,KAAK,OAAO,KAAc,UAAU,KAAS,aAAiB,CAAM,EAU7E,QAAQ,CAAC,EAAe,EAAc,EAA+B,CACnE,OAAO,KAAK,OAAO,IAAa,UAAU,KAAS,mBAAsB,GAAK,EAUhF,WAAW,CAAC,EAAe,EAAc,EAA4B,CACnE,OAAO,KAAK,OAAO,OAAa,UAAU,KAAS,mBAAsB,GAAK,EAUhF,GAAG,CAAC,EAAe,EAAc,EAAqC,CACpE,OAAO,KAAK,OAAO,IAAa,UAAU,KAAS,cAAiB,GAAW,EAUjF,MAAM,CAAC,EAAe,EAAc,EAAkC,CACpE,OAAO,KAAK,OAAO,OAAa,UAAU,KAAS,cAAiB,GAAW,EAWjF,MAAM,CAAC,EAAe,EAAc,EAAmB,EAA+C,CACpG,OAAO,KAAK,OAAO,MAAe,UAAU,KAAS,cAAiB,IAAa,CAAM,EAU3F,SAAS,CAAC,EAAe,EAAc,EAAqC,CAC1E,OAAO,KAAK,OAAO,IAAa,UAAU,KAAS,cAAiB,UAAkB,EAWxF,WAAW,CAAC,EAAe,EAAc,EAAmB,EAA2C,CACrG,OAAO,KAAK,OAAO,KAAY,UAAU,KAAS,cAAiB,WAAoB,CAAM,EAW/F,WAAW,CAAC,EAAe,EAAc,EAAmB,EAAgC,CAC1F,OAAO,KAAK,OAAO,OAAa,UAAU,KAAS,cAAiB,YAAoB,GAAS,EAErG",
8
- "debugId": "7CD31A4CC1DE9F7664756E2164756E21",
7
+ "mappings": "AAaO,MAAM,CAAY,CACf,OAMR,WAAW,CAAC,EAAwB,CAClC,KAAK,OAAS,EAShB,IAAI,CAAC,EAAe,EAAc,EAA8C,CAC9E,OAAO,KAAK,OAAO,IAAe,UAAU,KAAS,aAAiB,CAAO,EAU/E,MAAM,CAAC,EAAe,EAAc,EAA6B,EAA4C,CAC3G,OAAO,KAAK,OAAO,KAAc,UAAU,KAAS,aAAiB,EAAQ,CAAO,EAUtF,QAAQ,CAAC,EAAe,EAAc,EAAa,EAA4C,CAC7F,OAAO,KAAK,OAAO,IAAa,UAAU,KAAS,mBAAsB,IAAO,CAAO,EAUzF,WAAW,CAAC,EAAe,EAAc,EAAa,EAAyC,CAC7F,OAAO,KAAK,OAAO,OAAa,UAAU,KAAS,mBAAsB,IAAO,OAAW,CAAO,EAUpG,GAAG,CAAC,EAAe,EAAc,EAAmB,EAA4C,CAC9F,OAAO,KAAK,OAAO,IAAa,UAAU,KAAS,cAAiB,IAAa,CAAO,EAU1F,MAAM,CAAC,EAAe,EAAc,EAAmB,EAAyC,CAC9F,OAAO,KAAK,OAAO,OAAa,UAAU,KAAS,cAAiB,IAAa,OAAW,CAAO,EAWrG,MAAM,CACJ,EACA,EACA,EACA,EACA,EACkB,CAClB,OAAO,KAAK,OAAO,MAAe,UAAU,KAAS,cAAiB,IAAa,EAAQ,CAAO,EAUpG,SAAS,CAAC,EAAe,EAAc,EAAmB,EAA4C,CACpG,OAAO,KAAK,OAAO,IAAa,UAAU,KAAS,cAAiB,WAAoB,CAAO,EAWjG,WAAW,CACT,EACA,EACA,EACA,EACA,EACgB,CAChB,OAAO,KAAK,OAAO,KAAY,UAAU,KAAS,cAAiB,WAAoB,EAAQ,CAAO,EAWxG,WAAW,CACT,EACA,EACA,EACA,EACA,EACe,CACf,OAAO,KAAK,OAAO,OACjB,UAAU,KAAS,cAAiB,YAAoB,IACxD,OACA,CACF,EAEJ",
8
+ "debugId": "C90F84EBC74A2C6E64756E2164756E21",
9
9
  "names": []
10
10
  }
@@ -22,6 +22,19 @@ declare const VisibilityType: {
22
22
  */
23
23
  type VisibilityType = (typeof VisibilityType)[keyof typeof VisibilityType];
24
24
  /**
25
+ * Опции для выполнения HTTP-запросов
26
+ */
27
+ interface RequestOptions {
28
+ /**
29
+ * AbortSignal для отмены запроса
30
+ * @example
31
+ * const controller = new AbortController();
32
+ * const promise = client.users.getCurrent({ signal: controller.signal });
33
+ * controller.abort(); // Отменяет запрос
34
+ */
35
+ signal?: AbortSignal;
36
+ }
37
+ /**
25
38
  * Интерфейс пользователя
26
39
  */
27
40
  interface User2 {
@@ -400,45 +413,51 @@ declare class GitVerseClient {
400
413
  * @param path Путь к API-ресурсу
401
414
  * @param method HTTP-метод
402
415
  * @param body Тело запроса (опционально)
416
+ * @param options Опции запроса (опционально)
403
417
  * @returns Ответ от API
404
418
  * @throws {RateLimitError} При превышении лимита запросов (429)
405
419
  * @throws {GitVerseApiError} При других ошибках API
406
420
  */
407
- request<T>(path: string, method: HTTPMethods, body?: unknown): Promise<T>;
421
+ request<T>(path: string, method: HTTPMethods, body?: unknown, options?: RequestOptions): Promise<T>;
408
422
  /**
409
423
  * Выполняет GET-запрос
410
424
  * @param path Путь к API-ресурсу
425
+ * @param options Опции запроса (опционально)
411
426
  * @returns Ответ от API
412
427
  */
413
- get<T>(path: string): Promise<T>;
428
+ get<T>(path: string, options?: RequestOptions): Promise<T>;
414
429
  /**
415
430
  * Выполняет POST-запрос
416
431
  * @param path Путь к API-ресурсу
417
432
  * @param body Тело запроса
433
+ * @param options Опции запроса (опционально)
418
434
  * @returns Ответ от API
419
435
  */
420
- post<T>(path: string, body?: unknown): Promise<T>;
436
+ post<T>(path: string, body?: unknown, options?: RequestOptions): Promise<T>;
421
437
  /**
422
438
  * Выполняет PUT-запрос
423
439
  * @param path Путь к API-ресурсу
424
440
  * @param body Тело запроса
441
+ * @param options Опции запроса (опционально)
425
442
  * @returns Ответ от API
426
443
  */
427
- put<T>(path: string, body?: unknown): Promise<T>;
444
+ put<T>(path: string, body?: unknown, options?: RequestOptions): Promise<T>;
428
445
  /**
429
446
  * Выполняет DELETE-запрос
430
447
  * @param path Путь к API-ресурсу
431
448
  * @param body Тело запроса (опционально)
449
+ * @param options Опции запроса (опционально)
432
450
  * @returns Ответ от API
433
451
  */
434
- delete<T>(path: string, body?: unknown): Promise<T>;
452
+ delete<T>(path: string, body?: unknown, options?: RequestOptions): Promise<T>;
435
453
  /**
436
454
  * Выполняет PATCH-запрос
437
455
  * @param path Путь к API-ресурсу
438
456
  * @param body Тело запроса
457
+ * @param options Опции запроса (опционально)
439
458
  * @returns Ответ от API
440
459
  */
441
- patch<T>(path: string, body?: unknown): Promise<T>;
460
+ patch<T>(path: string, body?: unknown, options?: RequestOptions): Promise<T>;
442
461
  }
443
462
  /**
444
463
  * API для работы с репозиториями
@@ -456,14 +475,14 @@ declare class RepositoriesApi {
456
475
  * @param repo Название репозитория
457
476
  * @returns Данные о репозитории
458
477
  */
459
- get(owner: string, repo: string): Promise<Repository>;
478
+ get(owner: string, repo: string, options?: RequestOptions): Promise<Repository>;
460
479
  /**
461
480
  * Удаляет репозиторий
462
481
  * @param owner Владелец репозитория
463
482
  * @param repo Название репозитория
464
483
  * @returns Результат операции
465
484
  */
466
- delete(owner: string, repo: string): Promise<void>;
485
+ delete(owner: string, repo: string, options?: RequestOptions): Promise<void>;
467
486
  /**
468
487
  * Обновляет информацию о репозитории
469
488
  * @param owner Владелец репозитория
@@ -471,7 +490,7 @@ declare class RepositoriesApi {
471
490
  * @param params Параметры для обновления
472
491
  * @returns Обновлённый репозиторий
473
492
  */
474
- update(owner: string, repo: string, params: UpdateRepositoryParams): Promise<Repository>;
493
+ update(owner: string, repo: string, params: UpdateRepositoryParams, options?: RequestOptions): Promise<Repository>;
475
494
  /**
476
495
  * Сравнивает две ветки или коммита
477
496
  * @param owner Владелец репозитория
@@ -479,24 +498,24 @@ declare class RepositoriesApi {
479
498
  * @param basehead Строка в формате "base...head" для сравнения
480
499
  * @returns Результат сравнения с коммитами и изменёнными файлами
481
500
  */
482
- compare(owner: string, repo: string, basehead: string): Promise<CompareResponse>;
501
+ compare(owner: string, repo: string, basehead: string, options?: RequestOptions): Promise<CompareResponse>;
483
502
  /**
484
503
  * Получает информацию о языках программирования в репозитории
485
504
  * @param owner Владелец репозитория
486
505
  * @param repo Название репозитория
487
506
  * @returns Объект с языками и количеством байт кода
488
507
  */
489
- getLanguages(owner: string, repo: string): Promise<LanguagesResponse>;
508
+ getLanguages(owner: string, repo: string, options?: RequestOptions): Promise<LanguagesResponse>;
490
509
  /**
491
510
  * Получает список репозиториев авторизованного пользователя
492
511
  * @returns Массив репозиториев пользователя
493
512
  */
494
- listForAuthenticatedUser(): Promise<Repository[]>;
513
+ listForAuthenticatedUser(options?: RequestOptions): Promise<Repository[]>;
495
514
  /**
496
515
  * Создает новый репозиторий для авторизованного пользователя
497
516
  * @param params Параметры создания репозитория
498
517
  * @returns Созданный репозиторий
499
518
  */
500
- create(params: CreateRepositoryParams): Promise<Repository>;
519
+ create(params: CreateRepositoryParams, options?: RequestOptions): Promise<Repository>;
501
520
  }
502
521
  export { RepositoriesApi };
@@ -1,4 +1,4 @@
1
- import{u as q}from"../utils.js";class z{client;constructor(g){this.client=g}async get(g,j){let k=await this.client.get(`/repos/${g}/${j}`);return q(k)}delete(g,j){return this.client.delete(`/repos/${g}/${j}`)}async update(g,j,k){let v=await this.client.patch(`/repos/${g}/${j}`,k);return q(v)}compare(g,j,k){return this.client.get(`/repos/${g}/${j}/compare/${k}`)}getLanguages(g,j){return this.client.get(`/repos/${g}/${j}/languages`)}async listForAuthenticatedUser(){return(await this.client.get("/user/repos")).map((j)=>q(j))}async create(g){let j=await this.client.post("/user/repos",g);return q(j)}}export{z as RepositoriesApi};
2
- export{z as g};
1
+ import{u as v}from"../utils.js";class A{client;constructor(g){this.client=g}async get(g,k,j){let q=await this.client.get(`/repos/${g}/${k}`,j);return v(q)}delete(g,k,j){return this.client.delete(`/repos/${g}/${k}`,void 0,j)}async update(g,k,j,q){let z=await this.client.patch(`/repos/${g}/${k}`,j,q);return v(z)}compare(g,k,j,q){return this.client.get(`/repos/${g}/${k}/compare/${j}`,q)}getLanguages(g,k,j){return this.client.get(`/repos/${g}/${k}/languages`,j)}async listForAuthenticatedUser(g){return(await this.client.get("/user/repos",g)).map((j)=>v(j))}async create(g,k){let j=await this.client.post("/user/repos",g,k);return v(j)}}export{A as RepositoriesApi};
2
+ export{A as g};
3
3
 
4
- //# debugId=0CF25CF34B70341F64756E2164756E21
4
+ //# debugId=EA7E95C690A02C6664756E2164756E21
@@ -2,9 +2,9 @@
2
2
  "version": 3,
3
3
  "sources": ["../src/api/repositories.ts"],
4
4
  "sourcesContent": [
5
- "import type { GitVerseClient } from \"../client\";\nimport type {\n CompareResponse,\n CreateRepositoryParams,\n LanguagesResponse,\n Repository,\n UpdateRepositoryParams,\n} from \"../types\";\nimport { fixRepositoryUrls } from \"../utils\";\n\n/**\n * API для работы с репозиториями\n */\nexport class RepositoriesApi {\n private client: GitVerseClient;\n\n /**\n * Создает новый экземпляр API для работы с репозиториями\n * @param client GitVerse клиент\n */\n constructor(client: GitVerseClient) {\n this.client = client;\n }\n\n /**\n * Получает информацию о репозитории\n * @param owner Владелец репозитория\n * @param repo Название репозитория\n * @returns Данные о репозитории\n */\n async get(owner: string, repo: string): Promise<Repository> {\n const repository = await this.client.get<Repository>(`/repos/${owner}/${repo}`);\n return fixRepositoryUrls(repository as unknown as Record<string, unknown>) as unknown as Repository;\n }\n\n /**\n * Удаляет репозиторий\n * @param owner Владелец репозитория\n * @param repo Название репозитория\n * @returns Результат операции\n */\n delete(owner: string, repo: string): Promise<void> {\n return this.client.delete<void>(`/repos/${owner}/${repo}`);\n }\n\n /**\n * Обновляет информацию о репозитории\n * @param owner Владелец репозитория\n * @param repo Название репозитория\n * @param params Параметры для обновления\n * @returns Обновлённый репозиторий\n */\n async update(owner: string, repo: string, params: UpdateRepositoryParams): Promise<Repository> {\n const repository = await this.client.patch<Repository>(`/repos/${owner}/${repo}`, params);\n return fixRepositoryUrls(repository as unknown as Record<string, unknown>) as unknown as Repository;\n }\n\n /**\n * Сравнивает две ветки или коммита\n * @param owner Владелец репозитория\n * @param repo Название репозитория\n * @param basehead Строка в формате \"base...head\" для сравнения\n * @returns Результат сравнения с коммитами и изменёнными файлами\n */\n compare(owner: string, repo: string, basehead: string): Promise<CompareResponse> {\n return this.client.get<CompareResponse>(`/repos/${owner}/${repo}/compare/${basehead}`);\n }\n\n /**\n * Получает информацию о языках программирования в репозитории\n * @param owner Владелец репозитория\n * @param repo Название репозитория\n * @returns Объект с языками и количеством байт кода\n */\n getLanguages(owner: string, repo: string): Promise<LanguagesResponse> {\n return this.client.get<LanguagesResponse>(`/repos/${owner}/${repo}/languages`);\n }\n\n /**\n * Получает список репозиториев авторизованного пользователя\n * @returns Массив репозиториев пользователя\n */\n async listForAuthenticatedUser(): Promise<Repository[]> {\n const repositories = await this.client.get<Repository[]>(\"/user/repos\");\n return repositories.map(\n (repo) => fixRepositoryUrls(repo as unknown as Record<string, unknown>) as unknown as Repository,\n );\n }\n\n /**\n * Создает новый репозиторий для авторизованного пользователя\n * @param params Параметры создания репозитория\n * @returns Созданный репозиторий\n */\n async create(params: CreateRepositoryParams): Promise<Repository> {\n const repository = await this.client.post<Repository>(\"/user/repos\", params);\n return fixRepositoryUrls(repository as unknown as Record<string, unknown>) as unknown as Repository;\n }\n}\n"
5
+ "import type { GitVerseClient } from \"../client\";\nimport type {\n CompareResponse,\n CreateRepositoryParams,\n LanguagesResponse,\n Repository,\n RequestOptions,\n UpdateRepositoryParams,\n} from \"../types\";\nimport { fixRepositoryUrls } from \"../utils\";\n\n/**\n * API для работы с репозиториями\n */\nexport class RepositoriesApi {\n private client: GitVerseClient;\n\n /**\n * Создает новый экземпляр API для работы с репозиториями\n * @param client GitVerse клиент\n */\n constructor(client: GitVerseClient) {\n this.client = client;\n }\n\n /**\n * Получает информацию о репозитории\n * @param owner Владелец репозитория\n * @param repo Название репозитория\n * @returns Данные о репозитории\n */\n async get(owner: string, repo: string, options?: RequestOptions): Promise<Repository> {\n const repository = await this.client.get<Repository>(`/repos/${owner}/${repo}`, options);\n return fixRepositoryUrls(repository as unknown as Record<string, unknown>) as unknown as Repository;\n }\n\n /**\n * Удаляет репозиторий\n * @param owner Владелец репозитория\n * @param repo Название репозитория\n * @returns Результат операции\n */\n delete(owner: string, repo: string, options?: RequestOptions): Promise<void> {\n return this.client.delete<void>(`/repos/${owner}/${repo}`, undefined, options);\n }\n\n /**\n * Обновляет информацию о репозитории\n * @param owner Владелец репозитория\n * @param repo Название репозитория\n * @param params Параметры для обновления\n * @returns Обновлённый репозиторий\n */\n async update(\n owner: string,\n repo: string,\n params: UpdateRepositoryParams,\n options?: RequestOptions,\n ): Promise<Repository> {\n const repository = await this.client.patch<Repository>(`/repos/${owner}/${repo}`, params, options);\n return fixRepositoryUrls(repository as unknown as Record<string, unknown>) as unknown as Repository;\n }\n\n /**\n * Сравнивает две ветки или коммита\n * @param owner Владелец репозитория\n * @param repo Название репозитория\n * @param basehead Строка в формате \"base...head\" для сравнения\n * @returns Результат сравнения с коммитами и изменёнными файлами\n */\n compare(owner: string, repo: string, basehead: string, options?: RequestOptions): Promise<CompareResponse> {\n return this.client.get<CompareResponse>(`/repos/${owner}/${repo}/compare/${basehead}`, options);\n }\n\n /**\n * Получает информацию о языках программирования в репозитории\n * @param owner Владелец репозитория\n * @param repo Название репозитория\n * @returns Объект с языками и количеством байт кода\n */\n getLanguages(owner: string, repo: string, options?: RequestOptions): Promise<LanguagesResponse> {\n return this.client.get<LanguagesResponse>(`/repos/${owner}/${repo}/languages`, options);\n }\n\n /**\n * Получает список репозиториев авторизованного пользователя\n * @returns Массив репозиториев пользователя\n */\n async listForAuthenticatedUser(options?: RequestOptions): Promise<Repository[]> {\n const repositories = await this.client.get<Repository[]>(\"/user/repos\", options);\n return repositories.map(\n (repo) => fixRepositoryUrls(repo as unknown as Record<string, unknown>) as unknown as Repository,\n );\n }\n\n /**\n * Создает новый репозиторий для авторизованного пользователя\n * @param params Параметры создания репозитория\n * @returns Созданный репозиторий\n */\n async create(params: CreateRepositoryParams, options?: RequestOptions): Promise<Repository> {\n const repository = await this.client.post<Repository>(\"/user/repos\", params, options);\n return fixRepositoryUrls(repository as unknown as Record<string, unknown>) as unknown as Repository;\n }\n}\n"
6
6
  ],
7
- "mappings": "gCAaO,MAAM,CAAgB,CACnB,OAMR,WAAW,CAAC,EAAwB,CAClC,KAAK,OAAS,OASV,IAAG,CAAC,EAAe,EAAmC,CAC1D,IAAM,EAAa,MAAM,KAAK,OAAO,IAAgB,UAAU,KAAS,GAAM,EAC9E,OAAO,EAAkB,CAAgD,EAS3E,MAAM,CAAC,EAAe,EAA6B,CACjD,OAAO,KAAK,OAAO,OAAa,UAAU,KAAS,GAAM,OAUrD,OAAM,CAAC,EAAe,EAAc,EAAqD,CAC7F,IAAM,EAAa,MAAM,KAAK,OAAO,MAAkB,UAAU,KAAS,IAAQ,CAAM,EACxF,OAAO,EAAkB,CAAgD,EAU3E,OAAO,CAAC,EAAe,EAAc,EAA4C,CAC/E,OAAO,KAAK,OAAO,IAAqB,UAAU,KAAS,aAAgB,GAAU,EASvF,YAAY,CAAC,EAAe,EAA0C,CACpE,OAAO,KAAK,OAAO,IAAuB,UAAU,KAAS,aAAgB,OAOzE,yBAAwB,EAA0B,CAEtD,OADqB,MAAM,KAAK,OAAO,IAAkB,aAAa,GAClD,IAClB,CAAC,IAAS,EAAkB,CAA0C,CACxE,OAQI,OAAM,CAAC,EAAqD,CAChE,IAAM,EAAa,MAAM,KAAK,OAAO,KAAiB,cAAe,CAAM,EAC3E,OAAO,EAAkB,CAAgD,EAE7E",
8
- "debugId": "0CF25CF34B70341F64756E2164756E21",
7
+ "mappings": "gCAcO,MAAM,CAAgB,CACnB,OAMR,WAAW,CAAC,EAAwB,CAClC,KAAK,OAAS,OASV,IAAG,CAAC,EAAe,EAAc,EAA+C,CACpF,IAAM,EAAa,MAAM,KAAK,OAAO,IAAgB,UAAU,KAAS,IAAQ,CAAO,EACvF,OAAO,EAAkB,CAAgD,EAS3E,MAAM,CAAC,EAAe,EAAc,EAAyC,CAC3E,OAAO,KAAK,OAAO,OAAa,UAAU,KAAS,IAAQ,OAAW,CAAO,OAUzE,OAAM,CACV,EACA,EACA,EACA,EACqB,CACrB,IAAM,EAAa,MAAM,KAAK,OAAO,MAAkB,UAAU,KAAS,IAAQ,EAAQ,CAAO,EACjG,OAAO,EAAkB,CAAgD,EAU3E,OAAO,CAAC,EAAe,EAAc,EAAkB,EAAoD,CACzG,OAAO,KAAK,OAAO,IAAqB,UAAU,KAAS,aAAgB,IAAY,CAAO,EAShG,YAAY,CAAC,EAAe,EAAc,EAAsD,CAC9F,OAAO,KAAK,OAAO,IAAuB,UAAU,KAAS,cAAkB,CAAO,OAOlF,yBAAwB,CAAC,EAAiD,CAE9E,OADqB,MAAM,KAAK,OAAO,IAAkB,cAAe,CAAO,GAC3D,IAClB,CAAC,IAAS,EAAkB,CAA0C,CACxE,OAQI,OAAM,CAAC,EAAgC,EAA+C,CAC1F,IAAM,EAAa,MAAM,KAAK,OAAO,KAAiB,cAAe,EAAQ,CAAO,EACpF,OAAO,EAAkB,CAAgD,EAE7E",
8
+ "debugId": "EA7E95C690A02C6664756E2164756E21",
9
9
  "names": []
10
10
  }