gitverse-api-sdk 2.0.1 → 3.1.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.
- package/README.md +15 -8
- package/dist/api/pulls.d.ts +8 -0
- package/dist/api/pulls.js +2 -2
- package/dist/api/pulls.js.map +3 -3
- package/dist/client.js.map +2 -2
- package/dist/index.d.ts +8 -0
- package/package.json +55 -64
package/README.md
CHANGED
|
@@ -3,12 +3,15 @@
|
|
|
3
3
|
[](https://www.npmjs.com/package/gitverse-api-sdk)
|
|
4
4
|
[](https://opensource.org/licenses/MIT)
|
|
5
5
|
[](https://gitverse.ru/rainypixel/gitverse-sdk)
|
|
6
|
+
[](https://gitverse.ru)
|
|
6
7
|
|
|
7
8
|
Полнофункциональный TypeScript SDK для GitVerse API с поддержкой всех эндпоинтов, обработкой Rate Limits и версионирования.
|
|
8
9
|
|
|
10
|
+
> **Совместимость:** SDK синхронизирован с GitVerse API v22.0.0 (обновлено: 06.11.2025)
|
|
11
|
+
|
|
9
12
|
## Ключевые особенности
|
|
10
13
|
|
|
11
|
-
- ✅ **100% покрытие API** — Все
|
|
14
|
+
- ✅ **100% покрытие API** — Все 91 эндпоинт GitVerse API поддерживаются
|
|
12
15
|
- ✅ **Rate Limits** — Автоматическая обработка лимитов запросов с информативными ошибками
|
|
13
16
|
- ✅ **Версионирование API** — Предупреждения об устаревших версиях API
|
|
14
17
|
- ✅ **Специализированные ошибки** — `RateLimitError`, `ApiVersionWarning` для точной обработки
|
|
@@ -133,7 +136,7 @@ await client.contents.update('owner', 'repo', 'path', { message: 'Update', conte
|
|
|
133
136
|
await client.contents.delete('owner', 'repo', 'path', { message: 'Delete', sha: 'sha' });
|
|
134
137
|
```
|
|
135
138
|
|
|
136
|
-
### 🔀 Pull Requests (
|
|
139
|
+
### 🔀 Pull Requests (8 методов)
|
|
137
140
|
|
|
138
141
|
```typescript
|
|
139
142
|
await client.pulls.list('owner', 'repo');
|
|
@@ -143,6 +146,7 @@ await client.pulls.update('owner', 'repo', 123, { title: 'Updated title' });
|
|
|
143
146
|
await client.pulls.merge('owner', 'repo', 123);
|
|
144
147
|
await client.pulls.getFiles('owner', 'repo', 123);
|
|
145
148
|
await client.pulls.updateBranch('owner', 'repo', 123);
|
|
149
|
+
await client.pulls.checkIfMerged('owner', 'repo', 123); // Проверка: был ли PR влит
|
|
146
150
|
```
|
|
147
151
|
|
|
148
152
|
### 🐛 Issues (6 методов)
|
|
@@ -370,12 +374,15 @@ bun run lint:fix
|
|
|
370
374
|
|
|
371
375
|
## Лицензия
|
|
372
376
|
|
|
373
|
-
MIT © [
|
|
377
|
+
MIT © [RainyPixel](https://gitverse.ru/RainyPixel)
|
|
374
378
|
|
|
375
|
-
|
|
379
|
+
## Полезные ссылки
|
|
376
380
|
|
|
377
|
-
|
|
378
|
-
- [GitVerse](https://gitverse.ru)
|
|
379
|
-
- [
|
|
380
|
-
- [Issues](https://gitverse.ru/rainypixel/gitverse-sdk/issues)
|
|
381
|
+
- [GitVerse SDK](https://gitverse.ru/RainyPixel/gitverse-sdk) - Основной репозиторий
|
|
382
|
+
- [GitVerse API Docs](https://gitverse.ru/gitverse/rest-api-description/content/master/v1/openapi-1.0.json) - Документация API
|
|
383
|
+
- [Issues](https://gitverse.ru/RainyPixel/gitverse-sdk/issues) - Сообщить об ошибке
|
|
381
384
|
- [npm пакет](https://www.npmjs.com/package/gitverse-api-sdk)
|
|
385
|
+
|
|
386
|
+
---
|
|
387
|
+
|
|
388
|
+
Сделано с ❤️ для GitVerse
|
package/dist/api/pulls.d.ts
CHANGED
|
@@ -513,5 +513,13 @@ declare class PullsApi {
|
|
|
513
513
|
* @returns Список коммитов
|
|
514
514
|
*/
|
|
515
515
|
getCommits(owner: string, repo: string, number: number): Promise<Commit[]>;
|
|
516
|
+
/**
|
|
517
|
+
* Проверяет, был ли pull request влит в базовую ветку
|
|
518
|
+
* @param owner Владелец репозитория
|
|
519
|
+
* @param repo Название репозитория
|
|
520
|
+
* @param number Номер pull request
|
|
521
|
+
* @returns true если PR был влит, false если не был влит или не существует
|
|
522
|
+
*/
|
|
523
|
+
checkIfMerged(owner: string, repo: string, number: number): Promise<boolean>;
|
|
516
524
|
}
|
|
517
525
|
export { PullsApi };
|
package/dist/api/pulls.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
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`)}}export{v as PullsApi};
|
|
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
2
|
export{v as m};
|
|
3
3
|
|
|
4
|
-
//# debugId=
|
|
4
|
+
//# debugId=25A34B7E93392AB864756E2164756E21
|
package/dist/api/pulls.js.map
CHANGED
|
@@ -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 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"
|
|
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"
|
|
6
6
|
],
|
|
7
|
-
"mappings": "
|
|
8
|
-
"debugId": "
|
|
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",
|
|
9
9
|
"names": []
|
|
10
10
|
}
|
package/dist/client.js.map
CHANGED
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../src/client.ts"],
|
|
4
4
|
"sourcesContent": [
|
|
5
|
-
"import { ApiVersionWarning, GitVerseApiError, RateLimitError } from \"./errors\";\nimport type { ApiError, ApiResponseMetadata, ApiVersionInfo, RateLimitInfo } from \"./types\";\
|
|
5
|
+
"import { ApiVersionWarning, GitVerseApiError, RateLimitError } from \"./errors\";\nimport type { ApiError, ApiResponseMetadata, ApiVersionInfo, RateLimitInfo } from \"./types\";\nexport const HTTPMethods = {\n DELETE: \"DELETE\",\n GET: \"GET\",\n PATCH: \"PATCH\",\n POST: \"POST\",\n PUT: \"PUT\",\n} as const;\n\nexport type HTTPMethods = (typeof HTTPMethods)[keyof typeof HTTPMethods];\n\n/**\n * Параметры для конфигурации GitVerse клиента\n */\nexport interface GitVerseClientConfig {\n /**\n * Базовый URL API GitVerse\n * @default 'https://api.gitverse.ru'\n */\n baseUrl?: string;\n\n /**\n * Токен доступа для авторизации в API\n */\n token?: string;\n\n /**\n * Версия API\n * @default '1'\n */\n apiVersion?: string;\n}\n\n/**\n * Основной класс для работы с GitVerse API\n */\nexport class GitVerseClient {\n private baseUrl: string;\n private token?: string;\n private apiVersion: string;\n\n /**\n * Callback для обработки предупреждений об устаревшей версии API\n */\n public onApiVersionWarning?: (warning: ApiVersionWarning) => void;\n\n /**\n * Создает новый экземпляр GitVerse клиента\n * @param config Конфигурация клиента\n */\n constructor(config: GitVerseClientConfig = {}) {\n this.baseUrl = config.baseUrl || \"https://api.gitverse.ru\";\n this.token = config.token;\n this.apiVersion = config.apiVersion || \"1\";\n }\n\n /**\n * Устанавливает токен авторизации\n * @param token Токен доступа\n */\n setToken(token: string): void {\n this.token = token;\n }\n\n /**\n * Извлекает информацию о Rate Limit из заголовков ответа\n */\n private extractRateLimitInfo(headers: Headers): RateLimitInfo | undefined {\n const limit = headers.get(\"GitVerse-RateLimit-Limit\");\n const remaining = headers.get(\"GitVerse-RateLimit-Remaining\");\n const retryAfter = headers.get(\"GitVerse-RateLimit-Retry-After\");\n const reset = headers.get(\"Gitverse-Ratelimit-Reset\");\n\n if (!(limit && remaining && retryAfter && reset)) {\n return;\n }\n\n return {\n limit: Number.parseInt(limit, 10),\n remaining: Number.parseInt(remaining, 10),\n reset: Number.parseInt(reset, 10),\n retryAfter: Number.parseInt(retryAfter, 10),\n };\n }\n\n /**\n * Извлекает информацию о версии API из заголовков ответа\n */\n private extractApiVersionInfo(headers: Headers): ApiVersionInfo | undefined {\n const version = headers.get(\"Gitverse-Api-Version\");\n const latestVersion = headers.get(\"Gitverse-Api-Latest-Version\");\n const deprecated = headers.get(\"Gitverse-Api-Deprecation\") === \"true\";\n const decommissioning = headers.get(\"Gitverse-Api-Decommissioning\");\n\n if (!(version && latestVersion)) {\n return;\n }\n\n return {\n decommissioning: decommissioning || undefined,\n deprecated,\n latestVersion,\n version,\n };\n }\n\n /**\n * Извлекает метаданные из заголовков ответа\n */\n private extractMetadata(headers: Headers): ApiResponseMetadata {\n const rateLimit = this.extractRateLimitInfo(headers);\n const apiVersion = this.extractApiVersionInfo(headers);\n\n // Проверяем устаревшую версию API и вызываем callback\n if (apiVersion?.deprecated && this.onApiVersionWarning) {\n const warning = new ApiVersionWarning(apiVersion.version, apiVersion.latestVersion, apiVersion.decommissioning);\n this.onApiVersionWarning(warning);\n }\n\n return {\n apiVersion,\n rateLimit,\n };\n }\n\n /**\n * Выполняет API-запрос с учетом авторизации и версии API\n * @param path Путь к API-ресурсу\n * @param method HTTP-метод\n * @param body Тело запроса (опционально)\n * @returns Ответ от API\n * @throws {RateLimitError} При превышении лимита запросов (429)\n * @throws {GitVerseApiError} При других ошибках API\n */\n async request<T>(path: string, method: HTTPMethods, body?: unknown): Promise<T> {\n // Правильная конкатенация URL: убираем начальный / из path если он есть\n const cleanPath = path.startsWith(\"/\") ? path.slice(1) : path;\n const url = `${this.baseUrl}/${cleanPath}`;\n\n const headers = new Headers();\n\n headers.set(\"Content-Type\", \"application/json\");\n headers.set(\"Accept\", `application/vnd.gitverse.object+json; version=${this.apiVersion}`);\n\n if (this.token) {\n headers.set(\"Authorization\", `Bearer ${this.token}`);\n }\n\n const options: RequestInit = {\n body: body ? JSON.stringify(body) : undefined,\n headers,\n method,\n };\n\n const response = await fetch(url, options);\n\n // Извлекаем метаданные из заголовков\n const metadata = this.extractMetadata(response.headers);\n\n let data: unknown;\n try {\n data = await response.json();\n } catch {\n data = undefined;\n }\n\n if (!response.ok) {\n const error = data as ApiError | undefined;\n const errorMessage = error?.message || response.statusText;\n\n // Обработка ошибки превышения лимита запросов\n if (response.status === 429 && metadata.rateLimit) {\n throw new RateLimitError(\n errorMessage || \"Превышен лимит запросов. Попробуйте позже.\",\n metadata.rateLimit,\n metadata,\n );\n }\n\n // Общая ошибка API\n throw new GitVerseApiError(response.status, errorMessage, metadata);\n }\n\n return data as T;\n }\n\n /**\n * Выполняет GET-запрос\n * @param path Путь к API-ресурсу\n * @returns Ответ от API\n */\n get<T>(path: string): Promise<T> {\n return this.request<T>(path, HTTPMethods.GET);\n }\n\n /**\n * Выполняет POST-запрос\n * @param path Путь к API-ресурсу\n * @param body Тело запроса\n * @returns Ответ от API\n */\n post<T>(path: string, body?: unknown): Promise<T> {\n return this.request<T>(path, HTTPMethods.POST, body);\n }\n\n /**\n * Выполняет PUT-запрос\n * @param path Путь к API-ресурсу\n * @param body Тело запроса\n * @returns Ответ от API\n */\n put<T>(path: string, body?: unknown): Promise<T> {\n return this.request<T>(path, HTTPMethods.PUT, body);\n }\n\n /**\n * Выполняет DELETE-запрос\n * @param path Путь к API-ресурсу\n * @param body Тело запроса (опционально)\n * @returns Ответ от API\n */\n delete<T>(path: string, body?: unknown): Promise<T> {\n return this.request<T>(path, HTTPMethods.DELETE, body);\n }\n\n /**\n * Выполняет PATCH-запрос\n * @param path Путь к API-ресурсу\n * @param body Тело запроса\n * @returns Ответ от API\n */\n patch<T>(path: string, body?: unknown): Promise<T> {\n return this.request<T>(path, HTTPMethods.PATCH, body);\n }\n}\n"
|
|
6
6
|
],
|
|
7
|
-
"mappings": "
|
|
7
|
+
"mappings": "8CAEO,IAAM,EAAc,CACzB,OAAQ,SACR,IAAK,MACL,MAAO,QACP,KAAM,OACN,IAAK,KACP,EA6BO,MAAM,CAAe,CAClB,QACA,MACA,WAKD,oBAMP,WAAW,CAAC,EAA+B,CAAC,EAAG,CAC7C,KAAK,QAAU,EAAO,SAAW,0BACjC,KAAK,MAAQ,EAAO,MACpB,KAAK,WAAa,EAAO,YAAc,IAOzC,QAAQ,CAAC,EAAqB,CAC5B,KAAK,MAAQ,EAMP,oBAAoB,CAAC,EAA6C,CACxE,IAAM,EAAQ,EAAQ,IAAI,0BAA0B,EAC9C,EAAY,EAAQ,IAAI,8BAA8B,EACtD,EAAa,EAAQ,IAAI,gCAAgC,EACzD,EAAQ,EAAQ,IAAI,0BAA0B,EAEpD,GAAI,EAAE,GAAS,GAAa,GAAc,GACxC,OAGF,MAAO,CACL,MAAO,OAAO,SAAS,EAAO,EAAE,EAChC,UAAW,OAAO,SAAS,EAAW,EAAE,EACxC,MAAO,OAAO,SAAS,EAAO,EAAE,EAChC,WAAY,OAAO,SAAS,EAAY,EAAE,CAC5C,EAMM,qBAAqB,CAAC,EAA8C,CAC1E,IAAM,EAAU,EAAQ,IAAI,sBAAsB,EAC5C,EAAgB,EAAQ,IAAI,6BAA6B,EACzD,EAAa,EAAQ,IAAI,0BAA0B,IAAM,OACzD,EAAkB,EAAQ,IAAI,8BAA8B,EAElE,GAAI,EAAE,GAAW,GACf,OAGF,MAAO,CACL,gBAAiB,GAAmB,OACpC,aACA,gBACA,SACF,EAMM,eAAe,CAAC,EAAuC,CAC7D,IAAM,EAAY,KAAK,qBAAqB,CAAO,EAC7C,EAAa,KAAK,sBAAsB,CAAO,EAGrD,GAAI,GAAY,YAAc,KAAK,oBAAqB,CACtD,IAAM,EAAU,IAAI,EAAkB,EAAW,QAAS,EAAW,cAAe,EAAW,eAAe,EAC9G,KAAK,oBAAoB,CAAO,EAGlC,MAAO,CACL,aACA,WACF,OAYI,QAAU,CAAC,EAAc,EAAqB,EAA4B,CAE9E,IAAM,EAAY,EAAK,WAAW,GAAG,EAAI,EAAK,MAAM,CAAC,EAAI,EACnD,EAAM,GAAG,KAAK,WAAW,IAEzB,EAAU,IAAI,QAKpB,GAHA,EAAQ,IAAI,eAAgB,kBAAkB,EAC9C,EAAQ,IAAI,SAAU,iDAAiD,KAAK,YAAY,EAEpF,KAAK,MACP,EAAQ,IAAI,gBAAiB,UAAU,KAAK,OAAO,EAGrD,IAAM,EAAuB,CAC3B,KAAM,EAAO,KAAK,UAAU,CAAI,EAAI,OACpC,UACA,QACF,EAEM,EAAW,MAAM,MAAM,EAAK,CAAO,EAGnC,EAAW,KAAK,gBAAgB,EAAS,OAAO,EAElD,EACJ,GAAI,CACF,EAAO,MAAM,EAAS,KAAK,EAC3B,KAAM,CACN,EAAO,OAGT,GAAI,CAAC,EAAS,GAAI,CAEhB,IAAM,EADQ,GACc,SAAW,EAAS,WAGhD,GAAI,EAAS,SAAW,KAAO,EAAS,UACtC,MAAM,IAAI,EACR,GAAgB,6CAChB,EAAS,UACT,CACF,EAIF,MAAM,IAAI,EAAiB,EAAS,OAAQ,EAAc,CAAQ,EAGpE,OAAO,EAQT,GAAM,CAAC,EAA0B,CAC/B,OAAO,KAAK,QAAW,EAAM,EAAY,GAAG,EAS9C,IAAO,CAAC,EAAc,EAA4B,CAChD,OAAO,KAAK,QAAW,EAAM,EAAY,KAAM,CAAI,EASrD,GAAM,CAAC,EAAc,EAA4B,CAC/C,OAAO,KAAK,QAAW,EAAM,EAAY,IAAK,CAAI,EASpD,MAAS,CAAC,EAAc,EAA4B,CAClD,OAAO,KAAK,QAAW,EAAM,EAAY,OAAQ,CAAI,EASvD,KAAQ,CAAC,EAAc,EAA4B,CACjD,OAAO,KAAK,QAAW,EAAM,EAAY,MAAO,CAAI,EAExD",
|
|
8
8
|
"debugId": "3C1435E422FBD05064756E2164756E21",
|
|
9
9
|
"names": []
|
|
10
10
|
}
|
package/dist/index.d.ts
CHANGED
|
@@ -2009,6 +2009,14 @@ declare class PullsApi {
|
|
|
2009
2009
|
* @returns Список коммитов
|
|
2010
2010
|
*/
|
|
2011
2011
|
getCommits(owner: string, repo: string, number: number): Promise<Commit[]>;
|
|
2012
|
+
/**
|
|
2013
|
+
* Проверяет, был ли pull request влит в базовую ветку
|
|
2014
|
+
* @param owner Владелец репозитория
|
|
2015
|
+
* @param repo Название репозитория
|
|
2016
|
+
* @param number Номер pull request
|
|
2017
|
+
* @returns true если PR был влит, false если не был влит или не существует
|
|
2018
|
+
*/
|
|
2019
|
+
checkIfMerged(owner: string, repo: string, number: number): Promise<boolean>;
|
|
2012
2020
|
}
|
|
2013
2021
|
/**
|
|
2014
2022
|
* API для работы с релизами репозитория
|
package/package.json
CHANGED
|
@@ -1,9 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "gitverse-api-sdk",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "3.1.0",
|
|
4
4
|
"description": "Полнофункциональный TypeScript SDK для GitVerse API с поддержкой всех эндпоинтов, обработкой Rate Limits и версионирования",
|
|
5
|
-
"type": "module",
|
|
6
|
-
"sideEffects": false,
|
|
7
5
|
"keywords": [
|
|
8
6
|
"gitverse",
|
|
9
7
|
"api",
|
|
@@ -18,24 +16,38 @@
|
|
|
18
16
|
"releases",
|
|
19
17
|
"ci-cd"
|
|
20
18
|
],
|
|
21
|
-
"
|
|
22
|
-
"
|
|
19
|
+
"homepage": "https://gitverse.ru/rainypixel/gitverse-sdk#readme",
|
|
20
|
+
"bugs": {
|
|
21
|
+
"url": "https://gitverse.ru/rainypixel/gitverse-sdk/issues"
|
|
22
|
+
},
|
|
23
|
+
"repository": {
|
|
24
|
+
"type": "git",
|
|
25
|
+
"url": "https://gitverse.ru/rainypixel/gitverse-sdk.git"
|
|
26
|
+
},
|
|
27
|
+
"license": "MIT",
|
|
28
|
+
"author": "Ivan Bobchenkov<me@bobchenkov.ru>",
|
|
29
|
+
"sideEffects": false,
|
|
30
|
+
"type": "module",
|
|
23
31
|
"exports": {
|
|
24
32
|
".": {
|
|
25
33
|
"import": "./dist/index.js",
|
|
26
34
|
"types": "./dist/index.d.ts"
|
|
27
35
|
},
|
|
28
|
-
"./
|
|
29
|
-
"import": "./dist/
|
|
30
|
-
"types": "./dist/
|
|
36
|
+
"./api/actions": {
|
|
37
|
+
"import": "./dist/api/actions.js",
|
|
38
|
+
"types": "./dist/api/actions.d.ts"
|
|
31
39
|
},
|
|
32
|
-
"./
|
|
33
|
-
"import": "./dist/
|
|
34
|
-
"types": "./dist/
|
|
40
|
+
"./api/branches": {
|
|
41
|
+
"import": "./dist/api/branches.js",
|
|
42
|
+
"types": "./dist/api/branches.d.ts"
|
|
35
43
|
},
|
|
36
|
-
"./
|
|
37
|
-
"import": "./dist/
|
|
38
|
-
"types": "./dist/
|
|
44
|
+
"./api/collaborators": {
|
|
45
|
+
"import": "./dist/api/collaborators.js",
|
|
46
|
+
"types": "./dist/api/collaborators.d.ts"
|
|
47
|
+
},
|
|
48
|
+
"./api/commits": {
|
|
49
|
+
"import": "./dist/api/commits.js",
|
|
50
|
+
"types": "./dist/api/commits.d.ts"
|
|
39
51
|
},
|
|
40
52
|
"./api/contents": {
|
|
41
53
|
"import": "./dist/api/contents.js",
|
|
@@ -49,14 +61,26 @@
|
|
|
49
61
|
"import": "./dist/api/forks.js",
|
|
50
62
|
"types": "./dist/api/forks.d.ts"
|
|
51
63
|
},
|
|
64
|
+
"./api/git": {
|
|
65
|
+
"import": "./dist/api/git.js",
|
|
66
|
+
"types": "./dist/api/git.d.ts"
|
|
67
|
+
},
|
|
52
68
|
"./api/issues": {
|
|
53
69
|
"import": "./dist/api/issues.js",
|
|
54
70
|
"types": "./dist/api/issues.d.ts"
|
|
55
71
|
},
|
|
72
|
+
"./api/organizations": {
|
|
73
|
+
"import": "./dist/api/organizations.js",
|
|
74
|
+
"types": "./dist/api/organizations.d.ts"
|
|
75
|
+
},
|
|
56
76
|
"./api/pulls": {
|
|
57
77
|
"import": "./dist/api/pulls.js",
|
|
58
78
|
"types": "./dist/api/pulls.d.ts"
|
|
59
79
|
},
|
|
80
|
+
"./api/releases": {
|
|
81
|
+
"import": "./dist/api/releases.js",
|
|
82
|
+
"types": "./dist/api/releases.d.ts"
|
|
83
|
+
},
|
|
60
84
|
"./api/repositories": {
|
|
61
85
|
"import": "./dist/api/repositories.js",
|
|
62
86
|
"types": "./dist/api/repositories.d.ts"
|
|
@@ -65,82 +89,49 @@
|
|
|
65
89
|
"import": "./dist/api/stars.js",
|
|
66
90
|
"types": "./dist/api/stars.d.ts"
|
|
67
91
|
},
|
|
92
|
+
"./api/teams": {
|
|
93
|
+
"import": "./dist/api/teams.js",
|
|
94
|
+
"types": "./dist/api/teams.d.ts"
|
|
95
|
+
},
|
|
68
96
|
"./api/users": {
|
|
69
97
|
"import": "./dist/api/users.js",
|
|
70
98
|
"types": "./dist/api/users.d.ts"
|
|
71
99
|
},
|
|
72
|
-
"./
|
|
73
|
-
"import": "./dist/
|
|
74
|
-
"types": "./dist/
|
|
75
|
-
},
|
|
76
|
-
"./api/branches": {
|
|
77
|
-
"import": "./dist/api/branches.js",
|
|
78
|
-
"types": "./dist/api/branches.d.ts"
|
|
79
|
-
},
|
|
80
|
-
"./api/collaborators": {
|
|
81
|
-
"import": "./dist/api/collaborators.js",
|
|
82
|
-
"types": "./dist/api/collaborators.d.ts"
|
|
83
|
-
},
|
|
84
|
-
"./api/commits": {
|
|
85
|
-
"import": "./dist/api/commits.js",
|
|
86
|
-
"types": "./dist/api/commits.d.ts"
|
|
87
|
-
},
|
|
88
|
-
"./api/git": {
|
|
89
|
-
"import": "./dist/api/git.js",
|
|
90
|
-
"types": "./dist/api/git.d.ts"
|
|
91
|
-
},
|
|
92
|
-
"./api/organizations": {
|
|
93
|
-
"import": "./dist/api/organizations.js",
|
|
94
|
-
"types": "./dist/api/organizations.d.ts"
|
|
95
|
-
},
|
|
96
|
-
"./api/releases": {
|
|
97
|
-
"import": "./dist/api/releases.js",
|
|
98
|
-
"types": "./dist/api/releases.d.ts"
|
|
100
|
+
"./client": {
|
|
101
|
+
"import": "./dist/client.js",
|
|
102
|
+
"types": "./dist/client.d.ts"
|
|
99
103
|
},
|
|
100
|
-
"./
|
|
101
|
-
"import": "./dist/
|
|
102
|
-
"types": "./dist/
|
|
104
|
+
"./enums": {
|
|
105
|
+
"import": "./dist/enums.js",
|
|
106
|
+
"types": "./dist/enums.d.ts"
|
|
103
107
|
},
|
|
104
108
|
"./errors": {
|
|
105
109
|
"import": "./dist/errors.js",
|
|
106
110
|
"types": "./dist/errors.d.ts"
|
|
111
|
+
},
|
|
112
|
+
"./types": {
|
|
113
|
+
"import": "./dist/types.js",
|
|
114
|
+
"types": "./dist/types.d.ts"
|
|
107
115
|
}
|
|
108
116
|
},
|
|
117
|
+
"main": "dist/index.js",
|
|
118
|
+
"types": "dist/index.d.ts",
|
|
109
119
|
"files": [
|
|
110
120
|
"dist"
|
|
111
121
|
],
|
|
112
|
-
"author": "Ivan Bobchenkov<me@bobchenkov.ru>",
|
|
113
122
|
"scripts": {
|
|
114
123
|
"build": "bun build.ts",
|
|
124
|
+
"dev": "bun build.ts --watch",
|
|
115
125
|
"test": "bun test",
|
|
116
126
|
"test:coverage": "bun test --coverage",
|
|
117
|
-
"prepublishOnly": "bun run build",
|
|
118
|
-
"lint": "biome check",
|
|
119
|
-
"lint:fix": "biome check --write",
|
|
120
127
|
"typecheck": "tsc --noEmit"
|
|
121
128
|
},
|
|
122
|
-
"license": "MIT",
|
|
123
|
-
"repository": {
|
|
124
|
-
"type": "git",
|
|
125
|
-
"url": "https://gitverse.ru/rainypixel/gitverse-sdk.git"
|
|
126
|
-
},
|
|
127
|
-
"bugs": {
|
|
128
|
-
"url": "https://gitverse.ru/rainypixel/gitverse-sdk/issues"
|
|
129
|
-
},
|
|
130
|
-
"homepage": "https://gitverse.ru/rainypixel/gitverse-sdk#readme",
|
|
131
129
|
"devDependencies": {
|
|
132
130
|
"@aryzing/bun-mock-fetch": "^1.1.0",
|
|
133
|
-
"@biomejs/biome": "^2.3.2",
|
|
134
|
-
"@semantic-release/changelog": "^6.0.3",
|
|
135
|
-
"@semantic-release/exec": "^7.1.0",
|
|
136
|
-
"@semantic-release/git": "^10.0.1",
|
|
137
131
|
"@types/bun": "1.3.0",
|
|
138
132
|
"bun-bagel": "^1.2.0",
|
|
139
133
|
"bun-dts": "^0.1.70",
|
|
140
134
|
"bun-plugin-dts": "^0.3.0",
|
|
141
|
-
"conventional-changelog-conventionalcommits": "^7.0.2",
|
|
142
|
-
"lefthook": "^2.0.2",
|
|
143
|
-
"semantic-release": "^22.0.12",
|
|
144
135
|
"typescript": "^5.9.3"
|
|
145
136
|
},
|
|
146
137
|
"publishConfig": {
|