emissions-api-sdk 1.0.0 → 1.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 (155) hide show
  1. package/README.md +33 -2
  2. package/dist/Constants.js +23 -1
  3. package/dist/api/Calculation.js +78 -15
  4. package/dist/api/Factor.js +99 -18
  5. package/dist/api/FactorSets.js +1 -1
  6. package/dist/api/Fugitive.js +76 -13
  7. package/dist/api/Location.js +76 -15
  8. package/dist/api/Mobile.js +65 -1
  9. package/dist/api/Stationary.js +78 -15
  10. package/dist/api/TransportationAndDistribution.js +77 -14
  11. package/dist/coverage/clover.xml +191 -81
  12. package/dist/coverage/coverage-final.json +11 -11
  13. package/dist/coverage/lcov-report/index.html +16 -16
  14. package/dist/coverage/lcov-report/src/Client.ts.html +23 -23
  15. package/dist/coverage/lcov-report/src/Constants.ts.html +82 -4
  16. package/dist/coverage/lcov-report/src/api/Calculation.ts.html +245 -26
  17. package/dist/coverage/lcov-report/src/api/Factor.ts.html +313 -34
  18. package/dist/coverage/lcov-report/src/api/FactorSets.ts.html +8 -5
  19. package/dist/coverage/lcov-report/src/api/Fugitive.ts.html +246 -24
  20. package/dist/coverage/lcov-report/src/api/Location.ts.html +245 -26
  21. package/dist/coverage/lcov-report/src/api/Mobile.ts.html +240 -12
  22. package/dist/coverage/lcov-report/src/api/Stationary.ts.html +248 -26
  23. package/dist/coverage/lcov-report/src/api/TransportationAndDistribution.ts.html +250 -25
  24. package/dist/coverage/lcov-report/src/api/index.html +25 -25
  25. package/dist/coverage/lcov-report/src/index.html +7 -7
  26. package/dist/coverage/lcov-report/src/request.ts.html +1 -1
  27. package/dist/coverage/lcov-report/src/utils.ts.html +5 -5
  28. package/dist/coverage/lcov-report/test/index.html +1 -1
  29. package/dist/coverage/lcov-report/test/mocks/CommonRequest.ts.html +1 -1
  30. package/dist/coverage/lcov-report/test/mocks/FactorRequest.ts.html +1 -1
  31. package/dist/coverage/lcov-report/test/mocks/GenericCalculationRequest.ts.html +1 -1
  32. package/dist/coverage/lcov-report/test/mocks/LocationRequest.ts.html +1 -1
  33. package/dist/coverage/lcov-report/test/mocks/SearchRequest.ts.html +1 -1
  34. package/dist/coverage/lcov-report/test/mocks/index.html +1 -1
  35. package/dist/coverage/lcov-report/test/testUtils.ts.html +1 -1
  36. package/dist/coverage/lcov.info +287 -133
  37. package/dist/interfaces/response/AreaResponse.js +2 -0
  38. package/dist/interfaces/response/EmissionResponse.js +2 -0
  39. package/dist/interfaces/response/EmissionResponseWithDetails.js +2 -0
  40. package/dist/interfaces/response/FactorResponse.js +2 -0
  41. package/dist/interfaces/response/FactorSetResponse.js +2 -0
  42. package/dist/interfaces/response/SearchResponse.js +2 -0
  43. package/dist/interfaces/response/TypeResponse.js +2 -0
  44. package/dist/interfaces/response/UnitResponse.js +2 -0
  45. package/dist/types/Constants.d.ts +22 -0
  46. package/dist/types/api/Calculation.d.ts +59 -16
  47. package/dist/types/api/Factor.d.ts +73 -20
  48. package/dist/types/api/FactorSets.d.ts +3 -2
  49. package/dist/types/api/Fugitive.d.ts +57 -14
  50. package/dist/types/api/Location.d.ts +57 -16
  51. package/dist/types/api/Mobile.d.ts +46 -2
  52. package/dist/types/api/Stationary.d.ts +59 -16
  53. package/dist/types/api/TransportationAndDistribution.d.ts +58 -15
  54. package/dist/types/index.d.ts +8 -0
  55. package/dist/types/interfaces/response/AreaResponse.d.ts +20 -0
  56. package/dist/types/interfaces/response/EmissionResponse.d.ts +31 -0
  57. package/dist/types/interfaces/response/EmissionResponseWithDetails.d.ts +144 -0
  58. package/dist/types/interfaces/response/FactorResponse.d.ts +53 -0
  59. package/dist/types/interfaces/response/FactorSetResponse.d.ts +38 -0
  60. package/dist/types/interfaces/response/SearchResponse.d.ts +41 -0
  61. package/dist/types/interfaces/response/TypeResponse.d.ts +7 -0
  62. package/dist/types/interfaces/response/UnitResponse.d.ts +7 -0
  63. package/docs/.nojekyll +0 -0
  64. package/docs/_sources/authentication.rst.txt +164 -0
  65. package/docs/_sources/client.rst.txt +137 -0
  66. package/docs/_sources/getting_started.rst.txt +164 -0
  67. package/docs/_sources/index.rst.txt +30 -0
  68. package/docs/_sources/reference.rst.txt +129 -0
  69. package/docs/_sources/sdk.rst.txt +13 -0
  70. package/docs/_sources/troubleshooting.rst.txt +486 -0
  71. package/docs/_static/basic.css +914 -0
  72. package/docs/_static/custom.css +16 -0
  73. package/docs/_static/debug.css +69 -0
  74. package/docs/_static/doctools.js +149 -0
  75. package/docs/_static/documentation_options.js +13 -0
  76. package/docs/_static/file.png +0 -0
  77. package/docs/_static/language_data.js +192 -0
  78. package/docs/_static/minus.png +0 -0
  79. package/docs/_static/plus.png +0 -0
  80. package/docs/_static/pygments.css +232 -0
  81. package/docs/_static/scripts/furo-extensions.js +0 -0
  82. package/docs/_static/scripts/furo.js +3 -0
  83. package/docs/_static/scripts/furo.js.LICENSE.txt +7 -0
  84. package/docs/_static/scripts/furo.js.map +1 -0
  85. package/docs/_static/searchtools.js +632 -0
  86. package/docs/_static/skeleton.css +296 -0
  87. package/docs/_static/sphinx_highlight.js +154 -0
  88. package/docs/_static/sphinx_js.css +0 -0
  89. package/docs/_static/styles/furo-extensions.css +2 -0
  90. package/docs/_static/styles/furo-extensions.css.map +1 -0
  91. package/docs/_static/styles/furo.css +2 -0
  92. package/docs/_static/styles/furo.css.map +1 -0
  93. package/docs/authentication.html +523 -0
  94. package/docs/client.html +477 -0
  95. package/docs/genindex.html +492 -0
  96. package/docs/getting_started.html +491 -0
  97. package/docs/index.html +357 -0
  98. package/docs/objects.inv +0 -0
  99. package/docs/reference.html +1584 -0
  100. package/docs/sdk.html +334 -0
  101. package/docs/search.html +297 -0
  102. package/docs/searchindex.js +1 -0
  103. package/docs/troubleshooting.html +786 -0
  104. package/package.json +1 -1
  105. package/sphinx-build/Makefile +49 -0
  106. package/sphinx-build/requirements.txt +5 -0
  107. package/sphinx-build/source/_static/custom.css +16 -0
  108. package/sphinx-build/source/authentication.rst +164 -0
  109. package/sphinx-build/source/client.rst +137 -0
  110. package/sphinx-build/source/conf.py +56 -0
  111. package/sphinx-build/source/getting_started.rst +164 -0
  112. package/sphinx-build/source/index.rst +30 -0
  113. package/sphinx-build/source/reference.rst +129 -0
  114. package/sphinx-build/source/sdk.rst +13 -0
  115. package/sphinx-build/source/troubleshooting.rst +486 -0
  116. package/src/Constants.ts +26 -0
  117. package/src/api/Calculation.ts +94 -20
  118. package/src/api/Factor.ts +122 -28
  119. package/src/api/FactorSets.ts +4 -3
  120. package/src/api/Fugitive.ts +93 -18
  121. package/src/api/Location.ts +94 -20
  122. package/src/api/Mobile.ts +83 -6
  123. package/src/api/Stationary.ts +95 -20
  124. package/src/api/TransportationAndDistribution.ts +95 -19
  125. package/src/index.ts +33 -1
  126. package/src/interfaces/response/AreaResponse.ts +25 -0
  127. package/src/interfaces/response/EmissionResponse.ts +44 -0
  128. package/src/interfaces/response/EmissionResponseWithDetails.ts +183 -0
  129. package/src/interfaces/response/FactorResponse.ts +78 -0
  130. package/src/interfaces/response/FactorSetResponse.ts +52 -0
  131. package/src/interfaces/response/SearchResponse.ts +52 -0
  132. package/src/interfaces/response/TypeResponse.ts +7 -0
  133. package/src/interfaces/response/UnitResponse.ts +7 -0
  134. package/test/apiTest.test.ts +173 -6
  135. package/dist/api/Factors.js +0 -98
  136. package/dist/api/FugitiveEmission.js +0 -40
  137. package/dist/api/GenericCalculation.js +0 -41
  138. package/dist/api/LocationEmission.js +0 -41
  139. package/dist/api/MobileEmission.js +0 -41
  140. package/dist/api/StationaryEmission.js +0 -41
  141. package/dist/api/TransportationDistributionEmission.js +0 -40
  142. package/dist/coverage/lcov-report/src/api/Factors.ts.html +0 -403
  143. package/dist/coverage/lcov-report/src/api/FugitiveEmission.ts.html +0 -214
  144. package/dist/coverage/lcov-report/src/api/GenericCalculation.ts.html +0 -217
  145. package/dist/coverage/lcov-report/src/api/LocationEmission.ts.html +0 -214
  146. package/dist/coverage/lcov-report/src/api/MobileEmission.ts.html +0 -220
  147. package/dist/coverage/lcov-report/src/api/StationaryEmission.ts.html +0 -220
  148. package/dist/coverage/lcov-report/src/api/TransportationDistributionEmission.ts.html +0 -211
  149. package/dist/types/api/Factors.d.ts +0 -68
  150. package/dist/types/api/FugitiveEmission.d.ts +0 -27
  151. package/dist/types/api/GenericCalculation.d.ts +0 -28
  152. package/dist/types/api/LocationEmission.d.ts +0 -28
  153. package/dist/types/api/MobileEmission.d.ts +0 -28
  154. package/dist/types/api/StationaryEmission.d.ts +0 -28
  155. package/dist/types/api/TransportationDistributionEmission.d.ts +0 -27
