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.
Files changed (65) hide show
  1. package/README.md +106 -270
  2. package/dist/api/actions.d.ts +360 -363
  3. package/dist/api/actions.js +3 -3
  4. package/dist/api/actions.js.map +3 -3
  5. package/dist/api/emails.d.ts +56 -51
  6. package/dist/api/emails.js +3 -3
  7. package/dist/api/emails.js.map +3 -3
  8. package/dist/api/issues.d.ts +297 -214
  9. package/dist/api/issues.js +3 -3
  10. package/dist/api/issues.js.map +3 -3
  11. package/dist/api/organizations.d.ts +78 -7
  12. package/dist/api/organizations.js +3 -3
  13. package/dist/api/organizations.js.map +3 -3
  14. package/dist/api/pulls.d.ts +338 -427
  15. package/dist/api/pulls.js +3 -3
  16. package/dist/api/pulls.js.map +3 -3
  17. package/dist/api/releases.d.ts +198 -231
  18. package/dist/api/releases.js +3 -3
  19. package/dist/api/releases.js.map +3 -3
  20. package/dist/api/repositories.d.ts +878 -330
  21. package/dist/api/repositories.js +3 -3
  22. package/dist/api/repositories.js.map +3 -3
  23. package/dist/api/stars.d.ts +109 -182
  24. package/dist/api/stars.js +3 -3
  25. package/dist/api/stars.js.map +3 -3
  26. package/dist/api/teams.d.ts +118 -134
  27. package/dist/api/teams.js +3 -3
  28. package/dist/api/teams.js.map +3 -3
  29. package/dist/api/users.d.ts +99 -97
  30. package/dist/api/users.js +3 -3
  31. package/dist/api/users.js.map +3 -3
  32. package/dist/client.d.ts +14 -0
  33. package/dist/client.js +3 -3
  34. package/dist/client.js.map +3 -3
  35. package/dist/enums.d.ts +27 -71
  36. package/dist/enums.js +3 -3
  37. package/dist/enums.js.map +3 -3
  38. package/dist/errors.d.ts +12 -10
  39. package/dist/errors.js +2 -2
  40. package/dist/errors.js.map +1 -1
  41. package/dist/index.d.ts +2042 -2130
  42. package/dist/index.js +2 -2
  43. package/dist/index.js.map +3 -3
  44. package/dist/types.d.ts +779 -1223
  45. package/dist/utils.js +1 -2
  46. package/dist/utils.js.map +1 -1
  47. package/package.json +2 -2
  48. package/dist/api/branches.d.ts +0 -173
  49. package/dist/api/branches.js +0 -4
  50. package/dist/api/branches.js.map +0 -10
  51. package/dist/api/collaborators.d.ts +0 -243
  52. package/dist/api/collaborators.js +0 -4
  53. package/dist/api/collaborators.js.map +0 -10
  54. package/dist/api/commits.d.ts +0 -321
  55. package/dist/api/commits.js +0 -4
  56. package/dist/api/commits.js.map +0 -10
  57. package/dist/api/contents.d.ts +0 -364
  58. package/dist/api/contents.js +0 -4
  59. package/dist/api/contents.js.map +0 -10
  60. package/dist/api/forks.d.ts +0 -344
  61. package/dist/api/forks.js +0 -4
  62. package/dist/api/forks.js.map +0 -10
  63. package/dist/api/git.d.ts +0 -247
  64. package/dist/api/git.js +0 -4
  65. package/dist/api/git.js.map +0 -10
