emissions-api-sdk 1.0.10 → 1.0.12

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 (65) hide show
  1. package/README.md +135 -6
  2. package/dist/Constants.js +1 -1
  3. package/dist/api/Factor.js +53 -1
  4. package/dist/api/TypeRecommender.js +48 -0
  5. package/dist/coverage/clover.xml +17 -14
  6. package/dist/coverage/coverage-final.json +4 -4
  7. package/dist/coverage/lcov-report/index.html +7 -7
  8. package/dist/coverage/lcov-report/src/Client.ts.html +1 -1
  9. package/dist/coverage/lcov-report/src/Constants.ts.html +2 -2
  10. package/dist/coverage/lcov-report/src/api/Calculation.ts.html +1 -1
  11. package/dist/coverage/lcov-report/src/api/EconomicActivity.ts.html +1 -1
  12. package/dist/coverage/lcov-report/src/api/Factor.ts.html +159 -3
  13. package/dist/coverage/lcov-report/src/api/FactorSets.ts.html +1 -1
  14. package/dist/coverage/lcov-report/src/api/Fugitive.ts.html +1 -1
  15. package/dist/coverage/lcov-report/src/api/Location.ts.html +1 -1
  16. package/dist/coverage/lcov-report/src/api/Metadata.ts.html +1 -1
  17. package/dist/coverage/lcov-report/src/api/Mobile.ts.html +1 -1
  18. package/dist/coverage/lcov-report/src/api/RealEstate.ts.html +1 -1
  19. package/dist/coverage/lcov-report/src/api/Stationary.ts.html +1 -1
  20. package/dist/coverage/lcov-report/src/api/TransportationAndDistribution.ts.html +1 -1
  21. package/dist/coverage/lcov-report/src/api/TypeRecommender.ts.html +146 -2
  22. package/dist/coverage/lcov-report/src/api/Usage.ts.html +1 -1
  23. package/dist/coverage/lcov-report/src/api/index.html +1 -1
  24. package/dist/coverage/lcov-report/src/index.html +1 -1
  25. package/dist/coverage/lcov-report/src/request.ts.html +1 -1
  26. package/dist/coverage/lcov-report/src/utils.ts.html +1 -1
  27. package/dist/coverage/lcov-report/test/index.html +1 -1
  28. package/dist/coverage/lcov-report/test/mocks/CommonRequest.ts.html +1 -1
  29. package/dist/coverage/lcov-report/test/mocks/FactorRequest.ts.html +1 -1
  30. package/dist/coverage/lcov-report/test/mocks/GenericCalculationRequest.ts.html +1 -1
  31. package/dist/coverage/lcov-report/test/mocks/LocationRequest.ts.html +1 -1
  32. package/dist/coverage/lcov-report/test/mocks/SearchRequest.ts.html +148 -4
  33. package/dist/coverage/lcov-report/test/mocks/index.html +5 -5
  34. package/dist/coverage/lcov-report/test/testUtils.ts.html +1 -1
  35. package/dist/coverage/lcov.info +16 -13
  36. package/dist/types/Constants.d.ts +1 -1
  37. package/dist/types/api/Factor.d.ts +53 -1
  38. package/dist/types/api/TypeRecommender.d.ts +48 -0
  39. package/dist/types/interfaces/common.d.ts +8 -0
  40. package/docs/_static/base-stemmer.js +476 -0
  41. package/docs/_static/basic.css +0 -8
  42. package/docs/_static/doctools.js +6 -5
  43. package/docs/_static/english-stemmer.js +1066 -0
  44. package/docs/_static/language_data.js +7 -186
  45. package/docs/_static/pygments.css +164 -146
  46. package/docs/_static/searchtools.js +121 -60
  47. package/docs/_static/sphinx_highlight.js +36 -31
  48. package/docs/_static/styles/furo.css +1 -1
  49. package/docs/_static/styles/furo.css.map +1 -1
  50. package/docs/authentication.html +21 -30
  51. package/docs/client.html +21 -30
  52. package/docs/genindex.html +21 -30
  53. package/docs/getting_started.html +21 -30
  54. package/docs/index.html +21 -30
  55. package/docs/reference.html +63 -72
  56. package/docs/sdk.html +21 -30
  57. package/docs/search.html +21 -30
  58. package/docs/searchindex.js +1 -1
  59. package/docs/troubleshooting.html +21 -30
  60. package/package.json +1 -1
  61. package/src/Constants.ts +1 -1
  62. package/src/api/Factor.ts +53 -1
  63. package/src/api/TypeRecommender.ts +48 -0
  64. package/src/interfaces/common.ts +12 -0
  65. package/test/mocks/SearchRequest.ts +48 -0
