4.4.17 • Published 8 years ago

maeva v4.4.17

Weekly downloads
3
License
ISC
Repository
-
Last release
8 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

8 years ago

4.4.16

8 years ago

4.4.15

8 years ago

4.4.14

8 years ago

4.4.13

8 years ago

4.4.12

8 years ago

4.4.11

8 years ago

4.4.10

8 years ago

4.4.9

8 years ago

4.4.8

8 years ago

4.4.7

8 years ago

4.4.6

8 years ago

4.4.5

8 years ago

4.4.4

8 years ago

4.4.3

8 years ago

4.4.2

8 years ago

4.4.1

8 years ago

4.4.0

8 years ago

4.3.7

8 years ago

4.3.6

8 years ago

4.3.5

8 years ago

4.3.4

8 years ago

4.3.3

8 years ago

4.3.2

8 years ago

4.3.1

8 years ago

4.3.0

8 years ago

4.2.0

8 years ago

4.1.2

8 years ago

4.1.1

8 years ago

4.1.0

8 years ago

4.0.18

8 years ago

4.0.17

8 years ago

4.0.16

8 years ago

4.0.15

8 years ago

4.0.14

8 years ago

4.0.13

8 years ago

4.0.12

8 years ago

4.0.11

8 years ago

4.0.10

8 years ago

4.0.9

8 years ago

4.0.8

8 years ago

4.0.7

8 years ago

4.0.6

8 years ago

4.0.4

8 years ago

4.0.3

8 years ago

4.0.2

8 years ago

4.0.1

8 years ago

4.0.0

8 years ago

3.1.1

9 years ago

3.1.0

9 years ago

3.0.0

9 years ago

2.6.6

9 years ago

2.6.5

9 years ago

2.6.3

9 years ago

2.6.2

9 years ago

2.6.1

9 years ago

2.6.0

9 years ago

2.5.3

9 years ago

2.5.2

9 years ago

2.5.1

9 years ago

2.5.0

9 years ago

2.4.1

9 years ago

2.4.0

9 years ago

2.3.2

9 years ago

2.3.1

9 years ago

2.2.0

9 years ago

2.1.0

9 years ago

2.0.7

9 years ago

2.0.6

9 years ago

2.0.5

9 years ago

2.0.4

9 years ago

2.0.2

9 years ago

2.0.0

9 years ago

1.0.19

9 years ago

1.0.18

9 years ago

1.0.17

9 years ago

1.0.16

9 years ago

1.0.15

9 years ago

1.0.14

9 years ago

1.0.13

9 years ago

1.0.12

9 years ago

1.0.11

9 years ago

1.0.10

9 years ago

1.0.9

9 years ago

1.0.8

9 years ago

1.0.7

10 years ago

1.0.6

10 years ago

1.0.5

10 years ago

1.0.4

10 years ago

1.0.3

10 years ago

1.0.2

10 years ago

1.0.1

10 years ago

1.0.0

10 years ago