# js-sql-eval

> Implementation of relational algebra and SQL constructs in Javascript

Latest version **1.0.0** (published 2018-12-31) · ISC license · 0 weekly downloads

> **Deprecated.** This package is deprecated.

## Install

```sh
npm install js-sql-eval
pnpm add js-sql-eval
yarn add js-sql-eval
bun add js-sql-eval
```

## Health

**Score 10/100 (F)** — status: deprecated.

Negative: deprecated.

## Facts

| | |
|---|---|
| Version | 1.0.0 |
| Published | 2018-12-31 |
| First published | 2018-12-31 |
| Weekly downloads | 0 |
| License | ISC |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 0 |
| Unpacked size | 60.7 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| Author | Daniel O'Grady |
| Maintainers | ogradyd |
| Keywords | sql, relational, algebra |

## Links

- npm: https://www.npmjs.com/package/js-sql-eval
- Repository: https://github.com/ogrady/jsSQL
- Homepage: https://github.com/ogrady/jsSQL#readme
- Issues: https://github.com/ogrady/jsSQL/issues
- npm.io page: https://npm.io/package/js-sql-eval

## Recent versions

- 1.0.0 (latest) — 2018-12-31

## README

# jsSQL
## Purpose
This package evaluates basic operators from relational algebra and SQL.
It serves as a backend for visualisations and other frontend tools.
The generation of single tuples as well as of whole relations can be observed via the classic visitor pattern.

## NPM
jsSQL is built in vanilla javascript on purpose, to have a small set of dependencies and high compatibility with many browsers and versions. It can therefore be used from within a browser as is shown in the `index.html` where all required files are just included as scripts.

But this repository features an NPM package that wraps around the vanilla functionality.

## Known Issues
- The most basic form of logic is an instance of `Predicate`, which in turn holds a lambda `Tuple -> bool`. While this makes sense functionally, it isn't very clean when it comes to parsing queries from an input string, as it would require the usage of `eval` sooner or later. Maybe expressions should be built dynamically as ASTs instead?

---
_Source: https://npm.io/package/js-sql-eval · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
