Comparing version 1.0.0 to 1.1.0
{ | ||
"name": "@nore/nql", | ||
"description": "Nore SQL query builder.", | ||
"version": "1.0.0", | ||
"description": "An extensible SQL query builder for SQLite", | ||
"version": "1.1.0", | ||
"author": "Navaru", | ||
"license": "MIT", | ||
"license": "ISC", | ||
"repository": "https://github.com/nore/nql", | ||
"module": "source/index.js", | ||
"main": "source/index.js", | ||
"es": "cross-env ES_NODE_MODULES=@nore ./node_modules/.bin/es", | ||
"scripts": { | ||
"test": "$npm_package_es tests" | ||
}, | ||
"dependencies": { | ||
"xql": "^1.4.10", | ||
"@nore/std": "^1.0.0" | ||
"@nore/std": "^1.2.0" | ||
}, | ||
"devDependencies": { | ||
"tap": "^12.0.1" | ||
"@nore/esm": "^2.3.0", | ||
"cross-env": "^5.2.0", | ||
"tap": "^12.1.0" | ||
} | ||
} |
@@ -14,2 +14,3 @@ import FieldsMap from "../utils/FieldsMap"; | ||
import set from "./set.js"; | ||
import upsert from "./upsert.js"; | ||
@@ -30,3 +31,4 @@ const queryFields = new FieldsMap(); | ||
queryFields.add("set", set); | ||
queryFields.add("upsert", upsert); | ||
export default queryFields; |
export default ` | ||
INSERT INTO {table} | ||
{values} | ||
{upsert} | ||
`; |
@@ -155,1 +155,33 @@ import { test, only } from "tap"; | ||
}); | ||
test("upsert", ({ end, equal, same }) => { | ||
const upsert = queryFields.get("upsert"); | ||
var query = { | ||
type: "insert", | ||
table: "demo", | ||
values: { foo: "bar", lorem: null, ipsum: 25 }, | ||
upsert: "uid", | ||
}; | ||
equal( | ||
upsert(query.upsert, query), | ||
'ON CONFLICT("uid") DO UPDATE SET foo=excluded.foo, lorem=excluded.lorem, ipsum=excluded.ipsum' | ||
); | ||
var query = { | ||
type: "insert", | ||
table: "demo", | ||
values: { foo: "bar", lorem: null, ipsum: 25 }, | ||
upsert: ["id", ["foo", "ipsum"]], | ||
}; | ||
equal( | ||
upsert(query.upsert, query), | ||
'ON CONFLICT("id") DO UPDATE SET foo=excluded.foo, ipsum=excluded.ipsum' | ||
); | ||
end(); | ||
}); |
@@ -26,6 +26,7 @@ import { test, only } from "tap"; | ||
values: { foo: "bar", lorem: null, ipsum: 25 }, | ||
upsert: "foo", | ||
}); | ||
const expected = [ | ||
'INSERT INTO "foo" ("foo", "lorem", "ipsum") VALUES (?, NULL, ?)', | ||
'INSERT INTO "foo" ("foo", "lorem", "ipsum") VALUES (?, NULL, ?) ON CONFLICT("foo") DO UPDATE SET lorem=excluded.lorem, ipsum=excluded.ipsum', | ||
["bar", 25], | ||
@@ -66,1 +67,14 @@ ]; | ||
}); | ||
test("delete", ({ end, equal, same }) => { | ||
const result = build({ | ||
type: "delete", | ||
table: "demo", | ||
where: { lorem: "ipsum" }, | ||
}); | ||
const expected = [`DELETE FROM "demo" WHERE "lorem" == ?`, ["ipsum"]]; | ||
same(result, expected); | ||
end(); | ||
}); |
No README
QualityPackage does not have a README. This may indicate a failed publish or a low quality package.
Found 1 instance in 1 package
136828
1
50
1219
1
16
3
- Removedxql@^1.4.10
- Removedxql@1.4.12(transitive)
Updated@nore/std@^1.2.0