@robotlegsjs/core
Version:
An architecture-based IoC framework for JavaScript/TypeScript
78 lines • 2.91 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.DirectCommandMapper = void 0;
var CommandMapping_1 = require("../../commandCenter/impl/CommandMapping");
/**
* @private
*/
var DirectCommandMapper = /** @class */ (function () {
/*============================================================================*/
/* Constructor */
/*============================================================================*/
/**
* @private
*/
function DirectCommandMapper(executor, mappings, commandClass) {
this._executor = executor;
this._mappings = mappings;
this._mapping = new CommandMapping_1.CommandMapping(commandClass);
this._mapping.setFireOnce(true);
this._mappings.addMapping(this._mapping);
}
/*============================================================================*/
/* Public Functions */
/*============================================================================*/
/**
* @inheritDoc
*/
DirectCommandMapper.prototype.withGuards = function () {
var _a;
var guards = [];
for (var _i = 0; _i < arguments.length; _i++) {
guards[_i] = arguments[_i];
}
(_a = this._mapping).addGuards.apply(_a, guards);
return this;
};
/**
* @inheritDoc
*/
DirectCommandMapper.prototype.withHooks = function () {
var _a;
var hooks = [];
for (var _i = 0; _i < arguments.length; _i++) {
hooks[_i] = arguments[_i];
}
(_a = this._mapping).addHooks.apply(_a, hooks);
return this;
};
/**
* @inheritDoc
*/
DirectCommandMapper.prototype.withPayloadInjection = function (value) {
if (value === void 0) { value = true; }
this._mapping.setPayloadInjectionEnabled(value);
return this;
};
/**
* @inheritDoc
*/
DirectCommandMapper.prototype.execute = function (payload) {
this._executor.executeCommands(this._mappings.getList(), payload);
};
/**
* @inheritDoc
*/
DirectCommandMapper.prototype.map = function (commandClass) {
return new DirectCommandMapper(this._executor, this._mappings, commandClass);
};
return DirectCommandMapper;
}());
exports.DirectCommandMapper = DirectCommandMapper;
//# sourceMappingURL=DirectCommandMapper.js.map