UNPKG

@etherspot/prime-sdk

Version:

Etherspot Prime (Account Abstraction) SDK

40 lines (39 loc) 1.22 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.ObjectSubject = void 0; const rxjs_1 = require("rxjs"); const utils_1 = require("../utils"); const distinct_unique_key_operator_1 = require("./distinct-unique-key.operator"); class ObjectSubject extends rxjs_1.BehaviorSubject { constructor(value = null) { super(value); } observeKey(key) { return this.pipe((0, distinct_unique_key_operator_1.distinctUniqueKey)(key)); } next(value) { if (!value) { super.next(null); } else if (!this.value || !(0, utils_1.deepCompare)(this.prepareForCompare(this.value), this.prepareForCompare(value))) { super.next(this.prepareForNext(value)); } } nextData(value) { if (!value) { super.next(''); } else if (!this.value || !(0, utils_1.deepCompare)(this.prepareForCompare(this.value), this.prepareForCompare(value))) { super.next(this.prepareForNext(value)); } } prepareForNext(value) { return value; } prepareForCompare(value) { return value; } } exports.ObjectSubject = ObjectSubject;