Skip to content

Commit 9d97cf3

Browse files
committed
update ps 0.15.0
1 parent 1a97b07 commit 9d97cf3

File tree

9 files changed

+664
-509
lines changed

9 files changed

+664
-509
lines changed

.github/workflows/ci.yml

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
name: ci
2+
3+
# Run the workflow on any pushes or PRs.
4+
on: [push, pull_request]
5+
6+
jobs:
7+
tests:
8+
runs-on: ubuntu-latest
9+
steps:
10+
- uses: actions/checkout@v2
11+
- uses: cachix/install-nix-action@v12
12+
with:
13+
nix_path: nixpkgs=channel:nixos-unstable
14+
- run: ./test.bash

bower.json

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -12,12 +12,12 @@
1212
"output"
1313
],
1414
"dependencies": {
15-
"purescript-aff": "^6.0.0",
16-
"purescript-foreign": "^6.0.1"
15+
"purescript-aff": "^7.0.0",
16+
"purescript-foreign": "^7.0.0"
1717
},
1818
"devDependencies": {
19-
"purescript-test-unit": "^16.0.0",
20-
"purescript-node-fs-aff": "^7.0.0",
21-
"purescript-simple-json": "^8.0.0"
19+
"purescript-test-unit": "^17.0.0",
20+
"purescript-node-fs-aff": "^9.0.0",
21+
"purescript-simple-json": "^9.0.0"
2222
}
2323
}

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,6 @@
2020
},
2121
"homepage": "https://github.com/justinwoo/purescript-node-sqlite3#readme",
2222
"dependencies": {
23-
"sqlite3": "^4.0.0"
23+
"sqlite3": "^5.0.8"
2424
}
2525
}

shell.nix

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
{ pkgs ? import <nixpkgs> { } }:
2+
let
3+
easy-ps = import
4+
(pkgs.fetchFromGitHub {
5+
owner = "justinwoo";
6+
repo = "easy-purescript-nix";
7+
rev = "0ad5775c1e80cdd952527db2da969982e39ff592";
8+
sha256 = "0x53ads5v8zqsk4r1mfpzf5913byifdpv5shnvxpgw634ifyj1kg";
9+
})
10+
{
11+
inherit pkgs;
12+
};
13+
in
14+
pkgs.mkShell {
15+
buildInputs = [
16+
easy-ps.purs
17+
easy-ps.psc-package
18+
pkgs.nodejs
19+
pkgs.nodePackages.pulp
20+
pkgs.nodePackages.bower
21+
];
22+
}

src/SQLite3/Internal.js

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,24 @@
1-
var sqlite3 = require("sqlite3");
1+
import sqlite3 from "sqlite3";
22

3-
exports._newDB = function(filename, cb) {
3+
export function _newDB(filename, cb) {
44
cb(new sqlite3.Database(filename))();
5-
};
5+
}
66

7-
exports._closeDB = function(db, eb, cb) {
8-
db.close(function(err) {
7+
export function _closeDB(db, eb, cb) {
8+
db.close(function (err) {
99
if (err) {
1010
eb(err);
1111
} else {
1212
cb();
1313
}
1414
});
15-
};
15+
}
1616

17-
exports._queryDB = function(db, query, params, eb, cb) {
17+
export function _queryDB(db, query, params, eb, cb) {
1818
db.all.apply(
1919
db,
2020
[query].concat(
21-
params.concat(function(err, rows) {
21+
params.concat(function (err, rows) {
2222
if (err) {
2323
eb(err);
2424
} else {
@@ -27,14 +27,14 @@ exports._queryDB = function(db, query, params, eb, cb) {
2727
})
2828
)
2929
);
30-
};
30+
}
3131

32-
exports._queryObjectDB = function(db, query, params, eb, cb) {
33-
db.all(query, params, function(err, rows) {
32+
export function _queryObjectDB(db, query, params, eb, cb) {
33+
db.all(query, params, function (err, rows) {
3434
if (err) {
3535
eb(err);
3636
} else {
3737
cb(rows);
3838
}
3939
});
40-
};
40+
}

test.bash

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
#! /usr/bin/env nix-shell
2+
#! nix-shell shell.nix -i bash
3+
4+
set -e
5+
6+
bower install
7+
8+
pulp build --include test
9+
10+
node ./test/index.mjs

test/Main.purs

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,22 +7,23 @@ import Data.Foldable (for_)
77
import Effect (Effect)
88
import Effect.Aff (launchAff_)
99
import Effect.Class (liftEffect)
10-
import Node.FS.Aff (exists, unlink)
10+
import Node.FS.Aff (unlink)
11+
import Node.FS.Sync (exists)
1112
import SQLite3 (closeDB, newDB, queryDB, queryObjectDB)
1213
import Simple.JSON (read)
1314
import Test.Unit (failure, suite, test)
1415
import Test.Unit.Assert (assert, equal)
1516
import Test.Unit.Main (runTest)
1617

17-
type Row =
18+
type TableRow =
1819
{ name :: String
1920
, detail :: String
2021
}
2122

2223
main :: Effect Unit
2324
main = launchAff_ do
2425
let testPath = "./test.sqlite3"
25-
(flip when) (unlink testPath) =<< exists testPath
26+
(flip when) (unlink testPath) =<< liftEffect (exists testPath)
2627
db <- newDB testPath
2728
_ <- queryDB db
2829
"""
@@ -36,7 +37,7 @@ CREATE TABLE IF NOT EXISTS mytable
3637
suite "SQLite3" do
3738

3839
test ("db connection worked and created " <> testPath) do
39-
assert "exists testPath" =<< exists testPath
40+
assert "exists testPath" =<< liftEffect (exists testPath)
4041

4142
test "we can insert rows and retrieve them" do
4243
_ <- queryDB db
@@ -51,7 +52,7 @@ INSERT INTO mytable
5152
SELECT name, detail FROM mytable
5253
""" []
5354
case results of
54-
Right (as :: Array Row) ->
55+
Right (as :: Array TableRow) ->
5556
for_ as \a -> do
5657
equal a.name "aa"
5758
equal a.detail "bbbb"
@@ -61,7 +62,7 @@ SELECT name, detail FROM mytable
6162
test "we can use queryObjectDB to retrieve records" do
6263
results <- read <$> queryObjectDB db "SELECT name, detail FROM mytable WHERE name = $asdf" { "$asdf": "aa" }
6364
case results of
64-
Right (as :: Array Row) ->
65+
Right (as :: Array TableRow) ->
6566
for_ as \a -> do
6667
equal a.name "aa"
6768
equal a.detail "bbbb"

test/index.mjs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
import { main } from "../output/Test.Main/index.js";
2+
3+
main();

0 commit comments

Comments
 (0)