``` ~/go/bin/sourcemapper -output ddb -jsurl https://media.dndbeyond.com/character-app/static/js/main.90aa78c5.js ```
40 lines
1.3 KiB
JavaScript
40 lines
1.3 KiB
JavaScript
import { ClassFeatureAccessors } from '../ClassFeature';
|
|
import { FeatureTypeEnum } from '../Core';
|
|
import { getAffectedClassFeatureId, getClassFeature } from './accessors';
|
|
/**
|
|
*
|
|
* @param optionalClassFeature
|
|
*/
|
|
export function getOptionalClassFeatureSpellListIds(optionalClassFeature) {
|
|
const spellListIds = [];
|
|
const classFeature = getClassFeature(optionalClassFeature);
|
|
if (classFeature) {
|
|
spellListIds.push(...ClassFeatureAccessors.getSpellListIds(classFeature));
|
|
}
|
|
return spellListIds;
|
|
}
|
|
/**
|
|
*
|
|
* @param optionalClassFeature
|
|
* @param data
|
|
*/
|
|
export function getUpdateMappingSpellListIdsToRemove(optionalClassFeature, data) {
|
|
const spellListIds = [];
|
|
const existingAffectedClassFeatureId = getAffectedClassFeatureId(optionalClassFeature);
|
|
const classFeature = getClassFeature(optionalClassFeature);
|
|
if (classFeature &&
|
|
ClassFeatureAccessors.getFeatureType(classFeature) === FeatureTypeEnum.REPLACEMENT &&
|
|
existingAffectedClassFeatureId !== null &&
|
|
data.affectedClassFeatureId === null) {
|
|
spellListIds.push(...getOptionalClassFeatureSpellListIds(optionalClassFeature));
|
|
}
|
|
return spellListIds;
|
|
}
|
|
/**
|
|
*
|
|
* @param optionalClassFeature
|
|
*/
|
|
export function getRemoveMappingSpellListIds(optionalClassFeature) {
|
|
return getOptionalClassFeatureSpellListIds(optionalClassFeature);
|
|
}
|