@@ -1,4 +1,4 @@
1
- import{A as v}from"../utils.js";class A{client;constructor(g){this.client=g}async get(g,k,j){let q=await this.client.get(`/repos/${g}/${k}`,j);return v(q)}delete(g,k,j){return this.client.delete(`/repos/${g}/${k}`,void 0,j)}async update(g,k,j,q){let z=await this.client.patch(`/repos/${g}/${k}`,j,q);return v(z)}compare(g,k,j,q){return this.client.get(`/repos/${g}/${k}/compare/${j}`,q)}getLanguages(g,k,j){return this.client.get(`/repos/${g}/${k}/languages`,j)}async listForAuthenticatedUser(g){return(await this.client.get("/user/repos",g)).map((j)=>v(j))}async create(g,k){let j=await this.client.post("/user/repos",g,k);return v(j)}}export{A as RepositoriesApi};
2
- export{A as h};
1
+ class E{client;constructor(k){this.client=k}get(k,x,j){return this.client.get(`/repos/${k}/${x}`,j)}update(k,x,j,v){return this.client.patch(`/repos/${k}/${x}`,j,v)}delete(k,x,j){return this.client.delete(`/repos/${k}/${x}`,void 0,j)}listRepoSecrets(k,x,j,v){let z=new URLSearchParams;if(j?.per_page!==void 0)z.append("per_page",j.per_page);if(j?.page!==void 0)z.append("page",j.page);let A=z.toString(),B=`/repos/${k}/${x}/actions/secrets${A?`?${A}`:""}`;return this.client.get(B,v)}getRepoSecret(k,x,j,v){return this.client.get(`/repos/${k}/${x}/actions/secrets/${j}`,v)}createOrUpdateRepoSecret(k,x,j,v,z){let A=new URLSearchParams;if(v?.encrypted_value!==void 0)A.append("encrypted_value",v.encrypted_value);let B=A.toString(),D=`/repos/${k}/${x}/actions/secrets/${j}${B?`?${B}`:""}`;return this.client.put(D,z)}deleteRepoSecret(k,x,j,v){return this.client.delete(`/repos/${k}/${x}/actions/secrets/${j}`,void 0,v)}listBranches(k,x,j,v){let z=new URLSearchParams;if(j?.page!==void 0)z.append("page",String(j.page));if(j?.per_page!==void 0)z.append("per_page",String(j.per_page));if(j?.q!==void 0)z.append("q",j.q);let A=z.toString(),B=`/repos/${k}/${x}/branches${A?`?${A}`:""}`;return this.client.get(B,v)}listCollaborators(k,x,j,v){let z=new URLSearchParams;if(j?.affiliation!==void 0)z.append("affiliation",j.affiliation);if(j?.permission!==void 0)z.append("permission",j.permission);if(j?.page!==void 0)z.append("page",String(j.page));if(j?.per_page!==void 0)z.append("per_page",String(j.per_page));let A=z.toString(),B=`/repos/${k}/${x}/collaborators${A?`?${A}`:""}`;return this.client.get(B,v)}addCollaborator(k,x,j,v,z){return this.client.put(`/repos/${k}/${x}/collaborators/${j}`,v,z)}listCommits(k,x,j,v){let z=new URLSearchParams;if(j?.page!==void 0)z.append("page",String(j.page));if(j?.per_page!==void 0)z.append("per_page",String(j.per_page));if(j?.sha!==void 0)z.append("sha",j.sha);if(j?.path!==void 0)z.append("path",j.path);if(j?.not!==void 0)z.append("not",j.not);if(j?.author!==void 0)z.append("author",j.author);if(j?.committer!==void 0)z.append("committer",j.committer);if(j?.since!==void 0)z.append("since",j.since);if(j?.until!==void 0)z.append("until",j.until);let A=z.toString(),B=`/repos/${k}/${x}/commits${A?`?${A}`:""}`;return this.client.get(B,v)}getCommit(k,x,j,v){return this.client.get(`/repos/${k}/${x}/commits/${j}`,v)}compareCommits(k,x,j,v,z){let A=new URLSearchParams;if(v?.page!==void 0)A.append("page",String(v.page));if(v?.per_page!==void 0)A.append("per_page",String(v.per_page));let B=A.toString(),D=`/repos/${k}/${x}/compare/${j}${B?`?${B}`:""}`;return this.client.get(D,z)}getContent(k,x,j,v,z){let A=new URLSearchParams;if(v?.ref!==void 0)A.append("ref",v.ref);if(v?.scope!==void 0)A.append("scope",v.scope);let B=A.toString(),D=`/repos/${k}/${x}/contents/${j}${B?`?${B}`:""}`;return this.client.get(D,z)}createOrUpdateFile(k,x,j,v,z){return this.client.put(`/repos/${k}/${x}/contents/${j}`,v,z)}deleteFile(k,x,j,v,z){return this.client.delete(`/repos/${k}/${x}/contents/${j}`,v,z)}createFork(k,x,j,v){return this.client.post(`/repos/${k}/${x}/forks`,j,v)}createCommit(k,x,j,v){return this.client.post(`/repos/${k}/${x}/git/commits`,j,v)}createRef(k,x,j,v){return this.client.post(`/repos/${k}/${x}/git/refs`,j,v)}createTree(k,x,j,v){return this.client.post(`/repos/${k}/${x}/git/trees`,j,v)}getTree(k,x,j,v,z){let A=new URLSearchParams;if(v?.page!==void 0)A.append("page",String(v.page));if(v?.per_page!==void 0)A.append("per_page",String(v.per_page));if(v?.recursive!==void 0)A.append("recursive",String(v.recursive));let B=A.toString(),D=`/repos/${k}/${x}/git/trees/${j}${B?`?${B}`:""}`;return this.client.get(D,z)}listLanguages(k,x,j){return this.client.get(`/repos/${k}/${x}/languages`,j)}listPulls(k,x,j,v){let z=new URLSearchParams;if(j?.state!==void 0)z.append("state",j.state);if(j?.head!==void 0)z.append("head",j.head);if(j?.base!==void 0)z.append("base",j.base);if(j?.sort!==void 0)z.append("sort",j.sort);if(j?.direction!==void 0)z.append("direction",j.direction);if(j?.page!==void 0)z.append("page",String(j.page));if(j?.per_page!==void 0)z.append("per_page",String(j.per_page));let A=z.toString(),B=`/repos/${k}/${x}/pulls${A?`?${A}`:""}`;return this.client.get(B,v)}getPull(k,x,j,v){return this.client.get(`/repos/${k}/${x}/pulls/${j}`,v)}updatePull(k,x,j,v,z){return this.client.patch(`/repos/${k}/${x}/pulls/${j}`,v,z)}listForAuthenticatedUser(k,x){let j=new URLSearchParams;if(k?.page!==void 0)j.append("page",String(k.page));if(k?.per_page!==void 0)j.append("per_page",String(k.per_page));let v=j.toString(),z=`/user/repos${v?`?${v}`:""}`;return this.client.get(z,x)}createForAuthenticatedUser(k,x){return this.client.post("/user/repos",k,x)}}export{E as RepositoriesApi};
2
+ export{E as b};
3
3
 
4
- //# debugId=2FEB26810CA145C364756E2164756E21
4
+ //# debugId=CDE25FC29CB34E4064756E2164756E21
@@ -2,9 +2,9 @@
2
2
  "version": 3,
3
3
  "sources": ["../src/api/repositories.ts"],
