emissions-api-sdk 1.0.4 → 1.0.6

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 (93) hide show
  1. package/README.md +19 -26
  2. package/dist/Constants.js +6 -23
  3. package/dist/api/Calculation.js +0 -63
  4. package/dist/api/EconomicActivity.js +40 -0
  5. package/dist/api/Factor.js +0 -82
  6. package/dist/api/Fugitive.js +0 -63
  7. package/dist/api/Location.js +0 -61
  8. package/dist/api/Metadata.js +155 -0
  9. package/dist/api/Mobile.js +0 -64
  10. package/dist/api/RealEstate.js +40 -0
  11. package/dist/api/Stationary.js +0 -63
  12. package/dist/api/TransportationAndDistribution.js +0 -63
  13. package/dist/coverage/clover.xml +144 -199
  14. package/dist/coverage/coverage-final.json +14 -11
  15. package/dist/coverage/lcov-report/index.html +20 -20
  16. package/dist/coverage/lcov-report/src/Client.ts.html +28 -28
  17. package/dist/coverage/lcov-report/src/Constants.ts.html +31 -88
  18. package/dist/coverage/lcov-report/src/api/Calculation.ts.html +7 -217
  19. package/dist/coverage/lcov-report/src/api/EconomicActivity.ts.html +220 -0
  20. package/dist/coverage/lcov-report/src/api/Factor.ts.html +6 -285
  21. package/dist/coverage/lcov-report/src/api/FactorSets.ts.html +1 -1
  22. package/dist/coverage/lcov-report/src/api/Fugitive.ts.html +7 -223
  23. package/dist/coverage/lcov-report/src/api/Location.ts.html +6 -222
  24. package/dist/coverage/lcov-report/src/api/Metadata.ts.html +604 -0
  25. package/dist/coverage/lcov-report/src/api/Mobile.ts.html +6 -231
  26. package/dist/coverage/lcov-report/src/api/RealEstate.ts.html +217 -0
  27. package/dist/coverage/lcov-report/src/api/Stationary.ts.html +6 -225
  28. package/dist/coverage/lcov-report/src/api/TransportationAndDistribution.ts.html +7 -223
  29. package/dist/coverage/lcov-report/src/api/Usage.ts.html +1 -1
  30. package/dist/coverage/lcov-report/src/api/index.html +72 -27
  31. package/dist/coverage/lcov-report/src/index.html +7 -7
  32. package/dist/coverage/lcov-report/src/request.ts.html +5 -5
  33. package/dist/coverage/lcov-report/src/utils.ts.html +6 -6
  34. package/dist/coverage/lcov-report/test/index.html +1 -1
  35. package/dist/coverage/lcov-report/test/mocks/CommonRequest.ts.html +1 -1
  36. package/dist/coverage/lcov-report/test/mocks/FactorRequest.ts.html +1 -1
  37. package/dist/coverage/lcov-report/test/mocks/GenericCalculationRequest.ts.html +1 -1
  38. package/dist/coverage/lcov-report/test/mocks/LocationRequest.ts.html +1 -1
  39. package/dist/coverage/lcov-report/test/mocks/SearchRequest.ts.html +1 -1
  40. package/dist/coverage/lcov-report/test/mocks/index.html +1 -1
  41. package/dist/coverage/lcov-report/test/testUtils.ts.html +1 -1
  42. package/dist/coverage/lcov.info +241 -294
  43. package/dist/index.js +4 -1
  44. package/dist/types/Constants.d.ts +5 -22
  45. package/dist/types/api/Calculation.d.ts +0 -41
  46. package/dist/types/api/EconomicActivity.d.ts +29 -0
  47. package/dist/types/api/Factor.d.ts +0 -52
  48. package/dist/types/api/Fugitive.d.ts +0 -41
  49. package/dist/types/api/Location.d.ts +0 -39
  50. package/dist/types/api/Metadata.d.ts +99 -0
  51. package/dist/types/api/Mobile.d.ts +0 -42
  52. package/dist/types/api/RealEstate.d.ts +29 -0
  53. package/dist/types/api/Stationary.d.ts +0 -41
  54. package/dist/types/api/TransportationAndDistribution.d.ts +0 -41
  55. package/dist/types/index.d.ts +3 -0
  56. package/dist/types/interfaces/response/FactorResponse.d.ts +0 -4
  57. package/docs/_sources/index.rst.txt +8 -6
  58. package/docs/_sources/reference.rst.txt +17 -37
  59. package/docs/_static/basic.css +8 -0
  60. package/docs/_static/pygments.css +146 -164
  61. package/docs/_static/searchtools.js +5 -8
  62. package/docs/_static/styles/furo.css +1 -1
  63. package/docs/_static/styles/furo.css.map +1 -1
  64. package/docs/authentication.html +28 -19
  65. package/docs/client.html +28 -19
  66. package/docs/genindex.html +56 -71
  67. package/docs/getting_started.html +28 -19
  68. package/docs/index.html +31 -20
  69. package/docs/objects.inv +0 -0
  70. package/docs/reference.html +151 -357
  71. package/docs/sdk.html +28 -19
  72. package/docs/search.html +28 -19
  73. package/docs/searchindex.js +1 -1
  74. package/docs/troubleshooting.html +28 -19
  75. package/package.json +7 -2
  76. package/sphinx-build/source/index.rst +8 -6
  77. package/sphinx-build/source/reference.rst +17 -37
  78. package/src/Constants.ts +6 -25
  79. package/src/api/Calculation.ts +1 -72
  80. package/src/api/EconomicActivity.ts +45 -0
  81. package/src/api/Factor.ts +1 -94
  82. package/src/api/Fugitive.ts +1 -74
  83. package/src/api/Location.ts +1 -73
  84. package/src/api/Metadata.ts +174 -0
  85. package/src/api/Mobile.ts +1 -76
  86. package/src/api/RealEstate.ts +45 -0
  87. package/src/api/Stationary.ts +1 -74
  88. package/src/api/TransportationAndDistribution.ts +1 -74
  89. package/src/index.ts +3 -0
  90. package/src/interfaces/response/FactorResponse.ts +0 -7
  91. package/test/apiTest.test.ts +19 -162
  92. package/test/metadata.test.ts +224 -0
  93. package/test/request.test.ts +0 -1
