# spgen

> Stored Procedure Generator to write like JavaScript

Latest version **0.2.1** (published 2021-01-04) · ISC license · 0 weekly downloads

## Install

```sh
npm install spgen
pnpm add spgen
yarn add spgen
bun add spgen
```

Provides the command `spgen`.

## Health

**Score 15/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support; pre 1.0.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 0.2.1 |
| Published | 2021-01-04 |
| First published | 2017-03-13 |
| Weekly downloads | 0 |
| License | ISC |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 0 |
| Unpacked size | 1.9 MB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| Author | primespace |
| Maintainers | primespace |
| Keywords | stored procedure, mysql, database, javascript |

## Links

- npm: https://www.npmjs.com/package/spgen
- npm.io page: https://npm.io/package/spgen

## Alternatives

- [@libsql/sqlite3](https://npm.io/package/@libsql/sqlite3.md) — 39.8K weekly downloads
- [@fortemi/core](https://npm.io/package/@fortemi/core.md) — 461 weekly downloads
- [cdb-converter](https://npm.io/package/cdb-converter.md) — 341 weekly downloads
- [@uplo/adapter-prisma](https://npm.io/package/@uplo/adapter-prisma.md) — 75 weekly downloads
- [typeorm-aios](https://npm.io/package/typeorm-aios.md) — 30 weekly downloads

## Recent versions

- 0.2.1 (latest) — 2021-01-04
- 0.2.0 — 2021-01-03
- 0.1.51 — 2020-11-26
- 0.1.50 — 2020-09-27
- 0.1.40 — 2020-01-31
- 0.1.39 — 2020-01-31
- 0.1.38 — 2019-12-18
- 0.1.37 — 2019-12-06
- 0.1.36 — 2018-06-06
- 0.1.35 — 2017-11-03
- 0.1.34 — 2017-11-03
- 0.1.33 — 2017-07-04
- 0.1.31 — 2017-05-02
- 0.1.30 — 2017-04-30
- 0.1.29 — 2017-04-30
- … 29 more at https://npm.io/package/spgen/versions

## README

# spgen - A Stored Procedure Generater to write like JavaScript

> Spgen is a tool for creating stored procedures like Javascript.

---

## Example
```sh
// type.jssp
type IdentifierUser varchar(8);
```

```sh
// queries.jssp
query selectUser(userId) {
    select count(*) from user
    where user_id = :userId;
}
```

```sh
// import.jssp
import "./type.jssp"
import "./queries.jssp"

use test;

func demoimport(userId IdentifierUser) : int
{
    selectUser('primespace');

    return 0;
}
```

```sh
// generate stored procedure.
spgen generate import.jssp;
```
```sh
use test;

DELIMITER $$


DROP FUNCTION IF EXISTS demoimport;

CREATE FUNCTION demoimport(userId VARCHAR(8)) RETURNS INT
BEGIN

    select count(*) from user
    where user_id = 'primespace';

    return 0;
END 

$$

DELIMITER ;
```

## Install

```sh
$ npm install -g spgen
```

spgen depends on [Node.js](http://nodejs.org/) and [npm](http://npmjs.org/).


## Usage
```sh
Usage: spgen <command>

where <command> is one of:
    generate, get, version

spgen generate sample.jssp [-out <path>]
    Converts the sample.jssp into the <path> directory

spgen get samples
    Copy all sample files to the current directory.

spgen version
    Output the version.
```

```sh
// Copy all sample files to the current directory.
$ spgen get samples
```
## Generate stored procedure

```sh
// Converts the cursor.jssp into the output directory
$ spgen generate cursor.jssp -out ./output
```

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