| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111 | var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));var _LocalDatastoreUtils = require("./LocalDatastoreUtils");var RNStorage = require('./StorageController.react-native');var LocalDatastoreController = {  fromPinWithName: function () {    var _fromPinWithName = (0, _asyncToGenerator2.default)(function* (name) {      var values = yield RNStorage.getItemAsync(name);      if (!values) {        return [];      }      var objects = JSON.parse(values);      return objects;    });    function fromPinWithName() {      return _fromPinWithName.apply(this, arguments);    }    return fromPinWithName;  }(),  pinWithName: function () {    var _pinWithName = (0, _asyncToGenerator2.default)(function* (name, value) {      try {        var values = JSON.stringify(value);        yield RNStorage.setItemAsync(name, values);      } catch (e) {        console.error(e.message);      }    });    function pinWithName() {      return _pinWithName.apply(this, arguments);    }    return pinWithName;  }(),  unPinWithName: function (name) {    return RNStorage.removeItemAsync(name);  },  getAllContents: function () {    var _getAllContents = (0, _asyncToGenerator2.default)(function* () {      var keys = yield RNStorage.getAllKeysAsync();      var batch = [];      for (var i = 0; i < keys.length; i += 1) {        var key = keys[i];        if ((0, _LocalDatastoreUtils.isLocalDatastoreKey)(key)) {          batch.push(key);        }      }      var LDS = {};      var results = [];      try {        results = yield RNStorage.multiGet(batch);      } catch (error) {        console.error('Error getAllContents: ', error);        return {};      }      results.forEach(function (pair) {        var _pair = (0, _slicedToArray2.default)(pair, 2),          key = _pair[0],          value = _pair[1];        try {          LDS[key] = JSON.parse(value);        } catch (error) {          LDS[key] = null;        }      });      return LDS;    });    function getAllContents() {      return _getAllContents.apply(this, arguments);    }    return getAllContents;  }(),  getRawStorage: function () {    var _getRawStorage = (0, _asyncToGenerator2.default)(function* () {      var keys = yield RNStorage.getAllKeysAsync();      var storage = {};      var results = yield RNStorage.multiGet(keys);      results.map(function (pair) {        var _pair2 = (0, _slicedToArray2.default)(pair, 2),          key = _pair2[0],          value = _pair2[1];        storage[key] = value;      });      return storage;    });    function getRawStorage() {      return _getRawStorage.apply(this, arguments);    }    return getRawStorage;  }(),  clear: function () {    var _clear = (0, _asyncToGenerator2.default)(function* () {      var keys = yield RNStorage.getAllKeysAsync();      var batch = [];      for (var i = 0; i < keys.length; i += 1) {        var key = keys[i];        if ((0, _LocalDatastoreUtils.isLocalDatastoreKey)(key)) {          batch.push(key);        }      }      return RNStorage.multiRemove(batch).catch(function (error) {        return console.error('Error clearing local datastore: ', error);      });    });    function clear() {      return _clear.apply(this, arguments);    }    return clear;  }()};module.exports = LocalDatastoreController;
 |