@human-protocol/sdk 3.0.0 → 3.0.2

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 (64) hide show
  1. package/README.md +23 -80
  2. package/dist/constants.d.ts +1 -0
  3. package/dist/constants.d.ts.map +1 -1
  4. package/dist/constants.js +1 -0
  5. package/dist/enums.d.ts +4 -0
  6. package/dist/enums.d.ts.map +1 -1
  7. package/dist/enums.js +6 -1
  8. package/dist/error.d.ts +7 -0
  9. package/dist/error.d.ts.map +1 -1
  10. package/dist/error.js +8 -1
  11. package/dist/escrow.d.ts +90 -11
  12. package/dist/escrow.d.ts.map +1 -1
  13. package/dist/escrow.js +153 -43
  14. package/dist/graphql/queries/escrow.d.ts +1 -0
  15. package/dist/graphql/queries/escrow.d.ts.map +1 -1
  16. package/dist/graphql/queries/escrow.js +50 -12
  17. package/dist/graphql/queries/hmtoken.d.ts +1 -1
  18. package/dist/graphql/queries/hmtoken.d.ts.map +1 -1
  19. package/dist/graphql/queries/hmtoken.js +23 -7
  20. package/dist/graphql/queries/kvstore.d.ts +1 -0
  21. package/dist/graphql/queries/kvstore.d.ts.map +1 -1
  22. package/dist/graphql/queries/kvstore.js +12 -1
  23. package/dist/graphql/queries/operator.js +1 -1
  24. package/dist/graphql/queries/statistics.d.ts +2 -2
  25. package/dist/graphql/queries/statistics.d.ts.map +1 -1
  26. package/dist/graphql/queries/statistics.js +13 -7
  27. package/dist/graphql/queries/transaction.d.ts.map +1 -1
  28. package/dist/graphql/queries/transaction.js +12 -7
  29. package/dist/graphql/types.d.ts +11 -5
  30. package/dist/graphql/types.d.ts.map +1 -1
  31. package/dist/index.d.ts +3 -2
  32. package/dist/index.d.ts.map +1 -1
  33. package/dist/index.js +4 -1
  34. package/dist/interfaces.d.ts +16 -9
  35. package/dist/interfaces.d.ts.map +1 -1
  36. package/dist/kvstore.d.ts +69 -106
  37. package/dist/kvstore.d.ts.map +1 -1
  38. package/dist/kvstore.js +123 -159
  39. package/dist/operator.d.ts.map +1 -1
  40. package/dist/operator.js +64 -81
  41. package/dist/statistics.d.ts +91 -59
  42. package/dist/statistics.d.ts.map +1 -1
  43. package/dist/statistics.js +162 -85
  44. package/dist/transaction.d.ts +10 -4
  45. package/dist/transaction.d.ts.map +1 -1
  46. package/dist/transaction.js +36 -27
  47. package/package.json +5 -4
  48. package/src/constants.ts +1 -0
  49. package/src/enums.ts +5 -0
  50. package/src/error.ts +8 -0
  51. package/src/escrow.ts +197 -54
  52. package/src/graphql/queries/escrow.ts +53 -11
  53. package/src/graphql/queries/hmtoken.ts +23 -7
  54. package/src/graphql/queries/kvstore.ts +11 -0
  55. package/src/graphql/queries/operator.ts +1 -1
  56. package/src/graphql/queries/statistics.ts +15 -9
  57. package/src/graphql/queries/transaction.ts +12 -7
  58. package/src/graphql/types.ts +13 -5
  59. package/src/index.ts +4 -1
  60. package/src/interfaces.ts +18 -9
  61. package/src/kvstore.ts +145 -158
  62. package/src/operator.ts +79 -91
  63. package/src/statistics.ts +186 -96
  64. package/src/transaction.ts +40 -30