@@ -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'>7/7</span>
28
+ <span class='fraction'>19/19</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'>1/1</span>
42
+ <span class='fraction'>4/4</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'>7/7</span>
49
+ <span class='fraction'>19/19</span>
50
50
  </div>
51
51
 
52
52
 
@@ -105,9 +105,89 @@
105
105
  <a name='L40'></a><a href='#L40'>40</a>
106
106
  <a name='L41'></a><a href='#L41'>41</a>
107
107
  <a name='L42'></a><a href='#L42'>42</a>
108
- <a name='L43'></a><a href='#L43'>43</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
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>
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></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
109
184
  <span class="cline-any cline-yes">1x</span>
110
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>
111
191
  <span class="cline-any cline-yes">1x</span>
112
192
  <span class="cline-any cline-neutral">&nbsp;</span>
113
193
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -147,56 +227,201 @@
147
227
  <span class="cline-any cline-neutral">&nbsp;</span>
148
228
  <span class="cline-any cline-neutral">&nbsp;</span>
149
229
  <span class="cline-any cline-neutral">&nbsp;</span>
230
+ <span class="cline-any cline-neutral">&nbsp;</span>
231
+ <span class="cline-any cline-neutral">&nbsp;</span>
232
+ <span class="cline-any cline-neutral">&nbsp;</span>
233
+ <span class="cline-any cline-neutral">&nbsp;</span>
234
+ <span class="cline-any cline-neutral">&nbsp;</span>
235
+ <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-yes">1x</span>
243
+ <span class="cline-any cline-neutral">&nbsp;</span>
244
+ <span class="cline-any cline-yes">1x</span>
245
+ <span class="cline-any cline-yes">1x</span>
246
+ <span class="cline-any cline-neutral">&nbsp;</span>
247
+ <span class="cline-any cline-yes">1x</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-neutral">&nbsp;</span>
251
+ <span class="cline-any cline-neutral">&nbsp;</span>
252
+ <span class="cline-any cline-neutral">&nbsp;</span>
253
+ <span class="cline-any cline-neutral">&nbsp;</span>
254
+ <span class="cline-any cline-neutral">&nbsp;</span>
255
+ <span class="cline-any cline-neutral">&nbsp;</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-yes">1x</span>
264
+ <span class="cline-any cline-neutral">&nbsp;</span>
265
+ <span class="cline-any cline-yes">1x</span>
266
+ <span class="cline-any cline-yes">1x</span>
267
+ <span class="cline-any cline-neutral">&nbsp;</span>
268
+ <span class="cline-any cline-yes">1x</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-neutral">&nbsp;</span>
272
+ <span class="cline-any cline-neutral">&nbsp;</span>
273
+ <span class="cline-any cline-neutral">&nbsp;</span>
274
+ <span class="cline-any cline-neutral">&nbsp;</span>
275
+ <span class="cline-any cline-neutral">&nbsp;</span>
276
+ <span class="cline-any cline-neutral">&nbsp;</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-yes">1x</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-yes">1x</span>
293
+ <span class="cline-any cline-yes">1x</span>
294
+ <span class="cline-any cline-neutral">&nbsp;</span>
295
+ <span class="cline-any cline-yes">1x</span>
296
+ <span class="cline-any cline-neutral">&nbsp;</span>
297
+ <span class="cline-any cline-neutral">&nbsp;</span>
298
+ <span class="cline-any cline-neutral">&nbsp;</span>
299
+ <span class="cline-any cline-neutral">&nbsp;</span>
150
300
  <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import { Client } from "../Client";
