UNPKG

visitor-segments

Version:
80 lines (79 loc) 5.13 kB
"use strict"; var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) { if (kind === "m") throw new TypeError("Private method is not writable"); if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter"); if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it"); return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value; }; var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) { if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter"); if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it"); return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver); }; var _AbstractSegments_segments, _AbstractSegments_visitor, _AbstractSegments_interpolation, _AbstractSegments_custom, _AbstractSegments_storage; Object.defineProperty(exports, "__esModule", { value: true }); exports.AbstractSegments = void 0; const visitor_1 = require("./visitor"); const segmentMaps_1 = require("./segmentMaps"); const interpolation_1 = require("./interpolation"); const localStorageAdapter_1 = require("./valueStorage/localStorageAdapter"); const custom_1 = require("./segments/custom"); class AbstractSegments { constructor(scope, options) { _AbstractSegments_segments.set(this, void 0); _AbstractSegments_visitor.set(this, void 0); _AbstractSegments_interpolation.set(this, void 0); _AbstractSegments_custom.set(this, void 0); _AbstractSegments_storage.set(this, void 0); const storageAdapter = (options === null || options === void 0 ? void 0 : options.storageAdapter) || localStorageAdapter_1.LocalStorageAdapter; __classPrivateFieldSet(this, _AbstractSegments_storage, options === null || options === void 0 ? void 0 : options.extraStorage, "f"); __classPrivateFieldSet(this, _AbstractSegments_visitor, new visitor_1.Visitor(scope, storageAdapter), "f"); __classPrivateFieldSet(this, _AbstractSegments_segments, (0, segmentMaps_1.buildSegments)((options === null || options === void 0 ? void 0 : options.segmentsMap) || segmentMaps_1.SEGMENTS, __classPrivateFieldGet(this, _AbstractSegments_visitor, "f")), "f"); __classPrivateFieldSet(this, _AbstractSegments_interpolation, new interpolation_1.Interpolation(this), "f"); __classPrivateFieldSet(this, _AbstractSegments_custom, new custom_1.Custom(__classPrivateFieldGet(this, _AbstractSegments_visitor, "f")), "f"); } onUpdate(handler) { __classPrivateFieldGet(this, _AbstractSegments_visitor, "f").onUpdate(handler); __classPrivateFieldGet(this, _AbstractSegments_custom, "f").onUpdate(handler); } get visitor() { return __classPrivateFieldGet(this, _AbstractSegments_visitor, "f"); } interpolate(input) { return __classPrivateFieldGet(this, _AbstractSegments_interpolation, "f").run(input); } set(key, value) { __classPrivateFieldGet(this, _AbstractSegments_custom, "f").setValue(key, value); } get(key) { var _a; return __classPrivateFieldGet(this, _AbstractSegments_custom, "f").value[key] || ((_a = __classPrivateFieldGet(this, _AbstractSegments_storage, "f")) === null || _a === void 0 ? void 0 : _a.get(key)); } visit() { return __awaiter(this, void 0, void 0, function* () { return new Promise((resolve, _reject) => { resolve(); }); }); } reset() { __classPrivateFieldGet(this, _AbstractSegments_custom, "f").reset(); } clear() { __classPrivateFieldGet(this, _AbstractSegments_visitor, "f").clear(); } getSegmentByKey(key) { return __classPrivateFieldGet(this, _AbstractSegments_segments, "f")[key]; } } exports.AbstractSegments = AbstractSegments; _AbstractSegments_segments = new WeakMap(), _AbstractSegments_visitor = new WeakMap(), _AbstractSegments_interpolation = new WeakMap(), _AbstractSegments_custom = new WeakMap(), _AbstractSegments_storage = new WeakMap();