Add DataStore (IndexedDB wrapper)

An alternative to the synchronous Settings API to work around storage
limitations of localStorage and allow  storing of arbitrarily large
data in form of most Javascript DataTypes,
see https://developer.mozilla.org/en-US/docs/Web/API/Web_Workers_API/Structured_clone_algorithm#supported_types
This commit is contained in:
Vendicated 2022-10-20 18:15:35 +02:00 committed by Ven
parent 36f4478a4f
commit 50047dd3c2
4 changed files with 489 additions and 4 deletions

View file

@ -29,7 +29,7 @@ You will find the built extension at dist/extension.zip. Now just install this e
## Installing Plugins
Vencord comes with a bunch of plugins out of the box!
However, if you want to install your own ones, create a `userplugins` folder in the `src` directory and create or clone your plugins in there.
However, if you want to install your own ones, create a `userplugins` folder in the `src` directory and create or clone your plugins in there.
Don't forget to rebuild!
Want to learn how to create your own plugin, and maybe PR it into Vencord? See the [Contributing](#contributing) section below!
@ -50,7 +50,7 @@ See [CONTRIBUTING.md](CONTRIBUTING.md) and [Megu's Plugin Guide!](docs/2_PLUGINS
## License
Most code in this repo is licensed under the [GPL-3.0](LICENSE). Only user created content in src/plugins may be subject to a different License.
Most code in this repo is licensed under the [GPL-3.0](LICENSE). Only third party dependencies and user created content in src/plugins may be subject to a different License.
If that is the case, it will be denoted by either a License header in the file or a LICENSE file in the content's directory.
Any other source code is subject to the GPL-3.0 as stated above. To incorporate it into a different project, please prepend the following header and include
@ -74,9 +74,9 @@ the GPL-3.0 as found in [LICENSE](LICENSE)
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
```
#### For contributors
For contributors wanting to submit a plugin, as stated above you may license your plugin under your own License as long as it satisfies the following Conditions:
- It is an open source license approved by either the [OSI](https://opensource.org/licenses/alphabetical) or the [FSF](https://www.gnu.org/licenses/license-list.html)
- It is GPL-3.0-compatible