joist-knex 1.294.0 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/buildKnexQuery.d.ts +1 -1
- package/build/buildKnexQuery.d.ts.map +1 -1
- package/build/buildKnexQuery.js +7 -7
- package/build/buildKnexQuery.js.map +1 -1
- package/build/index.d.ts +1 -1
- package/build/index.d.ts.map +1 -1
- package/build/index.js +3 -3
- package/build/index.js.map +1 -1
- package/package.json +2 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"buildKnexQuery.d.ts","sourceRoot":"","sources":["../src/buildKnexQuery.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwB,eAAe,EAAe,MAAM,
|
|
1
|
+
{"version":3,"file":"buildKnexQuery.d.ts","sourceRoot":"","sources":["../src/buildKnexQuery.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwB,eAAe,EAAe,MAAM,YAAY,CAAC;AAChF,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAE5B,OAAO,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;AAExC,mFAAmF;AACnF,wBAAgB,cAAc,CAC5B,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,eAAe,EACvB,QAAQ,EAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,GAC5C,YAAY,CAAC,EAAE,EAAE,OAAO,EAAE,CAAC,CA4F7B"}
|
package/build/buildKnexQuery.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.buildKnexQuery = buildKnexQuery;
|
|
4
|
-
const
|
|
4
|
+
const joist_core_1 = require("joist-core");
|
|
5
5
|
const utils_1 = require("./utils");
|
|
6
6
|
/** Transforms Joist's internal `ParsedFindQuery` AST into a Knex query builder. */
|
|
7
7
|
function buildKnexQuery(knex, parsed, settings) {
|
|
@@ -9,7 +9,7 @@ function buildKnexQuery(knex, parsed, settings) {
|
|
|
9
9
|
// If we're doing o2m joins, add a `DISTINCT` clause to avoid duplicates
|
|
10
10
|
const needsDistinct = parsed.tables.some((t) => t.join === "outer" && t.distinct !== false);
|
|
11
11
|
// We need the `knex` param to call `knex.raw`
|
|
12
|
-
const asRaw = (t) => knex.raw(`${(0,
|
|
12
|
+
const asRaw = (t) => knex.raw(`${(0, joist_core_1.kq)(t.table)} as ${(0, joist_core_1.kq)(t.alias)}`);
|
|
13
13
|
const primary = parsed.tables.find((t) => t.join === "primary");
|
|
14
14
|
let query = knex.from(asRaw(primary));
|
|
15
15
|
parsed.selects.forEach((s, i) => {
|
|
@@ -34,7 +34,7 @@ function buildKnexQuery(knex, parsed, settings) {
|
|
|
34
34
|
break;
|
|
35
35
|
case "lateral":
|
|
36
36
|
const { sql, bindings } = buildKnexQuery(knex, t.query, {}).toSQL();
|
|
37
|
-
query.crossJoin(knex.raw(`lateral (${sql}) as ${(0,
|
|
37
|
+
query.crossJoin(knex.raw(`lateral (${sql}) as ${(0, joist_core_1.kq)(t.alias)}`, bindings));
|
|
38
38
|
break;
|
|
39
39
|
case "cross":
|
|
40
40
|
query.crossJoin(asRaw(t));
|
|
@@ -44,7 +44,7 @@ function buildKnexQuery(knex, parsed, settings) {
|
|
|
44
44
|
}
|
|
45
45
|
});
|
|
46
46
|
if (parsed.condition) {
|
|
47
|
-
const where =
|
|
47
|
+
const where = joist_core_1.internals.buildWhereClause(parsed.condition, true);
|
|
48
48
|
if (where) {
|
|
49
49
|
const [sql, bindings] = where;
|
|
50
50
|
query.whereRaw(sql, bindings);
|
|
@@ -54,13 +54,13 @@ function buildKnexQuery(knex, parsed, settings) {
|
|
|
54
54
|
parsed.orderBys.forEach(({ alias, column, order }) => {
|
|
55
55
|
// If we're doing "select distinct" for o2m joins, then all order bys must be selects
|
|
56
56
|
if (needsDistinct) {
|
|
57
|
-
query.select(knex.raw((0,
|
|
57
|
+
query.select(knex.raw((0, joist_core_1.kqDot)(alias, column)));
|
|
58
58
|
}
|
|
59
|
-
query.orderBy(knex.raw((0,
|
|
59
|
+
query.orderBy(knex.raw((0, joist_core_1.kqDot)(alias, column)), order);
|
|
60
60
|
});
|
|
61
61
|
parsed.groupBys &&
|
|
62
62
|
parsed.groupBys.forEach(({ alias, column }) => {
|
|
63
|
-
query.groupByRaw((0,
|
|
63
|
+
query.groupByRaw((0, joist_core_1.kqDot)(alias, column));
|
|
64
64
|
});
|
|
65
65
|
if (parsed.ctes && parsed.ctes.length > 0) {
|
|
66
66
|
for (let i = 0; i < parsed.ctes.length; i++) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"buildKnexQuery.js","sourceRoot":"","sources":["../src/buildKnexQuery.ts"],"names":[],"mappings":";;AAMA,wCAgGC;AAtGD,
|
|
1
|
+
{"version":3,"file":"buildKnexQuery.js","sourceRoot":"","sources":["../src/buildKnexQuery.ts"],"names":[],"mappings":"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"}
|
package/build/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Entity, FilterAndSettings, MaybeAbstractEntityConstructor } from "joist-
|
|
1
|
+
import { Entity, FilterAndSettings, MaybeAbstractEntityConstructor } from "joist-core";
|
|
2
2
|
import { Knex } from "knex";
|
|
3
3
|
/**
|
|
4
4
|
* Builds the Knex queries from `em.find`-style parameters.
|
package/build/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,iBAAiB,EAAe,8BAA8B,EAAkB,MAAM,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,iBAAiB,EAAe,8BAA8B,EAAkB,MAAM,YAAY,CAAC;AACpH,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAG5B;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,UAAU,CAAC,CAAC,SAAS,MAAM,EACzC,IAAI,EAAE,IAAI,EACV,IAAI,EAAE,8BAA8B,CAAC,CAAC,CAAC,EACvC,MAAM,EAAE,iBAAiB,CAAC,CAAC,CAAC,GAAG;IAC7B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;CACxB,GACA,IAAI,CAAC,YAAY,CAAC,EAAE,EAAE,OAAO,EAAE,CAAC,CAclC"}
|
package/build/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.buildQuery = buildQuery;
|
|
4
|
-
const
|
|
4
|
+
const joist_core_1 = require("joist-core");
|
|
5
5
|
const buildKnexQuery_1 = require("./buildKnexQuery");
|
|
6
6
|
/**
|
|
7
7
|
* Builds the Knex queries from `em.find`-style parameters.
|
|
@@ -26,9 +26,9 @@ const buildKnexQuery_1 = require("./buildKnexQuery");
|
|
|
26
26
|
* own joins/conditions against the `QueryBuilder` directly.
|
|
27
27
|
*/
|
|
28
28
|
function buildQuery(knex, type, filter) {
|
|
29
|
-
const meta = (0,
|
|
29
|
+
const meta = (0, joist_core_1.getMetadata)(type);
|
|
30
30
|
const { where, conditions, orderBy, limit, offset, pruneJoins = true, keepAliases = [], softDeletes = "exclude", } = filter;
|
|
31
|
-
const parsed = (0,
|
|
31
|
+
const parsed = (0, joist_core_1.parseFindQuery)(meta, where, { conditions, orderBy, pruneJoins, keepAliases, softDeletes });
|
|
32
32
|
return (0, buildKnexQuery_1.buildKnexQuery)(knex, parsed, { limit, offset });
|
|
33
33
|
}
|
|
34
34
|
//# sourceMappingURL=index.js.map
|
package/build/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;AA0BA,gCAqBC;AA/CD,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;AA0BA,gCAqBC;AA/CD,2CAAoH;AAEpH,qDAAkD;AAElD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,SAAgB,UAAU,CACxB,IAAU,EACV,IAAuC,EACvC,MAGC;IAED,MAAM,IAAI,GAAG,IAAA,wBAAW,EAAC,IAAI,CAAC,CAAC;IAC/B,MAAM,EACJ,KAAK,EACL,UAAU,EACV,OAAO,EACP,KAAK,EACL,MAAM,EACN,UAAU,GAAG,IAAI,EACjB,WAAW,GAAG,EAAE,EAChB,WAAW,GAAG,SAAS,GACxB,GAAG,MAAM,CAAC;IACX,MAAM,MAAM,GAAG,IAAA,2BAAc,EAAC,IAAI,EAAE,KAAK,EAAE,EAAE,UAAU,EAAE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,EAAE,CAAC,CAAC;IAC1G,OAAO,IAAA,+BAAc,EAAC,IAAI,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;AACzD,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "joist-knex",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "2.0.0",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -16,6 +16,7 @@
|
|
|
16
16
|
"build"
|
|
17
17
|
],
|
|
18
18
|
"dependencies": {
|
|
19
|
+
"joist-core": "2.0.0",
|
|
19
20
|
"knex": "^3.1.0",
|
|
20
21
|
"pg": "^8.16.3"
|
|
21
22
|
},
|