UNPKG

@bitzonegaming/roleplay-engine-sdk

Version:
25 lines (24 loc) 866 B
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 {};