@bitzonegaming/roleplay-engine-sdk
Version:
Roleplay Engine SDK
25 lines (24 loc) • 866 B
TypeScript
import { ConfigTypeValueMap } from './config-types';
import { ConfigDefinitionsMap } from './config-definition';
type KnownKey = keyof ConfigDefinitionsMap;
export type KnownConfigUpdates = {
[K in KnownKey]?: {
type: {
[P in keyof ConfigTypeValueMap]: ConfigDefinitionsMap[K] extends ConfigTypeValueMap[P] ? P : never;
}[keyof ConfigTypeValueMap];
value: ConfigDefinitionsMap[K];
customGroup?: string;
};
};
type CustomConfigUpdateEntry = {
[T in keyof ConfigTypeValueMap]: {
type: T;
value: ConfigTypeValueMap[T];
customGroup?: string;
};
}[keyof ConfigTypeValueMap];
export type CustomConfigUpdates = {
[K in string as K extends KnownKey ? never : K]?: CustomConfigUpdateEntry;
};
export type UpdateConfigurationRequest = KnownConfigUpdates & CustomConfigUpdates;
export {};