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,392 @@
import { ActivationAccessors } from '../Activation';
import { FeatureTypeEnum, } from '../Core';
/**
*
* @param racialTrait
*/
export function getUniqueKey(racialTrait) {
return `${getId(racialTrait)}-${getEntityTypeId(racialTrait)}`;
}
/**
*
* @param racialTrait
*/
export function getDefinition(racialTrait) {
return racialTrait.definition;
}
/**
*
* @param racialTrait
*/
export function getDefinitionKey(racialTrait) {
var _a, _b;
return (_b = (_a = getDefinition(racialTrait)) === null || _a === void 0 ? void 0 : _a.definitionKey) !== null && _b !== void 0 ? _b : '';
}
/**
*
* @param racialTrait
*/
export function getName(racialTrait) {
return getDefinitionName(racialTrait);
}
/**
*
* @param racialTrait
*/
export function getDefinitionName(racialTrait) {
var _a, _b;
return (_b = (_a = getDefinition(racialTrait)) === null || _a === void 0 ? void 0 : _a.name) !== null && _b !== void 0 ? _b : '';
}
/**
*
* @param racialTrait
*/
export function getId(racialTrait) {
return getDefinitionId(racialTrait);
}
/**
*
* @param racialTrait
*/
export function getDefinitionId(racialTrait) {
var _a, _b;
return (_b = (_a = getDefinition(racialTrait)) === null || _a === void 0 ? void 0 : _a.id) !== null && _b !== void 0 ? _b : -1;
}
/**
*
* @param racialTrait
*/
export function getEntityTypeId(racialTrait) {
return getDefinitionEntityTypeId(racialTrait);
}
/**
*
* @param racialTrait
*/
export function getDefinitionEntityTypeId(racialTrait) {
var _a, _b;
return (_b = (_a = getDefinition(racialTrait)) === null || _a === void 0 ? void 0 : _a.entityTypeId) !== null && _b !== void 0 ? _b : -1;
}
/**
*
* @param racialTrait
*/
export function getEntityRaceId(racialTrait) {
return getDefinitionEntityRaceId(racialTrait);
}
/**
*
* @param racialTrait
*/
export function getDefinitionEntityRaceId(racialTrait) {
var _a, _b;
return (_b = (_a = getDefinition(racialTrait)) === null || _a === void 0 ? void 0 : _a.entityRaceId) !== null && _b !== void 0 ? _b : -1;
}
/**
*
* @param racialTrait
*/
export function getEntityRaceTypeId(racialTrait) {
return getDefinitionEntityRaceTypeId(racialTrait);
}
/**
*
* @param racialTrait
*/
export function getDefinitionEntityRaceTypeId(racialTrait) {
var _a, _b;
return (_b = (_a = getDefinition(racialTrait)) === null || _a === void 0 ? void 0 : _a.entityRaceTypeId) !== null && _b !== void 0 ? _b : -1;
}
/**
*
* @param racialTrait
*/
export function getDescription(racialTrait) {
return getDefinitionDescription(racialTrait);
}
/**
*
* @param racialTrait
*/
export function getDefinitionDescription(racialTrait) {
var _a, _b;
return (_b = (_a = getDefinition(racialTrait)) === null || _a === void 0 ? void 0 : _a.description) !== null && _b !== void 0 ? _b : null;
}
/**
*
* @param racialTrait
*/
export function getSourceId(racialTrait) {
return getDefinitionSourceId(racialTrait);
}
/**
*
* @param racialTrait
*/
export function getDefinitionSourceId(racialTrait) {
var _a, _b;
return (_b = (_a = getDefinition(racialTrait)) === null || _a === void 0 ? void 0 : _a.sourceId) !== null && _b !== void 0 ? _b : null;
}
/**
*
* @param racialTrait
*/
export function getSourcePage(racialTrait) {
return getDefinitionSourcePage(racialTrait);
}
/**
*
* @param racialTrait
*/
export function getDefinitionSourcePage(racialTrait) {
var _a, _b;
return (_b = (_a = getDefinition(racialTrait)) === null || _a === void 0 ? void 0 : _a.sourcePageNumber) !== null && _b !== void 0 ? _b : null;
}
/**
*
* @param racialTrait
*/
export function getActivation(racialTrait) {
return getDefinitionActivation(racialTrait);
}
/**
*
* @param racialTrait
*/
export function getDefinitionActivation(racialTrait) {
var _a, _b;
return (_b = (_a = getDefinition(racialTrait)) === null || _a === void 0 ? void 0 : _a.activation) !== null && _b !== void 0 ? _b : null;
}
/**
*
* @param racialTrait
*/
export function getActivationTime(racialTrait) {
return ActivationAccessors.getTime(getActivation(racialTrait));
}
/**
*
* @param racialTrait
*/
export function getActivationType(racialTrait) {
return ActivationAccessors.getType(getActivation(racialTrait));
}
/**
*
* @param racialTrait
*/
export function getSnippet(racialTrait) {
return getDefinitionSnippet(racialTrait);
}
/**
*
* @param racialTrait
*/
export function getDefinitionSnippet(racialTrait) {
var _a, _b;
return (_b = (_a = getDefinition(racialTrait)) === null || _a === void 0 ? void 0 : _a.snippet) !== null && _b !== void 0 ? _b : null;
}
/**
*
* @param racialTrait
*/
export function getDisplayOrder(racialTrait) {
return getDefinitionDisplayOrder(racialTrait);
}
/**
*
* @param racialTrait
*/
export function getDefinitionDisplayOrder(racialTrait) {
var _a, _b;
return (_b = (_a = getDefinition(racialTrait)) === null || _a === void 0 ? void 0 : _a.displayOrder) !== null && _b !== void 0 ? _b : null;
}
/**
*
* @param racialTrait
*/
export function getHideInBuilder(racialTrait) {
return getDefinitionHideInBuilder(racialTrait);
}
/**
*
* @param racialTrait
*/
export function getDefinitionHideInBuilder(racialTrait) {
var _a, _b;
return (_b = (_a = getDefinition(racialTrait)) === null || _a === void 0 ? void 0 : _a.hideInBuilder) !== null && _b !== void 0 ? _b : false;
}
/**
*
* @param racialTrait
*/
export function getHideInSheet(racialTrait) {
return getDefinitionHideInSheet(racialTrait);
}
/**
*
* @param racialTrait
*/
export function getDefinitionHideInSheet(racialTrait) {
var _a, _b;
return (_b = (_a = getDefinition(racialTrait)) === null || _a === void 0 ? void 0 : _a.hideInSheet) !== null && _b !== void 0 ? _b : false;
}
/**
*
* @param racialTrait
*/
export function getCreatureRules(racialTrait) {
return getDefinitionCreatureRules(racialTrait);
}
/**
*
* @param racialTrait
*/
export function getDefinitionCreatureRules(racialTrait) {
var _a, _b;
return (_b = (_a = getDefinition(racialTrait)) === null || _a === void 0 ? void 0 : _a.creatureRules) !== null && _b !== void 0 ? _b : [];
}
/**
*
* @param racialTrait
*/
export function getDefinitionSpellListIds(racialTrait) {
var _a, _b;
return (_b = (_a = getDefinition(racialTrait)) === null || _a === void 0 ? void 0 : _a.spellListIds) !== null && _b !== void 0 ? _b : [];
}
/**
*
* @param racialTrait
*/
export function getSpellListIds(racialTrait) {
return getDefinitionSpellListIds(racialTrait);
}
/**
*
* @param racialTrait
*/
export function getDefinitionAffectedFeatureDefinitionKeys(racialTrait) {
var _a, _b;
return (_b = (_a = getDefinition(racialTrait)) === null || _a === void 0 ? void 0 : _a.affectedFeatureDefinitionKeys) !== null && _b !== void 0 ? _b : [];
}
/**
*
* @param racialTrait
*/
export function getAffectedFeatureDefinitionKeys(racialTrait) {
return getDefinitionAffectedFeatureDefinitionKeys(racialTrait);
}
/**
*
* @param racialTrait
*/
export function getFeatureType(racialTrait) {
return getDefinitionFeatureType(racialTrait);
}
/**
*
* @param racialTrait
*/
export function getDefinitionFeatureType(racialTrait) {
var _a, _b;
return (_b = (_a = getDefinition(racialTrait)) === null || _a === void 0 ? void 0 : _a.featureType) !== null && _b !== void 0 ? _b : FeatureTypeEnum.GRANTED;
}
/**
*
* @param racialTrait
*/
export function getSources(racialTrait) {
return getDefinitionSources(racialTrait);
}
/**
*
* @param racialTrait
*/
export function getDefinitionSources(racialTrait) {
var _a, _b;
return (_b = (_a = getDefinition(racialTrait)) === null || _a === void 0 ? void 0 : _a.sources) !== null && _b !== void 0 ? _b : [];
}
/**
*
* @param racialTrait
*/
export function isCalledOut(racialTrait) {
return getDefinitionIsCalledOut(racialTrait);
}
/**
*
* @param racialTrait
*/
export function getDefinitionIsCalledOut(racialTrait) {
var _a, _b;
return (_b = (_a = getDefinition(racialTrait)) === null || _a === void 0 ? void 0 : _a.isCalledOut) !== null && _b !== void 0 ? _b : false;
}
/**
*
* @param racialTrait
*/
export function getSpells(racialTrait) {
return racialTrait.spells;
}
/**
*
* @param racialTrait
*/
export function getOptions(racialTrait) {
return racialTrait.options;
}
/**
*
* @param racialTrait
*/
export function getActions(racialTrait) {
return racialTrait.actions;
}
/**
*
* @param racialTrait
*/
export function getChoices(racialTrait) {
return racialTrait.choices;
}
/**
*
* @param racialTrait
*/
export function getFeats(racialTrait) {
return racialTrait.feats;
}
/**
*
* @param racialTrait
*/
export function getModifiers(racialTrait) {
return racialTrait.modifiers;
}
/**
*
* @param racialTrait
*/
export function getAccessType(racialTrait) {
return racialTrait.accessType;
}
/**
*
* @param racialTrait
* @returns {Record<string, number>}
*/
export function getDisplayConfiguration(racialTrait) {
var _a, _b;
return (_b = (_a = racialTrait.definition) === null || _a === void 0 ? void 0 : _a.displayConfiguration) !== null && _b !== void 0 ? _b : null;
}
export function getRequiredLevel(racialTrait) {
return getDefinitionRequiredLevel(racialTrait);
}
export function getDefinitionRequiredLevel(racialTrait) {
var _a, _b;
return (_b = (_a = getDefinition(racialTrait)) === null || _a === void 0 ? void 0 : _a.requiredLevel) !== null && _b !== void 0 ? _b : 0;
}
export function getCategories(racialTrait) {
var _a, _b;
return (_b = (_a = getDefinition(racialTrait)) === null || _a === void 0 ? void 0 : _a.categories) !== null && _b !== void 0 ? _b : [];
}
@@ -0,0 +1,20 @@
import { AppContextTypeEnum } from '../Core';
import { getHideInBuilder, getHideInSheet } from './accessors';
/**
*
* @param racialTrait
* @param context
*/
export function deriveHideInContext(racialTrait, context) {
if (context !== null && context === AppContextTypeEnum.SHEET) {
return getHideInSheet(racialTrait);
}
return getHideInBuilder(racialTrait);
}
/**
*
* @param racialTrait
*/
export function deriveContextData(racialTrait) {
return {};
}
@@ -0,0 +1,58 @@
import { ActionGenerators } from '../Action';
import { ChoiceGenerators } from '../Choice';
import { DataOriginTypeEnum } from '../DataOrigin';
import { DefinitionPoolUtils } from '../DefinitionPool';
import { FeatGenerators } from '../Feat';
import { ModifierGenerators } from '../Modifier';
import { OptionGenerators } from '../Option';
import { SpellGenerators } from '../Spell';
import { getDefinitionKey, getEntityTypeId, getId } from './accessors';
/**
*
* @param race
* @param racialTrait
* @param optionLookup
* @param actionLookup
* @param choiceLookup
* @param modifierLookup
* @param spellLookup
* @param featLookup
* @param valueLookup
* @param spellListDataOriginLookup
* @param ruleData
* @param definitionPool
*/
export function generateRacialTrait(race, racialTrait, optionLookup, actionLookup, choiceLookup, modifierLookup, spellLookup, featLookup, valueLookup, spellListDataOriginLookup, ruleData, definitionPool) {
const id = getId(racialTrait);
const entityTypeId = getEntityTypeId(racialTrait);
const actions = ActionGenerators.generateBaseActions(id, entityTypeId, actionLookup, valueLookup, DataOriginTypeEnum.RACE, racialTrait, race);
const choices = ChoiceGenerators.generateBaseChoices(id, entityTypeId, choiceLookup, DataOriginTypeEnum.RACE, racialTrait, race);
const spells = SpellGenerators.generateBaseSpells(id, entityTypeId, spellLookup, DataOriginTypeEnum.RACE, racialTrait, race, ruleData, spellListDataOriginLookup, valueLookup);
const modifiers = ModifierGenerators.generateModifiers(id, entityTypeId, modifierLookup, DataOriginTypeEnum.RACE, racialTrait, race);
const feats = FeatGenerators.generateDataOriginFeats(id, entityTypeId, featLookup, DataOriginTypeEnum.RACE, racialTrait, race);
const options = generateRacialTraitOptions(racialTrait, race, featLookup, actionLookup, spellLookup, optionLookup, modifierLookup, valueLookup, spellListDataOriginLookup, ruleData);
const generatedRacialTrait = Object.assign(Object.assign({}, racialTrait), { actions,
choices,
feats,
modifiers,
spells,
options, accessType: DefinitionPoolUtils.getDefinitionAccessType(getDefinitionKey(racialTrait), definitionPool) });
return generatedRacialTrait;
}
/**
*
* @param racialTrait
* @param race
* @param featLookup
* @param actionLookup
* @param spellLookup
* @param optionLookup
* @param modifierLookup
* @param valueLookup
* @param spellListDataOriginLookup
* @param ruleData
*/
export function generateRacialTraitOptions(racialTrait, race, featLookup, actionLookup, spellLookup, optionLookup, modifierLookup, valueLookup, spellListDataOriginLookup, ruleData) {
const baseOptions = OptionGenerators.generateDataOriginBaseOptions(getId(racialTrait), getEntityTypeId(racialTrait), optionLookup, DataOriginTypeEnum.RACE, racialTrait, race);
return OptionGenerators.generateOptions(baseOptions, DataOriginTypeEnum.RACE, featLookup, actionLookup, spellLookup, optionLookup, modifierLookup, valueLookup, spellListDataOriginLookup, ruleData, racialTrait, race);
}
@@ -0,0 +1,10 @@
import * as RacialTraitAccessors from './accessors';
import * as RacialTraitDerivers from './derivers';
import * as RacialTraitGenerators from './generators';
import * as RacialTraitSimulators from './simulators';
import * as RacialTraitTypings from './typings';
import * as RacialTraitUtils from './utils';
import * as RacialTraitValidators from './validators';
export * from './typings';
export { RacialTraitAccessors, RacialTraitDerivers, RacialTraitGenerators, RacialTraitSimulators, RacialTraitUtils, RacialTraitValidators, };
export default Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, RacialTraitAccessors), RacialTraitDerivers), RacialTraitGenerators), RacialTraitSimulators), RacialTraitTypings), RacialTraitUtils), RacialTraitValidators);
@@ -0,0 +1,30 @@
import { AccessTypeEnum } from '../Access';
import { DefinitionPoolUtils } from '../DefinitionPool';
/**
*
* @param definitionKey
* @param definitionPool
*/
export function simulateRacialTrait(definitionKey, definitionPool) {
const definition = DefinitionPoolUtils.getRacialTraitDefinition(definitionKey, definitionPool);
if (definition === null) {
return null;
}
const racialTraitMapping = simulateRacialTraitContract({ definition });
return simulateRacialTraitFromContract(racialTraitMapping, DefinitionPoolUtils.getDefinitionAccessType(definitionKey, definitionPool));
}
/**
*
* @param racialTraitMapping
* @param accessType
*/
export function simulateRacialTraitFromContract(racialTraitMapping, accessType) {
return Object.assign(Object.assign({}, racialTraitMapping), { actions: [], choices: [], feats: [], modifiers: [], options: [], spells: [], accessType: accessType !== null && accessType !== void 0 ? accessType : AccessTypeEnum.OWNED });
}
/**
*
* @param racialTraitProps
*/
export function simulateRacialTraitContract(racialTraitProps) {
return Object.assign({ definition: null }, racialTraitProps);
}
@@ -0,0 +1,12 @@
import { CoreUtils, DisplayConfigurationValueEnum } from '../Core';
import { getDisplayConfiguration } from './accessors';
export function filterRacialTraitsByDisplayConfigurationType(racialTraits, displayConfigurationTypes) {
return racialTraits.filter((racialTrait) => {
const displayConfiguration = getDisplayConfiguration(racialTrait);
if (!displayConfiguration) {
return true;
}
const displayConfigurationValues = displayConfigurationTypes.map((displayConfigurationType) => CoreUtils.getDisplayConfigurationValue(displayConfigurationType, displayConfiguration));
return displayConfigurationValues.some((displayConfigurationValue) => displayConfigurationValue === DisplayConfigurationValueEnum.ON);
});
}
@@ -0,0 +1,10 @@
import { RaceValidators } from '../Race';
import { getEntityRaceId } from './accessors';
/**
*
* @param race
* @param racialTrait
*/
export function isValidRaceRacialTrait(race, racialTrait) {
return RaceValidators.isValidRaceId(race, getEntityRaceId(racialTrait));
}