configcat-common
Version:
ConfigCat is a configuration as a service that lets you manage your features and configurations without actually deploying new code.
53 lines • 2.11 kB
TypeScript
import type { SettingValue } from "./ProjectConfig";
import { Setting } from "./ProjectConfig";
/**
* Specifies the behaviours for flag overrides.
*/
export declare enum OverrideBehaviour {
/**
* When evaluating values, the SDK will not use feature flags and settings from the ConfigCat CDN, but it will use
* all feature flags and settings that are loaded from local-override sources.
*/
LocalOnly = 0,
/**
* When evaluating values, the SDK will use all feature flags and settings that are downloaded from the ConfigCat CDN,
* plus all feature flags and settings that are loaded from local-override sources. If a feature flag or a setting is
* defined both in the fetched and the local-override source then the local-override version will take precedence.
*/
LocalOverRemote = 1,
/**
* When evaluating values, the SDK will use all feature flags and settings that are downloaded from the ConfigCat CDN,
* plus all feature flags and settings that are loaded from local-override sources. If a feature flag or a setting is
* defined both in the fetched and the local-override source then the fetched version will take precedence.
*/
RemoteOverLocal = 2
}
export interface IOverrideDataSource {
getOverrides(): Promise<{
[name: string]: Setting;
}>;
getOverridesSync(): {
[name: string]: Setting;
};
}
export declare class MapOverrideDataSource implements IOverrideDataSource {
private static getCurrentSettings;
private readonly initialSettings;
private readonly map?;
private readonly ["constructor"];
constructor(map: {
[name: string]: NonNullable<SettingValue>;
}, watchChanges?: boolean);
getOverrides(): Promise<{
[name: string]: Setting;
}>;
getOverridesSync(): {
[name: string]: Setting;
};
}
export declare class FlagOverrides {
dataSource: IOverrideDataSource;
behaviour: OverrideBehaviour;
constructor(dataSource: IOverrideDataSource, behaviour: OverrideBehaviour);
}
//# sourceMappingURL=FlagOverrides.d.ts.map