Deprecate unused evented utility (#3125)

This commit is contained in:
Dan Wallis 2021-10-31 20:18:44 +00:00 committed by GitHub
parent fcf23ee8d5
commit c44cf42e2c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -1,7 +1,15 @@
/** /**
* The `evented` mixin provides methods allowing an object to trigger events, * The `evented` mixin provides methods allowing an object to trigger events,
* running externally registered event handlers. * running externally registered event handlers.
*
* @deprecated v1.2, to be removed in v2.0
*/ */
import fireDebugWarning from '../helpers/fireDebugWarning';
const deprecatedNotice =
'The `evented` util is deprecated and will be removed in Flarum 2.0. For more info, please see https://github.com/flarum/core/issues/2547';
export default { export default {
/** /**
* Arrays of registered event handlers, grouped by the event name. * Arrays of registered event handlers, grouped by the event name.
@ -19,6 +27,8 @@ export default {
* @protected * @protected
*/ */
getHandlers(event) { getHandlers(event) {
fireDebugWarning(deprecatedNotice);
this.handlers = this.handlers || {}; this.handlers = this.handlers || {};
this.handlers[event] = this.handlers[event] || []; this.handlers[event] = this.handlers[event] || [];
@ -34,6 +44,8 @@ export default {
* @public * @public
*/ */
trigger(event, ...args) { trigger(event, ...args) {
fireDebugWarning(deprecatedNotice);
this.getHandlers(event).forEach((handler) => handler.apply(this, args)); this.getHandlers(event).forEach((handler) => handler.apply(this, args));
}, },
@ -44,6 +56,8 @@ export default {
* @param {function} handler The function to handle the event. * @param {function} handler The function to handle the event.
*/ */
on(event, handler) { on(event, handler) {
fireDebugWarning(deprecatedNotice);
this.getHandlers(event).push(handler); this.getHandlers(event).push(handler);
}, },
@ -55,6 +69,8 @@ export default {
* @param {function} handler The function to handle the event. * @param {function} handler The function to handle the event.
*/ */
one(event, handler) { one(event, handler) {
fireDebugWarning(deprecatedNotice);
const wrapper = function () { const wrapper = function () {
handler.apply(this, arguments); handler.apply(this, arguments);
@ -71,6 +87,8 @@ export default {
* @param {function} handler The function that handles the event. * @param {function} handler The function that handles the event.
*/ */
off(event, handler) { off(event, handler) {
fireDebugWarning(deprecatedNotice);
const handlers = this.getHandlers(event); const handlers = this.getHandlers(event);
const index = handlers.indexOf(handler); const index = handlers.indexOf(handler);