eth-graph-query 1.1.21 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +82 -10
- package/dist/cjs/eth-graph-query.d.ts +6 -12
- package/dist/cjs/eth-graph-query.d.ts.map +1 -1
- package/dist/cjs/eth-graph-query.js +15 -9
- package/dist/cjs/eth-graph-query.js.map +1 -1
- package/dist/cjs/normal-query.d.ts.map +1 -1
- package/dist/cjs/normal-query.js +14 -5
- package/dist/cjs/normal-query.js.map +1 -1
- package/dist/cjs/query-builder.d.ts +12 -11
- package/dist/cjs/query-builder.d.ts.map +1 -1
- package/dist/cjs/query-builder.js +44 -9
- package/dist/cjs/query-builder.js.map +1 -1
- package/dist/cjs/type.d.ts +15 -3
- package/dist/cjs/type.d.ts.map +1 -1
- package/dist/cjs/type.js.map +1 -1
- package/dist/esm/eth-graph-query.d.ts +6 -12
- package/dist/esm/eth-graph-query.d.ts.map +1 -1
- package/dist/esm/eth-graph-query.js +15 -9
- package/dist/esm/eth-graph-query.js.map +1 -1
- package/dist/esm/normal-query.d.ts.map +1 -1
- package/dist/esm/normal-query.js +14 -5
- package/dist/esm/normal-query.js.map +1 -1
- package/dist/esm/query-builder.d.ts +12 -11
- package/dist/esm/query-builder.d.ts.map +1 -1
- package/dist/esm/query-builder.js +45 -10
- package/dist/esm/query-builder.js.map +1 -1
- package/dist/esm/type.d.ts +15 -3
- package/dist/esm/type.d.ts.map +1 -1
- package/dist/esm/type.js.map +1 -1
- package/dist/tsconfig.prod.cjs.tsbuildinfo +1 -1
- package/dist/tsconfig.prod.esm.tsbuildinfo +1 -1
- package/package.json +2 -2
- package/src/eth-graph-query.ts +20 -14
- package/src/normal-query.ts +15 -5
- package/src/query-builder.ts +65 -16
- package/src/type.ts +19 -2
package/README.md
CHANGED
|
@@ -29,26 +29,59 @@ yarn add eth-graph-query
|
|
|
29
29
|
const query = new EthGraphQuery(root);
|
|
30
30
|
```
|
|
31
31
|
|
|
32
|
-
- This package has
|
|
32
|
+
- This package has three query options. Simply, you can create a direct string query
|
|
33
33
|
|
|
34
34
|
```js
|
|
35
|
-
|
|
35
|
+
result = await query.stringQuery(`query query {
|
|
36
|
+
collection1(first: 10) {
|
|
37
|
+
element1
|
|
38
|
+
element2
|
|
39
|
+
}
|
|
40
|
+
}`);
|
|
36
41
|
```
|
|
37
42
|
|
|
38
|
-
-
|
|
43
|
+
- More readable, you can create a single json query
|
|
39
44
|
|
|
40
45
|
```js
|
|
41
|
-
const result = await query.
|
|
42
|
-
|
|
43
|
-
|
|
46
|
+
const result = await query.query({
|
|
47
|
+
collection: 'collection1',
|
|
48
|
+
params: {
|
|
49
|
+
elements: ['element1', 'element2'],
|
|
50
|
+
first: 10,
|
|
51
|
+
},
|
|
52
|
+
});
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
- You can create a multiple json queries
|
|
56
|
+
|
|
57
|
+
```js
|
|
58
|
+
const result = await query.multipleQuery([
|
|
59
|
+
{
|
|
60
|
+
collection: 'collection1',
|
|
61
|
+
params: {
|
|
62
|
+
elements: ['element11', 'element12'],
|
|
63
|
+
},
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
collection: 'collection2',
|
|
67
|
+
params: {
|
|
68
|
+
elements: ['element21', 'element22'],
|
|
69
|
+
},
|
|
70
|
+
},
|
|
44
71
|
]);
|
|
45
72
|
```
|
|
46
73
|
|
|
47
74
|
- You can create a complex query
|
|
48
75
|
|
|
49
76
|
```js
|
|
50
|
-
const
|
|
51
|
-
{
|
|
77
|
+
const result = await query.multipleQuery([
|
|
78
|
+
{
|
|
79
|
+
collection: 'collection1',
|
|
80
|
+
params: {
|
|
81
|
+
elements: ['element11', 'element12'],
|
|
82
|
+
where: { element11: 'abc' },
|
|
83
|
+
},
|
|
84
|
+
},
|
|
52
85
|
{
|
|
53
86
|
collection: 'collection2',
|
|
54
87
|
params: {
|
|
@@ -56,10 +89,31 @@ const result1 = await query.mergeQuery([
|
|
|
56
89
|
'element21',
|
|
57
90
|
{
|
|
58
91
|
collection: 'collection3',
|
|
59
|
-
params: {
|
|
92
|
+
params: {
|
|
93
|
+
elements: ['element31'],
|
|
94
|
+
where: {
|
|
95
|
+
id: { $in: ['123'] },
|
|
96
|
+
token_: { setId: { $in: ['1', 2, true] } },
|
|
97
|
+
element31: 'element31',
|
|
98
|
+
},
|
|
99
|
+
first: 50,
|
|
100
|
+
},
|
|
101
|
+
},
|
|
102
|
+
],
|
|
103
|
+
where: {
|
|
104
|
+
element21: '123',
|
|
105
|
+
collection3: { element31: '123' },
|
|
106
|
+
},
|
|
107
|
+
inlineFragments: [
|
|
108
|
+
{
|
|
109
|
+
collection: 'BridgeDepositTransaction',
|
|
110
|
+
params: { elements: ['id', 'l1Token'] },
|
|
111
|
+
},
|
|
112
|
+
{
|
|
113
|
+
collection: 'NameSignalTransaction',
|
|
114
|
+
params: { elements: ['id', 'timestamp'] },
|
|
60
115
|
},
|
|
61
116
|
],
|
|
62
|
-
where: { element21: '123', collection3: { element31: '123' } },
|
|
63
117
|
},
|
|
64
118
|
},
|
|
65
119
|
]);
|
|
@@ -72,3 +126,21 @@ const result1 = await query.mergeQuery([
|
|
|
72
126
|
Read the [API Docs](https://github.com/phamhongphuc1999/eth-graph-query/blob/main/documents/api.md), you also read my [examples](https://github.com/phamhongphuc1999/eth-graph-query/blob/main/examples)
|
|
73
127
|
|
|
74
128
|
---
|
|
129
|
+
|
|
130
|
+
### For developer
|
|
131
|
+
|
|
132
|
+
- Run example
|
|
133
|
+
|
|
134
|
+
```shell
|
|
135
|
+
npm run example example/file-name
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
- Run test
|
|
139
|
+
|
|
140
|
+
```shell
|
|
141
|
+
npm run test
|
|
142
|
+
```
|
|
143
|
+
|
|
144
|
+
### Reference
|
|
145
|
+
|
|
146
|
+
- https://spec.graphql.org
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { AxiosRequestConfig } from 'axios';
|
|
2
2
|
import { NormalQuery } from './normal-query.js';
|
|
3
|
-
import {
|
|
3
|
+
import { GraphObject, Metadata } from './type.js';
|
|
4
4
|
export declare class EthGraphQuery extends NormalQuery {
|
|
5
5
|
queryName: string;
|
|
6
6
|
/**
|
|
@@ -14,28 +14,22 @@ export declare class EthGraphQuery extends NormalQuery {
|
|
|
14
14
|
* @param {string} query A query string containing all data you want to fetch
|
|
15
15
|
* @returns The data respective with the query string
|
|
16
16
|
*/
|
|
17
|
-
|
|
17
|
+
stringQuery<T = any>(data: string): Promise<T>;
|
|
18
18
|
/**
|
|
19
19
|
* Create a query to a particular collection, returns the data respective with the query data.
|
|
20
|
-
* @param {
|
|
20
|
+
* @param {GraphObject} data An data for create query, contains two elements:
|
|
21
21
|
* 1. collection: string - collection name
|
|
22
22
|
* 2. params: GraphParams | undefined - If it is defined, it create a query to the collection
|
|
23
23
|
* @param {Metadata | undefined} metadata If it is defined, the query can get metadata that you defined
|
|
24
24
|
* @returns The data respective with the query data
|
|
25
25
|
*/
|
|
26
|
-
query<T = any>(data:
|
|
27
|
-
collection: string;
|
|
28
|
-
params?: GraphParams;
|
|
29
|
-
}, metadata?: Metadata): Promise<T>;
|
|
26
|
+
query<T = any>(data: GraphObject, metadata?: Metadata): Promise<T>;
|
|
30
27
|
/**
|
|
31
28
|
* Create a query to many collections, returns the data respective with the query data.
|
|
32
|
-
* @param {Array<
|
|
29
|
+
* @param {Array<GraphObject>} data An array contain data to query to many collections
|
|
33
30
|
* @param {Metadata | undefined} metadata If it is defined, the query can get metadata that you defined
|
|
34
31
|
* @returns The data respective with the query data
|
|
35
32
|
*/
|
|
36
|
-
|
|
37
|
-
collection: string;
|
|
38
|
-
params?: GraphParams;
|
|
39
|
-
}>, metadata?: Metadata): Promise<T>;
|
|
33
|
+
multipleQuery<T = any>(data: Array<GraphObject>, metadata?: Metadata): Promise<T>;
|
|
40
34
|
}
|
|
41
35
|
//# sourceMappingURL=eth-graph-query.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eth-graph-query.d.ts","sourceRoot":"","sources":["../../src/eth-graph-query.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,OAAO,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,OAAO,
|
|
1
|
+
{"version":3,"file":"eth-graph-query.d.ts","sourceRoot":"","sources":["../../src/eth-graph-query.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,OAAO,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,OAAO,EAAe,WAAW,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAE/D,qBAAa,aAAc,SAAQ,WAAW;IAC5C,SAAS,EAAE,MAAM,CAAC;IAElB;;;;OAIG;gBACS,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,kBAAkB;IAKxD;;;;OAIG;IACG,WAAW,CAAC,CAAC,GAAG,GAAG,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC;IASpD;;;;;;;OAOG;IACG,KAAK,CAAC,CAAC,GAAG,GAAG,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC,CAAC,CAAC;IASxE;;;;;OAKG;IACG,aAAa,CAAC,CAAC,GAAG,GAAG,EAAE,IAAI,EAAE,KAAK,CAAC,WAAW,CAAC,EAAE,QAAQ,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC,CAAC,CAAC;CAIxF"}
|
|
@@ -27,14 +27,19 @@ class EthGraphQuery extends normal_query_js_1.NormalQuery {
|
|
|
27
27
|
* @param {string} query A query string containing all data you want to fetch
|
|
28
28
|
* @returns The data respective with the query string
|
|
29
29
|
*/
|
|
30
|
-
|
|
30
|
+
stringQuery(data) {
|
|
31
31
|
return __awaiter(this, void 0, void 0, function* () {
|
|
32
|
-
|
|
32
|
+
const result = yield this.post('', { query: data });
|
|
33
|
+
if (result.errors) {
|
|
34
|
+
const _error = result;
|
|
35
|
+
throw new Error(_error.errors[0].message);
|
|
36
|
+
}
|
|
37
|
+
return result;
|
|
33
38
|
});
|
|
34
39
|
}
|
|
35
40
|
/**
|
|
36
41
|
* Create a query to a particular collection, returns the data respective with the query data.
|
|
37
|
-
* @param {
|
|
42
|
+
* @param {GraphObject} data An data for create query, contains two elements:
|
|
38
43
|
* 1. collection: string - collection name
|
|
39
44
|
* 2. params: GraphParams | undefined - If it is defined, it create a query to the collection
|
|
40
45
|
* @param {Metadata | undefined} metadata If it is defined, the query can get metadata that you defined
|
|
@@ -42,20 +47,21 @@ class EthGraphQuery extends normal_query_js_1.NormalQuery {
|
|
|
42
47
|
*/
|
|
43
48
|
query(data, metadata) {
|
|
44
49
|
return __awaiter(this, void 0, void 0, function* () {
|
|
45
|
-
const
|
|
46
|
-
|
|
50
|
+
const _data = data;
|
|
51
|
+
const sQuery = query_builder_js_1.QueryBuilder.buildQuery({ collection: _data.collection, params: _data.params }, metadata);
|
|
52
|
+
return yield this.stringQuery(query_builder_js_1.QueryBuilder.makeFullQuery(sQuery, this.queryName));
|
|
47
53
|
});
|
|
48
54
|
}
|
|
49
55
|
/**
|
|
50
56
|
* Create a query to many collections, returns the data respective with the query data.
|
|
51
|
-
* @param {Array<
|
|
57
|
+
* @param {Array<GraphObject>} data An array contain data to query to many collections
|
|
52
58
|
* @param {Metadata | undefined} metadata If it is defined, the query can get metadata that you defined
|
|
53
59
|
* @returns The data respective with the query data
|
|
54
60
|
*/
|
|
55
|
-
|
|
61
|
+
multipleQuery(data, metadata) {
|
|
56
62
|
return __awaiter(this, void 0, void 0, function* () {
|
|
57
|
-
const sQuery = query_builder_js_1.QueryBuilder.
|
|
58
|
-
return yield this.
|
|
63
|
+
const sQuery = query_builder_js_1.QueryBuilder.buildMultipleQuery(data, metadata);
|
|
64
|
+
return yield this.stringQuery(query_builder_js_1.QueryBuilder.makeFullQuery(sQuery, this.queryName));
|
|
59
65
|
});
|
|
60
66
|
}
|
|
61
67
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eth-graph-query.js","sourceRoot":"","sources":["../../src/eth-graph-query.ts"],"names":[],"mappings":";;;;;;;;;;;;AAEA,uDAAgD;AAChD,yDAAkD;AAGlD,MAAa,aAAc,SAAQ,6BAAW;IAG5C;;;;OAIG;IACH,YAAY,OAAe,EAAE,MAA2B;QACtD,KAAK,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QACvB,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC;IAC3B,CAAC;IAED;;;;OAIG;
|
|
1
|
+
{"version":3,"file":"eth-graph-query.js","sourceRoot":"","sources":["../../src/eth-graph-query.ts"],"names":[],"mappings":";;;;;;;;;;;;AAEA,uDAAgD;AAChD,yDAAkD;AAGlD,MAAa,aAAc,SAAQ,6BAAW;IAG5C;;;;OAIG;IACH,YAAY,OAAe,EAAE,MAA2B;QACtD,KAAK,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QACvB,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC;IAC3B,CAAC;IAED;;;;OAIG;IACG,WAAW,CAAU,IAAY;;YACrC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAqC,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YACxF,IAAK,MAAsB,CAAC,MAAM,EAAE;gBAClC,MAAM,MAAM,GAAG,MAAqB,CAAC;gBACrC,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;aAC3C;YACD,OAAO,MAAW,CAAC;QACrB,CAAC;KAAA;IAED;;;;;;;OAOG;IACG,KAAK,CAAU,IAAiB,EAAE,QAAmB;;YACzD,MAAM,KAAK,GAAG,IAAmB,CAAC;YAClC,MAAM,MAAM,GAAG,+BAAY,CAAC,UAAU,CACpC,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,EACtD,QAAQ,CACT,CAAC;YACF,OAAO,MAAM,IAAI,CAAC,WAAW,CAAI,+BAAY,CAAC,aAAa,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;QACvF,CAAC;KAAA;IAED;;;;;OAKG;IACG,aAAa,CAAU,IAAwB,EAAE,QAAmB;;YACxE,MAAM,MAAM,GAAG,+BAAY,CAAC,kBAAkB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC/D,OAAO,MAAM,IAAI,CAAC,WAAW,CAAI,+BAAY,CAAC,aAAa,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;QACvF,CAAC;KAAA;CACF;AAtDD,sCAsDC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"normal-query.d.ts","sourceRoot":"","sources":["../../src/normal-query.ts"],"names":[],"mappings":"AACA,OAAc,EAAE,kBAAkB,EAAiB,MAAM,OAAO,CAAC;AAEjE,eAAO,MAAM,aAAa;;;CAAqE,CAAC;AAMhG,qBAAa,WAAW;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,kBAAkB,CAAC;gBAEf,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,kBAAkB;
|
|
1
|
+
{"version":3,"file":"normal-query.d.ts","sourceRoot":"","sources":["../../src/normal-query.ts"],"names":[],"mappings":"AACA,OAAc,EAAE,kBAAkB,EAAiB,MAAM,OAAO,CAAC;AAEjE,eAAO,MAAM,aAAa;;;CAAqE,CAAC;AAMhG,qBAAa,WAAW;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,kBAAkB,CAAC;gBAEf,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,kBAAkB;cAOxC,GAAG,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,kBAAkB;cAMrD,IAAI,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,EAAE,kBAAkB;cAMzE,GAAG,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,EAAE,kBAAkB;cAMxE,GAAG,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,kBAAkB;CAKtE"}
|
package/dist/cjs/normal-query.js
CHANGED
|
@@ -22,26 +22,35 @@ function responseBody(res) {
|
|
|
22
22
|
class NormalQuery {
|
|
23
23
|
constructor(rootUrl, config) {
|
|
24
24
|
this.root = rootUrl;
|
|
25
|
-
this.config = config
|
|
25
|
+
this.config = config
|
|
26
|
+
? Object.assign(Object.assign({}, config), { headers: exports.defaultHeader }) : { headers: exports.defaultHeader };
|
|
26
27
|
}
|
|
27
28
|
get(url, config) {
|
|
28
29
|
return __awaiter(this, void 0, void 0, function* () {
|
|
29
|
-
return yield axios_1.default
|
|
30
|
+
return yield axios_1.default
|
|
31
|
+
.get(`${this.root}${url}`, Object.assign(Object.assign({}, config), this.config))
|
|
32
|
+
.then(responseBody);
|
|
30
33
|
});
|
|
31
34
|
}
|
|
32
35
|
post(url, data, config) {
|
|
33
36
|
return __awaiter(this, void 0, void 0, function* () {
|
|
34
|
-
return yield axios_1.default
|
|
37
|
+
return yield axios_1.default
|
|
38
|
+
.post(`${this.root}${url}`, data, Object.assign(Object.assign({}, config), this.config))
|
|
39
|
+
.then(responseBody);
|
|
35
40
|
});
|
|
36
41
|
}
|
|
37
42
|
put(url, data, config) {
|
|
38
43
|
return __awaiter(this, void 0, void 0, function* () {
|
|
39
|
-
return yield axios_1.default
|
|
44
|
+
return yield axios_1.default
|
|
45
|
+
.put(`${this.root}${url}`, data, Object.assign(Object.assign({}, config), this.config))
|
|
46
|
+
.then(responseBody);
|
|
40
47
|
});
|
|
41
48
|
}
|
|
42
49
|
del(url, config) {
|
|
43
50
|
return __awaiter(this, void 0, void 0, function* () {
|
|
44
|
-
return yield axios_1.default
|
|
51
|
+
return yield axios_1.default
|
|
52
|
+
.delete(`${this.root}${url}`, Object.assign(Object.assign({}, config), this.config))
|
|
53
|
+
.then(responseBody);
|
|
45
54
|
});
|
|
46
55
|
}
|
|
47
56
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"normal-query.js","sourceRoot":"","sources":["../../src/normal-query.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,uDAAuD;AACvD,kDAAiE;AAEpD,QAAA,aAAa,GAAG,EAAE,MAAM,EAAE,kBAAkB,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC;AAEhG,SAAS,YAAY,CAAI,GAAqB;IAC5C,OAAO,GAAG,CAAC,IAAI,CAAC;AAClB,CAAC;AAED,MAAa,WAAW;IAItB,YAAY,OAAe,EAAE,MAA2B;QACtD,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC;QACpB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"normal-query.js","sourceRoot":"","sources":["../../src/normal-query.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,uDAAuD;AACvD,kDAAiE;AAEpD,QAAA,aAAa,GAAG,EAAE,MAAM,EAAE,kBAAkB,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC;AAEhG,SAAS,YAAY,CAAI,GAAqB;IAC5C,OAAO,GAAG,CAAC,IAAI,CAAC;AAClB,CAAC;AAED,MAAa,WAAW;IAItB,YAAY,OAAe,EAAE,MAA2B;QACtD,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC;QACpB,IAAI,CAAC,MAAM,GAAG,MAAM;YAClB,CAAC,iCAAM,MAAM,GAAK,EAAE,OAAO,EAAE,qBAAa,EAAE,EAC5C,CAAC,CAAC,EAAE,OAAO,EAAE,qBAAa,EAAE,CAAC;IACjC,CAAC;IAEe,GAAG,CAAU,GAAW,EAAE,MAA2B;;YACnE,OAAO,MAAM,eAAK;iBACf,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,GAAG,GAAG,EAAE,kCAAO,MAAM,GAAK,IAAI,CAAC,MAAM,EAAG;iBACxD,IAAI,CAAI,YAAY,CAAC,CAAC;QAC3B,CAAC;KAAA;IAEe,IAAI,CAAmB,GAAW,EAAE,IAAQ,EAAE,MAA2B;;YACvF,OAAO,MAAM,eAAK;iBACf,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,GAAG,GAAG,EAAE,EAAE,IAAI,kCAAO,MAAM,GAAK,IAAI,CAAC,MAAM,EAAG;iBAC/D,IAAI,CAAI,YAAY,CAAC,CAAC;QAC3B,CAAC;KAAA;IAEe,GAAG,CAAmB,GAAW,EAAE,IAAQ,EAAE,MAA2B;;YACtF,OAAO,MAAM,eAAK;iBACf,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,GAAG,GAAG,EAAE,EAAE,IAAI,kCAAO,MAAM,GAAK,IAAI,CAAC,MAAM,EAAG;iBAC9D,IAAI,CAAI,YAAY,CAAC,CAAC;QAC3B,CAAC;KAAA;IAEe,GAAG,CAAU,GAAW,EAAE,MAA2B;;YACnE,OAAO,MAAM,eAAK;iBACf,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,GAAG,GAAG,EAAE,kCAAO,MAAM,GAAK,IAAI,CAAC,MAAM,EAAG;iBAC3D,IAAI,CAAI,YAAY,CAAC,CAAC;QAC3B,CAAC;KAAA;CACF;AAlCD,kCAkCC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ElementType,
|
|
1
|
+
import { ElementType, GraphObject, InlineFragmentType, Metadata, QueryJson } from './type.js';
|
|
2
2
|
export declare class QueryBuilder {
|
|
3
3
|
/**
|
|
4
4
|
* Create a query string from a query with json format.
|
|
@@ -18,28 +18,29 @@ export declare class QueryBuilder {
|
|
|
18
18
|
* @returns The string represent the metadata you want to query
|
|
19
19
|
*/
|
|
20
20
|
static buildMetadata(metadata: Metadata): string;
|
|
21
|
+
private static _buildInlineFragment;
|
|
22
|
+
/**
|
|
23
|
+
* Given a instance of Array<{@link InlineFragmentType}>, returns the string represent the inline fragments you want to query
|
|
24
|
+
* @param {Array<InlineFragmentType>} fragments The instance represent the inline fragments you want to query
|
|
25
|
+
* @returns The string represent the inline fragments you want to query
|
|
26
|
+
*/
|
|
27
|
+
static buildInlineFragments(fragments: Array<InlineFragmentType>): string;
|
|
21
28
|
/**
|
|
22
29
|
* Given json data, returns the string query. This function only can create a string query for a particular collection.
|
|
23
|
-
* @param {
|
|
30
|
+
* @param {GraphObject} data An data for create query, contains two elements:
|
|
24
31
|
* 1. collection: string - collection name
|
|
25
32
|
* 2. params: GraphParams | undefined - If it is defined, it create a query to the collection
|
|
26
33
|
* @param {Metadata | undefined} metadata If it is defined, the query can get metadata that you defined
|
|
27
34
|
* @returns The string query
|
|
28
35
|
*/
|
|
29
|
-
static buildQuery(data:
|
|
30
|
-
collection: string;
|
|
31
|
-
params?: GraphParams;
|
|
32
|
-
}, metadata?: Metadata): string;
|
|
36
|
+
static buildQuery(data: GraphObject, metadata?: Metadata): string;
|
|
33
37
|
/**
|
|
34
38
|
* Given a array contain many json data, return a query string represent a query to all collections that is in a array.
|
|
35
|
-
* @param {Array<
|
|
39
|
+
* @param {Array<GraphObject>} data An array contain data to query to many collections
|
|
36
40
|
* @param {Metadata | undefined} metadata If it is defined, the query can get metadata that you defined
|
|
37
41
|
* @returns The query string
|
|
38
42
|
*/
|
|
39
|
-
static
|
|
40
|
-
collection: string;
|
|
41
|
-
params?: GraphParams;
|
|
42
|
-
}>, metadata?: Metadata): string;
|
|
43
|
+
static buildMultipleQuery(data: Array<GraphObject>, metadata?: Metadata): string;
|
|
43
44
|
/**
|
|
44
45
|
* Create complete query string, you can use directly this query to query to the graph
|
|
45
46
|
* @param {string} query The query string
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query-builder.d.ts","sourceRoot":"","sources":["../../src/query-builder.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"query-builder.d.ts","sourceRoot":"","sources":["../../src/query-builder.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EACX,WAAW,EAEX,kBAAkB,EAClB,QAAQ,EAER,SAAS,EAEV,MAAM,WAAW,CAAC;AAEnB,qBAAa,YAAY;IACvB;;;;OAIG;IACH,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,SAAS,GAAG,MAAM;IAmC/C;;;;OAIG;IACH,MAAM,CAAC,aAAa,CAAC,QAAQ,EAAE,KAAK,CAAC,WAAW,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC;IAYjE;;;;OAIG;IACH,MAAM,CAAC,aAAa,CAAC,QAAQ,EAAE,QAAQ,GAAG,MAAM;IA+BhD,OAAO,CAAC,MAAM,CAAC,oBAAoB;IAMnC;;;;OAIG;IACH,MAAM,CAAC,oBAAoB,CAAC,SAAS,EAAE,KAAK,CAAC,kBAAkB,CAAC,GAAG,MAAM;IAQzE;;;;;;;OAOG;IACH,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,WAAW,EAAE,QAAQ,CAAC,EAAE,QAAQ,GAAG,MAAM;IAuDjE;;;;;OAKG;IACH,MAAM,CAAC,kBAAkB,CAAC,IAAI,EAAE,KAAK,CAAC,WAAW,CAAC,EAAE,QAAQ,CAAC,EAAE,QAAQ,GAAG,MAAM;IAahF;;;;;OAKG;IACH,MAAM,CAAC,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,SAAU,GAAG,MAAM;CAGjE"}
|
|
@@ -11,11 +11,16 @@ class QueryBuilder {
|
|
|
11
11
|
static buildJsonQuery(query) {
|
|
12
12
|
const whereList = [];
|
|
13
13
|
for (const key in query) {
|
|
14
|
-
if (query[key]
|
|
14
|
+
if (query[key] !== undefined) {
|
|
15
|
+
if (query[key] === null)
|
|
16
|
+
whereList.push(`${key}: null`);
|
|
15
17
|
if (Array.isArray(query[key])) {
|
|
16
18
|
const queryArray = query[key];
|
|
17
19
|
whereList.push(`${key}: [${queryArray.map((item) => `"${item}"`).join(', ')}]`);
|
|
18
20
|
}
|
|
21
|
+
else if (typeof query[key] == 'string') {
|
|
22
|
+
whereList.push(`${key}: "${query[key]}"`);
|
|
23
|
+
}
|
|
19
24
|
else if (typeof query[key] == 'object') {
|
|
20
25
|
const normalJson = {};
|
|
21
26
|
const operatorJson = {};
|
|
@@ -39,9 +44,6 @@ class QueryBuilder {
|
|
|
39
44
|
if (Object.keys(operatorJson).length > 0)
|
|
40
45
|
whereList.push(this.buildJsonQuery(operatorJson));
|
|
41
46
|
}
|
|
42
|
-
else if (typeof query[key] == 'string') {
|
|
43
|
-
whereList.push(`${key}: "${query[key]}"`);
|
|
44
|
-
}
|
|
45
47
|
else
|
|
46
48
|
whereList.push(`${key}: ${query[key]}`);
|
|
47
49
|
}
|
|
@@ -108,9 +110,28 @@ class QueryBuilder {
|
|
|
108
110
|
}
|
|
109
111
|
return result.length > 0 ? `_meta${result}` : '';
|
|
110
112
|
}
|
|
113
|
+
static _buildInlineFragment(fragment) {
|
|
114
|
+
var _a;
|
|
115
|
+
let elements = ['id'];
|
|
116
|
+
if ((_a = fragment.params) === null || _a === void 0 ? void 0 : _a.elements)
|
|
117
|
+
elements = this.buildElements(fragment.params.elements);
|
|
118
|
+
return `... on ${fragment.collection}{${elements.join(' ')}}`;
|
|
119
|
+
}
|
|
120
|
+
/**
|
|
121
|
+
* Given a instance of Array<{@link InlineFragmentType}>, returns the string represent the inline fragments you want to query
|
|
122
|
+
* @param {Array<InlineFragmentType>} fragments The instance represent the inline fragments you want to query
|
|
123
|
+
* @returns The string represent the inline fragments you want to query
|
|
124
|
+
*/
|
|
125
|
+
static buildInlineFragments(fragments) {
|
|
126
|
+
const result = [];
|
|
127
|
+
for (const fragment of fragments) {
|
|
128
|
+
result.push(this._buildInlineFragment(fragment));
|
|
129
|
+
}
|
|
130
|
+
return result.join(' ');
|
|
131
|
+
}
|
|
111
132
|
/**
|
|
112
133
|
* Given json data, returns the string query. This function only can create a string query for a particular collection.
|
|
113
|
-
* @param {
|
|
134
|
+
* @param {GraphObject} data An data for create query, contains two elements:
|
|
114
135
|
* 1. collection: string - collection name
|
|
115
136
|
* 2. params: GraphParams | undefined - If it is defined, it create a query to the collection
|
|
116
137
|
* @param {Metadata | undefined} metadata If it is defined, the query can get metadata that you defined
|
|
@@ -120,12 +141,16 @@ class QueryBuilder {
|
|
|
120
141
|
const collection = data.collection;
|
|
121
142
|
const params = data.params;
|
|
122
143
|
const filters = [];
|
|
144
|
+
// build id
|
|
123
145
|
if ((params === null || params === void 0 ? void 0 : params.id) != undefined)
|
|
124
146
|
filters.push(`id: ${params.id}`);
|
|
147
|
+
// build order
|
|
125
148
|
if (params === null || params === void 0 ? void 0 : params.orderBy)
|
|
126
149
|
filters.push(`orderBy: ${params.orderBy}`);
|
|
150
|
+
// build order direction
|
|
127
151
|
if (params === null || params === void 0 ? void 0 : params.orderDirection)
|
|
128
152
|
filters.push(`orderDirection: ${params.orderDirection}`);
|
|
153
|
+
//build first
|
|
129
154
|
if ((params === null || params === void 0 ? void 0 : params.first) != undefined) {
|
|
130
155
|
if (params.first < 0)
|
|
131
156
|
params.first = 0;
|
|
@@ -133,6 +158,7 @@ class QueryBuilder {
|
|
|
133
158
|
params.first = 1000;
|
|
134
159
|
filters.push(`first: ${params.first}`);
|
|
135
160
|
}
|
|
161
|
+
// build skip
|
|
136
162
|
if ((params === null || params === void 0 ? void 0 : params.skip) != undefined) {
|
|
137
163
|
if (params.skip < 0)
|
|
138
164
|
params.skip = 0;
|
|
@@ -140,26 +166,35 @@ class QueryBuilder {
|
|
|
140
166
|
params.skip = 5000;
|
|
141
167
|
filters.push(`skip: ${params.skip}`);
|
|
142
168
|
}
|
|
169
|
+
// build where
|
|
143
170
|
if (params === null || params === void 0 ? void 0 : params.where) {
|
|
144
171
|
const sWhere = this.buildJsonQuery(params.where);
|
|
145
172
|
if (sWhere.length > 0)
|
|
146
173
|
filters.push(`where: {${sWhere}}`);
|
|
147
174
|
}
|
|
175
|
+
// build block
|
|
148
176
|
if (params === null || params === void 0 ? void 0 : params.block) {
|
|
149
177
|
const sBlock = this.buildJsonQuery(params.block);
|
|
150
178
|
if (sBlock.length > 0)
|
|
151
179
|
filters.push(`block: {${sBlock}}`);
|
|
152
180
|
}
|
|
153
181
|
const filterString = filters.join(', ');
|
|
182
|
+
// build elements
|
|
154
183
|
let elements = ['id'];
|
|
155
184
|
if (params === null || params === void 0 ? void 0 : params.elements)
|
|
156
185
|
if (params.elements.length > 0)
|
|
157
186
|
elements = this.buildElements(params.elements);
|
|
187
|
+
// build inline fragments
|
|
188
|
+
let inlineFragments = '';
|
|
189
|
+
if (params === null || params === void 0 ? void 0 : params.inlineFragments)
|
|
190
|
+
if (params.inlineFragments.length > 0)
|
|
191
|
+
inlineFragments = this.buildInlineFragments(params.inlineFragments);
|
|
158
192
|
let finalQuery = '';
|
|
193
|
+
const sElements = inlineFragments.length > 0 ? `${elements.join(' ')} ${inlineFragments}` : elements.join(' ');
|
|
159
194
|
if (filterString.length > 0)
|
|
160
|
-
finalQuery = `${collection}(${filterString}) {${
|
|
195
|
+
finalQuery = `${collection}(${filterString}) {${sElements}}`;
|
|
161
196
|
else
|
|
162
|
-
finalQuery = `${collection} {${
|
|
197
|
+
finalQuery = `${collection} {${sElements}}`;
|
|
163
198
|
if (metadata) {
|
|
164
199
|
const sMetadata = this.buildMetadata(metadata);
|
|
165
200
|
if (sMetadata.length > 0)
|
|
@@ -171,11 +206,11 @@ class QueryBuilder {
|
|
|
171
206
|
}
|
|
172
207
|
/**
|
|
173
208
|
* Given a array contain many json data, return a query string represent a query to all collections that is in a array.
|
|
174
|
-
* @param {Array<
|
|
209
|
+
* @param {Array<GraphObject>} data An array contain data to query to many collections
|
|
175
210
|
* @param {Metadata | undefined} metadata If it is defined, the query can get metadata that you defined
|
|
176
211
|
* @returns The query string
|
|
177
212
|
*/
|
|
178
|
-
static
|
|
213
|
+
static buildMultipleQuery(data, metadata) {
|
|
179
214
|
const queries = [];
|
|
180
215
|
for (const item of data)
|
|
181
216
|
queries.push(this.buildQuery({ collection: item.collection, params: item.params }));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query-builder.js","sourceRoot":"","sources":["../../src/query-builder.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"query-builder.js","sourceRoot":"","sources":["../../src/query-builder.ts"],"names":[],"mappings":"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"}
|
package/dist/cjs/type.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
declare type BaseQueryType = Array<string> | string | number | boolean | undefined;
|
|
1
|
+
declare type BaseQueryType = Array<string | number | boolean> | string | number | boolean | null | undefined;
|
|
2
2
|
export declare const OptionKeys: string[];
|
|
3
3
|
export declare type TextWhereOptions = {
|
|
4
4
|
$contains?: BaseQueryType;
|
|
@@ -36,12 +36,14 @@ export declare type Metadata = {
|
|
|
36
36
|
elements?: Array<'deployment' | 'hasIndexingErrors' | 'hash' | 'number' | 'timestamp'>;
|
|
37
37
|
blockQuery?: BlockQuery;
|
|
38
38
|
};
|
|
39
|
-
export declare type ElementType = string |
|
|
39
|
+
export declare type ElementType = string | GraphObject;
|
|
40
|
+
export declare type InlineFragmentType = {
|
|
40
41
|
collection: string;
|
|
41
|
-
params?: GraphParams
|
|
42
|
+
params?: Pick<GraphParams, 'elements'>;
|
|
42
43
|
};
|
|
43
44
|
export interface GraphParams {
|
|
44
45
|
elements?: Array<ElementType>;
|
|
46
|
+
inlineFragments?: Array<InlineFragmentType>;
|
|
45
47
|
where?: QueryJson;
|
|
46
48
|
id?: string;
|
|
47
49
|
first?: number;
|
|
@@ -51,5 +53,15 @@ export interface GraphParams {
|
|
|
51
53
|
subgraphError?: 'allow' | 'deny';
|
|
52
54
|
block?: BlockQuery;
|
|
53
55
|
}
|
|
56
|
+
export interface GraphObject {
|
|
57
|
+
collection: string;
|
|
58
|
+
params?: GraphParams;
|
|
59
|
+
}
|
|
60
|
+
export declare type ErrorObject = {
|
|
61
|
+
errors: Array<{
|
|
62
|
+
message: string;
|
|
63
|
+
locations: Array<unknown>;
|
|
64
|
+
}>;
|
|
65
|
+
};
|
|
54
66
|
export {};
|
|
55
67
|
//# sourceMappingURL=type.d.ts.map
|
package/dist/cjs/type.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"type.d.ts","sourceRoot":"","sources":["../../src/type.ts"],"names":[],"mappings":"AAAA,aAAK,aAAa,
|
|
1
|
+
{"version":3,"file":"type.d.ts","sourceRoot":"","sources":["../../src/type.ts"],"names":[],"mappings":"AAAA,aAAK,aAAa,GACd,KAAK,CAAC,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,GAChC,MAAM,GACN,MAAM,GACN,OAAO,GACP,IAAI,GACJ,SAAS,CAAC;AAEd,eAAO,MAAM,UAAU,UAoBtB,CAAC;AAEF,oBAAY,gBAAgB,GAAG;IAC7B,SAAS,CAAC,EAAE,aAAa,CAAC;IAC1B,gBAAgB,CAAC,EAAE,aAAa,CAAC;IACjC,UAAU,CAAC,EAAE,aAAa,CAAC;IAC3B,gBAAgB,CAAC,EAAE,aAAa,CAAC;IACjC,YAAY,CAAC,EAAE,aAAa,CAAC;IAC7B,mBAAmB,CAAC,EAAE,aAAa,CAAC;IACpC,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,oBAAoB,CAAC,EAAE,aAAa,CAAC;IACrC,cAAc,CAAC,EAAE,aAAa,CAAC;IAC/B,qBAAqB,CAAC,EAAE,aAAa,CAAC;IACtC,gBAAgB,CAAC,EAAE,aAAa,CAAC;IACjC,uBAAuB,CAAC,EAAE,aAAa,CAAC;CACzC,CAAC;AAEF,oBAAY,kBAAkB,GAAG;IAC/B,GAAG,CAAC,EAAE,aAAa,CAAC;IACpB,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB,GAAG,CAAC,EAAE,aAAa,CAAC;IACpB,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB,GAAG,CAAC,EAAE,aAAa,CAAC;IACpB,OAAO,CAAC,EAAE,aAAa,CAAC;CACzB,CAAC;AAEF,oBAAY,YAAY,GAAG,gBAAgB,GAAG,kBAAkB,CAAC;AAEjE,oBAAY,SAAS,GAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,YAAY,GAAG,aAAa,CAAA;CAAE,CAAC;AACpF,oBAAY,UAAU,GAAG;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAEjF,oBAAY,QAAQ,GAAG;IACrB,QAAQ,CAAC,EAAE,KAAK,CAAC,YAAY,GAAG,mBAAmB,GAAG,MAAM,GAAG,QAAQ,GAAG,WAAW,CAAC,CAAC;IACvF,UAAU,CAAC,EAAE,UAAU,CAAC;CACzB,CAAC;AAEF,oBAAY,WAAW,GAAG,MAAM,GAAG,WAAW,CAAC;AAC/C,oBAAY,kBAAkB,GAAG;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,IAAI,CAAC,WAAW,EAAE,UAAU,CAAC,CAAA;CAAE,CAAC;AAEhG,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;IAC9B,eAAe,CAAC,EAAE,KAAK,CAAC,kBAAkB,CAAC,CAAC;IAC5C,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,cAAc,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC;IAChC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,aAAa,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IACjC,KAAK,CAAC,EAAE,UAAU,CAAC;CACpB;AAED,MAAM,WAAW,WAAW;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAED,oBAAY,WAAW,GAAG;IACxB,MAAM,EAAE,KAAK,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC,CAAA;KAAE,CAAC,CAAC;CAC/D,CAAC"}
|
package/dist/cjs/type.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"type.js","sourceRoot":"","sources":["../../src/type.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"type.js","sourceRoot":"","sources":["../../src/type.ts"],"names":[],"mappings":";;;AAQa,QAAA,UAAU,GAAG;IACxB,UAAU;IACV,iBAAiB;IACjB,WAAW;IACX,iBAAiB;IACjB,aAAa;IACb,oBAAoB;IACpB,cAAc;IACd,qBAAqB;IACrB,eAAe;IACf,sBAAsB;IACtB,iBAAiB;IACjB,wBAAwB;IACxB,IAAI;IACJ,KAAK;IACL,IAAI;IACJ,KAAK;IACL,KAAK;IACL,IAAI;IACJ,QAAQ;CACT,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { AxiosRequestConfig } from 'axios';
|
|
2
2
|
import { NormalQuery } from './normal-query.js';
|
|
3
|
-
import {
|
|
3
|
+
import { GraphObject, Metadata } from './type.js';
|
|
4
4
|
export declare class EthGraphQuery extends NormalQuery {
|
|
5
5
|
queryName: string;
|
|
6
6
|
/**
|
|
@@ -14,28 +14,22 @@ export declare class EthGraphQuery extends NormalQuery {
|
|
|
14
14
|
* @param {string} query A query string containing all data you want to fetch
|
|
15
15
|
* @returns The data respective with the query string
|
|
16
16
|
*/
|
|
17
|
-
|
|
17
|
+
stringQuery<T = any>(data: string): Promise<T>;
|
|
18
18
|
/**
|
|
19
19
|
* Create a query to a particular collection, returns the data respective with the query data.
|
|
20
|
-
* @param {
|
|
20
|
+
* @param {GraphObject} data An data for create query, contains two elements:
|
|
21
21
|
* 1. collection: string - collection name
|
|
22
22
|
* 2. params: GraphParams | undefined - If it is defined, it create a query to the collection
|
|
23
23
|
* @param {Metadata | undefined} metadata If it is defined, the query can get metadata that you defined
|
|
24
24
|
* @returns The data respective with the query data
|
|
25
25
|
*/
|
|
26
|
-
query<T = any>(data:
|
|
27
|
-
collection: string;
|
|
28
|
-
params?: GraphParams;
|
|
29
|
-
}, metadata?: Metadata): Promise<T>;
|
|
26
|
+
query<T = any>(data: GraphObject, metadata?: Metadata): Promise<T>;
|
|
30
27
|
/**
|
|
31
28
|
* Create a query to many collections, returns the data respective with the query data.
|
|
32
|
-
* @param {Array<
|
|
29
|
+
* @param {Array<GraphObject>} data An array contain data to query to many collections
|
|
33
30
|
* @param {Metadata | undefined} metadata If it is defined, the query can get metadata that you defined
|
|
34
31
|
* @returns The data respective with the query data
|
|
35
32
|
*/
|
|
36
|
-
|
|
37
|
-
collection: string;
|
|
38
|
-
params?: GraphParams;
|
|
39
|
-
}>, metadata?: Metadata): Promise<T>;
|
|
33
|
+
multipleQuery<T = any>(data: Array<GraphObject>, metadata?: Metadata): Promise<T>;
|
|
40
34
|
}
|
|
41
35
|
//# sourceMappingURL=eth-graph-query.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eth-graph-query.d.ts","sourceRoot":"","sources":["../../src/eth-graph-query.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,OAAO,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,OAAO,
|
|
1
|
+
{"version":3,"file":"eth-graph-query.d.ts","sourceRoot":"","sources":["../../src/eth-graph-query.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,OAAO,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,OAAO,EAAe,WAAW,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAE/D,qBAAa,aAAc,SAAQ,WAAW;IAC5C,SAAS,EAAE,MAAM,CAAC;IAElB;;;;OAIG;gBACS,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,kBAAkB;IAKxD;;;;OAIG;IACG,WAAW,CAAC,CAAC,GAAG,GAAG,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC;IASpD;;;;;;;OAOG;IACG,KAAK,CAAC,CAAC,GAAG,GAAG,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC,CAAC,CAAC;IASxE;;;;;OAKG;IACG,aAAa,CAAC,CAAC,GAAG,GAAG,EAAE,IAAI,EAAE,KAAK,CAAC,WAAW,CAAC,EAAE,QAAQ,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC,CAAC,CAAC;CAIxF"}
|