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,26 @@
import { ItemAccessors } from '../Item';
import { getItemRuleData } from './accessors';
import { hack__itemCanBeAddedToInventory } from './hacks';
import { validateItemByInfusionRules } from './validators';
/**
*
* @param items
* @param infusion
* @param itemId
* @param itemCanBeAddedLookup
*/
export function filterAvailableItems(items, infusion, itemId = null, itemCanBeAddedLookup = {}) {
if (itemId !== null && !hack__itemCanBeAddedToInventory(infusion, itemId, itemCanBeAddedLookup)) {
return items.filter((item) => itemId === ItemAccessors.getGroupedId(item));
}
const itemRuleData = getItemRuleData(infusion);
if (itemRuleData === null) {
return [];
}
let availableItems = [];
const andRules = itemRuleData.itemRules !== null ? itemRuleData.itemRules : [];
if (andRules.length) {
availableItems = items.filter((item) => validateItemByInfusionRules(item, andRules));
}
return availableItems;
}