4
4
  "sourcesContent": [
5
- "import type { GitVerseClient } from \"../client\";\nimport type {\n CompareResponse,\n CreateRepositoryParams,\n LanguagesResponse,\n Repository,\n RequestOptions,\n UpdateRepositoryParams,\n} from \"../types\";\nimport { fixRepositoryUrls } from \"../utils\";\n\n/**\n * API для работы с репозиториями\n */\nexport class RepositoriesApi {\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 async get(owner: string, repo: string, options?: RequestOptions): Promise<Repository> {\n const repository = await this.client.get<Repository>(`/repos/${owner}/${repo}`, options);\n return fixRepositoryUrls(repository as unknown as Record<string, unknown>) as unknown as Repository;\n }\n\n /**\n * Удаляет репозиторий\n * @param owner Владелец репозитория\n * @param repo Название репозитория\n * @returns Результат операции\n */\n delete(owner: string, repo: string, options?: RequestOptions): Promise<void> {\n return this.client.delete<void>(`/repos/${owner}/${repo}`, undefined, options);\n }\n\n /**\n * Обновляет информацию о репозитории\n * @param owner Владелец репозитория\n * @param repo Название репозитория\n * @param params Параметры для обновления\n * @returns Обновлённый репозиторий\n */\n async update(\n owner: string,\n repo: string,\n params: UpdateRepositoryParams,\n options?: RequestOptions,\n ): Promise<Repository> {\n const repository = await this.client.patch<Repository>(`/repos/${owner}/${repo}`, params, options);\n return fixRepositoryUrls(repository as unknown as Record<string, unknown>) as unknown as Repository;\n }\n\n /**\n * Сравнивает две ветки или коммита\n * @param owner Владелец репозитория\n * @param repo Название репозитория\n * @param basehead Строка в формате \"base...head\" для сравнения\n * @returns Результат сравнения с коммитами и изменёнными файлами\n */\n compare(owner: string, repo: string, basehead: string, options?: RequestOptions): Promise<CompareResponse> {\n return this.client.get<CompareResponse>(`/repos/${owner}/${repo}/compare/${basehead}`, options);\n }\n\n /**\n * Получает информацию о языках программирования в репозитории\n * @param owner Владелец репозитория\n * @param repo Название репозитория\n * @returns Объект с языками и количеством байт кода\n */\n getLanguages(owner: string, repo: string, options?: RequestOptions): Promise<LanguagesResponse> {\n return this.client.get<LanguagesResponse>(`/repos/${owner}/${repo}/languages`, options);\n }\n\n /**\n * Получает список репозиториев авторизованного пользователя\n * @returns Массив репозиториев пользователя\n */\n async listForAuthenticatedUser(options?: RequestOptions): Promise<Repository[]> {\n const repositories = await this.client.get<Repository[]>(\"/user/repos\", options);\n return repositories.map(\n (repo) => fixRepositoryUrls(repo as unknown as Record<string, unknown>) as unknown as Repository,\n );\n }\n\n /**\n * Создает новый репозиторий для авторизованного пользователя\n * @param params Параметры создания репозитория\n * @returns Созданный репозиторий\n */\n async create(params: CreateRepositoryParams, options?: RequestOptions): Promise<Repository> {\n const repository = await this.client.post<Repository>(\"/user/repos\", params, options);\n return fixRepositoryUrls(repository as unknown as Record<string, unknown>) as unknown as Repository;\n }\n}\n"
5
+ "import type { GitVerseClient } from \"../client\";\nimport type {\n AddCollaboratorParams,\n Branch,\n Collaborator,\n CollaboratorInvitation,\n Commit,\n CompareResponse,\n CreateCommitParams,\n CreateFileParams,\n CreateForkParams,\n CreateReferenceParams,\n CreateRepositoryParams,\n CreateTreeParams,\n DeleteFileParams,\n FileCreationResponse,\n FileDeleteResponse,\n GitTreeResponse,\n PullRequest,\n Reference,\n Repository,\n RepoTree,\n Secret,\n SecretList,\n UpdatePullRequestParams,\n UpdateRepositoryParams,\n} from \"../types\";\n\n/**\n * API для работы с репозиториями\n */\nexport class RepositoriesApi {\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 * Get repository details\n * @param owner Repository owner\n * @param repo Repository name\n * @param options Опции запроса\n * @returns Repository\n */\n get(owner: string, repo: string, options?: { signal?: AbortSignal }): Promise<Repository> {\n return this.client.get<Repository>(`/repos/${owner}/${repo}`, options);\n }\n\n /**\n * Update repository\n * @param owner Repository owner\n * @param repo Repository name\n * @param params New repository settings\n * @param options Опции запроса\n * @returns Repository\n */\n update(\n owner: string,\n repo: string,\n params: UpdateRepositoryParams,\n options?: { signal?: AbortSignal },\n ): Promise<Repository> {\n return this.client.patch<Repository>(`/repos/${owner}/${repo}`, params, options);\n }\n\n /**\n * Delete repository\n * @param owner Repository owner\n * @param repo Repository name\n * @param options Опции запроса\n * @returns void\n */\n delete(owner: string, repo: string, options?: { signal?: AbortSignal }): Promise<void> {\n return this.client.delete<void>(`/repos/${owner}/${repo}`, undefined, options);\n }\n\n /**\n * Gets a list of repository secrets\n * @param owner Owner name\n * @param repo Repository name\n * @param queryParams Параметры запроса\n * @param options Опции запроса\n * @returns SecretList\n */\n listRepoSecrets(\n owner: string,\n repo: string,\n queryParams?: { per_page?: string; page?: string },\n options?: { signal?: AbortSignal },\n ): Promise<SecretList> {\n const searchParams = new URLSearchParams();\n if (queryParams?.per_page !== undefined) searchParams.append(\"per_page\", queryParams.per_page);\n if (queryParams?.page !== undefined) searchParams.append(\"page\", queryParams.page);\n const queryString = searchParams.toString();\n const url = `/repos/${owner}/${repo}/actions/secrets${queryString ? `?${queryString}` : \"\"}`;\n return this.client.get<SecretList>(url, options);\n }\n\n /**\n * Gets secrets metadata (without values) in repositories.\n * @param owner Owner name\n * @param repo Repository name\n * @param secretname Secret name\n * @param options Опции запроса\n * @returns Secret\n */\n getRepoSecret(owner: string, repo: string, secretname: string, options?: { signal?: AbortSignal }): Promise<Secret> {\n return this.client.get<Secret>(`/repos/${owner}/${repo}/actions/secrets/${secretname}`, options);\n }\n\n /**\n * Creates or updates a secret in the repository, without encryption\n * @param owner Owner name\n * @param repo Repository name\n * @param secretname Secret name\n * @param queryParams Параметры запроса\n * @param options Опции запроса\n * @returns Secret\n */\n createOrUpdateRepoSecret(\n owner: string,\n repo: string,\n secretname: string,\n queryParams?: { encrypted_value: string },\n options?: { signal?: AbortSignal },\n ): Promise<Secret> {\n const searchParams = new URLSearchParams();\n if (queryParams?.encrypted_value !== undefined) searchParams.append(\"encrypted_value\", queryParams.encrypted_value);\n const queryString = searchParams.toString();\n const url = `/repos/${owner}/${repo}/actions/secrets/${secretname}${queryString ? `?${queryString}` : \"\"}`;\n return this.client.put<Secret>(url, options);\n }\n\n /**\n * Removes a secret from the repository\n * @param owner Owner name\n * @param repo Repository name\n * @param secretname Secret name\n * @param options Опции запроса\n * @returns void\n */\n deleteRepoSecret(owner: string, repo: string, secretname: string, options?: { signal?: AbortSignal }): Promise<void> {\n return this.client.delete<void>(`/repos/${owner}/${repo}/actions/secrets/${secretname}`, undefined, options);\n }\n\n /**\n * List repository branches\n * @param owner Owner of the repository (username or organization)\n * @param repo Name of the repository without .git extension\n * @param queryParams Параметры запроса\n * @param options Опции запроса\n * @returns Branch[]\n */\n listBranches(\n owner: string,\n repo: string,\n queryParams?: { page?: number; per_page?: number; q?: string },\n options?: { signal?: AbortSignal },\n ): Promise<Branch[]> {\n const searchParams = new URLSearchParams();\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 if (queryParams?.q !== undefined) searchParams.append(\"q\", queryParams.q);\n const queryString = searchParams.toString();\n const url = `/repos/${owner}/${repo}/branches${queryString ? `?${queryString}` : \"\"}`;\n return this.client.get<Branch[]>(url, options);\n }\n\n /**\n * List repository collaborators\n * @param owner Repository owner\n * @param repo Repository name\n * @param queryParams Параметры запроса\n * @param options Опции запроса\n * @returns Collaborator[]\n */\n listCollaborators(\n owner: string,\n repo: string,\n queryParams?: { affiliation?: string; permission?: string; page?: number; per_page?: number },\n options?: { signal?: AbortSignal },\n ): Promise<Collaborator[]> {\n const searchParams = new URLSearchParams();\n if (queryParams?.affiliation !== undefined) searchParams.append(\"affiliation\", queryParams.affiliation);\n if (queryParams?.permission !== undefined) searchParams.append(\"permission\", queryParams.permission);\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 = `/repos/${owner}/${repo}/collaborators${queryString ? `?${queryString}` : \"\"}`;\n return this.client.get<Collaborator[]>(url, options);\n }\n\n /**\n * Add or update repository collaborator\n * @param owner Repository owner\n * @param repo Repository name\n * @param collaborator Username of the collaborator to add or update\n * @param params Collaborator permission settings\n * @param options Опции запроса\n * @returns CollaboratorInvitation\n */\n addCollaborator(\n owner: string,\n repo: string,\n collaborator: string,\n params: AddCollaboratorParams,\n options?: { signal?: AbortSignal },\n ): Promise<CollaboratorInvitation> {\n return this.client.put<CollaboratorInvitation>(\n `/repos/${owner}/${repo}/collaborators/${collaborator}`,\n params,\n options,\n );\n }\n\n /**\n * Retrieve a list of repository commits\n * @param owner Owner of the repository (owner or organization name)\n * @param repo Name of the repository without the .git extension\n * @param queryParams Параметры запроса\n * @param options Опции запроса\n * @returns Commit[]\n */\n listCommits(\n owner: string,\n repo: string,\n queryParams?: {\n page?: number;\n per_page?: number;\n sha?: string;\n path?: string;\n not?: string;\n author?: string;\n committer?: string;\n since?: string;\n until?: string;\n },\n options?: { signal?: AbortSignal },\n ): Promise<Commit[]> {\n const searchParams = new URLSearchParams();\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 if (queryParams?.sha !== undefined) searchParams.append(\"sha\", queryParams.sha);\n if (queryParams?.path !== undefined) searchParams.append(\"path\", queryParams.path);\n if (queryParams?.not !== undefined) searchParams.append(\"not\", queryParams.not);\n if (queryParams?.author !== undefined) searchParams.append(\"author\", queryParams.author);\n if (queryParams?.committer !== undefined) searchParams.append(\"committer\", queryParams.committer);\n if (queryParams?.since !== undefined) searchParams.append(\"since\", queryParams.since);\n if (queryParams?.until !== undefined) searchParams.append(\"until\", queryParams.until);\n const queryString = searchParams.toString();\n const url = `/repos/${owner}/${repo}/commits${queryString ? `?${queryString}` : \"\"}`;\n return this.client.get<Commit[]>(url, options);\n }\n\n /**\n * Retrieve commit information\n * @param owner Owner of the repository (owner or organization name)\n * @param repo Name of the repository without the .git extension\n * @param sha Commit hash\n * @param options Опции запроса\n * @returns Commit\n */\n getCommit(owner: string, repo: string, sha: string, options?: { signal?: AbortSignal }): Promise<Commit> {\n return this.client.get<Commit>(`/repos/${owner}/${repo}/commits/${sha}`, options);\n }\n\n /**\n * Compare two branches/tags/commits\n * @param owner Owner of the repository (username or organization name)\n * @param repo Name of the repository without the .git extension\n * @param basehead References to compare in BASE...HEAD format (e.g., main...feature)\n * @param queryParams Параметры запроса\n * @param options Опции запроса\n * @returns CompareResponse\n */\n compareCommits(\n owner: string,\n repo: string,\n basehead: string,\n queryParams?: { page?: number; per_page?: number },\n options?: { signal?: AbortSignal },\n ): Promise<CompareResponse> {\n const searchParams = new URLSearchParams();\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 = `/repos/${owner}/${repo}/compare/${basehead}${queryString ? `?${queryString}` : \"\"}`;\n return this.client.get<CompareResponse>(url, options);\n }\n\n /**\n * Get file or directory contents\n * @param owner Repository owner\n * @param repo Repository name\n * @param filepath Path to file or directory in the repository\n * @param queryParams Параметры запроса\n * @param options Опции запроса\n * @returns Record<string, unknown>\n */\n getContent(\n owner: string,\n repo: string,\n filepath: string,\n queryParams?: { ref?: string; scope?: string },\n options?: { signal?: AbortSignal },\n ): Promise<Record<string, unknown>> {\n const searchParams = new URLSearchParams();\n if (queryParams?.ref !== undefined) searchParams.append(\"ref\", queryParams.ref);\n if (queryParams?.scope !== undefined) searchParams.append(\"scope\", queryParams.scope);\n const queryString = searchParams.toString();\n const url = `/repos/${owner}/${repo}/contents/${filepath}${queryString ? `?${queryString}` : \"\"}`;\n return this.client.get<Record<string, unknown>>(url, options);\n }\n\n /**\n * Create or update file in repository\n * @param owner Repository owner\n * @param repo Repository name\n * @param filepath Path to the file in the repository\n * @param params File creation or update options, including base64 content, branch, message, etc.\n * @param options Опции запроса\n * @returns FileCreationResponse\n */\n createOrUpdateFile(\n owner: string,\n repo: string,\n filepath: string,\n params: CreateFileParams,\n options?: { signal?: AbortSignal },\n ): Promise<FileCreationResponse> {\n return this.client.put<FileCreationResponse>(`/repos/${owner}/${repo}/contents/${filepath}`, params, options);\n }\n\n /**\n * Delete file in repository\n * @param owner Repository owner\n * @param repo Repository name\n * @param filepath Path to the file in the repository\n * @param params File deletion options, including SHA, branch, commit message, etc.\n * @param options Опции запроса\n * @returns FileDeleteResponse\n */\n deleteFile(\n owner: string,\n repo: string,\n filepath: string,\n params: DeleteFileParams,\n options?: { signal?: AbortSignal },\n ): Promise<FileDeleteResponse> {\n return this.client.delete<FileDeleteResponse>(`/repos/${owner}/${repo}/contents/${filepath}`, params, options);\n }\n\n /**\n * Fork a repository\n * @param owner Owner of the base repository\n * @param repo Name of the base repository\n * @param params Fork options, including target name and organization\n * @param options Опции запроса\n * @returns Repository\n */\n createFork(\n owner: string,\n repo: string,\n params: CreateForkParams,\n options?: { signal?: AbortSignal },\n ): Promise<Repository> {\n return this.client.post<Repository>(`/repos/${owner}/${repo}/forks`, params, options);\n }\n\n /**\n * Create a Git commit\n * @param owner Owner of the repository (owner or organization name)\n * @param repo Name of the repository without the .git extension\n * @param params Parameters for creating the commit\n * @param options Опции запроса\n * @returns Commit\n */\n createCommit(\n owner: string,\n repo: string,\n params: CreateCommitParams,\n options?: { signal?: AbortSignal },\n ): Promise<Commit> {\n return this.client.post<Commit>(`/repos/${owner}/${repo}/git/commits`, params, options);\n }\n\n /**\n * Create a Git reference\n * @param owner Owner of the repository (owner or organization name)\n * @param repo Name of the repository without the .git extension\n * @param params Parameters for creating the reference\n * @param options Опции запроса\n * @returns Reference\n */\n createRef(\n owner: string,\n repo: string,\n params: CreateReferenceParams,\n options?: { signal?: AbortSignal },\n ): Promise<Reference> {\n return this.client.post<Reference>(`/repos/${owner}/${repo}/git/refs`, params, options);\n }\n\n /**\n * Creates new Git tree\n * @param owner owner\n * @param repo repo\n * @param params Параметры создания дерева\n * @param options Опции запроса\n * @returns RepoTree\n */\n createTree(\n owner: string,\n repo: string,\n params: CreateTreeParams,\n options?: { signal?: AbortSignal },\n ): Promise<RepoTree> {\n return this.client.post<RepoTree>(`/repos/${owner}/${repo}/git/trees`, params, options);\n }\n\n /**\n * Get repository tree by SHA\n * @param owner Repository owner\n * @param repo Repository name\n * @param sha Commit SHA to list tree for\n * @param queryParams Параметры запроса\n * @param options Опции запроса\n * @returns GitTreeResponse\n */\n getTree(\n owner: string,\n repo: string,\n sha: string,\n queryParams?: { page?: number; per_page?: number; recursive?: boolean },\n options?: { signal?: AbortSignal },\n ): Promise<GitTreeResponse> {\n const searchParams = new URLSearchParams();\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 if (queryParams?.recursive !== undefined) searchParams.append(\"recursive\", String(queryParams.recursive));\n const queryString = searchParams.toString();\n const url = `/repos/${owner}/${repo}/git/trees/${sha}${queryString ? `?${queryString}` : \"\"}`;\n return this.client.get<GitTreeResponse>(url, options);\n }\n\n /**\n * Get repository languages\n * @param owner Repository owner\n * @param repo Repository name\n * @param options Опции запроса\n * @returns Record<string, unknown>\n */\n listLanguages(owner: string, repo: string, options?: { signal?: AbortSignal }): Promise<Record<string, unknown>> {\n return this.client.get<Record<string, unknown>>(`/repos/${owner}/${repo}/languages`, options);\n }\n\n /**\n * List pull requests\n * @param owner Repository owner\n * @param repo Repository name\n * @param queryParams Параметры запроса\n * @param options Опции запроса\n * @returns PullRequest[]\n */\n listPulls(\n owner: string,\n repo: string,\n queryParams?: {\n state?: string;\n head?: string;\n base?: string;\n sort?: string;\n direction?: string;\n page?: number;\n per_page?: number;\n },\n options?: { signal?: AbortSignal },\n ): Promise<PullRequest[]> {\n const searchParams = new URLSearchParams();\n if (queryParams?.state !== undefined) searchParams.append(\"state\", queryParams.state);\n if (queryParams?.head !== undefined) searchParams.append(\"head\", queryParams.head);\n if (queryParams?.base !== undefined) searchParams.append(\"base\", queryParams.base);\n if (queryParams?.sort !== undefined) searchParams.append(\"sort\", queryParams.sort);\n if (queryParams?.direction !== undefined) searchParams.append(\"direction\", queryParams.direction);\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 = `/repos/${owner}/${repo}/pulls${queryString ? `?${queryString}` : \"\"}`;\n return this.client.get<PullRequest[]>(url, options);\n }\n\n /**\n * Pull request details.\n * @param owner Repository owner\n * @param repo Repository name\n * @param pull_number The number that identifies the pull request..\n * @param options Опции запроса\n * @returns PullRequest\n */\n getPull(owner: string, repo: string, pull_number: number, options?: { signal?: AbortSignal }): Promise<PullRequest> {\n return this.client.get<PullRequest>(`/repos/${owner}/${repo}/pulls/${pull_number}`, options);\n }\n\n /**\n * Update a pull request.\n * @param owner Repository owner\n * @param repo Repository name\n * @param pull_number The number that identifies the pull request.\n * @param params Pull request update parameters\n * @param options Опции запроса\n * @returns PullRequest\n */\n updatePull(\n owner: string,\n repo: string,\n pull_number: number,\n params: UpdatePullRequestParams,\n options?: { signal?: AbortSignal },\n ): Promise<PullRequest> {\n return this.client.patch<PullRequest>(`/repos/${owner}/${repo}/pulls/${pull_number}`, params, options);\n }\n\n /**\n * Get authenticated user repositories\n * @param queryParams Параметры запроса\n * @param options Опции запроса\n * @returns Repository[]\n */\n listForAuthenticatedUser(\n queryParams?: { page?: number; per_page?: number },\n options?: { signal?: AbortSignal },\n ): Promise<Repository[]> {\n const searchParams = new URLSearchParams();\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 = `/user/repos${queryString ? `?${queryString}` : \"\"}`;\n return this.client.get<Repository[]>(url, options);\n }\n\n /**\n * Create repository\n * @param params Repository creation options\n * @param options Опции запроса\n * @returns Repository\n */\n createForAuthenticatedUser(params: CreateRepositoryParams, options?: { signal?: AbortSignal }): Promise<Repository> {\n return this.client.post<Repository>(\"/user/repos\", params, options);\n }\n}\n"
6
6
  ],
