@subsquid/openreader 0.5.1 → 0.6.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/dist/dialect.d.ts +2 -0
- package/dist/dialect.d.ts.map +1 -0
- package/dist/dialect.js +3 -0
- package/dist/dialect.js.map +1 -0
- package/dist/gql/opencrud.d.ts +4 -3
- package/dist/gql/opencrud.d.ts.map +1 -1
- package/dist/gql/opencrud.js +8 -5
- package/dist/gql/opencrud.js.map +1 -1
- package/dist/gql/scalars/BigInt.d.ts +3 -0
- package/dist/gql/scalars/BigInt.d.ts.map +1 -0
- package/dist/gql/scalars/BigInt.js +36 -0
- package/dist/gql/scalars/BigInt.js.map +1 -0
- package/dist/gql/scalars/Bytes.d.ts +3 -0
- package/dist/gql/scalars/Bytes.d.ts.map +1 -0
- package/dist/gql/scalars/Bytes.js +32 -0
- package/dist/gql/scalars/Bytes.js.map +1 -0
- package/dist/gql/scalars/DateTime.d.ts +3 -0
- package/dist/gql/scalars/DateTime.d.ts.map +1 -0
- package/dist/gql/scalars/DateTime.js +44 -0
- package/dist/gql/scalars/DateTime.js.map +1 -0
- package/dist/gql/scalars/index.d.ts +6 -0
- package/dist/gql/scalars/index.d.ts.map +1 -0
- package/dist/gql/scalars/index.js +12 -0
- package/dist/gql/scalars/index.js.map +1 -0
- package/dist/gql/schema.d.ts.map +1 -1
- package/dist/gql/schema.js +3 -2
- package/dist/gql/schema.js.map +1 -1
- package/dist/queryBuilder.d.ts +3 -1
- package/dist/queryBuilder.d.ts.map +1 -1
- package/dist/queryBuilder.js +104 -22
- package/dist/queryBuilder.js.map +1 -1
- package/dist/resolver.d.ts +2 -1
- package/dist/resolver.d.ts.map +1 -1
- package/dist/resolver.js +12 -12
- package/dist/resolver.js.map +1 -1
- package/dist/server.d.ts +2 -0
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +3 -2
- package/dist/server.js.map +1 -1
- package/dist/test/basic.test.js +3 -3
- package/dist/test/basic.test.js.map +1 -1
- package/dist/test/connection.test.js +1 -1
- package/dist/test/connection.test.js.map +1 -1
- package/dist/test/fts.test.js +2 -2
- package/dist/test/fts.test.js.map +1 -1
- package/dist/test/isNull.test.js +1 -1
- package/dist/test/isNull.test.js.map +1 -1
- package/dist/test/lists.test.js +3 -3
- package/dist/test/lists.test.js.map +1 -1
- package/dist/test/lookup.test.js +13 -7
- package/dist/test/lookup.test.js.map +1 -1
- package/dist/test/scalars.test.js +12 -9
- package/dist/test/scalars.test.js.map +1 -1
- package/dist/test/{util/setup.d.ts → setup.d.ts} +8 -1
- package/dist/test/setup.d.ts.map +1 -0
- package/dist/test/{util/setup.js → setup.js} +19 -8
- package/dist/test/setup.js.map +1 -0
- package/dist/test/typed-json.test.js +1 -1
- package/dist/test/typed-json.test.js.map +1 -1
- package/dist/test/unions.test.js +1 -1
- package/dist/test/unions.test.js.map +1 -1
- package/dist/test/where.test.js +1 -1
- package/dist/test/where.test.js.map +1 -1
- package/dist/util.d.ts +1 -0
- package/dist/util.d.ts.map +1 -1
- package/dist/util.js +5 -1
- package/dist/util.js.map +1 -1
- package/dist/where.d.ts +1 -1
- package/dist/where.d.ts.map +1 -1
- package/dist/where.js +2 -0
- package/dist/where.js.map +1 -1
- package/package.json +4 -4
- package/src/dialect.ts +2 -0
- package/src/gql/opencrud.ts +10 -6
- package/src/gql/scalars/BigInt.ts +34 -0
- package/src/gql/scalars/Bytes.ts +28 -0
- package/src/gql/scalars/DateTime.ts +45 -0
- package/src/gql/scalars/index.ts +10 -0
- package/src/gql/schema.ts +3 -2
- package/src/queryBuilder.ts +98 -18
- package/src/resolver.ts +13 -11
- package/src/server.ts +5 -2
- package/src/test/basic.test.ts +3 -3
- package/src/test/connection.test.ts +1 -1
- package/src/test/fts.test.ts +4 -2
- package/src/test/isNull.test.ts +1 -1
- package/src/test/lists.test.ts +3 -3
- package/src/test/lookup.test.ts +13 -7
- package/src/test/scalars.test.ts +12 -9
- package/src/test/{util/setup.ts → setup.ts} +21 -7
- package/src/test/typed-json.test.ts +1 -1
- package/src/test/unions.test.ts +1 -1
- package/src/test/where.test.ts +1 -1
- package/src/util.ts +5 -0
- package/src/where.ts +3 -0
- package/dist/scalars.d.ts +0 -36
- package/dist/scalars.d.ts.map +0 -1
- package/dist/scalars.js +0 -229
- package/dist/scalars.js.map +0 -1
- package/dist/test/util/setup.d.ts.map +0 -1
- package/dist/test/util/setup.js.map +0 -1
- package/src/scalars.ts +0 -247
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connection.test.js","sourceRoot":"","sources":["../../src/test/connection.test.ts"],"names":[],"mappings":";;AAAA,
|
|
1
|
+
{"version":3,"file":"connection.test.js","sourceRoot":"","sources":["../../src/test/connection.test.ts"],"names":[],"mappings":"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"}
|
package/dist/test/fts.test.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const setup_1 = require("./
|
|
3
|
+
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
|
-
describe('full text search', function () {
|
|
7
|
+
(0, setup_1.isCockroach)() || describe('full text search', function () {
|
|
8
8
|
(0, setup_1.useDatabase)([
|
|
9
9
|
`create table foo (
|
|
10
10
|
id text primary key,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fts.test.js","sourceRoot":"","sources":["../../src/test/fts.test.ts"],"names":[],"mappings":";;AAAA,
|
|
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,kBAAkB,EAAE;IAC1C,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"}
|
package/dist/test/isNull.test.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const setup_1 = require("./
|
|
3
|
+
const setup_1 = require("./setup");
|
|
4
4
|
describe('isNull operator', function () {
|
|
5
5
|
(0, setup_1.useDatabase)([
|
|
6
6
|
`create table meta (id text primary key)`,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"isNull.test.js","sourceRoot":"","sources":["../../src/test/isNull.test.ts"],"names":[],"mappings":";;AAAA,
|
|
1
|
+
{"version":3,"file":"isNull.test.js","sourceRoot":"","sources":["../../src/test/isNull.test.ts"],"names":[],"mappings":";;AAAA,mCAA8C;AAG9C,QAAQ,CAAC,iBAAiB,EAAE;IACxB,IAAA,mBAAW,EAAC;QACR,yCAAyC;QACzC,kFAAkF;QAClF,oCAAoC;QACpC,sEAAsE;QACtE,mEAAmE;QACnE,uEAAuE;QACvE,+EAA+E;KAClF,CAAC,CAAA;IAEF,MAAM,MAAM,GAAG,IAAA,iBAAS,EAAC;;;;;;;;;;;;;;;KAexB,CAAC,CAAA;IAEF,EAAE,CAAC,WAAW,EAAE;QACZ,OAAO,MAAM,CAAC,IAAI,CAAC;;;;;;SAMlB,EAAE;YACC,QAAQ,EAAE,CAAC,EAAC,EAAE,EAAE,GAAG,EAAC,CAAC;SACxB,CAAC,CAAA;IACN,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,SAAS,EAAE;QACV,OAAO,MAAM,CAAC,IAAI,CAAC;;;;;;SAMlB,EAAE;YACC,QAAQ,EAAE,CAAC,EAAC,EAAE,EAAE,GAAG,EAAC,CAAC;SACxB,CAAC,CAAA;IACN,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,qBAAqB,EAAE;QACtB,OAAO,MAAM,CAAC,IAAI,CAAC;;;;;;SAMlB,EAAE;YACC,QAAQ,EAAE,CAAC,EAAC,EAAE,EAAE,GAAG,EAAC,EAAE,EAAC,EAAE,EAAE,GAAG,EAAC,CAAC;SACnC,CAAC,CAAA;IACN,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,OAAO,EAAE;QACR,OAAO,MAAM,CAAC,IAAI,CAAC;;;;;;SAMlB,EAAE;YACC,QAAQ,EAAE,CAAC,EAAC,EAAE,EAAE,GAAG,EAAC,CAAC;SACxB,CAAC,CAAA;IACN,CAAC,CAAC,CAAA;AACN,CAAC,CAAC,CAAA"}
|
package/dist/test/lists.test.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const setup_1 = require("./
|
|
3
|
+
const setup_1 = require("./setup");
|
|
4
4
|
describe('lists', function () {
|
|
5
5
|
(0, setup_1.useDatabase)([
|
|
6
6
|
`create table lists (
|
|
@@ -164,8 +164,8 @@ describe('lists', function () {
|
|
|
164
164
|
`, {
|
|
165
165
|
lists: [{
|
|
166
166
|
datetimeArray: [
|
|
167
|
-
'2020-01-01T00:00:00.
|
|
168
|
-
'2021-01-01T00:00:00.
|
|
167
|
+
'2020-01-01T00:00:00.000000Z',
|
|
168
|
+
'2021-01-01T00:00:00.000000Z'
|
|
169
169
|
]
|
|
170
170
|
}]
|
|
171
171
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lists.test.js","sourceRoot":"","sources":["../../src/test/lists.test.ts"],"names":[],"mappings":";;AAAA,
|
|
1
|
+
{"version":3,"file":"lists.test.js","sourceRoot":"","sources":["../../src/test/lists.test.ts"],"names":[],"mappings":"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"}
|
package/dist/test/lookup.test.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const setup_1 = require("./
|
|
3
|
+
const setup_1 = require("./setup");
|
|
4
4
|
describe('lookup test', function () {
|
|
5
5
|
(0, setup_1.useDatabase)([
|
|
6
6
|
`create table issue (id text primary key)`,
|
|
@@ -80,16 +80,22 @@ describe('lookup test', function () {
|
|
|
80
80
|
it('supports sorting on lookup fields', function () {
|
|
81
81
|
return client.test(`
|
|
82
82
|
query {
|
|
83
|
-
issues(orderBy: [
|
|
83
|
+
issues(orderBy: [payment_amount_ASC]) {
|
|
84
84
|
id
|
|
85
85
|
}
|
|
86
86
|
}
|
|
87
87
|
`, {
|
|
88
|
-
issues:
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
88
|
+
issues: (0, setup_1.isCockroach)()
|
|
89
|
+
? [
|
|
90
|
+
{ id: '3' },
|
|
91
|
+
{ id: '2' },
|
|
92
|
+
{ id: '1' }
|
|
93
|
+
]
|
|
94
|
+
: [
|
|
95
|
+
{ id: '2' },
|
|
96
|
+
{ id: '1' },
|
|
97
|
+
{ id: '3' }
|
|
98
|
+
]
|
|
93
99
|
});
|
|
94
100
|
});
|
|
95
101
|
it('supports where conditions', function () {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lookup.test.js","sourceRoot":"","sources":["../../src/test/lookup.test.ts"],"names":[],"mappings":";;AAAA,
|
|
1
|
+
{"version":3,"file":"lookup.test.js","sourceRoot":"","sources":["../../src/test/lookup.test.ts"],"names":[],"mappings":";;AAAA,mCAA2D;AAE3D,QAAQ,CAAC,aAAa,EAAE;IACpB,IAAA,mBAAW,EAAC;QACR,0CAA0C;QAC1C,iGAAiG;QACjG,kGAAkG;QAClG,qCAAqC;QACrC,qCAAqC;QACrC,qCAAqC;QACrC,uEAAuE;QACvE,uEAAuE;QACvE,6EAA6E;KAChF,CAAC,CAAA;IAEF,MAAM,MAAM,GAAG,IAAA,iBAAS,EAAC;;;;;;;;;;;;;;;;;;KAkBxB,CAAC,CAAA;IAEF,EAAE,CAAC,mBAAmB,EAAE;QACpB,OAAO,MAAM,CAAC,IAAI,CAAC;;;;;;;;;;;;;;;;;SAiBlB,EAAE;YACC,MAAM,EAAE;gBACJ;oBACI,EAAE,EAAE,GAAG;oBACP,OAAO,EAAE,EAAC,MAAM,EAAE,CAAC,EAAC;oBACpB,YAAY,EAAE,IAAI;iBACrB;gBACD;oBACI,EAAE,EAAE,GAAG;oBACP,OAAO,EAAE,EAAC,MAAM,EAAE,CAAC,EAAC;oBACpB,YAAY,EAAE,IAAI;iBACrB;gBACD;oBACI,EAAE,EAAE,GAAG;oBACP,OAAO,EAAE,IAAI;oBACb,YAAY,EAAE;wBACV,MAAM,EAAE,EAAE;wBACV,KAAK,EAAE;4BACH,YAAY,EAAE;gCACV,EAAE,EAAE,GAAG;6BACV;yBACJ;qBACJ;iBACJ;aACJ;SACJ,CAAC,CAAA;IACN,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,mCAAmC,EAAE;QACpC,OAAO,MAAM,CAAC,IAAI,CAAC;;;;;;SAMlB,EAAE;YACC,MAAM,EAAE,IAAA,mBAAW,GAAE;gBACjB,CAAC,CAAC;oBACE,EAAC,EAAE,EAAE,GAAG,EAAC;oBACT,EAAC,EAAE,EAAE,GAAG,EAAC;oBACT,EAAC,EAAE,EAAE,GAAG,EAAC;iBACZ;gBACD,CAAC,CAAC;oBACE,EAAC,EAAE,EAAE,GAAG,EAAC;oBACT,EAAC,EAAE,EAAE,GAAG,EAAC;oBACT,EAAC,EAAE,EAAE,GAAG,EAAC;iBACZ;SACR,CAAC,CAAA;IACN,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,2BAA2B,EAAE;QAC5B,OAAO,MAAM,CAAC,IAAI,CAAC;;;;;;SAMlB,EAAE;YACC,MAAM,EAAE;gBACJ,EAAC,EAAE,EAAE,GAAG,EAAC;aACZ;SACJ,CAAC,CAAA;IACN,CAAC,CAAC,CAAA;AACN,CAAC,CAAC,CAAA"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const setup_1 = require("./
|
|
3
|
+
const setup_1 = require("./setup");
|
|
4
4
|
describe('scalars', function () {
|
|
5
5
|
(0, setup_1.useDatabase)([
|
|
6
6
|
`create table scalar (id text primary key, "boolean" bool, "bigint" numeric, "string" text, enum text, date_time timestamptz, "bytes" bytea, deep jsonb)`,
|
|
@@ -13,6 +13,7 @@ describe('scalars', function () {
|
|
|
13
13
|
`insert into scalar (id, "string") values ('7', 'bar baz foo')`,
|
|
14
14
|
`insert into scalar (id, "string") values ('8', 'baz foo bar')`,
|
|
15
15
|
`insert into scalar (id, "string") values ('9', 'hello')`,
|
|
16
|
+
`insert into scalar (id, "string") values ('9-1', 'A fOo B')`,
|
|
16
17
|
`insert into scalar (id, "date_time", deep) values ('10', '2021-09-24T15:43:13.400Z', '{"dateTime": "2021-09-24T00:00:00.120Z"}'::jsonb)`,
|
|
17
18
|
`insert into scalar (id, "date_time", deep) values ('11', '2021-09-24T00:00:00.000Z', '{"dateTime": "2021-09-24T00:00:00Z"}'::jsonb)`,
|
|
18
19
|
`insert into scalar (id, "date_time", deep) values ('12', '2021-09-24 02:00:00.001 +01:00', '{"dateTime": "2021-09-24T00:00:00.1Z"}'::jsonb)`,
|
|
@@ -102,16 +103,18 @@ describe('scalars', function () {
|
|
|
102
103
|
not_ends_with: scalars(where: {string_not_endsWith: "foo"} orderBy: id_ASC) { id }
|
|
103
104
|
contains: scalars(where: {string_contains: "foo"} orderBy: id_ASC) { id }
|
|
104
105
|
not_contains: scalars(where: {string_not_contains: "foo"} orderBy: id_ASC) { id }
|
|
105
|
-
|
|
106
|
+
contains_insensitive: scalars(where: {string_containsInsensitive: "FoO"} orderBy: id_ASC) { id }
|
|
107
|
+
not_contains_insensitive: scalars(where: {string_not_containsInsensitive: "FoO"} orderBy: id_ASC) { id }
|
|
106
108
|
}
|
|
107
109
|
`, {
|
|
108
110
|
starts_with: [{ id: '6' }],
|
|
109
|
-
not_starts_with: [{ id: '7' }, { id: '8' }, { id: '9' }],
|
|
111
|
+
not_starts_with: [{ id: '7' }, { id: '8' }, { id: '9' }, { id: '9-1' }],
|
|
110
112
|
ends_with: [{ id: '7' }],
|
|
111
|
-
not_ends_with: [{ id: '6' }, { id: '8' }, { id: '9' }],
|
|
113
|
+
not_ends_with: [{ id: '6' }, { id: '8' }, { id: '9' }, { id: '9-1' }],
|
|
112
114
|
contains: [{ id: '6' }, { id: '7' }, { id: '8' }],
|
|
113
|
-
not_contains: [{ id: '9' }],
|
|
114
|
-
|
|
115
|
+
not_contains: [{ id: '9' }, { id: '9-1' }],
|
|
116
|
+
contains_insensitive: [{ id: '6' }, { id: '7' }, { id: '8' }, { id: '9-1' }],
|
|
117
|
+
not_contains_insensitive: [{ id: '9' }]
|
|
115
118
|
});
|
|
116
119
|
});
|
|
117
120
|
});
|
|
@@ -229,9 +232,9 @@ describe('scalars', function () {
|
|
|
229
232
|
}
|
|
230
233
|
`, {
|
|
231
234
|
scalars: [
|
|
232
|
-
{ id: '10', dateTime: '2021-09-24T15:43:13.
|
|
233
|
-
{ id: '11', dateTime: '2021-09-24T00:00:00.
|
|
234
|
-
{ id: '12', dateTime: '2021-09-24T01:00:00.
|
|
235
|
+
{ id: '10', dateTime: '2021-09-24T15:43:13.400000Z', deep: { dateTime: '2021-09-24T00:00:00.120Z' } },
|
|
236
|
+
{ id: '11', dateTime: '2021-09-24T00:00:00.000000Z', deep: { dateTime: '2021-09-24T00:00:00Z' } },
|
|
237
|
+
{ id: '12', dateTime: '2021-09-24T01:00:00.001000Z', deep: { dateTime: '2021-09-24T00:00:00.1Z' } }
|
|
235
238
|
]
|
|
236
239
|
});
|
|
237
240
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scalars.test.js","sourceRoot":"","sources":["../../src/test/scalars.test.ts"],"names":[],"mappings":";;AAAA,
|
|
1
|
+
{"version":3,"file":"scalars.test.js","sourceRoot":"","sources":["../../src/test/scalars.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,12 @@
|
|
|
1
1
|
import { Client } from "gql-test-client";
|
|
2
|
-
export declare
|
|
2
|
+
export declare function isCockroach(): boolean;
|
|
3
|
+
export declare const db_config: {
|
|
4
|
+
host: string;
|
|
5
|
+
port: number;
|
|
6
|
+
user: string;
|
|
7
|
+
password: string;
|
|
8
|
+
database: string;
|
|
9
|
+
};
|
|
3
10
|
export declare function databaseInit(sql: string[]): Promise<void>;
|
|
4
11
|
export declare function databaseDelete(): Promise<void>;
|
|
5
12
|
export declare function useDatabase(sql: string[]): void;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../src/test/setup.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,MAAM,EAAC,MAAM,iBAAiB,CAAA;AAOtC,wBAAgB,WAAW,IAAI,OAAO,CAErC;AAGD,eAAO,MAAM,SAAS;;;;;;CAQrB,CAAA;AAcD,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAMzD;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,CAgBhD"}
|
|
@@ -1,13 +1,23 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.useServer = exports.useDatabase = exports.databaseDelete = exports.databaseInit = exports.db_config = void 0;
|
|
3
|
+
exports.useServer = exports.useDatabase = exports.databaseDelete = exports.databaseInit = exports.db_config = exports.isCockroach = void 0;
|
|
4
|
+
const util_1 = require("@subsquid/util");
|
|
4
5
|
const gql_test_client_1 = require("gql-test-client");
|
|
5
6
|
const graphql_1 = require("graphql");
|
|
6
7
|
const pg_1 = require("pg");
|
|
7
|
-
const
|
|
8
|
-
const
|
|
9
|
-
|
|
10
|
-
|
|
8
|
+
const schema_1 = require("../gql/schema");
|
|
9
|
+
const server_1 = require("../server");
|
|
10
|
+
function isCockroach() {
|
|
11
|
+
return process.env.DB_TYPE == 'cockroach';
|
|
12
|
+
}
|
|
13
|
+
exports.isCockroach = isCockroach;
|
|
14
|
+
exports.db_config = {
|
|
15
|
+
host: 'localhost',
|
|
16
|
+
port: parseInt((0, util_1.assertNotNull)(isCockroach() ? process.env.DB_PORT_COCKROACH : process.env.DB_PORT_PG)),
|
|
17
|
+
user: 'root',
|
|
18
|
+
password: 'root',
|
|
19
|
+
database: 'defaultdb'
|
|
20
|
+
};
|
|
11
21
|
async function withClient(block) {
|
|
12
22
|
let client = new pg_1.Client(exports.db_config);
|
|
13
23
|
await client.connect();
|
|
@@ -28,8 +38,8 @@ function databaseInit(sql) {
|
|
|
28
38
|
exports.databaseInit = databaseInit;
|
|
29
39
|
function databaseDelete() {
|
|
30
40
|
return withClient(async (client) => {
|
|
31
|
-
await client.query(`DROP SCHEMA IF EXISTS
|
|
32
|
-
await client.query(`CREATE SCHEMA
|
|
41
|
+
await client.query(`DROP SCHEMA IF EXISTS root CASCADE`);
|
|
42
|
+
await client.query(`CREATE SCHEMA root`);
|
|
33
43
|
});
|
|
34
44
|
}
|
|
35
45
|
exports.databaseDelete = databaseDelete;
|
|
@@ -48,7 +58,8 @@ function useServer(schema) {
|
|
|
48
58
|
info = await (0, server_1.serve)({
|
|
49
59
|
db,
|
|
50
60
|
model: (0, schema_1.buildModel)((0, schema_1.buildSchema)((0, graphql_1.parse)(schema))),
|
|
51
|
-
port: 0
|
|
61
|
+
port: 0,
|
|
62
|
+
dialect: isCockroach() ? 'cockroach' : 'postgres'
|
|
52
63
|
});
|
|
53
64
|
client.endpoint = `http://localhost:${info.port}/graphql`;
|
|
54
65
|
});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"setup.js","sourceRoot":"","sources":["../../src/test/setup.ts"],"names":[],"mappings":";;;AAAA,yCAA4C;AAC5C,qDAAsC;AACtC,qCAA6B;AAC7B,2BAAuD;AACvD,0CAAqD;AACrD,sCAAgD;AAGhD,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,oBAAa,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;AAGD,KAAK,UAAU,UAAU,CAAC,KAA4C;IAClE,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;AAGD,SAAgB,YAAY,CAAC,GAAa;IACtC,OAAO,UAAU,CAAC,KAAK,EAAC,MAAM,EAAC,EAAE;QAC7B,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,oCAMC;AAGD,SAAgB,cAAc;IAC1B,OAAO,UAAU,CAAC,KAAK,EAAC,MAAM,EAAC,EAAE;QAC7B,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,YAAY,CAAC,GAAG,CAAC,CAAA;IAC3B,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,EAAE;YACF,KAAK,EAAE,IAAA,mBAAU,EAAC,IAAA,oBAAW,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;SACpD,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,IAAI,EAAE,CAAC,CAAA;IACzB,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,CAAA;IACrB,OAAO,MAAM,CAAA;AACjB,CAAC;AAhBD,8BAgBC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const setup_1 = require("./
|
|
3
|
+
const setup_1 = require("./setup");
|
|
4
4
|
describe('typed json fields', function () {
|
|
5
5
|
(0, setup_1.useDatabase)([
|
|
6
6
|
`create table entity (id text primary key, a jsonb)`,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"typed-json.test.js","sourceRoot":"","sources":["../../src/test/typed-json.test.ts"],"names":[],"mappings":";;AAAA,
|
|
1
|
+
{"version":3,"file":"typed-json.test.js","sourceRoot":"","sources":["../../src/test/typed-json.test.ts"],"names":[],"mappings":";;AAAA,mCAA8C;AAE9C,QAAQ,CAAC,mBAAmB,EAAE;IAC1B,IAAA,mBAAW,EAAC;QACR,oDAAoD;QACpD,yFAAyF;QACzF,yFAAyF;QACzF,sDAAsD;QACtD,sCAAsC;KACzC,CAAC,CAAA;IAEF,MAAM,MAAM,GAAG,IAAA,iBAAS,EAAC;;;;;;;;;;;;;;;KAexB,CAAC,CAAA;IAEF,EAAE,CAAC,sBAAsB,EAAE;QACvB,OAAO,MAAM,CAAC,IAAI,CAAC;;;;;;;SAOlB,EAAE;YACC,QAAQ,EAAE;gBACN,EAAC,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,EAAC,CAAC,EAAE,GAAG,EAAC,EAAC;gBACtB,EAAC,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,EAAC,CAAC,EAAE,GAAG,EAAC,EAAC;gBACtB,EAAC,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,EAAC,CAAC,EAAE,IAAI,EAAC,EAAC;gBACvB,EAAC,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAC;aACrB;SACJ,CAAC,CAAA;IACN,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,yBAAyB,EAAE;QAC1B,OAAO,MAAM,CAAC,IAAI,CAAC;;;;;;;;;;;;;;;;;;;SAmBlB,EAAE;YACC,QAAQ,EAAE;gBACN,EAAC,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,EAAC,CAAC,EAAE,EAAC,CAAC,EAAE,EAAC,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,EAAC,CAAC,EAAE,EAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,EAAC,EAAE,EAAE,GAAG,EAAC,EAAC,EAAC,EAAC,EAAC,EAAC,EAAC;gBACjE,EAAC,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,EAAC,CAAC,EAAE,EAAC,CAAC,EAAE,EAAC,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,EAAC,CAAC,EAAE,EAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,EAAC,EAAE,EAAE,GAAG,EAAC,EAAC,EAAC,EAAC,EAAC,EAAC,EAAC;gBACjE,EAAC,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,EAAC,CAAC,EAAE,IAAI,EAAC,EAAC;gBACvB,EAAC,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAC;aACrB;SACJ,CAAC,CAAA;IACN,CAAC,CAAC,CAAA;AACN,CAAC,CAAC,CAAA"}
|
package/dist/test/unions.test.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const setup_1 = require("./
|
|
3
|
+
const setup_1 = require("./setup");
|
|
4
4
|
describe('unions', function () {
|
|
5
5
|
(0, setup_1.useDatabase)([
|
|
6
6
|
`create table "user" (id text primary key, login text)`,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"unions.test.js","sourceRoot":"","sources":["../../src/test/unions.test.ts"],"names":[],"mappings":";;AAAA,
|
|
1
|
+
{"version":3,"file":"unions.test.js","sourceRoot":"","sources":["../../src/test/unions.test.ts"],"names":[],"mappings":";;AAAA,mCAA8C;AAE9C,QAAQ,CAAC,QAAQ,EAAE;IACf,IAAA,mBAAW,EAAC;QACR,uDAAuD;QACvD,sEAAsE;QACtE,uDAAuD;QACvD,2DAA2D;QAC3D,4HAA4H;QAC5H,uIAAuI;KAC1I,CAAC,CAAA;IAEF,MAAM,MAAM,GAAG,IAAA,iBAAS,EAAC;;;;;;;;;;;;;;;;;;;;;;KAsBxB,CAAC,CAAA;IAEF,EAAE,CAAC,QAAQ,EAAE;QACT,OAAO,MAAM,CAAC,IAAI,CAAC;;;;;;;;;;;;;;;;SAgBlB,EAAE;YACC,SAAS,EAAE;gBACP;oBACI,IAAI,EAAE,SAAS;oBACf,KAAK,EAAE;wBACH,IAAI,EAAE,EAAC,KAAK,EAAE,QAAQ,EAAC;wBACvB,IAAI,EAAE,GAAG;qBACZ;iBACJ;gBACD;oBACI,IAAI,EAAE,UAAU;oBAChB,KAAK,EAAE;wBACH,IAAI,EAAE,EAAC,KAAK,EAAE,YAAY,EAAC;wBAC3B,KAAK,EAAE,QAAQ;qBAClB;iBACJ;aACJ;SACJ,CAAC,CAAA;IACN,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,WAAW,EAAE;QACZ,OAAO,MAAM,CAAC,IAAI,CAAC;;;;;SAKlB,EAAE;YACC,WAAW,EAAE,CAAC,EAAC,EAAE,EAAE,GAAG,EAAC,CAAC;YACxB,YAAY,EAAE,CAAC,EAAC,EAAE,EAAE,GAAG,EAAC,CAAC;SAC5B,CAAC,CAAA;IACN,CAAC,CAAC,CAAA;AACN,CAAC,CAAC,CAAA"}
|
package/dist/test/where.test.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const setup_1 = require("./
|
|
3
|
+
const setup_1 = require("./setup");
|
|
4
4
|
describe('AND, OR on entity filters', function () {
|
|
5
5
|
(0, setup_1.useDatabase)([
|
|
6
6
|
`create table item (id text primary key, a int, b int)`,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"where.test.js","sourceRoot":"","sources":["../../src/test/where.test.ts"],"names":[],"mappings":";;AAAA,
|
|
1
|
+
{"version":3,"file":"where.test.js","sourceRoot":"","sources":["../../src/test/where.test.ts"],"names":[],"mappings":";;AAAA,mCAA8C;AAE9C,QAAQ,CAAC,2BAA2B,EAAE;IAClC,IAAA,mBAAW,EAAC;QACR,uDAAuD;QACvD,gDAAgD;QAChD,gDAAgD;QAChD,gDAAgD;QAChD,gDAAgD;QAChD,gDAAgD;QAChD,gDAAgD;KACnD,CAAC,CAAA;IAEF,MAAM,MAAM,GAAG,IAAA,iBAAS,EAAC;;;;;;KAMxB,CAAC,CAAA;IAEF,EAAE,CAAC,eAAe,EAAE;QAChB,OAAO,MAAM,CAAC,IAAI,CAAC;;;;SAIlB,EAAE;YACC,KAAK,EAAE;gBACH,EAAC,EAAE,EAAE,GAAG,EAAC;aACZ;SACJ,CAAC,CAAA;IACN,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,sBAAsB,EAAE;QACvB,OAAO,MAAM,CAAC,IAAI,CAAC;;;;SAIlB,EAAE;YACC,KAAK,EAAE;gBACH,EAAC,EAAE,EAAE,GAAG,EAAC;aACZ;SACJ,CAAC,CAAA;IACN,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,mBAAmB,EAAE;QACpB,OAAO,MAAM,CAAC,IAAI,CAAC;;;;SAIlB,EAAE;YACC,KAAK,EAAE;gBACH,EAAC,EAAE,EAAE,GAAG,EAAC;aACZ;SACJ,CAAC,CAAA;IACN,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,gBAAgB,EAAE;QACjB,OAAO,MAAM,CAAC,IAAI,CAAC;;;;SAIlB,EAAE;YACC,KAAK,EAAE;gBACH,EAAC,EAAE,EAAE,GAAG,EAAC;gBACT,EAAC,EAAE,EAAE,GAAG,EAAC;aACZ;SACJ,CAAC,CAAA;IACN,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,kBAAkB,EAAE;QACnB,OAAO,MAAM,CAAC,IAAI,CAAC;;;;SAIlB,EAAE;YACC,KAAK,EAAE;gBACH,EAAC,EAAE,EAAE,GAAG,EAAC;gBACT,EAAC,EAAE,EAAE,GAAG,EAAC;aACZ;SACJ,CAAC,CAAA;IACN,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,oBAAoB,EAAE;QACrB,OAAO,MAAM,CAAC,IAAI,CAAC;;;;SAIlB,EAAE;YACC,KAAK,EAAE;gBACH,EAAC,EAAE,EAAE,GAAG,EAAC;gBACT,EAAC,EAAE,EAAE,GAAG,EAAC;gBACT,EAAC,EAAE,EAAE,GAAG,EAAC;aACZ;SACJ,CAAC,CAAA;IACN,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,qCAAqC,EAAE;QACtC,OAAO,MAAM,CAAC,IAAI,CAAC;;;;SAIlB,EAAE;YACC,KAAK,EAAE;gBACH,EAAC,EAAE,EAAE,GAAG,EAAC;gBACT,EAAC,EAAE,EAAE,GAAG,EAAC;aACZ;SACJ,CAAC,CAAA;IACN,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,wBAAwB,EAAE;QACzB,OAAO,MAAM,CAAC,IAAI,CAAC;;;;SAIlB,EAAE;YACC,KAAK,EAAE;gBACH,EAAC,EAAE,EAAE,GAAG,EAAC;gBACT,EAAC,EAAE,EAAE,GAAG,EAAC;aACZ;SACJ,CAAC,CAAA;IACN,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,sBAAsB,EAAE;QACvB,OAAO,MAAM,CAAC,IAAI,CAAC;;;;SAIlB,EAAE;YACC,KAAK,EAAE;gBACH,EAAC,EAAE,EAAE,GAAG,EAAC;aACZ;SACJ,CAAC,CAAA;IACN,CAAC,CAAC,CAAA;AACN,CAAC,CAAC,CAAA"}
|
package/dist/util.d.ts
CHANGED
|
@@ -5,4 +5,5 @@ export declare function toTable(entityName: string): string;
|
|
|
5
5
|
export declare function ensureArray<T>(item: T | T[]): T[];
|
|
6
6
|
export declare function unsupportedCase(value: string): Error;
|
|
7
7
|
export declare function toInt(val: number | string): number;
|
|
8
|
+
export declare function invalidFormat(type: string, value: string): Error;
|
|
8
9
|
//# sourceMappingURL=util.d.ts.map
|
package/dist/util.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":"AAIA,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAE3D;AAGD,wBAAgB,QAAQ,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAErD;AAGD,wBAAgB,UAAU,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAEvD;AAGD,wBAAgB,OAAO,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAElD;AAGD,wBAAgB,WAAW,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,CAEjD;AAGD,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,CAEpD;AAGD,wBAAgB,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAIlD"}
|
|
1
|
+
{"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":"AAIA,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAE3D;AAGD,wBAAgB,QAAQ,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAErD;AAGD,wBAAgB,UAAU,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAEvD;AAGD,wBAAgB,OAAO,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAElD;AAGD,wBAAgB,WAAW,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,CAEjD;AAGD,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,CAEpD;AAGD,wBAAgB,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAIlD;AAGD,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,KAAK,CAEhE"}
|
package/dist/util.js
CHANGED
|
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.toInt = exports.unsupportedCase = exports.ensureArray = exports.toTable = exports.toFkColumn = exports.toColumn = exports.toQueryListField = void 0;
|
|
6
|
+
exports.invalidFormat = exports.toInt = exports.unsupportedCase = exports.ensureArray = exports.toTable = exports.toFkColumn = exports.toColumn = exports.toQueryListField = void 0;
|
|
7
7
|
const util_1 = require("@subsquid/util");
|
|
8
8
|
const assert_1 = __importDefault(require("assert"));
|
|
9
9
|
function toQueryListField(entityName) {
|
|
@@ -36,4 +36,8 @@ function toInt(val) {
|
|
|
36
36
|
return i;
|
|
37
37
|
}
|
|
38
38
|
exports.toInt = toInt;
|
|
39
|
+
function invalidFormat(type, value) {
|
|
40
|
+
return new TypeError(`Not a ${type}: ${value}`);
|
|
41
|
+
}
|
|
42
|
+
exports.invalidFormat = invalidFormat;
|
|
39
43
|
//# sourceMappingURL=util.js.map
|
package/dist/util.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"util.js","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":";;;;;;AAAA,yCAAiE;AACjE,oDAA2B;AAG3B,SAAgB,gBAAgB,CAAC,UAAkB;IAC/C,OAAO,IAAA,eAAQ,EAAC,IAAA,kBAAW,EAAC,UAAU,CAAC,CAAC,CAAA;AAC5C,CAAC;AAFD,4CAEC;AAGD,SAAgB,QAAQ,CAAC,YAAoB;IACzC,OAAO,IAAA,kBAAW,EAAC,YAAY,CAAC,CAAA;AACpC,CAAC;AAFD,4BAEC;AAGD,SAAgB,UAAU,CAAC,YAAoB;IAC3C,OAAO,IAAA,kBAAW,EAAC,YAAY,CAAC,GAAG,KAAK,CAAA;AAC5C,CAAC;AAFD,gCAEC;AAGD,SAAgB,OAAO,CAAC,UAAkB;IACtC,OAAO,IAAA,kBAAW,EAAC,UAAU,CAAC,CAAA;AAClC,CAAC;AAFD,0BAEC;AAGD,SAAgB,WAAW,CAAI,IAAa;IACxC,OAAO,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;AAC9C,CAAC;AAFD,kCAEC;AAGD,SAAgB,eAAe,CAAC,KAAa;IACzC,OAAO,IAAI,KAAK,CAAC,qBAAqB,KAAK,EAAE,CAAC,CAAA;AAClD,CAAC;AAFD,0CAEC;AAGD,SAAgB,KAAK,CAAC,GAAoB;IACtC,IAAI,CAAC,GAAG,QAAQ,CAAC,GAAa,CAAC,CAAA;IAC/B,IAAA,gBAAM,EAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAA;IAChC,OAAO,CAAC,CAAA;AACZ,CAAC;AAJD,sBAIC"}
|
|
1
|
+
{"version":3,"file":"util.js","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":";;;;;;AAAA,yCAAiE;AACjE,oDAA2B;AAG3B,SAAgB,gBAAgB,CAAC,UAAkB;IAC/C,OAAO,IAAA,eAAQ,EAAC,IAAA,kBAAW,EAAC,UAAU,CAAC,CAAC,CAAA;AAC5C,CAAC;AAFD,4CAEC;AAGD,SAAgB,QAAQ,CAAC,YAAoB;IACzC,OAAO,IAAA,kBAAW,EAAC,YAAY,CAAC,CAAA;AACpC,CAAC;AAFD,4BAEC;AAGD,SAAgB,UAAU,CAAC,YAAoB;IAC3C,OAAO,IAAA,kBAAW,EAAC,YAAY,CAAC,GAAG,KAAK,CAAA;AAC5C,CAAC;AAFD,gCAEC;AAGD,SAAgB,OAAO,CAAC,UAAkB;IACtC,OAAO,IAAA,kBAAW,EAAC,UAAU,CAAC,CAAA;AAClC,CAAC;AAFD,0BAEC;AAGD,SAAgB,WAAW,CAAI,IAAa;IACxC,OAAO,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;AAC9C,CAAC;AAFD,kCAEC;AAGD,SAAgB,eAAe,CAAC,KAAa;IACzC,OAAO,IAAI,KAAK,CAAC,qBAAqB,KAAK,EAAE,CAAC,CAAA;AAClD,CAAC;AAFD,0CAEC;AAGD,SAAgB,KAAK,CAAC,GAAoB;IACtC,IAAI,CAAC,GAAG,QAAQ,CAAC,GAAa,CAAC,CAAA;IAC/B,IAAA,gBAAM,EAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAA;IAChC,OAAO,CAAC,CAAA;AACZ,CAAC;AAJD,sBAIC;AAGD,SAAgB,aAAa,CAAC,IAAY,EAAE,KAAa;IACrD,OAAO,IAAI,SAAS,CAAC,SAAS,IAAI,KAAK,KAAK,EAAE,CAAC,CAAA;AACnD,CAAC;AAFD,sCAEC"}
|
package/dist/where.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export declare type WhereOp = '-' | // no operator
|
|
2
|
-
'isNull' | 'eq' | 'not_eq' | 'gt' | 'gte' | 'lt' | 'lte' | 'in' | 'not_in' | 'contains' | 'not_contains' | 'startsWith' | 'not_startsWith' | 'endsWith' | 'not_endsWith' | 'containsAll' | 'containsAny' | 'containsNone' | 'some' | 'every' | 'none';
|
|
2
|
+
'isNull' | 'eq' | 'not_eq' | 'gt' | 'gte' | 'lt' | 'lte' | 'in' | 'not_in' | 'contains' | 'not_contains' | 'containsInsensitive' | 'not_containsInsensitive' | 'startsWith' | 'not_startsWith' | 'endsWith' | 'not_endsWith' | 'containsAll' | 'containsAny' | 'containsNone' | 'some' | 'every' | 'none';
|
|
3
3
|
export declare function parseWhereField(field: string): {
|
|
4
4
|
op: WhereOp;
|
|
5
5
|
field: string;
|
package/dist/where.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"where.d.ts","sourceRoot":"","sources":["../src/where.ts"],"names":[],"mappings":"AACA,oBAAY,OAAO,GACf,GAAG,GAAG,cAAc;AACpB,QAAQ,GACR,IAAI,GAAG,QAAQ,GACf,IAAI,GACJ,KAAK,GACL,IAAI,GACJ,KAAK,GACL,IAAI,GAAG,QAAQ,GACf,UAAU,GAAG,cAAc,GAC3B,YAAY,GAAG,gBAAgB,GAC/B,UAAU,GAAG,cAAc,GAC3B,aAAa,GACb,aAAa,GACb,cAAc,GACd,MAAM,GACN,OAAO,GACP,MAAM,CAAA;
|
|
1
|
+
{"version":3,"file":"where.d.ts","sourceRoot":"","sources":["../src/where.ts"],"names":[],"mappings":"AACA,oBAAY,OAAO,GACf,GAAG,GAAG,cAAc;AACpB,QAAQ,GACR,IAAI,GAAG,QAAQ,GACf,IAAI,GACJ,KAAK,GACL,IAAI,GACJ,KAAK,GACL,IAAI,GAAG,QAAQ,GACf,UAAU,GAAG,cAAc,GAC3B,qBAAqB,GAAG,yBAAyB,GACjD,YAAY,GAAG,gBAAgB,GAC/B,UAAU,GAAG,cAAc,GAC3B,aAAa,GACb,aAAa,GACb,cAAc,GACd,MAAM,GACN,OAAO,GACP,MAAM,CAAA;AAsCV,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG;IAAC,EAAE,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAC,CAQ3E;AAGD,wBAAgB,aAAa,CAAC,KAAK,CAAC,EAAE,GAAG,GAAG,KAAK,IAAI,GAAG,CAsBvD;AAGD,wBAAgB,oBAAoB,CAAC,EAAE,EAAE,OAAO,GAAG,MAAM,CAqBxD"}
|
package/dist/where.js
CHANGED
package/dist/where.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"where.js","sourceRoot":"","sources":["../src/where.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"where.js","sourceRoot":"","sources":["../src/where.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@subsquid/openreader",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.6.0",
|
|
4
4
|
"description": "GraphQL server for squid framework",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"graphql",
|
|
@@ -23,13 +23,13 @@
|
|
|
23
23
|
"@graphql-tools/merge": "^8",
|
|
24
24
|
"@graphql-tools/utils": "^8",
|
|
25
25
|
"@subsquid/graphiql-console": "^0.2.0",
|
|
26
|
-
"@subsquid/util": "^0.0.
|
|
26
|
+
"@subsquid/util": "^0.0.5",
|
|
27
27
|
"apollo-server-core": "^3.6.2",
|
|
28
28
|
"apollo-server-express": "^3.6.2",
|
|
29
29
|
"express": "^4.17.2",
|
|
30
30
|
"graphql": "^15.8.0",
|
|
31
31
|
"graphql-parse-resolve-info": "^4.12.0",
|
|
32
|
-
"pg": "^8.7.
|
|
32
|
+
"pg": "^8.7.3"
|
|
33
33
|
},
|
|
34
34
|
"devDependencies": {
|
|
35
35
|
"@types/express": "^4.17.13",
|
|
@@ -44,7 +44,7 @@
|
|
|
44
44
|
},
|
|
45
45
|
"scripts": {
|
|
46
46
|
"build": "rm -rf dist && tsc",
|
|
47
|
-
"test": "make up && sleep 1 && make test && make down || (make down && exit 1)"
|
|
47
|
+
"test": "make up && sleep 1 && make test test-cockroach && make down || (make down && exit 1)"
|
|
48
48
|
},
|
|
49
49
|
"readme": "# OpenReader\n\nGraphQL server for squid framework. Given [data schema](https://docs.subsquid.io/schema-spec) \nand compatible Postgres database it serves \"read part\" of [OpenCRUD spec](https://www.opencrud.org).\n\n## Usage\n\n```bash\nopenreader schema.graphql\n```\n\nDatabase connection and server port are configured via environment variables:\n\n```\nDB_NAME\nDB_USER\nDB_PASS\nDB_HOST\nDB_PORT\nGRAPHQL_SERVER_PORT\n```\n"
|
|
50
50
|
}
|
package/src/dialect.ts
ADDED
package/src/gql/opencrud.ts
CHANGED
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
import {Output, toCamelCase, toPlural} from "@subsquid/util"
|
|
2
2
|
import assert from "assert"
|
|
3
3
|
import {DocumentNode, parse, print} from "graphql"
|
|
4
|
-
import {
|
|
4
|
+
import type {Dialect} from "../dialect"
|
|
5
|
+
import type {Entity, Enum, FTS_Query, Interface, JsonObject, Model, Prop, Union} from "../model"
|
|
5
6
|
import {getOrderByMapping} from "../orderBy"
|
|
6
|
-
import {scalars_list} from "../scalars"
|
|
7
7
|
import {toQueryListField} from "../util"
|
|
8
|
+
import {customScalars} from "./scalars"
|
|
8
9
|
|
|
9
10
|
|
|
10
|
-
export function generateOpenCrudQueries(model: Model): string {
|
|
11
|
+
export function generateOpenCrudQueries(model: Model, dialect: Dialect): string {
|
|
11
12
|
let out = new Output()
|
|
12
13
|
|
|
13
14
|
generatePageInfoType()
|
|
@@ -39,6 +40,7 @@ export function generateOpenCrudQueries(model: Model): string {
|
|
|
39
40
|
generateEnumType(name, item)
|
|
40
41
|
break
|
|
41
42
|
case 'fts':
|
|
43
|
+
assert(dialect == 'postgres', `Full-text search queries are not supported by ${dialect}`)
|
|
42
44
|
generateFtsTypes(name, item)
|
|
43
45
|
break
|
|
44
46
|
}
|
|
@@ -250,6 +252,8 @@ export function generateOpenCrudQueries(model: Model): string {
|
|
|
250
252
|
if (graphqlType == 'String' || graphqlType == 'ID') {
|
|
251
253
|
out.line(`${fieldName}_contains: ${graphqlType}`)
|
|
252
254
|
out.line(`${fieldName}_not_contains: ${graphqlType}`)
|
|
255
|
+
out.line(`${fieldName}_containsInsensitive: ${graphqlType}`)
|
|
256
|
+
out.line(`${fieldName}_not_containsInsensitive: ${graphqlType}`)
|
|
253
257
|
out.line(`${fieldName}_startsWith: ${graphqlType}`)
|
|
254
258
|
out.line(`${fieldName}_not_startsWith: ${graphqlType}`)
|
|
255
259
|
out.line(`${fieldName}_endsWith: ${graphqlType}`)
|
|
@@ -333,8 +337,8 @@ export function generateOpenCrudQueries(model: Model): string {
|
|
|
333
337
|
}
|
|
334
338
|
|
|
335
339
|
|
|
336
|
-
export function buildServerSchema(model: Model): DocumentNode {
|
|
337
|
-
let scalars =
|
|
338
|
-
let queries = generateOpenCrudQueries(model)
|
|
340
|
+
export function buildServerSchema(model: Model, dialect: Dialect): DocumentNode {
|
|
341
|
+
let scalars = ['ID'].concat(Object.keys(customScalars)).map(name => 'scalar ' + name).join('\n')
|
|
342
|
+
let queries = generateOpenCrudQueries(model, dialect)
|
|
339
343
|
return parse(scalars + '\n\n' + queries)
|
|
340
344
|
}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import {GraphQLScalarType} from "graphql"
|
|
2
|
+
import {invalidFormat} from "../../util"
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
export const BigIntScalar = new GraphQLScalarType({
|
|
6
|
+
name: 'BigInt',
|
|
7
|
+
description: 'Big number integer',
|
|
8
|
+
serialize(value: number | string | bigint) {
|
|
9
|
+
return ''+value
|
|
10
|
+
},
|
|
11
|
+
parseValue(value: string) {
|
|
12
|
+
if (!isBigInt(value)) throw invalidFormat('BigInt', value)
|
|
13
|
+
return BigInt(value)
|
|
14
|
+
},
|
|
15
|
+
parseLiteral(ast) {
|
|
16
|
+
switch(ast.kind) {
|
|
17
|
+
case "StringValue":
|
|
18
|
+
if (isBigInt(ast.value)) {
|
|
19
|
+
return BigInt(ast.value)
|
|
20
|
+
} else {
|
|
21
|
+
throw invalidFormat('BigInt', ast.value)
|
|
22
|
+
}
|
|
23
|
+
case "IntValue":
|
|
24
|
+
return BigInt(ast.value)
|
|
25
|
+
default:
|
|
26
|
+
return null
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
})
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
function isBigInt(s: string): boolean {
|
|
33
|
+
return /^[+\-]?\d+$/.test(s)
|
|
34
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import {decodeHex, isHex} from "@subsquid/util"
|
|
2
|
+
import {GraphQLScalarType} from "graphql"
|
|
3
|
+
import {invalidFormat} from "../../util"
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
export const BytesScalar = new GraphQLScalarType({
|
|
7
|
+
name: 'Bytes',
|
|
8
|
+
description: 'Binary data encoded as a hex string always prefixed with 0x',
|
|
9
|
+
serialize(value: string | Buffer) {
|
|
10
|
+
if (typeof value == 'string') {
|
|
11
|
+
if (!isHex(value)) throw invalidFormat('Bytes', value)
|
|
12
|
+
return value.toLowerCase()
|
|
13
|
+
} else {
|
|
14
|
+
return '0x' + value.toString('hex')
|
|
15
|
+
}
|
|
16
|
+
},
|
|
17
|
+
parseValue(value: string) {
|
|
18
|
+
return decodeHex(value)
|
|
19
|
+
},
|
|
20
|
+
parseLiteral(ast) {
|
|
21
|
+
switch(ast.kind) {
|
|
22
|
+
case "StringValue":
|
|
23
|
+
return decodeHex(ast.value)
|
|
24
|
+
default:
|
|
25
|
+
return null
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
})
|