eth-graph-query 1.1.21 → 1.1.31
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 +10 -32
- 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 +14 -11
- package/dist/cjs/query-builder.d.ts.map +1 -1
- package/dist/cjs/query-builder.js +49 -22
- package/dist/cjs/query-builder.js.map +1 -1
- package/dist/cjs/type.d.ts +9 -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 +10 -32
- 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 +14 -11
- package/dist/esm/query-builder.d.ts.map +1 -1
- package/dist/esm/query-builder.js +50 -23
- package/dist/esm/query-builder.js.map +1 -1
- package/dist/esm/type.d.ts +9 -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 +87 -27
- package/src/type.ts +15 -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.query(`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.query([
|
|
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.query([
|
|
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
|
+
query<T>(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
|
+
query<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,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAElD,qBAAa,aAAc,SAAQ,WAAW;IAC5C,SAAS,EAAE,MAAM,CAAC;IAElB;;;;OAIG;gBACS,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,kBAAkB;IAKxD;;;;OAIG;
|
|
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;AAElD,qBAAa,aAAc,SAAQ,WAAW;IAC5C,SAAS,EAAE,MAAM,CAAC;IAElB;;;;OAIG;gBACS,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,kBAAkB;IAKxD;;;;OAIG;IACG,KAAK,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC;IAExC;;;;;;;OAOG;IACG,KAAK,CAAC,CAAC,GAAG,GAAG,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC,CAAC,CAAC;IAExE;;;;;OAKG;IACG,KAAK,CAAC,CAAC,GAAG,GAAG,EAAE,IAAI,EAAE,KAAK,CAAC,WAAW,CAAC,EAAE,QAAQ,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC,CAAC,CAAC;CAkBhF"}
|
|
@@ -22,40 +22,18 @@ class EthGraphQuery extends normal_query_js_1.NormalQuery {
|
|
|
22
22
|
super(rootUrl, config);
|
|
23
23
|
this.queryName = 'query';
|
|
24
24
|
}
|
|
25
|
-
/**
|
|
26
|
-
* Given query string, returns the data respective with it.
|
|
27
|
-
* @param {string} query A query string containing all data you want to fetch
|
|
28
|
-
* @returns The data respective with the query string
|
|
29
|
-
*/
|
|
30
|
-
_fetch(query) {
|
|
31
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
32
|
-
return yield this.post('', { query: query });
|
|
33
|
-
});
|
|
34
|
-
}
|
|
35
|
-
/**
|
|
36
|
-
* Create a query to a particular collection, returns the data respective with the query data.
|
|
37
|
-
* @param {{ collection: string; params?: GraphParams }} data An data for create query, contains two elements:
|
|
38
|
-
* 1. collection: string - collection name
|
|
39
|
-
* 2. params: GraphParams | undefined - If it is defined, it create a query to the collection
|
|
40
|
-
* @param {Metadata | undefined} metadata If it is defined, the query can get metadata that you defined
|
|
41
|
-
* @returns The data respective with the query data
|
|
42
|
-
*/
|
|
43
25
|
query(data, metadata) {
|
|
44
26
|
return __awaiter(this, void 0, void 0, function* () {
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
mergeQuery(data, metadata) {
|
|
56
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
57
|
-
const sQuery = query_builder_js_1.QueryBuilder.mergeQuery(data, metadata);
|
|
58
|
-
return yield this._fetch(query_builder_js_1.QueryBuilder.makeFullQuery(sQuery, this.queryName));
|
|
27
|
+
if (typeof data == 'string')
|
|
28
|
+
return yield this.post('', { query: data });
|
|
29
|
+
else if (Array.isArray(data)) {
|
|
30
|
+
const sQuery = query_builder_js_1.QueryBuilder.buildQuery(data, metadata);
|
|
31
|
+
return yield this.query(query_builder_js_1.QueryBuilder.makeFullQuery(sQuery, this.queryName));
|
|
32
|
+
}
|
|
33
|
+
else {
|
|
34
|
+
const sQuery = query_builder_js_1.QueryBuilder.buildQuery({ collection: data.collection, params: data.params }, metadata);
|
|
35
|
+
return yield this.query(query_builder_js_1.QueryBuilder.makeFullQuery(sQuery, this.queryName));
|
|
36
|
+
}
|
|
59
37
|
});
|
|
60
38
|
}
|
|
61
39
|
}
|
|
@@ -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;
|
|
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;IA2BK,KAAK,CACT,IAA+C,EAC/C,QAAmB;;YAEnB,IAAI,OAAO,IAAI,IAAI,QAAQ;gBAAE,OAAO,MAAM,IAAI,CAAC,IAAI,CAAuB,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;iBAC1F,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;gBAC5B,MAAM,MAAM,GAAG,+BAAY,CAAC,UAAU,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;gBACvD,OAAO,MAAM,IAAI,CAAC,KAAK,CAAI,+BAAY,CAAC,aAAa,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;aAChF;iBAAM;gBACL,MAAM,MAAM,GAAG,+BAAY,CAAC,UAAU,CACpC,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,EACpD,QAAQ,CACT,CAAC;gBACF,OAAO,MAAM,IAAI,CAAC,KAAK,CAAI,+BAAY,CAAC,aAAa,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;aAChF;QACH,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,31 @@ 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;
|
|
28
|
+
private static _buildQuery;
|
|
29
|
+
private static _buildMultipleQuery;
|
|
21
30
|
/**
|
|
22
31
|
* Given json data, returns the string query. This function only can create a string query for a particular collection.
|
|
23
|
-
* @param {
|
|
32
|
+
* @param {GraphObject} data An data for create query, contains two elements:
|
|
24
33
|
* 1. collection: string - collection name
|
|
25
34
|
* 2. params: GraphParams | undefined - If it is defined, it create a query to the collection
|
|
26
35
|
* @param {Metadata | undefined} metadata If it is defined, the query can get metadata that you defined
|
|
27
36
|
* @returns The string query
|
|
28
37
|
*/
|
|
29
|
-
static buildQuery(data:
|
|
30
|
-
collection: string;
|
|
31
|
-
params?: GraphParams;
|
|
32
|
-
}, metadata?: Metadata): string;
|
|
38
|
+
static buildQuery(data: GraphObject, metadata?: Metadata): string;
|
|
33
39
|
/**
|
|
34
40
|
* 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<
|
|
41
|
+
* @param {Array<GraphObject>} data An array contain data to query to many collections
|
|
36
42
|
* @param {Metadata | undefined} metadata If it is defined, the query can get metadata that you defined
|
|
37
43
|
* @returns The query string
|
|
38
44
|
*/
|
|
39
|
-
static
|
|
40
|
-
collection: string;
|
|
41
|
-
params?: GraphParams;
|
|
42
|
-
}>, metadata?: Metadata): string;
|
|
45
|
+
static buildQuery(data: Array<GraphObject>, metadata?: Metadata): string;
|
|
43
46
|
/**
|
|
44
47
|
* Create complete query string, you can use directly this query to query to the graph
|
|
45
48
|
* @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;IAcjE;;;;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,OAAO,CAAC,MAAM,CAAC,WAAW;IAuD1B,OAAO,CAAC,MAAM,CAAC,mBAAmB;IAalC;;;;;;;OAOG;IACH,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,WAAW,EAAE,QAAQ,CAAC,EAAE,QAAQ,GAAG,MAAM;IAEjE;;;;;OAKG;IACH,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC,WAAW,CAAC,EAAE,QAAQ,CAAC,EAAE,QAAQ,GAAG,MAAM;IAOxE;;;;;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
|
}
|
|
@@ -60,7 +62,7 @@ class QueryBuilder {
|
|
|
60
62
|
elementList.push(element);
|
|
61
63
|
else {
|
|
62
64
|
const object = element;
|
|
63
|
-
elementList.push(this.
|
|
65
|
+
elementList.push(this._buildQuery({ collection: object.collection, params: object.params }));
|
|
64
66
|
}
|
|
65
67
|
}
|
|
66
68
|
return elementList;
|
|
@@ -108,24 +110,39 @@ 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
|
+
}
|
|
111
120
|
/**
|
|
112
|
-
* Given
|
|
113
|
-
* @param {
|
|
114
|
-
*
|
|
115
|
-
* 2. params: GraphParams | undefined - If it is defined, it create a query to the collection
|
|
116
|
-
* @param {Metadata | undefined} metadata If it is defined, the query can get metadata that you defined
|
|
117
|
-
* @returns The string query
|
|
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
|
|
118
124
|
*/
|
|
119
|
-
static
|
|
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
|
+
}
|
|
132
|
+
static _buildQuery(data, metadata) {
|
|
120
133
|
const collection = data.collection;
|
|
121
134
|
const params = data.params;
|
|
122
135
|
const filters = [];
|
|
136
|
+
// build id
|
|
123
137
|
if ((params === null || params === void 0 ? void 0 : params.id) != undefined)
|
|
124
138
|
filters.push(`id: ${params.id}`);
|
|
139
|
+
// build order
|
|
125
140
|
if (params === null || params === void 0 ? void 0 : params.orderBy)
|
|
126
141
|
filters.push(`orderBy: ${params.orderBy}`);
|
|
142
|
+
// build order direction
|
|
127
143
|
if (params === null || params === void 0 ? void 0 : params.orderDirection)
|
|
128
144
|
filters.push(`orderDirection: ${params.orderDirection}`);
|
|
145
|
+
//build first
|
|
129
146
|
if ((params === null || params === void 0 ? void 0 : params.first) != undefined) {
|
|
130
147
|
if (params.first < 0)
|
|
131
148
|
params.first = 0;
|
|
@@ -133,6 +150,7 @@ class QueryBuilder {
|
|
|
133
150
|
params.first = 1000;
|
|
134
151
|
filters.push(`first: ${params.first}`);
|
|
135
152
|
}
|
|
153
|
+
// build skip
|
|
136
154
|
if ((params === null || params === void 0 ? void 0 : params.skip) != undefined) {
|
|
137
155
|
if (params.skip < 0)
|
|
138
156
|
params.skip = 0;
|
|
@@ -140,26 +158,35 @@ class QueryBuilder {
|
|
|
140
158
|
params.skip = 5000;
|
|
141
159
|
filters.push(`skip: ${params.skip}`);
|
|
142
160
|
}
|
|
161
|
+
// build where
|
|
143
162
|
if (params === null || params === void 0 ? void 0 : params.where) {
|
|
144
163
|
const sWhere = this.buildJsonQuery(params.where);
|
|
145
164
|
if (sWhere.length > 0)
|
|
146
165
|
filters.push(`where: {${sWhere}}`);
|
|
147
166
|
}
|
|
167
|
+
// build block
|
|
148
168
|
if (params === null || params === void 0 ? void 0 : params.block) {
|
|
149
169
|
const sBlock = this.buildJsonQuery(params.block);
|
|
150
170
|
if (sBlock.length > 0)
|
|
151
171
|
filters.push(`block: {${sBlock}}`);
|
|
152
172
|
}
|
|
153
173
|
const filterString = filters.join(', ');
|
|
174
|
+
// build elements
|
|
154
175
|
let elements = ['id'];
|
|
155
176
|
if (params === null || params === void 0 ? void 0 : params.elements)
|
|
156
177
|
if (params.elements.length > 0)
|
|
157
178
|
elements = this.buildElements(params.elements);
|
|
179
|
+
// build inline fragments
|
|
180
|
+
let inlineFragments = '';
|
|
181
|
+
if (params === null || params === void 0 ? void 0 : params.inlineFragments)
|
|
182
|
+
if (params.inlineFragments.length > 0)
|
|
183
|
+
inlineFragments = this.buildInlineFragments(params.inlineFragments);
|
|
158
184
|
let finalQuery = '';
|
|
185
|
+
const sElements = inlineFragments.length > 0 ? `${elements.join(' ')} ${inlineFragments}` : elements.join(' ');
|
|
159
186
|
if (filterString.length > 0)
|
|
160
|
-
finalQuery = `${collection}(${filterString}) {${
|
|
187
|
+
finalQuery = `${collection}(${filterString}) {${sElements}}`;
|
|
161
188
|
else
|
|
162
|
-
finalQuery = `${collection} {${
|
|
189
|
+
finalQuery = `${collection} {${sElements}}`;
|
|
163
190
|
if (metadata) {
|
|
164
191
|
const sMetadata = this.buildMetadata(metadata);
|
|
165
192
|
if (sMetadata.length > 0)
|
|
@@ -169,16 +196,10 @@ class QueryBuilder {
|
|
|
169
196
|
}
|
|
170
197
|
return finalQuery;
|
|
171
198
|
}
|
|
172
|
-
|
|
173
|
-
* 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<{ collection: string; params?: GraphParams }>} data An array contain data to query to many collections
|
|
175
|
-
* @param {Metadata | undefined} metadata If it is defined, the query can get metadata that you defined
|
|
176
|
-
* @returns The query string
|
|
177
|
-
*/
|
|
178
|
-
static mergeQuery(data, metadata) {
|
|
199
|
+
static _buildMultipleQuery(data, metadata) {
|
|
179
200
|
const queries = [];
|
|
180
201
|
for (const item of data)
|
|
181
|
-
queries.push(this.
|
|
202
|
+
queries.push(this._buildQuery({ collection: item.collection, params: item.params }));
|
|
182
203
|
const finalQuery = queries.join(' ');
|
|
183
204
|
if (metadata) {
|
|
184
205
|
const sMetadata = this.buildMetadata(metadata);
|
|
@@ -189,6 +210,12 @@ class QueryBuilder {
|
|
|
189
210
|
}
|
|
190
211
|
return finalQuery;
|
|
191
212
|
}
|
|
213
|
+
static buildQuery(data, metadata) {
|
|
214
|
+
if (Array.isArray(data))
|
|
215
|
+
return this._buildMultipleQuery(data, metadata);
|
|
216
|
+
else
|
|
217
|
+
return this._buildQuery(data, metadata);
|
|
218
|
+
}
|
|
192
219
|
/**
|
|
193
220
|
* Create complete query string, you can use directly this query to query to the graph
|
|
194
221
|
* @param {string} query The query string
|
|
@@ -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,9 @@ 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
|
+
}
|
|
54
60
|
export {};
|
|
55
61
|
//# 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"}
|
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
|
+
query<T>(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
|
+
query<T = any>(data: Array<GraphObject>, metadata?: Metadata): Promise<T>;
|
|
40
34
|
}
|
|
41
35
|
//# sourceMappingURL=eth-graph-query.d.ts.map
|