7
- "mappings": "gCAcO,MAAM,CAAgB,CACnB,OAMR,WAAW,CAAC,EAAwB,CAClC,KAAK,OAAS,OASV,IAAG,CAAC,EAAe,EAAc,EAA+C,CACpF,IAAM,EAAa,MAAM,KAAK,OAAO,IAAgB,UAAU,KAAS,IAAQ,CAAO,EACvF,OAAO,EAAkB,CAAgD,EAS3E,MAAM,CAAC,EAAe,EAAc,EAAyC,CAC3E,OAAO,KAAK,OAAO,OAAa,UAAU,KAAS,IAAQ,OAAW,CAAO,OAUzE,OAAM,CACV,EACA,EACA,EACA,EACqB,CACrB,IAAM,EAAa,MAAM,KAAK,OAAO,MAAkB,UAAU,KAAS,IAAQ,EAAQ,CAAO,EACjG,OAAO,EAAkB,CAAgD,EAU3E,OAAO,CAAC,EAAe,EAAc,EAAkB,EAAoD,CACzG,OAAO,KAAK,OAAO,IAAqB,UAAU,KAAS,aAAgB,IAAY,CAAO,EAShG,YAAY,CAAC,EAAe,EAAc,EAAsD,CAC9F,OAAO,KAAK,OAAO,IAAuB,UAAU,KAAS,cAAkB,CAAO,OAOlF,yBAAwB,CAAC,EAAiD,CAE9E,OADqB,MAAM,KAAK,OAAO,IAAkB,cAAe,CAAO,GAC3D,IAClB,CAAC,IAAS,EAAkB,CAA0C,CACxE,OAQI,OAAM,CAAC,EAAgC,EAA+C,CAC1F,IAAM,EAAa,MAAM,KAAK,OAAO,KAAiB,cAAe,EAAQ,CAAO,EACpF,OAAO,EAAkB,CAAgD,EAE7E",
8
- "debugId": "2FEB26810CA145C364756E2164756E21",
7
+ "mappings": "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",
8
+ "debugId": "CDE25FC29CB34E4064756E2164756E21",
9
9
  "names": []