@@ -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'>19/19</span>
28
+ <span class='fraction'>7/7</span>
29
29
  </div>
30
30
 
31
31
 
@@ -39,14 +39,14 @@
39
39
  <div class='fl pad1y space-right2'>
40
40
  <span class="strong">100% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>4/4</span>
42
+ <span class='fraction'>1/1</span>
43
43
  </div>
44
44
 
45
45
 
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'>19/19</span>
49
+ <span class='fraction'>7/7</span>
50
50
  </div>
51
51
 
52
52
 
@@ -109,89 +109,11 @@
109
109
  <a name='L44'></a><a href='#L44'>44</a>
110
110
  <a name='L45'></a><a href='#L45'>45</a>
111
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>
134
- <a name='L69'></a><a href='#L69'>69</a>
135
- <a name='L70'></a><a href='#L70'>70</a>
136
- <a name='L71'></a><a href='#L71'>71</a>
137
- <a name='L72'></a><a href='#L72'>72</a>
138
- <a name='L73'></a><a href='#L73'>73</a>
139
- <a name='L74'></a><a href='#L74'>74</a>
140
- <a name='L75'></a><a href='#L75'>75</a>
141
- <a name='L76'></a><a href='#L76'>76</a>
142
- <a name='L77'></a><a href='#L77'>77</a>
143
- <a name='L78'></a><a href='#L78'>78</a>
144
- <a name='L79'></a><a href='#L79'>79</a>
145
- <a name='L80'></a><a href='#L80'>80</a>
146
- <a name='L81'></a><a href='#L81'>81</a>
147
- <a name='L82'></a><a href='#L82'>82</a>
148
- <a name='L83'></a><a href='#L83'>83</a>
149
- <a name='L84'></a><a href='#L84'>84</a>
150
- <a name='L85'></a><a href='#L85'>85</a>
151
- <a name='L86'></a><a href='#L86'>86</a>
152
- <a name='L87'></a><a href='#L87'>87</a>
153
- <a name='L88'></a><a href='#L88'>88</a>
154
- <a name='L89'></a><a href='#L89'>89</a>
155
- <a name='L90'></a><a href='#L90'>90</a>
156
- <a name='L91'></a><a href='#L91'>91</a>
157
- <a name='L92'></a><a href='#L92'>92</a>
158
- <a name='L93'></a><a href='#L93'>93</a>
159
- <a name='L94'></a><a href='#L94'>94</a>
160
- <a name='L95'></a><a href='#L95'>95</a>
161
- <a name='L96'></a><a href='#L96'>96</a>
162
- <a name='L97'></a><a href='#L97'>97</a>
163
- <a name='L98'></a><a href='#L98'>98</a>
164
- <a name='L99'></a><a href='#L99'>99</a>
165
- <a name='L100'></a><a href='#L100'>100</a>
166
- <a name='L101'></a><a href='#L101'>101</a>
167
- <a name='L102'></a><a href='#L102'>102</a>
168
- <a name='L103'></a><a href='#L103'>103</a>
169
- <a name='L104'></a><a href='#L104'>104</a>
170
- <a name='L105'></a><a href='#L105'>105</a>
171
- <a name='L106'></a><a href='#L106'>106</a>
172
- <a name='L107'></a><a href='#L107'>107</a>
173
- <a name='L108'></a><a href='#L108'>108</a>
174
- <a name='L109'></a><a href='#L109'>109</a>
175
- <a name='L110'></a><a href='#L110'>110</a>
176
- <a name='L111'></a><a href='#L111'>111</a>
177
- <a name='L112'></a><a href='#L112'>112</a>
178
- <a name='L113'></a><a href='#L113'>113</a>
179
- <a name='L114'></a><a href='#L114'>114</a>
180
- <a name='L115'></a><a href='#L115'>115</a>
181
- <a name='L116'></a><a href='#L116'>116</a>
182
- <a name='L117'></a><a href='#L117'>117</a>
183
- <a name='L118'></a><a href='#L118'>118</a>
184
- <a name='L119'></a><a href='#L119'>119</a>
185
- <a name='L120'></a><a href='#L120'>120</a>
186
- <a name='L121'></a><a href='#L121'>121</a>
187
- <a name='L122'></a><a href='#L122'>122</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
112
+ <a name='L47'></a><a href='#L47'>47</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
188
113
  <span class="cline-any cline-yes">1x</span>
