UNPKG

@themineway/smart-storage-js

Version:

A TS/JS library that provides a smart and easy way to store data

33 lines 1 kB
import { AConnector } from "./connector.abstract"; /** * Abstract class for string-based connectors. * Acts as a mapper from string-based storage to object-based storage. */ export class AStringConnector extends AConnector { constructor(name, allowsObjectStorage = true) { super(name, allowsObjectStorage); this.name = name; this.allowsObjectStorage = allowsObjectStorage; } /* Accessors */ get(key, schema) { const raw = this.rawGet(key); if (raw === null) return null; const parsed = JSON.parse(raw); try { return this.parse(schema, parsed.d); } catch { this.remove(key); return null; } } set(key, value, schema) { const parsed = this.parse(schema, value); const data = { d: parsed }; this.rawSet(key, JSON.stringify(data)); this.triggerOnChange(key); } } //# sourceMappingURL=string-connector.abstract.js.map