4.4.17 • Published 6 years ago

maeva v4.4.17

Weekly downloads
3
License
ISC
Repository
-
Last release
6 years ago

maeva

JS models. Database agnostic.

Usage

import * as data from 'maeva';
import mongodb from 'maeva-mongodb';

// Define a model
const players = data.model('players', {
  name: String,
  score: Number,
  isCaptain: Boolean
});

// Use a data connector to connect to a database server
const connector = mongodb('mongodb://localhost');
const connection = data.connect(connector);

// Now you can fire requests to the database server
await data.insertOne(players, {
  name: 'Joe',
  score: 100,
  isCaptain: true
});

// Find first 100 players sorted by score
await data.findMany(players, {
  isCaptain: true,
  name: /jo/,
  score: data.above(0)
}, {sort: 'score', range: 100});

Client/Server architecture

maeva has been developed with the dichotomy client/server in mind. That's why we provide connectors for the two most basic ways a client app would fire queries: HTTP(s) and Web Sockets.

HTTP example

In your server app:

import * as data from 'maeva';
import postgres from 'maeva-postgresql';
import http from 'maeva-http';

const db = data.connect(postgres('pql://mypostgresserver.com'));
data.connect(http.server('http://myserver.com', {connector: db}));

In your client app:

import * as data from 'maeva';
import http from 'maeva-http';

const usersModel = data.model('users', {email: String});
data.connect(http('http://myserver.com'));
const users = await data.findMany(usersModel);

Web Sockets example

In your server app:

import * as data from 'maeva';
import postgres from 'maeva-postgresql';
import sockets from 'maeva-sockets';

const db = data.connect(postgres('pql://mypostgresserver.com'));
data.connect(sockets.server('ws://myserver.com', {connector: db}));

In your client app:

import * as data from 'maeva';
import sockets from 'maeva-sockets';

const usersModel = data.model('users', {email: String});
data.connect(sockets('ws://myserver.com'));
const users = await data.findMany(usersModel);

Connectors

Most popular databases

JavaScript databases

  • maeva-json A json database that lives in memory - with an option to persist data in storage

Client APIs

  • maeva-http A built-in HTTP API you can plug to any maeva connector
  • maeva-sockets A built-in Web Socket API you can plug to any maeva connector

Docs

4.4.17

6 years ago

4.4.16

6 years ago

4.4.15

6 years ago

4.4.14

6 years ago

4.4.13

6 years ago

4.4.12

6 years ago

4.4.11

6 years ago

4.4.10

6 years ago

4.4.9

6 years ago

4.4.8

6 years ago

4.4.7

6 years ago

4.4.6

6 years ago

4.4.5

6 years ago

4.4.4

6 years ago

4.4.3

6 years ago

4.4.2

6 years ago

4.4.1

6 years ago

4.4.0

6 years ago

4.3.7

6 years ago

4.3.6

6 years ago

4.3.5

6 years ago

4.3.4

6 years ago

4.3.3

6 years ago

4.3.2

6 years ago

4.3.1

6 years ago

4.3.0

6 years ago

4.2.0

6 years ago

4.1.2

6 years ago

4.1.1

6 years ago

4.1.0

6 years ago

4.0.18

6 years ago

4.0.17

6 years ago

4.0.16

6 years ago

4.0.15

6 years ago

4.0.14

6 years ago

4.0.13

6 years ago

4.0.12

6 years ago

4.0.11

6 years ago

4.0.10

6 years ago

4.0.9

6 years ago

4.0.8

6 years ago

4.0.7

6 years ago

4.0.6

6 years ago

4.0.4

6 years ago

4.0.3

6 years ago

4.0.2

6 years ago

4.0.1

6 years ago

4.0.0

7 years ago

3.1.1

7 years ago

3.1.0

7 years ago

3.0.0

7 years ago

2.6.6

7 years ago

2.6.5

7 years ago

2.6.3

7 years ago

2.6.2

7 years ago

2.6.1

7 years ago

2.6.0

7 years ago

2.5.3

7 years ago

2.5.2

7 years ago

2.5.1

7 years ago

2.5.0

7 years ago

2.4.1

8 years ago

2.4.0

8 years ago

2.3.2

8 years ago

2.3.1

8 years ago

2.2.0

8 years ago

2.1.0

8 years ago

2.0.7

8 years ago

2.0.6

8 years ago

2.0.5

8 years ago

2.0.4

8 years ago

2.0.2

8 years ago

2.0.0

8 years ago

1.0.19

8 years ago

1.0.18

8 years ago

1.0.17

8 years ago

1.0.16

8 years ago

1.0.15

8 years ago

1.0.14

8 years ago

1.0.13

8 years ago

1.0.12

8 years ago

1.0.11

8 years ago

1.0.10

8 years ago

1.0.9

8 years ago

1.0.8

8 years ago

1.0.7

8 years ago

1.0.6

8 years ago

1.0.5

8 years ago

1.0.4

8 years ago

1.0.3

8 years ago

1.0.2

8 years ago

1.0.1

8 years ago

1.0.0

8 years ago