@wandersoftgames/lapis
TypeScript icon, indicating that this package has built-in type declarations

0.3.9 • Public • Published

Lapis

A Roblox DataStore abstraction that offers:

  • Session Locking - Documents can only be accessed from one server at a time. This prevents some bugs and duping methods.
  • Validation - Ensure your data is correct before saving it.
  • Migrations - Update the structure of your data over time.
  • Retries - Failed DataStore requests will be retried.
  • Throttling - DataStore requests will never exceed their budget and throw an error.
  • Promise-based API - Promises are used instead of yielding.
  • Immutability - By default, documents are deep frozen must be updated immutably. This can be disabled.
  • Save Batching - Pending Document:save() and Document:close() calls are combined into one DataStore request when possible.
  • Auto Save - Documents are automatically saved every 5 minutes.
  • BindToClose - All documents are automatically closed when the game shuts down.

This library was inspired by Quicksave.

Warning

Lapis has not been battle-tested in a large production game yet. It may contain obscure bugs so use at your own risk.

Readme

Keywords

none

Package Sidebar

Install

npm i @wandersoftgames/lapis

Weekly Downloads

4

Version

0.3.9

License

MIT

Unpacked Size

88.9 kB

Total Files

31

Last publish

Collaborators

  • wandersoft