UNPKG

rx-sandbox

Version:

Marble diagram DSL based test suite for RxJS 6/7

25 lines 1.36 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.parseSubscriptionMarble = void 0; const coreInternalImport_1 = require("../utils/coreInternalImport"); const ObservableMarbleToken_1 = require("./ObservableMarbleToken"); const tokenParseReducer_1 = require("./tokenParseReducer"); const parseSubscriptionMarble = (marble, frameTimeFactor = 1, maxFrame = 1000) => { if (!marble) { return new coreInternalImport_1.SubscriptionLog(Number.POSITIVE_INFINITY); } const marbleTokenArray = Array.from(marble).filter((token) => token !== ObservableMarbleToken_1.ObservableMarbleToken.NOOP); const value = marbleTokenArray.reduce((0, tokenParseReducer_1.subscriptionTokenParseReducer)(frameTimeFactor, maxFrame), { currentTimeFrame: 0, subscriptionFrame: Number.POSITIVE_INFINITY, unsubscriptionFrame: Number.POSITIVE_INFINITY, simultaneousGrouped: false, expandingTokenCount: 0, expandingValue: [], }); return value.unsubscriptionFrame === Number.POSITIVE_INFINITY ? new coreInternalImport_1.SubscriptionLog(value.subscriptionFrame) : new coreInternalImport_1.SubscriptionLog(value.subscriptionFrame, value.unsubscriptionFrame); }; exports.parseSubscriptionMarble = parseSubscriptionMarble; //# sourceMappingURL=parseSubscriptionMarble.js.map