10
10
  }
@@ -1,26 +1,7 @@
1
1
  /**
2
- * Типы пользователей в системе
2
+ * Типы данных для GitVerse API
3
+ * @generated Сгенерировано автоматически из OpenAPI спецификации
3
4
  */
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
5
  /**
25
6
  * Опции для выполнения HTTP-запросов
26
7
  */
@@ -34,155 +15,69 @@ interface RequestOptions {
34
15
  */
35
16
  signal?: AbortSignal;
36
17
  }
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-ссылка на список подписчиков пользователя */
18
+ interface Permissions {
19
+ admin?: boolean;
20
+ pull?: boolean;
21
+ push?: boolean;
22
+ }
23
+ interface UserPublicInfo {
24
+ avatar_url?: string;
62
25
  followers_url?: string;
63
- /** API-ссылка на репозитории пользователя */
64
- repos_url?: string;
65
- /** API-ссылка на организации пользователя */
26
+ following_url?: string;
27
+ html_url?: string;
28
+ id?: number;
29
+ login?: string;
66
30
  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;
31
+ repos_url?: string;
32
+ site_admin?: boolean;
33
+ type?: string;
34
+ url?: string;
89
35
  }
90
- /**
91
- * Интерфейс репозитория
92
- */
93
36
  interface Repository {
94
- /** Уникальный идентификатор репозитория */
95
- id: number;
96
- /** Информация о владельце репозитория */
97
- owner: User2;
98
- /** Название репозитория */
99
- name: string;
100
- /** Полное название репозитория в формате {owner}/{repo} */
101
- full_name: string;
102
- /** Описание репозитория */
37
+ allow_merge_commit?: boolean;
38
+ allow_rebase_merge?: boolean;
39
+ allow_squash_merge?: boolean;
40
+ archived?: boolean;
41
+ clone_url?: string;
42
+ contents_url?: string;
43
+ created_at?: string;
44
+ default_branch?: string;
45
+ delete_branch_on_merge?: boolean;
103
46
  description?: string;
104
- /** Список тем, связанных с репозиторием */
105
- topics?: string[] | null;
106
- /** Является ли репозиторий приватным */
107
- private: boolean;
108
- /** Является ли репозиторий форком другого репозитория */
109
- fork: boolean;
110
- /** Информация о родительском репозитории (если это форк) */
111
- parent?: Repository | null;
112
- /** Размер репозитория в килобайтах */
113
- size: number;
114
- /** Основной язык программирования, используемый в репозитории */
47
+ disabled?: boolean;
48
+ fork?: boolean;
49
+ forks?: number;
50
+ forks_count?: number;
51
+ forks_url?: string;
52
+ full_name?: string;
53
+ has_issues?: boolean;
54
+ has_wiki?: boolean;
55
+ id?: number;
56
+ is_template?: boolean;
57
+ issue_comment_url?: string;
58
+ issues_url?: string;
115
59
  language?: string;
116
- /** SSH-URL для клонирования репозитория */
117
- ssh_url: string;
118
- /** HTTPS-URL для клонирования репозитория */
119
- clone_url: string;
120
- /** Веб-ссылка на репозиторий */
121
- html_url: string;
122
- /** API-ссылка на репозиторий */
123
- url: string;
124
- /** Git-URL для клонирования репозитория */
125
- git_url: string;
126
- /** Зеркало репозитория (если доступно) */
60
+ languages_url?: string;
127
61
  mirror_url?: string;
128
- /** Ссылка на вебсайт проекта */
129
- website?: string;
130
- /** Альтернативная ссылка на домашнюю страницу проекта */
131
- homepage?: string;
132
- /** Количество звезд у репозитория */
133
- stargazers_count: number;
134
- /** Количество форков репозитория */
135
- forks: number;
136
- /** Количество форков репозитория (дублирует поле forks) */
137
- forks_count: number;
138
- /** Количество наблюдателей за репозиторием */
139
- watchers: number;
140
- /** Количество наблюдателей за репозиторием (дублирует поле watchers) */
141
- watchers_count: number;
142
- /** Количество репозиториев в сети (форков и оригинала) */
143
- network_count: number;
144
- /** Количество подписчиков на уведомления о репозитории */
145
- subscribers_count: number;
146
- /** Количество открытых задач (issues) в репозитории */
147
- open_issues: number;
148
- /** Количество открытых задач (дублирует поле open_issues) */
149
- open_issues_count: number;
150
- /** Количество открытых pull requests */
151
- open_pr_counter: number;
152
- /** Основная ветка репозитория */
153
- default_branch: string;
154
- /** Архивирован ли репозиторий */
155
- archived: boolean;
156
- /** Разрешено ли создание задач (issues) */
157
- has_issues: boolean;
158
- /** Разрешено ли использование проектов */
159
- has_projects: boolean;
160
- /** Разрешено ли использование обсуждений */
161
- has_discussions: boolean;
162
- /** Разрешено ли использование wiki */
163
- has_wiki: boolean;
164
- /** Разрешено ли использование GitHub Pages */
165
- has_pages: boolean;
166
- /** Отключен ли репозиторий */
167
- disabled: boolean;
168
- /** Настройки приватности репозитория */
169
- visibility: VisibilityType;
170
- /** Является ли репозиторий шаблоном */
171
- is_template: boolean;
172
- /** Информация о шаблоне репозитория (если доступно) */
173
- template_repository?: Repository | null;
174
- /** Разрешены ли слияния через merge commits */
175
- allow_merge_commits: boolean;
176
- /** Разрешены ли слияния через squash commits */
177
- allow_squash_merge: boolean;
178
- /** Удалять ли ветку после слияния по умолчанию */
179
- default_delete_branch_after_merge: boolean;
180
- /** Дата создания репозитория */
181
- created_at: string;
182
- /** Дата последнего обновления репозитория */
183
- updated_at: string;
184
- /** Дата последнего push-события в репозиторий */
185
- pushed_at: string;
62
+ name?: string;
63
+ open_issues?: number;
64
+ open_issues_count?: number;
65
+ owner?: UserPublicInfo;
66
+ parent?: Repository;
67
+ permissions?: Permissions;
68
+ private?: boolean;
69
+ pulls_url?: string;
70
+ pushed_at?: string;
71
+ size?: number;
72
+ ssh_url?: string;
73
+ stargazers_count?: number;
74
+ template_repository?: Repository;
75
+ topics?: string[];
76
+ updated_at?: string;
77
+ url?: string;
78
+ visibility?: string;
79
+ watchers?: number;
80
+ watchers_count?: number;
186
81
  }
