@robotlegsjs/core
Version:
An architecture-based IoC framework for JavaScript/TypeScript
54 lines • 2.15 kB
JavaScript
;
// ------------------------------------------------------------------------------
// Copyright (c) 2017-present, RobotlegsJS. All Rights Reserved.
//
// NOTICE: You are permitted to use, modify, and distribute this file
// in accordance with the terms of the license agreement accompanying it.
// ------------------------------------------------------------------------------
Object.defineProperty(exports, "__esModule", { value: true });
exports.ObjectProcessor = void 0;
var ObjectHandler_1 = require("./ObjectHandler");
/**
* Robotlegs object processor
*
* @private
*/
var ObjectProcessor = /** @class */ (function () {
function ObjectProcessor() {
/*============================================================================*/
/* Private Properties */
/*============================================================================*/
this._handlers = [];
}
/*============================================================================*/
/* Public Functions */
/*============================================================================*/
/**
* Add a handler to process objects that match a given matcher.
*
* @param matcher The matcher
* @param handler The handler function
*/
ObjectProcessor.prototype.addObjectHandler = function (matcher, handler) {
this._handlers.push(new ObjectHandler_1.ObjectHandler(matcher, handler));
};
/**
* Process an object by running it through all registered handlers
*
* @param object The object instance to process.
*/
ObjectProcessor.prototype.processObject = function (object) {
this._handlers.forEach(function (handler) {
handler.handle(object);
});
};
/**
* Removes all handlers
*/
ObjectProcessor.prototype.removeAllHandlers = function () {
this._handlers = [];
};
return ObjectProcessor;
}());
exports.ObjectProcessor = ObjectProcessor;
//# sourceMappingURL=ObjectProcessor.js.map