react-runtime-config
Version:
Provide a typesafe runtime configuration inside a react app
15 lines • 1.31 kB
TypeScript
import { ConfigOptions, Config, ResolvedSchema, isStringEnumConfig, isNumberConfig, isCustomConfig, isBooleanConfig, isStringConfig, StringConfig, StringEnumConfig, NumberConfig, BooleanConfig, CustomConfig, AdminField, AdminFields, GenericAdminFields, NamespacedUseConfigReturnType } from "./types";
export { ConfigOptions, Config, StringConfig, StringEnumConfig, NumberConfig, BooleanConfig, CustomConfig, isStringEnumConfig, isNumberConfig, isCustomConfig, isBooleanConfig, isStringConfig, AdminField, AdminFields, GenericAdminFields, };
export declare function createConfig<TSchema extends Record<string, Config>, TNamespace extends string = "">(options: ConfigOptions<TSchema, TNamespace>): {
useConfig: () => NamespacedUseConfigReturnType<TSchema, TNamespace>;
useAdminConfig: () => {
fields: (keyof TSchema extends keyof TSchema ? { [key in keyof TSchema]: AdminField<TSchema, key>; }[keyof TSchema] : never)[];
reset: () => void;
namespace: string;
};
getConfig: <K extends keyof TSchema>(path: K) => ResolvedSchema<TSchema>[K];
setConfig: <K_1 extends keyof TSchema>(path: K_1, value: ResolvedSchema<TSchema>[K_1]) => void;
getAllConfig: () => ResolvedSchema<TSchema>;
};
export default createConfig;
//# sourceMappingURL=index.d.ts.map