@@ -25,7 +25,7 @@
25
25
  <div class='fl pad1y space-right2'>
26
26
  <span class="strong">100% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>2/2</span>
28
+ <span class='fraction'>5/5</span>
29
29
  </div>
30
30
 
31
31
 
@@ -46,7 +46,7 @@
46
46
  <div class='fl pad1y space-right2'>
47
47
  <span class="strong">100% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>2/2</span>
49
+ <span class='fraction'>5/5</span>
50
50
  </div>
51
51
 
52
52
 
@@ -82,7 +82,55 @@
82
82
  <a name='L17'></a><a href='#L17'>17</a>
83
83
  <a name='L18'></a><a href='#L18'>18</a>
84
84
  <a name='L19'></a><a href='#L19'>19</a>
85
- <a name='L20'></a><a href='#L20'>20</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
85
+ <a name='L20'></a><a href='#L20'>20</a>
86
+ <a name='L21'></a><a href='#L21'>21</a>
87
+ <a name='L22'></a><a href='#L22'>22</a>
88
+ <a name='L23'></a><a href='#L23'>23</a>
89
+ <a name='L24'></a><a href='#L24'>24</a>
90
+ <a name='L25'></a><a href='#L25'>25</a>
91
+ <a name='L26'></a><a href='#L26'>26</a>
92
+ <a name='L27'></a><a href='#L27'>27</a>
93
+ <a name='L28'></a><a href='#L28'>28</a>
94
+ <a name='L29'></a><a href='#L29'>29</a>
95
+ <a name='L30'></a><a href='#L30'>30</a>
96
+ <a name='L31'></a><a href='#L31'>31</a>
97
+ <a name='L32'></a><a href='#L32'>32</a>
98
+ <a name='L33'></a><a href='#L33'>33</a>
99
+ <a name='L34'></a><a href='#L34'>34</a>
100
+ <a name='L35'></a><a href='#L35'>35</a>
101
+ <a name='L36'></a><a href='#L36'>36</a>
102
+ <a name='L37'></a><a href='#L37'>37</a>
103
+ <a name='L38'></a><a href='#L38'>38</a>
104
+ <a name='L39'></a><a href='#L39'>39</a>
105
+ <a name='L40'></a><a href='#L40'>40</a>
106
+ <a name='L41'></a><a href='#L41'>41</a>
107
+ <a name='L42'></a><a href='#L42'>42</a>
108
+ <a name='L43'></a><a href='#L43'>43</a>
109
+ <a name='L44'></a><a href='#L44'>44</a>
110
+ <a name='L45'></a><a href='#L45'>45</a>
111
+ <a name='L46'></a><a href='#L46'>46</a>
112
+ <a name='L47'></a><a href='#L47'>47</a>
113
+ <a name='L48'></a><a href='#L48'>48</a>
114
+ <a name='L49'></a><a href='#L49'>49</a>
115
+ <a name='L50'></a><a href='#L50'>50</a>
116
+ <a name='L51'></a><a href='#L51'>51</a>
117
+ <a name='L52'></a><a href='#L52'>52</a>
118
+ <a name='L53'></a><a href='#L53'>53</a>
119
+ <a name='L54'></a><a href='#L54'>54</a>
120
+ <a name='L55'></a><a href='#L55'>55</a>
121
+ <a name='L56'></a><a href='#L56'>56</a>
122
+ <a name='L57'></a><a href='#L57'>57</a>
123
+ <a name='L58'></a><a href='#L58'>58</a>
124
+ <a name='L59'></a><a href='#L59'>59</a>
125
+ <a name='L60'></a><a href='#L60'>60</a>
126
+ <a name='L61'></a><a href='#L61'>61</a>
127
+ <a name='L62'></a><a href='#L62'>62</a>
128
+ <a name='L63'></a><a href='#L63'>63</a>
129
+ <a name='L64'></a><a href='#L64'>64</a>
130
+ <a name='L65'></a><a href='#L65'>65</a>
131
+ <a name='L66'></a><a href='#L66'>66</a>
132
+ <a name='L67'></a><a href='#L67'>67</a>
133
+ <a name='L68'></a><a href='#L68'>68</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
86
134
  <span class="cline-any cline-neutral">&nbsp;</span>
