@subsquid/openreader 1.0.2 → 2.1.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/bin/main.js +1 -1
- package/lib/context.d.ts +14 -0
- package/lib/context.d.ts.map +1 -0
- package/lib/context.js +3 -0
- package/lib/context.js.map +1 -0
- package/lib/db.d.ts +23 -0
- package/lib/db.d.ts.map +1 -0
- package/lib/db.js +57 -0
- package/lib/db.js.map +1 -0
- package/{dist → lib}/dialect.d.ts +0 -0
- package/{dist → lib}/dialect.d.ts.map +0 -0
- package/{dist → lib}/dialect.js +0 -0
- package/{dist → lib}/dialect.js.map +0 -0
- package/lib/ir/args.d.ts +47 -0
- package/lib/ir/args.d.ts.map +1 -0
- package/lib/ir/args.js +3 -0
- package/lib/ir/args.js.map +1 -0
- package/lib/ir/connection.d.ts +30 -0
- package/lib/ir/connection.d.ts.map +1 -0
- package/lib/ir/connection.js +17 -0
- package/lib/ir/connection.js.map +1 -0
- package/lib/ir/fields.d.ts +22 -0
- package/lib/ir/fields.d.ts.map +1 -0
- package/lib/ir/fields.js +3 -0
- package/lib/ir/fields.js.map +1 -0
- package/lib/limit.size.d.ts +8 -0
- package/lib/limit.size.d.ts.map +1 -0
- package/lib/limit.size.js +107 -0
- package/lib/limit.size.js.map +1 -0
- package/{dist → lib}/main.d.ts +0 -0
- package/{dist → lib}/main.d.ts.map +0 -0
- package/lib/main.js +59 -0
- package/lib/main.js.map +1 -0
- package/{dist → lib}/model.d.ts +11 -1
- package/lib/model.d.ts.map +1 -0
- package/{dist → lib}/model.js +0 -0
- package/{dist → lib}/model.js.map +0 -0
- package/{dist/gql/schema.d.ts → lib/model.schema.d.ts} +2 -2
- package/lib/model.schema.d.ts.map +1 -0
- package/{dist/gql/schema.js → lib/model.schema.js} +62 -8
- package/lib/model.schema.js.map +1 -0
- package/{dist → lib}/model.tools.d.ts +0 -0
- package/{dist → lib}/model.tools.d.ts.map +0 -0
- package/{dist → lib}/model.tools.js +0 -0
- package/{dist → lib}/model.tools.js.map +0 -0
- package/{dist → lib/opencrud}/orderBy.d.ts +2 -5
- package/lib/opencrud/orderBy.d.ts.map +1 -0
- package/{dist → lib/opencrud}/orderBy.js +1 -1
- package/lib/opencrud/orderBy.js.map +1 -0
- package/lib/opencrud/schema.d.ts +31 -0
- package/lib/opencrud/schema.d.ts.map +1 -0
- package/lib/opencrud/schema.js +527 -0
- package/lib/opencrud/schema.js.map +1 -0
- package/lib/opencrud/tree.d.ts +8 -0
- package/lib/opencrud/tree.d.ts.map +1 -0
- package/lib/opencrud/tree.js +131 -0
- package/lib/opencrud/tree.js.map +1 -0
- package/lib/opencrud/where.d.ts +7 -0
- package/lib/opencrud/where.d.ts.map +1 -0
- package/lib/opencrud/where.js +141 -0
- package/lib/opencrud/where.js.map +1 -0
- package/{dist/gql → lib}/scalars/BigInt.d.ts +0 -0
- package/lib/scalars/BigInt.d.ts.map +1 -0
- package/{dist/gql → lib}/scalars/BigInt.js +1 -1
- package/lib/scalars/BigInt.js.map +1 -0
- package/{dist/gql → lib}/scalars/Bytes.d.ts +0 -0
- package/lib/scalars/Bytes.d.ts.map +1 -0
- package/{dist/gql → lib}/scalars/Bytes.js +2 -2
- package/lib/scalars/Bytes.js.map +1 -0
- package/{dist/gql → lib}/scalars/DateTime.d.ts +0 -0
- package/lib/scalars/DateTime.d.ts.map +1 -0
- package/{dist/gql → lib}/scalars/DateTime.js +1 -1
- package/lib/scalars/DateTime.js.map +1 -0
- package/{dist/gql → lib}/scalars/JSON.d.ts +0 -0
- package/lib/scalars/JSON.d.ts.map +1 -0
- package/{dist/gql → lib}/scalars/JSON.js +0 -0
- package/lib/scalars/JSON.js.map +1 -0
- package/{dist/gql → lib}/scalars/index.d.ts +0 -0
- package/lib/scalars/index.d.ts.map +1 -0
- package/{dist/gql → lib}/scalars/index.js +0 -0
- package/lib/scalars/index.js.map +1 -0
- package/lib/server.d.ts +42 -0
- package/lib/server.d.ts.map +1 -0
- package/lib/server.js +171 -0
- package/lib/server.js.map +1 -0
- package/lib/sql/cursor.d.ts +52 -0
- package/lib/sql/cursor.d.ts.map +1 -0
- package/lib/sql/cursor.js +234 -0
- package/lib/sql/cursor.js.map +1 -0
- package/lib/sql/mapping.d.ts +4 -0
- package/lib/sql/mapping.d.ts.map +1 -0
- package/lib/sql/mapping.js +71 -0
- package/lib/sql/mapping.js.map +1 -0
- package/lib/sql/printer.d.ts +37 -0
- package/lib/sql/printer.d.ts.map +1 -0
- package/lib/sql/printer.js +311 -0
- package/lib/sql/printer.js.map +1 -0
- package/lib/sql/query.d.ts +46 -0
- package/lib/sql/query.d.ts.map +1 -0
- package/lib/sql/query.js +134 -0
- package/lib/sql/query.js.map +1 -0
- package/lib/sql/util.d.ts +30 -0
- package/lib/sql/util.d.ts.map +1 -0
- package/lib/sql/util.js +75 -0
- package/lib/sql/util.js.map +1 -0
- package/lib/subscription.d.ts +18 -0
- package/lib/subscription.d.ts.map +1 -0
- package/lib/subscription.js +47 -0
- package/lib/subscription.js.map +1 -0
- package/{dist → lib}/test/basic.test.d.ts +0 -0
- package/{dist → lib}/test/basic.test.d.ts.map +0 -0
- package/{dist → lib}/test/basic.test.js +0 -0
- package/{dist → lib}/test/basic.test.js.map +0 -0
- package/{dist → lib}/test/connection.test.d.ts +0 -0
- package/{dist → lib}/test/connection.test.d.ts.map +0 -0
- package/{dist → lib}/test/connection.test.js +0 -0
- package/{dist → lib}/test/connection.test.js.map +0 -0
- package/{dist → lib}/test/fts.test.d.ts +0 -0
- package/{dist → lib}/test/fts.test.d.ts.map +0 -0
- package/{dist → lib}/test/fts.test.js +1 -1
- package/lib/test/fts.test.js.map +1 -0
- package/{dist → lib}/test/isNull.test.d.ts +0 -0
- package/{dist → lib}/test/isNull.test.d.ts.map +0 -0
- package/{dist → lib}/test/isNull.test.js +0 -0
- package/{dist → lib}/test/isNull.test.js.map +0 -0
- package/lib/test/limits.test.d.ts +2 -0
- package/lib/test/limits.test.d.ts.map +1 -0
- package/lib/test/limits.test.js +159 -0
- package/lib/test/limits.test.js.map +1 -0
- package/{dist → lib}/test/lists.test.d.ts +0 -0
- package/{dist → lib}/test/lists.test.d.ts.map +0 -0
- package/{dist → lib}/test/lists.test.js +0 -0
- package/{dist → lib}/test/lists.test.js.map +0 -0
- package/{dist → lib}/test/lookup.test.d.ts +0 -0
- package/{dist → lib}/test/lookup.test.d.ts.map +0 -0
- package/{dist → lib}/test/lookup.test.js +0 -0
- package/{dist → lib}/test/lookup.test.js.map +0 -0
- package/{dist → lib}/test/regressions.test.d.ts +0 -0
- package/{dist → lib}/test/regressions.test.d.ts.map +0 -0
- package/{dist → lib}/test/regressions.test.js +0 -0
- package/{dist → lib}/test/regressions.test.js.map +0 -0
- package/{dist → lib}/test/scalars.test.d.ts +0 -0
- package/{dist → lib}/test/scalars.test.d.ts.map +0 -0
- package/{dist → lib}/test/scalars.test.js +0 -0
- package/{dist → lib}/test/scalars.test.js.map +0 -0
- package/lib/test/setup.d.ts +17 -0
- package/lib/test/setup.d.ts.map +1 -0
- package/{dist → lib}/test/setup.js +18 -13
- package/lib/test/setup.js.map +1 -0
- package/lib/test/subscription.test.d.ts +2 -0
- package/lib/test/subscription.test.d.ts.map +1 -0
- package/lib/test/subscription.test.js +99 -0
- package/lib/test/subscription.test.js.map +1 -0
- package/{dist → lib}/test/tools.test.d.ts +0 -0
- package/{dist → lib}/test/tools.test.d.ts.map +0 -0
- package/{dist → lib}/test/tools.test.js +0 -0
- package/{dist → lib}/test/tools.test.js.map +0 -0
- package/{dist → lib}/test/typed-json.test.d.ts +0 -0
- package/{dist → lib}/test/typed-json.test.d.ts.map +0 -0
- package/{dist → lib}/test/typed-json.test.js +0 -0
- package/{dist → lib}/test/typed-json.test.js.map +0 -0
- package/{dist → lib}/test/unions.test.d.ts +0 -0
- package/{dist → lib}/test/unions.test.d.ts.map +0 -0
- package/{dist → lib}/test/unions.test.js +0 -0
- package/{dist → lib}/test/unions.test.js.map +0 -0
- package/{dist → lib}/test/where.test.d.ts +0 -0
- package/{dist → lib}/test/where.test.d.ts.map +0 -0
- package/{dist → lib}/test/where.test.js +0 -0
- package/{dist → lib}/test/where.test.js.map +0 -0
- package/{dist → lib}/tools.d.ts +0 -0
- package/{dist → lib}/tools.d.ts.map +0 -0
- package/{dist → lib}/tools.js +3 -3
- package/{dist → lib}/tools.js.map +1 -1
- package/lib/util/error-handling.d.ts +11 -0
- package/lib/util/error-handling.d.ts.map +1 -0
- package/lib/util/error-handling.js +42 -0
- package/lib/util/error-handling.js.map +1 -0
- package/lib/util/execute.d.ts +5 -0
- package/lib/util/execute.d.ts.map +1 -0
- package/lib/util/execute.js +28 -0
- package/lib/util/execute.js.map +1 -0
- package/lib/util/lazy-transaction.d.ts +10 -0
- package/lib/util/lazy-transaction.d.ts.map +1 -0
- package/lib/util/lazy-transaction.js +43 -0
- package/lib/util/lazy-transaction.js.map +1 -0
- package/lib/util/limit.d.ts +11 -0
- package/lib/util/limit.d.ts.map +1 -0
- package/lib/util/limit.js +39 -0
- package/lib/util/limit.js.map +1 -0
- package/lib/util/resolve-tree.d.ts +14 -0
- package/lib/util/resolve-tree.d.ts.map +1 -0
- package/lib/util/resolve-tree.js +52 -0
- package/lib/util/resolve-tree.js.map +1 -0
- package/{dist → lib/util}/util.d.ts +2 -3
- package/lib/util/util.d.ts.map +1 -0
- package/{dist → lib/util}/util.js +9 -13
- package/lib/util/util.js.map +1 -0
- package/package.json +18 -10
- package/src/context.ts +17 -0
- package/src/db.ts +46 -57
- package/src/ir/args.ts +85 -0
- package/src/ir/connection.ts +48 -0
- package/src/ir/fields.ts +40 -0
- package/src/limit.size.ts +130 -0
- package/src/main.ts +74 -42
- package/src/{gql/schema.ts → model.schema.ts} +72 -9
- package/src/model.ts +13 -1
- package/src/{orderBy.ts → opencrud/orderBy.ts} +3 -10
- package/src/opencrud/schema.ts +639 -0
- package/src/opencrud/tree.ts +144 -0
- package/src/opencrud/where.ts +141 -0
- package/src/{gql/scalars → scalars}/BigInt.ts +1 -1
- package/src/{gql/scalars → scalars}/Bytes.ts +4 -4
- package/src/{gql/scalars → scalars}/DateTime.ts +1 -1
- package/src/{gql/scalars → scalars}/JSON.ts +0 -0
- package/src/{gql/scalars → scalars}/index.ts +0 -0
- package/src/server.ts +175 -55
- package/src/sql/cursor.ts +291 -0
- package/src/sql/mapping.ts +66 -0
- package/src/sql/printer.ts +328 -0
- package/src/sql/query.ts +194 -0
- package/src/sql/util.ts +89 -0
- package/src/subscription.ts +46 -0
- package/src/test/fts.test.ts +1 -1
- package/src/test/limits.test.ts +163 -0
- package/src/test/setup.ts +16 -11
- package/src/test/subscription.test.ts +98 -0
- package/src/tools.ts +1 -1
- package/src/util/error-handling.ts +40 -0
- package/src/util/execute.ts +53 -0
- package/src/util/lazy-transaction.ts +49 -0
- package/src/util/limit.ts +34 -0
- package/src/util/resolve-tree.ts +65 -0
- package/src/{util.ts → util/util.ts} +9 -14
- package/dist/db.d.ts +0 -28
- package/dist/db.d.ts.map +0 -1
- package/dist/db.js +0 -69
- package/dist/db.js.map +0 -1
- package/dist/gql/opencrud.d.ts +0 -6
- package/dist/gql/opencrud.d.ts.map +0 -1
- package/dist/gql/opencrud.js +0 -326
- package/dist/gql/opencrud.js.map +0 -1
- package/dist/gql/scalars/BigInt.d.ts.map +0 -1
- package/dist/gql/scalars/BigInt.js.map +0 -1
- package/dist/gql/scalars/Bytes.d.ts.map +0 -1
- package/dist/gql/scalars/Bytes.js.map +0 -1
- package/dist/gql/scalars/DateTime.d.ts.map +0 -1
- package/dist/gql/scalars/DateTime.js.map +0 -1
- package/dist/gql/scalars/JSON.d.ts.map +0 -1
- package/dist/gql/scalars/JSON.js.map +0 -1
- package/dist/gql/scalars/index.d.ts.map +0 -1
- package/dist/gql/scalars/index.js.map +0 -1
- package/dist/gql/schema.d.ts.map +0 -1
- package/dist/gql/schema.js.map +0 -1
- package/dist/main.js +0 -44
- package/dist/main.js.map +0 -1
- package/dist/model.d.ts.map +0 -1
- package/dist/orderBy.d.ts.map +0 -1
- package/dist/orderBy.js.map +0 -1
- package/dist/queryBuilder.d.ts +0 -56
- package/dist/queryBuilder.d.ts.map +0 -1
- package/dist/queryBuilder.js +0 -733
- package/dist/queryBuilder.js.map +0 -1
- package/dist/relayConnection.d.ts +0 -37
- package/dist/relayConnection.d.ts.map +0 -1
- package/dist/relayConnection.js +0 -43
- package/dist/relayConnection.js.map +0 -1
- package/dist/requestedFields.d.ts +0 -33
- package/dist/requestedFields.d.ts.map +0 -1
- package/dist/requestedFields.js +0 -179
- package/dist/requestedFields.js.map +0 -1
- package/dist/resolver.d.ts +0 -9
- package/dist/resolver.d.ts.map +0 -1
- package/dist/resolver.js +0 -158
- package/dist/resolver.js.map +0 -1
- package/dist/server.d.ts +0 -22
- package/dist/server.d.ts.map +0 -1
- package/dist/server.js +0 -96
- package/dist/server.js.map +0 -1
- package/dist/test/fts.test.js.map +0 -1
- package/dist/test/setup.d.ts +0 -14
- package/dist/test/setup.d.ts.map +0 -1
- package/dist/test/setup.js.map +0 -1
- package/dist/util.d.ts.map +0 -1
- package/dist/util.js.map +0 -1
- package/dist/where.d.ts +0 -9
- package/dist/where.d.ts.map +0 -1
- package/dist/where.js +0 -101
- package/dist/where.js.map +0 -1
- package/src/gql/opencrud.ts +0 -350
- package/src/queryBuilder.ts +0 -891
- package/src/relayConnection.ts +0 -80
- package/src/requestedFields.ts +0 -246
- package/src/resolver.ts +0 -201
- package/src/where.ts +0 -119
package/dist/queryBuilder.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"queryBuilder.js","sourceRoot":"","sources":["../src/queryBuilder.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
import { UserInputError } from "apollo-server-core";
|
|
2
|
-
export interface PageInfo {
|
|
3
|
-
hasNextPage: boolean;
|
|
4
|
-
hasPreviousPage: boolean;
|
|
5
|
-
startCursor: string;
|
|
6
|
-
endCursor: string;
|
|
7
|
-
}
|
|
8
|
-
export interface ConnectionEdge<T> {
|
|
9
|
-
node?: T;
|
|
10
|
-
cursor?: string;
|
|
11
|
-
}
|
|
12
|
-
export interface ConnectionResponse<T> {
|
|
13
|
-
edges?: ConnectionEdge<T>[];
|
|
14
|
-
pageInfo?: PageInfo;
|
|
15
|
-
}
|
|
16
|
-
/**
|
|
17
|
-
* Offset value for SQL query
|
|
18
|
-
*/
|
|
19
|
-
export declare type Cursor = number;
|
|
20
|
-
export declare function encodeCursor(cursor: Cursor): string;
|
|
21
|
-
export declare function decodeCursor(value: string): Cursor;
|
|
22
|
-
export declare class InvalidCursorValue extends UserInputError {
|
|
23
|
-
constructor(value: string);
|
|
24
|
-
}
|
|
25
|
-
export interface ConnectionArgs {
|
|
26
|
-
first?: number;
|
|
27
|
-
after?: string;
|
|
28
|
-
}
|
|
29
|
-
export interface ConnectionParams {
|
|
30
|
-
offset: number;
|
|
31
|
-
limit: number;
|
|
32
|
-
}
|
|
33
|
-
/**
|
|
34
|
-
* https://relay.dev/assets/files/connections-932f4f2cdffd79724ac76373deb30dc8.htm#sec-Pagination-algorithm
|
|
35
|
-
*/
|
|
36
|
-
export declare function decodeConnectionArgs(args: ConnectionArgs): ConnectionParams;
|
|
37
|
-
//# sourceMappingURL=relayConnection.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"relayConnection.d.ts","sourceRoot":"","sources":["../src/relayConnection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,cAAc,EAAC,MAAM,oBAAoB,CAAA;AAGjD,MAAM,WAAW,QAAQ;IACrB,WAAW,EAAE,OAAO,CAAA;IACpB,eAAe,EAAE,OAAO,CAAA;IACxB,WAAW,EAAE,MAAM,CAAA;IACnB,SAAS,EAAE,MAAM,CAAA;CACpB;AAGD,MAAM,WAAW,cAAc,CAAC,CAAC;IAC7B,IAAI,CAAC,EAAE,CAAC,CAAA;IACR,MAAM,CAAC,EAAE,MAAM,CAAA;CAClB;AAGD,MAAM,WAAW,kBAAkB,CAAC,CAAC;IACjC,KAAK,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,EAAE,CAAA;IAC3B,QAAQ,CAAC,EAAE,QAAQ,CAAA;CACtB;AAGD;;GAEG;AACH,oBAAY,MAAM,GAAG,MAAM,CAAA;AAG3B,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAEnD;AAGD,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAOlD;AAGD,qBAAa,kBAAmB,SAAQ,cAAc;gBACtC,KAAK,EAAE,MAAM;CAG5B;AAGD,MAAM,WAAW,cAAc;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,KAAK,CAAC,EAAE,MAAM,CAAA;CACjB;AAGD,MAAM,WAAW,gBAAgB;IAC7B,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,MAAM,CAAA;CAChB;AAGD;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,cAAc,GAAG,gBAAgB,CAa3E"}
|
package/dist/relayConnection.js
DELETED
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.decodeConnectionArgs = exports.InvalidCursorValue = exports.decodeCursor = exports.encodeCursor = void 0;
|
|
4
|
-
const apollo_server_core_1 = require("apollo-server-core");
|
|
5
|
-
function encodeCursor(cursor) {
|
|
6
|
-
return '' + cursor;
|
|
7
|
-
}
|
|
8
|
-
exports.encodeCursor = encodeCursor;
|
|
9
|
-
function decodeCursor(value) {
|
|
10
|
-
let cursor = parseInt(value);
|
|
11
|
-
if (isFinite(cursor) && cursor >= 0) {
|
|
12
|
-
return cursor;
|
|
13
|
-
}
|
|
14
|
-
else {
|
|
15
|
-
throw new InvalidCursorValue(value);
|
|
16
|
-
}
|
|
17
|
-
}
|
|
18
|
-
exports.decodeCursor = decodeCursor;
|
|
19
|
-
class InvalidCursorValue extends apollo_server_core_1.UserInputError {
|
|
20
|
-
constructor(value) {
|
|
21
|
-
super(`invalid cursor value: ${value}`);
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
exports.InvalidCursorValue = InvalidCursorValue;
|
|
25
|
-
/**
|
|
26
|
-
* https://relay.dev/assets/files/connections-932f4f2cdffd79724ac76373deb30dc8.htm#sec-Pagination-algorithm
|
|
27
|
-
*/
|
|
28
|
-
function decodeConnectionArgs(args) {
|
|
29
|
-
let offset = 0;
|
|
30
|
-
let limit = 100;
|
|
31
|
-
if (args.after) {
|
|
32
|
-
offset = decodeCursor(args.after);
|
|
33
|
-
}
|
|
34
|
-
if (args.first != null) {
|
|
35
|
-
if (args.first < 0) {
|
|
36
|
-
throw new apollo_server_core_1.UserInputError("'first' argument of connection can't be less than 0");
|
|
37
|
-
}
|
|
38
|
-
limit = args.first;
|
|
39
|
-
}
|
|
40
|
-
return { offset, limit };
|
|
41
|
-
}
|
|
42
|
-
exports.decodeConnectionArgs = decodeConnectionArgs;
|
|
43
|
-
//# sourceMappingURL=relayConnection.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"relayConnection.js","sourceRoot":"","sources":["../src/relayConnection.ts"],"names":[],"mappings":";;;AAAA,2DAAiD;AA6BjD,SAAgB,YAAY,CAAC,MAAc;IACvC,OAAO,EAAE,GAAC,MAAM,CAAA;AACpB,CAAC;AAFD,oCAEC;AAGD,SAAgB,YAAY,CAAC,KAAa;IACtC,IAAI,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;IAC5B,IAAI,QAAQ,CAAC,MAAM,CAAC,IAAI,MAAM,IAAI,CAAC,EAAE;QACjC,OAAO,MAAM,CAAA;KAChB;SAAM;QACH,MAAM,IAAI,kBAAkB,CAAC,KAAK,CAAC,CAAA;KACtC;AACL,CAAC;AAPD,oCAOC;AAGD,MAAa,kBAAmB,SAAQ,mCAAc;IAClD,YAAY,KAAa;QACrB,KAAK,CAAC,yBAAyB,KAAK,EAAE,CAAC,CAAA;IAC3C,CAAC;CACJ;AAJD,gDAIC;AAeD;;GAEG;AACH,SAAgB,oBAAoB,CAAC,IAAoB;IACrD,IAAI,MAAM,GAAG,CAAC,CAAA;IACd,IAAI,KAAK,GAAG,GAAG,CAAA;IACf,IAAI,IAAI,CAAC,KAAK,EAAE;QACZ,MAAM,GAAG,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;KACpC;IACD,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,EAAE;QACpB,IAAI,IAAI,CAAC,KAAK,GAAG,CAAC,EAAE;YAChB,MAAM,IAAI,mCAAc,CAAC,qDAAqD,CAAC,CAAA;SAClF;QACD,KAAK,GAAG,IAAI,CAAC,KAAK,CAAA;KACrB;IACD,OAAO,EAAC,MAAM,EAAE,KAAK,EAAC,CAAA;AAC1B,CAAC;AAbD,oDAaC"}
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
import { GraphQLResolveInfo } from "graphql";
|
|
2
|
-
import { Model, PropType } from "./model";
|
|
3
|
-
export interface RequestedFields {
|
|
4
|
-
[name: string]: RequestedField;
|
|
5
|
-
}
|
|
6
|
-
export interface RequestedField {
|
|
7
|
-
propType: PropType;
|
|
8
|
-
requests: FieldRequest[];
|
|
9
|
-
}
|
|
10
|
-
export interface FieldRequest {
|
|
11
|
-
alias: string;
|
|
12
|
-
children?: RequestedFields;
|
|
13
|
-
args?: any;
|
|
14
|
-
ifType?: string;
|
|
15
|
-
index: number;
|
|
16
|
-
}
|
|
17
|
-
export declare function requestedFields(model: Model, entityName: string, info: GraphQLResolveInfo): RequestedFields;
|
|
18
|
-
export interface ConnectionRequestedFields {
|
|
19
|
-
totalCount?: boolean;
|
|
20
|
-
pageInfo?: boolean;
|
|
21
|
-
edges?: {
|
|
22
|
-
node?: RequestedFields;
|
|
23
|
-
cursor?: boolean;
|
|
24
|
-
};
|
|
25
|
-
}
|
|
26
|
-
export declare function connectionRequestedFields(model: Model, entityName: string, info: GraphQLResolveInfo): ConnectionRequestedFields;
|
|
27
|
-
export interface FtsRequestedFields {
|
|
28
|
-
item?: Record<string, RequestedFields>;
|
|
29
|
-
highlight?: boolean;
|
|
30
|
-
rank?: boolean;
|
|
31
|
-
}
|
|
32
|
-
export declare function ftsRequestedFields(model: Model, queryName: string, info: GraphQLResolveInfo): FtsRequestedFields;
|
|
33
|
-
//# sourceMappingURL=requestedFields.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"requestedFields.d.ts","sourceRoot":"","sources":["../src/requestedFields.ts"],"names":[],"mappings":"AAGA,OAAO,EAAC,kBAAkB,EAAgB,MAAM,SAAS,CAAA;AAOzD,OAAO,EAAC,KAAK,EAAE,QAAQ,EAAC,MAAM,SAAS,CAAA;AAGvC,MAAM,WAAW,eAAe;IAC5B,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,CAAA;CACjC;AAGD,MAAM,WAAW,cAAc;IAC3B,QAAQ,EAAE,QAAQ,CAAA;IAClB,QAAQ,EAAE,YAAY,EAAE,CAAA;CAC3B;AAGD,MAAM,WAAW,YAAY;IACzB,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,eAAe,CAAA;IAC1B,IAAI,CAAC,EAAE,GAAG,CAAA;IACV,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,KAAK,EAAE,MAAM,CAAA;CAChB;AAGD,wBAAgB,eAAe,CAAC,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,kBAAkB,GAAG,eAAe,CAG3G;AA6FD,MAAM,WAAW,yBAAyB;IACtC,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,KAAK,CAAC,EAAE;QACJ,IAAI,CAAC,EAAE,eAAe,CAAA;QACtB,MAAM,CAAC,EAAE,OAAO,CAAA;KACnB,CAAA;CACJ;AAGD,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,kBAAkB,GAAG,yBAAyB,CAgB/H;AAGD,MAAM,WAAW,kBAAkB;IAC/B,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAA;IACtC,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,IAAI,CAAC,EAAE,OAAO,CAAA;CACjB;AAGD,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,kBAAkB,GAAG,kBAAkB,CAwBhH"}
|
package/dist/requestedFields.js
DELETED
|
@@ -1,179 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.ftsRequestedFields = exports.connectionRequestedFields = exports.requestedFields = void 0;
|
|
7
|
-
const util_naming_1 = require("@subsquid/util-naming");
|
|
8
|
-
const apollo_server_core_1 = require("apollo-server-core");
|
|
9
|
-
const assert_1 = __importDefault(require("assert"));
|
|
10
|
-
const graphql_parse_resolve_info_1 = require("graphql-parse-resolve-info");
|
|
11
|
-
function requestedFields(model, entityName, info) {
|
|
12
|
-
let tree = getResolveTree(info);
|
|
13
|
-
return collectRequestedFields(model, entityName, info.schema, tree);
|
|
14
|
-
}
|
|
15
|
-
exports.requestedFields = requestedFields;
|
|
16
|
-
function collectRequestedFields(model, objectName, schema, tree) {
|
|
17
|
-
let requested = {};
|
|
18
|
-
let object = model[objectName];
|
|
19
|
-
(0, assert_1.default)(object.kind == 'entity' || object.kind == 'object');
|
|
20
|
-
let fields = simplifyResolveTree(schema, tree, objectName).fields;
|
|
21
|
-
for (let alias in fields) {
|
|
22
|
-
let f = fields[alias];
|
|
23
|
-
let prop = object.properties[f.name];
|
|
24
|
-
let propType = prop.type;
|
|
25
|
-
switch (propType.kind) {
|
|
26
|
-
case 'scalar':
|
|
27
|
-
case 'enum':
|
|
28
|
-
case 'list':
|
|
29
|
-
requested[f.name] = {
|
|
30
|
-
propType,
|
|
31
|
-
requests: [{ alias: f.name, index: 0 }]
|
|
32
|
-
};
|
|
33
|
-
break;
|
|
34
|
-
case 'object':
|
|
35
|
-
addRequest(requested, f.name, propType, {
|
|
36
|
-
alias,
|
|
37
|
-
children: collectRequestedFields(model, propType.name, schema, f),
|
|
38
|
-
index: 0
|
|
39
|
-
});
|
|
40
|
-
break;
|
|
41
|
-
case 'fk':
|
|
42
|
-
addRequest(requested, f.name, propType, {
|
|
43
|
-
alias,
|
|
44
|
-
children: collectRequestedFields(model, propType.foreignEntity, schema, f),
|
|
45
|
-
index: 0
|
|
46
|
-
});
|
|
47
|
-
break;
|
|
48
|
-
case 'lookup':
|
|
49
|
-
addRequest(requested, f.name, propType, {
|
|
50
|
-
alias,
|
|
51
|
-
children: collectRequestedFields(model, propType.entity, schema, f),
|
|
52
|
-
index: 0
|
|
53
|
-
});
|
|
54
|
-
break;
|
|
55
|
-
case 'list-lookup':
|
|
56
|
-
addRequest(requested, f.name, propType, {
|
|
57
|
-
alias,
|
|
58
|
-
args: f.args,
|
|
59
|
-
children: collectRequestedFields(model, propType.entity, schema, f),
|
|
60
|
-
index: 0
|
|
61
|
-
});
|
|
62
|
-
break;
|
|
63
|
-
case 'union': {
|
|
64
|
-
let union = model[propType.name];
|
|
65
|
-
(0, assert_1.default)(union.kind == 'union');
|
|
66
|
-
let children = {};
|
|
67
|
-
union.variants.forEach(name => {
|
|
68
|
-
let variantFields = collectRequestedFields(model, name, schema, f);
|
|
69
|
-
for (let key in variantFields) {
|
|
70
|
-
let field = variantFields[key];
|
|
71
|
-
field.requests.forEach(req => {
|
|
72
|
-
addRequest(children, key, field.propType, { ...req, ifType: name });
|
|
73
|
-
});
|
|
74
|
-
}
|
|
75
|
-
});
|
|
76
|
-
addRequest(requested, f.name, propType, {
|
|
77
|
-
alias,
|
|
78
|
-
children,
|
|
79
|
-
index: 0
|
|
80
|
-
});
|
|
81
|
-
break;
|
|
82
|
-
}
|
|
83
|
-
default:
|
|
84
|
-
throw new Error(`Field ${objectName}.${f.name} has unsupported type and can't be requested`);
|
|
85
|
-
}
|
|
86
|
-
}
|
|
87
|
-
return requested;
|
|
88
|
-
}
|
|
89
|
-
function addRequest(requested, name, propType, req) {
|
|
90
|
-
let field = requested[name];
|
|
91
|
-
if (field == null) {
|
|
92
|
-
requested[name] = {
|
|
93
|
-
propType,
|
|
94
|
-
requests: [req]
|
|
95
|
-
};
|
|
96
|
-
}
|
|
97
|
-
else {
|
|
98
|
-
field.requests.push(req);
|
|
99
|
-
}
|
|
100
|
-
}
|
|
101
|
-
function connectionRequestedFields(model, entityName, info) {
|
|
102
|
-
let requested = {};
|
|
103
|
-
let tree = getResolveTree(info, (0, util_naming_1.toPlural)(entityName) + 'Connection');
|
|
104
|
-
requested.totalCount = hasTreeRequest(tree.fields, 'totalCount');
|
|
105
|
-
requested.pageInfo = hasTreeRequest(tree.fields, 'pageInfo');
|
|
106
|
-
let edgesTree = getTreeRequest(tree.fields, 'edges');
|
|
107
|
-
if (edgesTree) {
|
|
108
|
-
let edgeFields = simplifyResolveTree(info.schema, edgesTree, entityName + 'Edge').fields;
|
|
109
|
-
requested.edges = {};
|
|
110
|
-
requested.edges.cursor = hasTreeRequest(edgeFields, 'cursor');
|
|
111
|
-
let nodeTree = getTreeRequest(edgeFields, 'node');
|
|
112
|
-
if (nodeTree) {
|
|
113
|
-
requested.edges.node = collectRequestedFields(model, entityName, info.schema, nodeTree);
|
|
114
|
-
}
|
|
115
|
-
}
|
|
116
|
-
return requested;
|
|
117
|
-
}
|
|
118
|
-
exports.connectionRequestedFields = connectionRequestedFields;
|
|
119
|
-
function ftsRequestedFields(model, queryName, info) {
|
|
120
|
-
let query = model[queryName];
|
|
121
|
-
(0, assert_1.default)(query.kind == 'fts');
|
|
122
|
-
let requested = {};
|
|
123
|
-
let tree = getResolveTree(info, queryName + '_Output');
|
|
124
|
-
requested.rank = hasTreeRequest(tree.fields, 'rank');
|
|
125
|
-
requested.highlight = hasTreeRequest(tree.fields, 'highlight');
|
|
126
|
-
let itemTree = getTreeRequest(tree.fields, 'item');
|
|
127
|
-
if (itemTree) {
|
|
128
|
-
requested.item = {};
|
|
129
|
-
for (let i = 0; i < query.sources.length; i++) {
|
|
130
|
-
let entity = query.sources[i].entity;
|
|
131
|
-
let fields = collectRequestedFields(model, entity, info.schema, itemTree);
|
|
132
|
-
for (let key in fields) {
|
|
133
|
-
requested.item[entity] = fields;
|
|
134
|
-
break;
|
|
135
|
-
}
|
|
136
|
-
}
|
|
137
|
-
}
|
|
138
|
-
return requested;
|
|
139
|
-
}
|
|
140
|
-
exports.ftsRequestedFields = ftsRequestedFields;
|
|
141
|
-
function getTreeRequest(treeFields, fieldName) {
|
|
142
|
-
let req;
|
|
143
|
-
for (let alias in treeFields) {
|
|
144
|
-
let e = treeFields[alias];
|
|
145
|
-
if (e.name != fieldName)
|
|
146
|
-
continue;
|
|
147
|
-
if (req != null)
|
|
148
|
-
throw new apollo_server_core_1.UserInputError(`multiple aliases for field '${fieldName}' are not supported`);
|
|
149
|
-
req = e;
|
|
150
|
-
}
|
|
151
|
-
return req;
|
|
152
|
-
}
|
|
153
|
-
function hasTreeRequest(treeFields, fieldName) {
|
|
154
|
-
for (let alias in treeFields) {
|
|
155
|
-
let e = treeFields[alias];
|
|
156
|
-
if (e.name == fieldName)
|
|
157
|
-
return true;
|
|
158
|
-
}
|
|
159
|
-
return false;
|
|
160
|
-
}
|
|
161
|
-
function getResolveTree(info, typeName) {
|
|
162
|
-
let tree = (0, graphql_parse_resolve_info_1.parseResolveInfo)(info);
|
|
163
|
-
(0, assert_1.default)(isResolveTree(tree));
|
|
164
|
-
if (typeName) {
|
|
165
|
-
return simplifyResolveTree(info.schema, tree, typeName);
|
|
166
|
-
}
|
|
167
|
-
else {
|
|
168
|
-
return tree;
|
|
169
|
-
}
|
|
170
|
-
}
|
|
171
|
-
function simplifyResolveTree(schema, tree, typeName) {
|
|
172
|
-
let type = schema.getType(typeName);
|
|
173
|
-
(0, assert_1.default)(type != null);
|
|
174
|
-
return (0, graphql_parse_resolve_info_1.simplifyParsedResolveInfoFragmentWithType)(tree, type);
|
|
175
|
-
}
|
|
176
|
-
function isResolveTree(resolveInfo) {
|
|
177
|
-
return resolveInfo != null && resolveInfo.fieldsByTypeName != null;
|
|
178
|
-
}
|
|
179
|
-
//# sourceMappingURL=requestedFields.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"requestedFields.js","sourceRoot":"","sources":["../src/requestedFields.ts"],"names":[],"mappings":"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"}
|
package/dist/resolver.d.ts
DELETED
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import type { IResolvers } from "@graphql-tools/utils";
|
|
2
|
-
import type { Transaction } from "./db";
|
|
3
|
-
import type { Dialect } from "./dialect";
|
|
4
|
-
import type { Model } from "./model";
|
|
5
|
-
export interface ResolverContext {
|
|
6
|
-
openReaderTransaction: Transaction;
|
|
7
|
-
}
|
|
8
|
-
export declare function buildResolvers(model: Model, dialect: Dialect): IResolvers<unknown, ResolverContext>;
|
|
9
|
-
//# sourceMappingURL=resolver.d.ts.map
|
package/dist/resolver.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"resolver.d.ts","sourceRoot":"","sources":["../src/resolver.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAiB,UAAU,EAAC,MAAM,sBAAsB,CAAA;AAKpE,OAAO,KAAK,EAAW,WAAW,EAAC,MAAM,MAAM,CAAA;AAC/C,OAAO,KAAK,EAAC,OAAO,EAAC,MAAM,WAAW,CAAA;AAEtC,OAAO,KAAK,EAAqB,KAAK,EAAC,MAAM,SAAS,CAAA;AActD,MAAM,WAAW,eAAe;IAC5B,qBAAqB,EAAE,WAAW,CAAA;CACrC;AAGD,wBAAgB,cAAc,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,GAAG,UAAU,CAAC,OAAO,EAAE,eAAe,CAAC,CAgFnG"}
|
package/dist/resolver.js
DELETED
|
@@ -1,158 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.buildResolvers = void 0;
|
|
7
|
-
const util_naming_1 = require("@subsquid/util-naming");
|
|
8
|
-
const apollo_server_core_1 = require("apollo-server-core");
|
|
9
|
-
const assert_1 = __importDefault(require("assert"));
|
|
10
|
-
const scalars_1 = require("./gql/scalars");
|
|
11
|
-
const queryBuilder_1 = require("./queryBuilder");
|
|
12
|
-
const relayConnection_1 = require("./relayConnection");
|
|
13
|
-
const requestedFields_1 = require("./requestedFields");
|
|
14
|
-
const util_1 = require("./util");
|
|
15
|
-
function buildResolvers(model, dialect) {
|
|
16
|
-
let Query = {};
|
|
17
|
-
let resolvers = { Query, ...scalars_1.customScalars };
|
|
18
|
-
for (let name in model) {
|
|
19
|
-
let item = model[name];
|
|
20
|
-
switch (item.kind) {
|
|
21
|
-
case 'entity':
|
|
22
|
-
Query[(0, util_1.toQueryListField)(name)] = async (source, args, context, info) => {
|
|
23
|
-
let fields = (0, requestedFields_1.requestedFields)(model, name, info);
|
|
24
|
-
let db = await context.openReaderTransaction.get();
|
|
25
|
-
return new queryBuilder_1.QueryBuilder(model, dialect, db).executeSelect(name, args, fields);
|
|
26
|
-
};
|
|
27
|
-
Query[(0, util_1.toQueryListField)(name) + 'Connection'] = async (source, args, context, info) => {
|
|
28
|
-
let db = await context.openReaderTransaction.get();
|
|
29
|
-
return resolveEntityConnection(model, dialect, name, args, info, db);
|
|
30
|
-
};
|
|
31
|
-
Query[`${(0, util_naming_1.toCamelCase)(name)}ById`] = async (source, args, context, info) => {
|
|
32
|
-
let fields = (0, requestedFields_1.requestedFields)(model, name, info);
|
|
33
|
-
let db = await context.openReaderTransaction.get();
|
|
34
|
-
let result = await new queryBuilder_1.QueryBuilder(model, dialect, db)
|
|
35
|
-
.executeSelect(name, { where: { id_eq: args.id } }, fields);
|
|
36
|
-
(0, assert_1.default)(result.length < 2);
|
|
37
|
-
return result[0];
|
|
38
|
-
};
|
|
39
|
-
Query[`${(0, util_naming_1.toCamelCase)(name)}ByUniqueInput`] = async (source, args, context, info) => {
|
|
40
|
-
let fields = (0, requestedFields_1.requestedFields)(model, name, info);
|
|
41
|
-
let db = await context.openReaderTransaction.get();
|
|
42
|
-
let result = await new queryBuilder_1.QueryBuilder(model, dialect, db)
|
|
43
|
-
.executeSelect(name, { where: { id_eq: args.where.id } }, fields);
|
|
44
|
-
(0, assert_1.default)(result.length < 2);
|
|
45
|
-
return result[0];
|
|
46
|
-
};
|
|
47
|
-
installFieldResolvers(name, item);
|
|
48
|
-
break;
|
|
49
|
-
case 'object':
|
|
50
|
-
installFieldResolvers(name, item);
|
|
51
|
-
break;
|
|
52
|
-
case 'union':
|
|
53
|
-
resolvers[name] = {
|
|
54
|
-
__resolveType: resolveUnionType
|
|
55
|
-
};
|
|
56
|
-
break;
|
|
57
|
-
case 'fts':
|
|
58
|
-
Query[name] = async (source, args, context, info) => {
|
|
59
|
-
let fields = (0, requestedFields_1.ftsRequestedFields)(model, name, info);
|
|
60
|
-
let db = await context.openReaderTransaction.get();
|
|
61
|
-
return new queryBuilder_1.QueryBuilder(model, dialect, db).executeFulltextSearch(name, args, fields);
|
|
62
|
-
};
|
|
63
|
-
resolvers[`${name}_Item`] = {
|
|
64
|
-
__resolveType: resolveUnionType
|
|
65
|
-
};
|
|
66
|
-
break;
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
function installFieldResolvers(name, object) {
|
|
70
|
-
let fields = {};
|
|
71
|
-
for (let key in object.properties) {
|
|
72
|
-
let kind = object.properties[key].type.kind;
|
|
73
|
-
switch (kind) {
|
|
74
|
-
case 'object':
|
|
75
|
-
case 'union':
|
|
76
|
-
case 'fk':
|
|
77
|
-
case 'lookup':
|
|
78
|
-
case 'list-lookup':
|
|
79
|
-
fields[key] = aliasResolver;
|
|
80
|
-
break;
|
|
81
|
-
case 'scalar':
|
|
82
|
-
case 'enum':
|
|
83
|
-
case 'list':
|
|
84
|
-
break;
|
|
85
|
-
default:
|
|
86
|
-
throw (0, util_1.unsupportedCase)(kind);
|
|
87
|
-
}
|
|
88
|
-
}
|
|
89
|
-
resolvers[name] = fields;
|
|
90
|
-
}
|
|
91
|
-
return resolvers;
|
|
92
|
-
}
|
|
93
|
-
exports.buildResolvers = buildResolvers;
|
|
94
|
-
function resolveUnionType(source) {
|
|
95
|
-
return source.isTypeOf;
|
|
96
|
-
}
|
|
97
|
-
function aliasResolver(source, args, ctx, info) {
|
|
98
|
-
return source[info.path.key];
|
|
99
|
-
}
|
|
100
|
-
async function resolveEntityConnection(model, dialect, entityName, args, info, db) {
|
|
101
|
-
let response = {};
|
|
102
|
-
let orderBy = args.orderBy && (0, util_1.ensureArray)(args.orderBy);
|
|
103
|
-
if (!orderBy?.length) {
|
|
104
|
-
throw new apollo_server_core_1.UserInputError('orderBy argument is required for connection');
|
|
105
|
-
}
|
|
106
|
-
let { offset, limit } = (0, relayConnection_1.decodeConnectionArgs)(args);
|
|
107
|
-
let listArgs = {
|
|
108
|
-
where: args.where,
|
|
109
|
-
orderBy,
|
|
110
|
-
offset,
|
|
111
|
-
limit: limit + 1
|
|
112
|
-
};
|
|
113
|
-
// https://relay.dev/assets/files/connections-932f4f2cdffd79724ac76373deb30dc8.htm#sec-undefined.PageInfo.Fields
|
|
114
|
-
function pageInfo(listLength) {
|
|
115
|
-
return {
|
|
116
|
-
hasNextPage: listLength > limit,
|
|
117
|
-
hasPreviousPage: listLength > 0 && offset > 0,
|
|
118
|
-
startCursor: listLength > 0 ? (0, relayConnection_1.encodeCursor)(offset + 1) : '',
|
|
119
|
-
endCursor: listLength > 0 ? (0, relayConnection_1.encodeCursor)(offset + Math.min(limit, listLength)) : ''
|
|
120
|
-
};
|
|
121
|
-
}
|
|
122
|
-
let fields = (0, requestedFields_1.connectionRequestedFields)(model, entityName, info);
|
|
123
|
-
if (fields.edges?.node) {
|
|
124
|
-
let nodes = await new queryBuilder_1.QueryBuilder(model, dialect, db).executeSelect(entityName, listArgs, fields.edges.node);
|
|
125
|
-
let edges = new Array(Math.min(limit, nodes.length));
|
|
126
|
-
for (let i = 0; i < edges.length; i++) {
|
|
127
|
-
edges[i] = {
|
|
128
|
-
node: nodes[i],
|
|
129
|
-
cursor: (0, relayConnection_1.encodeCursor)(offset + i + 1)
|
|
130
|
-
};
|
|
131
|
-
}
|
|
132
|
-
response.edges = edges;
|
|
133
|
-
response.pageInfo = pageInfo(nodes.length);
|
|
134
|
-
if (nodes.length > 0 && nodes.length <= limit) {
|
|
135
|
-
response.totalCount = offset + nodes.length;
|
|
136
|
-
}
|
|
137
|
-
}
|
|
138
|
-
else if (fields.edges?.cursor || fields.pageInfo) {
|
|
139
|
-
let listLength = await new queryBuilder_1.QueryBuilder(model, dialect, db).executeListCount(entityName, listArgs);
|
|
140
|
-
response.pageInfo = pageInfo(listLength);
|
|
141
|
-
if (fields.edges?.cursor) {
|
|
142
|
-
response.edges = [];
|
|
143
|
-
for (let i = 0; i < Math.min(limit, listLength); i++) {
|
|
144
|
-
response.edges.push({
|
|
145
|
-
cursor: (0, relayConnection_1.encodeCursor)(offset + i + 1)
|
|
146
|
-
});
|
|
147
|
-
}
|
|
148
|
-
}
|
|
149
|
-
if (listLength > 0 && listLength <= limit) {
|
|
150
|
-
response.totalCount = offset + listLength;
|
|
151
|
-
}
|
|
152
|
-
}
|
|
153
|
-
if (fields.totalCount && response.totalCount == null) {
|
|
154
|
-
response.totalCount = await new queryBuilder_1.QueryBuilder(model, dialect, db).executeSelectCount(entityName, listArgs.where);
|
|
155
|
-
}
|
|
156
|
-
return response;
|
|
157
|
-
}
|
|
158
|
-
//# sourceMappingURL=resolver.js.map
|
package/dist/resolver.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"resolver.js","sourceRoot":"","sources":["../src/resolver.ts"],"names":[],"mappings":";;;;;;AACA,uDAAiD;AACjD,2DAAiD;AACjD,oDAA2B;AAI3B,2CAA2C;AAE3C,iDAA2C;AAC3C,uDAO0B;AAC1B,uDAAgG;AAChG,iCAAqE;AAQrE,SAAgB,cAAc,CAAC,KAAY,EAAE,OAAgB;IACzD,IAAI,KAAK,GAA6D,EAAE,CAAA;IACxE,IAAI,SAAS,GAAe,EAAC,KAAK,EAAE,GAAG,uBAAa,EAAC,CAAA;IAErD,KAAK,IAAI,IAAI,IAAI,KAAK,EAAE;QACpB,IAAI,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,CAAA;QACtB,QAAO,IAAI,CAAC,IAAI,EAAE;YACd,KAAK,QAAQ;gBACT,KAAK,CAAC,IAAA,uBAAgB,EAAC,IAAI,CAAC,CAAC,GAAG,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE;oBAClE,IAAI,MAAM,GAAG,IAAA,iCAAe,EAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;oBAC/C,IAAI,EAAE,GAAG,MAAM,OAAO,CAAC,qBAAqB,CAAC,GAAG,EAAE,CAAA;oBAClD,OAAO,IAAI,2BAAY,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC,aAAa,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,CAAA;gBACjF,CAAC,CAAA;gBACD,KAAK,CAAC,IAAA,uBAAgB,EAAC,IAAI,CAAC,GAAG,YAAY,CAAC,GAAG,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE;oBACjF,IAAI,EAAE,GAAG,MAAM,OAAO,CAAC,qBAAqB,CAAC,GAAG,EAAE,CAAA;oBAClD,OAAO,uBAAuB,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,CAAA;gBACxE,CAAC,CAAA;gBACD,KAAK,CAAC,GAAG,IAAA,yBAAW,EAAC,IAAI,CAAC,MAAM,CAAC,GAAG,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE;oBACtE,IAAI,MAAM,GAAG,IAAA,iCAAe,EAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;oBAC/C,IAAI,EAAE,GAAG,MAAM,OAAO,CAAC,qBAAqB,CAAC,GAAG,EAAE,CAAA;oBAClD,IAAI,MAAM,GAAG,MAAM,IAAI,2BAAY,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,CAAC;yBAClD,aAAa,CAAC,IAAI,EAAE,EAAC,KAAK,EAAE,EAAC,KAAK,EAAE,IAAI,CAAC,EAAE,EAAC,EAAC,EAAE,MAAM,CAAC,CAAA;oBAC3D,IAAA,gBAAM,EAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;oBACzB,OAAO,MAAM,CAAC,CAAC,CAAC,CAAA;gBACpB,CAAC,CAAA;gBACD,KAAK,CAAC,GAAG,IAAA,yBAAW,EAAC,IAAI,CAAC,eAAe,CAAC,GAAG,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE;oBAC/E,IAAI,MAAM,GAAG,IAAA,iCAAe,EAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;oBAC/C,IAAI,EAAE,GAAG,MAAM,OAAO,CAAC,qBAAqB,CAAC,GAAG,EAAE,CAAA;oBAClD,IAAI,MAAM,GAAG,MAAM,IAAI,2BAAY,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,CAAC;yBAClD,aAAa,CAAC,IAAI,EAAE,EAAC,KAAK,EAAE,EAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,EAAC,EAAC,EAAE,MAAM,CAAC,CAAA;oBACjE,IAAA,gBAAM,EAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;oBACzB,OAAO,MAAM,CAAC,CAAC,CAAC,CAAA;gBACpB,CAAC,CAAA;gBACD,qBAAqB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;gBACjC,MAAK;YACT,KAAK,QAAQ;gBACT,qBAAqB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;gBACjC,MAAK;YACT,KAAK,OAAO;gBACR,SAAS,CAAC,IAAI,CAAC,GAAG;oBACd,aAAa,EAAE,gBAAgB;iBAClC,CAAA;gBACD,MAAK;YACT,KAAK,KAAK;gBACN,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE;oBAChD,IAAI,MAAM,GAAG,IAAA,oCAAkB,EAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;oBAClD,IAAI,EAAE,GAAG,MAAM,OAAO,CAAC,qBAAqB,CAAC,GAAG,EAAE,CAAA;oBAClD,OAAO,IAAI,2BAAY,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC,qBAAqB,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,CAAA;gBACzF,CAAC,CAAA;gBACD,SAAS,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG;oBACxB,aAAa,EAAE,gBAAgB;iBAClC,CAAA;gBACD,MAAK;SACZ;KACJ;IAED,SAAS,qBAAqB,CAAC,IAAY,EAAE,MAA2B;QACpE,IAAI,MAAM,GAA6C,EAAE,CAAA;QACzD,KAAK,IAAI,GAAG,IAAI,MAAM,CAAC,UAAU,EAAE;YAC/B,IAAI,IAAI,GAAG,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAA;YAC3C,QAAO,IAAI,EAAE;gBACT,KAAK,QAAQ,CAAC;gBACd,KAAK,OAAO,CAAC;gBACb,KAAK,IAAI,CAAC;gBACV,KAAK,QAAQ,CAAC;gBACd,KAAK,aAAa;oBACd,MAAM,CAAC,GAAG,CAAC,GAAG,aAAa,CAAA;oBAC3B,MAAK;gBACT,KAAK,QAAQ,CAAC;gBACd,KAAK,MAAM,CAAC;gBACZ,KAAK,MAAM;oBACP,MAAK;gBACT;oBACI,MAAM,IAAA,sBAAe,EAAC,IAAI,CAAC,CAAA;aAClC;SACJ;QACD,SAAS,CAAC,IAAI,CAAC,GAAG,MAAM,CAAA;IAC5B,CAAC;IAED,OAAO,SAAS,CAAA;AACpB,CAAC;AAhFD,wCAgFC;AAGD,SAAS,gBAAgB,CAAC,MAAW;IACjC,OAAO,MAAM,CAAC,QAAQ,CAAA;AAC1B,CAAC;AAGD,SAAS,aAAa,CAAC,MAAW,EAAE,IAAa,EAAE,GAAY,EAAE,IAAwB;IACrF,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AAChC,CAAC;AAcD,KAAK,UAAU,uBAAuB,CAClC,KAAY,EACZ,OAAgB,EAChB,UAAkB,EAClB,IAAoB,EACpB,IAAwB,EACxB,EAAY;IAEZ,IAAI,QAAQ,GAAuB,EAAE,CAAA;IAErC,IAAI,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,IAAA,kBAAW,EAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IACvD,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE;QAClB,MAAM,IAAI,mCAAc,CAAC,6CAA6C,CAAC,CAAA;KAC1E;IAED,IAAI,EAAC,MAAM,EAAE,KAAK,EAAC,GAAG,IAAA,sCAAoB,EAAC,IAAI,CAAC,CAAA;IAChD,IAAI,QAAQ,GAAG;QACX,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,OAAO;QACP,MAAM;QACN,KAAK,EAAE,KAAK,GAAG,CAAC;KACnB,CAAA;IAED,gHAAgH;IAChH,SAAS,QAAQ,CAAC,UAAkB;QAChC,OAAO;YACH,WAAW,EAAE,UAAU,GAAG,KAAK;YAC/B,eAAe,EAAE,UAAU,GAAG,CAAC,IAAI,MAAM,GAAG,CAAC;YAC7C,WAAW,EAAE,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,IAAA,8BAAY,EAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;YAC3D,SAAS,EAAE,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,IAAA,8BAAY,EAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;SACtF,CAAA;IACL,CAAC;IAED,IAAI,MAAM,GAAG,IAAA,2CAAyB,EAAC,KAAK,EAAE,UAAU,EAAE,IAAI,CAAC,CAAA;IAC/D,IAAI,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE;QACpB,IAAI,KAAK,GAAG,MAAM,IAAI,2BAAY,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC,aAAa,CAAC,UAAU,EAAE,QAAQ,EAAE,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QAC7G,IAAI,KAAK,GAA0B,IAAI,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAA;QAC3E,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACnC,KAAK,CAAC,CAAC,CAAC,GAAG;gBACP,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;gBACd,MAAM,EAAE,IAAA,8BAAY,EAAC,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC;aACvC,CAAA;SACJ;QACD,QAAQ,CAAC,KAAK,GAAG,KAAK,CAAA;QACtB,QAAQ,CAAC,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;QAC1C,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,MAAM,IAAI,KAAK,EAAE;YAC3C,QAAQ,CAAC,UAAU,GAAG,MAAM,GAAG,KAAK,CAAC,MAAM,CAAA;SAC9C;KACJ;SAAM,IAAI,MAAM,CAAC,KAAK,EAAE,MAAM,IAAI,MAAM,CAAC,QAAQ,EAAE;QAChD,IAAI,UAAU,GAAG,MAAM,IAAI,2BAAY,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC,gBAAgB,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAA;QAClG,QAAQ,CAAC,QAAQ,GAAG,QAAQ,CAAC,UAAU,CAAC,CAAA;QACxC,IAAI,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE;YACtB,QAAQ,CAAC,KAAK,GAAG,EAAE,CAAA;YACnB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,UAAU,CAAC,EAAE,CAAC,EAAE,EAAE;gBAClD,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC;oBAChB,MAAM,EAAE,IAAA,8BAAY,EAAC,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC;iBACvC,CAAC,CAAA;aACL;SACJ;QACD,IAAI,UAAU,GAAG,CAAC,IAAI,UAAU,IAAI,KAAK,EAAE;YACvC,QAAQ,CAAC,UAAU,GAAG,MAAM,GAAG,UAAU,CAAA;SAC5C;KACJ;IAED,IAAI,MAAM,CAAC,UAAU,IAAI,QAAQ,CAAC,UAAU,IAAI,IAAI,EAAE;QAClD,QAAQ,CAAC,UAAU,GAAG,MAAM,IAAI,2BAAY,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC,kBAAkB,CAAC,UAAU,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAA;KAClH;IAED,OAAO,QAAQ,CAAA;AACnB,CAAC"}
|
package/dist/server.d.ts
DELETED
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
/// <reference types="node" />
|
|
2
|
-
import { ApolloServer } from "apollo-server-express";
|
|
3
|
-
import express from "express";
|
|
4
|
-
import http from "http";
|
|
5
|
-
import type { Pool } from "pg";
|
|
6
|
-
import { Dialect } from "./dialect";
|
|
7
|
-
import type { Model } from "./model";
|
|
8
|
-
export interface ListeningServer {
|
|
9
|
-
readonly port: number;
|
|
10
|
-
stop(): Promise<void>;
|
|
11
|
-
}
|
|
12
|
-
export interface ServerOptions {
|
|
13
|
-
model: Model;
|
|
14
|
-
db: Pool;
|
|
15
|
-
port: number | string;
|
|
16
|
-
dialect?: Dialect;
|
|
17
|
-
graphiqlConsole?: boolean;
|
|
18
|
-
}
|
|
19
|
-
export declare function serve(options: ServerOptions): Promise<ListeningServer>;
|
|
20
|
-
export declare function listen(apollo: ApolloServer, server: http.Server, port: number | string): Promise<ListeningServer>;
|
|
21
|
-
export declare function setupGraphiqlConsole(app: express.Application): void;
|
|
22
|
-
//# sourceMappingURL=server.d.ts.map
|
package/dist/server.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":";AACA,OAAO,EAAC,YAAY,EAAC,MAAM,uBAAuB,CAAA;AAElD,OAAO,OAAO,MAAM,SAAS,CAAA;AAE7B,OAAO,IAAI,MAAM,MAAM,CAAA;AAEvB,OAAO,KAAK,EAAC,IAAI,EAAC,MAAM,IAAI,CAAA;AAE5B,OAAO,EAAC,OAAO,EAAC,MAAM,WAAW,CAAA;AAEjC,OAAO,KAAK,EAAC,KAAK,EAAC,MAAM,SAAS,CAAA;AAIlC,MAAM,WAAW,eAAe;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;CACxB;AAGD,MAAM,WAAW,aAAa;IAC1B,KAAK,EAAE,KAAK,CAAA;IACZ,EAAE,EAAE,IAAI,CAAA;IACR,IAAI,EAAE,MAAM,GAAG,MAAM,CAAA;IACrB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,eAAe,CAAC,EAAE,OAAO,CAAA;CAC5B;AAGD,wBAAsB,KAAK,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,eAAe,CAAC,CAiC5E;AAGD,wBAAgB,MAAM,CAAC,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CA0BjH;AAGD,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,OAAO,CAAC,WAAW,GAAG,IAAI,CAsBnE"}
|