iterate.js 915 B

123456789101112131415161718192021222324
  1. import { executeCallback } from 'localforage-driver-commons';
  2. export function iterate(iterator, callback) {
  3. const promise = this.ready().then(() => {
  4. const store = this._dbInfo.mStore;
  5. const keys = store.keys();
  6. for (let i = 0; i < keys.length; i++) {
  7. let value = store.get(keys[i]);
  8. // If a result was found, parse it from the serialized
  9. // string into a JS object. If result isn't truthy, the
  10. // key is likely undefined and we'll pass it straight
  11. // to the iterator.
  12. if (value) {
  13. value = this._dbInfo.serializer.deserialize(value);
  14. }
  15. value = iterator(value, keys[i], i + 1);
  16. if (value !== undefined) {
  17. return value;
  18. }
  19. }
  20. });
  21. executeCallback(promise, callback);
  22. return promise;
  23. }
  24. //# sourceMappingURL=iterate.js.map