UNPKG

@rxx/core

Version:

React MVI micro framework.

90 lines 7.39 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 */ Object.defineProperty(exports, "__esModule", { value: true }); var chai_1 = require("chai"); var rxjs_1 = require("rxjs"); var operators_1 = require("rxjs/operators"); var combine_template_1 = require("../combine-template"); var Dummy = /** @class */ (function () { function Dummy() { } return Dummy; }()); function createObject(aValue, bValue) { return { aValue: aValue, bWrapper: { bValue: bValue, }, cWrapper: { cValue: 'ordinal-value', dWrapper: { eWrapper: { eValue: new Dummy(), 'f-value': 1, }, }, }, }; } describe('combineTemplate', function () { var subscription; beforeEach(function () { subscription = new rxjs_1.Subscription(); }); afterEach(function () { return subscription.unsubscribe(); }); it('should convert observable obeject to ordinal object', function (done) { var aValue = new rxjs_1.Subject(); var bValue = new rxjs_1.Subject(); var BUFFER_COUNT = 4; var values = createObject(aValue.pipe(operators_1.startWith('')), bValue.pipe(operators_1.startWith(''))); subscription.add(combine_template_1.combineTemplate(values) .pipe(operators_1.bufferCount(BUFFER_COUNT)) .subscribe(function (v) { /*tslint:disable:no-magic-numbers*/ chai_1.expect(v[0]).to.be.deep.eq(createObject('', '')); chai_1.expect(v[1]).to.be.deep.eq(createObject('200', '')); chai_1.expect(v[2]).to.be.deep.eq(createObject('200', '300')); chai_1.expect(v[3]).to.be.deep.eq(createObject('OK', '300')); /*tslint:enable:no-magic-numbers*/ done(); })); aValue.next('200'); bValue.next('300'); aValue.next('OK'); }); it('should has default value.', function (done) { var aValue = new rxjs_1.Subject(); var bValue = new rxjs_1.Subject(); var values = createObject(aValue, bValue); subscription.add(combine_template_1.combineTemplate(values).subscribe(function (v) { chai_1.expect(v).to.be.deep.eq(createObject(null, null)); done(); })); }); it('should return base object if observable is not contained.', function (done) { var ORDINAL = { test: 1, test2: { test: 1 } }; subscription.add(combine_template_1.combineTemplate(ORDINAL).subscribe(function (v) { chai_1.expect(v).to.be.deep.eq(ORDINAL); done(); })); }); }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tYmluZS10ZW1wbGF0ZS5zcGVjLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL29ic2VydmFibGUvX190ZXN0c19fL2NvbWJpbmUtdGVtcGxhdGUuc3BlYy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBaUJHOztBQUVILDZCQUE4QjtBQUM5Qiw2QkFBNkM7QUFDN0MsNENBQXdEO0FBQ3hELHdEQUFzRDtBQUV0RDtJQUFBO0lBQWEsQ0FBQztJQUFELFlBQUM7QUFBRCxDQUFDLEFBQWQsSUFBYztBQUVkLFNBQVMsWUFBWSxDQUFDLE1BQU0sRUFBRSxNQUFNO0lBQ2xDLE9BQU87UUFDTCxNQUFNLFFBQUE7UUFDTixRQUFRLEVBQUU7WUFDUixNQUFNLFFBQUE7U0FDUDtRQUNELFFBQVEsRUFBRTtZQUNSLE1BQU0sRUFBRSxlQUFlO1lBQ3ZCLFFBQVEsRUFBRTtnQkFDUixRQUFRLEVBQUU7b0JBQ1IsTUFBTSxFQUFFLElBQUksS0FBSyxFQUFFO29CQUNuQixTQUFTLEVBQUUsQ0FBQztpQkFDYjthQUNGO1NBQ0Y7S0FDRixDQUFDO0FBQ0osQ0FBQztBQUVELFFBQVEsQ0FBQyxpQkFBaUIsRUFBRTtJQUMxQixJQUFJLFlBQTBCLENBQUM7SUFFL0IsVUFBVSxDQUFDO1FBQ1QsWUFBWSxHQUFHLElBQUksbUJBQVksRUFBRSxDQUFDO0lBQ3BDLENBQUMsQ0FBQyxDQUFDO0lBRUgsU0FBUyxDQUFDLGNBQU0sT0FBQSxZQUFZLENBQUMsV0FBVyxFQUFFLEVBQTFCLENBQTBCLENBQUMsQ0FBQztJQUU1QyxFQUFFLENBQUMscURBQXFELEVBQUUsVUFBQSxJQUFJO1FBQzVELElBQU0sTUFBTSxHQUFHLElBQUksY0FBTyxFQUFFLENBQUM7UUFDN0IsSUFBTSxNQUFNLEdBQUcsSUFBSSxjQUFPLEVBQUUsQ0FBQztRQUM3QixJQUFNLFlBQVksR0FBRyxDQUFDLENBQUM7UUFFdkIsSUFBTSxNQUFN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