gitverse-api-sdk 1.0.0 → 2.0.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 (68) hide show
  1. package/README.md +328 -114
  2. package/dist/api/actions.d.ts +506 -0
  3. package/dist/api/actions.js +4 -0
  4. package/dist/api/actions.js.map +10 -0
  5. package/dist/api/branches.d.ts +154 -0
  6. package/dist/api/branches.js +4 -0
  7. package/dist/api/branches.js.map +10 -0
  8. package/dist/api/collaborators.d.ts +224 -0
  9. package/dist/api/collaborators.js +4 -0
  10. package/dist/api/collaborators.js.map +10 -0
  11. package/dist/api/commits.d.ts +302 -0
  12. package/dist/api/commits.js +4 -0
  13. package/dist/api/commits.js.map +10 -0
  14. package/dist/api/contents.d.ts +345 -0
  15. package/dist/api/contents.js +4 -0
  16. package/dist/api/contents.js.map +10 -0
  17. package/dist/api/emails.d.ts +184 -0
  18. package/dist/api/emails.js +4 -0
  19. package/dist/api/emails.js.map +10 -0
  20. package/dist/api/forks.d.ts +325 -0
  21. package/dist/api/forks.js +4 -0
  22. package/dist/api/forks.js.map +10 -0
  23. package/dist/api/git.d.ts +228 -0
  24. package/dist/api/git.js +4 -0
  25. package/dist/api/git.js.map +10 -0
  26. package/dist/api/issues.d.ts +380 -0
  27. package/dist/api/issues.js +4 -0
  28. package/dist/api/issues.js.map +10 -0
  29. package/dist/api/organizations.d.ts +140 -0
  30. package/dist/api/organizations.js +4 -0
  31. package/dist/api/organizations.js.map +10 -0
  32. package/dist/api/pulls.d.ts +517 -0
  33. package/dist/api/pulls.js +4 -0
  34. package/dist/api/pulls.js.map +10 -0
  35. package/dist/api/releases.d.ts +400 -0
  36. package/dist/api/releases.js +4 -0
  37. package/dist/api/releases.js.map +10 -0
  38. package/dist/api/repositories.d.ts +502 -0
  39. package/dist/api/repositories.js +4 -0
  40. package/dist/api/repositories.js.map +10 -0
  41. package/dist/api/stars.d.ts +328 -0
  42. package/dist/api/stars.js +4 -0
  43. package/dist/api/stars.js.map +10 -0
  44. package/dist/api/teams.d.ts +287 -0
  45. package/dist/api/teams.js +4 -0
  46. package/dist/api/teams.js.map +10 -0
  47. package/dist/api/users.d.ts +244 -0
  48. package/dist/api/users.js +4 -0
  49. package/dist/api/users.js.map +10 -0
  50. package/dist/client.d.ts +122 -0
  51. package/dist/client.js +4 -0
  52. package/dist/client.js.map +10 -0
  53. package/dist/enums.d.ts +57 -0
  54. package/dist/enums.js +4 -0
  55. package/dist/enums.js.map +10 -0
  56. package/dist/errors.d.ts +78 -0
  57. package/dist/errors.js +4 -0
  58. package/dist/errors.js.map +10 -0
  59. package/dist/index.d.ts +1801 -453
  60. package/dist/index.js +3 -1
  61. package/dist/index.js.map +10 -0
  62. package/dist/types.d.ts +1256 -0
  63. package/dist/types.js +2 -0
  64. package/dist/types.js.map +9 -0
  65. package/dist/utils.d.ts +39 -0
  66. package/dist/utils.js +3 -0
  67. package/dist/utils.js.map +10 -0
  68. package/package.json +99 -7
