setItem.js 1.0 KB

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