UNPKG

@benev/nubs

Version:
57 lines 3.7 kB
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 _Bindings_Controller_schema, _Bindings_Controller_bindings, _Bindings_Controller_store, _Bindings_Controller_on_bindings_change; import { extract_bindings } from "./extract_bindings.js"; import { jsonStorageProxy } from "../../../tools/json-storage.js"; import { default_bindings_schema } from "./default_bindings_schema.js"; import { detect_bindings_version } from "./utils/detect_bindings_version.js"; import { migrate_bindings_to_latest_version } from "./utils/migrate_bindings_to_latest_version.js"; export class Bindings_Controller { constructor({ storage, on_bindings_change }) { this.storage_key = `nub_bindings`; _Bindings_Controller_schema.set(this, default_bindings_schema); _Bindings_Controller_bindings.set(this, this.defaults); _Bindings_Controller_store.set(this, void 0); _Bindings_Controller_on_bindings_change.set(this, void 0); __classPrivateFieldSet(this, _Bindings_Controller_store, jsonStorageProxy(storage), "f"); __classPrivateFieldSet(this, _Bindings_Controller_on_bindings_change, on_bindings_change, "f"); } get defaults() { return extract_bindings(__classPrivateFieldGet(this, _Bindings_Controller_schema, "f")); } get schema() { return __classPrivateFieldGet(this, _Bindings_Controller_schema, "f"); } set schema(s) { __classPrivateFieldSet(this, _Bindings_Controller_schema, s, "f"); this.bindings = this.defaults; } get bindings() { return __classPrivateFieldGet(this, _Bindings_Controller_bindings, "f"); } set bindings(b) { __classPrivateFieldSet(this, _Bindings_Controller_bindings, b, "f"); this.save_to_storage(); __classPrivateFieldGet(this, _Bindings_Controller_on_bindings_change, "f").call(this, b); } save_to_storage() { __classPrivateFieldGet(this, _Bindings_Controller_store, "f")[this.storage_key] = __classPrivateFieldGet(this, _Bindings_Controller_bindings, "f"); } load_from_storage() { var _a; const read_bindings = ((_a = __classPrivateFieldGet(this, _Bindings_Controller_store, "f")[this.storage_key]) !== null && _a !== void 0 ? _a : this.defaults); const bindings_version = detect_bindings_version(read_bindings); this.bindings = migrate_bindings_to_latest_version(read_bindings, bindings_version); } } _Bindings_Controller_schema = new WeakMap(), _Bindings_Controller_bindings = new WeakMap(), _Bindings_Controller_store = new WeakMap(), _Bindings_Controller_on_bindings_change = new WeakMap(); //# sourceMappingURL=bindings_controller.js.map