UNPKG

@splitsoftware/splitio-commons

Version:
63 lines (62 loc) 2.65 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.MySegmentsCacheInLocal = void 0; var tslib_1 = require("tslib"); var lang_1 = require("../../utils/lang"); var AbstractMySegmentsCacheSync_1 = require("../AbstractMySegmentsCacheSync"); var constants_1 = require("./constants"); var MySegmentsCacheInLocal = /** @class */ (function (_super) { tslib_1.__extends(MySegmentsCacheInLocal, _super); function MySegmentsCacheInLocal(_log, keys, storage) { var _this = _super.call(this) || this; _this.keys = keys; _this.storage = storage; return _this; } MySegmentsCacheInLocal.prototype.addSegment = function (name) { var segmentKey = this.keys.buildSegmentNameKey(name); if (this.storage.getItem(segmentKey) === constants_1.DEFINED) return false; this.storage.setItem(segmentKey, constants_1.DEFINED); return true; }; MySegmentsCacheInLocal.prototype.removeSegment = function (name) { var segmentKey = this.keys.buildSegmentNameKey(name); if (this.storage.getItem(segmentKey) !== constants_1.DEFINED) return false; this.storage.removeItem(segmentKey); return true; }; MySegmentsCacheInLocal.prototype.isInSegment = function (name) { return this.storage.getItem(this.keys.buildSegmentNameKey(name)) === constants_1.DEFINED; }; MySegmentsCacheInLocal.prototype.getRegisteredSegments = function () { var registeredSegments = []; for (var i = 0, len = this.storage.length; i < len; i++) { var segmentName = this.keys.extractSegmentName(this.storage.key(i)); if (segmentName) registeredSegments.push(segmentName); } return registeredSegments; }; MySegmentsCacheInLocal.prototype.getKeysCount = function () { return 1; }; MySegmentsCacheInLocal.prototype.setChangeNumber = function (changeNumber) { if (changeNumber) this.storage.setItem(this.keys.buildTillKey(), changeNumber + ''); else this.storage.removeItem(this.keys.buildTillKey()); }; MySegmentsCacheInLocal.prototype.getChangeNumber = function () { var n = -1; var value = this.storage.getItem(this.keys.buildTillKey()); if (value !== null) { value = parseInt(value, 10); return (0, lang_1.isNaNNumber)(value) ? n : value; } return n; }; return MySegmentsCacheInLocal; }(AbstractMySegmentsCacheSync_1.AbstractMySegmentsCacheSync)); exports.MySegmentsCacheInLocal = MySegmentsCacheInLocal;