oft/module/utils/preRegisterTweak.mjs

24 lines
793 B
JavaScript

import { SettingStatusEnum, status } from "./SettingStatus.mjs";
import { __ID__ } from "../consts.mjs";
import { Logger } from "./Logger.mjs";
export function preventTweakRegistration(key, invasive = false) {
let prevented = Hooks.call(`${__ID__}.preRegisterTweak`, key, invasive);
// Compatibility Code
if (Hooks.events[`${__ID__}.preventSetting`] != null) {
foundry.utils.logCompatibilityWarning(
`The hook "${__ID__}.preventSetting" has been renamed "${__ID__}.registerTweak".`,
{ since: `v1.2.0`, until: `v2.0.0`, stack: false, once: true },
);
prevented &&= Hooks.call(`${__ID__}.preventSetting`);
};
if (!prevented) {
Logger.log(`Preventing setting "${key}" from being registered`);
status[key] = SettingStatusEnum.Blocked;
return true;
};
return false;
};