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

LocalStorageHandle.js 1.4KB

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