189
114
  <span class="cline-any cline-neutral">&nbsp;</span>
190
115
  <span class="cline-any cline-neutral">&nbsp;</span>
191
116
  <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
117
  <span class="cline-any cline-yes">1x</span>
196
118
  <span class="cline-any cline-neutral">&nbsp;</span>
197
119
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -233,86 +155,11 @@
233
155
  <span class="cline-any cline-neutral">&nbsp;</span>
234
156
  <span class="cline-any cline-neutral">&nbsp;</span>
235
157
  <span class="cline-any cline-neutral">&nbsp;</span>
236
- <span class="cline-any cline-neutral">&nbsp;</span>
237
- <span class="cline-any cline-neutral">&nbsp;</span>
238
- <span class="cline-any cline-neutral">&nbsp;</span>
239
- <span class="cline-any cline-neutral">&nbsp;</span>
240
- <span class="cline-any cline-neutral">&nbsp;</span>
241
- <span class="cline-any cline-neutral">&nbsp;</span>
242
- <span class="cline-any cline-neutral">&nbsp;</span>
243
- <span class="cline-any cline-neutral">&nbsp;</span>
244
- <span class="cline-any cline-neutral">&nbsp;</span>
245
- <span class="cline-any cline-neutral">&nbsp;</span>
246
- <span class="cline-any cline-neutral">&nbsp;</span>
247
- <span class="cline-any cline-neutral">&nbsp;</span>
248
- <span class="cline-any cline-neutral">&nbsp;</span>
249
- <span class="cline-any cline-neutral">&nbsp;</span>
250
- <span class="cline-any cline-yes">1x</span>
251
- <span class="cline-any cline-neutral">&nbsp;</span>
252
- <span class="cline-any cline-yes">1x</span>
253
- <span class="cline-any cline-yes">1x</span>
254
- <span class="cline-any cline-neutral">&nbsp;</span>
255
- <span class="cline-any cline-yes">1x</span>
256
- <span class="cline-any cline-neutral">&nbsp;</span>
257
- <span class="cline-any cline-neutral">&nbsp;</span>
258
- <span class="cline-any cline-neutral">&nbsp;</span>
259
- <span class="cline-any cline-neutral">&nbsp;</span>
260
- <span class="cline-any cline-neutral">&nbsp;</span>
261
- <span class="cline-any cline-neutral">&nbsp;</span>
262
- <span class="cline-any cline-neutral">&nbsp;</span>
263
- <span class="cline-any cline-neutral">&nbsp;</span>
264
- <span class="cline-any cline-neutral">&nbsp;</span>
265
- <span class="cline-any cline-neutral">&nbsp;</span>
266
- <span class="cline-any cline-neutral">&nbsp;</span>
267
- <span class="cline-any cline-neutral">&nbsp;</span>
268
- <span class="cline-any cline-neutral">&nbsp;</span>
269
- <span class="cline-any cline-neutral">&nbsp;</span>
270
- <span class="cline-any cline-neutral">&nbsp;</span>
271
- <span class="cline-any cline-yes">1x</span>
272
- <span class="cline-any cline-neutral">&nbsp;</span>
273
- <span class="cline-any cline-yes">1x</span>
274
- <span class="cline-any cline-yes">1x</span>
275
- <span class="cline-any cline-neutral">&nbsp;</span>
276
- <span class="cline-any cline-yes">1x</span>
277
- <span class="cline-any cline-neutral">&nbsp;</span>
278
- <span class="cline-any cline-neutral">&nbsp;</span>
279
- <span class="cline-any cline-neutral">&nbsp;</span>
280
- <span class="cline-any cline-neutral">&nbsp;</span>
281
- <span class="cline-any cline-neutral">&nbsp;</span>
282
- <span class="cline-any cline-neutral">&nbsp;</span>
283
- <span class="cline-any cline-neutral">&nbsp;</span>
284
- <span class="cline-any cline-neutral">&nbsp;</span>
285
- <span class="cline-any cline-neutral">&nbsp;</span>
286
- <span class="cline-any cline-neutral">&nbsp;</span>
287
- <span class="cline-any cline-neutral">&nbsp;</span>
288
- <span class="cline-any cline-neutral">&nbsp;</span>
289
- <span class="cline-any cline-neutral">&nbsp;</span>
290
- <span class="cline-any cline-neutral">&nbsp;</span>
291
- <span class="cline-any cline-neutral">&nbsp;</span>
292
- <span class="cline-any cline-neutral">&nbsp;</span>
293
- <span class="cline-any cline-neutral">&nbsp;</span>
294
- <span class="cline-any cline-neutral">&nbsp;</span>
295
- <span class="cline-any cline-neutral">&nbsp;</span>
296
- <span class="cline-any cline-neutral">&nbsp;</span>
297
- <span class="cline-any cline-yes">1x</span>
298
- <span class="cline-any cline-neutral">&nbsp;</span>
299
- <span class="cline-any cline-neutral">&nbsp;</span>
300
- <span class="cline-any cline-yes">1x</span>
301
- <span class="cline-any cline-yes">1x</span>
302
- <span class="cline-any cline-neutral">&nbsp;</span>
303
- <span class="cline-any cline-yes">1x</span>
304
- <span class="cline-any cline-neutral">&nbsp;</span>
305
- <span class="cline-any cline-neutral">&nbsp;</span>
306
- <span class="cline-any cline-neutral">&nbsp;</span>
307
- <span class="cline-any cline-neutral">&nbsp;</span>
308
158
  <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import { makeApiRequest } from "../request";
