use promise for rate limit

This commit is contained in:
Namrata Jha
2021-12-22 16:05:18 +00:00
committed by GitHub
parent 0739cce1e8
commit 9ff1e31776
2 changed files with 28 additions and 32 deletions
+18 -11
View File
@@ -172,10 +172,19 @@ exports.Input = Input;
/***/ }), /***/ }),
/***/ 5544: /***/ 5544:
/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { /***/ (function(__unused_webpack_module, exports, __nccwpck_require__) {
"use strict"; "use strict";
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
Object.defineProperty(exports, "__esModule", ({ value: true })); Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.deletePackageVersions = exports.deletePackageVersion = exports.getRateLimit = void 0; exports.deletePackageVersions = exports.deletePackageVersion = exports.getRateLimit = void 0;
const rxjs_1 = __nccwpck_require__(5805); const rxjs_1 = __nccwpck_require__(5805);
@@ -201,19 +210,17 @@ query {
} }
}`; }`;
function getRateLimit(token) { function getRateLimit(token) {
return rxjs_1.from(graphql_1.graphql(token, ratelimitQuery, { return __awaiter(this, void 0, void 0, function* () {
headers: { return graphql_1.graphql(token, ratelimitQuery, {
Accept: 'application/vnd.github.package-deletes-preview+json' headers: {
} Accept: 'application/vnd.github.package-deletes-preview+json'
})).pipe(operators_1.catchError(err => { }
return rxjs_1.throwError(err.errors && err.errors.length > 0 });
? `${err.errors[0].message}` });
: `unknown error`);
}));
} }
exports.getRateLimit = getRateLimit; exports.getRateLimit = getRateLimit;
function deletePackageVersion(packageVersionId, token) { function deletePackageVersion(packageVersionId, token) {
getRateLimit(token).pipe(operators_1.map(value => console.log(`login: ${value.viewer.login}, rate limit: ${value.ratelimit.limit}, cost: ${value.ratelimit.cost}, remaining: ${value.ratelimit.remaining}`))); getRateLimit(token).then(value => console.log(`login: ${value.viewer.login}, rate limit: ${value.ratelimit.limit}, cost: ${value.ratelimit.cost}, remaining: ${value.ratelimit.remaining}`));
if (deleted === 99) { if (deleted === 99) {
console.log(`reaching rate limit`); console.log(`reaching rate limit`);
operators_1.delay(5000); operators_1.delay(5000);
+10 -21
View File
@@ -43,35 +43,24 @@ query {
} }
}` }`
export function getRateLimit(token: string): Observable<RateLimitResponse> { export async function getRateLimit(token: string): Promise<RateLimitResponse> {
return from( return graphql(token, ratelimitQuery, {
graphql(token, ratelimitQuery, { headers: {
headers: { Accept: 'application/vnd.github.package-deletes-preview+json'
Accept: 'application/vnd.github.package-deletes-preview+json' }
} }) as Promise<RateLimitResponse>
}) as Promise<RateLimitResponse>
).pipe(
catchError(err => {
return throwError(
err.errors && err.errors.length > 0
? `${err.errors[0].message}`
: `unknown error`
)
})
)
} }
export function deletePackageVersion( export function deletePackageVersion(
packageVersionId: string, packageVersionId: string,
token: string token: string
): Observable<boolean> { ): Observable<boolean> {
getRateLimit(token).pipe( getRateLimit(token).then(value =>
tap(value => console.log(
console.log( `login: ${value.viewer.login}, rate limit: ${value.ratelimit.limit}, cost: ${value.ratelimit.cost}, remaining: ${value.ratelimit.remaining}`
`login: ${value.viewer.login}, rate limit: ${value.ratelimit.limit}, cost: ${value.ratelimit.cost}, remaining: ${value.ratelimit.remaining}`
)
) )
) )
if (deleted === 99) { if (deleted === 99) {
console.log(`reaching rate limit`) console.log(`reaching rate limit`)
delay(5000) delay(5000)