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.
Files changed (36) hide show
  1. package/README.md +82 -10
  2. package/dist/cjs/eth-graph-query.d.ts +6 -12
  3. package/dist/cjs/eth-graph-query.d.ts.map +1 -1
  4. package/dist/cjs/eth-graph-query.js +10 -32
  5. package/dist/cjs/eth-graph-query.js.map +1 -1
  6. package/dist/cjs/normal-query.d.ts.map +1 -1
  7. package/dist/cjs/normal-query.js +14 -5
  8. package/dist/cjs/normal-query.js.map +1 -1
  9. package/dist/cjs/query-builder.d.ts +14 -11
  10. package/dist/cjs/query-builder.d.ts.map +1 -1
  11. package/dist/cjs/query-builder.js +49 -22
  12. package/dist/cjs/query-builder.js.map +1 -1
  13. package/dist/cjs/type.d.ts +9 -3
  14. package/dist/cjs/type.d.ts.map +1 -1
  15. package/dist/cjs/type.js.map +1 -1
  16. package/dist/esm/eth-graph-query.d.ts +6 -12
  17. package/dist/esm/eth-graph-query.d.ts.map +1 -1
  18. package/dist/esm/eth-graph-query.js +10 -32
  19. package/dist/esm/eth-graph-query.js.map +1 -1
  20. package/dist/esm/normal-query.d.ts.map +1 -1
  21. package/dist/esm/normal-query.js +14 -5
  22. package/dist/esm/normal-query.js.map +1 -1
  23. package/dist/esm/query-builder.d.ts +14 -11
  24. package/dist/esm/query-builder.d.ts.map +1 -1
  25. package/dist/esm/query-builder.js +50 -23
  26. package/dist/esm/query-builder.js.map +1 -1
  27. package/dist/esm/type.d.ts +9 -3
  28. package/dist/esm/type.d.ts.map +1 -1
  29. package/dist/esm/type.js.map +1 -1
  30. package/dist/tsconfig.prod.cjs.tsbuildinfo +1 -1
  31. package/dist/tsconfig.prod.esm.tsbuildinfo +1 -1
  32. package/package.json +2 -2
  33. package/src/eth-graph-query.ts +20 -14
  34. package/src/normal-query.ts +15 -5
  35. package/src/query-builder.ts +87 -27
  36. 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 two query options. To create simple query
32
+ - This package has three query options. Simply, you can create a direct string query
33
33
 
34
34
  ```js
35
- const result = await query.query({ collection: 'collection1', params: { elements: ['element1', 'element2'] } });
35
+ result = await query.query(`query query {
36
+ collection1(first: 10) {
37
+ element1
38
+ element2
39
+ }
40
+ }`);
36
41
  ```
37
42
 
38
- - To create a multiple query
43
+ - More readable, you can create a single json query
39
44
 
