2025-05-28 15:36:51 -07:00

37 lines
983 B
JavaScript

import { DICE_ROLL_KEY_CONCEPT_SEPARATOR, DICE_ROLL_KEY_DATA_SEPARATOR } from './constants';
/**
*
* @param conceptString
* @param dataKey
*/
export function generateComponentKey(conceptString, dataKey) {
return [conceptString, dataKey].join(DICE_ROLL_KEY_CONCEPT_SEPARATOR);
}
/**
*
* @param dataKeyInfos
*/
export function generateComponentKeyDataKey(dataKeyInfos) {
return dataKeyInfos.map(generateComponentKeyDataInfoKey).join(DICE_ROLL_KEY_DATA_SEPARATOR);
}
/**
*
* @param dataKeyInfo
*/
export function generateComponentKeyDataInfoKey(dataKeyInfo) {
return [dataKeyInfo.key, dataKeyInfo.value].join(DICE_ROLL_KEY_DATA_SEPARATOR);
}
/**
*
* @param abilityScoreType
*/
export function generateAbilityManagerKey(abilityScoreType) {
const dataStrings = [
{
key: 'Type',
value: abilityScoreType.toString(),
},
];
return generateComponentKey('AbilityManager', generateComponentKeyDataKey(dataStrings));
}