0.7.2 • Published 4 years ago

@rduk/data v0.7.2

Weekly downloads
-
License
MIT
Repository
github
Last release
4 years ago

RDUK - Data

Build Status Coverage Status Conventional Commits Greenkeeper badge JavaScript Style Guide

Create a QueryProvider responsible for creating queries and querying data source thanks to a DataProvider

Warning: not prod ready.

Installation

npm i --save rduk-data

QueryProvider

Implementations

SqlQueryProvider

const Queryable = require('@rduk/data/lib/queryable');
const SourceExpression = require('@rduk/data/lib/expression/source');

let users = new Queryable(new SourceExpression('my_db_users'));
let profiles = new Queryable(new SourceExpression('my_db_profiles'));

let query = users
    .join(profiles, (u, p) => (u.id === p.user_id))
    .filter((u, p) => (u.email.endsWith(this.search) && p.country.toUpperCase() === 'FRANCE'))
    .select((u, p) => ({
        id: u.id,
        email: u.email,
        firstName: p.first_name,
        lastName: p.last_name.toUpperCase()
    }));

query.toArray({
    search: '@rduk.fr'
});

/**
 * Generated SQL query:
 * SELECT
 *   t0.`id` AS `id`,
 *   t0.`email` AS `email`,
 *   t1.`first_name` AS `firstName`,
 *   t1.`last_name` AS `lastName`
 * FROM my_db_users t0
 * INNER JOIN my_db_profiles t1 ON t0.id = t1.user_id
 * WHERE
 *  (1 AND (t0.`email` LIKE ? AND UPPER(t1.`country`) = 'FRANCE'))
 *
 * Parameters
 * { search: '%@rduk.fr' }
 */

DataProvider

Implementations

License

See LICENSE file

0.7.2

4 years ago

0.7.1

5 years ago

0.7.0

5 years ago

0.6.2

5 years ago

0.6.1

5 years ago

0.6.0

5 years ago

0.5.4

5 years ago

0.5.3

6 years ago

0.5.2

6 years ago

0.5.1

6 years ago

0.5.0

6 years ago

0.4.3

6 years ago

0.4.2

6 years ago

0.4.1

6 years ago

0.4.0

6 years ago

0.3.0

6 years ago

0.2.2

6 years ago

0.2.1

6 years ago

0.2.0

6 years ago

0.1.3

6 years ago

0.1.2

6 years ago

0.1.1

6 years ago

0.1.0

6 years ago

0.0.11

6 years ago

0.0.9

6 years ago

0.0.8

6 years ago

0.0.7

6 years ago

0.0.6

6 years ago

0.0.5

6 years ago

0.0.4

6 years ago

0.0.3

6 years ago

0.0.2

6 years ago

0.0.1

6 years ago