29 lines
586 B
TypeScript
29 lines
586 B
TypeScript
import {IVersion} from './types';
|
|
|
|
export interface IConfig {
|
|
url: string;
|
|
register: boolean;
|
|
version: IVersion;
|
|
}
|
|
|
|
declare global {
|
|
interface Window {
|
|
config?: Partial<IConfig>;
|
|
}
|
|
}
|
|
|
|
const config: IConfig = {
|
|
url: 'unset',
|
|
register: false,
|
|
version: {commit: 'unknown', buildDate: 'unknown', version: 'unknown'},
|
|
...window.config,
|
|
};
|
|
|
|
export function set<Key extends keyof IConfig>(key: Key, value: IConfig[Key]): void {
|
|
config[key] = value;
|
|
}
|
|
|
|
export function get<K extends keyof IConfig>(key: K): IConfig[K] {
|
|
return config[key];
|
|
}
|