{"id":14985800,"url":"https://github.com/thecocoaproject/cordova-plugin-nativestorage","last_synced_at":"2025-05-16T16:03:08.765Z","repository":{"id":56823869,"uuid":"55308700","full_name":"TheCocoaProject/cordova-plugin-nativestorage","owner":"TheCocoaProject","description":"Cordova plugin: Native storage of variables in Android,  iOS and Windows","archived":false,"fork":false,"pushed_at":"2020-06-02T15:57:45.000Z","size":218,"stargazers_count":297,"open_issues_count":32,"forks_count":109,"subscribers_count":21,"default_branch":"master","last_synced_at":"2025-04-12T14:19:41.489Z","etag":null,"topics":["android","cordova-nativestorage","cordova-plugin","ionic","ios","persistent-data","storage","windows"],"latest_commit_sha":null,"homepage":"http://thecocoaproject.github.io/","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/TheCocoaProject.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2016-04-02T17:59:39.000Z","updated_at":"2025-02-24T03:03:57.000Z","dependencies_parsed_at":"2022-09-01T09:20:19.913Z","dependency_job_id":null,"html_url":"https://github.com/TheCocoaProject/cordova-plugin-nativestorage","commit_stats":null,"previous_names":[],"tags_count":11,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TheCocoaProject%2Fcordova-plugin-nativestorage","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TheCocoaProject%2Fcordova-plugin-nativestorage/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TheCocoaProject%2Fcordova-plugin-nativestorage/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TheCocoaProject%2Fcordova-plugin-nativestorage/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/TheCocoaProject","download_url":"https://codeload.github.com/TheCocoaProject/cordova-plugin-nativestorage/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248578875,"owners_count":21127714,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["android","cordova-nativestorage","cordova-plugin","ionic","ios","persistent-data","storage","windows"],"created_at":"2024-09-24T14:11:42.092Z","updated_at":"2025-04-12T14:19:51.936Z","avatar_url":"https://github.com/TheCocoaProject.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Cordova plugin NativeStorage\r\n\r\n[![npm version](https://badge.fury.io/js/cordova-plugin-nativestorage.svg)](https://badge.fury.io/js/cordova-plugin-nativestorage) [![Build Status](https://travis-ci.org/TheCocoaProject/cordova-plugin-nativestorage.svg?branch=master)](https://travis-ci.org/TheCocoaProject/cordova-plugin-nativestorage)  [![Known Vulnerabilities](https://snyk.io/test/npm/cordova-plugin-nativestorage/badge.svg)](https://snyk.io/test/npm/cordova-plugin-nativestorage)\r\n\r\n\r\n[![NPM](https://nodei.co/npm/cordova-plugin-nativestorage.png?downloads=true\u0026downloadRank=true)](https://nodei.co/npm/cordova-plugin-nativestorage/)\r\n\r\nJoin the chat for questions and updates [![Join the chat at https://gitter.im/TheCocoaProject/cordova-plugin-nativestorage](https://badges.gitter.im/TheCocoaProject/cordova-plugin-nativestorage.svg)](https://gitter.im/TheCocoaProject/cordova-plugin-nativestorage?utm_source=badge\u0026utm_medium=badge\u0026utm_campaign=pr-badge\u0026utm_content=badge)\r\n\r\n*** \r\n\r\nCite this plugin:\r\n```latex\r\n@misc{callebautNS,\r\nauthor =   {Gilles Callebaut and Alok Rajiv},\r\ntitle =    {{NativeStorage - A Cordova Plugin}},\r\ndoi = {10.5281/zenodo.1312615},\r\nhowpublished = {\\url{https://github.com/TheCocoaProject/cordova-plugin-nativestorage}},\r\n}\r\n```\r\n\r\nYou can also provide a `version` field to include a version number e.g., `version = {2.3.1}`.\r\n\r\n***\r\n\r\n#### :) As per [npm-stat](https://npm-stat.com/charts.html?package=cordova-plugin-nativestorage\u0026from=2016-04-01) we just crossed 150k downloads!! Thanks to everyone who helped and to everyone who have send in their kind words!\r\n\r\nNEW: Windows and OS X is supported!\r\nUPDATE: The Plugin can now also be found at the [Telerik Plugin Market](http://plugins.telerik.com/cordova/plugin/nativestorage).\r\n\r\nDocumentation about the API prior to v2 can be found at the [wiki](https://github.com/TheCocoaProject/cordova-plugin-nativestorage/wiki/Usage-API-(prior-to-v2.0.0))\r\n***\r\n\r\nThe plugin was created and developed by [Gilles Callebaut](https://be.linkedin.com/in/gilles-callebaut-46a751104), in the scope of an [IWT/VlAIO](http://www.vlaio.be/english) Tetra project [CrossMoS](https://www.msec.be/crossmos/) which assesses Mobile Cross-Platform Tools. This wouldn't be possible without the contributions of [Alok Rajiv](https://github.com/alokrajiv), our Cordova and JavaScript guru.\r\n\r\nPlease consider reading our [wiki](https://github.com/TheCocoaProject/cordova-plugin-nativestorage/wiki) for more documentation about this plugin.\r\n\r\n## Contents\r\n- [Why the need for this plugin?](#why)\r\n\t* [When to use the plugin](#when)\r\n- [Scientific articles](#articles)\r\n- [Installation](#installation)\r\n- [Supported Platforms](#supported_platforms)\r\n- [Supported Frameworks](#supported_frameworks)\r\n- [Usage](#usage)\r\n\t* [Supported data types](#supported_data_types)\r\n\t* [Storing values](#storing_values)\r\n\t* [Retrieving values](#retrieving_values)\r\n\t* [Retrieving all keys](#retrieving_keys)\r\n\t* [Removing values](#removing_values)\r\n\t* [Demo Example](#demo_example)\r\n- [Security](#security)\r\n- [Errors](#errors)\r\n- [Problems](#problems)\r\n- [F.A.Q](#FAQ)\r\n- [Applications using this plugin](#applications)\r\n\r\n\r\n## \u003ca name=\"why\"\u003e\u003c/a\u003eWhy?\r\nThis plugin is created because of the non-persistent property of LocalStorage in the WebView of Android and iOS.\r\nIn iOS stored data from LocalStorage can be removed by the OS, when running out of memory.\r\n\r\nSome complaints:\r\n- http://gonehybrid.com/dont-assume-localstorage-will-always-work-in-your-hybrid-app/\r\n- http://stackoverflow.com/questions/7750857/how-permanent-is-local-storage-on-android-and-ios\r\n- http://stackoverflow.com/questions/25627991/ios-7-webview-and-localstorage-persistence-update\r\n- http://stackoverflow.com/questions/28082624/localstorage-persistence-in-ios-android-webview\r\n- https://forum.ionicframework.com/t/localstorage-is-it-cleared-after-app-restarts-periodically-in-ios/21819\r\n- https://bugs.chromium.org/p/chromium/issues/detail?id=481380\r\n- From Cordova itself: http://cordova.apache.org/docs/en/latest/cordova/storage/storage.html\r\n\r\n### \u003ca name=\"when\"\u003e\u003c/a\u003eWhen to use the plugin\r\n- **Simple**: Uniform and convenient way of organizing, storing, and accessing the data\r\n- **Fast**: Less than 1 milisecond to save or retrieve an object (in general)\r\n- **Persistence**: Save data over multiple sessions, i.e. holds the data till the application is removed from the device\r\n- **Small data**: Store small amounts of persistent data (less than a few hundred kilobytes)\r\n\t* It is possible to store more than a few megabytes, but that's not the intended usage of the plugin.\r\n\t* See issue [#31](https://github.com/TheCocoaProject/cordova-plugin-nativestorage/issues/31) for a more 'in-depth' explanation of size limit.\r\n\r\n#### Examples\r\nStorage of:\r\n- User preferences\r\n- Game progress\r\n- Text\r\n- ...\r\n\r\n### When not to use the plugin\r\n- Storing and retrieving files can be done by means of the [file plugin](https://github.com/apache/cordova-plugin-file)\r\n- For storing many objects please consider trying a database-based strategy, for instance: WebSQL and [SQLite plugin](https://github.com/litehelpers/Cordova-sqlite-storage).\r\n\r\n\r\n## \u003ca name=\"articles\"\u003e\u003c/a\u003eScientific Articles\r\n[Assessment of Data Storage Strategies Using the Mobile Cross-Platform Tool Cordova](https://thinkmind.org/download.php?articleid=mobility_2017_2_10_90007)\r\n\r\n## \u003ca name=\"installation\"\u003e\u003c/a\u003eInstallation\r\nThe plugin can be installed via the Cordova command line interface:\r\n* Navigate to the root folder for your Cordova/Phonegap/Ionic project.\r\n* Run the command:\r\n```sh\r\ncordova plugin add cordova-plugin-nativestorage\r\n```\r\nor through this git repo if you want to be running the development version:\r\n```sh\r\ncordova plugin add https://github.com/TheCocoaProject/cordova-plugin-nativestorage\r\n```\r\n\r\nIf you're using ngCordova you can use the ngCordova-wrapper:\r\n```sh\r\nbower install git://github.com/TheCocoaProject/ngcordova-wrapper-nativestorage --save-dev\r\n```\r\nFor more information about the usage of the plugin check the repo for the [ngCordova-wrapper](https://github.com/TheCocoaProject/ngcordova-wrapper-nativestorage) - Ionic V1. The plugin is also supported for Ionic, please check the [official Ionic documentation](http://ionicframework.com/docs/v2/native/native-storage/) for the installation procedure and use.\r\n\r\n\r\n\r\n### \u003ca name=\"reinstalling_dev\"\u003e\u003c/a\u003eReinstalling/installing developer version\r\nRemove the plugin from the current project:\r\n```sh\r\ncordova plugin remove cordova-plugin-nativestorage\r\n```\r\nInstall the developer version from Github:\r\n```sh\r\ncordova plugin add https://github.com/TheCocoaProject/cordova-plugin-nativestorage\r\n```\r\n\r\n## \u003ca name=\"supported_platforms\"\u003e\u003c/a\u003eSupported platforms\r\n- Android\r\n- iOS\r\n- Browser (for testing purposes)\r\n- Windows (thanks to Christian Helbig see [PR](https://github.com/TheCocoaProject/cordova-plugin-nativestorage/pull/38))\r\n- OS X (thanks to [Javier Ribó](https://github.com/elribonazo) see [PR](https://github.com/TheCocoaProject/cordova-plugin-nativestorage/pull/58))\r\n\r\n## \u003ca name=\"supported_frameworks\"\u003e\u003c/a\u003eSupported frameworks\r\n- [vanilla Cordova](https://www.npmjs.com/package/cordova-plugin-nativestorage)\r\n- [Cordova 3.9.2](https://github.com/GillesC/cordova-plugin-nativestorage-3.9.2-compatible) and previous versions\r\n- [Ionic](http://ionicframework.com/docs/v2/native/nativestorage/)\r\n- [ngCordova](https://github.com/TheCocoaProject/ngcordova-wrapper-nativestorage) (not all functions are yet supported)\r\n\r\n## \u003ca name=\"usage\"\u003e\u003c/a\u003eUsage\r\nThe parameter of the success-callback function will be the saved or retrieved value, the error-callback will specify the occurred error.\r\n\r\n### \u003ca name=\"supported_data_types\"\u003e\u003c/a\u003eSupported data types\r\nAs of version v2.0 all data types that can be stringified can be stored with the `setItem` and `getItem` method, see [storing values](#storing_values). A more fine grained storage method is also provided. These methods can be used to store type-specific data types, see [API prior to v2](https://github.com/TheCocoaProject/cordova-plugin-nativestorage/wiki/Usage-API-(prior-to-v2.0.0)).\r\n\r\n### \u003ca name=\"storing_values\"\u003e\u003c/a\u003eStoring values\r\n```javascript\r\nNativeStorage.setItem(\"reference_to_value\",\u003cvalue\u003e, \u003csuccess-callback\u003e, \u003cerror-callback\u003e);\r\n```\r\n### \u003ca name=\"retrieving_values\"\u003e\u003c/a\u003eRetrieving values\r\n```javascript\r\nNativeStorage.getItem(\"reference_to_value\",\u003csuccess-callback\u003e, \u003cerror-callback\u003e);\r\n```\r\n\r\n### \u003ca name=\"retrieving_keys\"\u003e\u003c/a\u003eRetrieving all keys\r\n```javascript\r\nNativeStorage.keys(\u003csuccess-callback\u003e, \u003cerror-callback\u003e);\r\n```\r\n\r\n### \u003ca name=\"removing_values\"\u003e\u003c/a\u003eRemoving values\r\n\r\nRemoving a single variable:\r\n```javascript\r\nNativeStorage.remove(\"reference_to_value\",\u003csuccess-callback\u003e, \u003cerror-callback\u003e);\r\n```\r\n\r\nRemoving all stored variables:\r\n```javascript\r\nNativeStorage.clear(\u003csuccess-callback\u003e, \u003cerror-callback\u003e);\r\n```\r\n\r\n### iOS specific features\r\n- App Groups (share data between apps)\r\nFirst the suite name must be provided before accessing and retrieving data.\r\n```javascript\r\nNativeStorage.initWithSuiteName(\"suitename\");\r\n```\r\n### \u003ca name=\"example\"\u003e\u003c/a\u003eExample\r\n```javascript\r\nvar app = {\r\n    initialize: function () {\r\n        this.bindEvents();\r\n    },\r\n    bindEvents: function () {\r\n        document.addEventListener('deviceready', this.onDeviceReady, false);\r\n    },\r\n    onDeviceReady: function () {\r\n        var obj = {name: \"NativeStorage\", author: \"GillesCallebaut\"};\r\n\r\n        // be certain to make an unique reference String for each variable!\r\n        NativeStorage.setItem(\"reference\", obj, this.setSuccess, this.setError);\r\n    },\r\n    setSuccess: function (obj) {\r\n        console.log(obj.name);\r\n        NativeStorage.getItem(\"reference\", this.getSuccess, this.getError);\r\n    },\r\n    setError: function (error) {\r\n        console.log(error.code);\r\n        if (error.exception !== \"\") console.log(error.exception);\r\n    },\r\n    getSuccess: function (obj) {\r\n        console.log(obj.name);\r\n        NativeStorage.remove(\"reference\", this.removeSuccess, this.removeError);\r\n    },\r\n    getError: function (error) {\r\n        console.log(error.code);\r\n        if (error.exception !== \"\") console.log(error.exception);\r\n    },\r\n    removeSuccess: function () {\r\n        console.log(\"Removed\");\r\n    },\r\n    removeError: function (error) {\r\n        console.log(error.code);\r\n        if (error.exception !== \"\") console.log(error.exception);\r\n    }\r\n};\r\n\r\napp.initialize();\r\n```\r\n\r\n### \u003ca name=\"ngcordova_example\"\u003e\u003c/a\u003engCordova (Ionic V1) example\r\n```javascript\r\nvar app = angular.module('starter.controllers', ['ngCordova.plugins.nativeStorage'])\r\n\r\napp.controller('myCtrl', function ($ionicPlatform, $scope, $cordovaNativeStorage, $log) {\r\n    $ionicPlatform.ready(function () {\r\n        $scope.$apply(function () {\r\n            $cordovaNativeStorage.setItem(\"ref\", \"value\").then(function (value) {\r\n                $log.log(value);\r\n                $cordovaNativeStorage.getItem(\"ref\").then(function (value) {\r\n                    $log.log(value);\r\n                }, function (error) {\r\n                    $log.log(error);\r\n                });\r\n            }, function (error) {\r\n                $log.log(error);\r\n            });\r\n        });\r\n    });\r\n});\r\n```\r\n\r\n### \u003ca name=\"demo_example\"\u003e\u003c/a\u003eDemo Example\r\nA demo application can be found at `cordova-plugin-nativestorage/examples/demo`. This application will save a String when the SAVE (`btn_load`) is pushed. This String is the value which has been typed in the input field (`data_input`). When the LOAD button is pressed, the value is shown by means of an alert message.\r\n\r\n#### Installation\r\n* Cloning the repo to a local dir\r\n```sh\r\ngit clone https://github.com/GillesC/cordova-plugin-nativestorage.git\r\n```\r\n* Navigating to the demo dir\r\n```sh\r\ncd cordova-plugin-nativestorage/examples/demo/\r\n```\r\n* Adding target platforms\r\n```sh\r\ncordova platform add ios\r\ncordova platform add android\r\ncordova platform add browser\r\ncordova platform add windows\r\n```\r\n* Adding the plugin\r\n```sh\r\ncordova plugin add cordova-plugin-nativestorage\r\n```\r\n* For testing the plugin\r\n```sh\r\ncordova plugin add http://git-wip-us.apache.org/repos/asf/cordova-plugin-test-framework.git\r\ncordova plugin add https://github.com/TheCocoaProject/cordova-plugin-nativestorage.git#:/tests\r\n```\r\n* Run or emulate the demo application\r\n```sh\r\ncordova emulate ios\r\ncordova run android\r\ncordova run browser\r\ncordova run windows\r\n```\r\n\r\n## \u003ca name=\"security\"\u003e\u003c/a\u003eSecurity\r\nIs it safe to store sensitive data via this plugin?\r\n - Yes and No, all stored values are only accessible by your application, which makes it safe. However, the values can be viewed when the attacker has access to your phone's password (e.g. lock-pattern) through an un-encrypted back-up on Android (if back-up is enabled) or through root-access. The latter is only possible if the phone is rooted. An extra encryption mechanism would be of value when an extra user-supplied password is used. This mode is on our [Future Track](https://github.com/TheCocoaProject/cordova-plugin-nativestorage/wiki/Future-track) list.\r\n\r\n## \u003ca name=\"errors\"\u003e\u003c/a\u003eErrors\r\nError object contains:\r\n- code\r\n- source (= \"Native\"/\"JS\")\r\n- exception (if any, e.g. JSON exception)\r\n\r\n### Error codes\r\nthe code contains an integer whichs specifies the occurred error/problem\r\n- `NATIVE_WRITE_FAILED` = 1\r\n- `ITEM_NOT_FOUND` = 2\r\n- `NULL_REFERENCE` = 3\r\n- `UNDEFINED_TYPE` = 4\r\n- `JSON_ERROR` = 5\r\n- `WRONG_PARAMETER` = 6\r\n\r\n## \u003ca name=\"problems\"\u003e\u003c/a\u003eProblems\r\nIf you encounter any problems, please remove the current plugin and re-add it.\r\nThis will install the latest version.\r\n\r\nIf you have code issues, things not related to a bug of the plugin please consider posting your question on Stackoverflow. And add our own tag, [cordova-nativestorage](http://stackoverflow.com/tags/cordova-nativestorage).\r\n\r\n- Be certain to only retrieve a saved value when the put/set success-callback method was invoked.\r\n- When using Ionic V1 the plugin can be undefined, the solution was descibed in issue [#10](../../issues/10):\r\n\t* Remove `ng-app` from `body`\r\n\t* put this code at the end of `index.html`:\r\n\t* ```\u003cscript type=\"text/javascript\"\u003e document.addEventListener('deviceready', function onDeviceReady() { angular.bootstrap(document.querySelector('body'), ['starter']); }, false); \u003c/script\u003e```\r\n- `Unknown provider: $cordovaNativeStorageProvider`\r\n\t* Are you certain you've included the [wrapper](https://github.com/TheCocoaProject/ngcordova-wrapper-nativestorage)?\r\n- `Failed to instantiate module ngCordova.plugins.nativeStorage`\r\n- `Module 'ngCordova.plugins.nativeStorage' is not available`\r\n\t* Check your bower json file (`bower.json`) to see if everything is correct\r\n\t* be certain that the wrappers js file is included as described in the [README of the wrapper](https://github.com/TheCocoaProject/ngcordova-wrapper-nativestorage/blob/master/README.md)\r\n- Plugin doesn't seem to work in iOS 10\r\n\t* Solution is presented on Stackoverflow in [this thread](http://stackoverflow.com/questions/38410159/cordova-app-hanging-during-startup-on-ios-10-beta). The issue was also discussed in issue [#36](../../issues/36).\r\n\r\n## \u003ca name=\"FAQ\"\u003e\u003c/a\u003eF.A.Q.\r\n- Is data persistent between app updates?\r\n\t* Yes. The data should persistent till the app has been deleted from the device. This because the plugin uses `Sharedpreferences` in Android and `NSUserDefaults` in iOS.\r\n- Oh no my stored data is not cleared after reinstalling my application. How do I resolve this 'issue'?\r\n\t* You need to set `android:allowBackup=false` in the application tag of AndroidManifest.xml. More information at [this issue](https://github.com/TheCocoaProject/cordova-plugin-nativestorage/issues/57) and [this StackOverflow question](http://stackoverflow.com/questions/42538421/ionic-nativestorage-not-clear-when-reinstal-application-release).\r\n- What database are you using and why?\r\n\t* None. The plugin uses `Sharedpreferences` in Android and `NSUserDefaults` in iOS. These strategies are designed for storing data quick and easy. See the [usage of the plugin](#when) for more info about DB vs NativeStorage.\r\n- Is it possible to save images and audio with the plugin?\r\n\t* Yes. If you could stringify the data. Should I save imaged and audio is a different question. If the provided data isn't large and there isn't need to store a large amount of it, it will be OK.  See the [usage of the plugin](#when) for more info about storing large data with the plugin.\r\n- Is there a forum where people interested in the plugin could discuss issues like this?\r\n\t* Yes\r\n\t\t- See our own [issues page](https://github.com/TheCocoaProject/cordova-plugin-nativestorage/issues)\r\n\t\t- Check out our [chat](https://gitter.im/TheCocoaProject/cordova-plugin-nativestorage?utm_source=badge\u0026utm_medium=badge\u0026utm_campaign=pr-badge\u0026utm_content=badge) on Gitter\r\n- Can I access the saved value in Android?\r\n\t* Yes, check out [this thread](http://stackoverflow.com/questions/39159754/how-get-data-from-cordova-plugin-nativestorage-in-android-java/39269620#39269620) on StackOverflow. Or see [this issue](https://github.com/TheCocoaProject/cordova-plugin-nativestorage/issues/53) on Github.\r\n- Can I access saved values in JavaScript?\r\n\t* Yes, see [this thread](http://stackoverflow.com/questions/25657749/cordova-plugin-expose-js-variable-android-cardflight/39331899#39331899) on StackOverflow.\r\n- Does this plugin supports Cordova 3.9.2?\r\n\t* Yes, look at [this fork](cordova-plugin-nativestorage-3.9.2-compatible)\r\n\r\n\r\n## \u003ca name=\"applications\"\u003e\u003c/a\u003eApplications using this plugin\r\n\r\n- [Battles of East March](https://itunes.apple.com/us/app/id1135312617) (it was made using the Phaser game engine and compiled using CocoonJS)\r\n\r\nIf you're utilizing this plugin and wish to add your application to this readme, please contact [me](mailto:callebaut.gilles@gmail.com).\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthecocoaproject%2Fcordova-plugin-nativestorage","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fthecocoaproject%2Fcordova-plugin-nativestorage","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthecocoaproject%2Fcordova-plugin-nativestorage/lists"}