309
- import { GET, MOBILE_API_AREA, MOBILE_API_PATH, MOBILE_API_TYPES, MOBILE_API_UNITS, POST } from "../Constants";
159
+ import { MOBILE_API_PATH, POST } from "../Constants";
310
160
  import { CommonRequest } from "../interfaces/Api";
311
- import { AreaResponse } from "../interfaces/response/AreaResponse";
312
161
  import { EmissionResponse } from "../interfaces/response/EmissionResponse";
313
162
  import { EmissionResponseWithDetails } from "../interfaces/response/EmissionResponseWithDetails";
314
- import { TypeResponse } from "../interfaces/response/TypeResponse";
315
- import { UnitResponse } from "../interfaces/response/UnitResponse";
316
163
  import { Client } from "../Client";
317
164
  &nbsp;
318
165
  &nbsp;
@@ -354,78 +201,6 @@ export async function calculate(
354
201
  url,
355
202
  data: payload,
356
203
  });
357
- }
358
- &nbsp;
359
- &nbsp;
360
- /**
361
- * Retrieves available mobile emission calculation types by making a GET request to the API endpoint.
362
- *
363
- * @export
364
- * @return {Promise&lt;TypeResponse&gt;} A promise that resolves to a TypeResponse containing the available mobile emission types
365
- * @throws {Error} May throw an error if the API request fails
366
- *
367
- * @example
368
- * // Get all available mobile emission types
369
- * const types = await getTypes();
370
- */
371
- export async function getTypes(
372
- ): Promise&lt;TypeResponse&gt; {
373
- const client = Client.getInstance();
374
- const url = client.getDomain() + MOBILE_API_TYPES;
375
- &nbsp;
376
- return makeApiRequest&lt;TypeResponse&gt;({
377
- method: GET,
378
- url
379
- });
380
- }
381
- &nbsp;
382
- /**
383
- * Retrieves information about geographical areas supported by the mobile emissions API.
384
- *
385
- * @export
386
- * @return {Promise&lt;AreaResponse&gt;} A promise that resolves to an AreaResponse containing the supported geographical areas
387
- * @throws {Error} May throw an error if the API request fails
388
- *
389
- * @example
390
- * const areas = await getArea();
391
- */
392
- export async function getArea(
393
- ): Promise&lt;AreaResponse&gt; {
394
- const client = Client.getInstance();
395
- const url = client.getDomain() + MOBILE_API_AREA;
396
- &nbsp;
397
- return makeApiRequest&lt;AreaResponse&gt;({
398
- method: GET,
399
- url
400
- });
401
- }
402
- &nbsp;
403
- /**
404
- * Retrieves available units for a specific mobile emission type.
405
- *
406
- * @export
407
- * @param {string} type - The mobile emission type to get units for (e.g., "Diesel Fuel")
408
- * @return {Promise&lt;UnitResponse&gt;} A promise that resolves to a UnitResponse containing the available units
409
- * @throws {Error} May throw an error if the API request fails
410
- *
411
- * @example
412
- * Get units for the "Cars:B20:(NE)" emission mobile type with subtype
413
- * const units = await getUnits("Cars:B20:(NE)");
414
- &nbsp;
415
- * Get units for the "Cars by Size - Large Car - Hybrid" emission mobile type without subtype
416
- * const units = await getUnits("Cars by Size - Large Car - Hybrid");
417
- */
418
- export async function getUnits(
419
- type : string
420
- ): Promise&lt;UnitResponse&gt; {
421
- const client = Client.getInstance();
422
- const url = client.getDomain() + MOBILE_API_UNITS;
423
- &nbsp;
424
- return makeApiRequest&lt;UnitResponse&gt;({
425
- method: GET,
426
- url,
427
- params : { type }
428
- });
429
204
  }</pre></td></tr></table></pre>
