@subsquid/openreader 0.2.1 → 0.4.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.
Files changed (131) hide show
  1. package/README.md +2 -15
  2. package/bin/main.js +2 -0
  3. package/dist/db.d.ts +28 -0
  4. package/dist/db.d.ts.map +1 -0
  5. package/dist/db.js +69 -0
  6. package/dist/db.js.map +1 -0
  7. package/dist/gql/opencrud.d.ts +1 -0
  8. package/dist/gql/opencrud.d.ts.map +1 -0
  9. package/dist/gql/opencrud.js +10 -9
  10. package/dist/gql/opencrud.js.map +1 -1
  11. package/dist/gql/schema.d.ts +1 -0
  12. package/dist/gql/schema.d.ts.map +1 -0
  13. package/dist/gql/schema.js +116 -17
  14. package/dist/gql/schema.js.map +1 -1
  15. package/dist/main.d.ts +2 -3
  16. package/dist/main.d.ts.map +1 -0
  17. package/dist/main.js +6 -30
  18. package/dist/main.js.map +1 -1
  19. package/dist/model.d.ts +9 -0
  20. package/dist/model.d.ts.map +1 -0
  21. package/dist/model.tools.d.ts +2 -0
  22. package/dist/model.tools.d.ts.map +1 -0
  23. package/dist/model.tools.js +27 -1
  24. package/dist/model.tools.js.map +1 -1
  25. package/dist/orderBy.d.ts +1 -0
  26. package/dist/orderBy.d.ts.map +1 -0
  27. package/dist/queryBuilder.d.ts +3 -2
  28. package/dist/queryBuilder.d.ts.map +1 -0
  29. package/dist/queryBuilder.js +28 -27
  30. package/dist/queryBuilder.js.map +1 -1
  31. package/dist/relayConnection.d.ts +1 -0
  32. package/dist/relayConnection.d.ts.map +1 -0
  33. package/dist/requestedFields.d.ts +1 -0
  34. package/dist/requestedFields.d.ts.map +1 -0
  35. package/dist/requestedFields.js +3 -3
  36. package/dist/requestedFields.js.map +1 -1
  37. package/dist/resolver.d.ts +3 -2
  38. package/dist/resolver.d.ts.map +1 -0
  39. package/dist/resolver.js +12 -11
  40. package/dist/resolver.js.map +1 -1
  41. package/dist/scalars.d.ts +2 -2
  42. package/dist/scalars.d.ts.map +1 -0
  43. package/dist/scalars.js.map +1 -1
  44. package/dist/server.d.ts +5 -11
  45. package/dist/server.d.ts.map +1 -0
  46. package/dist/server.js +13 -31
  47. package/dist/server.js.map +1 -1
  48. package/dist/test/basic.test.d.ts +2 -0
  49. package/dist/test/basic.test.d.ts.map +1 -0
  50. package/dist/test/basic.test.js +286 -0
  51. package/dist/test/basic.test.js.map +1 -0
  52. package/dist/test/connection.test.d.ts +2 -0
  53. package/dist/test/connection.test.d.ts.map +1 -0
  54. package/dist/test/connection.test.js +193 -0
  55. package/dist/test/connection.test.js.map +1 -0
  56. package/dist/test/fts.test.d.ts +2 -0
  57. package/dist/test/fts.test.d.ts.map +1 -0
  58. package/dist/test/fts.test.js +110 -0
  59. package/dist/test/fts.test.js.map +1 -0
  60. package/dist/test/lists.test.d.ts +2 -0
  61. package/dist/test/lists.test.d.ts.map +1 -0
  62. package/dist/test/lists.test.js +266 -0
  63. package/dist/test/lists.test.js.map +1 -0
  64. package/dist/test/lookup.test.d.ts +2 -0
  65. package/dist/test/lookup.test.d.ts.map +1 -0
  66. package/dist/test/lookup.test.js +109 -0
  67. package/dist/test/lookup.test.js.map +1 -0
  68. package/dist/test/scalars.test.d.ts +2 -0
  69. package/dist/test/scalars.test.d.ts.map +1 -0
  70. package/dist/test/scalars.test.js +303 -0
  71. package/dist/test/scalars.test.js.map +1 -0
  72. package/dist/test/tools.test.d.ts +2 -0
  73. package/dist/test/tools.test.d.ts.map +1 -0
  74. package/dist/test/tools.test.js +49 -0
  75. package/dist/test/tools.test.js.map +1 -0
  76. package/dist/test/typed-json.test.d.ts +2 -0
  77. package/dist/test/typed-json.test.d.ts.map +1 -0
  78. package/dist/test/typed-json.test.js +75 -0
  79. package/dist/test/typed-json.test.js.map +1 -0
  80. package/dist/test/unions.test.d.ts +2 -0
  81. package/dist/test/unions.test.d.ts.map +1 -0
  82. package/dist/test/unions.test.js +84 -0
  83. package/dist/test/unions.test.js.map +1 -0
  84. package/dist/test/util/setup.d.ts +7 -0
  85. package/dist/test/util/setup.d.ts.map +1 -0
  86. package/dist/test/util/setup.js +60 -0
  87. package/dist/test/util/setup.js.map +1 -0
  88. package/dist/test/where.test.d.ts +2 -0
  89. package/dist/test/where.test.d.ts.map +1 -0
  90. package/dist/test/where.test.js +127 -0
  91. package/dist/test/where.test.js.map +1 -0
  92. package/dist/tools.d.ts +1 -0
  93. package/dist/tools.d.ts.map +1 -0
  94. package/dist/util.d.ts +1 -13
  95. package/dist/util.d.ts.map +1 -0
  96. package/dist/util.js +6 -79
  97. package/dist/util.js.map +1 -1
  98. package/dist/where.d.ts +1 -0
  99. package/dist/where.d.ts.map +1 -0
  100. package/package.json +26 -20
  101. package/src/db.ts +83 -0
  102. package/src/gql/opencrud.ts +328 -0
  103. package/src/gql/schema.ts +463 -0
  104. package/src/main.ts +51 -0
  105. package/src/model.tools.ts +201 -0
  106. package/src/model.ts +137 -0
  107. package/src/orderBy.ts +105 -0
  108. package/src/queryBuilder.ts +785 -0
  109. package/src/relayConnection.ts +80 -0
  110. package/src/requestedFields.ts +246 -0
  111. package/src/resolver.ts +199 -0
  112. package/src/scalars.ts +247 -0
  113. package/src/server.ts +115 -0
  114. package/src/test/basic.test.ts +339 -0
  115. package/src/test/connection.test.ts +195 -0
  116. package/src/test/fts.test.ts +114 -0
  117. package/src/test/lists.test.ts +278 -0
  118. package/src/test/lookup.test.ts +111 -0
  119. package/src/test/scalars.test.ts +316 -0
  120. package/src/test/tools.test.ts +27 -0
  121. package/src/test/typed-json.test.ts +76 -0
  122. package/src/test/unions.test.ts +85 -0
  123. package/src/test/util/setup.ts +63 -0
  124. package/src/test/where.test.ts +135 -0
  125. package/src/tools.ts +33 -0
  126. package/src/util.ts +39 -0
  127. package/src/where.ts +110 -0
  128. package/CHANGELOG.md +0 -20
  129. package/dist/transaction.d.ts +0 -10
  130. package/dist/transaction.js +0 -47
  131. package/dist/transaction.js.map +0 -1
