@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/bin/main.js
CHANGED
package/lib/context.d.ts
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { Dialect } from './dialect';
|
|
2
|
+
import { Query } from './sql/query';
|
|
3
|
+
import { Limit } from './util/limit';
|
|
4
|
+
export interface Context {
|
|
5
|
+
openreader: OpenreaderContext;
|
|
6
|
+
}
|
|
7
|
+
export interface OpenreaderContext {
|
|
8
|
+
dialect: Dialect;
|
|
9
|
+
executeQuery<T>(query: Query<T>): Promise<T>;
|
|
10
|
+
subscription<T>(query: Query<T>): AsyncIterable<T>;
|
|
11
|
+
responseSizeLimit?: Limit;
|
|
12
|
+
subscriptionResponseSizeLimit?: Limit;
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=context.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAC,MAAM,WAAW,CAAA;AACjC,OAAO,EAAC,KAAK,EAAC,MAAM,aAAa,CAAA;AACjC,OAAO,EAAC,KAAK,EAAC,MAAM,cAAc,CAAA;AAGlC,MAAM,WAAW,OAAO;IACpB,UAAU,EAAE,iBAAiB,CAAA;CAChC;AAGD,MAAM,WAAW,iBAAiB;IAC9B,OAAO,EAAE,OAAO,CAAA;IAChB,YAAY,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAA;IAC5C,YAAY,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC,CAAA;IAClD,iBAAiB,CAAC,EAAE,KAAK,CAAA;IACzB,6BAA6B,CAAC,EAAE,KAAK,CAAA;CACxC"}
|
package/lib/context.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"context.js","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":""}
|
package/lib/db.d.ts
ADDED
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import type { ClientBase, Pool } from "pg";
|
|
2
|
+
import { OpenreaderContext } from "./context";
|
|
3
|
+
import { Dialect } from "./dialect";
|
|
4
|
+
import { Query } from "./sql/query";
|
|
5
|
+
export interface Database {
|
|
6
|
+
query(sql: string, parameters?: any[]): Promise<any[][]>;
|
|
7
|
+
}
|
|
8
|
+
export declare class PgDatabase implements Database {
|
|
9
|
+
private client;
|
|
10
|
+
constructor(client: ClientBase);
|
|
11
|
+
query(sql: string, parameters?: any[]): Promise<any[][]>;
|
|
12
|
+
}
|
|
13
|
+
export declare class PoolOpenreaderContext implements OpenreaderContext {
|
|
14
|
+
readonly dialect: Dialect;
|
|
15
|
+
private subscriptionPollInterval;
|
|
16
|
+
private tx;
|
|
17
|
+
private subscriptionPool;
|
|
18
|
+
constructor(dialect: Dialect, pool: Pool, subscriptionPool?: Pool, subscriptionPollInterval?: number);
|
|
19
|
+
close(): Promise<void>;
|
|
20
|
+
executeQuery<T>(query: Query<T>): Promise<T>;
|
|
21
|
+
subscription<T>(query: Query<T>): AsyncIterable<T>;
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=db.d.ts.map
|
package/lib/db.d.ts.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"db.d.ts","sourceRoot":"","sources":["../src/db.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,UAAU,EAAE,IAAI,EAAC,MAAM,IAAI,CAAA;AACxC,OAAO,EAAC,iBAAiB,EAAC,MAAM,WAAW,CAAA;AAC3C,OAAO,EAAC,OAAO,EAAC,MAAM,WAAW,CAAA;AACjC,OAAO,EAAC,KAAK,EAAC,MAAM,aAAa,CAAA;AAMjC,MAAM,WAAW,QAAQ;IACrB,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAA;CAC3D;AAGD,qBAAa,UAAW,YAAW,QAAQ;IAC3B,OAAO,CAAC,MAAM;gBAAN,MAAM,EAAE,UAAU;IAEtC,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC;CAK3D;AAGD,qBAAa,qBAAsB,YAAW,iBAAiB;aAKvC,OAAO,EAAE,OAAO;IAGhC,OAAO,CAAC,wBAAwB;IAPpC,OAAO,CAAC,EAAE,CAA2B;IACrC,OAAO,CAAC,gBAAgB,CAAM;gBAGV,OAAO,EAAE,OAAO,EAChC,IAAI,EAAE,IAAI,EACV,gBAAgB,CAAC,EAAE,IAAI,EACf,wBAAwB,GAAE,MAAa;IAMnD,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAIhB,YAAY,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAMlD,YAAY,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC;CAMrD"}
|
package/lib/db.js
ADDED
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.PoolOpenreaderContext = exports.PgDatabase = void 0;
|
|
4
|
+
const subscription_1 = require("./subscription");
|
|
5
|
+
const error_handling_1 = require("./util/error-handling");
|
|
6
|
+
const lazy_transaction_1 = require("./util/lazy-transaction");
|
|
7
|
+
class PgDatabase {
|
|
8
|
+
constructor(client) {
|
|
9
|
+
this.client = client;
|
|
10
|
+
}
|
|
11
|
+
query(sql, parameters) {
|
|
12
|
+
return this.client.query({ text: sql, rowMode: 'array' }, parameters)
|
|
13
|
+
.then(result => result.rows)
|
|
14
|
+
.catch((0, error_handling_1.withErrorContext)({ sql, parameters }));
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
exports.PgDatabase = PgDatabase;
|
|
18
|
+
class PoolOpenreaderContext {
|
|
19
|
+
constructor(dialect, pool, subscriptionPool, subscriptionPollInterval = 1000) {
|
|
20
|
+
this.dialect = dialect;
|
|
21
|
+
this.subscriptionPollInterval = subscriptionPollInterval;
|
|
22
|
+
this.tx = new lazy_transaction_1.LazyTransaction(cb => transact(pool, cb));
|
|
23
|
+
this.subscriptionPool = subscriptionPool || pool;
|
|
24
|
+
}
|
|
25
|
+
close() {
|
|
26
|
+
return this.tx.close();
|
|
27
|
+
}
|
|
28
|
+
async executeQuery(query) {
|
|
29
|
+
let db = await this.tx.get();
|
|
30
|
+
let result = await db.query(query.sql, query.params);
|
|
31
|
+
return query.map(result);
|
|
32
|
+
}
|
|
33
|
+
subscription(query) {
|
|
34
|
+
return new subscription_1.Subscription(this.subscriptionPollInterval, () => transact(this.subscriptionPool, async (db) => {
|
|
35
|
+
let result = await db.query(query.sql, query.params);
|
|
36
|
+
return query.map(result);
|
|
37
|
+
}));
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
exports.PoolOpenreaderContext = PoolOpenreaderContext;
|
|
41
|
+
async function transact(pool, cb) {
|
|
42
|
+
let client = await pool.connect();
|
|
43
|
+
try {
|
|
44
|
+
await client.query('START TRANSACTION ISOLATION LEVEL SERIALIZABLE READ ONLY');
|
|
45
|
+
try {
|
|
46
|
+
let db = new PgDatabase(client);
|
|
47
|
+
return await cb(db);
|
|
48
|
+
}
|
|
49
|
+
finally {
|
|
50
|
+
await client.query('COMMIT').catch(() => { });
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
finally {
|
|
54
|
+
client.release();
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
//# sourceMappingURL=db.js.map
|
package/lib/db.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"db.js","sourceRoot":"","sources":["../src/db.ts"],"names":[],"mappings":";;;AAIA,iDAA2C;AAC3C,0DAAsD;AACtD,8DAAuD;AAQvD,MAAa,UAAU;IACnB,YAAoB,MAAkB;QAAlB,WAAM,GAAN,MAAM,CAAY;IAAG,CAAC;IAE1C,KAAK,CAAC,GAAW,EAAE,UAAkB;QACjC,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAC,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,EAAC,EAAE,UAAU,CAAC;aAC9D,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC;aAC3B,KAAK,CAAC,IAAA,iCAAgB,EAAC,EAAC,GAAG,EAAE,UAAU,EAAC,CAAC,CAAC,CAAA;IACnD,CAAC;CACJ;AARD,gCAQC;AAGD,MAAa,qBAAqB;IAI9B,YACoB,OAAgB,EAChC,IAAU,EACV,gBAAuB,EACf,2BAAmC,IAAI;QAH/B,YAAO,GAAP,OAAO,CAAS;QAGxB,6BAAwB,GAAxB,wBAAwB,CAAe;QAE/C,IAAI,CAAC,EAAE,GAAG,IAAI,kCAAe,CAAC,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAA;QACvD,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,IAAI,IAAI,CAAA;IACpD,CAAC;IAED,KAAK;QACD,OAAO,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,CAAA;IAC1B,CAAC;IAED,KAAK,CAAC,YAAY,CAAI,KAAe;QACjC,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,CAAA;QAC5B,IAAI,MAAM,GAAG,MAAM,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,MAAM,CAAC,CAAA;QACpD,OAAO,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;IAC5B,CAAC;IAED,YAAY,CAAI,KAAe;QAC3B,OAAO,IAAI,2BAAY,CAAC,IAAI,CAAC,wBAAwB,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,gBAAgB,EAAE,KAAK,EAAC,EAAE,EAAC,EAAE;YACpG,IAAI,MAAM,GAAG,MAAM,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,MAAM,CAAC,CAAA;YACpD,OAAO,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;QAC5B,CAAC,CAAC,CAAC,CAAA;IACP,CAAC;CACJ;AA9BD,sDA8BC;AAGD,KAAK,UAAU,QAAQ,CAAI,IAAU,EAAE,EAAgC;IACnE,IAAI,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,EAAE,CAAA;IACjC,IAAI;QACA,MAAM,MAAM,CAAC,KAAK,CAAC,0DAA0D,CAAC,CAAA;QAC9E,IAAI;YACA,IAAI,EAAE,GAAG,IAAI,UAAU,CAAC,MAAM,CAAC,CAAA;YAC/B,OAAO,MAAM,EAAE,CAAC,EAAE,CAAC,CAAA;SACtB;gBAAS;YACN,MAAM,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAA;SAC/C;KACJ;YAAS;QACN,MAAM,CAAC,OAAO,EAAE,CAAA;KACnB;AACL,CAAC"}
|
|
File without changes
|
|
File without changes
|
package/{dist → lib}/dialect.js
RENAMED
|
File without changes
|
|
File without changes
|
package/lib/ir/args.d.ts
ADDED
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
export interface EntityListArguments {
|
|
2
|
+
offset?: number;
|
|
3
|
+
limit?: number;
|
|
4
|
+
orderBy?: OrderBy;
|
|
5
|
+
where?: Where;
|
|
6
|
+
}
|
|
7
|
+
export declare type Where = AndCondition | OrCondition | InCondition | SetCondition | RefCondition | BinaryCondition | UnaryCondition;
|
|
8
|
+
export interface AndCondition {
|
|
9
|
+
op: 'AND';
|
|
10
|
+
args: Where[];
|
|
11
|
+
}
|
|
12
|
+
export interface OrCondition {
|
|
13
|
+
op: 'OR';
|
|
14
|
+
args: Where[];
|
|
15
|
+
}
|
|
16
|
+
export interface SetCondition {
|
|
17
|
+
op: 'some' | 'every' | 'none';
|
|
18
|
+
field: string;
|
|
19
|
+
where?: Where;
|
|
20
|
+
}
|
|
21
|
+
export interface RefCondition {
|
|
22
|
+
op: 'REF';
|
|
23
|
+
field: string;
|
|
24
|
+
where: Where;
|
|
25
|
+
}
|
|
26
|
+
export interface InCondition {
|
|
27
|
+
op: 'in' | 'not_in';
|
|
28
|
+
field: string;
|
|
29
|
+
values: unknown[];
|
|
30
|
+
}
|
|
31
|
+
export interface BinaryCondition {
|
|
32
|
+
op: BinaryOp;
|
|
33
|
+
field: string;
|
|
34
|
+
value: unknown;
|
|
35
|
+
}
|
|
36
|
+
export interface UnaryCondition {
|
|
37
|
+
op: UnaryOp;
|
|
38
|
+
field: string;
|
|
39
|
+
yes: boolean;
|
|
40
|
+
}
|
|
41
|
+
export declare type BinaryOp = 'eq' | 'not_eq' | 'gt' | 'gte' | 'lt' | 'lte' | 'contains' | 'not_contains' | 'containsInsensitive' | 'not_containsInsensitive' | 'startsWith' | 'not_startsWith' | 'endsWith' | 'not_endsWith' | 'containsAll' | 'containsAny' | 'containsNone' | 'jsonContains' | 'jsonHasKey';
|
|
42
|
+
export declare type UnaryOp = 'isNull';
|
|
43
|
+
export interface OrderBy {
|
|
44
|
+
[field: string]: SortOrder | OrderBy;
|
|
45
|
+
}
|
|
46
|
+
export declare type SortOrder = "ASC" | "DESC";
|
|
47
|
+
//# sourceMappingURL=args.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"args.d.ts","sourceRoot":"","sources":["../../src/ir/args.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,mBAAmB;IAChC,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,KAAK,CAAC,EAAE,KAAK,CAAA;CAChB;AAGD,oBAAY,KAAK,GAAG,YAAY,GAAG,WAAW,GAAG,WAAW,GAAG,YAAY,GAAG,YAAY,GAAG,eAAe,GAAG,cAAc,CAAA;AAG7H,MAAM,WAAW,YAAY;IACzB,EAAE,EAAE,KAAK,CAAA;IACT,IAAI,EAAE,KAAK,EAAE,CAAA;CAChB;AAGD,MAAM,WAAW,WAAW;IACxB,EAAE,EAAE,IAAI,CAAA;IACR,IAAI,EAAE,KAAK,EAAE,CAAA;CAChB;AAGD,MAAM,WAAW,YAAY;IACzB,EAAE,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,CAAA;IAC7B,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,KAAK,CAAA;CAChB;AAGD,MAAM,WAAW,YAAY;IACzB,EAAE,EAAE,KAAK,CAAA;IACT,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,KAAK,CAAA;CACf;AAGD,MAAM,WAAW,WAAW;IACxB,EAAE,EAAE,IAAI,GAAG,QAAQ,CAAA;IACnB,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,OAAO,EAAE,CAAA;CACpB;AAGD,MAAM,WAAW,eAAe;IAC5B,EAAE,EAAE,QAAQ,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,OAAO,CAAA;CACjB;AAGD,MAAM,WAAW,cAAc;IAC3B,EAAE,EAAE,OAAO,CAAA;IACX,KAAK,EAAE,MAAM,CAAA;IACb,GAAG,EAAE,OAAO,CAAA;CACf;AAGD,oBAAY,QAAQ,GAChB,IAAI,GACJ,QAAQ,GACR,IAAI,GACJ,KAAK,GACL,IAAI,GACJ,KAAK,GACL,UAAU,GAAG,cAAc,GAC3B,qBAAqB,GAAG,yBAAyB,GACjD,YAAY,GAAG,gBAAgB,GAC/B,UAAU,GAAG,cAAc,GAC3B,aAAa,GACb,aAAa,GACb,cAAc,GACd,cAAc,GACd,YAAY,CAAA;AAGhB,oBAAY,OAAO,GAAG,QAAQ,CAAA;AAG9B,MAAM,WAAW,OAAO;IACpB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAAA;CACvC;AAGD,oBAAY,SAAS,GAAG,KAAK,GAAG,MAAM,CAAA"}
|
package/lib/ir/args.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"args.js","sourceRoot":"","sources":["../../src/ir/args.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { OrderBy, Where } from "./args";
|
|
2
|
+
import { FieldRequest } from "./fields";
|
|
3
|
+
export interface RelayConnectionRequest {
|
|
4
|
+
orderBy: OrderBy;
|
|
5
|
+
where?: Where;
|
|
6
|
+
first?: number;
|
|
7
|
+
after?: string;
|
|
8
|
+
edgeNode?: FieldRequest[];
|
|
9
|
+
edgeCursor?: boolean;
|
|
10
|
+
pageInfo?: boolean;
|
|
11
|
+
totalCount?: boolean;
|
|
12
|
+
}
|
|
13
|
+
export interface RelayConnectionResponse {
|
|
14
|
+
edges?: RelayConnectionEdge[];
|
|
15
|
+
pageInfo?: Partial<RelayConnectionPageInfo>;
|
|
16
|
+
totalCount?: number;
|
|
17
|
+
}
|
|
18
|
+
export interface RelayConnectionEdge {
|
|
19
|
+
node?: unknown;
|
|
20
|
+
cursor?: string;
|
|
21
|
+
}
|
|
22
|
+
export interface RelayConnectionPageInfo {
|
|
23
|
+
hasNextPage: boolean;
|
|
24
|
+
hasPreviousPage: boolean;
|
|
25
|
+
startCursor: string;
|
|
26
|
+
endCursor: string;
|
|
27
|
+
}
|
|
28
|
+
export declare function decodeRelayConnectionCursor(cursor: string): number | undefined;
|
|
29
|
+
export declare function encodeRelayConnectionCursor(val: number): string;
|
|
30
|
+
//# sourceMappingURL=connection.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"connection.d.ts","sourceRoot":"","sources":["../../src/ir/connection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAE,KAAK,EAAC,MAAM,QAAQ,CAAA;AACrC,OAAO,EAAC,YAAY,EAAC,MAAM,UAAU,CAAA;AAGrC,MAAM,WAAW,sBAAsB;IACnC,OAAO,EAAE,OAAO,CAAA;IAChB,KAAK,CAAC,EAAE,KAAK,CAAA;IACb,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,QAAQ,CAAC,EAAE,YAAY,EAAE,CAAA;IACzB,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,UAAU,CAAC,EAAE,OAAO,CAAA;CACvB;AAGD,MAAM,WAAW,uBAAuB;IACpC,KAAK,CAAC,EAAE,mBAAmB,EAAE,CAAA;IAC7B,QAAQ,CAAC,EAAE,OAAO,CAAC,uBAAuB,CAAC,CAAA;IAC3C,UAAU,CAAC,EAAE,MAAM,CAAA;CACtB;AAGD,MAAM,WAAW,mBAAmB;IAChC,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,MAAM,CAAC,EAAE,MAAM,CAAA;CAClB;AAGD,MAAM,WAAW,uBAAuB;IACpC,WAAW,EAAE,OAAO,CAAA;IACpB,eAAe,EAAE,OAAO,CAAA;IACxB,WAAW,EAAE,MAAM,CAAA;IACnB,SAAS,EAAE,MAAM,CAAA;CACpB;AAGD,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAK9E;AAGD,wBAAgB,2BAA2B,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAE/D"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.encodeRelayConnectionCursor = exports.decodeRelayConnectionCursor = void 0;
|
|
4
|
+
function decodeRelayConnectionCursor(cursor) {
|
|
5
|
+
if (!/^\d+$/.test(cursor))
|
|
6
|
+
return undefined;
|
|
7
|
+
let val = parseInt(cursor, 10);
|
|
8
|
+
if (Number.isSafeInteger(val) && val > 0)
|
|
9
|
+
return val;
|
|
10
|
+
return undefined;
|
|
11
|
+
}
|
|
12
|
+
exports.decodeRelayConnectionCursor = decodeRelayConnectionCursor;
|
|
13
|
+
function encodeRelayConnectionCursor(val) {
|
|
14
|
+
return '' + val;
|
|
15
|
+
}
|
|
16
|
+
exports.encodeRelayConnectionCursor = encodeRelayConnectionCursor;
|
|
17
|
+
//# sourceMappingURL=connection.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"connection.js","sourceRoot":"","sources":["../../src/ir/connection.ts"],"names":[],"mappings":";;;AAqCA,SAAgB,2BAA2B,CAAC,MAAc;IACtD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC;QAAE,OAAO,SAAS,CAAA;IAC3C,IAAI,GAAG,GAAG,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;IAC9B,IAAI,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC;QAAE,OAAO,GAAG,CAAA;IACpD,OAAO,SAAS,CAAA;AACpB,CAAC;AALD,kEAKC;AAGD,SAAgB,2BAA2B,CAAC,GAAW;IACnD,OAAO,EAAE,GAAG,GAAG,CAAA;AACnB,CAAC;AAFD,kEAEC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { EnumPropType, FkPropType, ListLookupPropType, ListPropType, LookupPropType, ObjectPropType, Prop, PropType, ScalarPropType, UnionPropType } from "../model";
|
|
2
|
+
import { EntityListArguments } from "./args";
|
|
3
|
+
export declare type FieldRequest = EntityListRequest | ObjectRequest | OpaqueRequest;
|
|
4
|
+
declare type Base<T> = T extends PropType ? {
|
|
5
|
+
field: string;
|
|
6
|
+
kind: T['kind'];
|
|
7
|
+
type: T;
|
|
8
|
+
prop: Prop;
|
|
9
|
+
aliases: string[];
|
|
10
|
+
ifType?: string;
|
|
11
|
+
index: number;
|
|
12
|
+
} : never;
|
|
13
|
+
export declare type EntityListRequest = Base<ListLookupPropType> & {
|
|
14
|
+
children: FieldRequest[];
|
|
15
|
+
args?: EntityListArguments;
|
|
16
|
+
};
|
|
17
|
+
export declare type ObjectRequest = Base<FkPropType | LookupPropType | ObjectPropType | UnionPropType> & {
|
|
18
|
+
children: FieldRequest[];
|
|
19
|
+
};
|
|
20
|
+
export declare type OpaqueRequest = Base<ScalarPropType | EnumPropType | ListPropType>;
|
|
21
|
+
export {};
|
|
22
|
+
//# sourceMappingURL=fields.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fields.d.ts","sourceRoot":"","sources":["../../src/ir/fields.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,YAAY,EACZ,UAAU,EACV,kBAAkB,EAClB,YAAY,EACZ,cAAc,EACd,cAAc,EAAE,IAAI,EACpB,QAAQ,EACR,cAAc,EACd,aAAa,EAChB,MAAM,UAAU,CAAA;AACjB,OAAO,EAAC,mBAAmB,EAAC,MAAM,QAAQ,CAAA;AAG1C,oBAAY,YAAY,GAAG,iBAAiB,GAAG,aAAa,GAAG,aAAa,CAAA;AAG5E,aAAK,IAAI,CAAC,CAAC,IAAI,CAAC,SAAS,QAAQ,GAAG;IAChC,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAA;IACf,IAAI,EAAE,CAAC,CAAA;IACP,IAAI,EAAE,IAAI,CAAA;IACV,OAAO,EAAE,MAAM,EAAE,CAAA;IACjB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,KAAK,EAAE,MAAM,CAAA;CAChB,GAAG,KAAK,CAAA;AAGT,oBAAY,iBAAiB,GAAG,IAAI,CAAC,kBAAkB,CAAC,GAAG;IACvD,QAAQ,EAAE,YAAY,EAAE,CAAA;IACxB,IAAI,CAAC,EAAE,mBAAmB,CAAA;CAC7B,CAAA;AAGD,oBAAY,aAAa,GAAG,IAAI,CAAC,UAAU,GAAG,cAAc,GAAG,cAAc,GAAG,aAAa,CAAC,GAAG;IAC7F,QAAQ,EAAE,YAAY,EAAE,CAAA;CAC3B,CAAA;AAGD,oBAAY,aAAa,GAAG,IAAI,CAAC,cAAc,GAAG,YAAY,GAAG,YAAY,CAAC,CAAA"}
|
package/lib/ir/fields.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fields.js","sourceRoot":"","sources":["../../src/ir/fields.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { Where } from './ir/args';
|
|
2
|
+
import { RelayConnectionRequest } from './ir/connection';
|
|
3
|
+
import { FieldRequest } from './ir/fields';
|
|
4
|
+
import { Model } from './model';
|
|
5
|
+
export declare function getSize(model: Model, fields: FieldRequest[]): number;
|
|
6
|
+
export declare function getEntityListSize(model: Model, entityName: string, fields: FieldRequest[], limit?: number, where?: Where): number;
|
|
7
|
+
export declare function getRelaySize(model: Model, entityName: string, req: RelayConnectionRequest): number;
|
|
8
|
+
//# sourceMappingURL=limit.size.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"limit.size.d.ts","sourceRoot":"","sources":["../src/limit.size.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,KAAK,EAAC,MAAM,WAAW,CAAA;AAC/B,OAAO,EAAC,sBAAsB,EAAC,MAAM,iBAAiB,CAAA;AACtD,OAAO,EAAC,YAAY,EAAC,MAAM,aAAa,CAAA;AACxC,OAAO,EAAC,KAAK,EAAC,MAAM,SAAS,CAAA;AAI7B,wBAAgB,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,CAWpE;AA6BD,wBAAgB,iBAAiB,CAC7B,KAAK,EAAE,KAAK,EACZ,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,YAAY,EAAE,EACtB,KAAK,CAAC,EAAE,MAAM,EACd,KAAK,CAAC,EAAE,KAAK,GACd,MAAM,CAWR;AAuCD,wBAAgB,YAAY,CAAC,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,sBAAsB,GAAG,MAAM,CAoBlG"}
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getRelaySize = exports.getEntityListSize = exports.getSize = void 0;
|
|
4
|
+
const util_internal_1 = require("@subsquid/util-internal");
|
|
5
|
+
const model_tools_1 = require("./model.tools");
|
|
6
|
+
function getSize(model, fields) {
|
|
7
|
+
let total = 0;
|
|
8
|
+
for (let req of fields) {
|
|
9
|
+
let size = getFieldSize(model, req);
|
|
10
|
+
if (Number.isFinite(size)) {
|
|
11
|
+
total += size * req.aliases.length;
|
|
12
|
+
}
|
|
13
|
+
else {
|
|
14
|
+
return Infinity;
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
return total;
|
|
18
|
+
}
|
|
19
|
+
exports.getSize = getSize;
|
|
20
|
+
function getFieldSize(model, req) {
|
|
21
|
+
switch (req.kind) {
|
|
22
|
+
case "scalar":
|
|
23
|
+
case "list":
|
|
24
|
+
return req.prop.byteWeight || 1;
|
|
25
|
+
case "enum":
|
|
26
|
+
return 1;
|
|
27
|
+
case "object":
|
|
28
|
+
case "fk":
|
|
29
|
+
case "lookup":
|
|
30
|
+
case "union":
|
|
31
|
+
return getSize(model, req.children) + 1;
|
|
32
|
+
case "list-lookup":
|
|
33
|
+
return getEntityListSize(model, req.type.entity, req.children, Math.min(req.args?.limit ?? Infinity, req.prop.cardinality ?? Infinity), req.args?.where) + 1;
|
|
34
|
+
default:
|
|
35
|
+
throw (0, util_internal_1.unexpectedCase)();
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
function getEntityListSize(model, entityName, fields, limit, where) {
|
|
39
|
+
let cardinality = Math.min(getEntityCardinality(model, entityName), limit ?? Infinity, getWhereCardinality(where));
|
|
40
|
+
if (Number.isFinite(cardinality)) {
|
|
41
|
+
return cardinality * Math.max(getSize(model, fields), 1);
|
|
42
|
+
}
|
|
43
|
+
else {
|
|
44
|
+
return Infinity;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
exports.getEntityListSize = getEntityListSize;
|
|
48
|
+
function getWhereCardinality(where) {
|
|
49
|
+
if (where == null)
|
|
50
|
+
return Infinity;
|
|
51
|
+
switch (where.op) {
|
|
52
|
+
case 'AND': {
|
|
53
|
+
let min = Infinity;
|
|
54
|
+
for (let co of where.args) {
|
|
55
|
+
min = Math.min(min, getWhereCardinality(co));
|
|
56
|
+
}
|
|
57
|
+
return min;
|
|
58
|
+
}
|
|
59
|
+
case 'OR': {
|
|
60
|
+
if (where.args.length == 0)
|
|
61
|
+
return Infinity;
|
|
62
|
+
let max = 0;
|
|
63
|
+
for (let co of where.args) {
|
|
64
|
+
max = Math.max(max, getWhereCardinality(co));
|
|
65
|
+
}
|
|
66
|
+
return max;
|
|
67
|
+
}
|
|
68
|
+
case 'eq':
|
|
69
|
+
if (where.field == 'id') {
|
|
70
|
+
return 1;
|
|
71
|
+
}
|
|
72
|
+
else {
|
|
73
|
+
return Infinity;
|
|
74
|
+
}
|
|
75
|
+
case 'in':
|
|
76
|
+
if (where.field == 'id') {
|
|
77
|
+
return where.values.length;
|
|
78
|
+
}
|
|
79
|
+
else {
|
|
80
|
+
return Infinity;
|
|
81
|
+
}
|
|
82
|
+
default:
|
|
83
|
+
return Infinity;
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
function getRelaySize(model, entityName, req) {
|
|
87
|
+
let total = 0;
|
|
88
|
+
let limit = Math.min(getEntityCardinality(model, entityName), req.first ?? 100, getWhereCardinality(req.where));
|
|
89
|
+
if (req.edgeNode) {
|
|
90
|
+
total += limit * Math.max(getSize(model, req.edgeNode), 1);
|
|
91
|
+
}
|
|
92
|
+
if (req.edgeCursor) {
|
|
93
|
+
total += limit;
|
|
94
|
+
}
|
|
95
|
+
if (req.pageInfo) {
|
|
96
|
+
total += 4;
|
|
97
|
+
}
|
|
98
|
+
if (req.totalCount) {
|
|
99
|
+
total += 1;
|
|
100
|
+
}
|
|
101
|
+
return total;
|
|
102
|
+
}
|
|
103
|
+
exports.getRelaySize = getRelaySize;
|
|
104
|
+
function getEntityCardinality(model, entityName) {
|
|
105
|
+
return (0, model_tools_1.getEntity)(model, entityName).cardinality ?? Infinity;
|
|
106
|
+
}
|
|
107
|
+
//# sourceMappingURL=limit.size.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"limit.size.js","sourceRoot":"","sources":["../src/limit.size.ts"],"names":[],"mappings":"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"}
|
package/{dist → lib}/main.d.ts
RENAMED
|
File without changes
|
|
File without changes
|
package/lib/main.js
ADDED
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const logger_1 = require("@subsquid/logger");
|
|
4
|
+
const util_internal_1 = require("@subsquid/util-internal");
|
|
5
|
+
const util_internal_commander_1 = require("@subsquid/util-internal-commander");
|
|
6
|
+
const util_internal_http_server_1 = require("@subsquid/util-internal-http-server");
|
|
7
|
+
const commander_1 = require("commander");
|
|
8
|
+
const pg_1 = require("pg");
|
|
9
|
+
const server_1 = require("./server");
|
|
10
|
+
const tools_1 = require("./tools");
|
|
11
|
+
const LOG = (0, logger_1.createLogger)('sqd:openreader');
|
|
12
|
+
(0, util_internal_1.runProgram)(async () => {
|
|
13
|
+
let program = new commander_1.Command();
|
|
14
|
+
program.description(`
|
|
15
|
+
GraphQL server for postgres-compatible databases
|
|
16
|
+
`.trim());
|
|
17
|
+
program.requiredOption('-s, --schema <file>', 'a path to a file or folder with database description');
|
|
18
|
+
program.requiredOption('-d, --db-url <url>', 'database connection string', (0, util_internal_commander_1.Url)(['postgres:']));
|
|
19
|
+
program.addOption(new commander_1.Option('-t, --db-type <type>', 'database type').choices(['postgres', 'cockroach']).default('postgres'));
|
|
20
|
+
program.option('-p, --port <number>', 'port to listen on', util_internal_commander_1.nat, 3000);
|
|
21
|
+
program.option('--max-request-size <kb>', 'max request size in kilobytes', util_internal_commander_1.nat, 256);
|
|
22
|
+
program.option('--max-root-fields <count>', 'max number of root fields in a query', util_internal_commander_1.nat);
|
|
23
|
+
program.option('--max-response-size <nodes>', 'max response size measured in nodes', util_internal_commander_1.nat);
|
|
24
|
+
program.option('--sql-statement-timeout <ms>', 'sql statement timeout in ms', util_internal_commander_1.nat);
|
|
25
|
+
program.option('--subscriptions', 'enable gql subscriptions');
|
|
26
|
+
program.option('--subscription-poll-interval <ms>', 'subscription poll interval in ms', util_internal_commander_1.nat, 1000);
|
|
27
|
+
program.option('--subscription-sql-statement-timeout <ms>', 'sql statement timeout for polling queries', util_internal_commander_1.nat);
|
|
28
|
+
program.option('--subscription-max-response-size <nodes>', 'max response size measured in nodes', util_internal_commander_1.nat);
|
|
29
|
+
let opts = program.parse().opts();
|
|
30
|
+
let model = (0, tools_1.loadModel)(opts.schema);
|
|
31
|
+
let connection = new pg_1.Pool({
|
|
32
|
+
connectionString: opts.dbUrl,
|
|
33
|
+
statement_timeout: opts.sqlStatementTimeout || undefined
|
|
34
|
+
});
|
|
35
|
+
let subscriptionConnection;
|
|
36
|
+
if (opts.subscriptions) {
|
|
37
|
+
subscriptionConnection = new pg_1.Pool({
|
|
38
|
+
connectionString: opts.dbUrl,
|
|
39
|
+
statement_timeout: opts.subscriptionSqlStatementTimeout || opts.sqlStatementTimeout || undefined
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
let server = await (0, server_1.serve)({
|
|
43
|
+
model,
|
|
44
|
+
dialect: opts.dbType,
|
|
45
|
+
connection,
|
|
46
|
+
port: opts.port,
|
|
47
|
+
log: LOG,
|
|
48
|
+
maxRequestSizeBytes: opts.maxRequestSize * 1024,
|
|
49
|
+
maxRootFields: opts.maxRootFields,
|
|
50
|
+
maxResponseNodes: opts.maxResponseSize,
|
|
51
|
+
subscriptions: opts.subscriptions,
|
|
52
|
+
subscriptionPollInterval: opts.subscriptionPollInterval,
|
|
53
|
+
subscriptionConnection,
|
|
54
|
+
subscriptionMaxResponseNodes: opts.subscriptionMaxResponseSize
|
|
55
|
+
});
|
|
56
|
+
LOG.info(`listening on port ${server.port}`);
|
|
57
|
+
return (0, util_internal_http_server_1.waitForInterruption)(server);
|
|
58
|
+
}, err => LOG.fatal(err));
|
|
59
|
+
//# sourceMappingURL=main.js.map
|
package/lib/main.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"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"}
|
package/{dist → lib}/model.d.ts
RENAMED
|
@@ -5,6 +5,7 @@ export interface Entity extends TypeMeta {
|
|
|
5
5
|
properties: Record<Name, Prop>;
|
|
6
6
|
interfaces?: Name[];
|
|
7
7
|
indexes?: Index[];
|
|
8
|
+
cardinality?: number;
|
|
8
9
|
}
|
|
9
10
|
export interface JsonObject extends TypeMeta {
|
|
10
11
|
kind: 'object';
|
|
@@ -34,12 +35,21 @@ export interface Prop {
|
|
|
34
35
|
* Whether the values in the column must be unique. Applicable only to entities.
|
|
35
36
|
*/
|
|
36
37
|
unique?: boolean;
|
|
38
|
+
/**
|
|
39
|
+
* Characteristic number of elements in a `list-lookup` or in a `list` of objects
|
|
40
|
+
*/
|
|
41
|
+
cardinality?: number;
|
|
42
|
+
/**
|
|
43
|
+
* Relative byte size of a scalar value or scalar list
|
|
44
|
+
*/
|
|
45
|
+
byteWeight?: number;
|
|
37
46
|
}
|
|
38
47
|
export declare type PropType = ScalarPropType | EnumPropType | ListPropType | ObjectPropType | UnionPropType | FkPropType | LookupPropType | ListLookupPropType;
|
|
39
48
|
export interface ScalarPropType {
|
|
40
49
|
kind: 'scalar';
|
|
41
|
-
name:
|
|
50
|
+
name: Scalar;
|
|
42
51
|
}
|
|
52
|
+
export declare type Scalar = 'ID' | 'String' | 'Int' | 'Float' | 'Boolean' | 'DateTime' | 'BigInt' | 'JSON' | 'Bytes';
|
|
43
53
|
export interface EnumPropType {
|
|
44
54
|
kind: 'enum';
|
|
45
55
|
name: Name;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../src/model.ts"],"names":[],"mappings":"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"}
|
package/{dist → lib}/model.js
RENAMED
|
File without changes
|
|
File without changes
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { DocumentNode, GraphQLSchema } from "graphql";
|
|
2
|
-
import { Model } from "
|
|
2
|
+
import { Model } from "./model";
|
|
3
3
|
export declare function buildSchema(doc: DocumentNode): GraphQLSchema;
|
|
4
4
|
export declare function buildModel(schema: GraphQLSchema): Model;
|
|
5
5
|
export declare class SchemaError extends Error {
|
|
6
6
|
}
|
|
7
|
-
//# sourceMappingURL=schema.d.ts.map
|
|
7
|
+
//# sourceMappingURL=model.schema.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"model.schema.d.ts","sourceRoot":"","sources":["../src/model.schema.ts"],"names":[],"mappings":"AAEA,OAAO,EAEH,YAAY,EAWZ,aAAa,EAIhB,MAAM,SAAS,CAAA;AAChB,OAAO,EAAQ,KAAK,EAAyB,MAAM,SAAS,CAAA;AAoB5D,wBAAgB,WAAW,CAAC,GAAG,EAAE,YAAY,GAAG,aAAa,CAO5D;AAGD,wBAAgB,UAAU,CAAC,MAAM,EAAE,aAAa,GAAG,KAAK,CAWvD;AAidD,qBAAa,WAAY,SAAQ,KAAK;CAAG"}
|