Grabbed dndbeyond's source code

```
~/go/bin/sourcemapper -output ddb -jsurl https://media.dndbeyond.com/character-app/static/js/main.90aa78c5.js
```
This commit is contained in:
2025-05-28 11:50:03 -07:00
commit 8df9031d27
3592 changed files with 319051 additions and 0 deletions
@@ -0,0 +1,42 @@
import { getModifierData, getModifierDataType, getModifierGroupId, getType } from './accessors';
import { InfusionModifierDataTypeEnum, InfusionTypeEnum } from './constants';
/**
* TODO this needs to consider item information for knownInfusions to be true.
* see hack__requiresItemChoice() for more info
*
* @param infusion
*/
export function deriveRequiresItemChoice(infusion) {
return getType(infusion) !== InfusionTypeEnum.REPLICATE;
}
/**
*
* @param infusion
*/
export function deriveRequiresModifierDataChoice(infusion) {
const modifierDataType = getModifierDataType(infusion);
if (modifierDataType === null || modifierDataType === InfusionModifierDataTypeEnum.GRANTED) {
return false;
}
return true;
}
/**
*
* @param infusion
*/
export function deriveSelectedModifierData(infusion) {
const modifierGroupId = getModifierGroupId(infusion);
const modifierData = getModifierData(infusion);
const modifierDataType = getModifierDataType(infusion);
switch (modifierDataType) {
case InfusionModifierDataTypeEnum.GRANTED:
return modifierData[0];
case InfusionModifierDataTypeEnum.CLASS_LEVEL:
case InfusionModifierDataTypeEnum.DAMAGE_TYPE_CHOICE:
const foundModifierGroup = modifierData.find((dataItem) => dataItem.id === modifierGroupId);
return foundModifierGroup ? foundModifierGroup : null;
default:
// not implemented
}
return null;
}