@subsquid/openreader 1.0.3 → 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/bin/main.js +1 -1
- package/lib/context.d.ts +11 -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 +3 -0
- package/lib/limit.size.d.ts.map +1 -0
- package/lib/limit.size.js +44 -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 +53 -0
- package/lib/main.js.map +1 -0
- package/{dist → lib}/model.d.ts +10 -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} +44 -7
- 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 +522 -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 +38 -0
- package/lib/server.d.ts.map +1 -0
- package/lib/server.js +146 -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/{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/{dist → lib}/test/setup.d.ts +3 -1
- package/lib/test/setup.d.ts.map +1 -0
- package/{dist → lib}/test/setup.js +14 -12
- 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/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/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 +17 -9
- package/src/context.ts +14 -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 +46 -0
- package/src/main.ts +61 -38
- package/src/{gql/schema.ts → model.schema.ts} +51 -8
- package/src/model.ts +12 -1
- package/src/{orderBy.ts → opencrud/orderBy.ts} +3 -10
- package/src/opencrud/schema.ts +632 -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 +128 -48
- 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/setup.ts +12 -10
- 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/lazy-transaction.ts +49 -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.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
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"subscription.d.ts","sourceRoot":"","sources":["../src/subscription.ts"],"names":[],"mappings":"AAGA,qBAAa,YAAY,CAAC,CAAC,CAAE,YAAW,aAAa,CAAC,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC,CAAC;IAK1D,OAAO,CAAC,QAAQ;IAAU,OAAO,CAAC,IAAI;IAJlD,OAAO,CAAC,KAAK,CAAC,CAAc;IAC5B,OAAO,CAAC,IAAI,CAAC,CAAG;IAChB,OAAO,CAAC,QAAQ,CAAO;gBAEH,QAAQ,EAAE,MAAM,EAAU,IAAI,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC;IAEpE,CAAC,MAAM,CAAC,aAAa,CAAC;IAIhB,IAAI;;;;IAgBJ,MAAM;;;;CAOf"}
|
|
@@ -0,0 +1,47 @@
|
|
|
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.Subscription = void 0;
|
|
7
|
+
const deep_equal_1 = __importDefault(require("deep-equal"));
|
|
8
|
+
class Subscription {
|
|
9
|
+
constructor(interval, poll) {
|
|
10
|
+
this.interval = interval;
|
|
11
|
+
this.poll = poll;
|
|
12
|
+
this.hasNoVal = true;
|
|
13
|
+
}
|
|
14
|
+
[Symbol.asyncIterator]() {
|
|
15
|
+
return this;
|
|
16
|
+
}
|
|
17
|
+
async next() {
|
|
18
|
+
if (this.hasNoVal) {
|
|
19
|
+
this.prev = await this.poll();
|
|
20
|
+
this.hasNoVal = false;
|
|
21
|
+
}
|
|
22
|
+
let value;
|
|
23
|
+
do {
|
|
24
|
+
await new Promise(resolve => {
|
|
25
|
+
this.timer = setTimeout(resolve, this.interval);
|
|
26
|
+
});
|
|
27
|
+
value = await this.poll();
|
|
28
|
+
} while ((0, deep_equal_1.default)(this.prev, value));
|
|
29
|
+
this.prev = value;
|
|
30
|
+
return { done: false, value };
|
|
31
|
+
}
|
|
32
|
+
async return() {
|
|
33
|
+
if (this.timer != null) {
|
|
34
|
+
clearTimeout(this.timer);
|
|
35
|
+
this.timer = undefined;
|
|
36
|
+
}
|
|
37
|
+
return EOS;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
exports.Subscription = Subscription;
|
|
41
|
+
const EOS = {
|
|
42
|
+
done: true,
|
|
43
|
+
get value() {
|
|
44
|
+
throw new Error('Unexpected value access');
|
|
45
|
+
}
|
|
46
|
+
};
|
|
47
|
+
//# sourceMappingURL=subscription.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"subscription.js","sourceRoot":"","sources":["../src/subscription.ts"],"names":[],"mappings":";;;;;;AAAA,4DAAkC;AAGlC,MAAa,YAAY;IAKrB,YAAoB,QAAgB,EAAU,IAAsB;QAAhD,aAAQ,GAAR,QAAQ,CAAQ;QAAU,SAAI,GAAJ,IAAI,CAAkB;QAF5D,aAAQ,GAAG,IAAI,CAAA;IAEgD,CAAC;IAExE,CAAC,MAAM,CAAC,aAAa,CAAC;QAClB,OAAO,IAAI,CAAA;IACf,CAAC;IAED,KAAK,CAAC,IAAI;QACN,IAAI,IAAI,CAAC,QAAQ,EAAE;YACf,IAAI,CAAC,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,CAAA;YAC7B,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAA;SACxB;QACD,IAAI,KAAK,CAAA;QACT,GAAG;YACC,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE;gBACxB,IAAI,CAAC,KAAK,GAAG,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAA;YACnD,CAAC,CAAC,CAAA;YACF,KAAK,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,CAAA;SAC5B,QAAQ,IAAA,oBAAS,EAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,EAAC;QACrC,IAAI,CAAC,IAAI,GAAG,KAAK,CAAA;QACjB,OAAO,EAAC,IAAI,EAAE,KAAK,EAAE,KAAK,EAAC,CAAA;IAC/B,CAAC;IAED,KAAK,CAAC,MAAM;QACR,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,EAAE;YACpB,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;YACxB,IAAI,CAAC,KAAK,GAAG,SAAS,CAAA;SACzB;QACD,OAAO,GAAG,CAAA;IACd,CAAC;CACJ;AAlCD,oCAkCC;AAGD,MAAM,GAAG,GAAG;IACR,IAAI,EAAE,IAAI;IACV,IAAI,KAAK;QACL,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAA;IAC9C,CAAC;CACJ,CAAA"}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -4,7 +4,7 @@ const setup_1 = require("./setup");
|
|
|
4
4
|
function tsvector(columns) {
|
|
5
5
|
return columns.map(col => `setweight(to_tsvector('english', coalesce(${col}, '')), 'A')`).join(' || ');
|
|
6
6
|
}
|
|
7
|
-
(0, setup_1.isCockroach)() || describe('full text search', function () {
|
|
7
|
+
(0, setup_1.isCockroach)() || describe.skip('full text search', function () {
|
|
8
8
|
(0, setup_1.useDatabase)([
|
|
9
9
|
`create table foo (
|
|
10
10
|
id text primary key,
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fts.test.js","sourceRoot":"","sources":["../../src/test/fts.test.ts"],"names":[],"mappings":";;AAAA,mCAA2D;AAG3D,SAAS,QAAQ,CAAC,OAAiB;IAC/B,OAAO,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,6CAA6C,GAAG,cAAc,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;AAC1G,CAAC;AAGD,IAAA,mBAAW,GAAE,IAAI,QAAQ,CAAC,IAAI,CAAC,kBAAkB,EAAE;IAC/C,IAAA,mBAAW,EAAC;QACR;;;;wDAIgD,QAAQ,CAAC,CAAC,SAAS,CAAC,CAAC;UACnE;QACF;;;;wDAIgD,QAAQ,CAAC,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;UAC9E;QACF,sFAAsF;QACtF,gHAAgH;QAChH,kFAAkF;QAClF,0GAA0G;QAC1G,kGAAkG;KACrG,CAAC,CAAA;IAEF,MAAM,MAAM,GAAG,IAAA,iBAAS,EAAC;;;;;;;;;;;;KAYxB,CAAC,CAAA;IAEF,EAAE,CAAC,gEAAgE,EAAE;QACjE,OAAO,MAAM,CAAC,IAAI,CAAC;;;;;;;;;SASlB,EAAE;YACC,MAAM,EAAE,CAAC;oBACL,IAAI,EAAE,EAAC,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAC;oBACvB,SAAS,EAAE,uCAAuC;iBACrD,CAAC;SACL,CAAC,CAAA;IACN,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,uEAAuE,EAAE;QACxE,OAAO,MAAM,CAAC,IAAI,CAAC;;;;;;;;;SASlB,EAAE;YACC,MAAM,EAAE,CAAC;oBACL,IAAI,EAAE,EAAC,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,oCAAoC,EAAC;oBAC1D,SAAS,EAAE,0DAA0D;iBACxE,CAAC;SACL,CAAC,CAAA;IACN,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,0BAA0B,EAAE;QAC3B,OAAO,MAAM,CAAC,IAAI,CAAC;;;;;;;;;SASlB,EAAE;YACC,MAAM,EAAE;gBACJ,EAAC,IAAI,EAAE,EAAC,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAC,EAAC;gBAC7B,EAAC,IAAI,EAAE,EAAC,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,oCAAoC,EAAC,EAAC;gBAC5D,EAAC,IAAI,EAAE,EAAC,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAC,EAAC;aAC5B;SACJ,CAAC,CAAA;IACN,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,2BAA2B,EAAE;QAC5B,OAAO,MAAM,CAAC,IAAI,CAAC;;;;;;;;;SASlB,EAAE;YACC,MAAM,EAAE;gBACJ,EAAC,IAAI,EAAE,EAAC,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAC,EAAC;gBAC7B,EAAC,IAAI,EAAE,EAAC,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAC,EAAC;aAC5B;SACJ,CAAC,CAAA;IACN,CAAC,CAAC,CAAA;AACN,CAAC,CAAC,CAAA"}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { Client } from "gql-test-client";
|
|
2
|
+
import { ClientBase } from "pg";
|
|
2
3
|
export declare function isCockroach(): boolean;
|
|
3
4
|
export declare const db_config: {
|
|
4
5
|
host: string;
|
|
@@ -7,7 +8,8 @@ export declare const db_config: {
|
|
|
7
8
|
password: string;
|
|
8
9
|
database: string;
|
|
9
10
|
};
|
|
10
|
-
export declare function
|
|
11
|
+
export declare function withDatabase(block: (client: ClientBase) => Promise<void>): Promise<void>;
|
|
12
|
+
export declare function databaseExecute(sql: string[]): Promise<void>;
|
|
11
13
|
export declare function databaseDelete(): Promise<void>;
|
|
12
14
|
export declare function useDatabase(sql: string[]): void;
|
|
13
15
|
export declare function useServer(schema: string): Client;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../src/test/setup.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,MAAM,EAAC,MAAM,iBAAiB,CAAA;AAEtC,OAAO,EAAqB,UAAU,EAAO,MAAM,IAAI,CAAA;AAKvD,wBAAgB,WAAW,IAAI,OAAO,CAErC;AAGD,eAAO,MAAM,SAAS;;;;;;CAQrB,CAAA;AAGD,wBAAsB,YAAY,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,UAAU,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAQ9F;AAGD,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAM5D;AAGD,wBAAgB,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC,CAK9C;AAGD,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,IAAI,CAK/C;AAGD,wBAAgB,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAiBhD"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.useServer = exports.useDatabase = exports.databaseDelete = exports.
|
|
3
|
+
exports.useServer = exports.useDatabase = exports.databaseDelete = exports.databaseExecute = exports.withDatabase = exports.db_config = exports.isCockroach = void 0;
|
|
4
4
|
const util_internal_1 = require("@subsquid/util-internal");
|
|
5
5
|
const gql_test_client_1 = require("gql-test-client");
|
|
6
6
|
const graphql_1 = require("graphql");
|
|
7
7
|
const pg_1 = require("pg");
|
|
8
|
-
const
|
|
8
|
+
const model_schema_1 = require("../model.schema");
|
|
9
9
|
const server_1 = require("../server");
|
|
10
10
|
function isCockroach() {
|
|
11
11
|
return process.env.DB_TYPE == 'cockroach';
|
|
@@ -18,7 +18,7 @@ exports.db_config = {
|
|
|
18
18
|
password: 'root',
|
|
19
19
|
database: 'defaultdb'
|
|
20
20
|
};
|
|
21
|
-
async function
|
|
21
|
+
async function withDatabase(block) {
|
|
22
22
|
let client = new pg_1.Client(exports.db_config);
|
|
23
23
|
await client.connect();
|
|
24
24
|
try {
|
|
@@ -28,16 +28,17 @@ async function withClient(block) {
|
|
|
28
28
|
await client.end();
|
|
29
29
|
}
|
|
30
30
|
}
|
|
31
|
-
|
|
32
|
-
|
|
31
|
+
exports.withDatabase = withDatabase;
|
|
32
|
+
function databaseExecute(sql) {
|
|
33
|
+
return withDatabase(async (client) => {
|
|
33
34
|
for (let i = 0; i < sql.length; i++) {
|
|
34
35
|
await client.query(sql[i]);
|
|
35
36
|
}
|
|
36
37
|
});
|
|
37
38
|
}
|
|
38
|
-
exports.
|
|
39
|
+
exports.databaseExecute = databaseExecute;
|
|
39
40
|
function databaseDelete() {
|
|
40
|
-
return
|
|
41
|
+
return withDatabase(async (client) => {
|
|
41
42
|
await client.query(`DROP SCHEMA IF EXISTS root CASCADE`);
|
|
42
43
|
await client.query(`CREATE SCHEMA root`);
|
|
43
44
|
});
|
|
@@ -46,7 +47,7 @@ exports.databaseDelete = databaseDelete;
|
|
|
46
47
|
function useDatabase(sql) {
|
|
47
48
|
before(async () => {
|
|
48
49
|
await databaseDelete();
|
|
49
|
-
await
|
|
50
|
+
await databaseExecute(sql);
|
|
50
51
|
});
|
|
51
52
|
}
|
|
52
53
|
exports.useDatabase = useDatabase;
|
|
@@ -56,14 +57,15 @@ function useServer(schema) {
|
|
|
56
57
|
let info;
|
|
57
58
|
before(async () => {
|
|
58
59
|
info = await (0, server_1.serve)({
|
|
59
|
-
db,
|
|
60
|
-
model: (0,
|
|
60
|
+
connection: db,
|
|
61
|
+
model: (0, model_schema_1.buildModel)((0, model_schema_1.buildSchema)((0, graphql_1.parse)(schema))),
|
|
61
62
|
port: 0,
|
|
62
|
-
dialect: isCockroach() ? 'cockroach' : 'postgres'
|
|
63
|
+
dialect: isCockroach() ? 'cockroach' : 'postgres',
|
|
64
|
+
subscriptions: true
|
|
63
65
|
});
|
|
64
66
|
client.endpoint = `http://localhost:${info.port}/graphql`;
|
|
65
67
|
});
|
|
66
|
-
after(() => info?.
|
|
68
|
+
after(() => info?.close());
|
|
67
69
|
after(() => db.end());
|
|
68
70
|
return client;
|
|
69
71
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"setup.js","sourceRoot":"","sources":["../../src/test/setup.ts"],"names":[],"mappings":";;;AAAA,2DAAqD;AAErD,qDAAsC;AACtC,qCAA6B;AAC7B,2BAAuD;AACvD,kDAAuD;AACvD,sCAA+B;AAG/B,SAAgB,WAAW;IACvB,OAAO,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,WAAW,CAAA;AAC7C,CAAC;AAFD,kCAEC;AAGY,QAAA,SAAS,GAAG;IACrB,IAAI,EAAE,WAAW;IACjB,IAAI,EAAE,QAAQ,CAAC,IAAA,6BAAa,EACxB,WAAW,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CACzE,CAAC;IACF,IAAI,EAAE,MAAM;IACZ,QAAQ,EAAE,MAAM;IAChB,QAAQ,EAAE,WAAW;CACxB,CAAA;AAGM,KAAK,UAAU,YAAY,CAAC,KAA4C;IAC3E,IAAI,MAAM,GAAG,IAAI,WAAQ,CAAC,iBAAS,CAAC,CAAA;IACpC,MAAM,MAAM,CAAC,OAAO,EAAE,CAAA;IACtB,IAAI;QACA,MAAM,KAAK,CAAC,MAAM,CAAC,CAAA;KACtB;YAAS;QACN,MAAM,MAAM,CAAC,GAAG,EAAE,CAAA;KACrB;AACL,CAAC;AARD,oCAQC;AAGD,SAAgB,eAAe,CAAC,GAAa;IACzC,OAAO,YAAY,CAAC,KAAK,EAAC,MAAM,EAAC,EAAE;QAC/B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACjC,MAAM,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;SAC7B;IACL,CAAC,CAAC,CAAA;AACN,CAAC;AAND,0CAMC;AAGD,SAAgB,cAAc;IAC1B,OAAO,YAAY,CAAC,KAAK,EAAC,MAAM,EAAC,EAAE;QAC/B,MAAM,MAAM,CAAC,KAAK,CAAC,oCAAoC,CAAC,CAAA;QACxD,MAAM,MAAM,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAA;IAC5C,CAAC,CAAC,CAAA;AACN,CAAC;AALD,wCAKC;AAGD,SAAgB,WAAW,CAAC,GAAa;IACrC,MAAM,CAAC,KAAK,IAAI,EAAE;QACd,MAAM,cAAc,EAAE,CAAA;QACtB,MAAM,eAAe,CAAC,GAAG,CAAC,CAAA;IAC9B,CAAC,CAAC,CAAA;AACN,CAAC;AALD,kCAKC;AAGD,SAAgB,SAAS,CAAC,MAAc;IACpC,IAAI,MAAM,GAAG,IAAI,wBAAM,CAAC,aAAa,CAAC,CAAA;IACtC,IAAI,EAAE,GAAG,IAAI,SAAI,CAAC,iBAAS,CAAC,CAAA;IAC5B,IAAI,IAAiC,CAAA;IACrC,MAAM,CAAC,KAAK,IAAI,EAAE;QACd,IAAI,GAAG,MAAM,IAAA,cAAK,EAAC;YACf,UAAU,EAAE,EAAE;YACd,KAAK,EAAE,IAAA,yBAAU,EAAC,IAAA,0BAAW,EAAC,IAAA,eAAK,EAAC,MAAM,CAAC,CAAC,CAAC;YAC7C,IAAI,EAAE,CAAC;YACP,OAAO,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,UAAU;YACjD,aAAa,EAAE,IAAI;SACtB,CAAC,CAAA;QACF,MAAM,CAAC,QAAQ,GAAG,oBAAoB,IAAI,CAAC,IAAI,UAAU,CAAA;IAC7D,CAAC,CAAC,CAAA;IACF,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAA;IAC1B,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,CAAA;IACrB,OAAO,MAAM,CAAA;AACjB,CAAC;AAjBD,8BAiBC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"subscription.test.d.ts","sourceRoot":"","sources":["../../src/test/subscription.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,99 @@
|
|
|
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
|
+
const util_internal_1 = require("@subsquid/util-internal");
|
|
7
|
+
const expect_1 = __importDefault(require("expect"));
|
|
8
|
+
const setup_1 = require("./setup");
|
|
9
|
+
describe("subscriptions", function () {
|
|
10
|
+
(0, setup_1.useDatabase)([
|
|
11
|
+
`create table "order" (id text primary key, kind text not null, name text)`,
|
|
12
|
+
`create table item (id text primary key, order_id text, name text)`,
|
|
13
|
+
]);
|
|
14
|
+
const client = (0, setup_1.useServer)(`
|
|
15
|
+
type Order @entity {
|
|
16
|
+
id: ID!
|
|
17
|
+
kind: String!
|
|
18
|
+
name: String
|
|
19
|
+
items: [Item!]! @derivedFrom(field: "order")
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
type Item @entity {
|
|
23
|
+
id: ID!
|
|
24
|
+
order: Order
|
|
25
|
+
name: String
|
|
26
|
+
}
|
|
27
|
+
`);
|
|
28
|
+
it("entity list", function () {
|
|
29
|
+
return client.subscriptionTest(`
|
|
30
|
+
subscription {
|
|
31
|
+
orders(where: {kind_eq: "list"}, orderBy: id_ASC) {
|
|
32
|
+
id
|
|
33
|
+
name
|
|
34
|
+
items(orderBy: id_ASC) {
|
|
35
|
+
name
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
`, async (take) => {
|
|
40
|
+
await (0, util_internal_1.wait)(1000);
|
|
41
|
+
await (0, setup_1.databaseExecute)([
|
|
42
|
+
`insert into "order" (id, kind) values ('1', 'list')`,
|
|
43
|
+
`insert into "order" (id, kind) values ('2', 'foo')`,
|
|
44
|
+
]);
|
|
45
|
+
(0, expect_1.default)(await take()).toEqual({
|
|
46
|
+
data: {
|
|
47
|
+
orders: [{ id: '1', name: null, items: [] }]
|
|
48
|
+
}
|
|
49
|
+
});
|
|
50
|
+
await (0, setup_1.databaseExecute)([`
|
|
51
|
+
update "order" set name = 'hello' where id in ('1', '2');
|
|
52
|
+
insert into item (id, "order_id", name) values ('1-1', '1', '123')
|
|
53
|
+
`]);
|
|
54
|
+
(0, expect_1.default)(await take()).toEqual({
|
|
55
|
+
data: {
|
|
56
|
+
orders: [
|
|
57
|
+
{ id: '1', name: 'hello', items: [{ name: '123' }] }
|
|
58
|
+
]
|
|
59
|
+
}
|
|
60
|
+
});
|
|
61
|
+
});
|
|
62
|
+
});
|
|
63
|
+
it("entity by id", async function () {
|
|
64
|
+
await (0, setup_1.databaseExecute)([
|
|
65
|
+
`insert into "order" (id, kind) values ('3', 'by id')`,
|
|
66
|
+
`insert into item (id, "order_id", name) values ('3-1', '3', 'hello')`
|
|
67
|
+
]);
|
|
68
|
+
await client.subscriptionTest(`
|
|
69
|
+
subscription {
|
|
70
|
+
third: orderById(id: "3") {
|
|
71
|
+
name
|
|
72
|
+
items(orderBy: id_ASC) {
|
|
73
|
+
name
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
`, async (take) => {
|
|
78
|
+
await (0, util_internal_1.wait)(1000);
|
|
79
|
+
await (0, setup_1.databaseExecute)([`
|
|
80
|
+
start transaction;
|
|
81
|
+
update "order" set name = 'foo' where id = '3';
|
|
82
|
+
insert into item (id, "order_id", name) values ('3-2', '3', 'world');
|
|
83
|
+
commit;
|
|
84
|
+
`]);
|
|
85
|
+
(0, expect_1.default)(await take()).toEqual({
|
|
86
|
+
data: {
|
|
87
|
+
third: {
|
|
88
|
+
name: 'foo',
|
|
89
|
+
items: [
|
|
90
|
+
{ name: 'hello' },
|
|
91
|
+
{ name: 'world' }
|
|
92
|
+
]
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
});
|
|
96
|
+
});
|
|
97
|
+
});
|
|
98
|
+
});
|
|
99
|
+
//# sourceMappingURL=subscription.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"subscription.test.js","sourceRoot":"","sources":["../../src/test/subscription.test.ts"],"names":[],"mappings":";;;;;AAAA,2DAA4C;AAC5C,oDAA2B;AAC3B,mCAA+D;AAG/D,QAAQ,CAAC,eAAe,EAAE;IACtB,IAAA,mBAAW,EAAC;QACR,2EAA2E;QAC3E,mEAAmE;KACtE,CAAC,CAAA;IAEF,MAAM,MAAM,GAAG,IAAA,iBAAS,EAAC;;;;;;;;;;;;;KAaxB,CAAC,CAAA;IAEF,EAAE,CAAC,aAAa,EAAE;QACd,OAAO,MAAM,CAAC,gBAAgB,CAAC;;;;;;;;;;SAU9B,EAAE,KAAK,EAAC,IAAI,EAAC,EAAE;YACZ,MAAM,IAAA,oBAAI,EAAC,IAAI,CAAC,CAAA;YAChB,MAAM,IAAA,uBAAe,EAAC;gBAClB,qDAAqD;gBACrD,oDAAoD;aACvD,CAAC,CAAA;YACF,IAAA,gBAAM,EAAC,MAAM,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC;gBACzB,IAAI,EAAE;oBACF,MAAM,EAAE,CAAC,EAAC,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAC,CAAC;iBAC7C;aACJ,CAAC,CAAA;YACF,MAAM,IAAA,uBAAe,EAAC,CAAC;;;aAGtB,CAAC,CAAC,CAAA;YACH,IAAA,gBAAM,EAAC,MAAM,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC;gBACzB,IAAI,EAAE;oBACF,MAAM,EAAE;wBACJ,EAAC,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,EAAC,IAAI,EAAE,KAAK,EAAC,CAAC,EAAC;qBACnD;iBACJ;aACJ,CAAC,CAAA;QACN,CAAC,CAAC,CAAA;IACN,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,cAAc,EAAE,KAAK;QACpB,MAAM,IAAA,uBAAe,EAAC;YAClB,sDAAsD;YACtD,sEAAsE;SACzE,CAAC,CAAA;QACF,MAAM,MAAM,CAAC,gBAAgB,CAAC;;;;;;;;;SAS7B,EAAE,KAAK,EAAC,IAAI,EAAC,EAAE;YACZ,MAAM,IAAA,oBAAI,EAAC,IAAI,CAAC,CAAA;YAChB,MAAM,IAAA,uBAAe,EAAC,CAAC;;;;;aAKtB,CAAC,CAAC,CAAA;YACH,IAAA,gBAAM,EAAC,MAAM,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC;gBACzB,IAAI,EAAE;oBACF,KAAK,EAAE;wBACH,IAAI,EAAE,KAAK;wBACX,KAAK,EAAE;4BACH,EAAC,IAAI,EAAE,OAAO,EAAC;4BACf,EAAC,IAAI,EAAE,OAAO,EAAC;yBAClB;qBACJ;iBACJ;aACJ,CAAC,CAAA;QACN,CAAC,CAAC,CAAA;IACN,CAAC,CAAC,CAAA;AACN,CAAC,CAAC,CAAA"}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
package/{dist → lib}/tools.d.ts
RENAMED
|
File without changes
|
|
File without changes
|
package/{dist → lib}/tools.js
RENAMED
|
@@ -32,7 +32,7 @@ const fs = __importStar(require("fs"));
|
|
|
32
32
|
const path = __importStar(require("path"));
|
|
33
33
|
const graphql_1 = require("graphql");
|
|
34
34
|
const process_1 = __importDefault(require("process"));
|
|
35
|
-
const
|
|
35
|
+
const model_schema_1 = require("./model.schema");
|
|
36
36
|
function loadModel(schemaFile) {
|
|
37
37
|
let files = [];
|
|
38
38
|
if (fs.statSync(schemaFile).isDirectory()) {
|
|
@@ -52,8 +52,8 @@ function loadModel(schemaFile) {
|
|
|
52
52
|
if (docs.length == 0)
|
|
53
53
|
return {};
|
|
54
54
|
let doc = docs.length == 1 ? docs[0] : (0, merge_1.mergeTypeDefs)(docs);
|
|
55
|
-
let schema = (0,
|
|
56
|
-
return (0,
|
|
55
|
+
let schema = (0, model_schema_1.buildSchema)(doc);
|
|
56
|
+
return (0, model_schema_1.buildModel)(schema);
|
|
57
57
|
}
|
|
58
58
|
exports.loadModel = loadModel;
|
|
59
59
|
function resolveGraphqlSchema(projectDir) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,gDAAkD;AAClD,uCAAwB;AACxB,2CAA4B;AAC5B,qCAAqC;AACrC,sDAA6B;AAC7B,
|
|
1
|
+
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,gDAAkD;AAClD,uCAAwB;AACxB,2CAA4B;AAC5B,qCAAqC;AACrC,sDAA6B;AAC7B,iDAAsD;AAItD,SAAgB,SAAS,CAAC,UAAkB;IACxC,IAAI,KAAK,GAAa,EAAE,CAAA;IACxB,IAAI,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,WAAW,EAAE,EAAE;QACvC,EAAE,CAAC,WAAW,CAAC,UAAU,EAAE,EAAC,aAAa,EAAE,IAAI,EAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YAC7D,IAAI,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE;gBACjF,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;aAC/C;QACL,CAAC,CAAC,CAAA;KACL;SAAM;QACH,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;KACzB;IAED,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;QACrB,IAAI,GAAG,GAAG,IAAI,gBAAM,CAChB,EAAE,CAAC,YAAY,CAAC,CAAC,EAAE,OAAO,CAAC,EAC3B,CAAC,CACJ,CAAA;QACD,OAAO,IAAA,eAAK,EAAC,GAAG,CAAC,CAAA;IACrB,CAAC,CAAC,CAAA;IAEF,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC;QAAE,OAAO,EAAE,CAAA;IAC/B,IAAI,GAAG,GAAG,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAA,qBAAa,EAAC,IAAI,CAAC,CAAA;IAC1D,IAAI,MAAM,GAAG,IAAA,0BAAW,EAAC,GAAG,CAAC,CAAA;IAC7B,OAAO,IAAA,yBAAU,EAAC,MAAM,CAAC,CAAA;AAC7B,CAAC;AAxBD,8BAwBC;AAGD,SAAgB,oBAAoB,CAAC,UAAmB;IACpD,IAAI,GAAG,GAAG,UAAU,IAAI,iBAAO,CAAC,GAAG,EAAE,CAAA;IACrC,IAAI,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,gBAAgB,CAAC,CAAA;IAC7C,IAAI,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,OAAO,GAAG,CAAA;IAClC,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAA;IACjC,IAAI,IAAI,GAAG,EAAE,CAAC,QAAQ,CAAC,GAAG,EAAE,EAAC,cAAc,EAAE,KAAK,EAAC,CAAC,CAAA;IACpD,IAAI,IAAI,EAAE,WAAW,EAAE,EAAE;QACrB,IAAI,UAAU,GAAG,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAA;QACrG,IAAI,UAAU;YAAE,OAAO,GAAG,CAAA;KAC7B;IACD,MAAM,IAAI,KAAK,CAAC,sCAAsC,GAAG,EAAE,CAAC,CAAA;AAChE,CAAC;AAXD,oDAWC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { Logger, LogLevel } from "@subsquid/logger";
|
|
2
|
+
import { GraphQLError } from "graphql";
|
|
3
|
+
export declare function logGraphQLError(log: Logger, err: GraphQLError, level?: LogLevel): void;
|
|
4
|
+
export declare function withErrorContext(ctx: object): (err: unknown) => never;
|
|
5
|
+
export declare function addErrorContext(error: unknown, ctx: object): Error;
|
|
6
|
+
export declare function ensureError(err: unknown): Error;
|
|
7
|
+
export declare class NonErrorThrown extends Error {
|
|
8
|
+
readonly value: unknown;
|
|
9
|
+
constructor(value: unknown);
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=error-handling.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"error-handling.d.ts","sourceRoot":"","sources":["../../src/util/error-handling.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,MAAM,EAAE,QAAQ,EAAC,MAAM,kBAAkB,CAAA;AACjD,OAAO,EAAC,YAAY,EAAa,MAAM,SAAS,CAAA;AAGhD,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,YAAY,EAAE,KAAK,GAAE,QAAyB,GAAG,IAAI,CAQtG;AAGD,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,CAAC,GAAG,EAAE,OAAO,KAAK,KAAK,CAIrE;AAGD,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,GAAG,KAAK,CAIlE;AAGD,wBAAgB,WAAW,CAAC,GAAG,EAAE,OAAO,GAAG,KAAK,CAG/C;AAGD,qBAAa,cAAe,SAAQ,KAAK;aACT,KAAK,EAAE,OAAO;gBAAd,KAAK,EAAE,OAAO;CAG7C"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.NonErrorThrown = exports.ensureError = exports.addErrorContext = exports.withErrorContext = exports.logGraphQLError = void 0;
|
|
4
|
+
const logger_1 = require("@subsquid/logger");
|
|
5
|
+
const graphql_1 = require("graphql");
|
|
6
|
+
function logGraphQLError(log, err, level = logger_1.LogLevel.ERROR) {
|
|
7
|
+
if (log.level > level)
|
|
8
|
+
return;
|
|
9
|
+
let msg = (0, graphql_1.printError)(err) + '\n';
|
|
10
|
+
log.write(level, {
|
|
11
|
+
graphqlOriginalError: err.originalError,
|
|
12
|
+
graphqlPath: err.path?.join('.'),
|
|
13
|
+
graphqlQuery: err.source?.body,
|
|
14
|
+
}, msg);
|
|
15
|
+
}
|
|
16
|
+
exports.logGraphQLError = logGraphQLError;
|
|
17
|
+
function withErrorContext(ctx) {
|
|
18
|
+
return function (err) {
|
|
19
|
+
throw addErrorContext(err, ctx);
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
exports.withErrorContext = withErrorContext;
|
|
23
|
+
function addErrorContext(error, ctx) {
|
|
24
|
+
let e = ensureError(error);
|
|
25
|
+
Object.assign(e, ctx);
|
|
26
|
+
return e;
|
|
27
|
+
}
|
|
28
|
+
exports.addErrorContext = addErrorContext;
|
|
29
|
+
function ensureError(err) {
|
|
30
|
+
if (err instanceof Error)
|
|
31
|
+
return err;
|
|
32
|
+
return new NonErrorThrown(err);
|
|
33
|
+
}
|
|
34
|
+
exports.ensureError = ensureError;
|
|
35
|
+
class NonErrorThrown extends Error {
|
|
36
|
+
constructor(value) {
|
|
37
|
+
super('Non error object thrown');
|
|
38
|
+
this.value = value;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
exports.NonErrorThrown = NonErrorThrown;
|
|
42
|
+
//# sourceMappingURL=error-handling.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"error-handling.js","sourceRoot":"","sources":["../../src/util/error-handling.ts"],"names":[],"mappings":";;;AAAA,6CAAiD;AACjD,qCAAgD;AAGhD,SAAgB,eAAe,CAAC,GAAW,EAAE,GAAiB,EAAE,QAAkB,iBAAQ,CAAC,KAAK;IAC5F,IAAI,GAAG,CAAC,KAAK,GAAG,KAAK;QAAE,OAAM;IAC7B,IAAI,GAAG,GAAG,IAAA,oBAAU,EAAC,GAAG,CAAC,GAAG,IAAI,CAAA;IAChC,GAAG,CAAC,KAAK,CAAC,KAAK,EAAE;QACb,oBAAoB,EAAE,GAAG,CAAC,aAAa;QACvC,WAAW,EAAE,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC;QAChC,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,IAAI;KACjC,EAAE,GAAG,CAAC,CAAA;AACX,CAAC;AARD,0CAQC;AAGD,SAAgB,gBAAgB,CAAC,GAAW;IACxC,OAAO,UAAS,GAAG;QACf,MAAM,eAAe,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;IACnC,CAAC,CAAA;AACL,CAAC;AAJD,4CAIC;AAGD,SAAgB,eAAe,CAAC,KAAc,EAAE,GAAW;IACvD,IAAI,CAAC,GAAG,WAAW,CAAC,KAAK,CAAC,CAAA;IAC1B,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA;IACrB,OAAO,CAAC,CAAA;AACZ,CAAC;AAJD,0CAIC;AAGD,SAAgB,WAAW,CAAC,GAAY;IACpC,IAAI,GAAG,YAAY,KAAK;QAAE,OAAO,GAAG,CAAA;IACpC,OAAO,IAAI,cAAc,CAAC,GAAG,CAAC,CAAA;AAClC,CAAC;AAHD,kCAGC;AAGD,MAAa,cAAe,SAAQ,KAAK;IACrC,YAA4B,KAAc;QACtC,KAAK,CAAC,yBAAyB,CAAC,CAAA;QADR,UAAK,GAAL,KAAK,CAAS;IAE1C,CAAC;CACJ;AAJD,wCAIC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export declare class LazyTransaction<T> {
|
|
2
|
+
private transact;
|
|
3
|
+
private closed;
|
|
4
|
+
private tx?;
|
|
5
|
+
constructor(transact: (f: (ctx: T) => Promise<void>) => Promise<void>);
|
|
6
|
+
get(): Promise<T>;
|
|
7
|
+
private startTransaction;
|
|
8
|
+
close(): Promise<void>;
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=lazy-transaction.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lazy-transaction.d.ts","sourceRoot":"","sources":["../../src/util/lazy-transaction.ts"],"names":[],"mappings":"AAMA,qBAAa,eAAe,CAAC,CAAC;IAKd,OAAO,CAAC,QAAQ;IAJ5B,OAAO,CAAC,MAAM,CAAQ;IAEtB,OAAO,CAAC,EAAE,CAAC,CAAgB;gBAEP,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC;IAGvE,GAAG,IAAI,OAAO,CAAC,CAAC,CAAC;YAST,gBAAgB;IAiBxB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAQ/B"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.LazyTransaction = void 0;
|
|
4
|
+
class LazyTransaction {
|
|
5
|
+
constructor(transact) {
|
|
6
|
+
this.transact = transact;
|
|
7
|
+
this.closed = false;
|
|
8
|
+
}
|
|
9
|
+
async get() {
|
|
10
|
+
if (this.closed) {
|
|
11
|
+
throw new Error("Too late to request transaction");
|
|
12
|
+
}
|
|
13
|
+
this.tx = this.tx || this.startTransaction();
|
|
14
|
+
let { ctx } = await this.tx;
|
|
15
|
+
return ctx;
|
|
16
|
+
}
|
|
17
|
+
async startTransaction() {
|
|
18
|
+
return new Promise((resolve, reject) => {
|
|
19
|
+
let promise = this.transact(ctx => {
|
|
20
|
+
return new Promise(close => {
|
|
21
|
+
resolve({
|
|
22
|
+
ctx,
|
|
23
|
+
close: () => {
|
|
24
|
+
close();
|
|
25
|
+
return promise;
|
|
26
|
+
}
|
|
27
|
+
});
|
|
28
|
+
});
|
|
29
|
+
});
|
|
30
|
+
promise.catch(err => reject(err));
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
async close() {
|
|
34
|
+
this.closed = true;
|
|
35
|
+
if (this.tx) {
|
|
36
|
+
let tx = this.tx;
|
|
37
|
+
this.tx = undefined;
|
|
38
|
+
await tx.then(tx => tx.close());
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
exports.LazyTransaction = LazyTransaction;
|
|
43
|
+
//# sourceMappingURL=lazy-transaction.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lazy-transaction.js","sourceRoot":"","sources":["../../src/util/lazy-transaction.ts"],"names":[],"mappings":";;;AAMA,MAAa,eAAe;IAKxB,YAAoB,QAAyD;QAAzD,aAAQ,GAAR,QAAQ,CAAiD;QAJrE,WAAM,GAAG,KAAK,CAAA;IAKtB,CAAC;IAED,KAAK,CAAC,GAAG;QACL,IAAI,IAAI,CAAC,MAAM,EAAE;YACb,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAA;SACrD;QACD,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAA;QAC5C,IAAI,EAAC,GAAG,EAAC,GAAG,MAAM,IAAI,CAAC,EAAE,CAAA;QACzB,OAAO,GAAG,CAAA;IACd,CAAC;IAEO,KAAK,CAAC,gBAAgB;QAC1B,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACnC,IAAI,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;gBAC9B,OAAO,IAAI,OAAO,CAAO,KAAK,CAAC,EAAE;oBAC7B,OAAO,CAAC;wBACJ,GAAG;wBACH,KAAK,EAAE,GAAG,EAAE;4BACR,KAAK,EAAE,CAAA;4BACP,OAAO,OAAO,CAAA;wBAClB,CAAC;qBACJ,CAAC,CAAA;gBACN,CAAC,CAAC,CAAA;YACN,CAAC,CAAC,CAAA;YACF,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAA;QACrC,CAAC,CAAC,CAAA;IACN,CAAC;IAED,KAAK,CAAC,KAAK;QACP,IAAI,CAAC,MAAM,GAAG,IAAI,CAAA;QAClB,IAAI,IAAI,CAAC,EAAE,EAAE;YACT,IAAI,EAAE,GAAG,IAAI,CAAC,EAAE,CAAA;YAChB,IAAI,CAAC,EAAE,GAAG,SAAS,CAAA;YACnB,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,CAAA;SAClC;IACL,CAAC;CACJ;AA1CD,0CA0CC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { GraphQLResolveInfo, GraphQLSchema } from "graphql";
|
|
2
|
+
import { ResolveTree } from "graphql-parse-resolve-info";
|
|
3
|
+
export declare type ResolveTreeFields = {
|
|
4
|
+
[alias: string]: ResolveTree;
|
|
5
|
+
};
|
|
6
|
+
export interface ResolveTreeWithFields extends ResolveTree {
|
|
7
|
+
fields: ResolveTreeFields;
|
|
8
|
+
}
|
|
9
|
+
export declare function simplifyResolveTree(schema: GraphQLSchema, tree: ResolveTree, typeName: string): ResolveTreeWithFields;
|
|
10
|
+
export declare function getResolveTree(info: GraphQLResolveInfo): ResolveTree;
|
|
11
|
+
export declare function getResolveTree(info: GraphQLResolveInfo, typeName: string): ResolveTreeWithFields;
|
|
12
|
+
export declare function getTreeRequest(treeFields: ResolveTreeFields, fieldName: string): ResolveTree | undefined;
|
|
13
|
+
export declare function hasTreeRequest(treeFields: ResolveTreeFields, fieldName: string): boolean;
|
|
14
|
+
//# sourceMappingURL=resolve-tree.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolve-tree.d.ts","sourceRoot":"","sources":["../../src/util/resolve-tree.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,kBAAkB,EAAE,aAAa,EAAC,MAAM,SAAS,CAAA;AACzD,OAAO,EAGH,WAAW,EAEd,MAAM,4BAA4B,CAAA;AAGnC,oBAAY,iBAAiB,GAAG;IAC5B,CAAC,KAAK,EAAE,MAAM,GAAG,WAAW,CAAA;CAC/B,CAAA;AAGD,MAAM,WAAW,qBAAsB,SAAQ,WAAW;IACtD,MAAM,EAAE,iBAAiB,CAAA;CAC5B;AAGD,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,aAAa,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,GAAG,qBAAqB,CAIrH;AAGD,wBAAgB,cAAc,CAAC,IAAI,EAAE,kBAAkB,GAAG,WAAW,CAAA;AACrE,wBAAgB,cAAc,CAAC,IAAI,EAAE,kBAAkB,EAAE,QAAQ,EAAE,MAAM,GAAG,qBAAqB,CAAA;AAiBjG,wBAAgB,cAAc,CAAC,UAAU,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS,CASxG;AAGD,wBAAgB,cAAc,CAAC,UAAU,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAMxF"}
|