Repositorio del curso CCOM4030 el semestre B91 del proyecto Artesanías con el Instituto de Cultura

LocalStorageHandle.js 1.4KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. cordova.define("cordova-plugin-nativestorage.LocalStorageHandle", function(require, exports, module) {
  2. var NativeStorageError = require('./NativeStorageError');
  3. // args = [reference, variable]
  4. function LocalStorageHandle(success, error, intent, operation, args) {
  5. var reference = args[0];
  6. var variable = args[1];
  7. if (operation.startsWith('put') || operation.startsWith('set')) {
  8. try {
  9. var varAsString = JSON.stringify(variable);
  10. if (reference === null) {
  11. error(NativeStorageError.NULL_REFERENCE);
  12. return;
  13. }
  14. localStorage.setItem(reference, varAsString);
  15. success(variable);
  16. } catch (err) {
  17. error(NativeStorageError.JSON_ERROR);
  18. }
  19. } else if (operation.startsWith('get')) {
  20. var item = {};
  21. item = localStorage.getItem(reference);
  22. if (item === null) {
  23. error(NativeStorageError.ITEM_NOT_FOUND);
  24. return;
  25. }
  26. try {
  27. var obj = JSON.parse(item);
  28. //console.log("LocalStorage Reading: "+obj);
  29. success(obj);
  30. } catch (err) {
  31. error(NativeStorageError.JSON_ERROR);
  32. }
  33. } else if (operation === 'keys') {
  34. var keys = [];
  35. for(var i = 0; i < localStorage.length; i++){
  36. keys.push(localStorage.key(i));
  37. }
  38. success(keys);
  39. }
  40. }
  41. module.exports = LocalStorageHandle;
  42. });