From 1c50ded618dddadc85b299652cc42ef7310b253f Mon Sep 17 00:00:00 2001 From: Patrik Oldsberg Date: Thu, 14 May 2020 01:17:32 +0200 Subject: [PATCH] packages/core: added some basic docs for OAuthRequestManager --- .../OAuthRequestManager/BasicOAuthScopes.ts | 4 ++++ .../OAuthRequestManager/OAuthPendingRequests.ts | 5 +++++ .../OAuthRequestManager/OAuthRequestManager.ts | 7 +++++++ 3 files changed, 16 insertions(+) diff --git a/packages/core/src/api/apis/implementations/OAuthRequestManager/BasicOAuthScopes.ts b/packages/core/src/api/apis/implementations/OAuthRequestManager/BasicOAuthScopes.ts index 053d017da8..14aecd1607 100644 --- a/packages/core/src/api/apis/implementations/OAuthRequestManager/BasicOAuthScopes.ts +++ b/packages/core/src/api/apis/implementations/OAuthRequestManager/BasicOAuthScopes.ts @@ -16,6 +16,10 @@ import { OAuthScopes, OAuthScopeLike } from '../../definitions/oauthrequest'; +/** + * The BasicOAuthScopes class is an implementation of OAuthScopes that + * works for any simple comma- or space-separated format of scope. + */ export class BasicOAuthScopes implements OAuthScopes { static from(scopes: OAuthScopeLike, normalizer?: (scope: string) => string) { const normalized = BasicOAuthScopes.asStrings(scopes, normalizer); diff --git a/packages/core/src/api/apis/implementations/OAuthRequestManager/OAuthPendingRequests.ts b/packages/core/src/api/apis/implementations/OAuthRequestManager/OAuthPendingRequests.ts index 2398282842..bc1b33ca5e 100644 --- a/packages/core/src/api/apis/implementations/OAuthRequestManager/OAuthPendingRequests.ts +++ b/packages/core/src/api/apis/implementations/OAuthRequestManager/OAuthPendingRequests.ts @@ -36,6 +36,11 @@ export type OAuthPendingRequestsApi = { pending(): Observable>; }; +/** + * The OAuthPendingRequests class is a utility for managing and observing + * a stream of requests for oauth scopes, and resolving them correctly once + * requests are fulfilled. + */ export class OAuthPendingRequests implements OAuthPendingRequestsApi { private requests: RequestQueueEntry[] = []; diff --git a/packages/core/src/api/apis/implementations/OAuthRequestManager/OAuthRequestManager.ts b/packages/core/src/api/apis/implementations/OAuthRequestManager/OAuthRequestManager.ts index 239d4aebc6..c8cfacd161 100644 --- a/packages/core/src/api/apis/implementations/OAuthRequestManager/OAuthRequestManager.ts +++ b/packages/core/src/api/apis/implementations/OAuthRequestManager/OAuthRequestManager.ts @@ -24,6 +24,13 @@ import { import Observable from 'zen-observable'; import { OAuthPendingRequests, PendingRequest } from './OAuthPendingRequests'; +/** + * The OAuthRequestManager is an implementation of the OAuthRequestApi. + * + * The purpose of this class and the API is to read a stream of incoming requests + * of OAuth access tokens from different providers with varying scope, and funnel + * them all together into a single requests for each OAuth provider. + */ export class OAuthRequestManager implements OAuthRequestApi { private readonly requests$: Observable; private readonly observers = new Set<