@rxx/core
Version:
React MVI micro framework.
61 lines • 4.79 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
*/
var _this = this;
Object.defineProperty(exports, "__esModule", { value: true });
var tslib_1 = require("tslib");
var advice_1 = require("../advice");
var combine_advice_1 = require("../combine-advice");
var intent_handler_1 = require("../../intent/intent-handler");
var intent_1 = require("../../intent/intent");
var chai_1 = require("chai");
var subject_1 = require("../../subject");
var devtools_1 = require("../../devtools");
describe('combine-advice.ts', function () {
describe('combineAdvice', function () {
it('should combine all advices', function () { return tslib_1.__awaiter(_this, void 0, void 0, function () {
var called, result, mi, advice1, advice2, ih;
return tslib_1.__generator(this, function (_a) {
switch (_a.label) {
case 0:
called = false;
result = [];
mi = new advice_1.MethodInvocation(function () {
called = true;
}, 1, [], '', '');
advice1 = function (mi) {
result.push('advice1');
mi.proceed();
};
advice2 = function (mi) {
result.push('advice2');
mi.proceed();
};
ih = intent_handler_1.generateIntentHandler(new intent_1.Intent(undefined), new subject_1.SubjectTree(devtools_1.connectDevTools({ name: '', instanceId: '' }), undefined));
return [4 /*yield*/, combine_advice_1.combineAdvice(advice1, advice2)(mi, ih)];
case 1:
_a.sent();
chai_1.expect(result).to.be.deep.equal(['advice1', 'advice2']);
return [2 /*return*/];
}
});
}); });
});
});
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tYmluZS1hZHZpY2Uuc3BlYy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9oYW5kbGVyL19fdGVzdHNfXy9jb21iaW5lLWFkdmljZS5zcGVjLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FpQkc7QUFFSCxpQkE0Q0E7OztBQTVDQSxvQ0FBNkM7QUFDN0Msb0RBQWtEO0FBQ2xELDhEQUFvRTtBQUNwRSw4Q0FBNkM7QUFDN0MsNkJBQThCO0FBQzlCLHlDQUE0QztBQUM1QywyQ0FBaUQ7QUFFakQsUUFBUSxDQUFDLG1CQUFtQixFQUFFO0lBQzVCLFFBQVEsQ0FBQyxlQUFlLEVBQUU7UUFDeEIsRUFBRSxDQUFDLDRCQUE0QixFQUFFOzs7Ozt3QkFDM0IsTUFBTSxHQUFHLEtBQUssQ0FBQzt3QkFDYixNQUFNLEdBQWEsRUFBRSxDQUFDO3dCQUN0QixFQUFFLEdBQUcsSUFBSSx5QkFBZ0IsQ0FDN0I7NEJBQ0UsTUFBTSxHQUFHLElBQUksQ0FBQzt3QkFDaEIsQ0FBQyxFQUNELENBQUMsRUFDRCxFQUFFLEVBQ0YsRUFBRSxFQUNGLEVBQUUsQ0FDSCxDQUFDO3dCQUNJLE9BQU8sR0FBRyxVQUFDLEVBQW9COzRCQUNuQyxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDOzRCQUN2QixFQUFFLENBQUMsT0FBTyxFQUFFLENBQUM7d0JBQ2YsQ0FBQyxDQUFDO3dCQUVJLE9BQU8sR0FBRyxVQUFDLEVBQW9COzRCQUNuQyxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDOzRCQUN2QixFQUFFLENBQUMsT0FBTyxFQUFFLENBQUM7d0JBQ2YsQ0FBQyxDQUFDO3dCQUNJLEVBQUUsR0FBRyxzQ0FBcUIsQ0FDOUIsSUFBSSxlQUFNLENBQUMsU0FBUyxDQUFDLEVBQ3JCLElBQUkscUJBQVcsQ0FDYiwwQkFBZSxDQUFDLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxVQUFVLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFDN0MsU0FBUyxDQUNWLENBQ0YsQ0FBQzt3QkFFRixxQkFBTSw4QkFBYSxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUE7O3dCQUE3QyxTQUE2QyxDQUFDO3dCQUM5QyxhQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsU0FBUyxFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUM7Ozs7YUFDekQsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMsQ0FBQyJ9