430
205
 
431
206
  <div class='push'></div><!-- for sticky footer -->
@@ -433,7 +208,7 @@ export async function getUnits(
433
208
  <div class='footer quiet pad2 space-top1 center small'>
434
209
  Code coverage generated by
435
210
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
436
- at 2026-01-23T09:26:49.327Z
211
+ at 2026-03-05T04:57:51.407Z
437
212
  </div>
438
213
  <script src="../../prettify.js"></script>
439
214
  <script>
@@ -0,0 +1,217 @@
1
+
2
+ <!doctype html>
3
+ <html lang="en">
4
+
5
+ <head>
6
+ <title>Code coverage report for src/api/RealEstate.ts</title>
7
+ <meta charset="utf-8" />
8
+ <link rel="stylesheet" href="../../prettify.css" />
9
+ <link rel="stylesheet" href="../../base.css" />
10
+ <link rel="shortcut icon" type="image/x-icon" href="../../favicon.png" />
11
+ <meta name="viewport" content="width=device-width, initial-scale=1" />
12
+ <style type='text/css'>
13
+ .coverage-summary .sorter {
14
+ background-image: url(../../sort-arrow-sprite.png);
15
+ }
16
+ </style>
17
+ </head>
18
+
19
+ <body>
20
+ <div class='wrapper'>
21
+ <div class='pad1'>
22
+ <h1><a href="../../index.html">All files</a> / <a href="index.html">src/api</a> RealEstate.ts</h1>
23
+ <div class='clearfix'>
24
+
25
+ <div class='fl pad1y space-right2'>
26
+ <span class="strong">100% </span>
27
+ <span class="quiet">Statements</span>
28
+ <span class='fraction'>7/7</span>
29
+ </div>
30
+
31
+
32
+ <div class='fl pad1y space-right2'>
33
+ <span class="strong">100% </span>
34
+ <span class="quiet">Branches</span>
35
+ <span class='fraction'>0/0</span>
36
+ </div>
37
+
38
+
39
+ <div class='fl pad1y space-right2'>
40
+ <span class="strong">100% </span>
41
+ <span class="quiet">Functions</span>
42
+ <span class='fraction'>1/1</span>
43
+ </div>
44
+
45
+
46
+ <div class='fl pad1y space-right2'>
47
+ <span class="strong">100% </span>
48
+ <span class="quiet">Lines</span>
49
+ <span class='fraction'>7/7</span>
50
+ </div>
51
+
52
+
53
+ </div>
54
+ <p class="quiet">
55
+ Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
56
+ </p>
57
+ <template id="filterTemplate">
58
+ <div class="quiet">
59
+ Filter:
60
+ <input type="search" id="fileSearch">
61
+ </div>
62
+ </template>
63
+ </div>
64
+ <div class='status-line high'></div>
65
+ <pre><table class="coverage">
66
+ <tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
67
+ <a name='L2'></a><a href='#L2'>2</a>
68
+ <a name='L3'></a><a href='#L3'>3</a>
69
+ <a name='L4'></a><a href='#L4'>4</a>
70
+ <a name='L5'></a><a href='#L5'>5</a>
71
+ <a name='L6'></a><a href='#L6'>6</a>
72
+ <a name='L7'></a><a href='#L7'>7</a>
73
+ <a name='L8'></a><a href='#L8'>8</a>
74
+ <a name='L9'></a><a href='#L9'>9</a>
75
+ <a name='L10'></a><a href='#L10'>10</a>
76
+ <a name='L11'></a><a href='#L11'>11</a>
77
+ <a name='L12'></a><a href='#L12'>12</a>
78
+ <a name='L13'></a><a href='#L13'>13</a>
79
+ <a name='L14'></a><a href='#L14'>14</a>
80
+ <a name='L15'></a><a href='#L15'>15</a>
81
+ <a name='L16'></a><a href='#L16'>16</a>
82
+ <a name='L17'></a><a href='#L17'>17</a>
83
+ <a name='L18'></a><a href='#L18'>18</a>
84
+ <a name='L19'></a><a href='#L19'>19</a>
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></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
111
+ <span class="cline-any cline-yes">1x</span>
112
+ <span class="cline-any cline-neutral">&nbsp;</span>
113
+ <span class="cline-any cline-neutral">&nbsp;</span>
114
+ <span class="cline-any cline-neutral">&nbsp;</span>
115
+ <span class="cline-any cline-yes">1x</span>
116
+ <span class="cline-any cline-neutral">&nbsp;</span>
117
+ <span class="cline-any cline-neutral">&nbsp;</span>
118
+ <span class="cline-any cline-neutral">&nbsp;</span>
119
+ <span class="cline-any cline-neutral">&nbsp;</span>
120
+ <span class="cline-any cline-neutral">&nbsp;</span>
121
+ <span class="cline-any cline-neutral">&nbsp;</span>
122
+ <span class="cline-any cline-neutral">&nbsp;</span>
123
+ <span class="cline-any cline-neutral">&nbsp;</span>
124
+ <span class="cline-any cline-neutral">&nbsp;</span>
125
+ <span class="cline-any cline-neutral">&nbsp;</span>
126
+ <span class="cline-any cline-neutral">&nbsp;</span>
127
+ <span class="cline-any cline-neutral">&nbsp;</span>
128
+ <span class="cline-any cline-neutral">&nbsp;</span>
129
+ <span class="cline-any cline-neutral">&nbsp;</span>
130
+ <span class="cline-any cline-neutral">&nbsp;</span>
131
+ <span class="cline-any cline-neutral">&nbsp;</span>
132
+ <span class="cline-any cline-neutral">&nbsp;</span>
133
+ <span class="cline-any cline-neutral">&nbsp;</span>
134
+ <span class="cline-any cline-neutral">&nbsp;</span>
135
+ <span class="cline-any cline-neutral">&nbsp;</span>
136
+ <span class="cline-any cline-neutral">&nbsp;</span>
137
+ <span class="cline-any cline-neutral">&nbsp;</span>
138
+ <span class="cline-any cline-neutral">&nbsp;</span>
139
+ <span class="cline-any cline-neutral">&nbsp;</span>
140
+ <span class="cline-any cline-neutral">&nbsp;</span>
141
+ <span class="cline-any cline-neutral">&nbsp;</span>
142
+ <span class="cline-any cline-neutral">&nbsp;</span>
143
+ <span class="cline-any cline-yes">1x</span>
144
+ <span class="cline-any cline-neutral">&nbsp;</span>
145
+ <span class="cline-any cline-neutral">&nbsp;</span>
146
+ <span class="cline-any cline-yes">1x</span>
147
+ <span class="cline-any cline-yes">1x</span>
148
+ <span class="cline-any cline-neutral">&nbsp;</span>
149
+ <span class="cline-any cline-yes">1x</span>
150
+ <span class="cline-any cline-neutral">&nbsp;</span>
151
+ <span class="cline-any cline-neutral">&nbsp;</span>
152
+ <span class="cline-any cline-neutral">&nbsp;</span>
153
+ <span class="cline-any cline-neutral">&nbsp;</span>
154
+ <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import { Client } from "../Client";
155
+ import { REAL_ESTATE_API_PATH, POST } from "../Constants";
156
+ import { CommonRequest } from "../interfaces/Api";
157
+ import { EmissionResponse } from "../interfaces/response/EmissionResponse";
158
+ import { EmissionResponseWithDetails } from "../interfaces/response/EmissionResponseWithDetails";
159
+ import { makeApiRequest } from "../request";
160
+ &nbsp;
161
+ /**
162
+ * Performs scope 3 Real estate emission calculations by making a POST request to the real estate API endpoint.
163
+ *
164
+ * @export
165
+ * @param {CommonRequest} payload - The request data to be sent to the API
166
+ * @return {Promise&lt;EmissionResponse | EmissionResponseWithDetails&gt;} A promise that resolves to the emission calculation result. Returns EmissionResponseWithDetails if includeDetails is true, otherwise EmissionResponse
167
+ * @throws {Error} May throw an error if the API request fails
168
+ *
169
+ * @example
170
+ * const request = {
171
+ "time": {
172
+ "date": "2025-01-04"
173
+ },
174
+ "location": {
175
+ "country": "usa"
176
+ },
177
+ "activity": {
178
+ "type": "Commercial Real Estate:Industrial distribution warehouse",
179
+ "value": 17000.123,
180
+ "unit": "m2"
181
+ },
182
+ "includeDetails": false
183
+ };
184
+ * const result = await calculate(request);
185
+ */
186
+ &nbsp;
187
+ export async function calculate(
188
+ payload: CommonRequest
189
+ ): Promise&lt;EmissionResponse | EmissionResponseWithDetails&gt; {
190
+ const client = Client.getInstance();
191
+ const url = client.getDomain() + REAL_ESTATE_API_PATH;
192
+ &nbsp;
193
+ return makeApiRequest&lt;EmissionResponse | EmissionResponseWithDetails&gt;({
194
+ method: POST,
195
+ url,
196
+ data: payload,
197
+ });
198
+ }</pre></td></tr></table></pre>
199
+
200
+ <div class='push'></div><!-- for sticky footer -->
201
+ </div><!-- /wrapper -->
202
+ <div class='footer quiet pad2 space-top1 center small'>
203
+ Code coverage generated by
204
+ <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
205
+ at 2026-03-05T04:57:51.407Z
206
+ </div>
207
+ <script src="../../prettify.js"></script>
208
+ <script>
209
+ window.onload = function () {
210
+ prettyPrint();
211
+ };
212
+ </script>
213
+ <script src="../../sorter.js"></script>
214
+ <script src="../../block-navigation.js"></script>
215
+ </body>
216
+ </html>
217
+