gitverse-api-sdk 4.0.2 → 5.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +106 -270
- package/dist/api/actions.d.ts +360 -363
- package/dist/api/actions.js +3 -3
- package/dist/api/actions.js.map +3 -3
- package/dist/api/emails.d.ts +56 -51
- package/dist/api/emails.js +3 -3
- package/dist/api/emails.js.map +3 -3
- package/dist/api/issues.d.ts +297 -214
- package/dist/api/issues.js +3 -3
- package/dist/api/issues.js.map +3 -3
- package/dist/api/organizations.d.ts +78 -7
- package/dist/api/organizations.js +3 -3
- package/dist/api/organizations.js.map +3 -3
- package/dist/api/pulls.d.ts +338 -427
- package/dist/api/pulls.js +3 -3
- package/dist/api/pulls.js.map +3 -3
- package/dist/api/releases.d.ts +198 -231
- package/dist/api/releases.js +3 -3
- package/dist/api/releases.js.map +3 -3
- package/dist/api/repositories.d.ts +878 -330
- package/dist/api/repositories.js +3 -3
- package/dist/api/repositories.js.map +3 -3
- package/dist/api/stars.d.ts +109 -182
- package/dist/api/stars.js +3 -3
- package/dist/api/stars.js.map +3 -3
- package/dist/api/teams.d.ts +118 -134
- package/dist/api/teams.js +3 -3
- package/dist/api/teams.js.map +3 -3
- package/dist/api/users.d.ts +99 -97
- package/dist/api/users.js +3 -3
- package/dist/api/users.js.map +3 -3
- package/dist/client.d.ts +14 -0
- package/dist/client.js +3 -3
- package/dist/client.js.map +3 -3
- package/dist/enums.d.ts +27 -71
- package/dist/enums.js +3 -3
- package/dist/enums.js.map +3 -3
- package/dist/errors.d.ts +12 -10
- package/dist/errors.js +2 -2
- package/dist/errors.js.map +1 -1
- package/dist/index.d.ts +2042 -2130
- package/dist/index.js +2 -2
- package/dist/index.js.map +3 -3
- package/dist/types.d.ts +779 -1223
- package/dist/utils.js +1 -2
- package/dist/utils.js.map +1 -1
- package/package.json +2 -2
- package/dist/api/branches.d.ts +0 -173
- package/dist/api/branches.js +0 -4
- package/dist/api/branches.js.map +0 -10
- package/dist/api/collaborators.d.ts +0 -243
- package/dist/api/collaborators.js +0 -4
- package/dist/api/collaborators.js.map +0 -10
- package/dist/api/commits.d.ts +0 -321
- package/dist/api/commits.js +0 -4
- package/dist/api/commits.js.map +0 -10
- package/dist/api/contents.d.ts +0 -364
- package/dist/api/contents.js +0 -4
- package/dist/api/contents.js.map +0 -10
- package/dist/api/forks.d.ts +0 -344
- package/dist/api/forks.js +0 -4
- package/dist/api/forks.js.map +0 -10
- package/dist/api/git.d.ts +0 -247
- package/dist/api/git.js +0 -4
- package/dist/api/git.js.map +0 -10
package/dist/utils.js
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
1
|
var y=/^[A-Za-z0-9+/=]+$/,z=/^([a-z][a-z0-9+.-]*:\/\/[^/]+)\/([a-z][a-z0-9+.-]*:\/\/.+)$/i;function w(j){return Buffer.from(j).toString("base64")}function A(j){return Buffer.from(j,"base64").toString("utf-8")}function G(j,k,q){return{branch:q,content:w(j),message:k}}function H(j,k,q,v){return{branch:v,content:w(j),message:q,sha:k}}function I(j){if(!j.content)return"";if(j.encoding==="base64"){let k=j.content;if(!y.test(k))return k;try{return A(k)}catch{return k}}return j.content}function E(j){if(!j)return j;let k=j.match(z);if(k?.[1]&&k?.[2]){let q=k[1],v=k[2];if(v.startsWith(q))return v}return j}function J(j){let k=["clone_url","html_url","url","git_url","mirror_url"],q={...j};for(let v of k)if(typeof q[v]==="string")q[v]=E(q[v]);return q}export{H as updateFileParams,I as parseFileContent,J as fixRepositoryUrls,E as fixDuplicatedUrl,w as encodeBase64,A as decodeBase64,G as createFileParams};
|
|
2
|
-
export{J as A};
|
|
3
2
|
|
|
4
|
-
//# debugId=
|
|
3
|
+
//# debugId=F5ACDA9B0DF3F93764756E2164756E21
|
package/dist/utils.js.map
CHANGED
|
@@ -5,6 +5,6 @@
|
|
|
5
5
|
"/**\n * Вспомогательные утилиты для работы с GitVerse API\n */\n\nconst base64Regex = /^[A-Za-z0-9+/=]+$/;\n\n/**\n * Regex для поиска дублированных доменов в URL\n * Паттерн: protocol://domain/protocol://something\n * Поддерживает любые протоколы: http, https, git, ssh и т.д.\n */\nconst urlDuplicationPattern = /^([a-z][a-z0-9+.-]*:\\/\\/[^/]+)\\/([a-z][a-z0-9+.-]*:\\/\\/.+)$/i;\n\n/**\n * Кодирует строку в Base64\n * @param str Строка для кодирования\n * @returns Строка в формате Base64\n */\nexport function encodeBase64(str: string): string {\n return Buffer.from(str).toString(\"base64\");\n}\n\n/**\n * Декодирует строку из Base64\n * @param base64 Строка в формате Base64\n * @returns Декодированная строка\n */\nexport function decodeBase64(base64: string): string {\n return Buffer.from(base64, \"base64\").toString(\"utf-8\");\n}\n\n/**\n * Создает объект параметров для создания файла\n * @param content Содержимое файла в виде строки\n * @param message Сообщение коммита\n * @param branch Имя ветки (опционально)\n * @returns Объект параметров для создания файла\n */\nexport function createFileParams(content: string, message?: string, branch?: string) {\n return {\n branch,\n content: encodeBase64(content),\n message,\n };\n}\n\n/**\n * Создает объект параметров для обновления файла\n * @param content Новое содержимое файла в виде строки\n * @param sha SHA хеш текущего содержимого файла\n * @param message Сообщение коммита\n * @param branch Имя ветки (опционально)\n * @returns Объект параметров для обновления файла\n */\nexport function updateFileParams(content: string, sha: string, message?: string, branch?: string) {\n return {\n branch,\n content: encodeBase64(content),\n message,\n sha,\n };\n}\n\n/**\n * Парсит содержимое файла из ответа API\n * @param fileContent Объект с информацией о файле\n * @returns Декодированное содержимое файла\n */\nexport function parseFileContent(fileContent: { content?: string; encoding?: string }) {\n if (!fileContent.content) {\n return \"\";\n }\n\n if (fileContent.encoding === \"base64\") {\n const data = fileContent.content;\n // Return original if not valid base64\n if (!base64Regex.test(data)) {\n return data;\n }\n try {\n return decodeBase64(data);\n } catch {\n return data;\n }\n }\n\n return fileContent.content;\n}\n\n/**\n * Исправляет дублированный домен в URL (workaround для бага GitVerse API)\n *\n * Проблема: API иногда возвращает URL вида:\n * `https://gitverse.ru/https://gitverse.ru/owner/repo.git`\n *\n * Эта функция исправляет такие URL на корректный вид:\n * `https://gitverse.ru/owner/repo.git`\n *\n * @param url URL для исправления\n * @returns Исправленный URL\n *\n * @see https://gitverse.ru/RainyPixel/gitverse-sdk/tasktracker/XXX - ссылка на issue об этом баге\n */\nexport function fixDuplicatedUrl(url: string): string {\n if (!url) {\n return url;\n }\n\n const match = url.match(urlDuplicationPattern);\n\n if (match?.[1] && match?.[2]) {\n const firstPart = match[1]; // https://gitverse.ru или git://gitverse.ru\n const secondPart = match[2]; // https://gitverse.ru/owner/repo.git или git://gitverse.ru/owner/repo.git\n\n // Проверяем, начинается ли вторая часть с того же домена\n if (secondPart.startsWith(firstPart)) {\n return secondPart;\n }\n }\n\n return url;\n}\n\n/**\n * Исправляет дублированные URL в объекте Repository (workaround для бага GitVerse API)\n *\n * Применяет fixDuplicatedUrl ко всем URL-полям репозитория:\n * - clone_url\n * - html_url\n * - url\n * - git_url\n * - mirror_url\n *\n * @param repo Объект репозитория\n * @returns Репозиторий с исправленными URL\n */\nexport function fixRepositoryUrls<T extends Record<string, unknown>>(repo: T): T {\n const urlFields = [\"clone_url\", \"html_url\", \"url\", \"git_url\", \"mirror_url\"];\n\n // Создаем новый объект с теми же свойствами\n const fixed: Record<string, unknown> = { ...repo };\n\n for (const field of urlFields) {\n if (typeof fixed[field] === \"string\") {\n fixed[field] = fixDuplicatedUrl(fixed[field] as string);\n }\n }\n\n return fixed as T;\n}\n"
|
|
6
6
|
],
|
|
7
7
|
"mappings": "AAIA,IAAM,EAAc,oBAOd,EAAwB,+DAOvB,SAAS,CAAY,CAAC,EAAqB,CAChD,OAAO,OAAO,KAAK,CAAG,EAAE,SAAS,QAAQ,EAQpC,SAAS,CAAY,CAAC,EAAwB,CACnD,OAAO,OAAO,KAAK,EAAQ,QAAQ,EAAE,SAAS,OAAO,EAUhD,SAAS,CAAgB,CAAC,EAAiB,EAAkB,EAAiB,CACnF,MAAO,CACL,SACA,QAAS,EAAa,CAAO,EAC7B,SACF,EAWK,SAAS,CAAgB,CAAC,EAAiB,EAAa,EAAkB,EAAiB,CAChG,MAAO,CACL,SACA,QAAS,EAAa,CAAO,EAC7B,UACA,KACF,EAQK,SAAS,CAAgB,CAAC,EAAsD,CACrF,GAAI,CAAC,EAAY,QACf,MAAO,GAGT,GAAI,EAAY,WAAa,SAAU,CACrC,IAAM,EAAO,EAAY,QAEzB,GAAI,CAAC,EAAY,KAAK,CAAI,EACxB,OAAO,EAET,GAAI,CACF,OAAO,EAAa,CAAI,EACxB,KAAM,CACN,OAAO,GAIX,OAAO,EAAY,QAiBd,SAAS,CAAgB,CAAC,EAAqB,CACpD,GAAI,CAAC,EACH,OAAO,EAGT,IAAM,EAAQ,EAAI,MAAM,CAAqB,EAE7C,GAAI,IAAQ,IAAM,IAAQ,GAAI,CAC5B,IAAM,EAAY,EAAM,GAClB,EAAa,EAAM,GAGzB,GAAI,EAAW,WAAW,CAAS,EACjC,OAAO,EAIX,OAAO,EAgBF,SAAS,CAAoD,CAAC,EAAY,CAC/E,IAAM,EAAY,CAAC,YAAa,WAAY,MAAO,UAAW,YAAY,EAGpE,EAAiC,IAAK,CAAK,EAEjD,QAAW,KAAS,EAClB,GAAI,OAAO,EAAM,KAAW,SAC1B,EAAM,GAAS,EAAiB,EAAM,EAAgB,EAI1D,OAAO",
|
|
8
|
-
"debugId": "
|
|
8
|
+
"debugId": "F5ACDA9B0DF3F93764756E2164756E21",
|
|
9
9
|
"names": []
|
|
10
10
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "gitverse-api-sdk",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "5.0.1",
|
|
4
4
|
"description": "Полнофункциональный TypeScript SDK для GitVerse API с поддержкой всех эндпоинтов, обработкой Rate Limits и версионирования",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"gitverse",
|
|
@@ -126,7 +126,7 @@
|
|
|
126
126
|
},
|
|
127
127
|
"devDependencies": {
|
|
128
128
|
"@aryzing/bun-mock-fetch": "^1.1.0",
|
|
129
|
-
"@types/bun": "1.3.
|
|
129
|
+
"@types/bun": "1.3.6",
|
|
130
130
|
"bun-bagel": "^1.2.0",
|
|
131
131
|
"bun-dts": "^0.1.70",
|
|
132
132
|
"bun-plugin-dts": "^0.3.0",
|
package/dist/api/branches.d.ts
DELETED
|
@@ -1,173 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Опции для выполнения HTTP-запросов
|
|
3
|
-
*/
|
|
4
|
-
interface RequestOptions {
|
|
5
|
-
/**
|
|
6
|
-
* AbortSignal для отмены запроса
|
|
7
|
-
* @example
|
|
8
|
-
* const controller = new AbortController();
|
|
9
|
-
* const promise = client.users.getCurrent({ signal: controller.signal });
|
|
10
|
-
* controller.abort(); // Отменяет запрос
|
|
11
|
-
*/
|
|
12
|
-
signal?: AbortSignal;
|
|
13
|
-
}
|
|
14
|
-
/**
|
|
15
|
-
* Интерфейс ветки репозитория
|
|
16
|
-
*/
|
|
17
|
-
interface Branch {
|
|
18
|
-
/** Имя ветки */
|
|
19
|
-
name: string;
|
|
20
|
-
/** SHA-хеш последнего коммита */
|
|
21
|
-
commit: {
|
|
22
|
-
sha: string
|
|
23
|
-
url: string
|
|
24
|
-
};
|
|
25
|
-
/** Защищена ли ветка */
|
|
26
|
-
protected?: boolean;
|
|
27
|
-
}
|
|
28
|
-
/**
|
|
29
|
-
* Предупреждение об устаревшей версии API
|
|
30
|
-
*/
|
|
31
|
-
declare class ApiVersionWarning {
|
|
32
|
-
/** Текущая используемая версия */
|
|
33
|
-
readonly currentVersion: string;
|
|
34
|
-
/** Последняя доступная версия */
|
|
35
|
-
readonly latestVersion: string;
|
|
36
|
-
/** Дата вывода из эксплуатации */
|
|
37
|
-
readonly decommissioning?: string;
|
|
38
|
-
constructor(currentVersion: string, latestVersion: string, decommissioning?: string);
|
|
39
|
-
/**
|
|
40
|
-
* Возвращает сообщение о предупреждении
|
|
41
|
-
*/
|
|
42
|
-
getMessage(): string;
|
|
43
|
-
}
|
|
44
|
-
declare const HTTPMethods: {
|
|
45
|
-
readonly DELETE: "DELETE"
|
|
46
|
-
readonly GET: "GET"
|
|
47
|
-
readonly PATCH: "PATCH"
|
|
48
|
-
readonly POST: "POST"
|
|
49
|
-
readonly PUT: "PUT"
|
|
50
|
-
};
|
|
51
|
-
type HTTPMethods = (typeof HTTPMethods)[keyof typeof HTTPMethods];
|
|
52
|
-
/**
|
|
53
|
-
* Параметры для конфигурации GitVerse клиента
|
|
54
|
-
*/
|
|
55
|
-
interface GitVerseClientConfig {
|
|
56
|
-
/**
|
|
57
|
-
* Базовый URL API GitVerse
|
|
58
|
-
* @default 'https://api.gitverse.ru'
|
|
59
|
-
*/
|
|
60
|
-
baseUrl?: string;
|
|
61
|
-
/**
|
|
62
|
-
* Токен доступа для авторизации в API
|
|
63
|
-
*/
|
|
64
|
-
token?: string;
|
|
65
|
-
/**
|
|
66
|
-
* Версия API
|
|
67
|
-
* @default '1'
|
|
68
|
-
*/
|
|
69
|
-
apiVersion?: string;
|
|
70
|
-
}
|
|
71
|
-
/**
|
|
72
|
-
* Основной класс для работы с GitVerse API
|
|
73
|
-
*/
|
|
74
|
-
declare class GitVerseClient {
|
|
75
|
-
private baseUrl;
|
|
76
|
-
private token?;
|
|
77
|
-
private apiVersion;
|
|
78
|
-
/**
|
|
79
|
-
* Callback для обработки предупреждений об устаревшей версии API
|
|
80
|
-
*/
|
|
81
|
-
onApiVersionWarning?: (warning: ApiVersionWarning) => void;
|
|
82
|
-
/**
|
|
83
|
-
* Создает новый экземпляр GitVerse клиента
|
|
84
|
-
* @param config Конфигурация клиента
|
|
85
|
-
*/
|
|
86
|
-
constructor(config?: GitVerseClientConfig);
|
|
87
|
-
/**
|
|
88
|
-
* Устанавливает токен авторизации
|
|
89
|
-
* @param token Токен доступа
|
|
90
|
-
*/
|
|
91
|
-
setToken(token: string): void;
|
|
92
|
-
/**
|
|
93
|
-
* Извлекает информацию о Rate Limit из заголовков ответа
|
|
94
|
-
*/
|
|
95
|
-
private extractRateLimitInfo;
|
|
96
|
-
/**
|
|
97
|
-
* Извлекает информацию о версии API из заголовков ответа
|
|
98
|
-
*/
|
|
99
|
-
private extractApiVersionInfo;
|
|
100
|
-
/**
|
|
101
|
-
* Извлекает метаданные из заголовков ответа
|
|
102
|
-
*/
|
|
103
|
-
private extractMetadata;
|
|
104
|
-
/**
|
|
105
|
-
* Выполняет API-запрос с учетом авторизации и версии API
|
|
106
|
-
* @param path Путь к API-ресурсу
|
|
107
|
-
* @param method HTTP-метод
|
|
108
|
-
* @param body Тело запроса (опционально)
|
|
109
|
-
* @param options Опции запроса (опционально)
|
|
110
|
-
* @returns Ответ от API
|
|
111
|
-
* @throws {RateLimitError} При превышении лимита запросов (429)
|
|
112
|
-
* @throws {GitVerseApiError} При других ошибках API
|
|
113
|
-
*/
|
|
114
|
-
request<T>(path: string, method: HTTPMethods, body?: unknown, options?: RequestOptions): Promise<T>;
|
|
115
|
-
/**
|
|
116
|
-
* Выполняет GET-запрос
|
|
117
|
-
* @param path Путь к API-ресурсу
|
|
118
|
-
* @param options Опции запроса (опционально)
|
|
119
|
-
* @returns Ответ от API
|
|
120
|
-
*/
|
|
121
|
-
get<T>(path: string, options?: RequestOptions): Promise<T>;
|
|
122
|
-
/**
|
|
123
|
-
* Выполняет POST-запрос
|
|
124
|
-
* @param path Путь к API-ресурсу
|
|
125
|
-
* @param body Тело запроса
|
|
126
|
-
* @param options Опции запроса (опционально)
|
|
127
|
-
* @returns Ответ от API
|
|
128
|
-
*/
|
|
129
|
-
post<T>(path: string, body?: unknown, options?: RequestOptions): Promise<T>;
|
|
130
|
-
/**
|
|
131
|
-
* Выполняет PUT-запрос
|
|
132
|
-
* @param path Путь к API-ресурсу
|
|
133
|
-
* @param body Тело запроса
|
|
134
|
-
* @param options Опции запроса (опционально)
|
|
135
|
-
* @returns Ответ от API
|
|
136
|
-
*/
|
|
137
|
-
put<T>(path: string, body?: unknown, options?: RequestOptions): Promise<T>;
|
|
138
|
-
/**
|
|
139
|
-
* Выполняет DELETE-запрос
|
|
140
|
-
* @param path Путь к API-ресурсу
|
|
141
|
-
* @param body Тело запроса (опционально)
|
|
142
|
-
* @param options Опции запроса (опционально)
|
|
143
|
-
* @returns Ответ от API
|
|
144
|
-
*/
|
|
145
|
-
delete<T>(path: string, body?: unknown, options?: RequestOptions): Promise<T>;
|
|
146
|
-
/**
|
|
147
|
-
* Выполняет PATCH-запрос
|
|
148
|
-
* @param path Путь к API-ресурсу
|
|
149
|
-
* @param body Тело запроса
|
|
150
|
-
* @param options Опции запроса (опционально)
|
|
151
|
-
* @returns Ответ от API
|
|
152
|
-
*/
|
|
153
|
-
patch<T>(path: string, body?: unknown, options?: RequestOptions): Promise<T>;
|
|
154
|
-
}
|
|
155
|
-
/**
|
|
156
|
-
* API для работы с ветками репозитория
|
|
157
|
-
*/
|
|
158
|
-
declare class BranchesApi {
|
|
159
|
-
private client;
|
|
160
|
-
/**
|
|
161
|
-
* Создает новый экземпляр API для работы с ветками
|
|
162
|
-
* @param client GitVerse клиент
|
|
163
|
-
*/
|
|
164
|
-
constructor(client: GitVerseClient);
|
|
165
|
-
/**
|
|
166
|
-
* Получает список веток репозитория
|
|
167
|
-
* @param owner Владелец репозитория
|
|
168
|
-
* @param repo Название репозитория
|
|
169
|
-
* @returns Список веток
|
|
170
|
-
*/
|
|
171
|
-
list(owner: string, repo: string, options?: RequestOptions): Promise<Branch[]>;
|
|
172
|
-
}
|
|
173
|
-
export { BranchesApi };
|
package/dist/api/branches.js
DELETED
package/dist/api/branches.js.map
DELETED
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../src/api/branches.ts"],
|
|
4
|
-
"sourcesContent": [
|
|
5
|
-
"import type { GitVerseClient } from \"../client\";\nimport type { Branch, RequestOptions } 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, options?: RequestOptions): Promise<Branch[]> {\n return this.client.get<Branch[]>(`/repos/${owner}/${repo}/branches`, options);\n }\n}\n"
|
|
6
|
-
],
|
|
7
|
-
"mappings": "AAMO,MAAM,CAAY,CACf,OAMR,WAAW,CAAC,EAAwB,CAClC,KAAK,OAAS,EAShB,IAAI,CAAC,EAAe,EAAc,EAA6C,CAC7E,OAAO,KAAK,OAAO,IAAc,UAAU,KAAS,aAAiB,CAAO,EAEhF",
|
|
8
|
-
"debugId": "AE2A9900E3BE4C5764756E2164756E21",
|
|
9
|
-
"names": []
|
|
10
|
-
}
|
|
@@ -1,243 +0,0 @@
|
|
|
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
|
-
* Опции для выполнения 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
|
-
/**
|
|
38
|
-
* Интерфейс пользователя
|
|
39
|
-
*/
|
|
40
|
-
interface User2 {
|
|
41
|
-
/** Уникальный идентификатор пользователя */
|
|
42
|
-
id: number;
|
|
43
|
-
/** Имя пользователя */
|
|
44
|
-
name?: string;
|
|
45
|
-
/** Логин пользователя */
|
|
46
|
-
login: string;
|
|
47
|
-
/** Полное имя пользователя */
|
|
48
|
-
full_name?: string;
|
|
49
|
-
/** Тип аккаунта: пользователь или организация */
|
|
50
|
-
type: UserType;
|
|
51
|
-
/** Биография пользователя */
|
|
52
|
-
bio?: string;
|
|
53
|
-
/** Электронная почта пользователя */
|
|
54
|
-
email?: string;
|
|
55
|
-
/** URL аватара пользователя */
|
|
56
|
-
avatar_url: string;
|
|
57
|
-
/** Веб-ссылка на профиль пользователя */
|
|
58
|
-
html_url: string;
|
|
59
|
-
/** API-ссылка на профиль пользователя */
|
|
60
|
-
url?: string;
|
|
61
|
-
/** API-ссылка на список подписчиков пользователя */
|
|
62
|
-
followers_url?: string;
|
|
63
|
-
/** API-ссылка на репозитории пользователя */
|
|
64
|
-
repos_url?: string;
|
|
65
|
-
/** API-ссылка на организации пользователя */
|
|
66
|
-
organizations_url?: string;
|
|
67
|
-
/** Права администратора */
|
|
68
|
-
site_admin: boolean;
|
|
69
|
-
/** Местоположение пользователя */
|
|
70
|
-
location?: string;
|
|
71
|
-
/** Верификация аккаунта */
|
|
72
|
-
is_verified?: boolean;
|
|
73
|
-
/** Настройки приватности профиля */
|
|
74
|
-
visibility?: VisibilityType;
|
|
75
|
-
/** Персональный веб-сайт */
|
|
76
|
-
website?: string;
|
|
77
|
-
/** Количество подписчиков */
|
|
78
|
-
followers?: number;
|
|
79
|
-
/** Количество подписок */
|
|
80
|
-
following?: number;
|
|
81
|
-
/** Количество публичных репозиториев */
|
|
82
|
-
public_repos?: number;
|
|
83
|
-
/** Количество репозиториев, отмеченных звездой */
|
|
84
|
-
stars_count?: number;
|
|
85
|
-
/** Дата создания аккаунта */
|
|
86
|
-
created_at: string;
|
|
87
|
-
/** Дата последнего обновления аккаунта */
|
|
88
|
-
updated_at?: string;
|
|
89
|
-
}
|
|
90
|
-
/**
|
|
91
|
-
* Предупреждение об устаревшей версии API
|
|
92
|
-
*/
|
|
93
|
-
declare class ApiVersionWarning {
|
|
94
|
-
/** Текущая используемая версия */
|
|
95
|
-
readonly currentVersion: string;
|
|
96
|
-
/** Последняя доступная версия */
|
|
97
|
-
readonly latestVersion: string;
|
|
98
|
-
/** Дата вывода из эксплуатации */
|
|
99
|
-
readonly decommissioning?: string;
|
|
100
|
-
constructor(currentVersion: string, latestVersion: string, decommissioning?: string);
|
|
101
|
-
/**
|
|
102
|
-
* Возвращает сообщение о предупреждении
|
|
103
|
-
*/
|
|
104
|
-
getMessage(): string;
|
|
105
|
-
}
|
|
106
|
-
declare const HTTPMethods: {
|
|
107
|
-
readonly DELETE: "DELETE"
|
|
108
|
-
readonly GET: "GET"
|
|
109
|
-
readonly PATCH: "PATCH"
|
|
110
|
-
readonly POST: "POST"
|
|
111
|
-
readonly PUT: "PUT"
|
|
112
|
-
};
|
|
113
|
-
type HTTPMethods = (typeof HTTPMethods)[keyof typeof HTTPMethods];
|
|
114
|
-
/**
|
|
115
|
-
* Параметры для конфигурации GitVerse клиента
|
|
116
|
-
*/
|
|
117
|
-
interface GitVerseClientConfig {
|
|
118
|
-
/**
|
|
119
|
-
* Базовый URL API GitVerse
|
|
120
|
-
* @default 'https://api.gitverse.ru'
|
|
121
|
-
*/
|
|
122
|
-
baseUrl?: string;
|
|
123
|
-
/**
|
|
124
|
-
* Токен доступа для авторизации в API
|
|
125
|
-
*/
|
|
126
|
-
token?: string;
|
|
127
|
-
/**
|
|
128
|
-
* Версия API
|
|
129
|
-
* @default '1'
|
|
130
|
-
*/
|
|
131
|
-
apiVersion?: string;
|
|
132
|
-
}
|
|
133
|
-
/**
|
|
134
|
-
* Основной класс для работы с GitVerse API
|
|
135
|
-
*/
|
|
136
|
-
declare class GitVerseClient {
|
|
137
|
-
private baseUrl;
|
|
138
|
-
private token?;
|
|
139
|
-
private apiVersion;
|
|
140
|
-
/**
|
|
141
|
-
* Callback для обработки предупреждений об устаревшей версии API
|
|
142
|
-
*/
|
|
143
|
-
onApiVersionWarning?: (warning: ApiVersionWarning) => void;
|
|
144
|
-
/**
|
|
145
|
-
* Создает новый экземпляр GitVerse клиента
|
|
146
|
-
* @param config Конфигурация клиента
|
|
147
|
-
*/
|
|
148
|
-
constructor(config?: GitVerseClientConfig);
|
|
149
|
-
/**
|
|
150
|
-
* Устанавливает токен авторизации
|
|
151
|
-
* @param token Токен доступа
|
|
152
|
-
*/
|
|
153
|
-
setToken(token: string): void;
|
|
154
|
-
/**
|
|
155
|
-
* Извлекает информацию о Rate Limit из заголовков ответа
|
|
156
|
-
*/
|
|
157
|
-
private extractRateLimitInfo;
|
|
158
|
-
/**
|
|
159
|
-
* Извлекает информацию о версии API из заголовков ответа
|
|
160
|
-
*/
|
|
161
|
-
private extractApiVersionInfo;
|
|
162
|
-
/**
|
|
163
|
-
* Извлекает метаданные из заголовков ответа
|
|
164
|
-
*/
|
|
165
|
-
private extractMetadata;
|
|
166
|
-
/**
|
|
167
|
-
* Выполняет API-запрос с учетом авторизации и версии API
|
|
168
|
-
* @param path Путь к API-ресурсу
|
|
169
|
-
* @param method HTTP-метод
|
|
170
|
-
* @param body Тело запроса (опционально)
|
|
171
|
-
* @param options Опции запроса (опционально)
|
|
172
|
-
* @returns Ответ от API
|
|
173
|
-
* @throws {RateLimitError} При превышении лимита запросов (429)
|
|
174
|
-
* @throws {GitVerseApiError} При других ошибках API
|
|
175
|
-
*/
|
|
176
|
-
request<T>(path: string, method: HTTPMethods, body?: unknown, options?: RequestOptions): Promise<T>;
|
|
177
|
-
/**
|
|
178
|
-
* Выполняет GET-запрос
|
|
179
|
-
* @param path Путь к API-ресурсу
|
|
180
|
-
* @param options Опции запроса (опционально)
|
|
181
|
-
* @returns Ответ от API
|
|
182
|
-
*/
|
|
183
|
-
get<T>(path: string, options?: RequestOptions): Promise<T>;
|
|
184
|
-
/**
|
|
185
|
-
* Выполняет POST-запрос
|
|
186
|
-
* @param path Путь к API-ресурсу
|
|
187
|
-
* @param body Тело запроса
|
|
188
|
-
* @param options Опции запроса (опционально)
|
|
189
|
-
* @returns Ответ от API
|
|
190
|
-
*/
|
|
191
|
-
post<T>(path: string, body?: unknown, options?: RequestOptions): Promise<T>;
|
|
192
|
-
/**
|
|
193
|
-
* Выполняет PUT-запрос
|
|
194
|
-
* @param path Путь к API-ресурсу
|
|
195
|
-
* @param body Тело запроса
|
|
196
|
-
* @param options Опции запроса (опционально)
|
|
197
|
-
* @returns Ответ от API
|
|
198
|
-
*/
|
|
199
|
-
put<T>(path: string, body?: unknown, options?: RequestOptions): Promise<T>;
|
|
200
|
-
/**
|
|
201
|
-
* Выполняет DELETE-запрос
|
|
202
|
-
* @param path Путь к API-ресурсу
|
|
203
|
-
* @param body Тело запроса (опционально)
|
|
204
|
-
* @param options Опции запроса (опционально)
|
|
205
|
-
* @returns Ответ от API
|
|
206
|
-
*/
|
|
207
|
-
delete<T>(path: string, body?: unknown, options?: RequestOptions): Promise<T>;
|
|
208
|
-
/**
|
|
209
|
-
* Выполняет PATCH-запрос
|
|
210
|
-
* @param path Путь к API-ресурсу
|
|
211
|
-
* @param body Тело запроса
|
|
212
|
-
* @param options Опции запроса (опционально)
|
|
213
|
-
* @returns Ответ от API
|
|
214
|
-
*/
|
|
215
|
-
patch<T>(path: string, body?: unknown, options?: RequestOptions): Promise<T>;
|
|
216
|
-
}
|
|
217
|
-
/**
|
|
218
|
-
* API для работы с коллабораторами репозитория
|
|
219
|
-
*/
|
|
220
|
-
declare class CollaboratorsApi {
|
|
221
|
-
private client;
|
|
222
|
-
/**
|
|
223
|
-
* Создает новый экземпляр API для работы с коллабораторами
|
|
224
|
-
* @param client GitVerse клиент
|
|
225
|
-
*/
|
|
226
|
-
constructor(client: GitVerseClient);
|
|
227
|
-
/**
|
|
228
|
-
* Получает список коллабораторов репозитория
|
|
229
|
-
* @param owner Владелец репозитория
|
|
230
|
-
* @param repo Название репозитория
|
|
231
|
-
* @returns Список коллабораторов
|
|
232
|
-
*/
|
|
233
|
-
list(owner: string, repo: string, options?: RequestOptions): Promise<User2[]>;
|
|
234
|
-
/**
|
|
235
|
-
* Добавляет коллаборатора к репозиторию
|
|
236
|
-
* @param owner Владелец репозитория
|
|
237
|
-
* @param repo Название репозитория
|
|
238
|
-
* @param collaborator Имя пользователя коллаборатора
|
|
239
|
-
* @returns Результат операции
|
|
240
|
-
*/
|
|
241
|
-
add(owner: string, repo: string, collaborator: string, options?: RequestOptions): Promise<void>;
|
|
242
|
-
}
|
|
243
|
-
export { CollaboratorsApi };
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
class j{client;constructor(d){this.client=d}list(d,f,g){return this.client.get(`/repos/${d}/${f}/collaborators`,g)}add(d,f,g,h){return this.client.put(`/repos/${d}/${f}/collaborators/${g}`,{},h)}}export{j as CollaboratorsApi};
|
|
2
|
-
export{j as g};
|
|
3
|
-
|
|
4
|
-
//# debugId=E49CD93BA840070564756E2164756E21
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../src/api/collaborators.ts"],
|
|
4
|
-
"sourcesContent": [
|
|
5
|
-
"import type { GitVerseClient } from \"../client\";\nimport type { RequestOptions, 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, options?: RequestOptions): Promise<User[]> {\n return this.client.get<User[]>(`/repos/${owner}/${repo}/collaborators`, options);\n }\n\n /**\n * Добавляет коллаборатора к репозиторию\n * @param owner Владелец репозитория\n * @param repo Название репозитория\n * @param collaborator Имя пользователя коллаборатора\n * @returns Результат операции\n */\n add(owner: string, repo: string, collaborator: string, options?: RequestOptions): Promise<void> {\n return this.client.put<void>(`/repos/${owner}/${repo}/collaborators/${collaborator}`, {}, options);\n }\n}\n"
|
|
6
|
-
],
|
|
7
|
-
"mappings": "AAMO,MAAM,CAAiB,CACpB,OAMR,WAAW,CAAC,EAAwB,CAClC,KAAK,OAAS,EAShB,IAAI,CAAC,EAAe,EAAc,EAA2C,CAC3E,OAAO,KAAK,OAAO,IAAY,UAAU,KAAS,kBAAsB,CAAO,EAUjF,GAAG,CAAC,EAAe,EAAc,EAAsB,EAAyC,CAC9F,OAAO,KAAK,OAAO,IAAU,UAAU,KAAS,mBAAsB,IAAgB,CAAC,EAAG,CAAO,EAErG",
|
|
8
|
-
"debugId": "E49CD93BA840070564756E2164756E21",
|
|
9
|
-
"names": []
|
|
10
|
-
}
|