187
82
  /**
188
83
  * Предупреждение об устаревшей версии API
@@ -310,38 +205,70 @@ declare class GitVerseClient {
310
205
  * @returns Ответ от API
311
206
  */
312
207
  patch<T>(path: string, body?: unknown, options?: RequestOptions): Promise<T>;
208
+ /**
209
+ * Выполняет загрузку файла через multipart/form-data
210
+ * @param path Путь к API-ресурсу
211
+ * @param fieldName Имя поля для файла
212
+ * @param file Файл для загрузки (Blob или ArrayBuffer)
213
+ * @param fileName Имя файла
214
+ * @param options Опции запроса (опционально)
215
+ * @returns Ответ от API
216
+ */
217
+ uploadFile<T>(path: string, fieldName: string, file: Blob | ArrayBuffer, fileName: string, options?: RequestOptions): Promise<T>;
313
218
  }
314
219
  /**
315
- * Класс для работы со звездами репозиториев
220
+ * API для работы со звёздами (избранное)
316
221
  */
317
222
  declare class StarsApi {
318
223
  private client;
224
+ /**
225
+ * Создает новый экземпляр API
226
+ * @param client GitVerse клиент
227
+ */
319
228
  constructor(client: GitVerseClient);
320
229
  /**
321
- * Получить список репозиториев, отмеченных звездой
322
- * @returns {Promise<Repository[]>} Массив репозиториев, отмеченных звездой
230
+ * Get list of favorites repositories of authenticated user
231
+ * @param queryParams Параметры запроса
232
+ * @param options Опции запроса
233
+ * @returns Repository[]
323
234
  */
324
- list(options?: RequestOptions): Promise<Repository[]>;
235
+ list(queryParams?: {
236
+ page?: number
237
+ per_page?: number
238
+ sort?: string
239
+ direction?: string
240
+ }, options?: {
241
+ signal?: AbortSignal
242
+ }): Promise<Repository[]>;
325
243
  /**
326
- * Добавить звезду репозиторию
327
- * @param {string} owner - Владелец репозитория
328
- * @param {string} repo - Название репозитория
329
- * @returns {Promise<void>} Результат операции (204 No Content при успехе)
244
+ * Check if repository is in favorites
245
+ * @param owner Repository owner
246
+ * @param repo Repository name
247
+ * @param options Опции запроса
248
+ * @returns void
330
249
  */
331
- add(owner: string, repo: string, options?: RequestOptions): Promise<void>;
250
+ isStarred(owner: string, repo: string, options?: {
251
+ signal?: AbortSignal
252
+ }): Promise<void>;
332
253
  /**
333
- * Проверить, отмечен ли репозиторий звездой
334
- * @param {string} owner - Владелец репозитория
335
- * @param {string} repo - Название репозитория
336
- * @returns {Promise<boolean>} true если отмечен звездой, false если нет
254
+ * Add repository to favorites
255
+ * @param owner Repository owner
256
+ * @param repo Repository name
257
+ * @param options Опции запроса
258
+ * @returns void
337
259
  */
338
- check(owner: string, repo: string, options?: RequestOptions): Promise<boolean>;
260
+ star(owner: string, repo: string, options?: {
261
+ signal?: AbortSignal
262
+ }): Promise<void>;
339
263
  /**
340
- * Убрать звезду с репозитория
341
- * @param {string} owner - Владелец репозитория
342
- * @param {string} repo - Название репозитория
343
- * @returns {Promise<void>} Результат операции
264
+ * Remove repository from favorites
265
+ * @param owner Repository owner
266
+ * @param repo Repository name
267
+ * @param options Опции запроса
268
+ * @returns void
344
269
  */
345
- remove(owner: string, repo: string, options?: RequestOptions): Promise<void>;
270
+ unstar(owner: string, repo: string, options?: {
271
+ signal?: AbortSignal
272
+ }): Promise<void>;
346
273
  }