87
135
  <span class="cline-any cline-yes">1x</span>
88
136
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -100,6 +148,54 @@
100
148
  <span class="cline-any cline-neutral">&nbsp;</span>
101
149
  <span class="cline-any cline-neutral">&nbsp;</span>
102
150
  <span class="cline-any cline-neutral">&nbsp;</span>
151
+ <span class="cline-any cline-neutral">&nbsp;</span>
152
+ <span class="cline-any cline-yes">1x</span>
153
+ <span class="cline-any cline-neutral">&nbsp;</span>
154
+ <span class="cline-any cline-neutral">&nbsp;</span>
155
+ <span class="cline-any cline-neutral">&nbsp;</span>
156
+ <span class="cline-any cline-neutral">&nbsp;</span>
157
+ <span class="cline-any cline-neutral">&nbsp;</span>
158
+ <span class="cline-any cline-neutral">&nbsp;</span>
159
+ <span class="cline-any cline-neutral">&nbsp;</span>
160
+ <span class="cline-any cline-neutral">&nbsp;</span>
161
+ <span class="cline-any cline-neutral">&nbsp;</span>
162
+ <span class="cline-any cline-neutral">&nbsp;</span>
163
+ <span class="cline-any cline-neutral">&nbsp;</span>
164
+ <span class="cline-any cline-neutral">&nbsp;</span>
165
+ <span class="cline-any cline-neutral">&nbsp;</span>
166
+ <span class="cline-any cline-yes">1x</span>
167
+ <span class="cline-any cline-neutral">&nbsp;</span>
168
+ <span class="cline-any cline-neutral">&nbsp;</span>
169
+ <span class="cline-any cline-neutral">&nbsp;</span>
170
+ <span class="cline-any cline-neutral">&nbsp;</span>
171
+ <span class="cline-any cline-neutral">&nbsp;</span>
172
+ <span class="cline-any cline-neutral">&nbsp;</span>
173
+ <span class="cline-any cline-neutral">&nbsp;</span>
174
+ <span class="cline-any cline-neutral">&nbsp;</span>
175
+ <span class="cline-any cline-neutral">&nbsp;</span>
176
+ <span class="cline-any cline-neutral">&nbsp;</span>
177
+ <span class="cline-any cline-neutral">&nbsp;</span>
178
+ <span class="cline-any cline-neutral">&nbsp;</span>
179
+ <span class="cline-any cline-neutral">&nbsp;</span>
180
+ <span class="cline-any cline-yes">1x</span>
181
+ <span class="cline-any cline-neutral">&nbsp;</span>
182
+ <span class="cline-any cline-neutral">&nbsp;</span>
183
+ <span class="cline-any cline-neutral">&nbsp;</span>
184
+ <span class="cline-any cline-neutral">&nbsp;</span>
185
+ <span class="cline-any cline-neutral">&nbsp;</span>
186
+ <span class="cline-any cline-neutral">&nbsp;</span>
187
+ <span class="cline-any cline-neutral">&nbsp;</span>
188
+ <span class="cline-any cline-neutral">&nbsp;</span>
189
+ <span class="cline-any cline-neutral">&nbsp;</span>
190
+ <span class="cline-any cline-neutral">&nbsp;</span>
191
+ <span class="cline-any cline-neutral">&nbsp;</span>
192
+ <span class="cline-any cline-neutral">&nbsp;</span>
193
+ <span class="cline-any cline-neutral">&nbsp;</span>
194
+ <span class="cline-any cline-neutral">&nbsp;</span>
195
+ <span class="cline-any cline-neutral">&nbsp;</span>
196
+ <span class="cline-any cline-neutral">&nbsp;</span>
197
+ <span class="cline-any cline-neutral">&nbsp;</span>
198
+ <span class="cline-any cline-neutral">&nbsp;</span>
103
199
  <span class="cline-any cline-yes">1x</span>
