platform/packages/file_service
2021-02-14 13:22:25 +08:00
..
.idea Add 'packages/file_service/' from commit '8eeae3c286c20b6c8ca89a11be8a25c1ade16689' 2020-02-15 18:28:36 -05:00
example Add 'packages/file_service/' from commit '8eeae3c286c20b6c8ca89a11be8a25c1ade16689' 2020-02-15 18:28:36 -05:00
lib Add 'packages/file_service/' from commit '8eeae3c286c20b6c8ca89a11be8a25c1ade16689' 2020-02-15 18:28:36 -05:00
test Add 'packages/file_service/' from commit '8eeae3c286c20b6c8ca89a11be8a25c1ade16689' 2020-02-15 18:28:36 -05:00
.gitignore Add 'packages/file_service/' from commit '8eeae3c286c20b6c8ca89a11be8a25c1ade16689' 2020-02-15 18:28:36 -05:00
.travis.yml Add 'packages/file_service/' from commit '8eeae3c286c20b6c8ca89a11be8a25c1ade16689' 2020-02-15 18:28:36 -05:00
analysis_options.yaml Add 'packages/file_service/' from commit '8eeae3c286c20b6c8ca89a11be8a25c1ade16689' 2020-02-15 18:28:36 -05:00
CHANGELOG.md Add 'packages/file_service/' from commit '8eeae3c286c20b6c8ca89a11be8a25c1ade16689' 2020-02-15 18:28:36 -05:00
LICENSE Add 'packages/file_service/' from commit '8eeae3c286c20b6c8ca89a11be8a25c1ade16689' 2020-02-15 18:28:36 -05:00
pubspec.yaml Updated dart requirements to 2.10 2021-02-14 13:22:25 +08:00
README.md Add 'packages/file_service/' from commit '8eeae3c286c20b6c8ca89a11be8a25c1ade16689' 2020-02-15 18:28:36 -05:00

file_service

Pub build status

Angel service that persists data to a file on disk, stored as a JSON list. It uses a simple mutex to prevent race conditions, and caches contents in memory until changes are made.

The file will be created on read/write, if it does not already exist.

This package is useful in development, as it prevents you from having to install an external database to run your server.

When running a multi-threaded server, there is no guarantee that file operations will be mutually excluded. Thus, try to only use this one a single-threaded server if possible, or one with very low load.

While not necessarily slow, this package makes no promises about performance.

Usage

configureServer(Angel app) async {
  // Just like a normal service
  app.use(
    '/api/todos',
    new JsonFileService(
      const LocalFileSystem().file('todos_db.json')
    ),
  );
}