UNPKG

1.16 kBTypeScriptView Raw
1import { Observable } from 'rxjs';
2import { Context } from './context';
3import { ConfiguredExtension } from './extensions/extension';
4import { GraphQLDocument } from './graphql';
5import * as GQL from './schema/graphqlschema';
6import { ConfigurationCascadeOrError, ConfigurationSubject, Settings } from './settings';
7/**
8 * A controller that exposes functionality for a configuration cascade and querying extensions from the remote
9 * registry.
10 */
11export declare class Controller<S extends ConfigurationSubject, C extends Settings> {
12 readonly context: Context<S, C>;
13 static readonly LOADING: 'loading';
14 constructor(context: Context<S, C>);
15 private readonly viewerConfiguredExtensionsOrLoading;
16 readonly viewerConfiguredExtensions: Observable<ConfiguredExtension[]>;
17 forExtensionID(extensionID: string, registryExtensionFragment: GraphQLDocument | string): Observable<ConfiguredExtension>;
18 withRegistryMetadata(cascade: ConfigurationCascadeOrError<ConfigurationSubject, Settings>): Observable<ConfiguredExtension[]>;
19 withConfiguration(registryExtensions: Observable<GQL.IRegistryExtension[]>): Observable<ConfiguredExtension[]>;
20}