104
200
  <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import { SearchRequest } from "../../src/interfaces/Api";
105
201
  &nbsp;
@@ -119,6 +215,54 @@ const SearchPayload: SearchRequest = {
119
215
  }
120
216
  };
121
217
  &nbsp;
218
+ // Search payload with unit parameter
219
+ export const SearchPayloadWithUnit: SearchRequest = {
220
+ location: {
221
+ "country": "usa"
222
+ },
223
+ time: {
224
+ date: "2025-06-10",
225
+ },
226
+ activity: {
227
+ "search": "electricity",
228
+ "unit": "kWh"
229
+ }
230
+ };
231
+ &nbsp;
232
+ // Search payload with scope parameter
233
+ export const SearchPayloadWithScope: SearchRequest = {
234
+ location: {
235
+ "country": "usa"
236
+ },
237
+ time: {
238
+ date: "2025-06-10",
239
+ },
240
+ activity: {
241
+ "search": "natural gas",
242
+ "scope": "1"
243
+ }
244
+ };
245
+ &nbsp;
246
+ // Search payload with both unit and scope parameters
247
+ export const SearchPayloadWithBoth: SearchRequest = {
248
+ location: {
249
+ "country": "usa",
250
+ "stateProvince": "california"
251
+ },
252
+ time: {
253
+ date: "2025-06-10",
254
+ },
255
+ activity: {
256
+ "search": "electricity",
257
+ "unit": "MWh",
258
+ "scope": "2"
259
+ },
260
+ pagination:{
261
+ "page": 1,
262
+ "size": 10
263
+ }
264
+ };
265
+ &nbsp;
122
266
  export default SearchPayload;
123
267
  &nbsp;</pre></td></tr></table></pre>
124
268
 
@@ -127,7 +271,7 @@ export default SearchPayload;
127
271
  <div class='footer quiet pad2 space-top1 center small'>
128
272
  Code coverage generated by
129
273
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
130
- at 2026-04-28T12:54:24.682Z
274
+ at 2026-05-11T08:42:18.203Z
131
275
  </div>
132
276
  <script src="../../prettify.js"></script>
133
277
  <script>
@@ -25,7 +25,7 @@
25
25
  <div class='fl pad1y space-right2'>
26
26
  <span class="strong">100% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>10/10</span>
28
+ <span class='fraction'>13/13</span>
29
29
  </div>
30
30
 
31
31
 
@@ -46,7 +46,7 @@
46
46
  <div class='fl pad1y space-right2'>
47
47
  <span class="strong">100% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>10/10</span>
49
+ <span class='fraction'>13/13</span>
50
50
  </div>
51
51
 
52
52
 
@@ -144,13 +144,13 @@
144
144
  <div class="chart"><div class="cover-fill cover-full" style="width: 100%"></div><div class="cover-empty" style="width: 0%"></div></div>
145
145
  </td>
146
146
  <td data-value="100" class="pct high">100%</td>
147
- <td data-value="2" class="abs high">2/2</td>
147
+ <td data-value="5" class="abs high">5/5</td>
148
148
  <td data-value="100" class="pct high">100%</td>
149
149
  <td data-value="0" class="abs high">0/0</td>
150
150
  <td data-value="100" class="pct high">100%</td>
151
151
  <td data-value="0" class="abs high">0/0</td>
152
152
  <td data-value="100" class="pct high">100%</td>
153
- <td data-value="2" class="abs high">2/2</td>
153
+ <td data-value="5" class="abs high">5/5</td>
154
154
  </tr>
155
155
 
156
156
  </tbody>
@@ -161,7 +161,7 @@
161
161
  <div class='footer quiet pad2 space-top1 center small'>