151
- import { TRANSPORTATION_AND_DISTRIBUTION_API_PATH, POST } from "../Constants";
301
+ import { TRANSPORTATION_AND_DISTRIBUTION_API_PATH, POST, TRANSPORTATION_AND_DISTRIBUTION_API_TYPES, GET, TRANSPORTATION_AND_DISTRIBUTION_API_AREA, TRANSPORTATION_AND_DISTRIBUTION_API_UNITS } from "../Constants";
152
302
  import { CalculationRequest } from "../interfaces/Api";
303
+ import { AreaResponse } from "../interfaces/response/AreaResponse";
304
+ import { EmissionResponse } from "../interfaces/response/EmissionResponse";
305
+ import { EmissionResponseWithDetails } from "../interfaces/response/EmissionResponseWithDetails";
306
+ import { TypeResponse } from "../interfaces/response/TypeResponse";
307
+ import { UnitResponse } from "../interfaces/response/UnitResponse";
153
308
  import { makeApiRequest } from "../request";
154
309
  &nbsp;
155
310
  /**
156
- * Performs Scope 2 transportation and distribution emission calculations by making a POST request to the transportation and distribution API endpoint.
157
- *
311
+ * Performs Scope 3 transportation and distribution emission calculations by making a POST request to the transportation and distribution API endpoint.
312
+ *
158
313
  * @export
159
314
  * @param {CalculationRequest} payload - The calculation request data for transportation and distribution operations
160
- * @return {Promise&lt;string&gt;} A promise that resolves to the calculation result string returned by the API
315
+ * @return {Promise&lt;EmissionResponse | EmissionResponseWithDetails&gt;} A promise that resolves to the emission calculation result. Returns EmissionResponseWithDetails if includeDetails is true, otherwise EmissionResponse
161
316
  * @throws {Error} May throw an error if the API request fails
162
- *
317
+ *
163
318
  * @example
164
319
  * const request = {
165
- "time" : {
166
- "date": "2025-01-04"
167
- },
168
- "location": {
169
- "country": "usa"
170
- },
171
- "activity": {
172
- "type": "Freight - Cargo Ship - Bulk Carrier - 0-9999 dwt",
173
- "unit": ["t","km"],
174
- "value": [1.0,1.0]
175
- },
176
- "includeDetails": true
320
+ "time" : {
321
+ "date": "2025-01-04"
322
+ },
323
+ "location": {
324
+ "country": "usa"
325
+ },
326
+ "activity": {
327
+ "type": "Freight - Cargo Ship - Bulk Carrier - 0-9999 dwt",
328
+ "unit": ["t","km"],
329
+ "value": [1.0,1.0]
330
+ },
331
+ "includeDetails": true
177
332
  };
178
333
  * const result = await calculate(request);
179
334
  */
