Files
dndbeyond_src/ddb_main/tools/js/Shared/selectors/rollContext.ts
T

29 lines
807 B
TypeScript

import { createSelector } from "reselect";
import {
DecorationUtils,
rulesEngineSelectors,
} from "@dndbeyond/character-rules-engine/es";
import { RollContext } from "@dndbeyond/pocket-dimension-dice/types";
import { appEnvSelectors } from "./index";
export const getCharacterRollContext = createSelector(
[
appEnvSelectors.getCharacterId,
rulesEngineSelectors.getName,
rulesEngineSelectors.getDecorationInfo,
rulesEngineSelectors.getUserId,
],
(characterId, name, decorationInfo, userId): RollContext => {
return {
entityId: characterId ? characterId.toString() : "",
entityType: "character",
name: name?.toString(),
avatarUrl:
DecorationUtils.getAvatarInfo(decorationInfo).avatarUrl?.toString(),
userId: String(userId),
};
}
);