@@ -0,0 +1,228 @@
1
+ /**
2
+ * Интерфейс Git-ссылки (reference)
3
+ */
4
+ interface Reference {
5
+ /** Имя ссылки (например, refs/heads/main) */
6
+ ref: string;
7
+ /** Node ID */
8
+ node_id?: string;
9
+ /** API-ссылка */
10
+ url: string;
11
+ /** Объект, на который указывает ссылка */
12
+ object: {
13
+ type: string
14
+ sha: string
15
+ url: string
16
+ };
17
+ }
18
+ /**
19
+ * Параметры для создания Git-ссылки
20
+ */
21
+ interface CreateRefParams {
22
+ /** Имя ссылки (например, refs/heads/feature-branch) */
23
+ ref: string;
24
+ /** SHA-хеш коммита */
25
+ sha: string;
26
+ }
27
+ /**
28
+ * Интерфейс Git-дерева
29
+ */
30
+ interface Tree {
31
+ /** SHA-хеш дерева */
32
+ sha: string;
33
+ /** API-ссылка на дерево */
34
+ url: string;
35
+ /** Список записей в дереве */
36
+ tree: TreeEntry[];
37
+ /** Обрезано ли дерево */
38
+ truncated: boolean;
39
+ }
40
+ /**
41
+ * Интерфейс записи в Git-дереве
42
+ */
43
+ interface TreeEntry {
44
+ /** Путь к файлу/директории */
45
+ path: string;
46
+ /** Режим доступа */
47
+ mode: string;
48
+ /** Тип объекта */
49
+ type: "blob" | "tree" | "commit";
50
+ /** SHA-хеш объекта */
51
+ sha: string;
52
+ /** Размер (для blob) */
53
+ size?: number;
54
+ /** URL объекта */
55
+ url: string;
56
+ }
57
+ /**
58
+ * Параметры для создания Git-дерева
59
+ */
60
+ interface CreateTreeParams {
61
+ /** Список записей дерева */
62
+ tree: Array<{
63
+ path: string
64
+ mode: "100644" | "100755" | "040000" | "160000" | "120000"
65
+ type: "blob" | "tree" | "commit"
66
+ sha?: string
67
+ content?: string
68
+ }>;
69
+ /** SHA-хеш базового дерева */
70
+ base_tree?: string;
71
+ }
72
+ /**
73
+ * Предупреждение об устаревшей версии API
74
+ */
75
+ declare class ApiVersionWarning {
76
+ /** Текущая используемая версия */
77
+ readonly currentVersion: string;
78
+ /** Последняя доступная версия */
79
+ readonly latestVersion: string;
80
+ /** Дата вывода из эксплуатации */
81
+ readonly decommissioning?: string;
82
+ constructor(currentVersion: string, latestVersion: string, decommissioning?: string);
83
+ /**
84
+ * Возвращает сообщение о предупреждении
85
+ */
86
+ getMessage(): string;
87
+ }
88
+ declare const HTTPMethods: {
89
+ readonly DELETE: "DELETE"
90
+ readonly GET: "GET"
91
+ readonly PATCH: "PATCH"
92
+ readonly POST: "POST"
93
+ readonly PUT: "PUT"
94
+ };
95
+ type HTTPMethods = (typeof HTTPMethods)[keyof typeof HTTPMethods];
96
+ /**
97
+ * Параметры для конфигурации GitVerse клиента
98
+ */
99
+ interface GitVerseClientConfig {
100
+ /**
101
+ * Базовый URL API GitVerse
102
+ * @default 'https://api.gitverse.ru'
103
+ */
104
+ baseUrl?: string;
105
+ /**
106
+ * Токен доступа для авторизации в API
107
+ */
108
+ token?: string;
109
+ /**
110
+ * Версия API
111
+ * @default '1'
112
+ */
113
+ apiVersion?: string;
114
+ }
115
+ /**
116
+ * Основной класс для работы с GitVerse API
117
+ */
118
+ declare class GitVerseClient {
119
+ private baseUrl;
120
+ private token?;
121
+ private apiVersion;
122
+ /**
123
+ * Callback для обработки предупреждений об устаревшей версии API
124
+ */
125
+ onApiVersionWarning?: (warning: ApiVersionWarning) => void;
126
+ /**
127
+ * Создает новый экземпляр GitVerse клиента
128
+ * @param config Конфигурация клиента
129
+ */
130
+ constructor(config?: GitVerseClientConfig);
131
+ /**
132
+ * Устанавливает токен авторизации
133
+ * @param token Токен доступа
134
+ */
135
+ setToken(token: string): void;
136
+ /**
137
+ * Извлекает информацию о Rate Limit из заголовков ответа
138
+ */
139
+ private extractRateLimitInfo;
140
+ /**
141
+ * Извлекает информацию о версии API из заголовков ответа
142
+ */
143
+ private extractApiVersionInfo;
144
+ /**
145
+ * Извлекает метаданные из заголовков ответа
146
+ */
147
+ private extractMetadata;
148
+ /**
149
+ * Выполняет API-запрос с учетом авторизации и версии API
150
+ * @param path Путь к API-ресурсу
151
+ * @param method HTTP-метод
152
+ * @param body Тело запроса (опционально)
153
+ * @returns Ответ от API
154
+ * @throws {RateLimitError} При превышении лимита запросов (429)
155
+ * @throws {GitVerseApiError} При других ошибках API
156
+ */
157
+ request<T>(path: string, method: HTTPMethods, body?: unknown): Promise<T>;
158
+ /**
159
+ * Выполняет GET-запрос
160
+ * @param path Путь к API-ресурсу
161
+ * @returns Ответ от API
162
+ */
163
+ get<T>(path: string): Promise<T>;
164
+ /**
165
+ * Выполняет POST-запрос
166
+ * @param path Путь к API-ресурсу
167
+ * @param body Тело запроса
168
+ * @returns Ответ от API
169
+ */
170
+ post<T>(path: string, body?: unknown): Promise<T>;
171
+ /**
172
+ * Выполняет PUT-запрос
173
+ * @param path Путь к API-ресурсу
174
+ * @param body Тело запроса
175
+ * @returns Ответ от API
176
+ */
177
+ put<T>(path: string, body?: unknown): Promise<T>;
178
+ /**
179
+ * Выполняет DELETE-запрос
180
+ * @param path Путь к API-ресурсу
181
+ * @param body Тело запроса (опционально)
182
+ * @returns Ответ от API
183
+ */
184
+ delete<T>(path: string, body?: unknown): Promise<T>;
185
+ /**
186
+ * Выполняет PATCH-запрос
187
+ * @param path Путь к API-ресурсу
188
+ * @param body Тело запроса
189
+ * @returns Ответ от API
190
+ */
191
+ patch<T>(path: string, body?: unknown): Promise<T>;
192
+ }
193
+ /**
194
+ * API для работы с низкоуровневыми Git-объектами
195
+ */
196
+ declare class GitApi {
197
+ private client;
198
+ /**
199
+ * Создает новый экземпляр API для работы с Git-объектами
200
+ * @param client GitVerse клиент
201
+ */
202
+ constructor(client: GitVerseClient);
203
+ /**
204
+ * Создает новую Git-ссылку (reference)
205
+ * @param owner Владелец репозитория
206
+ * @param repo Название репозитория
207
+ * @param params Параметры создания ссылки
208
+ * @returns Созданная ссылка
209
+ */
210
+ createRef(owner: string, repo: string, params: CreateRefParams): Promise<Reference>;
211
+ /**
212
+ * Создает новое Git-дерево
213
+ * @param owner Владелец репозитория
214
+ * @param repo Название репозитория
215
+ * @param params Параметры создания дерева
216
+ * @returns Созданное дерево
217
+ */
218
+ createTree(owner: string, repo: string, params: CreateTreeParams): Promise<Tree>;
219
+ /**
220
+ * Получает Git-дерево по SHA
221
+ * @param owner Владелец репозитория
222
+ * @param repo Название репозитория
223
+ * @param sha SHA-хеш дерева
224
+ * @returns Информация о дереве
225
+ */
226
+ getTree(owner: string, repo: string, sha: string): Promise<Tree>;
227
+ }
228
+ export { GitApi };
@@ -0,0 +1,4 @@
1
+ class g{client;constructor(b){this.client=b}createRef(b,d,f){return this.client.post(`/repos/${b}/${d}/git/refs`,f)}createTree(b,d,f){return this.client.post(`/repos/${b}/${d}/git/trees`,f)}getTree(b,d,f){return this.client.get(`/repos/${b}/${d}/git/trees/${f}`)}}export{g as GitApi};
2
+ export{g as k};
3
+
4
+ //# debugId=D2B0CB1C080336A564756E2164756E21
@@ -0,0 +1,10 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../src/api/git.ts"],
4
+ "sourcesContent": [
5
+ "import type { GitVerseClient } from \"../client\";\nimport type { CreateRefParams, CreateTreeParams, Reference, Tree } from \"../types\";\n\n/**\n * API для работы с низкоуровневыми Git-объектами\n */\nexport class GitApi {\n private client: GitVerseClient;\n\n /**\n * Создает новый экземпляр API для работы с Git-объектами\n * @param client GitVerse клиент\n */\n constructor(client: GitVerseClient) {\n this.client = client;\n }\n\n /**\n * Создает новую Git-ссылку (reference)\n * @param owner Владелец репозитория\n * @param repo Название репозитория\n * @param params Параметры создания ссылки\n * @returns Созданная ссылка\n */\n createRef(owner: string, repo: string, params: CreateRefParams): Promise<Reference> {\n return this.client.post<Reference>(`/repos/${owner}/${repo}/git/refs`, params);\n }\n\n /**\n * Создает новое Git-дерево\n * @param owner Владелец репозитория\n * @param repo Название репозитория\n * @param params Параметры создания дерева\n * @returns Созданное дерево\n */\n createTree(owner: string, repo: string, params: CreateTreeParams): Promise<Tree> {\n return this.client.post<Tree>(`/repos/${owner}/${repo}/git/trees`, params);\n }\n\n /**\n * Получает Git-дерево по SHA\n * @param owner Владелец репозитория\n * @param repo Название репозитория\n * @param sha SHA-хеш дерева\n * @returns Информация о дереве\n */\n getTree(owner: string, repo: string, sha: string): Promise<Tree> {\n return this.client.get<Tree>(`/repos/${owner}/${repo}/git/trees/${sha}`);\n }\n}\n"
6
+ ],
7
+ "mappings": "AAMO,MAAM,CAAO,CACV,OAMR,WAAW,CAAC,EAAwB,CAClC,KAAK,OAAS,EAUhB,SAAS,CAAC,EAAe,EAAc,EAA6C,CAClF,OAAO,KAAK,OAAO,KAAgB,UAAU,KAAS,aAAiB,CAAM,EAU/E,UAAU,CAAC,EAAe,EAAc,EAAyC,CAC/E,OAAO,KAAK,OAAO,KAAW,UAAU,KAAS,cAAkB,CAAM,EAU3E,OAAO,CAAC,EAAe,EAAc,EAA4B,CAC/D,OAAO,KAAK,OAAO,IAAU,UAAU,KAAS,eAAkB,GAAK,EAE3E",
8
+ "debugId": "D2B0CB1C080336A564756E2164756E21",
9
+ "names": []
10
+ }
@@ -0,0 +1,380 @@
1
+ /**
2
+ * Типы пользователей в системе
3
+ */
4
+ declare const UserType: {
5
+ readonly Organization: "Organization"
6
+ readonly User: "User"
7
+ };
8
+ /**
9
+ * Тип для типов пользователей
10
+ */
11
+ type UserType = (typeof UserType)[keyof typeof UserType];
12
+ /**
13
+ * Типы видимости для репозиториев и пользователей
14
+ */
15
+ declare const VisibilityType: {
16
+ readonly Limited: "limited"
17
+ readonly Private: "private"
18
+ readonly Public: "public"
19
+ };
20
+ /**
21
+ * Тип для типов видимости
22
+ */
23
+ type VisibilityType = (typeof VisibilityType)[keyof typeof VisibilityType];
24
+ /**
25
+ * Состояния issue
26
+ */
27
+ declare const IssueState: {
28
+ readonly Closed: "closed"
29
+ readonly Open: "open"
30
+ };
31
+ /**
32
+ * Тип для состояний issue
33
+ */
34
+ type IssueState = (typeof IssueState)[keyof typeof IssueState];
35
+ /**
36
+ * Интерфейс пользователя
37
+ */
38
+ interface User2 {
39
+ /** Уникальный идентификатор пользователя */
40
+ id: number;
41
+ /** Имя пользователя */
42
+ name?: string;
43
+ /** Логин пользователя */
44
+ login: string;
45
+ /** Полное имя пользователя */
46
+ full_name?: string;
47
+ /** Тип аккаунта: пользователь или организация */
48
+ type: UserType;
49
+ /** Биография пользователя */
50
+ bio?: string;
51
+ /** Электронная почта пользователя */
52
+ email?: string;
53
+ /** URL аватара пользователя */
54
+ avatar_url: string;
55
+ /** Веб-ссылка на профиль пользователя */
56
+ html_url: string;
57
+ /** API-ссылка на профиль пользователя */
58
+ url?: string;
59
+ /** API-ссылка на список подписчиков пользователя */
60
+ followers_url?: string;
61
+ /** API-ссылка на репозитории пользователя */
62
+ repos_url?: string;
63
+ /** API-ссылка на организации пользователя */
64
+ organizations_url?: string;
65
+ /** Права администратора */
66
+ site_admin: boolean;
67
+ /** Местоположение пользователя */
68
+ location?: string;
69
+ /** Верификация аккаунта */
70
+ is_verified?: boolean;
71
+ /** Настройки приватности профиля */
72
+ visibility?: VisibilityType;
73
+ /** Персональный веб-сайт */
74
+ website?: string;
75
+ /** Количество подписчиков */
76
+ followers?: number;
77
+ /** Количество подписок */
78
+ following?: number;
79
+ /** Количество публичных репозиториев */
80
+ public_repos?: number;
81
+ /** Количество репозиториев, отмеченных звездой */
82
+ stars_count?: number;
83
+ /** Дата создания аккаунта */
84
+ created_at: string;
85
+ /** Дата последнего обновления аккаунта */
86
+ updated_at?: string;
87
+ }
88
+ /**
89
+ * Интерфейс метки (label) для issues и pull requests
90
+ */
91
+ interface Label {
92
+ /** Идентификатор метки */
93
+ id: number;
94
+ /** Имя метки */
95
+ name: string;
96
+ /** Описание метки */
97
+ description?: string;
98
+ /** Цвет метки в формате HEX */
99
+ color: string;
100
+ /** URL метки */
101
+ url?: string;
102
+ }
103
+ /**
104
+ * Интерфейс майлстоуна (milestone)
105
+ */
106
+ interface Milestone {
107
+ /** Идентификатор майлстоуна */
108
+ id: number;
109
+ /** Номер майлстоуна */
110
+ number: number;
111
+ /** Название майлстоуна */
112
+ title: string;
113
+ /** Описание майлстоуна */
114
+ description?: string;
115
+ /** Создатель майлстоуна */
116
+ creator: User2;
117
+ /** Состояние майлстоуна (open/closed) */
118
+ state: "open" | "closed";
119
+ /** Количество открытых задач */
120
+ open_issues: number;
121
+ /** Количество закрытых задач */
122
+ closed_issues: number;
123
+ /** Дата создания */
124
+ created_at: string;
125
+ /** Дата обновления */
126
+ updated_at: string;
127
+ /** Дата окончания (due date) */
128
+ due_on?: string;
129
+ }
130
+ /**
131
+ * Интерфейс issue
132
+ */
133
+ interface Issue {
134
+ /** Уникальный идентификатор issue */
135
+ id: number;
136
+ /** Номер issue в репозитории */
137
+ number: number;
138
+ /** Заголовок issue */
139
+ title: string;
140
+ /** Описание issue */
141
+ body?: string;
142
+ /** Состояние issue */
143
+ state: IssueState;
144
+ /** Пользователь, создавший issue */
145
+ user: User2;
146
+ /** Список меток */
147
+ labels: Label[];
148
+ /** Назначенные пользователи */
149
+ assignees?: User2[];
150
+ /** Дата создания */
151
+ created_at: string;
152
+ /** Дата обновления */
153
+ updated_at: string;
154
+ /** Дата закрытия */
155
+ closed_at?: string | null;
156
+ /** Количество комментариев */
157
+ comments: number;
158
+ /** Веб-ссылка на issue */
159
+ html_url: string;
160
+ /** API-ссылка на issue */
161
+ url: string;
162
+ }
163
+ /**
164
+ * Интерфейс комментария к issue или pull request
165
+ */
166
+ interface Comment {
167
+ /** Уникальный идентификатор комментария */
168
+ id: number;
169
+ /** Текст комментария */
170
+ body: string;
171
+ /** Пользователь, создавший комментарий */
172
+ user: User2;
173
+ /** Дата создания */
174
+ created_at: string;
175
+ /** Дата обновления */
176
+ updated_at: string;
177
+ /** Веб-ссылка на комментарий */
178
+ html_url: string;
179
+ /** API-ссылка на комментарий */
180
+ url: string;
181
+ }
182
+ /**
183
+ * Интерфейс события в timeline issue
184
+ */
185
+ interface TimelineEvent {
186
+ /** Уникальный идентификатор события */
187
+ id: number;
188
+ /** Тип события */
189
+ event: string;
190
+ /** Пользователь, вызвавший событие */
191
+ actor: User2;
192
+ /** Дата создания события */
193
+ created_at: string;
194
+ /** Метка (для событий с метками) */
195
+ label?: Label;
196
+ /** Milestone (для событий с milestone) */
197
+ milestone?: Milestone;
198
+ /** Переименование (для событий переименования) */
199
+ rename?: {
200
+ from: string
201
+ to: string
202
+ };
203
+ }
204
+ /**
205
+ * Предупреждение об устаревшей версии API
206
+ */
207
+ declare class ApiVersionWarning {
208
+ /** Текущая используемая версия */
209
+ readonly currentVersion: string;
210
+ /** Последняя доступная версия */
211
+ readonly latestVersion: string;
212
+ /** Дата вывода из эксплуатации */
213
+ readonly decommissioning?: string;
214
+ constructor(currentVersion: string, latestVersion: string, decommissioning?: string);
215
+ /**
216
+ * Возвращает сообщение о предупреждении
217
+ */
218
+ getMessage(): string;
219
+ }
220
+ declare const HTTPMethods: {
221
+ readonly DELETE: "DELETE"
222
+ readonly GET: "GET"
223
+ readonly PATCH: "PATCH"
224
+ readonly POST: "POST"
225
+ readonly PUT: "PUT"
226
+ };
227
+ type HTTPMethods = (typeof HTTPMethods)[keyof typeof HTTPMethods];
228
+ /**
229
+ * Параметры для конфигурации GitVerse клиента
230
+ */
231
+ interface GitVerseClientConfig {
232
+ /**
233
+ * Базовый URL API GitVerse
234
+ * @default 'https://api.gitverse.ru'
235
+ */
236
+ baseUrl?: string;
237
+ /**
238
+ * Токен доступа для авторизации в API
239
+ */
240
+ token?: string;
241
+ /**
242
+ * Версия API
243
+ * @default '1'
244
+ */
245
+ apiVersion?: string;
246
+ }
247
+ /**
248
+ * Основной класс для работы с GitVerse API
249
+ */
250
+ declare class GitVerseClient {
251
+ private baseUrl;
252
+ private token?;
253
+ private apiVersion;
254
+ /**
255
+ * Callback для обработки предупреждений об устаревшей версии API
256
+ */
257
+ onApiVersionWarning?: (warning: ApiVersionWarning) => void;
258
+ /**
259
+ * Создает новый экземпляр GitVerse клиента
260
+ * @param config Конфигурация клиента
261
+ */
262
+ constructor(config?: GitVerseClientConfig);
263
+ /**
264
+ * Устанавливает токен авторизации
265
+ * @param token Токен доступа
266
+ */
267
+ setToken(token: string): void;
268
+ /**
269
+ * Извлекает информацию о Rate Limit из заголовков ответа
270
+ */
271
+ private extractRateLimitInfo;
272
+ /**
273
+ * Извлекает информацию о версии API из заголовков ответа
274
+ */
275
+ private extractApiVersionInfo;
276
+ /**
277
+ * Извлекает метаданные из заголовков ответа
278
+ */
279
+ private extractMetadata;
280
+ /**
281
+ * Выполняет API-запрос с учетом авторизации и версии API
282
+ * @param path Путь к API-ресурсу
283
+ * @param method HTTP-метод
284
+ * @param body Тело запроса (опционально)
285
+ * @returns Ответ от API
286
+ * @throws {RateLimitError} При превышении лимита запросов (429)
287
+ * @throws {GitVerseApiError} При других ошибках API
288
+ */
289
+ request<T>(path: string, method: HTTPMethods, body?: unknown): Promise<T>;
290
+ /**
291
+ * Выполняет GET-запрос
292
+ * @param path Путь к API-ресурсу
293
+ * @returns Ответ от API
294
+ */
295
+ get<T>(path: string): Promise<T>;
296
+ /**
297
+ * Выполняет POST-запрос
298
+ * @param path Путь к API-ресурсу
299
+ * @param body Тело запроса
300
+ * @returns Ответ от API
301
+ */
302
+ post<T>(path: string, body?: unknown): Promise<T>;
303
+ /**
304
+ * Выполняет PUT-запрос
305
+ * @param path Путь к API-ресурсу
306
+ * @param body Тело запроса
307
+ * @returns Ответ от API
308
+ */
309
+ put<T>(path: string, body?: unknown): Promise<T>;
310
+ /**
311
+ * Выполняет DELETE-запрос
312
+ * @param path Путь к API-ресурсу
313
+ * @param body Тело запроса (опционально)
314
+ * @returns Ответ от API
315
+ */
316
+ delete<T>(path: string, body?: unknown): Promise<T>;
317
+ /**
318
+ * Выполняет PATCH-запрос
319
+ * @param path Путь к API-ресурсу
320
+ * @param body Тело запроса
321
+ * @returns Ответ от API
322
+ */
323
+ patch<T>(path: string, body?: unknown): Promise<T>;
324
+ }
325
+ /**
326
+ * Класс для работы с issues репозитория
327
+ */
328
+ declare class IssuesApi {
329
+ private client;
330
+ constructor(client: GitVerseClient);
331
+ /**
332
+ * Получить список issues репозитория
333
+ * @param {string} owner - Владелец репозитория
334
+ * @param {string} repo - Название репозитория
335
+ * @param {IssueState} [state] - Фильтр по состоянию issue
336
+ * @returns {Promise<Issue[]>} Массив issues
337
+ */
338
+ list(owner: string, repo: string, state?: IssueState): Promise<Issue[]>;
339
+ /**
340
+ * Получить конкретный issue
341
+ * @param {string} owner - Владелец репозитория
342
+ * @param {string} repo - Название репозитория
343
+ * @param {number} index - Номер issue
344
+ * @returns {Promise<Issue>} Информация об issue
345
+ */
346
+ get(owner: string, repo: string, index: number): Promise<Issue>;
347
+ /**
348
+ * Получить комментарий по ID
349
+ * @param {string} owner - Владелец репозитория
350
+ * @param {string} repo - Название репозитория
351
+ * @param {number} id - ID комментария
352
+ * @returns {Promise<Comment>} Информация о комментарии
353
+ */
354
+ getComment(owner: string, repo: string, id: number): Promise<Comment>;
355
+ /**
356
+ * Получить список комментариев к issue
357
+ * @param {string} owner - Владелец репозитория
358
+ * @param {string} repo - Название репозитория
359
+ * @param {number} index - Номер issue
360
+ * @returns {Promise<Comment[]>} Массив комментариев
361
+ */
362
+ getComments(owner: string, repo: string, index: number): Promise<Comment[]>;
363
+ /**
364
+ * Получить список меток issue
365
+ * @param {string} owner - Владелец репозитория
366
+ * @param {string} repo - Название репозитория
367
+ * @param {number} index - Номер issue
368
+ * @returns {Promise<Label[]>} Массив меток
369
+ */
370
+ getLabels(owner: string, repo: string, index: number): Promise<Label[]>;
371
+ /**
372
+ * Получить timeline событий issue
373
+ * @param {string} owner - Владелец репозитория
374
+ * @param {string} repo - Название репозитория
375
+ * @param {number} index - Номер issue
376
+ * @returns {Promise<TimelineEvent[]>} Массив событий timeline
377
+ */
378
+ getTimeline(owner: string, repo: string, index: number): Promise<TimelineEvent[]>;
379
+ }
380
+ export { IssuesApi };
@@ -0,0 +1,4 @@
1
+ class A{client;constructor(c){this.client=c}list(c,h,f){let j=new URLSearchParams;if(f)j.append("state",f);let k=j.toString(),z=`/repos/${c}/${h}/issues${k?`?${k}`:""}`;return this.client.get(z)}get(c,h,f){return this.client.get(`/repos/${c}/${h}/issues/${f}`)}getComment(c,h,f){return this.client.get(`/repos/${c}/${h}/issues/comments/${f}`)}getComments(c,h,f){return this.client.get(`/repos/${c}/${h}/issues/${f}/comments`)}getLabels(c,h,f){return this.client.get(`/repos/${c}/${h}/issues/${f}/labels`)}getTimeline(c,h,f){return this.client.get(`/repos/${c}/${h}/issues/${f}/timeline`)}}export{A as IssuesApi};
2
+ export{A as e};
3
+
4
+ //# debugId=289B1FCE01AEA6F664756E2164756E21
@@ -0,0 +1,10 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../src/api/issues.ts"],
4
+ "sourcesContent": [
5
+ "import type { GitVerseClient } from \"../client\";\nimport type { IssueState } from \"../enums\";\nimport type { Comment, Issue, Label, TimelineEvent } from \"../types\";\n\n/**\n * Класс для работы с issues репозитория\n */\nexport class IssuesApi {\n constructor(private client: GitVerseClient) {}\n\n /**\n * Получить список issues репозитория\n * @param {string} owner - Владелец репозитория\n * @param {string} repo - Название репозитория\n * @param {IssueState} [state] - Фильтр по состоянию issue\n * @returns {Promise<Issue[]>} Массив issues\n */\n list(owner: string, repo: string, state?: IssueState): Promise<Issue[]> {\n const params = new URLSearchParams();\n if (state) {\n params.append(\"state\", state);\n }\n\n const queryString = params.toString();\n const url = `/repos/${owner}/${repo}/issues${queryString ? `?${queryString}` : \"\"}`;\n\n return this.client.get<Issue[]>(url);\n }\n\n /**\n * Получить конкретный issue\n * @param {string} owner - Владелец репозитория\n * @param {string} repo - Название репозитория\n * @param {number} index - Номер issue\n * @returns {Promise<Issue>} Информация об issue\n */\n get(owner: string, repo: string, index: number): Promise<Issue> {\n return this.client.get<Issue>(`/repos/${owner}/${repo}/issues/${index}`);\n }\n\n /**\n * Получить комментарий по ID\n * @param {string} owner - Владелец репозитория\n * @param {string} repo - Название репозитория\n * @param {number} id - ID комментария\n * @returns {Promise<Comment>} Информация о комментарии\n */\n getComment(owner: string, repo: string, id: number): Promise<Comment> {\n return this.client.get<Comment>(`/repos/${owner}/${repo}/issues/comments/${id}`);\n }\n\n /**\n * Получить список комментариев к issue\n * @param {string} owner - Владелец репозитория\n * @param {string} repo - Название репозитория\n * @param {number} index - Номер issue\n * @returns {Promise<Comment[]>} Массив комментариев\n */\n getComments(owner: string, repo: string, index: number): Promise<Comment[]> {\n return this.client.get<Comment[]>(`/repos/${owner}/${repo}/issues/${index}/comments`);\n }\n\n /**\n * Получить список меток issue\n * @param {string} owner - Владелец репозитория\n * @param {string} repo - Название репозитория\n * @param {number} index - Номер issue\n * @returns {Promise<Label[]>} Массив меток\n */\n getLabels(owner: string, repo: string, index: number): Promise<Label[]> {\n return this.client.get<Label[]>(`/repos/${owner}/${repo}/issues/${index}/labels`);\n }\n\n /**\n * Получить timeline событий issue\n * @param {string} owner - Владелец репозитория\n * @param {string} repo - Название репозитория\n * @param {number} index - Номер issue\n * @returns {Promise<TimelineEvent[]>} Массив событий timeline\n */\n getTimeline(owner: string, repo: string, index: number): Promise<TimelineEvent[]> {\n return this.client.get<TimelineEvent[]>(`/repos/${owner}/${repo}/issues/${index}/timeline`);\n }\n}\n"
6
+ ],
7
+ "mappings": "AAOO,MAAM,CAAU,CACD,OAApB,WAAW,CAAS,EAAwB,CAAxB,cASpB,IAAI,CAAC,EAAe,EAAc,EAAsC,CACtE,IAAM,EAAS,IAAI,gBACnB,GAAI,EACF,EAAO,OAAO,QAAS,CAAK,EAG9B,IAAM,EAAc,EAAO,SAAS,EAC9B,EAAM,UAAU,KAAS,WAAc,EAAc,IAAI,IAAgB,KAE/E,OAAO,KAAK,OAAO,IAAa,CAAG,EAUrC,GAAG,CAAC,EAAe,EAAc,EAA+B,CAC9D,OAAO,KAAK,OAAO,IAAW,UAAU,KAAS,YAAe,GAAO,EAUzE,UAAU,CAAC,EAAe,EAAc,EAA8B,CACpE,OAAO,KAAK,OAAO,IAAa,UAAU,KAAS,qBAAwB,GAAI,EAUjF,WAAW,CAAC,EAAe,EAAc,EAAmC,CAC1E,OAAO,KAAK,OAAO,IAAe,UAAU,KAAS,YAAe,YAAgB,EAUtF,SAAS,CAAC,EAAe,EAAc,EAAiC,CACtE,OAAO,KAAK,OAAO,IAAa,UAAU,KAAS,YAAe,UAAc,EAUlF,WAAW,CAAC,EAAe,EAAc,EAAyC,CAChF,OAAO,KAAK,OAAO,IAAqB,UAAU,KAAS,YAAe,YAAgB,EAE9F",
8
+ "debugId": "289B1FCE01AEA6F664756E2164756E21",
9
+ "names": []
10
+ }