162
162
  Code coverage generated by
163
163
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
164
- at 2026-04-28T12:54:24.682Z
164
+ at 2026-05-11T08:42:18.203Z
165
165
  </div>
166
166
  <script src="../../prettify.js"></script>
167
167
  <script>
@@ -82,7 +82,7 @@
82
82
  <div class='footer quiet pad2 space-top1 center small'>
83
83
  Code coverage generated by
84
84
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
85
- at 2026-04-28T12:54:24.682Z
85
+ at 2026-05-11T08:42:18.203Z
86
86
  </div>
87
87
  <script src="../prettify.js"></script>
88
88
  <script>
@@ -268,7 +268,7 @@ end_of_record
268
268
  TN:
269
269
  SF:src/api/Factor.ts
270
270
  FN:41,retrieveFactor
271
- FN:76,search
271
+ FN:128,search
272
272
  FNF:2
273
273
  FNH:2
274
274
  FNDA:1,retrieveFactor
@@ -280,10 +280,10 @@ DA:41,1
280
280
  DA:44,1
281
281
  DA:45,1
282
282
  DA:47,1
283
- DA:76,1
284
- DA:79,1
285
- DA:80,1
286
- DA:82,1
283
+ DA:128,1
284
+ DA:131,1
285
+ DA:132,1
286
+ DA:134,1
287
287
  LF:11
288
288
  LH:11
289
289
  BRF:0
@@ -477,17 +477,17 @@ BRH:0
477
477
  end_of_record
478
478
  TN:
479
479
  SF:src/api/TypeRecommender.ts
480
- FN:54,search
480
+ FN:102,search
481
481
  FNF:1
482
482
  FNH:1
483
483
  FNDA:1,search
484
484
  DA:1,1
485
485
  DA:2,1
486
486
  DA:5,1
487
- DA:54,1
488
- DA:57,1
489
- DA:58,1
490
- DA:60,1
487
+ DA:102,1
488
+ DA:105,1
489
+ DA:106,1
490
+ DA:108,1
491
491
  LF:7
492
492
  LH:7
493
493
  BRF:0
@@ -576,9 +576,12 @@ SF:test/mocks/SearchRequest.ts
576
576
  FNF:0
577
577
  FNH:0
578
578
  DA:3,1
579
- DA:19,1
580
- LF:2
581
- LH:2
579
+ DA:20,1
580
+ DA:34,1
581
+ DA:48,1
582
+ DA:67,1
583
+ LF:5
584
+ LH:5
582
585
  BRF:0
583
586
  BRH:0
584
587
  end_of_record
@@ -1,4 +1,4 @@
1
- export declare const API_DOMAIN = "https://api.ibm.com/ghgemissions/run";
1
+ export declare const API_DOMAIN = "https://api.envizi.ibm.com/ghgemissions/run";
2
2
  export declare const TOKEN_GENERATION_API = "https://api.ibm.com/saascore/run/authentication-retrieve/api-key";
3
3
  export declare const PAT_TOKEN_EXCHANGE_API = "https://api.ibm.com/saascore/run/envizi-auth/exchange";
4
4
  export declare const MOBILE_API_PATH = "/v3/carbon/mobile";
@@ -43,16 +43,68 @@ export declare function retrieveFactor(payload: FactorRequest): Promise<FactorRe
43
43
  * @throws {Error} May throw an error if the API request fails
44
44
  *
45
45
  * @example
46
+ * // Basic search
46
47
  * const searchRequest = {
47
48
  "time":{
48
49
  "date": "2020-06-10"
49
50
  },
50
51
  "activity": {
51
- "search" : "travel"},
52
+ "search" : "travel"
53
+ },
52
54
  "location": {
53
55
  "country": "USA"
54
56
  }
55
57
  };
56
58
  * const results = await search(searchRequest);
