UNPKG

@rxx/core

Version:

React MVI micro framework.

61 lines 4.79 kB
"use strict"; /** * 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