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:
@@ -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));
|
||||
}
|
||||
Reference in New Issue
Block a user