gitverse-api-sdk 3.0.0 → 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 +6 -2
- 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/index.d.ts +8 -0
- package/package.json +1 -1
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 методов)
|
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/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