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,154 @@
1
+ /**
2
+ * Интерфейс ветки репозитория
3
+ */
4
+ interface Branch {
5
+ /** Имя ветки */
6
+ name: string;
7
+ /** SHA-хеш последнего коммита */
8
+ commit: {
9
+ sha: string
10
+ url: string
11
+ };
12
+ /** Защищена ли ветка */
13
+ protected?: boolean;
14
+ }
15
+ /**
16
+ * Предупреждение об устаревшей версии API
17
+ */
18
+ declare class ApiVersionWarning {
19
+ /** Текущая используемая версия */
20
+ readonly currentVersion: string;
21
+ /** Последняя доступная версия */
22
+ readonly latestVersion: string;
23
+ /** Дата вывода из эксплуатации */
24
+ readonly decommissioning?: string;
25
+ constructor(currentVersion: string, latestVersion: string, decommissioning?: string);
26
+ /**
27
+ * Возвращает сообщение о предупреждении
28
+ */
29
+ getMessage(): string;
30
+ }
31
+ declare const HTTPMethods: {
32
+ readonly DELETE: "DELETE"
33
+ readonly GET: "GET"
34
+ readonly PATCH: "PATCH"
35
+ readonly POST: "POST"
36
+ readonly PUT: "PUT"
37
+ };
38
+ type HTTPMethods = (typeof HTTPMethods)[keyof typeof HTTPMethods];
39
+ /**
40
+ * Параметры для конфигурации GitVerse клиента
41
+ */
42
+ interface GitVerseClientConfig {
43
+ /**
44
+ * Базовый URL API GitVerse
45
+ * @default 'https://api.gitverse.ru'
46
+ */
47
+ baseUrl?: string;
48
+ /**
49
+ * Токен доступа для авторизации в API
50
+ */
51
+ token?: string;
52
+ /**
53
+ * Версия API
54
+ * @default '1'
55
+ */
56
+ apiVersion?: string;
57
+ }
58
+ /**
59
+ * Основной класс для работы с GitVerse API
60
+ */
61
+ declare class GitVerseClient {
62
+ private baseUrl;
63
+ private token?;
64
+ private apiVersion;
65
+ /**
66
+ * Callback для обработки предупреждений об устаревшей версии API
67
+ */
68
+ onApiVersionWarning?: (warning: ApiVersionWarning) => void;
69
+ /**
70
+ * Создает новый экземпляр GitVerse клиента
71
+ * @param config Конфигурация клиента
72
+ */
73
+ constructor(config?: GitVerseClientConfig);
74
+ /**
75
+ * Устанавливает токен авторизации
76
+ * @param token Токен доступа
77
+ */
78
+ setToken(token: string): void;
79
+ /**
80
+ * Извлекает информацию о Rate Limit из заголовков ответа
81
+ */
82
+ private extractRateLimitInfo;
83
+ /**
84
+ * Извлекает информацию о версии API из заголовков ответа
85
+ */
86
+ private extractApiVersionInfo;
87
+ /**
88
+ * Извлекает метаданные из заголовков ответа
89
+ */
90
+ private extractMetadata;
91
+ /**
92
+ * Выполняет API-запрос с учетом авторизации и версии API
93
+ * @param path Путь к API-ресурсу
94
+ * @param method HTTP-метод
95
+ * @param body Тело запроса (опционально)
96
+ * @returns Ответ от API
97
+ * @throws {RateLimitError} При превышении лимита запросов (429)
98
+ * @throws {GitVerseApiError} При других ошибках API
99
+ */
100
+ request<T>(path: string, method: HTTPMethods, body?: unknown): Promise<T>;
101
+ /**
102
+ * Выполняет GET-запрос
103
+ * @param path Путь к API-ресурсу
104
+ * @returns Ответ от API
105
+ */
106
+ get<T>(path: string): Promise<T>;
107
+ /**
108
+ * Выполняет POST-запрос
109
+ * @param path Путь к API-ресурсу
110
+ * @param body Тело запроса
111
+ * @returns Ответ от API
112
+ */
113
+ post<T>(path: string, body?: unknown): Promise<T>;
114
+ /**
115
+ * Выполняет PUT-запрос
116
+ * @param path Путь к API-ресурсу
117
+ * @param body Тело запроса
118
+ * @returns Ответ от API
119
+ */
120
+ put<T>(path: string, body?: unknown): Promise<T>;
121
+ /**
122
+ * Выполняет DELETE-запрос
123
+ * @param path Путь к API-ресурсу
124
+ * @param body Тело запроса (опционально)
125
+ * @returns Ответ от API
126
+ */
127
+ delete<T>(path: string, body?: unknown): Promise<T>;
128
+ /**
129
+ * Выполняет PATCH-запрос
130
+ * @param path Путь к API-ресурсу
131
+ * @param body Тело запроса
132
+ * @returns Ответ от API
133
+ */
134
+ patch<T>(path: string, body?: unknown): Promise<T>;
135
+ }
136
+ /**
137
+ * API для работы с ветками репозитория
138
+ */
139
+ declare class BranchesApi {
140
+ private client;
141
+ /**
142
+ * Создает новый экземпляр API для работы с ветками
143
+ * @param client GitVerse клиент
144
+ */
145
+ constructor(client: GitVerseClient);
146
+ /**
147
+ * Получает список веток репозитория
148
+ * @param owner Владелец репозитория
149
+ * @param repo Название репозитория
150
+ * @returns Список веток
151
+ */
152
+ list(owner: string, repo: string): Promise<Branch[]>;
153
+ }
154
+ export { BranchesApi };
@@ -0,0 +1,4 @@
1
+ class f{client;constructor(b){this.client=b}list(b,d){return this.client.get(`/repos/${b}/${d}/branches`)}}export{f as BranchesApi};
2
+ export{f};
3
+
4
+ //# debugId=FD830EC0D6616EE464756E2164756E21
@@ -0,0 +1,10 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../src/api/branches.ts"],
4
+ "sourcesContent": [
5
+ "import type { GitVerseClient } from \"../client\";\nimport type { Branch } from \"../types\";\n\n/**\n * API для работы с ветками репозитория\n */\nexport class BranchesApi {\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<Branch[]> {\n return this.client.get<Branch[]>(`/repos/${owner}/${repo}/branches`);\n }\n}\n"
6
+ ],
7
+ "mappings": "AAMO,MAAM,CAAY,CACf,OAMR,WAAW,CAAC,EAAwB,CAClC,KAAK,OAAS,EAShB,IAAI,CAAC,EAAe,EAAiC,CACnD,OAAO,KAAK,OAAO,IAAc,UAAU,KAAS,YAAe,EAEvE",
8
+ "debugId": "FD830EC0D6616EE464756E2164756E21",
9
+ "names": []
10
+ }
@@ -0,0 +1,224 @@
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
+ * Интерфейс пользователя
26
+ */
27
+ interface User2 {
28
+ /** Уникальный идентификатор пользователя */
29
+ id: number;
30
+ /** Имя пользователя */
31
+ name?: string;
32
+ /** Логин пользователя */
33
+ login: string;
34
+ /** Полное имя пользователя */
35
+ full_name?: string;
36
+ /** Тип аккаунта: пользователь или организация */
37
+ type: UserType;
38
+ /** Биография пользователя */
39
+ bio?: string;
40
+ /** Электронная почта пользователя */
41
+ email?: string;
42
+ /** URL аватара пользователя */
43
+ avatar_url: string;
44
+ /** Веб-ссылка на профиль пользователя */
45
+ html_url: string;
46
+ /** API-ссылка на профиль пользователя */
47
+ url?: string;
48
+ /** API-ссылка на список подписчиков пользователя */
49
+ followers_url?: string;
50
+ /** API-ссылка на репозитории пользователя */
51
+ repos_url?: string;
52
+ /** API-ссылка на организации пользователя */
53
+ organizations_url?: string;
54
+ /** Права администратора */
55
+ site_admin: boolean;
56
+ /** Местоположение пользователя */
57
+ location?: string;
58
+ /** Верификация аккаунта */
59
+ is_verified?: boolean;
60
+ /** Настройки приватности профиля */
61
+ visibility?: VisibilityType;
62
+ /** Персональный веб-сайт */
63
+ website?: string;
64
+ /** Количество подписчиков */
65
+ followers?: number;
66
+ /** Количество подписок */
67
+ following?: number;
68
+ /** Количество публичных репозиториев */
69
+ public_repos?: number;
70
+ /** Количество репозиториев, отмеченных звездой */
71
+ stars_count?: number;
72
+ /** Дата создания аккаунта */
73
+ created_at: string;
74
+ /** Дата последнего обновления аккаунта */
75
+ updated_at?: string;
76
+ }
77
+ /**
78
+ * Предупреждение об устаревшей версии API
79
+ */
80
+ declare class ApiVersionWarning {
81
+ /** Текущая используемая версия */
82
+ readonly currentVersion: string;
83
+ /** Последняя доступная версия */
84
+ readonly latestVersion: string;
85
+ /** Дата вывода из эксплуатации */
86
+ readonly decommissioning?: string;
87
+ constructor(currentVersion: string, latestVersion: string, decommissioning?: string);
88
+ /**
89
+ * Возвращает сообщение о предупреждении
90
+ */
91
+ getMessage(): string;
92
+ }
93
+ declare const HTTPMethods: {
94
+ readonly DELETE: "DELETE"
95
+ readonly GET: "GET"
96
+ readonly PATCH: "PATCH"
97
+ readonly POST: "POST"
98
+ readonly PUT: "PUT"
99
+ };
100
+ type HTTPMethods = (typeof HTTPMethods)[keyof typeof HTTPMethods];
101
+ /**
102
+ * Параметры для конфигурации GitVerse клиента
103
+ */
104
+ interface GitVerseClientConfig {
105
+ /**
106
+ * Базовый URL API GitVerse
107
+ * @default 'https://api.gitverse.ru'
108
+ */
109
+ baseUrl?: string;
110
+ /**
111
+ * Токен доступа для авторизации в API
112
+ */
113
+ token?: string;
114
+ /**
115
+ * Версия API
116
+ * @default '1'
117
+ */
118
+ apiVersion?: string;
119
+ }
120
+ /**
121
+ * Основной класс для работы с GitVerse API
122
+ */
123
+ declare class GitVerseClient {
124
+ private baseUrl;
125
+ private token?;
126
+ private apiVersion;
127
+ /**
128
+ * Callback для обработки предупреждений об устаревшей версии API
129
+ */
130
+ onApiVersionWarning?: (warning: ApiVersionWarning) => void;
131
+ /**
132
+ * Создает новый экземпляр GitVerse клиента
133
+ * @param config Конфигурация клиента
134
+ */
135
+ constructor(config?: GitVerseClientConfig);
136
+ /**
137
+ * Устанавливает токен авторизации
138
+ * @param token Токен доступа
139
+ */
140
+ setToken(token: string): void;
141
+ /**
142
+ * Извлекает информацию о Rate Limit из заголовков ответа
143
+ */
144
+ private extractRateLimitInfo;
145
+ /**
146
+ * Извлекает информацию о версии API из заголовков ответа
147
+ */
148
+ private extractApiVersionInfo;
149
+ /**
150
+ * Извлекает метаданные из заголовков ответа
151
+ */
152
+ private extractMetadata;
153
+ /**
154
+ * Выполняет API-запрос с учетом авторизации и версии API
155
+ * @param path Путь к API-ресурсу
156
+ * @param method HTTP-метод
157
+ * @param body Тело запроса (опционально)
158
+ * @returns Ответ от API
159
+ * @throws {RateLimitError} При превышении лимита запросов (429)
160
+ * @throws {GitVerseApiError} При других ошибках API
161
+ */
162
+ request<T>(path: string, method: HTTPMethods, body?: unknown): Promise<T>;
163
+ /**
164
+ * Выполняет GET-запрос
165
+ * @param path Путь к API-ресурсу
166
+ * @returns Ответ от API
167
+ */
168
+ get<T>(path: string): Promise<T>;
169
+ /**
170
+ * Выполняет POST-запрос
171
+ * @param path Путь к API-ресурсу
172
+ * @param body Тело запроса
173
+ * @returns Ответ от API
174
+ */
175
+ post<T>(path: string, body?: unknown): Promise<T>;
176
+ /**
177
+ * Выполняет PUT-запрос
178
+ * @param path Путь к API-ресурсу
179
+ * @param body Тело запроса
180
+ * @returns Ответ от API
181
+ */
182
+ put<T>(path: string, body?: unknown): Promise<T>;
183
+ /**
184
+ * Выполняет DELETE-запрос
185
+ * @param path Путь к API-ресурсу
186
+ * @param body Тело запроса (опционально)
187
+ * @returns Ответ от API
188
+ */
189
+ delete<T>(path: string, body?: unknown): Promise<T>;
190
+ /**
191
+ * Выполняет PATCH-запрос
192
+ * @param path Путь к API-ресурсу
193
+ * @param body Тело запроса
194
+ * @returns Ответ от API
195
+ */
196
+ patch<T>(path: string, body?: unknown): Promise<T>;
197
+ }
198
+ /**
199
+ * API для работы с коллабораторами репозитория
200
+ */
201
+ declare class CollaboratorsApi {
202
+ private client;
203
+ /**
204
+ * Создает новый экземпляр API для работы с коллабораторами
205
+ * @param client GitVerse клиент
206
+ */
207
+ constructor(client: GitVerseClient);
208
+ /**
209
+ * Получает список коллабораторов репозитория
210
+ * @param owner Владелец репозитория
211
+ * @param repo Название репозитория
212
+ * @returns Список коллабораторов
213
+ */
214
+ list(owner: string, repo: string): Promise<User2[]>;
215
+ /**
216
+ * Добавляет коллаборатора к репозиторию
217
+ * @param owner Владелец репозитория
218
+ * @param repo Название репозитория
219
+ * @param collaborator Имя пользователя коллаборатора
220
+ * @returns Результат операции
221
+ */
222
+ add(owner: string, repo: string, collaborator: string): Promise<void>;
223
+ }
224
+ export { CollaboratorsApi };
@@ -0,0 +1,4 @@
1
+ class h{client;constructor(d){this.client=d}list(d,f){return this.client.get(`/repos/${d}/${f}/collaborators`)}add(d,f,g){return this.client.put(`/repos/${d}/${f}/collaborators/${g}`,{})}}export{h as CollaboratorsApi};
2
+ export{h};
3
+
4
+ //# debugId=38159AA44FAD0CBE64756E2164756E21
@@ -0,0 +1,10 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../src/api/collaborators.ts"],
4
+ "sourcesContent": [
5
+ "import type { GitVerseClient } from \"../client\";\nimport type { User } from \"../types\";\n\n/**\n * API для работы с коллабораторами репозитория\n */\nexport class CollaboratorsApi {\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<User[]> {\n return this.client.get<User[]>(`/repos/${owner}/${repo}/collaborators`);\n }\n\n /**\n * Добавляет коллаборатора к репозиторию\n * @param owner Владелец репозитория\n * @param repo Название репозитория\n * @param collaborator Имя пользователя коллаборатора\n * @returns Результат операции\n */\n add(owner: string, repo: string, collaborator: string): Promise<void> {\n return this.client.put<void>(`/repos/${owner}/${repo}/collaborators/${collaborator}`, {});\n }\n}\n"
6
+ ],
7
+ "mappings": "AAMO,MAAM,CAAiB,CACpB,OAMR,WAAW,CAAC,EAAwB,CAClC,KAAK,OAAS,EAShB,IAAI,CAAC,EAAe,EAA+B,CACjD,OAAO,KAAK,OAAO,IAAY,UAAU,KAAS,iBAAoB,EAUxE,GAAG,CAAC,EAAe,EAAc,EAAqC,CACpE,OAAO,KAAK,OAAO,IAAU,UAAU,KAAS,mBAAsB,IAAgB,CAAC,CAAC,EAE5F",
8
+ "debugId": "38159AA44FAD0CBE64756E2164756E21",
9
+ "names": []
10
+ }