180
335
  export async function calculate(
181
336
  payload: CalculationRequest
182
- ): Promise&lt;string&gt; {
337
+ ): Promise&lt;EmissionResponse | EmissionResponseWithDetails&gt; {
183
338
  const client = Client.getInstance();
184
339
  const url = client.getDomain() + TRANSPORTATION_AND_DISTRIBUTION_API_PATH;
185
340
  &nbsp;
186
- return makeApiRequest&lt;string&gt;({
341
+ return makeApiRequest&lt;EmissionResponse | EmissionResponseWithDetails&gt;({
187
342
  method: POST,
188
343
  url,
189
344
  data: payload,
190
345
  });
191
346
  }
192
- &nbsp;</pre></td></tr></table></pre>
347
+ &nbsp;
348
+ &nbsp;
349
+ /**
350
+ * Retrieves available transportation and distribution calculation types by making a GET request to the API endpoint.
351
+ *
352
+ * @export
353
+ * @return {Promise&lt;TypeResponse&gt;} A promise that resolves to a TypeResponse containing the available transportation and distribution calculation types
354
+ * @throws {Error} May throw an error if the API request fails
355
+ *
356
+ * @example
357
+ * const types = await getTypes();
358
+ */
359
+ export async function getTypes(
360
+ ): Promise&lt;TypeResponse&gt; {
361
+ const client = Client.getInstance();
362
+ const url = client.getDomain() + TRANSPORTATION_AND_DISTRIBUTION_API_TYPES;
363
+ &nbsp;
364
+ return makeApiRequest&lt;TypeResponse&gt;({
365
+ method: GET,
366
+ url
367
+ });
368
+ }
369
+ &nbsp;
370
+ /**
371
+ * Retrieves information about geographical areas supported by the transportation and distribution API.
372
+ *
373
+ * @export
374
+ * @return {Promise&lt;AreaResponse&gt;} A promise that resolves to an AreaResponse containing the supported geographical areas
375
+ * @throws {Error} May throw an error if the API request fails
376
+ *
377
+ * @example
378
+ * const areas = await getArea();
379
+ */
380
+ export async function getArea(
381
+ ): Promise&lt;AreaResponse&gt; {
382
+ const client = Client.getInstance();
383
+ const url = client.getDomain() + TRANSPORTATION_AND_DISTRIBUTION_API_AREA;
384
+ &nbsp;
385
+ return makeApiRequest&lt;AreaResponse&gt;({
386
+ method: GET,
387
+ url
388
+ });
389
+ }
390
+ &nbsp;
391
+ /**
392
+ * Retrieves available units for a specific transportation and distribution calculation type.
393
+ *
394
+ * @export
395
+ * @param {string} type - The transportation and distribution calculation type to get units for (e.g., "Freight - Cargo Ship")
396
+ * @return {Promise&lt;UnitResponse&gt;} A promise that resolves to a UnitResponse containing the available units
397
+ * @throws {Error} May throw an error if the API request fails
398
+ *
399
+ * @example
400
+ * // Get units for the "Business Travel - Cars:Diesel - Small" transportation and distribution type without subtype
401
+ * const units = await getUnits("Business Travel - Cars:Diesel - Small");
402
+ *
403
+ * // Get units for the "Business Travel - Cars" transportation and distribution type with subtype
404
+ * const units = await getUnits("Business Travel - Cars");
405
+ */
406
+ export async function getUnits(
407
+ type : string
408
+ ): Promise&lt;UnitResponse&gt; {
409
+ const client = Client.getInstance();
410
+ const url = client.getDomain() + TRANSPORTATION_AND_DISTRIBUTION_API_UNITS;
411
+ &nbsp;
412
+ return makeApiRequest&lt;UnitResponse&gt;({
413
+ method: GET,
414
+ url,
415
+ params : { type }
416
+ });
417
+ }</pre></td></tr></table></pre>
193
418
 
194
419
  <div class='push'></div><!-- for sticky footer -->
195
420
  </div><!-- /wrapper -->
196
421
  <div class='footer quiet pad2 space-top1 center small'>
197
422
  Code coverage generated by
198
423
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
199
- at 2025-09-29T10:08:48.327Z
424
+ at 2025-12-11T17:06:20.018Z
200
425
  </div>
201
426
  <script src="../../prettify.js"></script>
202
427
  <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'>60/60</span>
28
+ <span class='fraction'>148/148</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'>9/9</span>
42
+ <span class='fraction'>31/31</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'>60/60</span>
49
+ <span class='fraction'>148/148</span>
50
50
  </div>
51
51
 
52
52
 
@@ -84,13 +84,13 @@
84
84
  <div class="chart"><div class="cover-fill cover-full" style="width: 100%"></div><div class="cover-empty" style="width: 0%"></div></div>
85
85
  </td>
86
86
  <td data-value="100" class="pct high">100%</td>
87
- <td data-value="7" class="abs high">7/7</td>
87
+ <td data-value="19" class="abs high">19/19</td>
88
88
  <td data-value="100" class="pct high">100%</td>
89
89
  <td data-value="0" class="abs high">0/0</td>
90
90
  <td data-value="100" class="pct high">100%</td>
91
- <td data-value="1" class="abs high">1/1</td>
91
+ <td data-value="4" class="abs high">4/4</td>
92
92
  <td data-value="100" class="pct high">100%</td>
93
- <td data-value="7" class="abs high">7/7</td>
93
+ <td data-value="19" class="abs high">19/19</td>
94
94
  </tr>
95
95
 
96
96
  <tr>
@@ -99,13 +99,13 @@
99
99
  <div class="chart"><div class="cover-fill cover-full" style="width: 100%"></div><div class="cover-empty" style="width: 0%"></div></div>
100
100
  </td>
101
101
  <td data-value="100" class="pct high">100%</td>
102
- <td data-value="11" class="abs high">11/11</td>
102
+ <td data-value="27" class="abs high">27/27</td>
103
103
  <td data-value="100" class="pct high">100%</td>
104
104
  <td data-value="0" class="abs high">0/0</td>
105
105
  <td data-value="100" class="pct high">100%</td>
106
- <td data-value="2" class="abs high">2/2</td>
106
+ <td data-value="6" class="abs high">6/6</td>
107
107
  <td data-value="100" class="pct high">100%</td>
108
- <td data-value="11" class="abs high">11/11</td>
108
+ <td data-value="27" class="abs high">27/27</td>
109
109
  </tr>
110
110
 
111
111
  <tr>
@@ -129,13 +129,13 @@
129
129
  <div class="chart"><div class="cover-fill cover-full" style="width: 100%"></div><div class="cover-empty" style="width: 0%"></div></div>
130
130
  </td>
131
131
  <td data-value="100" class="pct high">100%</td>
132
- <td data-value="7" class="abs high">7/7</td>
132
+ <td data-value="19" class="abs high">19/19</td>
133
133
  <td data-value="100" class="pct high">100%</td>
134
134
  <td data-value="0" class="abs high">0/0</td>
135
135
  <td data-value="100" class="pct high">100%</td>
136
- <td data-value="1" class="abs high">1/1</td>
136
+ <td data-value="4" class="abs high">4/4</td>
137
137
  <td data-value="100" class="pct high">100%</td>
138
- <td data-value="7" class="abs high">7/7</td>
138
+ <td data-value="19" class="abs high">19/19</td>
139
139
  </tr>
140
140
 
141
141
  <tr>
@@ -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="7" class="abs high">7/7</td>
147
+ <td data-value="19" class="abs high">19/19</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
- <td data-value="1" class="abs high">1/1</td>
151
+ <td data-value="4" class="abs high">4/4</td>
152
152
  <td data-value="100" class="pct high">100%</td>
153
- <td data-value="7" class="abs high">7/7</td>
153
+ <td data-value="19" class="abs high">19/19</td>
154
154
  </tr>
155
155
 
156
156
  <tr>
@@ -159,13 +159,13 @@
159
159
  <div class="chart"><div class="cover-fill cover-full" style="width: 100%"></div><div class="cover-empty" style="width: 0%"></div></div>
160
160
  </td>
161
161
  <td data-value="100" class="pct high">100%</td>
162
- <td data-value="7" class="abs high">7/7</td>
162
+ <td data-value="19" class="abs high">19/19</td>
163
163
  <td data-value="100" class="pct high">100%</td>
164
164
  <td data-value="0" class="abs high">0/0</td>
165
165
  <td data-value="100" class="pct high">100%</td>
166
- <td data-value="1" class="abs high">1/1</td>
166
+ <td data-value="4" class="abs high">4/4</td>
167
167
  <td data-value="100" class="pct high">100%</td>
168
- <td data-value="7" class="abs high">7/7</td>
168
+ <td data-value="19" class="abs high">19/19</td>
169
169
  </tr>
170
170
 
171
171
  <tr>
@@ -174,13 +174,13 @@
174
174
  <div class="chart"><div class="cover-fill cover-full" style="width: 100%"></div><div class="cover-empty" style="width: 0%"></div></div>
175
175
  </td>
176
176
  <td data-value="100" class="pct high">100%</td>
177
- <td data-value="7" class="abs high">7/7</td>
177
+ <td data-value="19" class="abs high">19/19</td>
178
178
  <td data-value="100" class="pct high">100%</td>
179
179
  <td data-value="0" class="abs high">0/0</td>
180
180
  <td data-value="100" class="pct high">100%</td>
181
- <td data-value="1" class="abs high">1/1</td>
181
+ <td data-value="4" class="abs high">4/4</td>
182
182
  <td data-value="100" class="pct high">100%</td>
183
- <td data-value="7" class="abs high">7/7</td>
183
+ <td data-value="19" class="abs high">19/19</td>
184
184
  </tr>
185
185
 
186
186
  <tr>
@@ -189,13 +189,13 @@
189
189
  <div class="chart"><div class="cover-fill cover-full" style="width: 100%"></div><div class="cover-empty" style="width: 0%"></div></div>
190
190
  </td>
191
191
  <td data-value="100" class="pct high">100%</td>
192
- <td data-value="7" class="abs high">7/7</td>
192
+ <td data-value="19" class="abs high">19/19</td>
193
193
  <td data-value="100" class="pct high">100%</td>
194
194
  <td data-value="0" class="abs high">0/0</td>
195
195
  <td data-value="100" class="pct high">100%</td>
196
- <td data-value="1" class="abs high">1/1</td>
196
+ <td data-value="4" class="abs high">4/4</td>
197
197
  <td data-value="100" class="pct high">100%</td>
198
- <td data-value="7" class="abs high">7/7</td>
198
+ <td data-value="19" class="abs high">19/19</td>
199
199
  </tr>
200
200
 
201
201
  </tbody>
@@ -206,7 +206,7 @@
206
206
  <div class='footer quiet pad2 space-top1 center small'>
207
207
  Code coverage generated by
208
208
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
209
- at 2025-09-29T10:08:48.327Z
209
+ at 2025-12-11T17:06:20.018Z
210
210
  </div>
211
211
  <script src="../../prettify.js"></script>
212
212
  <script>
@@ -23,9 +23,9 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">95.06% </span>
26
+ <span class="strong">96.11% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>77/81</span>
28
+ <span class='fraction'>99/103</span>
29
29
  </div>
30
30
 
31
31
 
@@ -44,9 +44,9 @@
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">97.46% </span>
47
+ <span class="strong">98.01% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>77/79</span>
49
+ <span class='fraction'>99/101</span>
50
50
  </div>
51
51
 
52
52
 
@@ -99,13 +99,13 @@
99
99
  <div class="chart"><div class="cover-fill cover-full" style="width: 100%"></div><div class="cover-empty" style="width: 0%"></div></div>
100
100
  </td>
101
101
  <td data-value="100" class="pct high">100%</td>
102
- <td data-value="16" class="abs high">16/16</td>
102
+ <td data-value="38" class="abs high">38/38</td>
103
103
  <td data-value="100" class="pct high">100%</td>
104
104
  <td data-value="0" class="abs high">0/0</td>
105
105
  <td data-value="100" class="pct high">100%</td>
106
106
  <td data-value="0" class="abs high">0/0</td>
107
107
  <td data-value="100" class="pct high">100%</td>
108
- <td data-value="16" class="abs high">16/16</td>
108
+ <td data-value="38" class="abs high">38/38</td>
109
109
  </tr>
110
110
 
111
111
  <tr>
@@ -146,7 +146,7 @@
146
146
  <div class='footer quiet pad2 space-top1 center small'>
147
147
  Code coverage generated by
148
148
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
149
- at 2025-09-29T10:08:48.327Z
149
+ at 2025-12-11T17:06:20.018Z
150
150
  </div>
151
151
  <script src="../prettify.js"></script>
152
152
  <script>
@@ -220,7 +220,7 @@ export async function makeApiRequest&lt;T&gt;(config: RequestConfig): Promise&lt
220
220
  <div class='footer quiet pad2 space-top1 center small'>
221
221
  Code coverage generated by
222
222
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
223
- at 2025-09-29T10:08:48.327Z
223
+ at 2025-12-11T17:06:20.018Z
224
224
  </div>
225
225
  <script src="../prettify.js"></script>
226
226
  <script>
@@ -95,10 +95,10 @@
95
95
  <span class="cline-any cline-neutral">&nbsp;</span>
96
96
  <span class="cline-any cline-neutral">&nbsp;</span>
97
97
  <span class="cline-any cline-yes">4x</span>
98
- <span class="cline-any cline-yes">11x</span>
99
- <span class="cline-any cline-yes">11x</span>
100
- <span class="cline-any cline-yes">11x</span>
101
- <span class="cline-any cline-yes">11x</span>
98
+ <span class="cline-any cline-yes">33x</span>
99
+ <span class="cline-any cline-yes">33x</span>
100
+ <span class="cline-any cline-yes">33x</span>
101
+ <span class="cline-any cline-yes">33x</span>
102
102
  <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">/**
103
103
  * Extracts the expiration time from a JWT token and give the token expiry time.
104
104
  *
@@ -124,7 +124,7 @@ export function findExpiryTime(token: string): any {
124
124
  <div class='footer quiet pad2 space-top1 center small'>
125
125
  Code coverage generated by
126
126
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
127
- at 2025-09-29T10:08:48.327Z
127
+ at 2025-12-11T17:06:20.018Z
128
128
  </div>
129
129
  <script src="../prettify.js"></script>
130
130
  <script>
@@ -101,7 +101,7 @@
101
101
  <div class='footer quiet pad2 space-top1 center small'>
102
102
  Code coverage generated by
103
103
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
104
- at 2025-09-29T10:08:48.327Z
104
+ at 2025-12-11T17:06:20.018Z
105
105
  </div>
106
106
  <script src="../prettify.js"></script>
107
107
  <script>
@@ -127,7 +127,7 @@ export default commonPayload;
127
127
  <div class='footer quiet pad2 space-top1 center small'>
128
128
  Code coverage generated by
129
129
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
130
- at 2025-09-29T10:08:48.327Z
130
+ at 2025-12-11T17:06:20.018Z
131
131
  </div>
132
132
  <script src="../../prettify.js"></script>
133
133
  <script>
@@ -118,7 +118,7 @@ export default FactorPayload;
118
118
  <div class='footer quiet pad2 space-top1 center small'>
119
119
  Code coverage generated by
120
120
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
121
- at 2025-09-29T10:08:48.327Z
121
+ at 2025-12-11T17:06:20.018Z
122
122
  </div>
123
123
  <script src="../../prettify.js"></script>
124
124
  <script>
@@ -127,7 +127,7 @@ export default GenericCalculationPayload;
127
127
  <div class='footer quiet pad2 space-top1 center small'>
128
128
  Code coverage generated by
129
129
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
130
- at 2025-09-29T10:08:48.327Z
130
+ at 2025-12-11T17:06:20.018Z
131
131
  </div>
132
132
  <script src="../../prettify.js"></script>
133
133
  <script>
@@ -124,7 +124,7 @@ export default locationPayload;</pre></td></tr></table></pre>
124
124
  <div class='footer quiet pad2 space-top1 center small'>
125
125
  Code coverage generated by
126
126
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
127
- at 2025-09-29T10:08:48.327Z
127
+ at 2025-12-11T17:06:20.018Z
128
128
  </div>
129
129
  <script src="../../prettify.js"></script>
130
130
  <script>