347
274
  export { StarsApi };
package/dist/api/stars.js CHANGED
@@ -1,4 +1,4 @@
1
- import{x as j}from"../errors.js";class k{client;constructor(b){this.client=b}list(b){return this.client.get("/user/starred",b)}async add(b,c,f){await this.client.put(`/user/starred/${b}/${c}`,void 0,f)}async check(b,c,f){try{return await this.client.get(`/user/starred/${b}/${c}`,f),!0}catch(h){if(h instanceof j&&h.status===404)return!1;throw h}}async remove(b,c,f){await this.client.delete(`/user/starred/${b}/${c}`,void 0,f)}}export{k as StarsApi};
2
- export{k as l};
1
+ class A{client;constructor(b){this.client=b}list(b,k){let j=new URLSearchParams;if(b?.page!==void 0)j.append("page",String(b.page));if(b?.per_page!==void 0)j.append("per_page",String(b.per_page));if(b?.sort!==void 0)j.append("sort",b.sort);if(b?.direction!==void 0)j.append("direction",b.direction);let x=j.toString(),z=`/user/starred${x?`?${x}`:""}`;return this.client.get(z,k)}isStarred(b,k,j){return this.client.get(`/user/starred/${b}/${k}`,j)}star(b,k,j){return this.client.put(`/user/starred/${b}/${k}`,j)}unstar(b,k,j){return this.client.delete(`/user/starred/${b}/${k}`,void 0,j)}}export{A as StarsApi};
2
+ export{A as h};
3
3
 
4
- //# debugId=41B0D66FC695A1AA64756E2164756E21
4
+ //# debugId=9D3715F240BCA21664756E2164756E21
@@ -2,9 +2,9 @@
2
2
  "version": 3,
3
3
  "sources": ["../src/api/stars.ts"],
