@rxx/worker
Version:
React MVI micro framework.
63 lines • 4.86 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_1 = require("../../intent/intent");
var chai_1 = require("chai");
var subject_1 = require("../../subject");
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, intent, tree;
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();
};
intent = new intent_1.Intent();
tree = new subject_1.SubjectTree();
return [4 /*yield*/, combine_advice_1.combineAdvice(advice1, advice2)(mi, function (type, payload) {
intent.push(type, payload);
tree.notify({ type: type, payload: payload });
})];
case 1:
_a.sent();
chai_1.expect(result).to.be.deep.equal(['advice1', 'advice2']);
return [2 /*return*/];
}
});
}); });
});
});
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tYmluZS1hZHZpY2Uuc3BlYy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9oYW5kbGVyL19fdGVzdHNfXy9jb21iaW5lLWFkdmljZS5zcGVjLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FpQkc7QUFFSCxpQkEyQ0E7OztBQTNDQSxvQ0FBNkM7QUFDN0Msb0RBQWtEO0FBQ2xELDhDQUE2QztBQUM3Qyw2QkFBOEI7QUFDOUIseUNBQTRDO0FBRTVDLFFBQVEsQ0FBQyxtQkFBbUIsRUFBRTtJQUM1QixRQUFRLENBQUMsZUFBZSxFQUFFO1FBQ3hCLEVBQUUsQ0FBQyw0QkFBNEIsRUFBRTs7Ozs7d0JBQzNCLE1BQU0sR0FBRyxLQUFLLENBQUM7d0JBQ2IsTUFBTSxHQUFhLEVBQUUsQ0FBQzt3QkFDdEIsRUFBRSxHQUFHLElBQUkseUJBQWdCLENBQzdCOzRCQUNFLE1BQU0sR0FBRyxJQUFJLENBQUM7d0JBQ2hCLENBQUMsRUFDRCxDQUFDLEVBQ0QsRUFBRSxFQUNGLEVBQUUsRUFDRixFQUFFLENBQ0gsQ0FBQzt3QkFDSSxPQUFPLEdBQUcsVUFBQyxFQUFvQjs0QkFDbkMsTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQzs0QkFDdkIsRUFBRSxDQUFDLE9BQU8sRUFBRSxDQUFDO3dCQUNmLENBQUMsQ0FBQzt3QkFFSSxPQUFPLEdBQUcsVUFBQyxFQUFvQjs0QkFDbkMsTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQzs0QkFDdkIsRUFBRSxDQUFDLE9BQU8sRUFBRSxDQUFDO3dCQUNmLENBQUMsQ0FBQzt3QkFFSSxNQUFNLEdBQUcsSUFBSSxlQUFNLEVBQUUsQ0FBQzt3QkFDdEIsSUFBSSxHQUFHLElBQUkscUJBQVcsRUFBRSxDQUFDO3dCQUMvQixxQkFBTSw4QkFBYSxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FDbkMsRUFBRSxFQUNGLFVBQUMsSUFBWSxFQUFFLE9BQWE7Z0NBQzFCLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFDO2dDQUMzQixJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsSUFBSSxNQUFBLEVBQUUsT0FBTyxTQUFBLEVBQUUsQ0FBQyxDQUFDOzRCQUNqQyxDQUFDLENBQ0YsRUFBQTs7d0JBTkQsU0FNQyxDQUFDO3dCQUNGLGFBQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxTQUFTLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQzs7OzthQUN6RCxDQUFDLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDIn0=