59
+ *
60
+ * @example
61
+ * // Search with optional unit parameter
62
+ * const searchWithUnit = {
63
+ "time":{
64
+ "date": "2020-06-10"
65
+ },
66
+ "activity": {
67
+ "search": "electricity",
68
+ "unit": "kWh"
69
+ },
70
+ "location": {
71
+ "country": "USA"
72
+ }
73
+ };
74
+ * const results = await search(searchWithUnit);
75
+ *
76
+ * @example
77
+ * // Search with optional scope parameter
78
+ * const searchWithScope = {
79
+ "time":{
80
+ "date": "2020-06-10"
81
+ },
82
+ "activity": {
83
+ "search": "natural gas",
84
+ "scope": "1"
85
+ },
86
+ "location": {
87
+ "country": "USA"
88
+ }
89
+ };
90
+ * const results = await search(searchWithScope);
91
+ *
92
+ * @example
93
+ * // Search with both unit and scope parameters
94
+ * const searchWithBoth = {
95
+ "time":{
96
+ "date": "2020-06-10"
97
+ },
98
+ "activity": {
99
+ "search": "electricity",
100
+ "unit": "MWh",
101
+ "scope": "2"
102
+ },
103
+ "location": {
104
+ "country": "USA",
105
+ "stateProvince": "california"
106
+ }
107
+ };
108
+ * const results = await search(searchWithBoth);
57
109
  */
58
110
  export declare function search(payload: SearchRequest): Promise<SearchResponse>;
@@ -9,6 +9,7 @@ import { TypeRecommenderResponse } from "../interfaces/response/TypeRecommenderR
9
9
  * @throws {Error} May throw an error if the API request fails
10
10
  *
11
11
  * @example
12
+ * // Basic search
12
13
  * const result = await search({
13
14
  "location": {
14
15
  "country": "usa"
@@ -19,6 +20,7 @@ import { TypeRecommenderResponse } from "../interfaces/response/TypeRecommenderR
19
20
  });
20
21
 
21
22
  * @example
23
+ * // Search with time and pagination
22
24
  * const result = await search({
23
25
  "location": {
24
26
  "country": "usa",
@@ -37,6 +39,7 @@ import { TypeRecommenderResponse } from "../interfaces/response/TypeRecommenderR
37
39
  });
38
40
 
39
41
  * @example
42
+ * // Search with power grid
40
43
  * const result = await search({
41
44
  "location": {
42
45
  "country": "usa",
@@ -46,5 +49,50 @@ import { TypeRecommenderResponse } from "../interfaces/response/TypeRecommenderR
46
49
  "search": "renewable energy"
47
50
  }
48
51
  });
52
+ *
53
+ * @example
54
+ * // Search with optional unit parameter
55
+ * const result = await search({
56
+ "location": {
57
+ "country": "usa"
58
+ },
59
+ "activity": {
60
+ "search": "electricity",
61
+ "unit": "kWh"
62
+ }
63
+ });
64
+ *
65
+ * @example
66
+ * // Search with optional scope parameter
67
+ * const result = await search({
68
+ "location": {
69
+ "country": "usa"
70
+ },
71
+ "activity": {
72
+ "search": "natural gas",
73
+ "scope": "1"
74
+ }
75
+ });
76
+ *
77
+ * @example
78
+ * // Search with both unit and scope parameters
79
+ * const result = await search({
80
+ "location": {
81
+ "country": "usa",
82
+ "stateProvince": "california"
83
+ },
84
+ "time": {
85
+ "date": "2025-06-10"
86
+ },
87
+ "activity": {
88
+ "search": "electricity",
89
+ "unit": "MWh",
90
+ "scope": "2"
91
+ },
92
+ "pagination": {
93
+ "page": 1,
94
+ "size": 10
95
+ }
96
+ });
49
97
  */
50
98
  export declare function search(payload: SearchRequest): Promise<TypeRecommenderResponse>;
@@ -135,6 +135,14 @@ export interface SearchActivity {
135
135
  * The search query string.
136
136
  */
137
137
  search: string;
138
+ /**
139
+ * Optional unit (symbol) for search activity.
140
+ */
141
+ unit?: string;
142
+ /**
143
+ * Optional scope(1,2,3,3.1 to 3.15) for search activity.
144
+ */
145
+ scope?: string;
138
146
  }
139
147
  /**
140
148
  * Represents pagination parameters for paginated results.