oft/module/utils/preRegisterTweak.mjs

26 lines
831 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 },
);
if (prevented !== false) {
prevented = Hooks.call(`${__ID__}.preventSetting`, key);
};
};
if (!prevented) {
Logger.log(`Preventing setting "${key}" from being registered`);
status[key] = SettingStatusEnum.Blocked;
return true;
};
return false;
};