@subsquid/openreader 0.4.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 +22 -7
- 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 +121 -25
- 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.d.ts +2 -0
- package/dist/test/isNull.test.d.ts.map +1 -0
- package/dist/test/isNull.test.js +75 -0
- package/dist/test/isNull.test.js.map +1 -0
- 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 +3 -0
- package/dist/where.js.map +1 -1
- package/package.json +4 -4
- package/src/dialect.ts +2 -0
- package/src/gql/opencrud.ts +24 -8
- 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 +114 -22
- 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 +79 -0
- 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 +5 -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
package/src/test/fts.test.ts
CHANGED
|
@@ -1,10 +1,12 @@
|
|
|
1
|
-
import {useDatabase, useServer} from "./
|
|
1
|
+
import {isCockroach, useDatabase, useServer} from "./setup"
|
|
2
|
+
|
|
2
3
|
|
|
3
4
|
function tsvector(columns: string[]) {
|
|
4
5
|
return columns.map(col => `setweight(to_tsvector('english', coalesce(${col}, '')), 'A')`).join(' || ')
|
|
5
6
|
}
|
|
6
7
|
|
|
7
|
-
|
|
8
|
+
|
|
9
|
+
isCockroach() || describe('full text search', function () {
|
|
8
10
|
useDatabase([
|
|
9
11
|
`create table foo (
|
|
10
12
|
id text primary key,
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import {useDatabase, useServer} from "./setup"
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
describe('isNull operator', function() {
|
|
5
|
+
useDatabase([
|
|
6
|
+
`create table meta (id text primary key)`,
|
|
7
|
+
`create table entity (id text primary key, scalar text, json jsonb, meta_id text)`,
|
|
8
|
+
`insert into meta (id) values ('1')`,
|
|
9
|
+
`insert into entity (id, json, meta_id) values ('1', '{"a": 1}', '1')`,
|
|
10
|
+
`insert into entity (id, scalar, meta_id) values ('2', 'foo', '1')`,
|
|
11
|
+
`insert into entity (id, scalar, json) values ('3', 'foo', '{"a": 2}')`,
|
|
12
|
+
`insert into entity (id, scalar, json, meta_id) values ('4', 'foo', '{}', '1')`,
|
|
13
|
+
])
|
|
14
|
+
|
|
15
|
+
const client = useServer(`
|
|
16
|
+
type Meta @entity {
|
|
17
|
+
id: ID!
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
type Entity @entity {
|
|
21
|
+
id: ID!
|
|
22
|
+
scalar: String
|
|
23
|
+
json: JsonObject
|
|
24
|
+
meta: Meta
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
type JsonObject {
|
|
28
|
+
a: Int
|
|
29
|
+
}
|
|
30
|
+
`)
|
|
31
|
+
|
|
32
|
+
it("on scalar", function() {
|
|
33
|
+
return client.test(`
|
|
34
|
+
query {
|
|
35
|
+
entities(where: {scalar_isNull: true}) {
|
|
36
|
+
id
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
`, {
|
|
40
|
+
entities: [{id: '1'}]
|
|
41
|
+
})
|
|
42
|
+
})
|
|
43
|
+
|
|
44
|
+
it("on json", function() {
|
|
45
|
+
return client.test(`
|
|
46
|
+
query {
|
|
47
|
+
entities(where: {json_isNull: true}) {
|
|
48
|
+
id
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
`, {
|
|
52
|
+
entities: [{id: '2'}]
|
|
53
|
+
})
|
|
54
|
+
})
|
|
55
|
+
|
|
56
|
+
it("on nested json prop", function() {
|
|
57
|
+
return client.test(`
|
|
58
|
+
query {
|
|
59
|
+
entities(where: {json: {a_isNull: true}} orderBy: id_ASC) {
|
|
60
|
+
id
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
`, {
|
|
64
|
+
entities: [{id: '2'}, {id: '4'}]
|
|
65
|
+
})
|
|
66
|
+
})
|
|
67
|
+
|
|
68
|
+
it("on fk", function() {
|
|
69
|
+
return client.test(`
|
|
70
|
+
query {
|
|
71
|
+
entities(where: {meta_isNull: true}) {
|
|
72
|
+
id
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
`, {
|
|
76
|
+
entities: [{id: '3'}]
|
|
77
|
+
})
|
|
78
|
+
})
|
|
79
|
+
})
|
package/src/test/lists.test.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {useDatabase, useServer} from "./
|
|
1
|
+
import {useDatabase, useServer} from "./setup"
|
|
2
2
|
|
|
3
3
|
|
|
4
4
|
describe('lists', function () {
|
|
@@ -172,8 +172,8 @@ describe('lists', function () {
|
|
|
172
172
|
`, {
|
|
173
173
|
lists: [{
|
|
174
174
|
datetimeArray: [
|
|
175
|
-
'2020-01-01T00:00:00.
|
|
176
|
-
'2021-01-01T00:00:00.
|
|
175
|
+
'2020-01-01T00:00:00.000000Z',
|
|
176
|
+
'2021-01-01T00:00:00.000000Z'
|
|
177
177
|
]
|
|
178
178
|
}]
|
|
179
179
|
})
|
package/src/test/lookup.test.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {useDatabase, useServer} from "./
|
|
1
|
+
import {isCockroach, useDatabase, useServer} from "./setup"
|
|
2
2
|
|
|
3
3
|
describe('lookup test', function () {
|
|
4
4
|
useDatabase([
|
|
@@ -82,16 +82,22 @@ describe('lookup test', function () {
|
|
|
82
82
|
it('supports sorting on lookup fields', function () {
|
|
83
83
|
return client.test(`
|
|
84
84
|
query {
|
|
85
|
-
issues(orderBy: [
|
|
85
|
+
issues(orderBy: [payment_amount_ASC]) {
|
|
86
86
|
id
|
|
87
87
|
}
|
|
88
88
|
}
|
|
89
89
|
`, {
|
|
90
|
-
issues:
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
90
|
+
issues: isCockroach()
|
|
91
|
+
? [
|
|
92
|
+
{id: '3'},
|
|
93
|
+
{id: '2'},
|
|
94
|
+
{id: '1'}
|
|
95
|
+
]
|
|
96
|
+
: [
|
|
97
|
+
{id: '2'},
|
|
98
|
+
{id: '1'},
|
|
99
|
+
{id: '3'}
|
|
100
|
+
]
|
|
95
101
|
})
|
|
96
102
|
})
|
|
97
103
|
|
package/src/test/scalars.test.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {useDatabase, useServer} from "./
|
|
1
|
+
import {useDatabase, useServer} from "./setup"
|
|
2
2
|
|
|
3
3
|
describe('scalars', function() {
|
|
4
4
|
useDatabase([
|
|
@@ -12,6 +12,7 @@ describe('scalars', function() {
|
|
|
12
12
|
`insert into scalar (id, "string") values ('7', 'bar baz foo')`,
|
|
13
13
|
`insert into scalar (id, "string") values ('8', 'baz foo bar')`,
|
|
14
14
|
`insert into scalar (id, "string") values ('9', 'hello')`,
|
|
15
|
+
`insert into scalar (id, "string") values ('9-1', 'A fOo B')`,
|
|
15
16
|
`insert into scalar (id, "date_time", deep) values ('10', '2021-09-24T15:43:13.400Z', '{"dateTime": "2021-09-24T00:00:00.120Z"}'::jsonb)`,
|
|
16
17
|
`insert into scalar (id, "date_time", deep) values ('11', '2021-09-24T00:00:00.000Z', '{"dateTime": "2021-09-24T00:00:00Z"}'::jsonb)`,
|
|
17
18
|
`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)`,
|
|
@@ -106,16 +107,18 @@ describe('scalars', function() {
|
|
|
106
107
|
not_ends_with: scalars(where: {string_not_endsWith: "foo"} orderBy: id_ASC) { id }
|
|
107
108
|
contains: scalars(where: {string_contains: "foo"} orderBy: id_ASC) { id }
|
|
108
109
|
not_contains: scalars(where: {string_not_contains: "foo"} orderBy: id_ASC) { id }
|
|
109
|
-
|
|
110
|
+
contains_insensitive: scalars(where: {string_containsInsensitive: "FoO"} orderBy: id_ASC) { id }
|
|
111
|
+
not_contains_insensitive: scalars(where: {string_not_containsInsensitive: "FoO"} orderBy: id_ASC) { id }
|
|
110
112
|
}
|
|
111
113
|
`, {
|
|
112
114
|
starts_with: [{id: '6'}],
|
|
113
|
-
not_starts_with: [{id: '7'}, {id: '8'}, {id: '9'}],
|
|
115
|
+
not_starts_with: [{id: '7'}, {id: '8'}, {id: '9'}, {id: '9-1'}],
|
|
114
116
|
ends_with: [{id: '7'}],
|
|
115
|
-
not_ends_with: [{id: '6'}, {id: '8'}, {id: '9'}],
|
|
117
|
+
not_ends_with: [{id: '6'}, {id: '8'}, {id: '9'}, {id: '9-1'}],
|
|
116
118
|
contains: [{id: '6'}, {id: '7'}, {id: '8'}],
|
|
117
|
-
not_contains: [{id: '9'}],
|
|
118
|
-
|
|
119
|
+
not_contains: [{id: '9'}, {id: '9-1'}],
|
|
120
|
+
contains_insensitive: [{id: '6'}, {id: '7'}, {id: '8'}, {id: '9-1'}],
|
|
121
|
+
not_contains_insensitive: [{id: '9'}]
|
|
119
122
|
})
|
|
120
123
|
})
|
|
121
124
|
})
|
|
@@ -239,9 +242,9 @@ describe('scalars', function() {
|
|
|
239
242
|
}
|
|
240
243
|
`, {
|
|
241
244
|
scalars: [
|
|
242
|
-
{id: '10', dateTime: '2021-09-24T15:43:13.
|
|
243
|
-
{id: '11', dateTime: '2021-09-24T00:00:00.
|
|
244
|
-
{id: '12', dateTime: '2021-09-24T01:00:00.
|
|
245
|
+
{id: '10', dateTime: '2021-09-24T15:43:13.400000Z', deep: {dateTime: '2021-09-24T00:00:00.120Z'}},
|
|
246
|
+
{id: '11', dateTime: '2021-09-24T00:00:00.000000Z', deep: {dateTime: '2021-09-24T00:00:00Z'}},
|
|
247
|
+
{id: '12', dateTime: '2021-09-24T01:00:00.001000Z', deep: {dateTime: '2021-09-24T00:00:00.1Z'}}
|
|
245
248
|
]
|
|
246
249
|
})
|
|
247
250
|
})
|
|
@@ -1,12 +1,25 @@
|
|
|
1
|
+
import {assertNotNull} from "@subsquid/util"
|
|
1
2
|
import {Client} from "gql-test-client"
|
|
2
3
|
import {parse} from "graphql"
|
|
3
4
|
import {Client as PgClient, ClientBase, Pool} from "pg"
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {ListeningServer, serve} from "../../server"
|
|
5
|
+
import {buildModel, buildSchema} from "../gql/schema"
|
|
6
|
+
import {ListeningServer, serve} from "../server"
|
|
7
7
|
|
|
8
8
|
|
|
9
|
-
export
|
|
9
|
+
export function isCockroach(): boolean {
|
|
10
|
+
return process.env.DB_TYPE == 'cockroach'
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
export const db_config = {
|
|
15
|
+
host: 'localhost',
|
|
16
|
+
port: parseInt(assertNotNull(
|
|
17
|
+
isCockroach() ? process.env.DB_PORT_COCKROACH : process.env.DB_PORT_PG
|
|
18
|
+
)),
|
|
19
|
+
user: 'root',
|
|
20
|
+
password: 'root',
|
|
21
|
+
database: 'defaultdb'
|
|
22
|
+
}
|
|
10
23
|
|
|
11
24
|
|
|
12
25
|
async function withClient(block: (client: ClientBase) => Promise<void>): Promise<void> {
|
|
@@ -31,8 +44,8 @@ export function databaseInit(sql: string[]): Promise<void> {
|
|
|
31
44
|
|
|
32
45
|
export function databaseDelete(): Promise<void> {
|
|
33
46
|
return withClient(async client => {
|
|
34
|
-
await client.query(`DROP SCHEMA IF EXISTS
|
|
35
|
-
await client.query(`CREATE SCHEMA
|
|
47
|
+
await client.query(`DROP SCHEMA IF EXISTS root CASCADE`)
|
|
48
|
+
await client.query(`CREATE SCHEMA root`)
|
|
36
49
|
})
|
|
37
50
|
}
|
|
38
51
|
|
|
@@ -53,7 +66,8 @@ export function useServer(schema: string): Client {
|
|
|
53
66
|
info = await serve({
|
|
54
67
|
db,
|
|
55
68
|
model: buildModel(buildSchema(parse(schema))),
|
|
56
|
-
port: 0
|
|
69
|
+
port: 0,
|
|
70
|
+
dialect: isCockroach() ? 'cockroach' : 'postgres'
|
|
57
71
|
})
|
|
58
72
|
client.endpoint = `http://localhost:${info.port}/graphql`
|
|
59
73
|
})
|
package/src/test/unions.test.ts
CHANGED
package/src/test/where.test.ts
CHANGED
package/src/util.ts
CHANGED
package/src/where.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
|
|
2
2
|
export type WhereOp =
|
|
3
3
|
'-' | // no operator
|
|
4
|
+
'isNull' |
|
|
4
5
|
'eq' | 'not_eq' |
|
|
5
6
|
'gt' |
|
|
6
7
|
'gte' |
|
|
@@ -8,6 +9,7 @@ export type WhereOp =
|
|
|
8
9
|
'lte' |
|
|
9
10
|
'in' | 'not_in' |
|
|
10
11
|
'contains' | 'not_contains' |
|
|
12
|
+
'containsInsensitive' | 'not_containsInsensitive' |
|
|
11
13
|
'startsWith' | 'not_startsWith' |
|
|
12
14
|
'endsWith' | 'not_endsWith' |
|
|
13
15
|
'containsAll' |
|
|
@@ -19,6 +21,7 @@ export type WhereOp =
|
|
|
19
21
|
|
|
20
22
|
|
|
21
23
|
const ENDINGS = [
|
|
24
|
+
'isNull',
|
|
22
25
|
'eq',
|
|
23
26
|
'not_eq',
|
|
24
27
|
'gt',
|
|
@@ -29,6 +32,8 @@ const ENDINGS = [
|
|
|
29
32
|
'not_in',
|
|
30
33
|
'contains',
|
|
31
34
|
'not_contains',
|
|
35
|
+
'containsInsensitive',
|
|
36
|
+
'not_containsInsensitive',
|
|
32
37
|
'startsWith',
|
|
33
38
|
'not_startsWith',
|
|
34
39
|
'endsWith',
|
package/dist/scalars.d.ts
DELETED
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* The current concept of custom scalars is as follows:
|
|
3
|
-
*
|
|
4
|
-
* Each custom scalar has a canonical string representation which is used almost everywhere:
|
|
5
|
-
* in JSON responses
|
|
6
|
-
* in graphql queries/schemas
|
|
7
|
-
* in jsonb database columns
|
|
8
|
-
* in database results
|
|
9
|
-
*
|
|
10
|
-
* Database must support 2 way coercion between underlying database type and canonical representation
|
|
11
|
-
* of a corresponding scalar.
|
|
12
|
-
*
|
|
13
|
-
* We receive from database canonical strings and use them within our resolvers as is.
|
|
14
|
-
*
|
|
15
|
-
* GraphQL parsing procedures convert canonical string representation to corresponding js type.
|
|
16
|
-
* This is for compatibility with possible extensions which would like to reuse our scalars.
|
|
17
|
-
*
|
|
18
|
-
* In GraphQL serialization procedures we accept both a canonical string representation
|
|
19
|
-
* and corresponding js type.
|
|
20
|
-
*/
|
|
21
|
-
import { GraphQLScalarType } from "graphql";
|
|
22
|
-
export interface Scalar {
|
|
23
|
-
gql: GraphQLScalarType;
|
|
24
|
-
fromStringCast: (sqlExp: string) => string;
|
|
25
|
-
toStringCast: (sqlExp: string) => string;
|
|
26
|
-
toStringArrayCast: (sqlExp: string) => string;
|
|
27
|
-
}
|
|
28
|
-
export declare const scalars: Record<string, Scalar>;
|
|
29
|
-
export declare const scalars_list: string[];
|
|
30
|
-
export declare function getScalarResolvers(): Record<string, GraphQLScalarType>;
|
|
31
|
-
export declare function toOutputCast(scalarType: string, sqlExp: string): string;
|
|
32
|
-
export declare function fromStringCast(scalarType: string, sqlExp: string): string;
|
|
33
|
-
export declare function toOutputArrayCast(scalarType: string, sqlExp: string): string;
|
|
34
|
-
export declare function fromJsonCast(scalarType: string, objSqlExp: string, prop: string): string;
|
|
35
|
-
export declare function fromJsonToOutputCast(scalarType: string, objSqlExp: string, prop: string): string;
|
|
36
|
-
//# sourceMappingURL=scalars.d.ts.map
|
package/dist/scalars.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"scalars.d.ts","sourceRoot":"","sources":["../src/scalars.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,EAAC,iBAAiB,EAAC,MAAM,SAAS,CAAA;AAGzC,MAAM,WAAW,MAAM;IACnB,GAAG,EAAE,iBAAiB,CAAA;IACtB,cAAc,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,MAAM,CAAA;IAC1C,YAAY,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,MAAM,CAAA;IACxC,iBAAiB,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,MAAM,CAAA;CAChD;AAGD,eAAO,MAAM,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CA0G1C,CAAA;AAyCD,eAAO,MAAM,YAAY,UAAsC,CAAA;AAG/D,wBAAgB,kBAAkB,IAAI,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAMtE;AAGD,wBAAgB,YAAY,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAOvE;AAGD,wBAAgB,cAAc,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAOzE;AAGD,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAO5E;AAGD,wBAAgB,YAAY,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAWxF;AAGD,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,UAWvF"}
|
package/dist/scalars.js
DELETED
|
@@ -1,229 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* The current concept of custom scalars is as follows:
|
|
4
|
-
*
|
|
5
|
-
* Each custom scalar has a canonical string representation which is used almost everywhere:
|
|
6
|
-
* in JSON responses
|
|
7
|
-
* in graphql queries/schemas
|
|
8
|
-
* in jsonb database columns
|
|
9
|
-
* in database results
|
|
10
|
-
*
|
|
11
|
-
* Database must support 2 way coercion between underlying database type and canonical representation
|
|
12
|
-
* of a corresponding scalar.
|
|
13
|
-
*
|
|
14
|
-
* We receive from database canonical strings and use them within our resolvers as is.
|
|
15
|
-
*
|
|
16
|
-
* GraphQL parsing procedures convert canonical string representation to corresponding js type.
|
|
17
|
-
* This is for compatibility with possible extensions which would like to reuse our scalars.
|
|
18
|
-
*
|
|
19
|
-
* In GraphQL serialization procedures we accept both a canonical string representation
|
|
20
|
-
* and corresponding js type.
|
|
21
|
-
*/
|
|
22
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
23
|
-
exports.fromJsonToOutputCast = exports.fromJsonCast = exports.toOutputArrayCast = exports.fromStringCast = exports.toOutputCast = exports.getScalarResolvers = exports.scalars_list = exports.scalars = void 0;
|
|
24
|
-
const graphql_1 = require("graphql");
|
|
25
|
-
exports.scalars = {
|
|
26
|
-
BigInt: {
|
|
27
|
-
gql: new graphql_1.GraphQLScalarType({
|
|
28
|
-
name: 'BigInt',
|
|
29
|
-
description: 'Big number integer',
|
|
30
|
-
serialize(value) {
|
|
31
|
-
return '' + value;
|
|
32
|
-
},
|
|
33
|
-
parseValue(value) {
|
|
34
|
-
if (!isBigInt(value))
|
|
35
|
-
throw invalidFormat('BigInt', value);
|
|
36
|
-
return BigInt(value);
|
|
37
|
-
},
|
|
38
|
-
parseLiteral(ast) {
|
|
39
|
-
switch (ast.kind) {
|
|
40
|
-
case "StringValue":
|
|
41
|
-
if (isBigInt(ast.value)) {
|
|
42
|
-
return BigInt(ast.value);
|
|
43
|
-
}
|
|
44
|
-
else {
|
|
45
|
-
throw invalidFormat('BigInt', ast.value);
|
|
46
|
-
}
|
|
47
|
-
case "IntValue":
|
|
48
|
-
return BigInt(ast.value);
|
|
49
|
-
default:
|
|
50
|
-
return null;
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
}),
|
|
54
|
-
fromStringCast(exp) {
|
|
55
|
-
return `(${exp})::numeric`;
|
|
56
|
-
},
|
|
57
|
-
toStringCast(exp) {
|
|
58
|
-
return `(${exp})::text`;
|
|
59
|
-
},
|
|
60
|
-
toStringArrayCast(exp) {
|
|
61
|
-
return `(${exp})::text[]`;
|
|
62
|
-
}
|
|
63
|
-
},
|
|
64
|
-
DateTime: {
|
|
65
|
-
gql: new graphql_1.GraphQLScalarType({
|
|
66
|
-
name: 'DateTime',
|
|
67
|
-
description: 'A date-time string in simplified extended ISO 8601 format (YYYY-MM-DDTHH:mm:ss.sssZ)',
|
|
68
|
-
serialize(value) {
|
|
69
|
-
if (value instanceof Date) {
|
|
70
|
-
return value.toISOString();
|
|
71
|
-
}
|
|
72
|
-
else {
|
|
73
|
-
if (!isIsoDateTimeString(value))
|
|
74
|
-
throw invalidFormat('DateTime', value);
|
|
75
|
-
return value;
|
|
76
|
-
}
|
|
77
|
-
},
|
|
78
|
-
parseValue(value) {
|
|
79
|
-
return parseDateTime(value);
|
|
80
|
-
},
|
|
81
|
-
parseLiteral(ast) {
|
|
82
|
-
switch (ast.kind) {
|
|
83
|
-
case "StringValue":
|
|
84
|
-
return parseDateTime(ast.value);
|
|
85
|
-
default:
|
|
86
|
-
return null;
|
|
87
|
-
}
|
|
88
|
-
}
|
|
89
|
-
}),
|
|
90
|
-
fromStringCast(exp) {
|
|
91
|
-
return `(${exp})::timestamptz`;
|
|
92
|
-
},
|
|
93
|
-
toStringCast(exp) {
|
|
94
|
-
return `to_char((${exp}) at time zone 'UTC', 'YYYY-MM-DD"T"HH24:MI:SS.MS"Z"')`;
|
|
95
|
-
},
|
|
96
|
-
toStringArrayCast(exp) {
|
|
97
|
-
return `array(select to_char(i at time zone 'UTC', 'YYYY-MM-DD"T"HH24:MI:SS.MS"Z"') from unnest(${exp}) as i)`;
|
|
98
|
-
}
|
|
99
|
-
},
|
|
100
|
-
Bytes: {
|
|
101
|
-
gql: new graphql_1.GraphQLScalarType({
|
|
102
|
-
name: 'Bytes',
|
|
103
|
-
description: 'Binary data encoded as a hex string always prefixed with 0x',
|
|
104
|
-
serialize(value) {
|
|
105
|
-
if (typeof value == 'string') {
|
|
106
|
-
if (!isBytesString(value))
|
|
107
|
-
throw invalidFormat('Bytes', value);
|
|
108
|
-
return value.toLowerCase();
|
|
109
|
-
}
|
|
110
|
-
else {
|
|
111
|
-
return '0x' + value.toString('hex');
|
|
112
|
-
}
|
|
113
|
-
},
|
|
114
|
-
parseValue(value) {
|
|
115
|
-
return parseBytes(value);
|
|
116
|
-
},
|
|
117
|
-
parseLiteral(ast) {
|
|
118
|
-
switch (ast.kind) {
|
|
119
|
-
case "StringValue":
|
|
120
|
-
return parseBytes(ast.value);
|
|
121
|
-
default:
|
|
122
|
-
return null;
|
|
123
|
-
}
|
|
124
|
-
}
|
|
125
|
-
}),
|
|
126
|
-
fromStringCast(exp) {
|
|
127
|
-
return `decode(substr(${exp}, 3), 'hex')`;
|
|
128
|
-
},
|
|
129
|
-
toStringCast(exp) {
|
|
130
|
-
return `'0x' || encode(${exp}, 'hex')`;
|
|
131
|
-
},
|
|
132
|
-
toStringArrayCast(exp) {
|
|
133
|
-
return `array(select '0x' || encode(i, 'hex') from unnest(${exp}) as i)`;
|
|
134
|
-
}
|
|
135
|
-
}
|
|
136
|
-
};
|
|
137
|
-
function isBigInt(s) {
|
|
138
|
-
return /^[+\-]?\d+$/.test(s);
|
|
139
|
-
}
|
|
140
|
-
// credit - https://github.com/Urigo/graphql-scalars/blob/91b4ea8df891be8af7904cf84751930cc0c6613d/src/scalars/iso-date/validator.ts#L122
|
|
141
|
-
const RFC_3339_REGEX = /^(\d{4}-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|3[01])T([01][0-9]|2[0-3]):([0-5][0-9]):([0-5][0-9]|60))(\.\d{1,})?([Z])$/;
|
|
142
|
-
function isIsoDateTimeString(s) {
|
|
143
|
-
return RFC_3339_REGEX.test(s);
|
|
144
|
-
}
|
|
145
|
-
function parseDateTime(s) {
|
|
146
|
-
if (!isIsoDateTimeString(s))
|
|
147
|
-
throw invalidFormat('DateTime', s);
|
|
148
|
-
let timestamp = Date.parse(s);
|
|
149
|
-
if (isNaN(timestamp))
|
|
150
|
-
throw invalidFormat('DateTime', s);
|
|
151
|
-
return new Date(timestamp);
|
|
152
|
-
}
|
|
153
|
-
function isBytesString(s) {
|
|
154
|
-
return s.length % 2 == 0 && /^0x[a-f0-9]+$/i.test(s);
|
|
155
|
-
}
|
|
156
|
-
function parseBytes(s) {
|
|
157
|
-
if (!isBytesString(s))
|
|
158
|
-
throw invalidFormat('Bytes', s);
|
|
159
|
-
return Buffer.from(s.slice(2), 'hex');
|
|
160
|
-
}
|
|
161
|
-
function invalidFormat(type, value) {
|
|
162
|
-
return new TypeError(`Not a ${type}: ${value}`);
|
|
163
|
-
}
|
|
164
|
-
exports.scalars_list = ['ID'].concat(Object.keys(exports.scalars));
|
|
165
|
-
function getScalarResolvers() {
|
|
166
|
-
let resolvers = {};
|
|
167
|
-
for (let type in exports.scalars) {
|
|
168
|
-
resolvers[type] = exports.scalars[type].gql;
|
|
169
|
-
}
|
|
170
|
-
return resolvers;
|
|
171
|
-
}
|
|
172
|
-
exports.getScalarResolvers = getScalarResolvers;
|
|
173
|
-
function toOutputCast(scalarType, sqlExp) {
|
|
174
|
-
let s = exports.scalars[scalarType];
|
|
175
|
-
if (s) {
|
|
176
|
-
return s.toStringCast(sqlExp);
|
|
177
|
-
}
|
|
178
|
-
else {
|
|
179
|
-
return sqlExp;
|
|
180
|
-
}
|
|
181
|
-
}
|
|
182
|
-
exports.toOutputCast = toOutputCast;
|
|
183
|
-
function fromStringCast(scalarType, sqlExp) {
|
|
184
|
-
let s = exports.scalars[scalarType];
|
|
185
|
-
if (s) {
|
|
186
|
-
return s.fromStringCast(sqlExp);
|
|
187
|
-
}
|
|
188
|
-
else {
|
|
189
|
-
return sqlExp;
|
|
190
|
-
}
|
|
191
|
-
}
|
|
192
|
-
exports.fromStringCast = fromStringCast;
|
|
193
|
-
function toOutputArrayCast(scalarType, sqlExp) {
|
|
194
|
-
let s = exports.scalars[scalarType];
|
|
195
|
-
if (s) {
|
|
196
|
-
return s.toStringArrayCast(sqlExp);
|
|
197
|
-
}
|
|
198
|
-
else {
|
|
199
|
-
return sqlExp;
|
|
200
|
-
}
|
|
201
|
-
}
|
|
202
|
-
exports.toOutputArrayCast = toOutputArrayCast;
|
|
203
|
-
function fromJsonCast(scalarType, objSqlExp, prop) {
|
|
204
|
-
switch (scalarType) {
|
|
205
|
-
case 'Int':
|
|
206
|
-
return `(${objSqlExp}->'${prop}')::integer`;
|
|
207
|
-
case 'Float':
|
|
208
|
-
return `(${objSqlExp}->'${prop}')::numeric`;
|
|
209
|
-
case 'Boolean':
|
|
210
|
-
return `(${objSqlExp}->'${prop}')::bool`;
|
|
211
|
-
default:
|
|
212
|
-
return fromStringCast(scalarType, `${objSqlExp}->>'${prop}'`);
|
|
213
|
-
}
|
|
214
|
-
}
|
|
215
|
-
exports.fromJsonCast = fromJsonCast;
|
|
216
|
-
function fromJsonToOutputCast(scalarType, objSqlExp, prop) {
|
|
217
|
-
switch (scalarType) {
|
|
218
|
-
case 'Int':
|
|
219
|
-
return `(${objSqlExp}->'${prop}')::integer`;
|
|
220
|
-
case 'Float':
|
|
221
|
-
return `(${objSqlExp}->'${prop}')::numeric`;
|
|
222
|
-
case 'Boolean':
|
|
223
|
-
return `(${objSqlExp}->'${prop}')::bool`;
|
|
224
|
-
default:
|
|
225
|
-
return `${objSqlExp}->>'${prop}'`;
|
|
226
|
-
}
|
|
227
|
-
}
|
|
228
|
-
exports.fromJsonToOutputCast = fromJsonToOutputCast;
|
|
229
|
-
//# sourceMappingURL=scalars.js.map
|
package/dist/scalars.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"scalars.js","sourceRoot":"","sources":["../src/scalars.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../../src/test/util/setup.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,MAAM,EAAC,MAAM,iBAAiB,CAAA;AAQtC,eAAO,MAAM,SAAS,yBAAqB,CAAA;AAc3C,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,CAehD"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"setup.js","sourceRoot":"","sources":["../../../src/test/util/setup.ts"],"names":[],"mappings":";;;AAAA,qDAAsC;AACtC,qCAA6B;AAC7B,2BAAuD;AACvD,iCAAyC;AACzC,6CAAwD;AACxD,yCAAmD;AAGtC,QAAA,SAAS,GAAG,IAAA,qBAAgB,GAAE,CAAA;AAG3C,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,sCAAsC,CAAC,CAAA;QAC1D,MAAM,MAAM,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAA;IAC9C,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;SACV,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;AAfD,8BAeC"}
|