4
4
  "sourcesContent": [
5
- "import type { GitVerseClient } from \"../client\";\nimport { GitVerseApiError } from \"../errors\";\nimport type { Repository, RequestOptions } from \"../types\";\n\n/**\n * Класс для работы со звездами репозиториев\n */\nexport class StarsApi {\n constructor(private client: GitVerseClient) {}\n\n /**\n * Получить список репозиториев, отмеченных звездой\n * @returns {Promise<Repository[]>} Массив репозиториев, отмеченных звездой\n */\n list(options?: RequestOptions): Promise<Repository[]> {\n return this.client.get<Repository[]>(\"/user/starred\", options);\n }\n\n /**\n * Добавить звезду репозиторию\n * @param {string} owner - Владелец репозитория\n * @param {string} repo - Название репозитория\n * @returns {Promise<void>} Результат операции (204 No Content при успехе)\n */\n async add(owner: string, repo: string, options?: RequestOptions): Promise<void> {\n await this.client.put<void>(`/user/starred/${owner}/${repo}`, undefined, options);\n }\n\n /**\n * Проверить, отмечен ли репозиторий звездой\n * @param {string} owner - Владелец репозитория\n * @param {string} repo - Название репозитория\n * @returns {Promise<boolean>} true если отмечен звездой, false если нет\n */\n async check(owner: string, repo: string, options?: RequestOptions): Promise<boolean> {\n try {\n await this.client.get<void>(`/user/starred/${owner}/${repo}`, options);\n return true;\n } catch (error: unknown) {\n // 404 означает, что репозиторий не отмечен звездой\n if (error instanceof GitVerseApiError && error.status === 404) {\n return false;\n }\n throw error;\n }\n }\n\n /**\n * Убрать звезду с репозитория\n * @param {string} owner - Владелец репозитория\n * @param {string} repo - Название репозитория\n * @returns {Promise<void>} Результат операции\n */\n async remove(owner: string, repo: string, options?: RequestOptions): Promise<void> {\n await this.client.delete<void>(`/user/starred/${owner}/${repo}`, undefined, options);\n }\n}\n"
5
+ "import type { GitVerseClient } from \"../client\";\nimport type { Repository } from \"../types\";\n\n/**\n * API для работы со звёздами (избранное)\n */\nexport class StarsApi {\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 * Get list of favorites repositories of authenticated user\n * @param queryParams Параметры запроса\n * @param options Опции запроса\n * @returns Repository[]\n */\n list(\n queryParams?: { page?: number; per_page?: number; sort?: string; direction?: string },\n options?: { signal?: AbortSignal },\n ): Promise<Repository[]> {\n const searchParams = new URLSearchParams();\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 if (queryParams?.sort !== undefined) searchParams.append(\"sort\", queryParams.sort);\n if (queryParams?.direction !== undefined) searchParams.append(\"direction\", queryParams.direction);\n const queryString = searchParams.toString();\n const url = `/user/starred${queryString ? `?${queryString}` : \"\"}`;\n return this.client.get<Repository[]>(url, options);\n }\n\n /**\n * Check if repository is in favorites\n * @param owner Repository owner\n * @param repo Repository name\n * @param options Опции запроса\n * @returns void\n */\n isStarred(owner: string, repo: string, options?: { signal?: AbortSignal }): Promise<void> {\n return this.client.get<void>(`/user/starred/${owner}/${repo}`, options);\n }\n\n /**\n * Add repository to favorites\n * @param owner Repository owner\n * @param repo Repository name\n * @param options Опции запроса\n * @returns void\n */\n star(owner: string, repo: string, options?: { signal?: AbortSignal }): Promise<void> {\n return this.client.put<void>(`/user/starred/${owner}/${repo}`, options);\n }\n\n /**\n * Remove repository from favorites\n * @param owner Repository owner\n * @param repo Repository name\n * @param options Опции запроса\n * @returns void\n */\n unstar(owner: string, repo: string, options?: { signal?: AbortSignal }): Promise<void> {\n return this.client.delete<void>(`/user/starred/${owner}/${repo}`, undefined, options);\n }\n}\n"
6
6
  ],
7
- "mappings": "iCAOO,MAAM,CAAS,CACA,OAApB,WAAW,CAAS,EAAwB,CAAxB,cAMpB,IAAI,CAAC,EAAiD,CACpD,OAAO,KAAK,OAAO,IAAkB,gBAAiB,CAAO,OASzD,IAAG,CAAC,EAAe,EAAc,EAAyC,CAC9E,MAAM,KAAK,OAAO,IAAU,iBAAiB,KAAS,IAAQ,OAAW,CAAO,OAS5E,MAAK,CAAC,EAAe,EAAc,EAA4C,CACnF,GAAI,CAEF,OADA,MAAM,KAAK,OAAO,IAAU,iBAAiB,KAAS,IAAQ,CAAO,EAC9D,GACP,MAAO,EAAgB,CAEvB,GAAI,aAAiB,GAAoB,EAAM,SAAW,IACxD,MAAO,GAET,MAAM,QAUJ,OAAM,CAAC,EAAe,EAAc,EAAyC,CACjF,MAAM,KAAK,OAAO,OAAa,iBAAiB,KAAS,IAAQ,OAAW,CAAO,EAEvF",
8
- "debugId": "41B0D66FC695A1AA64756E2164756E21",
7
+ "mappings": "AAMO,MAAM,CAAS,CACZ,OAMR,WAAW,CAAC,EAAwB,CAClC,KAAK,OAAS,EAShB,IAAI,CACF,EACA,EACuB,CACvB,IAAM,EAAe,IAAI,gBACzB,GAAI,GAAa,OAAS,OAAW,EAAa,OAAO,OAAQ,OAAO,EAAY,IAAI,CAAC,EACzF,GAAI,GAAa,WAAa,OAAW,EAAa,OAAO,WAAY,OAAO,EAAY,QAAQ,CAAC,EACrG,GAAI,GAAa,OAAS,OAAW,EAAa,OAAO,OAAQ,EAAY,IAAI,EACjF,GAAI,GAAa,YAAc,OAAW,EAAa,OAAO,YAAa,EAAY,SAAS,EAChG,IAAM,EAAc,EAAa,SAAS,EACpC,EAAM,gBAAgB,EAAc,IAAI,IAAgB,KAC9D,OAAO,KAAK,OAAO,IAAkB,EAAK,CAAO,EAUnD,SAAS,CAAC,EAAe,EAAc,EAAmD,CACxF,OAAO,KAAK,OAAO,IAAU,iBAAiB,KAAS,IAAQ,CAAO,EAUxE,IAAI,CAAC,EAAe,EAAc,EAAmD,CACnF,OAAO,KAAK,OAAO,IAAU,iBAAiB,KAAS,IAAQ,CAAO,EAUxE,MAAM,CAAC,EAAe,EAAc,EAAmD,CACrF,OAAO,KAAK,OAAO,OAAa,iBAAiB,KAAS,IAAQ,OAAW,CAAO,EAExF",
8
+ "debugId": "9D3715F240BCA21664756E2164756E21",
9
9
  "names": []
10
10
  }