40
45
  ```js
41
- const result = await query.mergeQuery([
42
- { collection: 'collection1', params: { elements: ['element11', 'element12'] } },
43
- { collection: 'collection2', params: { elements: ['element21', 'element22'] } },
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 result1 = await query.mergeQuery([
51
- { collection: 'collection1', params: { elements: ['element11', 'element12'], where: { element11: 'abc' } } },
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: { elements: ['element31'], where: { id: { $in: ['123'] }, element31: 'element31' }, first: 50 },
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 { GraphParams, Metadata } from './type.js';
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
- private _fetch;
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 {{ collection: string; params?: GraphParams }} data An data for create query, contains two elements:
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<{ collection: string; params?: GraphParams }>} data An array contain data to query to many collections
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
- mergeQuery<T = any>(data: Array<{
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;YACW,MAAM;IAIpB;;;;;;;OAOG;IACG,KAAK,CAAC,CAAC,GAAG,GAAG,EAAE,IAAI,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,WAAW,CAAA;KAAE,EAAE,QAAQ,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC,CAAC,CAAC;IAKzG;;;;;OAKG;IACG,UAAU,CAAC,CAAC,GAAG,GAAG,EACtB,IAAI,EAAE,KAAK,CAAC;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,WAAW,CAAA;KAAE,CAAC,EACzD,QAAQ,CAAC,EAAE,QAAQ,GAClB,OAAO,CAAC,CAAC,CAAC;CAId"}
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
- const sQuery = query_builder_js_1.QueryBuilder.buildQuery({ collection: data.collection, params: data.params }, metadata);
46
- return yield this._fetch(query_builder_js_1.QueryBuilder.makeFullQuery(sQuery, this.queryName));
47
- });
48
- }
49
- /**
50
- * Create a query to many collections, returns the data respective with the query data.
51
- * @param {Array<{ collection: string; params?: GraphParams }>} data An array contain data to query to many collections
52
- * @param {Metadata | undefined} metadata If it is defined, the query can get metadata that you defined
53
- * @returns The data respective with the query data
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;IAED;;;;OAIG;IACW,MAAM,CAAI,KAAa;;YACnC,OAAO,MAAM,IAAI,CAAC,IAAI,CAAuB,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;QACrE,CAAC;KAAA;IAED;;;;;;;OAOG;IACG,KAAK,CAAU,IAAkD,EAAE,QAAmB;;YAC1F,MAAM,MAAM,GAAG,+BAAY,CAAC,UAAU,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE,QAAQ,CAAC,CAAC;YACvG,OAAO,MAAM,IAAI,CAAC,MAAM,CAAI,+BAAY,CAAC,aAAa,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;QAClF,CAAC;KAAA;IAED;;;;;OAKG;IACG,UAAU,CACd,IAAyD,EACzD,QAAmB;;YAEnB,MAAM,MAAM,GAAG,+BAAY,CAAC,UAAU,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YACvD,OAAO,MAAM,IAAI,CAAC,MAAM,CAAI,+BAAY,CAAC,aAAa,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;QAClF,CAAC;KAAA;CACF;AAhDD,sCAgDC"}
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;cAKxC,GAAG,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,kBAAkB;cAIrD,IAAI,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,EAAE,kBAAkB;cAIzE,GAAG,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,EAAE,kBAAkB;cAIxE,GAAG,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,kBAAkB;CAGtE"}
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"}
@@ -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 ? Object.assign(Object.assign({}, config), { headers: exports.defaultHeader }) : { headers: exports.defaultHeader };
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.get(`${this.root}${url}`, Object.assign(Object.assign({}, config), this.config)).then(responseBody);
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.post(`${this.root}${url}`, data, Object.assign(Object.assign({}, config), this.config)).then(responseBody);
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.put(`${this.root}${url}`, data, Object.assign(Object.assign({}, config), this.config)).then(responseBody);
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.delete(`${this.root}${url}`, Object.assign(Object.assign({}, config), this.config)).then(responseBody);
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,CAAC,iCAAM,MAAM,GAAK,EAAE,OAAO,EAAE,qBAAa,EAAE,EAAG,CAAC,CAAC,EAAE,OAAO,EAAE,qBAAa,EAAE,CAAC;IACnG,CAAC;IAEe,GAAG,CAAU,GAAW,EAAE,MAA2B;;YACnE,OAAO,MAAM,eAAK,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,GAAG,GAAG,EAAE,kCAAO,MAAM,GAAK,IAAI,CAAC,MAAM,EAAG,CAAC,IAAI,CAAI,YAAY,CAAC,CAAC;QACpG,CAAC;KAAA;IAEe,IAAI,CAAmB,GAAW,EAAE,IAAQ,EAAE,MAA2B;;YACvF,OAAO,MAAM,eAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,GAAG,GAAG,EAAE,EAAE,IAAI,kCAAO,MAAM,GAAK,IAAI,CAAC,MAAM,EAAG,CAAC,IAAI,CAAI,YAAY,CAAC,CAAC;QAC3G,CAAC;KAAA;IAEe,GAAG,CAAmB,GAAW,EAAE,IAAQ,EAAE,MAA2B;;YACtF,OAAO,MAAM,eAAK,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,GAAG,GAAG,EAAE,EAAE,IAAI,kCAAO,MAAM,GAAK,IAAI,CAAC,MAAM,EAAG,CAAC,IAAI,CAAI,YAAY,CAAC,CAAC;QAC1G,CAAC;KAAA;IAEe,GAAG,CAAU,GAAW,EAAE,MAA2B;;YACnE,OAAO,MAAM,eAAK,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,GAAG,GAAG,EAAE,kCAAO,MAAM,GAAK,IAAI,CAAC,MAAM,EAAG,CAAC,IAAI,CAAI,YAAY,CAAC,CAAC;QACvG,CAAC;KAAA;CACF;AAxBD,kCAwBC"}
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, GraphParams, Metadata, QueryJson } from './type.js';
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 {{ collection: string; params?: GraphParams }} data An data for create query, contains two elements:
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<{ collection: string; params?: GraphParams }>} data An array contain data to query to many collections
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 mergeQuery(data: Array<{
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,EAAE,WAAW,EAAE,WAAW,EAAE,QAAQ,EAAc,SAAS,EAAgB,MAAM,WAAW,CAAC;AAEpG,qBAAa,YAAY;IACvB;;;;OAIG;IACH,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,SAAS,GAAG,MAAM;IAgC/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;IA8BhD;;;;;;;OAOG;IACH,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,WAAW,CAAA;KAAE,EAAE,QAAQ,CAAC,EAAE,QAAQ,GAAG,MAAM;IAuClG;;;;;OAKG;IACH,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,WAAW,CAAA;KAAE,CAAC,EAAE,QAAQ,CAAC,EAAE,QAAQ,GAAG,MAAM;IAYzG;;;;;OAKG;IACH,MAAM,CAAC,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,SAAU,GAAG,MAAM;CAGjE"}
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] != undefined) {
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.buildQuery({ collection: object.collection, params: object.params }));
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 json data, returns the string query. This function only can create a string query for a particular collection.
113
- * @param {{ collection: string; params?: GraphParams }} data An data for create query, contains two elements:
114
- * 1. collection: string - collection name
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 buildQuery(data, metadata) {
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}) {${elements.join(' ')}}`;
187
+ finalQuery = `${collection}(${filterString}) {${sElements}}`;
161
188
  else
162
- finalQuery = `${collection} {${elements.join(' ')}}`;
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.buildQuery({ collection: item.collection, params: item.params }));
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":"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"}
1
+ {"version":3,"file":"query-builder.js","sourceRoot":"","sources":["../../src/query-builder.ts"],"names":[],"mappings":"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"}
@@ -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
@@ -1 +1 @@
1
- {"version":3,"file":"type.d.ts","sourceRoot":"","sources":["../../src/type.ts"],"names":[],"mappings":"AAAA,aAAK,aAAa,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC;AAE3E,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;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,WAAW,CAAA;CAAE,CAAC;AAEhF,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;IAC9B,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"}
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"}
@@ -1 +1 @@
1
- {"version":3,"file":"type.js","sourceRoot":"","sources":["../../src/type.ts"],"names":[],"mappings":";;;AAEa,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
+ {"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 { GraphParams, Metadata } from './type.js';
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
- private _fetch;
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 {{ collection: string; params?: GraphParams }} data An data for create query, contains two elements:
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<{ collection: string; params?: GraphParams }>} data An array contain data to query to many collections
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
- mergeQuery<T = any>(data: Array<{
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