vulcain-corejs
Version:
Vulcain micro-service framework
28 lines (27 loc) • 842 B
TypeScript
import * as rx from 'rxjs';
export interface IConfigurationSource {
get(name: string): any;
}
export interface ILocalConfigurationSource extends IConfigurationSource {
readProperties(timeout?: number): Promise<DataSource>;
}
export interface IRemoteConfigurationSource extends IConfigurationSource {
pollProperties(timeout?: number): Promise<DataSource>;
}
export interface ConfigurationItem {
key: string;
value: any;
lastUpdate?: string;
encrypted?: boolean;
deleted?: boolean;
}
export declare class DataSource {
values: IterableIterator<ConfigurationItem>;
constructor(values?: IterableIterator<ConfigurationItem>);
}
export interface IDynamicProperty<T> {
name: string;
value: T;
propertyChanged: rx.Observable<IDynamicProperty<T>>;
set(val: T): void;
}