gitverse-api-sdk 5.0.1 → 5.2.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 +112 -7
- package/dist/api/actions.d.ts +313 -520
- package/dist/api/actions.js +3 -3
- package/dist/api/actions.js.map +3 -3
- package/dist/api/emails.d.ts +41 -206
- package/dist/api/emails.js +2 -2
- package/dist/api/emails.js.map +1 -1
- package/dist/api/issues.d.ts +100 -480
- package/dist/api/issues.js +2 -2
- package/dist/api/issues.js.map +1 -1
- package/dist/api/organizations.d.ts +67 -228
- package/dist/api/organizations.js +2 -2
- package/dist/api/organizations.js.map +1 -1
- package/dist/api/pages.d.ts +35 -0
- package/dist/api/pages.js +4 -0
- package/dist/api/pages.js.map +10 -0
- package/dist/api/pulls.d.ts +75 -520
- package/dist/api/pulls.js +2 -2
- package/dist/api/pulls.js.map +1 -1
- package/dist/api/releases.d.ts +135 -384
- package/dist/api/releases.js +2 -2
- package/dist/api/releases.js.map +1 -1
- package/dist/api/repositories.d.ts +354 -1067
- package/dist/api/repositories.js +2 -2
- package/dist/api/repositories.js.map +3 -3
- package/dist/api/stars.d.ts +55 -272
- package/dist/api/stars.js +2 -2
- package/dist/api/stars.js.map +1 -1
- package/dist/api/teams.d.ts +51 -288
- package/dist/api/teams.js +2 -2
- package/dist/api/teams.js.map +1 -1
- package/dist/api/users.d.ts +52 -263
- package/dist/api/users.js +2 -2
- package/dist/api/users.js.map +1 -1
- package/dist/client.d.ts +118 -150
- package/dist/client.js +2 -2
- package/dist/client.js.map +1 -1
- package/dist/enums.d.ts +47 -48
- package/dist/enums.js +2 -2
- package/dist/enums.js.map +1 -1
- package/dist/errors.d.ts +39 -73
- package/dist/errors.js +2 -2
- package/dist/errors.js.map +1 -1
- package/dist/index.d.ts +54 -2373
- package/dist/index.js +2 -2
- package/dist/index.js.map +3 -3
- package/dist/types.d.ts +1028 -880
- package/dist/utils.d.ts +72 -61
- package/package.json +1 -3
package/dist/api/users.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
class z{client;constructor(j){this.client=j}list(j,v){let k=new URLSearchParams;if(j?.q!==void 0)k.append("q",j.q);if(j?.sort!==void 0)k.append("sort",j.sort);if(j?.order!==void 0)k.append("order",j.order);if(j?.page!==void 0)k.append("page",String(j.page));if(j?.per_page!==void 0)k.append("per_page",String(j.per_page));let w=k.toString(),x=`/search/users${w?`?${w}`:""}`;return this.client.get(x,v)}getAuthenticated(j){return this.client.get("/user",j)}get(j,v){return this.client.get(`/user/${j}`,v)}getByUsername(j,v){return this.client.get(`/users/${j}`,v)}}export{z as UsersApi};
|
|
2
|
-
export{z as
|
|
2
|
+
export{z as v};
|
|
3
3
|
|
|
4
|
-
//# debugId=
|
|
4
|
+
//# debugId=401BF54ADE638FB564756E2164756E21
|
package/dist/api/users.js.map
CHANGED
|
@@ -5,6 +5,6 @@
|
|
|
5
5
|
"import type { GitVerseClient } from \"../client\";\nimport type { User, UserPrefsArray } from \"../types\";\n\n/**\n * API для работы с пользователями\n */\nexport class UsersApi {\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 * Search users by query\n * @param queryParams Параметры запроса\n * @param options Опции запроса\n * @returns UserPrefsArray\n */\n list(\n queryParams?: { q: string; sort?: string; order?: string; page?: number; per_page?: number },\n options?: { signal?: AbortSignal },\n ): Promise<UserPrefsArray> {\n const searchParams = new URLSearchParams();\n if (queryParams?.q !== undefined) searchParams.append(\"q\", queryParams.q);\n if (queryParams?.sort !== undefined) searchParams.append(\"sort\", queryParams.sort);\n if (queryParams?.order !== undefined) searchParams.append(\"order\", queryParams.order);\n if (queryParams?.page !== undefined) searchParams.append(\"page\", String(queryParams.page));\n if (queryParams?.per_page !== undefined) searchParams.append(\"per_page\", String(queryParams.per_page));\n const queryString = searchParams.toString();\n const url = `/search/users${queryString ? `?${queryString}` : \"\"}`;\n return this.client.get<UserPrefsArray>(url, options);\n }\n\n /**\n * Get authenticated user information\n * @param options Опции запроса\n * @returns User\n */\n getAuthenticated(options?: { signal?: AbortSignal }): Promise<User> {\n return this.client.get<User>(\"/user\", options);\n }\n\n /**\n * Get user information by ID\n * @param account_id Account_id parameter\n * @param options Опции запроса\n * @returns User\n */\n get(account_id: number, options?: { signal?: AbortSignal }): Promise<User> {\n return this.client.get<User>(`/user/${account_id}`, options);\n }\n\n /**\n * Get user information by username\n * @param username User name\n * @param options Опции запроса\n * @returns User\n */\n getByUsername(username: string, options?: { signal?: AbortSignal }): Promise<User> {\n return this.client.get<User>(`/users/${username}`, options);\n }\n}\n"
|
|
6
6
|
],
|
|
7
7
|
"mappings": "AAMO,MAAM,CAAS,CACZ,OAMR,WAAW,CAAC,EAAwB,CAClC,KAAK,OAAS,EAShB,IAAI,CACF,EACA,EACyB,CACzB,IAAM,EAAe,IAAI,gBACzB,GAAI,GAAa,IAAM,OAAW,EAAa,OAAO,IAAK,EAAY,CAAC,EACxE,GAAI,GAAa,OAAS,OAAW,EAAa,OAAO,OAAQ,EAAY,IAAI,EACjF,GAAI,GAAa,QAAU,OAAW,EAAa,OAAO,QAAS,EAAY,KAAK,EACpF,GAAI,GAAa,OAAS,OAAW,EAAa,OAAO,OAAQ,OAAO,EAAY,IAAI,CAAC,EACzF,GAAI,GAAa,WAAa,OAAW,EAAa,OAAO,WAAY,OAAO,EAAY,QAAQ,CAAC,EACrG,IAAM,EAAc,EAAa,SAAS,EACpC,EAAM,gBAAgB,EAAc,IAAI,IAAgB,KAC9D,OAAO,KAAK,OAAO,IAAoB,EAAK,CAAO,EAQrD,gBAAgB,CAAC,EAAmD,CAClE,OAAO,KAAK,OAAO,IAAU,QAAS,CAAO,EAS/C,GAAG,CAAC,EAAoB,EAAmD,CACzE,OAAO,KAAK,OAAO,IAAU,SAAS,IAAc,CAAO,EAS7D,aAAa,CAAC,EAAkB,EAAmD,CACjF,OAAO,KAAK,OAAO,IAAU,UAAU,IAAY,CAAO,EAE9D",
|
|
8
|
-
"debugId": "
|
|
8
|
+
"debugId": "401BF54ADE638FB564756E2164756E21",
|
|
9
9
|
"names": []
|
|
10
10
|
}
|
package/dist/client.d.ts
CHANGED
|
@@ -1,155 +1,123 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
/**
|
|
10
|
-
* AbortSignal для отмены запроса
|
|
11
|
-
* @example
|
|
12
|
-
* const controller = new AbortController();
|
|
13
|
-
* const promise = client.users.getCurrent({ signal: controller.signal });
|
|
14
|
-
* controller.abort(); // Отменяет запрос
|
|
15
|
-
*/
|
|
16
|
-
signal?: AbortSignal;
|
|
17
|
-
}
|
|
18
|
-
/**
|
|
19
|
-
* Предупреждение об устаревшей версии API
|
|
20
|
-
*/
|
|
21
|
-
declare class ApiVersionWarning {
|
|
22
|
-
/** Текущая используемая версия */
|
|
23
|
-
readonly currentVersion: string;
|
|
24
|
-
/** Последняя доступная версия */
|
|
25
|
-
readonly latestVersion: string;
|
|
26
|
-
/** Дата вывода из эксплуатации */
|
|
27
|
-
readonly decommissioning?: string;
|
|
28
|
-
constructor(currentVersion: string, latestVersion: string, decommissioning?: string);
|
|
29
|
-
/**
|
|
30
|
-
* Возвращает сообщение о предупреждении
|
|
31
|
-
*/
|
|
32
|
-
getMessage(): string;
|
|
33
|
-
}
|
|
34
|
-
declare const HTTPMethods: {
|
|
35
|
-
readonly DELETE: "DELETE"
|
|
36
|
-
readonly GET: "GET"
|
|
37
|
-
readonly PATCH: "PATCH"
|
|
38
|
-
readonly POST: "POST"
|
|
39
|
-
readonly PUT: "PUT"
|
|
1
|
+
import { ApiVersionWarning } from "./errors";
|
|
2
|
+
import type { RequestOptions } from "./types";
|
|
3
|
+
export declare const HTTPMethods: {
|
|
4
|
+
readonly DELETE: "DELETE";
|
|
5
|
+
readonly GET: "GET";
|
|
6
|
+
readonly PATCH: "PATCH";
|
|
7
|
+
readonly POST: "POST";
|
|
8
|
+
readonly PUT: "PUT";
|
|
40
9
|
};
|
|
41
|
-
type HTTPMethods = (typeof HTTPMethods)[keyof typeof HTTPMethods];
|
|
10
|
+
export type HTTPMethods = (typeof HTTPMethods)[keyof typeof HTTPMethods];
|
|
42
11
|
/**
|
|
43
|
-
* Параметры для конфигурации GitVerse клиента
|
|
44
|
-
*/
|
|
45
|
-
interface GitVerseClientConfig {
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
12
|
+
* Параметры для конфигурации GitVerse клиента
|
|
13
|
+
*/
|
|
14
|
+
export interface GitVerseClientConfig {
|
|
15
|
+
/**
|
|
16
|
+
* Базовый URL API GitVerse
|
|
17
|
+
* @default 'https://api.gitverse.ru'
|
|
18
|
+
*/
|
|
19
|
+
baseUrl?: string;
|
|
20
|
+
/**
|
|
21
|
+
* Токен доступа для авторизации в API
|
|
22
|
+
*/
|
|
23
|
+
token?: string;
|
|
24
|
+
/**
|
|
25
|
+
* Версия API
|
|
26
|
+
* @default '1'
|
|
27
|
+
*/
|
|
28
|
+
apiVersion?: string;
|
|
60
29
|
}
|
|
61
30
|
/**
|
|
62
|
-
* Основной класс для работы с GitVerse API
|
|
63
|
-
*/
|
|
64
|
-
declare class GitVerseClient {
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
31
|
+
* Основной класс для работы с GitVerse API
|
|
32
|
+
*/
|
|
33
|
+
export declare class GitVerseClient {
|
|
34
|
+
private baseUrl;
|
|
35
|
+
private token?;
|
|
36
|
+
private apiVersion;
|
|
37
|
+
/**
|
|
38
|
+
* Callback для обработки предупреждений об устаревшей версии API
|
|
39
|
+
*/
|
|
40
|
+
onApiVersionWarning?: (warning: ApiVersionWarning) => void;
|
|
41
|
+
/**
|
|
42
|
+
* Создает новый экземпляр GitVerse клиента
|
|
43
|
+
* @param config Конфигурация клиента
|
|
44
|
+
*/
|
|
45
|
+
constructor(config?: GitVerseClientConfig);
|
|
46
|
+
/**
|
|
47
|
+
* Устанавливает токен авторизации
|
|
48
|
+
* @param token Токен доступа
|
|
49
|
+
*/
|
|
50
|
+
setToken(token: string): void;
|
|
51
|
+
/**
|
|
52
|
+
* Извлекает информацию о Rate Limit из заголовков ответа
|
|
53
|
+
*/
|
|
54
|
+
private extractRateLimitInfo;
|
|
55
|
+
/**
|
|
56
|
+
* Извлекает информацию о версии API из заголовков ответа
|
|
57
|
+
*/
|
|
58
|
+
private extractApiVersionInfo;
|
|
59
|
+
/**
|
|
60
|
+
* Извлекает метаданные из заголовков ответа
|
|
61
|
+
*/
|
|
62
|
+
private extractMetadata;
|
|
63
|
+
/**
|
|
64
|
+
* Выполняет API-запрос с учетом авторизации и версии API
|
|
65
|
+
* @param path Путь к API-ресурсу
|
|
66
|
+
* @param method HTTP-метод
|
|
67
|
+
* @param body Тело запроса (опционально)
|
|
68
|
+
* @param options Опции запроса (опционально)
|
|
69
|
+
* @returns Ответ от API
|
|
70
|
+
* @throws {RateLimitError} При превышении лимита запросов (429)
|
|
71
|
+
* @throws {GitVerseApiError} При других ошибках API
|
|
72
|
+
*/
|
|
73
|
+
request<T>(path: string, method: HTTPMethods, body?: unknown, options?: RequestOptions): Promise<T>;
|
|
74
|
+
/**
|
|
75
|
+
* Выполняет GET-запрос
|
|
76
|
+
* @param path Путь к API-ресурсу
|
|
77
|
+
* @param options Опции запроса (опционально)
|
|
78
|
+
* @returns Ответ от API
|
|
79
|
+
*/
|
|
80
|
+
get<T>(path: string, options?: RequestOptions): Promise<T>;
|
|
81
|
+
/**
|
|
82
|
+
* Выполняет POST-запрос
|
|
83
|
+
* @param path Путь к API-ресурсу
|
|
84
|
+
* @param body Тело запроса
|
|
85
|
+
* @param options Опции запроса (опционально)
|
|
86
|
+
* @returns Ответ от API
|
|
87
|
+
*/
|
|
88
|
+
post<T>(path: string, body?: unknown, options?: RequestOptions): Promise<T>;
|
|
89
|
+
/**
|
|
90
|
+
* Выполняет PUT-запрос
|
|
91
|
+
* @param path Путь к API-ресурсу
|
|
92
|
+
* @param body Тело запроса
|
|
93
|
+
* @param options Опции запроса (опционально)
|
|
94
|
+
* @returns Ответ от API
|
|
95
|
+
*/
|
|
96
|
+
put<T>(path: string, body?: unknown, options?: RequestOptions): Promise<T>;
|
|
97
|
+
/**
|
|
98
|
+
* Выполняет DELETE-запрос
|
|
99
|
+
* @param path Путь к API-ресурсу
|
|
100
|
+
* @param body Тело запроса (опционально)
|
|
101
|
+
* @param options Опции запроса (опционально)
|
|
102
|
+
* @returns Ответ от API
|
|
103
|
+
*/
|
|
104
|
+
delete<T>(path: string, body?: unknown, options?: RequestOptions): Promise<T>;
|
|
105
|
+
/**
|
|
106
|
+
* Выполняет PATCH-запрос
|
|
107
|
+
* @param path Путь к API-ресурсу
|
|
108
|
+
* @param body Тело запроса
|
|
109
|
+
* @param options Опции запроса (опционально)
|
|
110
|
+
* @returns Ответ от API
|
|
111
|
+
*/
|
|
112
|
+
patch<T>(path: string, body?: unknown, options?: RequestOptions): Promise<T>;
|
|
113
|
+
/**
|
|
114
|
+
* Выполняет загрузку файла через multipart/form-data
|
|
115
|
+
* @param path Путь к API-ресурсу
|
|
116
|
+
* @param fieldName Имя поля для файла
|
|
117
|
+
* @param file Файл для загрузки (Blob или ArrayBuffer)
|
|
118
|
+
* @param fileName Имя файла
|
|
119
|
+
* @param options Опции запроса (опционально)
|
|
120
|
+
* @returns Ответ от API
|
|
121
|
+
*/
|
|
122
|
+
uploadFile<T>(path: string, fieldName: string, file: Blob | ArrayBuffer, fileName: string, options?: RequestOptions): Promise<T>;
|
|
154
123
|
}
|
|
155
|
-
export { HTTPMethods, GitVerseClientConfig, GitVerseClient };
|
package/dist/client.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{s as $,t as w,u as k}from"./errors.js";var Z={DELETE:"DELETE",GET:"GET",PATCH:"PATCH",POST:"POST",PUT:"PUT"};class v{baseUrl;token;apiVersion;onApiVersionWarning;constructor(j={}){this.baseUrl=j.baseUrl||"https://api.gitverse.ru",this.token=j.token,this.apiVersion=j.apiVersion||"1"}setToken(j){this.token=j}extractRateLimitInfo(j){let x=j.get("GitVerse-RateLimit-Limit"),q=j.get("GitVerse-RateLimit-User-Remaining")||j.get("GitVerse-RateLimit-Remaining"),z=j.get("GitVerse-RateLimit-Retry-After"),F=j.get("Gitverse-Ratelimit-Reset");if(!(x&&z))return;let U=Number.parseInt(z,10),J=F?Number.parseInt(F,10):Math.floor(Date.now()/1000)+U,K=q?Number.parseInt(q,10):0;return{limit:Number.parseInt(x,10),remaining:K,reset:J,retryAfter:U}}extractApiVersionInfo(j){let x=j.get("Gitverse-Api-Version"),q=j.get("Gitverse-Api-Latest-Version"),z=j.get("Gitverse-Api-Deprecation")==="true",F=j.get("Gitverse-Api-Decommissioning");if(!(x&&q))return;return{decommissioning:F||void 0,deprecated:z,latestVersion:q,version:x}}extractMetadata(j){let x=this.extractRateLimitInfo(j),q=this.extractApiVersionInfo(j);if(q?.deprecated&&this.onApiVersionWarning){let z=new k(q.version,q.latestVersion,q.decommissioning);this.onApiVersionWarning(z)}return{apiVersion:q,rateLimit:x}}async request(j,x,q,z){let F=j.startsWith("/")?j.slice(1):j,U=`${this.baseUrl}/${F}`,J=new Headers;if(J.set("Content-Type","application/json"),J.set("Accept",`application/vnd.gitverse.object+json; version=${this.apiVersion}`),this.token)J.set("Authorization",`Bearer ${this.token}`);let K={body:q?JSON.stringify(q):void 0,headers:J,method:x,signal:z?.signal},C=await fetch(U,K),X=this.extractMetadata(C.headers),Y;try{Y=await C.json()}catch{Y=void 0}if(!C.ok){let S=Y?.message||C.statusText;if(C.status===429&&X.rateLimit)throw new w(S||"Превышен лимит запросов. Попробуйте позже.",X.rateLimit,X);throw new $(C.status,S,X)}return Y}get(j,x){return this.request(j,Z.GET,void 0,x)}post(j,x,q){return this.request(j,Z.POST,x,q)}put(j,x,q){return this.request(j,Z.PUT,x,q)}delete(j,x,q){return this.request(j,Z.DELETE,x,q)}patch(j,x,q){return this.request(j,Z.PATCH,x,q)}async uploadFile(j,x,q,z,F){let U=j.startsWith("/")?j.slice(1):j,J=`${this.baseUrl}/${U}`,K=new Headers;if(K.set("Accept",`application/vnd.gitverse.object+json; version=${this.apiVersion}`),this.token)K.set("Authorization",`Bearer ${this.token}`);let C=new FormData,X=q instanceof ArrayBuffer?new Blob([q]):q;C.append(x,X,z);let Y={body:C,headers:K,method:Z.POST,signal:F?.signal},Q=await fetch(J,Y),S=this.extractMetadata(Q.headers),_;try{_=await Q.json()}catch{_=void 0}if(!Q.ok){let W=_?.message||Q.statusText;if(Q.status===429&&S.rateLimit)throw new w(W||"Превышен лимит запросов. Попробуйте позже.",S.rateLimit,S);throw new $(Q.status,W,S)}return _}}export{Z as HTTPMethods,v as GitVerseClient};
|
|
2
2
|
export{v as a};
|
|
3
3
|
|
|
4
|
-
//# debugId=
|
|
4
|
+
//# debugId=50A1FE874597590864756E2164756E21
|
package/dist/client.js.map
CHANGED
|
@@ -5,6 +5,6 @@
|
|
|
5
5
|
"import { ApiVersionWarning, GitVerseApiError, RateLimitError } from \"./errors\";\nimport type { ApiError, ApiResponseMetadata, ApiVersionInfo, RateLimitInfo, RequestOptions } 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-User-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 && retryAfter)) {\n return;\n }\n\n const retryAfterNum = Number.parseInt(retryAfter, 10);\n const resetNum = reset ? Number.parseInt(reset, 10) : Math.floor(Date.now() / 1000) + retryAfterNum;\n const remainingNum = remaining ? Number.parseInt(remaining, 10) : 0;\n\n return {\n limit: Number.parseInt(limit, 10),\n remaining: remainingNum,\n reset: resetNum,\n retryAfter: retryAfterNum,\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 * @param options Опции запроса (опционально)\n * @returns Ответ от API\n * @throws {RateLimitError} При превышении лимита запросов (429)\n * @throws {GitVerseApiError} При других ошибках API\n */\n async request<T>(path: string, method: HTTPMethods, body?: unknown, options?: RequestOptions): 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 fetchOptions: RequestInit = {\n body: body ? JSON.stringify(body) : undefined,\n headers,\n method,\n signal: options?.signal,\n };\n\n const response = await fetch(url, fetchOptions);\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 * @param options Опции запроса (опционально)\n * @returns Ответ от API\n */\n get<T>(path: string, options?: RequestOptions): Promise<T> {\n return this.request<T>(path, HTTPMethods.GET, undefined, options);\n }\n\n /**\n * Выполняет POST-запрос\n * @param path Путь к API-ресурсу\n * @param body Тело запроса\n * @param options Опции запроса (опционально)\n * @returns Ответ от API\n */\n post<T>(path: string, body?: unknown, options?: RequestOptions): Promise<T> {\n return this.request<T>(path, HTTPMethods.POST, body, options);\n }\n\n /**\n * Выполняет PUT-запрос\n * @param path Путь к API-ресурсу\n * @param body Тело запроса\n * @param options Опции запроса (опционально)\n * @returns Ответ от API\n */\n put<T>(path: string, body?: unknown, options?: RequestOptions): Promise<T> {\n return this.request<T>(path, HTTPMethods.PUT, body, options);\n }\n\n /**\n * Выполняет DELETE-запрос\n * @param path Путь к API-ресурсу\n * @param body Тело запроса (опционально)\n * @param options Опции запроса (опционально)\n * @returns Ответ от API\n */\n delete<T>(path: string, body?: unknown, options?: RequestOptions): Promise<T> {\n return this.request<T>(path, HTTPMethods.DELETE, body, options);\n }\n\n /**\n * Выполняет PATCH-запрос\n * @param path Путь к API-ресурсу\n * @param body Тело запроса\n * @param options Опции запроса (опционально)\n * @returns Ответ от API\n */\n patch<T>(path: string, body?: unknown, options?: RequestOptions): Promise<T> {\n return this.request<T>(path, HTTPMethods.PATCH, body, options);\n }\n\n /**\n * Выполняет загрузку файла через multipart/form-data\n * @param path Путь к API-ресурсу\n * @param fieldName Имя поля для файла\n * @param file Файл для загрузки (Blob или ArrayBuffer)\n * @param fileName Имя файла\n * @param options Опции запроса (опционально)\n * @returns Ответ от API\n */\n async uploadFile<T>(\n path: string,\n fieldName: string,\n file: Blob | ArrayBuffer,\n fileName: string,\n options?: RequestOptions,\n ): Promise<T> {\n const cleanPath = path.startsWith(\"/\") ? path.slice(1) : path;\n const url = `${this.baseUrl}/${cleanPath}`;\n\n const headers = new Headers();\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 formData = new FormData();\n const blob = file instanceof ArrayBuffer ? new Blob([file]) : file;\n formData.append(fieldName, blob, fileName);\n\n const fetchOptions: RequestInit = {\n body: formData,\n headers,\n method: HTTPMethods.POST,\n signal: options?.signal,\n };\n\n const response = await fetch(url, fetchOptions);\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 if (response.status === 429 && metadata.rateLimit) {\n throw new RateLimitError(\n errorMessage || \"Превышен лимит запросов. Попробуйте позже.\",\n metadata.rateLimit,\n metadata,\n );\n }\n\n throw new GitVerseApiError(response.status, errorMessage, metadata);\n }\n\n return data as T;\n }\n}\n"
|
|
6
6
|
],
|
|
7
7
|
"mappings": "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",
|
|
8
|
-
"debugId": "
|
|
8
|
+
"debugId": "50A1FE874597590864756E2164756E21",
|
|
9
9
|
"names": []
|
|
10
10
|
}
|
package/dist/enums.d.ts
CHANGED
|
@@ -1,49 +1,48 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Перечисления для GitVerse API
|
|
3
|
-
* @generated Сгенерировано автоматически из OpenAPI спецификации
|
|
4
|
-
*/
|
|
5
|
-
declare const ContentType: {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
};
|
|
9
|
-
type ContentType = (typeof ContentType)[keyof typeof ContentType];
|
|
10
|
-
declare const IssueState: {
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
};
|
|
14
|
-
type IssueState = (typeof IssueState)[keyof typeof IssueState];
|
|
15
|
-
declare const PullRequestSortCriteria: {
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
};
|
|
21
|
-
type PullRequestSortCriteria = (typeof PullRequestSortCriteria)[keyof typeof PullRequestSortCriteria];
|
|
22
|
-
declare const PullRequestSortDirection: {
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
};
|
|
26
|
-
type PullRequestSortDirection = (typeof PullRequestSortDirection)[keyof typeof PullRequestSortDirection];
|
|
27
|
-
declare const PullRequestState: {
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
};
|
|
31
|
-
type PullRequestState = (typeof PullRequestState)[keyof typeof PullRequestState];
|
|
32
|
-
declare const PullRequestStateFilter: {
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
};
|
|
37
|
-
type PullRequestStateFilter = (typeof PullRequestStateFilter)[keyof typeof PullRequestStateFilter];
|
|
38
|
-
declare const UserType: {
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
};
|
|
42
|
-
type UserType = (typeof UserType)[keyof typeof UserType];
|
|
43
|
-
declare const VisibilityType: {
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
};
|
|
48
|
-
type VisibilityType = (typeof VisibilityType)[keyof typeof VisibilityType];
|
|
49
|
-
export { VisibilityType, UserType, PullRequestStateFilter, PullRequestState, PullRequestSortDirection, PullRequestSortCriteria, IssueState, ContentType };
|
|
2
|
+
* Перечисления для GitVerse API
|
|
3
|
+
* @generated Сгенерировано автоматически из OpenAPI спецификации
|
|
4
|
+
*/
|
|
5
|
+
export declare const ContentType: {
|
|
6
|
+
readonly Dir: "dir";
|
|
7
|
+
readonly File: "file";
|
|
8
|
+
};
|
|
9
|
+
export type ContentType = (typeof ContentType)[keyof typeof ContentType];
|
|
10
|
+
export declare const IssueState: {
|
|
11
|
+
readonly Closed: "closed";
|
|
12
|
+
readonly Open: "open";
|
|
13
|
+
};
|
|
14
|
+
export type IssueState = (typeof IssueState)[keyof typeof IssueState];
|
|
15
|
+
export declare const PullRequestSortCriteria: {
|
|
16
|
+
readonly Created: "created";
|
|
17
|
+
readonly LongRunning: "long-running";
|
|
18
|
+
readonly Popularity: "popularity";
|
|
19
|
+
readonly Updated: "updated";
|
|
20
|
+
};
|
|
21
|
+
export type PullRequestSortCriteria = (typeof PullRequestSortCriteria)[keyof typeof PullRequestSortCriteria];
|
|
22
|
+
export declare const PullRequestSortDirection: {
|
|
23
|
+
readonly Asc: "asc";
|
|
24
|
+
readonly Desc: "desc";
|
|
25
|
+
};
|
|
26
|
+
export type PullRequestSortDirection = (typeof PullRequestSortDirection)[keyof typeof PullRequestSortDirection];
|
|
27
|
+
export declare const PullRequestState: {
|
|
28
|
+
readonly Closed: "closed";
|
|
29
|
+
readonly Open: "open";
|
|
30
|
+
};
|
|
31
|
+
export type PullRequestState = (typeof PullRequestState)[keyof typeof PullRequestState];
|
|
32
|
+
export declare const PullRequestStateFilter: {
|
|
33
|
+
readonly All: "all";
|
|
34
|
+
readonly Closed: "closed";
|
|
35
|
+
readonly Open: "open";
|
|
36
|
+
};
|
|
37
|
+
export type PullRequestStateFilter = (typeof PullRequestStateFilter)[keyof typeof PullRequestStateFilter];
|
|
38
|
+
export declare const UserType: {
|
|
39
|
+
readonly Organization: "Organization";
|
|
40
|
+
readonly User: "User";
|
|
41
|
+
};
|
|
42
|
+
export type UserType = (typeof UserType)[keyof typeof UserType];
|
|
43
|
+
export declare const VisibilityType: {
|
|
44
|
+
readonly Limited: "limited";
|
|
45
|
+
readonly Private: "private";
|
|
46
|
+
readonly Public: "public";
|
|
47
|
+
};
|
|
48
|
+
export type VisibilityType = (typeof VisibilityType)[keyof typeof VisibilityType];
|
package/dist/enums.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
var e={Dir:"dir",File:"file"},t={Closed:"closed",Open:"open"},o={Created:"created",LongRunning:"long-running",Popularity:"popularity",Updated:"updated"},s={Asc:"asc",Desc:"desc"},p={Closed:"closed",Open:"open"},r={All:"all",Closed:"closed",Open:"open"},l={Organization:"Organization",User:"User"},i={Limited:"limited",Private:"private",Public:"public"};export{i as VisibilityType,l as UserType,r as PullRequestStateFilter,p as PullRequestState,s as PullRequestSortDirection,o as PullRequestSortCriteria,t as IssueState,e as ContentType};
|
|
2
|
-
export{e as
|
|
2
|
+
export{e as k,t as l,o as m,s as n,p as o,r as p,l as q,i as r};
|
|
3
3
|
|
|
4
|
-
//# debugId=
|
|
4
|
+
//# debugId=87CCA4E7586AF5B064756E2164756E21
|
package/dist/enums.js.map
CHANGED
|
@@ -5,6 +5,6 @@
|
|
|
5
5
|
"/**\n * Перечисления для GitVerse API\n * @generated Сгенерировано автоматически из OpenAPI спецификации\n */\n\nexport const ContentType = {\n Dir: \"dir\",\n File: \"file\",\n} as const;\n\nexport type ContentType = (typeof ContentType)[keyof typeof ContentType];\n\nexport const IssueState = {\n Closed: \"closed\",\n Open: \"open\",\n} as const;\n\nexport type IssueState = (typeof IssueState)[keyof typeof IssueState];\n\nexport const PullRequestSortCriteria = {\n Created: \"created\",\n LongRunning: \"long-running\",\n Popularity: \"popularity\",\n Updated: \"updated\",\n} as const;\n\nexport type PullRequestSortCriteria = (typeof PullRequestSortCriteria)[keyof typeof PullRequestSortCriteria];\n\nexport const PullRequestSortDirection = {\n Asc: \"asc\",\n Desc: \"desc\",\n} as const;\n\nexport type PullRequestSortDirection = (typeof PullRequestSortDirection)[keyof typeof PullRequestSortDirection];\n\nexport const PullRequestState = {\n Closed: \"closed\",\n Open: \"open\",\n} as const;\n\nexport type PullRequestState = (typeof PullRequestState)[keyof typeof PullRequestState];\n\nexport const PullRequestStateFilter = {\n All: \"all\",\n Closed: \"closed\",\n Open: \"open\",\n} as const;\n\nexport type PullRequestStateFilter = (typeof PullRequestStateFilter)[keyof typeof PullRequestStateFilter];\n\nexport const UserType = {\n Organization: \"Organization\",\n User: \"User\",\n} as const;\n\nexport type UserType = (typeof UserType)[keyof typeof UserType];\n\nexport const VisibilityType = {\n Limited: \"limited\",\n Private: \"private\",\n Public: \"public\",\n} as const;\n\nexport type VisibilityType = (typeof VisibilityType)[keyof typeof VisibilityType];\n"
|
|
6
6
|
],
|
|
7
7
|
"mappings": "AAKO,IAAM,EAAc,CACzB,IAAK,MACL,KAAM,MACR,EAIa,EAAa,CACxB,OAAQ,SACR,KAAM,MACR,EAIa,EAA0B,CACrC,QAAS,UACT,YAAa,eACb,WAAY,aACZ,QAAS,SACX,EAIa,EAA2B,CACtC,IAAK,MACL,KAAM,MACR,EAIa,EAAmB,CAC9B,OAAQ,SACR,KAAM,MACR,EAIa,EAAyB,CACpC,IAAK,MACL,OAAQ,SACR,KAAM,MACR,EAIa,EAAW,CACtB,aAAc,eACd,KAAM,MACR,EAIa,EAAiB,CAC5B,QAAS,UACT,QAAS,UACT,OAAQ,QACV",
|
|
8
|
-
"debugId": "
|
|
8
|
+
"debugId": "87CCA4E7586AF5B064756E2164756E21",
|
|
9
9
|
"names": []
|
|
10
10
|
}
|
package/dist/errors.d.ts
CHANGED
|
@@ -1,80 +1,46 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
3
|
-
*/
|
|
4
|
-
|
|
5
|
-
/** Максимальное количество запросов */
|
|
6
|
-
limit: number;
|
|
7
|
-
/** Оставшееся количество запросов */
|
|
8
|
-
remaining: number;
|
|
9
|
-
/** Unix timestamp сброса лимита */
|
|
10
|
-
reset: number;
|
|
11
|
-
/** Секунд до сброса лимита */
|
|
12
|
-
retryAfter: number;
|
|
13
|
-
}
|
|
14
|
-
/**
|
|
15
|
-
* Информация о версии API
|
|
16
|
-
*/
|
|
17
|
-
interface ApiVersionInfo {
|
|
18
|
-
/** Текущая используемая версия */
|
|
19
|
-
version: string;
|
|
20
|
-
/** Последняя доступная версия */
|
|
21
|
-
latestVersion: string;
|
|
22
|
-
/** Версия помечена как устаревшая */
|
|
23
|
-
deprecated: boolean;
|
|
24
|
-
/** Дата вывода из эксплуатации */
|
|
25
|
-
decommissioning?: string;
|
|
26
|
-
}
|
|
27
|
-
/**
|
|
28
|
-
* Метаданные ответа API
|
|
29
|
-
*/
|
|
30
|
-
interface ApiResponseMetadata {
|
|
31
|
-
/** Уникальный идентификатор запроса */
|
|
32
|
-
requestId?: string;
|
|
33
|
-
/** Информация о лимитах */
|
|
34
|
-
rateLimit?: RateLimitInfo;
|
|
35
|
-
/** Информация о версии API */
|
|
36
|
-
apiVersion?: ApiVersionInfo;
|
|
37
|
-
}
|
|
2
|
+
* Классы ошибок для GitVerse API
|
|
3
|
+
*/
|
|
4
|
+
import type { ApiResponseMetadata, RateLimitInfo } from "./types";
|
|
38
5
|
/**
|
|
39
|
-
* Базовая ошибка GitVerse API
|
|
40
|
-
*/
|
|
41
|
-
declare class GitVerseApiError extends Error {
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
6
|
+
* Базовая ошибка GitVerse API
|
|
7
|
+
*/
|
|
8
|
+
export declare class GitVerseApiError extends Error {
|
|
9
|
+
/** HTTP статус код */
|
|
10
|
+
readonly status: number;
|
|
11
|
+
/** Метаданные ответа API */
|
|
12
|
+
readonly metadata?: ApiResponseMetadata;
|
|
13
|
+
constructor(status: number, message: string, metadata?: ApiResponseMetadata);
|
|
47
14
|
}
|
|
48
15
|
/**
|
|
49
|
-
* Ошибка превышения лимита запросов (429 Too Many Requests)
|
|
50
|
-
*/
|
|
51
|
-
declare class RateLimitError extends GitVerseApiError {
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
16
|
+
* Ошибка превышения лимита запросов (429 Too Many Requests)
|
|
17
|
+
*/
|
|
18
|
+
export declare class RateLimitError extends GitVerseApiError {
|
|
19
|
+
/** Информация о лимитах */
|
|
20
|
+
readonly rateLimit: RateLimitInfo;
|
|
21
|
+
constructor(message: string, rateLimit: RateLimitInfo, metadata?: ApiResponseMetadata);
|
|
22
|
+
/**
|
|
23
|
+
* Возвращает количество секунд до сброса лимита
|
|
24
|
+
*/
|
|
25
|
+
getRetryAfterSeconds(): number;
|
|
26
|
+
/**
|
|
27
|
+
* Возвращает дату/время сброса лимита
|
|
28
|
+
*/
|
|
29
|
+
getResetDate(): Date;
|
|
63
30
|
}
|
|
64
31
|
/**
|
|
65
|
-
* Предупреждение об устаревшей версии API
|
|
66
|
-
*/
|
|
67
|
-
declare class ApiVersionWarning {
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
32
|
+
* Предупреждение об устаревшей версии API
|
|
33
|
+
*/
|
|
34
|
+
export declare class ApiVersionWarning {
|
|
35
|
+
/** Текущая используемая версия */
|
|
36
|
+
readonly currentVersion: string;
|
|
37
|
+
/** Последняя доступная версия */
|
|
38
|
+
readonly latestVersion: string;
|
|
39
|
+
/** Дата вывода из эксплуатации */
|
|
40
|
+
readonly decommissioning?: string;
|
|
41
|
+
constructor(currentVersion: string, latestVersion: string, decommissioning?: string);
|
|
42
|
+
/**
|
|
43
|
+
* Возвращает сообщение о предупреждении
|
|
44
|
+
*/
|
|
45
|
+
getMessage(): string;
|
|
79
46
|
}
|
|
80
|
-
export { RateLimitError, GitVerseApiError, ApiVersionWarning };
|
package/dist/errors.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
class j extends Error{status;metadata;constructor(b,f,h){super(f);this.name="GitVerseApiError",this.status=b,this.metadata=h,Object.setPrototypeOf(this,j.prototype)}}class k extends j{rateLimit;constructor(b,f,h){super(429,b,h);this.name="RateLimitError",this.rateLimit=f,Object.setPrototypeOf(this,k.prototype)}getRetryAfterSeconds(){return this.rateLimit.retryAfter}getResetDate(){return new Date(this.rateLimit.reset*1000)}}class q{currentVersion;latestVersion;decommissioning;constructor(b,f,h){this.currentVersion=b,this.latestVersion=f,this.decommissioning=h}getMessage(){let b=`Используется устаревшая версия API: ${this.currentVersion}. Последняя версия: ${this.latestVersion}.`;if(this.decommissioning)b+=` Версия будет выведена из эксплуатации: ${this.decommissioning}.`;return b}}export{k as RateLimitError,j as GitVerseApiError,q as ApiVersionWarning};
|
|
2
|
-
export{j as
|
|
2
|
+
export{j as s,k as t,q as u};
|
|
3
3
|
|
|
4
|
-
//# debugId=
|
|
4
|
+
//# debugId=27E0A51FC444958B64756E2164756E21
|
package/dist/errors.js.map
CHANGED
|
@@ -5,6 +5,6 @@
|
|
|
5
5
|
"/**\n * Классы ошибок для GitVerse API\n */\n\nimport type { ApiResponseMetadata, RateLimitInfo } from \"./types\";\n\n/**\n * Базовая ошибка GitVerse API\n */\nexport class GitVerseApiError extends Error {\n /** HTTP статус код */\n public readonly status: number;\n /** Метаданные ответа API */\n public readonly metadata?: ApiResponseMetadata;\n\n constructor(status: number, message: string, metadata?: ApiResponseMetadata) {\n super(message);\n this.name = \"GitVerseApiError\";\n this.status = status;\n this.metadata = metadata;\n\n // Поддержка instanceof для расширенных классов ошибок\n Object.setPrototypeOf(this, GitVerseApiError.prototype);\n }\n}\n\n/**\n * Ошибка превышения лимита запросов (429 Too Many Requests)\n */\nexport class RateLimitError extends GitVerseApiError {\n /** Информация о лимитах */\n public readonly rateLimit: RateLimitInfo;\n\n constructor(message: string, rateLimit: RateLimitInfo, metadata?: ApiResponseMetadata) {\n super(429, message, metadata);\n this.name = \"RateLimitError\";\n this.rateLimit = rateLimit;\n\n Object.setPrototypeOf(this, RateLimitError.prototype);\n }\n\n /**\n * Возвращает количество секунд до сброса лимита\n */\n getRetryAfterSeconds(): number {\n return this.rateLimit.retryAfter;\n }\n\n /**\n * Возвращает дату/время сброса лимита\n */\n getResetDate(): Date {\n return new Date(this.rateLimit.reset * 1000);\n }\n}\n\n/**\n * Предупреждение об устаревшей версии API\n */\nexport class ApiVersionWarning {\n /** Текущая используемая версия */\n public readonly currentVersion: string;\n /** Последняя доступная версия */\n public readonly latestVersion: string;\n /** Дата вывода из эксплуатации */\n public readonly decommissioning?: string;\n\n constructor(currentVersion: string, latestVersion: string, decommissioning?: string) {\n this.currentVersion = currentVersion;\n this.latestVersion = latestVersion;\n this.decommissioning = decommissioning;\n }\n\n /**\n * Возвращает сообщение о предупреждении\n */\n getMessage(): string {\n let message = `Используется устаревшая версия API: ${this.currentVersion}. Последняя версия: ${this.latestVersion}.`;\n if (this.decommissioning) {\n message += ` Версия будет выведена из эксплуатации: ${this.decommissioning}.`;\n }\n return message;\n }\n}\n"
|
|
6
6
|
],
|
|
7
7
|
"mappings": "AASO,MAAM,UAAyB,KAAM,CAE1B,OAEA,SAEhB,WAAW,CAAC,EAAgB,EAAiB,EAAgC,CAC3E,MAAM,CAAO,EACb,KAAK,KAAO,mBACZ,KAAK,OAAS,EACd,KAAK,SAAW,EAGhB,OAAO,eAAe,KAAM,EAAiB,SAAS,EAE1D,CAKO,MAAM,UAAuB,CAAiB,CAEnC,UAEhB,WAAW,CAAC,EAAiB,EAA0B,EAAgC,CACrF,MAAM,IAAK,EAAS,CAAQ,EAC5B,KAAK,KAAO,iBACZ,KAAK,UAAY,EAEjB,OAAO,eAAe,KAAM,EAAe,SAAS,EAMtD,oBAAoB,EAAW,CAC7B,OAAO,KAAK,UAAU,WAMxB,YAAY,EAAS,CACnB,OAAO,IAAI,KAAK,KAAK,UAAU,MAAQ,IAAI,EAE/C,CAKO,MAAM,CAAkB,CAEb,eAEA,cAEA,gBAEhB,WAAW,CAAC,EAAwB,EAAuB,EAA0B,CACnF,KAAK,eAAiB,EACtB,KAAK,cAAgB,EACrB,KAAK,gBAAkB,EAMzB,UAAU,EAAW,CACnB,IAAI,EAAU,uCAAsC,KAAK,qCAAqC,KAAK,iBACnG,GAAI,KAAK,gBACP,GAAW,2CAA0C,KAAK,mBAE5D,OAAO,EAEX",
|
|
8
|
-
"debugId": "
|
|
8
|
+
"debugId": "27E0A51FC444958B64756E2164756E21",
|
|
9
9
|
"names": []
|
|
10
10
|
}
|