setItem.js 998 B

123456789101112131415161718192021222324252627282930
  1. import { executeCallback, normaliseKey } from 'localforage-driver-commons';
  2. export function setItem(key$, value, callback) {
  3. key$ = normaliseKey(key$);
  4. const promise = this.ready().then(() => {
  5. if (value === undefined) {
  6. value = null;
  7. }
  8. // Save the original value to pass to the callback.
  9. const originalValue = value;
  10. return new Promise((resolve, reject) => {
  11. this._dbInfo.serializer.serialize(value, (value$, error) => {
  12. if (error) {
  13. reject(error);
  14. }
  15. else {
  16. try {
  17. this._dbInfo.mStore.set(key$, value$);
  18. resolve(originalValue);
  19. }
  20. catch (e) {
  21. reject(e);
  22. }
  23. }
  24. });
  25. });
  26. });
  27. executeCallback(promise, callback);
  28. return promise;
  29. }
  30. //# sourceMappingURL=setItem.js.map