@@ -0,0 +1,109 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const setup_1 = require("./util/setup");
4
+ describe('lookup test', function () {
5
+ (0, setup_1.useDatabase)([
6
+ `create table issue (id text primary key)`,
7
+ `create table issue_payment (id text primary key, issue_id text not null unique, amount numeric)`,
8
+ `create table issue_cancellation (id text primary key, issue_id text not null unique, height int)`,
9
+ `insert into issue (id) values ('1')`,
10
+ `insert into issue (id) values ('2')`,
11
+ `insert into issue (id) values ('3')`,
12
+ `insert into issue_payment (id, issue_id, amount) values ('1', '1', 2)`,
13
+ `insert into issue_payment (id, issue_id, amount) values ('2', '2', 1)`,
14
+ `insert into issue_cancellation (id, issue_id, height) values ('3', '3', 10)`,
15
+ ]);
16
+ const client = (0, setup_1.useServer)(`
17
+ type Issue @entity {
18
+ id: ID!
19
+ payment: IssuePayment @derivedFrom(field: "issue")
20
+ cancellation: IssueCancellation @derivedFrom(field: "issue")
21
+ }
22
+
23
+ type IssuePayment @entity {
24
+ id: ID!
25
+ issue: Issue! @unique
26
+ amount: Int!
27
+ }
28
+
29
+ type IssueCancellation @entity {
30
+ id: ID!
31
+ issue: Issue! @unique
32
+ height: Int!
33
+ }
34
+ `);
35
+ it('fetches correctly', function () {
36
+ return client.test(`
37
+ query {
38
+ issues(orderBy: [id_ASC]) {
39
+ id
40
+ payment {
41
+ amount
42
+ }
43
+ cancellation {
44
+ height
45
+ issue {
46
+ cancellation {
47
+ id
48
+ }
49
+ }
50
+ }
51
+ }
52
+ }
53
+ `, {
54
+ issues: [
55
+ {
56
+ id: '1',
57
+ payment: { amount: 2 },
58
+ cancellation: null
59
+ },
60
+ {
61
+ id: '2',
62
+ payment: { amount: 1 },
63
+ cancellation: null
64
+ },
65
+ {
66
+ id: '3',
67
+ payment: null,
68
+ cancellation: {
69
+ height: 10,
70
+ issue: {
71
+ cancellation: {
72
+ id: '3'
73
+ }
74
+ }
75
+ }
76
+ }
77
+ ]
78
+ });
79
+ });
80
+ it('supports sorting on lookup fields', function () {
81
+ return client.test(`
82
+ query {
83
+ issues(orderBy: [payment_amount_DESC]) {
84
+ id
85
+ }
86
+ }
87
+ `, {
88
+ issues: [
89
+ { id: '3' },
90
+ { id: '1' },
91
+ { id: '2' }
92
+ ]
93
+ });
94
+ });
95
+ it('supports where conditions', function () {
96
+ return client.test(`
97
+ query {
98
+ issues(where: {payment: {amount_gt: 1}}) {
99
+ id
100
+ }
101
+ }
102
+ `, {
103
+ issues: [
104
+ { id: '1' }
105
+ ]
106
+ });
107
+ });
108
+ });
109
+ //# sourceMappingURL=lookup.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lookup.test.js","sourceRoot":"","sources":["../../src/test/lookup.test.ts"],"names":[],"mappings":";;AAAA,wCAAmD;AAEnD,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;gBACJ,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,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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=scalars.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scalars.test.d.ts","sourceRoot":"","sources":["../../src/test/scalars.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,303 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const setup_1 = require("./util/setup");
4
+ describe('scalars', function () {
5
+ (0, setup_1.useDatabase)([
6
+ `create table scalar (id text primary key, "boolean" bool, "bigint" numeric, "string" text, enum text, date_time timestamptz, "bytes" bytea, deep jsonb)`,
7
+ `insert into scalar (id, "boolean") values ('1', true)`,
8
+ `insert into scalar (id, "boolean", deep) values ('2', false, '{"boolean": true}'::jsonb)`,
9
+ `insert into scalar (id, "bigint", deep) values ('3', 1000000000000000000000000000000000000, '{"bigint": "1000000000000000000000000000000000000"}'::jsonb)`,
10
+ `insert into scalar (id, "bigint", deep) values ('4', 2000000000000000000000000000000000000, '{"bigint": "2000000000000000000000000000000000000"}'::jsonb)`,
11
+ `insert into scalar (id, "bigint", deep) values ('5', 5, '{"bigint": "5"}'::jsonb)`,
12
+ `insert into scalar (id, "string") values ('6', 'foo bar baz')`,
13
+ `insert into scalar (id, "string") values ('7', 'bar baz foo')`,
14
+ `insert into scalar (id, "string") values ('8', 'baz foo bar')`,
15
+ `insert into scalar (id, "string") values ('9', 'hello')`,
16
+ `insert into scalar (id, "date_time", deep) values ('10', '2021-09-24T15:43:13.400Z', '{"dateTime": "2021-09-24T00:00:00.120Z"}'::jsonb)`,
17
+ `insert into scalar (id, "date_time", deep) values ('11', '2021-09-24T00:00:00.000Z', '{"dateTime": "2021-09-24T00:00:00Z"}'::jsonb)`,
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)`,
19
+ `insert into scalar (id, "bytes", deep) values ('13', decode('aa', 'hex'), '{"bytes": "0xaa"}'::jsonb)`,
20
+ `insert into scalar (id, "bytes", deep) values ('14', decode('bb', 'hex'), '{"bytes": "0xCCDD"}'::jsonb)`,
21
+ `insert into scalar (id, "enum") values ('15', 'A')`,
22
+ `insert into scalar (id, "enum") values ('16', 'B')`,
23
+ `insert into scalar (id, "enum") values ('17', 'C')`,
24
+ ]);
25
+ const client = (0, setup_1.useServer)(`
26
+ type Scalar @entity {
27
+ id: ID!
28
+ boolean: Boolean
29
+ string: String
30
+ enum: Enum
31
+ bigint: BigInt
32
+ dateTime: DateTime
33
+ bytes: Bytes
34
+ deep: DeepScalar
35
+ }
36
+
37
+ type DeepScalar {
38
+ bigint: BigInt
39
+ dateTime: DateTime
40
+ bytes: Bytes
41
+ boolean: Boolean
42
+ }
43
+
44
+ enum Enum {
45
+ A B C
46
+ }
47
+ `);
48
+ describe('Boolean', function () {
49
+ it('outputs correctly', function () {
50
+ return client.test(`
51
+ query {
52
+ scalars(where: {id_in: ["1", "2"]} orderBy: id_ASC) {
53
+ id
54
+ boolean
55
+ }
56
+ }
57
+ `, {
58
+ scalars: [
59
+ { id: '1', boolean: true },
60
+ { id: '2', boolean: false }
61
+ ]
62
+ });
63
+ });
64
+ it('output from nested object', function () {
65
+ return client.test(`
66
+ query {
67
+ scalars(where: {id_eq: "2"}) {
68
+ deep {
69
+ boolean
70
+ }
71
+ }
72
+ }
73
+ `, {
74
+ scalars: [
75
+ { deep: { boolean: true } }
76
+ ]
77
+ });
78
+ });
79
+ it('supports where conditions', function () {
80
+ return client.test(`
81
+ query {
82
+ t: scalars(where: {boolean_eq: true}) { id }
83
+ f: scalars(where: {boolean_eq: false}) { id }
84
+ nt: scalars(where: {boolean_not_eq: true}) { id }
85
+ nf: scalars(where: {boolean_not_eq: false}) { id }
86
+ }
87
+ `, {
88
+ t: [{ id: '1' }],
89
+ f: [{ id: '2' }],
90
+ nt: [{ id: '2' }],
91
+ nf: [{ id: '1' }]
92
+ });
93
+ });
94
+ });
95
+ describe('String', function () {
96
+ it('supports where conditions', function () {
97
+ return client.test(`
98
+ query {
99
+ starts_with: scalars(where: {string_startsWith: "foo"} orderBy: id_ASC) { id }
100
+ not_starts_with: scalars(where: {string_not_startsWith: "foo"} orderBy: id_ASC) { id }
101
+ ends_with: scalars(where: {string_endsWith: "foo"} orderBy: id_ASC) { id }
102
+ not_ends_with: scalars(where: {string_not_endsWith: "foo"} orderBy: id_ASC) { id }
103
+ contains: scalars(where: {string_contains: "foo"} orderBy: id_ASC) { id }
104
+ not_contains: scalars(where: {string_not_contains: "foo"} orderBy: id_ASC) { id }
105
+ case_sensitive: scalars(where: {string_contains: "Foo"} orderBy: id_ASC) { id }
106
+ }
107
+ `, {
108
+ starts_with: [{ id: '6' }],
109
+ not_starts_with: [{ id: '7' }, { id: '8' }, { id: '9' }],
110
+ ends_with: [{ id: '7' }],
111
+ not_ends_with: [{ id: '6' }, { id: '8' }, { id: '9' }],
112
+ contains: [{ id: '6' }, { id: '7' }, { id: '8' }],
113
+ not_contains: [{ id: '9' }],
114
+ case_sensitive: []
115
+ });
116
+ });
117
+ });
118
+ describe('Enum', function () {
119
+ it('outputs correctly', function () {
120
+ return client.test(`
121
+ query {
122
+ scalars(where: {id_in: ["15", "16", "17"]} orderBy: id_ASC) {
123
+ id
124
+ enum
125
+ }
126
+ }
127
+ `, {
128
+ scalars: [
129
+ { id: '15', enum: 'A' },
130
+ { id: '16', enum: 'B' },
131
+ { id: '17', enum: 'C' },
132
+ ]
133
+ });
134
+ });
135
+ it('supports where conditions', function () {
136
+ return client.test(`
137
+ query {
138
+ eq: scalars(where: {enum_eq: A} orderBy: id_ASC) { id }
139
+ not_eq: scalars(where: {enum_not_eq: A} orderBy: id_ASC) { id }
140
+ in: scalars(where: {enum_in: [A, B]} orderBy: id_ASC) { id }
141
+ not_in: scalars(where: {enum_not_in: B} orderBy: id_ASC) { id }
142
+ }
143
+ `, {
144
+ eq: [{ id: '15' }],
145
+ not_eq: [{ id: '16' }, { id: '17' }],
146
+ in: [{ id: '15' }, { id: '16' }],
147
+ not_in: [{ id: '15' }, { id: '17' }],
148
+ });
149
+ });
150
+ });
151
+ describe('BigInt', function () {
152
+ it('outputs correctly', function () {
153
+ return client.test(`
154
+ query {
155
+ scalars(where: {id_in: ["3", "4", "5"]} orderBy: id_ASC) {
156
+ id
157
+ bigint
158
+ deep { bigint }
159
+ }
160
+ }
161
+ `, {
162
+ scalars: [
163
+ {
164
+ id: '3',
165
+ bigint: '1000000000000000000000000000000000000',
166
+ deep: { bigint: '1000000000000000000000000000000000000' }
167
+ },
168
+ {
169
+ id: '4',
170
+ bigint: '2000000000000000000000000000000000000',
171
+ deep: { bigint: '2000000000000000000000000000000000000' }
172
+ },
173
+ {
174
+ id: '5',
175
+ bigint: '5',
176
+ deep: { bigint: '5' }
177
+ }
178
+ ]
179
+ });
180
+ });
181
+ it('supports where conditions', function () {
182
+ return client.test(`
183
+ query {
184
+ eq: scalars(where: {bigint_eq: 2000000000000000000000000000000000000} orderBy: id_ASC) { id }
185
+ not_eq: scalars(where: {bigint_not_eq: 2000000000000000000000000000000000000} orderBy: id_ASC) { id }
186
+ gt: scalars(where: {bigint_gt: 1000000000000000000000000000000000000} orderBy: id_ASC) { id }
187
+ gte: scalars(where: {bigint_gte: 1000000000000000000000000000000000000} orderBy: id_ASC) { id }
188
+ lt: scalars(where: {bigint_lt: 1000000000000000000000000000000000000} orderBy: id_ASC) { id }
189
+ lte: scalars(where: {bigint_lte: 1000000000000000000000000000000000000} orderBy: id_ASC) { id }
190
+ in: scalars(where: {bigint_in: [1000000000000000000000000000000000000, 5]} orderBy: id_ASC) { id }
191
+ not_in: scalars(where: {bigint_not_in: [1000000000000000000000000000000000000, 5]} orderBy: id_ASC) { id }
192
+ }
193
+ `, {
194
+ eq: [{ id: '4' }],
195
+ not_eq: [{ id: '3' }, { id: '5' }],
196
+ gt: [{ id: '4' }],
197
+ gte: [{ id: '3' }, { id: '4' }],
198
+ lt: [{ id: '5' }],
199
+ lte: [{ id: '3' }, { id: '5' }],
200
+ in: [{ id: '3' }, { id: '5' }],
201
+ not_in: [{ id: '4' }]
202
+ });
203
+ });
204
+ it('json sort', function () {
205
+ return client.test(`
206
+ query {
207
+ scalars(orderBy: deep_bigint_ASC where: {id_in: ["3", "4", "5"]}) {
208
+ id
209
+ }
210
+ }
211
+ `, {
212
+ scalars: [
213
+ { id: '5' },
214
+ { id: '3' },
215
+ { id: '4' }
216
+ ]
217
+ });
218
+ });
219
+ });
220
+ describe('DateTime', function () {
221
+ it('outputs correctly', function () {
222
+ return client.test(`
223
+ query {
224
+ scalars(where: {id_in: ["10", "11", "12"]} orderBy: id_ASC) {
225
+ id
226
+ dateTime
227
+ deep { dateTime }
228
+ }
229
+ }
230
+ `, {
231
+ scalars: [
232
+ { id: '10', dateTime: '2021-09-24T15:43:13.400Z', deep: { dateTime: '2021-09-24T00:00:00.120Z' } },
233
+ { id: '11', dateTime: '2021-09-24T00:00:00.000Z', deep: { dateTime: '2021-09-24T00:00:00Z' } },
234
+ { id: '12', dateTime: '2021-09-24T01:00:00.001Z', deep: { dateTime: '2021-09-24T00:00:00.1Z' } }
235
+ ]
236
+ });
237
+ });
238
+ it('supports where conditions', function () {
239
+ return client.test(`
240
+ query {
241
+ gt: scalars(orderBy: id_ASC, where: {dateTime_gt: "2021-09-24T00:00:00Z"}) { id }
242
+ gte: scalars(orderBy: id_ASC, where: {dateTime_gte: "2021-09-24T00:00:00Z"}) { id }
243
+ lt: scalars(orderBy: id_ASC, where: {dateTime_lt: "2021-09-24T00:00:00Z"}) { id }
244
+ lte: scalars(orderBy: id_ASC, where: {dateTime_lte: "2021-09-24T00:00:00Z"}) { id }
245
+ in: scalars(orderBy: id_ASC, where: {dateTime_in: ["2021-09-24T00:00:00Z", "2021-09-24T15:43:13.400Z"]}) { id }
246
+ not_in: scalars(orderBy: id_ASC, where: {dateTime_not_in: ["2021-09-24T00:00:00Z", "2021-09-24T15:43:13.400Z"]}) { id }
247
+ }
248
+ `, {
249
+ gt: [{ id: '10' }, { id: '12' }],
250
+ gte: [{ id: '10' }, { id: '11' }, { id: '12' }],
251
+ lt: [],
252
+ lte: [{ id: '11' }],
253
+ in: [{ id: '10' }, { 'id': '11' }],
254
+ not_in: [{ 'id': '12' }]
255
+ });
256
+ });
257
+ it('json sort', function () {
258
+ return client.test(`
259
+ query {
260
+ scalars(orderBy: deep_dateTime_ASC where: {id_in: ["10", "11", "12"]}) {
261
+ id
262
+ }
263
+ }
264
+ `, {
265
+ scalars: [
266
+ { id: '11' },
267
+ { id: '12' },
268
+ { id: '10' }
269
+ ]
270
+ });
271
+ });
272
+ });
273
+ describe('Bytes', function () {
274
+ it('outputs correctly', function () {
275
+ return client.test(`
276
+ query {
277
+ scalars(where: {id_in: ["13", "14"]} orderBy: id_ASC) {
278
+ id
279
+ bytes
280
+ deep { bytes }
281
+ }
282
+ }
283
+ `, {
284
+ scalars: [
285
+ { id: '13', bytes: '0xaa', deep: { bytes: '0xaa' } },
286
+ { id: '14', bytes: '0xbb', deep: { bytes: '0xccdd' } },
287
+ ]
288
+ });
289
+ });
290
+ it('supports where conditions', function () {
291
+ return client.test(`
292
+ query {
293
+ eq: scalars(where: {bytes_eq: "0xaa"} orderBy: id_ASC) { id }
294
+ deep_eq: scalars(where: {deep: {bytes_eq: "0xccdd"}} orderBy: id_ASC) { id }
295
+ }
296
+ `, {
297
+ eq: [{ id: '13' }],
298
+ deep_eq: [{ id: '14' }]
299
+ });
300
+ });
301
+ });
302
+ });
303
+ //# sourceMappingURL=scalars.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scalars.test.js","sourceRoot":"","sources":["../../src/test/scalars.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=tools.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tools.test.d.ts","sourceRoot":"","sources":["../../src/test/tools.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
11
+ }) : function(o, v) {
12
+ o["default"] = v;
13
+ });
14
+ var __importStar = (this && this.__importStar) || function (mod) {
15
+ if (mod && mod.__esModule) return mod;
16
+ var result = {};
17
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
+ __setModuleDefault(result, mod);
19
+ return result;
20
+ };
21
+ var __importDefault = (this && this.__importDefault) || function (mod) {
22
+ return (mod && mod.__esModule) ? mod : { "default": mod };
23
+ };
24
+ Object.defineProperty(exports, "__esModule", { value: true });
25
+ const path = __importStar(require("path"));
26
+ const expect_1 = __importDefault(require("expect"));
27
+ const tools_1 = require("../tools");
28
+ function fixture(name) {
29
+ return path.join(__dirname, '../../fixtures', name);
30
+ }
31
+ describe('tools', function () {
32
+ describe('loadModel()', function () {
33
+ it('loads model from a single file', function () {
34
+ let model = (0, tools_1.loadModel)(fixture('schema.graphql'));
35
+ (0, expect_1.default)(model).toMatchObject({
36
+ Account: { kind: 'entity' },
37
+ HistoricalBalance: { kind: 'entity' }
38
+ });
39
+ });
40
+ it('loads model from a directory', function () {
41
+ let model = (0, tools_1.loadModel)(fixture('schema'));
42
+ (0, expect_1.default)(model).toMatchObject({
43
+ Account: { kind: 'entity' },
44
+ HistoricalBalance: { kind: 'entity' }
45
+ });
46
+ });
47
+ });
48
+ });
49
+ //# sourceMappingURL=tools.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tools.test.js","sourceRoot":"","sources":["../../src/test/tools.test.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA,2CAA4B;AAC5B,oDAA2B;AAC3B,oCAAkC;AAElC,SAAS,OAAO,CAAC,IAAY;IACzB,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,gBAAgB,EAAE,IAAI,CAAC,CAAA;AACvD,CAAC;AAED,QAAQ,CAAC,OAAO,EAAE;IACd,QAAQ,CAAC,aAAa,EAAE;QACpB,EAAE,CAAC,gCAAgC,EAAE;YACjC,IAAI,KAAK,GAAG,IAAA,iBAAS,EAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAA;YAChD,IAAA,gBAAM,EAAC,KAAK,CAAC,CAAC,aAAa,CAAC;gBACxB,OAAO,EAAE,EAAC,IAAI,EAAE,QAAQ,EAAC;gBACzB,iBAAiB,EAAE,EAAC,IAAI,EAAE,QAAQ,EAAC;aACtC,CAAC,CAAA;QACN,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,8BAA8B,EAAE;YAC/B,IAAI,KAAK,GAAG,IAAA,iBAAS,EAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAA;YACxC,IAAA,gBAAM,EAAC,KAAK,CAAC,CAAC,aAAa,CAAC;gBACxB,OAAO,EAAE,EAAC,IAAI,EAAE,QAAQ,EAAC;gBACzB,iBAAiB,EAAE,EAAC,IAAI,EAAE,QAAQ,EAAC;aACtC,CAAC,CAAA;QACN,CAAC,CAAC,CAAA;IACN,CAAC,CAAC,CAAA;AACN,CAAC,CAAC,CAAA"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=typed-json.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"typed-json.test.d.ts","sourceRoot":"","sources":["../../src/test/typed-json.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,75 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const setup_1 = require("./util/setup");
4
+ describe('typed json fields', function () {
5
+ (0, setup_1.useDatabase)([
6
+ `create table entity (id text primary key, a jsonb)`,
7
+ `insert into entity (id, a) values ('1', '{"a": "a", "b": {"b": "b", "e": "1"}}'::jsonb)`,
8
+ `insert into entity (id, a) values ('2', '{"a": "A", "b": {"b": "B", "e": "1"}}'::jsonb)`,
9
+ `insert into entity (id, a) values ('3', '{}'::jsonb)`,
10
+ `insert into entity (id) values ('4')`,
11
+ ]);
12
+ const client = (0, setup_1.useServer)(`
13
+ type Entity @entity {
14
+ a: A
15
+ }
16
+
17
+ type A {
18
+ a: String
19
+ b: B
20
+ }
21
+
22
+ type B {
23
+ a: A
24
+ b: String
25
+ e: Entity
26
+ }
27
+ `);
28
+ it('maps nulls correctly', function () {
29
+ return client.test(`
30
+ query {
31
+ entities(orderBy: id_ASC) {
32
+ id
33
+ a { a }
34
+ }
35
+ }
36
+ `, {
37
+ entities: [
38
+ { id: '1', a: { a: 'a' } },
39
+ { id: '2', a: { a: 'A' } },
40
+ { id: '3', a: { a: null } },
41
+ { id: '4', a: null }
42
+ ]
43
+ });
44
+ });
45
+ it('can fetch deep entities', function () {
46
+ return client.test(`
47
+ query {
48
+ entities(orderBy: id_ASC) {
49
+ id
50
+ a {
51
+ b {
52
+ e {
53
+ id
54
+ a {
55
+ b {
56
+ b
57
+ e { id }
58
+ }
59
+ }
60
+ }
61
+ }
62
+ }
63
+ }
64
+ }
65
+ `, {
66
+ entities: [
67
+ { id: '1', a: { b: { e: { id: '1', a: { b: { b: 'b', e: { id: '1' } } } } } } },
68
+ { id: '2', a: { b: { e: { id: '1', a: { b: { b: 'b', e: { id: '1' } } } } } } },
69
+ { id: '3', a: { b: null } },
70
+ { id: '4', a: null }
71
+ ]
72
+ });
73
+ });
74
+ });
75
+ //# sourceMappingURL=typed-json.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"typed-json.test.js","sourceRoot":"","sources":["../../src/test/typed-json.test.ts"],"names":[],"mappings":";;AAAA,wCAAmD;AAEnD,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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=unions.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"unions.test.d.ts","sourceRoot":"","sources":["../../src/test/unions.test.ts"],"names":[],"mappings":""}