@rxx/core
Version:
React MVI micro framework.
83 lines • 4.29 kB
JavaScript
;
/**
* The MIT License (MIT)
* Copyright (c) Taketoshi Aono
*
* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"),
* to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense,
* and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
* WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
* ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
* @fileoverview
* @author Taketoshi Aono
*/
Object.defineProperty(exports, "__esModule", { value: true });
/**
* Abstract expression for method invocation.
*/
var MethodInvocation = /** @class */ (function () {
/**
* @param method Function body.
* @param context Calling context.
* @param args Arguments.
* @param contextName The name of execution context.
* @param propertyKey Property name.
*/
function MethodInvocation(method, context, args, contextName, propertyKey) {
this.method = method;
this.context = context;
this.args = args;
this.contextName = contextName;
this.propertyKey = propertyKey;
}
/**
* Execute function.
* @returns Execute result.
*/
MethodInvocation.prototype.proceed = function () {
return this.method.apply(this.context, this.args);
};
/**
* Get arguments.
* @returns Arguments.
*/
MethodInvocation.prototype.getArguments = function () {
return this.args;
};
/**
* Get context.
* @returns Execution context.
*/
MethodInvocation.prototype.getContext = function () {
return this.context;
};
/**
* Get instance name.
* @returns string A instance name.
*/
MethodInvocation.prototype.getInstanceName = function () {
return this.contextName;
};
/**
* Get property name.
* @returns string A property name.
*/
MethodInvocation.prototype.getPropertyName = function () {
return this.propertyKey;
};
/**
* Return joined name of context and property.
*/
MethodInvocation.prototype.getFullQualifiedName = function () {
return this.getInstanceName() + "." + this.getPropertyName();
};
return MethodInvocation;
}());
exports.MethodInvocation = MethodInvocation;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWR2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2hhbmRsZXIvYWR2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FpQkc7O0FBSUg7O0dBRUc7QUFDSDtJQUNFOzs7Ozs7T0FNRztJQUNILDBCQUNVLE1BQWdCLEVBQ2hCLE9BQVksRUFDWixJQUFXLEVBQ1gsV0FBbUIsRUFDbkIsV0FBbUI7UUFKbkIsV0FBTSxHQUFOLE1BQU0sQ0FBVTtRQUNoQixZQUFPLEdBQVAsT0FBTyxDQUFLO1FBQ1osU0FBSSxHQUFKLElBQUksQ0FBTztRQUNYLGdCQUFXLEdBQVgsV0FBVyxDQUFRO1FBQ25CLGdCQUFXLEdBQVgsV0FBVyxDQUFRO0lBQzFCLENBQUM7SUFFSjs7O09BR0c7SUFDSSxrQ0FBTyxHQUFkO1FBQ0UsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNwRCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0ksdUNBQVksR0FBbkI7UUFDRSxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUM7SUFDbkIsQ0FBQztJQUVEOzs7T0FHRztJQUNJLHFDQUFVLEdBQWpCO1FBQ0UsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3RCLENBQUM7SUFFRDs7O09BR0c7SUFDSSwwQ0FBZSxHQUF0QjtRQUNFLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQztJQUMxQixDQUFDO0lBRUQ7OztPQUdHO0lBQ0ksMENBQWUsR0FBdEI7UUFDRSxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUM7SUFDMUIsQ0FBQztJQUVEOztPQUVHO0lBQ0ksK0NBQW9CLEdBQTNCO1FBQ0UsT0FBVSxJQUFJLENBQUMsZUFBZSxFQUFFLFNBQUksSUFBSSxDQUFDLGVBQWUsRUFBSSxDQUFDO0lBQy9ELENBQUM7SUFDSCx1QkFBQztBQUFELENBQUMsQUE5REQsSUE4REM7QUE5RFksNENBQWdCIn0=