UNPKG

@lifaon/rx-js-light

Version:

Blazing fast Observables

46 lines (45 loc) 1.26 kB
"use strict"; var __assign = this && this.__assign || (function () { __assign = Object.assign || (function (t) { for (var s, i = 1, n = arguments.length; i < n; i++) { s = arguments[i]; for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p]; } return t; }); return __assign.apply(this, arguments); }); Object.defineProperty(exports, "__esModule", { value: true }); exports.createReplayLastSource = void 0; var freeze_1 = require("../../../../../misc/helpers/freeze.cjs"); function createReplayLastSource(source, options) { var currentValue; var initialized; if (options === void 0 || !(('initialValue' in options))) { initialized = false; } else { initialized = true; currentValue = options.initialValue; } var emit = function (value) { initialized = true; currentValue = value; source.emit(value); }; var subscribe = function (emit) { if (initialized) { emit(currentValue); } return source.subscribe(emit); }; return (0, freeze_1.freeze)(__assign(__assign({}, source), { getValue: function () { return currentValue; }, emit: emit, subscribe: subscribe })); } exports.createReplayLastSource = createReplayLastSource;