@@ -1 +1 @@
1
- {"version":3,"file":"operator.d.ts","sourceRoot":"","sources":["../src/operator.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,OAAO,EAEP,cAAc,EACd,SAAS,EAET,OAAO,EACR,MAAM,cAAc,CAAC;AAetB,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAGlC,qBAAa,aAAa;IACxB;;;;;;;;;;;;;;OAcG;WACiB,SAAS,CAC3B,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,OAAO,CAAC;IAkCnB;;;;;;;;;;;;;;;;;OAiBG;WACiB,UAAU,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IA0C1E;;;;;;;;;;;;;OAaG;WACiB,6BAA6B,CAC/C,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,MAAM,EACf,IAAI,CAAC,EAAE,MAAM,GACZ,OAAO,CAAC,SAAS,EAAE,CAAC;IAiCvB;;;;;;;;;;;;;;OAcG;WACiB,UAAU,CAC5B,OAAO,EAAE,OAAO,EAChB,cAAc,EAAE,MAAM,GACrB,OAAO,CAAC,OAAO,EAAE,CAAC;CA2BtB"}
1
+ {"version":3,"file":"operator.d.ts","sourceRoot":"","sources":["../src/operator.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,OAAO,EAEP,cAAc,EACd,SAAS,EAET,OAAO,EACR,MAAM,cAAc,CAAC;AAetB,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAGlC,qBAAa,aAAa;IACxB;;;;;;;;;;;;;;OAcG;WACiB,SAAS,CAC3B,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,OAAO,CAAC;IAkCnB;;;;;;;;;;;;;;;;;OAiBG;WACiB,UAAU,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IAsC1E;;;;;;;;;;;;;OAaG;WACiB,6BAA6B,CAC/C,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,MAAM,EACf,IAAI,CAAC,EAAE,MAAM,GACZ,OAAO,CAAC,SAAS,EAAE,CAAC;IA6BvB;;;;;;;;;;;;;;OAcG;WACiB,UAAU,CAC5B,OAAO,EAAE,OAAO,EAChB,cAAc,EAAE,MAAM,GACrB,OAAO,CAAC,OAAO,EAAE,CAAC;CAuBtB"}
package/dist/operator.js CHANGED
@@ -36,25 +36,23 @@ class OperatorUtils {
36
36
  if (!networkData) {
37
37
  throw error_1.ErrorUnsupportedChainID;
38
38
  }
39
- try {
40
- const { leader } = await (0, graphql_request_1.default)((0, utils_1.getSubgraphUrl)(networkData), operator_1.GET_LEADER_QUERY, {
41
- address: address.toLowerCase(),
42
- });
43
- let jobTypes = [];
44
- if (typeof leader.jobTypes === 'string') {
45
- jobTypes = leader.jobTypes.split(',');
46
- }
47
- else if (Array.isArray(leader.jobTypes)) {
48
- jobTypes = leader.jobTypes;
49
- }
50
- return {
51
- ...leader,
52
- jobTypes,
53
- };
39
+ const { leader } = await (0, graphql_request_1.default)((0, utils_1.getSubgraphUrl)(networkData), operator_1.GET_LEADER_QUERY, {
40
+ address: address.toLowerCase(),
41
+ });
42
+ if (!leader) {
43
+ return leader || null;
44
+ }
45
+ let jobTypes = [];
46
+ if (typeof leader.jobTypes === 'string') {
47
+ jobTypes = leader.jobTypes.split(',');
54
48
  }
55
- catch (e) {
56
- return (0, utils_1.throwError)(e);
49
+ else if (Array.isArray(leader.jobTypes)) {
50
+ jobTypes = leader.jobTypes;
57
51
  }
52
+ return {
53
+ ...leader,
54
+ jobTypes,
55
+ };
58
56
  }
59
57
  /**
60
58
  * This function returns all the leader details of the protocol.
@@ -75,36 +73,31 @@ class OperatorUtils {
75
73
  * ```
76
74
  */
77
75
  static async getLeaders(filter) {
78
- try {
79
- let leaders_data = [];
80
- const networkData = constants_1.NETWORKS[filter.chainId];
81
- if (!networkData) {
82
- throw error_1.ErrorUnsupportedChainID;
83
- }
84
- const { leaders } = await (0, graphql_request_1.default)((0, utils_1.getSubgraphUrl)(networkData), (0, operator_1.GET_LEADERS_QUERY)(filter), {
85
- role: filter?.role,
86
- });
87
- if (!leaders) {
88
- return [];
89
- }
90
- leaders_data = leaders_data.concat(leaders.map((leader) => {
91
- let jobTypes = [];
92
- if (typeof leader.jobTypes === 'string') {
93
- jobTypes = leader.jobTypes.split(',');
94
- }
95
- else if (Array.isArray(leader.jobTypes)) {
96
- jobTypes = leader.jobTypes;
97
- }
98
- return {
99
- ...leader,
100
- jobTypes,
101
- };
102
- }));
103
- return leaders_data;
76
+ let leaders_data = [];
77
+ const networkData = constants_1.NETWORKS[filter.chainId];
78
+ if (!networkData) {
79
+ throw error_1.ErrorUnsupportedChainID;
104
80
  }
105
- catch (e) {
106
- return (0, utils_1.throwError)(e);
81
+ const { leaders } = await (0, graphql_request_1.default)((0, utils_1.getSubgraphUrl)(networkData), (0, operator_1.GET_LEADERS_QUERY)(filter), {
82
+ role: filter?.role,
83
+ });
84
+ if (!leaders) {
85
+ return [];
107
86
  }
87
+ leaders_data = leaders_data.concat(leaders.map((leader) => {
88
+ let jobTypes = [];
89
+ if (typeof leader.jobTypes === 'string') {
90
+ jobTypes = leader.jobTypes.split(',');
91
+ }
92
+ else if (Array.isArray(leader.jobTypes)) {
93
+ jobTypes = leader.jobTypes;
94
+ }
95
+ return {
96
+ ...leader,
97
+ jobTypes,
98
+ };
99
+ }));
100
+ return leaders_data;
108
101
  }
109
102
  /**
110
103
  * Retrieves the reputation network operators of the specified address.
@@ -125,28 +118,23 @@ class OperatorUtils {
125
118
  if (!networkData) {
126
119
  throw error_1.ErrorUnsupportedChainID;
127
120
  }
128
- try {
129
- const { reputationNetwork } = await (0, graphql_request_1.default)((0, utils_1.getSubgraphUrl)(networkData), (0, operator_1.GET_REPUTATION_NETWORK_QUERY)(role), {
130
- address: address.toLowerCase(),
131
- role: role,
132
- });
133
- return reputationNetwork.operators.map((operator) => {
134
- let jobTypes = [];
135
- if (typeof operator.jobTypes === 'string') {
136
- jobTypes = operator.jobTypes.split(',');
137
- }
138
- else if (Array.isArray(operator.jobTypes)) {
139
- jobTypes = operator.jobTypes;
140
- }
141
- return {
142
- ...operator,
143
- jobTypes,
144
- };
145
- });
146
- }
147
- catch (e) {
148
- return (0, utils_1.throwError)(e);
149
- }
121
+ const { reputationNetwork } = await (0, graphql_request_1.default)((0, utils_1.getSubgraphUrl)(networkData), (0, operator_1.GET_REPUTATION_NETWORK_QUERY)(role), {
122
+ address: address.toLowerCase(),
123
+ role: role,
124
+ });
125
+ return reputationNetwork.operators.map((operator) => {
126
+ let jobTypes = [];
127
+ if (typeof operator.jobTypes === 'string') {
128
+ jobTypes = operator.jobTypes.split(',');
129
+ }
130
+ else if (Array.isArray(operator.jobTypes)) {
131
+ jobTypes = operator.jobTypes;
132
+ }
133
+ return {
134
+ ...operator,
135
+ jobTypes,
136
+ };
137
+ });
150
138
  }
151
139
  /**
152
140
  * This function returns information about the rewards for a given slasher address.
@@ -171,20 +159,15 @@ class OperatorUtils {
171
159
  if (!networkData) {
172
160
  throw error_1.ErrorUnsupportedChainID;
173
161
  }
174
- try {
175
- const { rewardAddedEvents } = await (0, graphql_request_1.default)((0, utils_1.getSubgraphUrl)(networkData), reward_1.GET_REWARD_ADDED_EVENTS_QUERY, {
176
- slasherAddress: slasherAddress.toLowerCase(),
177
- });
178
- return rewardAddedEvents.map((reward) => {
179
- return {
180
- escrowAddress: reward.escrow,
181
- amount: reward.amount,
182
- };
183
- });
184
- }
185
- catch (e) {
186
- return (0, utils_1.throwError)(e);
187
- }
162
+ const { rewardAddedEvents } = await (0, graphql_request_1.default)((0, utils_1.getSubgraphUrl)(networkData), reward_1.GET_REWARD_ADDED_EVENTS_QUERY, {
163
+ slasherAddress: slasherAddress.toLowerCase(),
164
+ });
165
+ return rewardAddedEvents.map((reward) => {
166
+ return {
167
+ escrowAddress: reward.escrow,
168
+ amount: reward.amount,
169
+ };
170
+ });
188
171
  }
189
172
  }
190
173
  exports.OperatorUtils = OperatorUtils;
@@ -1,5 +1,5 @@
1
- import { EscrowStatistics, HMTStatistics, PaymentStatistics, WorkerStatistics } from './graphql';
2
- import { IStatisticsParams } from './interfaces';
1
+ import { EscrowStatistics, HMTStatistics, PaymentStatistics, WorkerStatistics, HMTHolder, DailyHMTData } from './graphql';
2
+ import { IHMTHoldersParams, IStatisticsFilter } from './interfaces';
3
3
  import { NetworkData } from './types';
4
4
  /**
5
5
  * ## Introduction
@@ -54,10 +54,12 @@ export declare class StatisticsClient {
54
54
  * **Input parameters**
55
55
  *
56
56
  * ```ts
57
- * interface IStatisticsParams {
57
+ * interface IStatisticsFilter {
58
58
  * from?: Date;
59
59
  * to?: Date;
60
- * limit?: number;
60
+ * first?: number; // (Optional) Number of transactions per page. Default is 10.
61
+ * skip?: number; // (Optional) Number of transactions to skip. Default is 0.
62
+ * orderDirection?: OrderDirection; // (Optional) Order of the results. Default is ASC.
61
63
  * }
62
64
  * ```
63
65
  *
@@ -78,7 +80,7 @@ export declare class StatisticsClient {
78
80
  * ```
79
81
  *
80
82
  *
81
- * @param {IStatisticsParams} params Statistics params with duration data
83
+ * @param {IStatisticsFilter} filter Statistics params with duration data
82
84
  * @returns {EscrowStatistics} Escrow statistics data.
83
85
  *
84
86
  *
@@ -96,7 +98,7 @@ export declare class StatisticsClient {
96
98
  * });
97
99
  * ```
98
100
  */
99
- getEscrowStatistics(params?: IStatisticsParams): Promise<EscrowStatistics>;
101
+ getEscrowStatistics(filter?: IStatisticsFilter): Promise<EscrowStatistics>;
100
102
  /**
101
103
  * This function returns the statistical data of workers.
102
104
  *
@@ -104,10 +106,12 @@ export declare class StatisticsClient {
104
106
  * **Input parameters**
105
107
  *
106
108
  * ```ts
107
- * interface IStatisticsParams {
109
+ * interface IStatisticsFilter {
108
110
  * from?: Date;
109
111
  * to?: Date;
110
- * limit?: number;
112
+ * first?: number; // (Optional) Number of transactions per page. Default is 10.
113
+ * skip?: number; // (Optional) Number of transactions to skip. Default is 0.
114
+ * orderDirection?: OrderDirection; // (Optional) Order of the results. Default is ASC.
111
115
  * }
112
116
  * ```
113
117
  *
@@ -123,7 +127,7 @@ export declare class StatisticsClient {
123
127
  * ```
124
128
  *
125
129
  *
126
- * @param {IStatisticsParams} params Statistics params with duration data
130
+ * @param {IStatisticsFilter} filter Statistics params with duration data
127
131
  * @returns {WorkerStatistics} Worker statistics data.
128
132
  *
129
133
  *
@@ -141,7 +145,7 @@ export declare class StatisticsClient {
141
145
  * });
142
146
  * ```
143
147
  */
144
- getWorkerStatistics(params?: IStatisticsParams): Promise<WorkerStatistics>;
148
+ getWorkerStatistics(filter?: IStatisticsFilter): Promise<WorkerStatistics>;
145
149
  /**
146
150
  * This function returns the statistical data of payments.
147
151
  *
@@ -149,10 +153,12 @@ export declare class StatisticsClient {
149
153
  * **Input parameters**
150
154
  *
151
155
  * ```ts
152
- * interface IStatisticsParams {
156
+ * interface IStatisticsFilter {
153
157
  * from?: Date;
154
158
  * to?: Date;
155
- * limit?: number;
159
+ * first?: number; // (Optional) Number of transactions per page. Default is 10.
160
+ * skip?: number; // (Optional) Number of transactions to skip. Default is 0.
161
+ * orderDirection?: OrderDirection; // (Optional) Order of the results. Default is ASC.
156
162
  * }
157
163
  * ```
158
164
  *
@@ -170,7 +176,7 @@ export declare class StatisticsClient {
170
176
  * ```
171
177
  *
172
178
  *
173
- * @param {IStatisticsParams} params Statistics params with duration data
179
+ * @param {IStatisticsFilter} filter Statistics params with duration data
174
180
  * @returns {PaymentStatistics} Payment statistics data.
175
181
  *
176
182
  *
@@ -209,45 +215,93 @@ export declare class StatisticsClient {
209
215
  * );
210
216
  * ```
211
217
  */
212
- getPaymentStatistics(params?: IStatisticsParams): Promise<PaymentStatistics>;
218
+ getPaymentStatistics(filter?: IStatisticsFilter): Promise<PaymentStatistics>;
213
219
  /**
214
220
  * This function returns the statistical data of HMToken.
215
221
  *
216
222
  *
223
+ * type HMTStatistics = {
224
+ * totalTransferAmount: BigNumber;
225
+ * totalTransferCount: BigNumber;
226
+ * totalHolders: number;
227
+ * };
228
+ * ```
229
+ *
230
+ *
231
+ * @returns {HMTStatistics} HMToken statistics data.
232
+ *
233
+ *
234
+ * **Code example**
235
+ *
236
+ * ```ts
237
+ * import { StatisticsClient, ChainId, NETWORKS } from '@human-protocol/sdk';
238
+ *
239
+ * const statisticsClient = new StatisticsClient(NETWORKS[ChainId.POLYGON_AMOY]);
240
+ *
241
+ * const hmtStatistics = await statisticsClient.getHMTStatistics();
242
+ *
243
+ * console.log('HMT statistics:', {
244
+ * ...hmtStatistics,
245
+ * totalTransferAmount: hmtStatistics.totalTransferAmount.toString(),
246
+ * });
247
+ * ```
248
+ */
249
+ getHMTStatistics(): Promise<HMTStatistics>;
250
+ /**
251
+ * This function returns the holders of the HMToken with optional filters and ordering.
252
+ *
253
+ * **Input parameters**
254
+ *
255
+ * @param {IHMTHoldersParams} params HMT Holders params with filters and ordering
256
+ * @returns {HMTHolder[]} List of HMToken holders.
257
+ *
258
+ * **Code example**
259
+ *
260
+ * ```ts
261
+ * import { StatisticsClient, ChainId, NETWORKS } from '@human-protocol/sdk';
262
+ *
263
+ * const statisticsClient = new StatisticsClient(NETWORKS[ChainId.POLYGON_AMOY]);
264
+ *
265
+ * const hmtHolders = await statisticsClient.getHMTHolders({
266
+ * orderDirection: 'asc',
267
+ * });
268
+ *
269
+ * console.log('HMT holders:', hmtHolders.map((h) => ({
270
+ * ...h,
271
+ * balance: h.balance.toString(),
272
+ * })));
273
+ * ```
274
+ */
275
+ getHMTHolders(params?: IHMTHoldersParams): Promise<HMTHolder[]>;
276
+ /**
277
+ * This function returns the statistical data of HMToken day by day.
278
+ *
279
+ *
217
280
  * **Input parameters**
218
281
  *
219
282
  * ```ts
220
- * interface IStatisticsParams {
283
+ * interface IStatisticsFilter {
221
284
  * from?: Date;
222
285
  * to?: Date;
223
- * limit?: number;
286
+ * first?: number; // (Optional) Number of transactions per page. Default is 10.
287
+ * skip?: number; // (Optional) Number of transactions to skip. Default is 0.
288
+ * orderDirection?: OrderDirection; // (Optional) Order of the results. Default is ASC.
224
289
  * }
225
290
  * ```
226
291
  *
227
292
  * ```ts
228
- * type HMTHolder = {
229
- * address: string;
230
- * balance: BigNumber;
231
- * }
232
- *
233
293
  * type DailyHMTData = {
234
294
  * timestamp: Date;
235
- * totalTransactionAmount: BigNumber;
295
+ * totalTransactionAmount: bigint;
236
296
  * totalTransactionCount: number;
237
- * };
238
- *
239
- * type HMTStatistics = {
240
- * totalTransferAmount: BigNumber;
241
- * totalTransferCount: BigNumber;
242
- * totalHolders: number;
243
- * holders: HMTHolder[];
244
- * dailyHMTData: DailyHMTData[];
245
- * };
297
+ * dailyUniqueSenders: number;
298
+ * dailyUniqueReceivers: number;
299
+ * }
246
300
  * ```
247
301
  *
248
302
  *
249
- * @param {IStatisticsParams} params Statistics params with duration data
250
- * @returns {HMTStatistics} HMToken statistics data.
303
+ * @param {IStatisticsFilter} filter Statistics params with duration data
304
+ * @returns {DailyHMTData[]} Daily HMToken statistics data.
251
305
  *
252
306
  *
253
307
  * **Code example**
@@ -257,40 +311,18 @@ export declare class StatisticsClient {
257
311
  *
258
312
  * const statisticsClient = new StatisticsClient(NETWORKS[ChainId.POLYGON_AMOY]);
259
313
  *
260
- * const hmtStatistics = await statisticsClient.getHMTStatistics();
314
+ * const dailyHMTStats = await statisticsClient.getHMTStatistics();
261
315
  *
262
- * console.log('HMT statistics:', {
263
- * ...hmtStatistics,
264
- * totalTransferAmount: hmtStatistics.totalTransferAmount.toString(),
265
- * holders: hmtStatistics.holders.map((h) => ({
266
- * ...h,
267
- * balance: h.balance.toString(),
268
- * })),
269
- * dailyHMTData: hmtStatistics.dailyHMTData.map((d) => ({
270
- * ...d,
271
- * totalTransactionAmount: d.totalTransactionAmount.toString(),
272
- * })),
273
- * });
316
+ * console.log('Daily HMT statistics:', dailyHMTStats);
274
317
  *
275
318
  * const hmtStatisticsRange = await statisticsClient.getHMTStatistics({
276
319
  * from: new Date(2023, 4, 8),
277
320
  * to: new Date(2023, 5, 8),
278
321
  * });
279
322
  *
280
- * console.log('HMT statistics from 5/8 - 6/8:', {
281
- * ...hmtStatisticsRange,
282
- * totalTransferAmount: hmtStatisticsRange.totalTransferAmount.toString(),
283
- * holders: hmtStatisticsRange.holders.map((h) => ({
284
- * ...h,
285
- * balance: h.balance.toString(),
286
- * })),
287
- * dailyHMTData: hmtStatisticsRange.dailyHMTData.map((d) => ({
288
- * ...d,
289
- * totalTransactionAmount: d.totalTransactionAmount.toString(),
290
- * })),
291
- * });
323
+ * console.log('HMT statistics from 5/8 - 6/8:', hmtStatisticsRange);
292
324
  * ```
293
325
  */
294
- getHMTStatistics(params?: IStatisticsParams): Promise<HMTStatistics>;
326
+ getHMTDailyData(filter?: IStatisticsFilter): Promise<DailyHMTData[]>;
295
327
  }
296
328
  //# sourceMappingURL=statistics.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"statistics.d.ts","sourceRoot":"","sources":["../src/statistics.ts"],"names":[],"mappings":"AAIA,OAAO,EAKL,gBAAgB,EAGhB,aAAa,EAEb,iBAAiB,EACjB,gBAAgB,EAEjB,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAGtC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,qBAAa,gBAAgB;IACpB,WAAW,EAAE,WAAW,CAAC;IACzB,WAAW,EAAE,MAAM,CAAC;IAE3B;;;;OAIG;gBACS,WAAW,EAAE,WAAW;IAKpC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAgDG;IACG,mBAAmB,CACvB,MAAM,GAAE,iBAAsB,GAC7B,OAAO,CAAC,gBAAgB,CAAC;IA6B5B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2CG;IACG,mBAAmB,CACvB,MAAM,GAAE,iBAAsB,GAC7B,OAAO,CAAC,gBAAgB,CAAC;IAoB5B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAkEG;IACG,oBAAoB,CACxB,MAAM,GAAE,iBAAsB,GAC7B,OAAO,CAAC,iBAAiB,CAAC;IA0B7B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAgFG;IACG,gBAAgB,CACpB,MAAM,GAAE,iBAAsB,GAC7B,OAAO,CAAC,aAAa,CAAC;CAuC1B"}
1
+ {"version":3,"file":"statistics.d.ts","sourceRoot":"","sources":["../src/statistics.ts"],"names":[],"mappings":"AAIA,OAAO,EAKL,gBAAgB,EAGhB,aAAa,EAEb,iBAAiB,EACjB,gBAAgB,EAEhB,SAAS,EACT,YAAY,EACb,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACpE,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAItC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,qBAAa,gBAAgB;IACpB,WAAW,EAAE,WAAW,CAAC;IACzB,WAAW,EAAE,MAAM,CAAC;IAE3B;;;;OAIG;gBACS,WAAW,EAAE,WAAW;IAKpC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAkDG;IACG,mBAAmB,CACvB,MAAM,GAAE,iBAAsB,GAC7B,OAAO,CAAC,gBAAgB,CAAC;IAqC5B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA6CG;IACG,mBAAmB,CACvB,MAAM,GAAE,iBAAsB,GAC7B,OAAO,CAAC,gBAAgB,CAAC;IA4B5B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAoEG;IACG,oBAAoB,CACxB,MAAM,GAAE,iBAAsB,GAC7B,OAAO,CAAC,iBAAiB,CAAC;IAkC7B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA6BG;IACG,gBAAgB,IAAI,OAAO,CAAC,aAAa,CAAC;IAkBhD;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IACG,aAAa,CAAC,MAAM,GAAE,iBAAsB,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IAwBzE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAiDG;IACG,eAAe,CACnB,MAAM,GAAE,iBAAsB,GAC7B,OAAO,CAAC,YAAY,EAAE,CAAC;CA8B3B"}