``` ~/go/bin/sourcemapper -output ddb -jsurl https://media.dndbeyond.com/character-app/static/js/main.90aa78c5.js ```
26 lines
706 B
TypeScript
26 lines
706 B
TypeScript
import { useContext, useEffect, useState } from "react";
|
|
|
|
import {
|
|
AbilityManager,
|
|
FeaturesManager,
|
|
} from "@dndbeyond/character-rules-engine/es";
|
|
|
|
import { AttributesManagerContext } from "~/tools/js/Shared/managers/AttributesManagerContext";
|
|
|
|
export function useAbilities() {
|
|
const { attributesManager } = useContext(AttributesManagerContext);
|
|
|
|
const [abilities, setAbilities] = useState<Array<AbilityManager>>([]);
|
|
|
|
useEffect(() => {
|
|
async function onUpdate() {
|
|
const abilities = await attributesManager.getAbilities();
|
|
|
|
setAbilities(abilities);
|
|
}
|
|
return FeaturesManager.subscribeToUpdates({ onUpdate });
|
|
}, [attributesManager, setAbilities]);
|
|
|
|
return abilities;
|
|
}
|