@creator.co/wapi 1.7.1-alpha3 → 1.7.1-alpha4

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 (73) hide show
  1. package/dist/package-lock.json +2 -2
  2. package/dist/package.json +1 -1
  3. package/package.json +1 -1
  4. package/coverage/clover.xml +0 -1088
  5. package/coverage/coverage/coverage.txt +0 -40
  6. package/coverage/coverage-final.json +0 -37
  7. package/coverage/coverage-summary.json +0 -38
  8. package/coverage/coverage.txt +0 -59
  9. package/coverage/lcov-report/base.css +0 -224
  10. package/coverage/lcov-report/block-navigation.js +0 -87
  11. package/coverage/lcov-report/favicon.png +0 -0
  12. package/coverage/lcov-report/index.html +0 -371
  13. package/coverage/lcov-report/prettify.css +0 -1
  14. package/coverage/lcov-report/prettify.js +0 -2
  15. package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  16. package/coverage/lcov-report/sorter.js +0 -196
  17. package/coverage/lcov-report/src/API/Request.ts.html +0 -727
  18. package/coverage/lcov-report/src/API/Response.ts.html +0 -1189
  19. package/coverage/lcov-report/src/API/Utils.ts.html +0 -313
  20. package/coverage/lcov-report/src/API/index.html +0 -131
  21. package/coverage/lcov-report/src/BaseEvent/EventProcessor.ts.html +0 -496
  22. package/coverage/lcov-report/src/BaseEvent/Process.ts.html +0 -346
  23. package/coverage/lcov-report/src/BaseEvent/Transaction.ts.html +0 -1015
  24. package/coverage/lcov-report/src/BaseEvent/index.html +0 -146
  25. package/coverage/lcov-report/src/Cache/Redis.ts.html +0 -367
  26. package/coverage/lcov-report/src/Cache/index.html +0 -116
  27. package/coverage/lcov-report/src/Config/Configuration.ts.html +0 -700
  28. package/coverage/lcov-report/src/Config/EnvironmentVar.ts.html +0 -526
  29. package/coverage/lcov-report/src/Config/index.html +0 -131
  30. package/coverage/lcov-report/src/Crypto/Crypto.ts.html +0 -352
  31. package/coverage/lcov-report/src/Crypto/JWT.ts.html +0 -337
  32. package/coverage/lcov-report/src/Crypto/index.html +0 -131
  33. package/coverage/lcov-report/src/Database/Database.ts.html +0 -151
  34. package/coverage/lcov-report/src/Database/DatabaseManager.ts.html +0 -289
  35. package/coverage/lcov-report/src/Database/DatabaseTransaction.ts.html +0 -595
  36. package/coverage/lcov-report/src/Database/index.html +0 -161
  37. package/coverage/lcov-report/src/Database/index.ts.html +0 -169
  38. package/coverage/lcov-report/src/Database/integrations/knex/KnexDatabase.ts.html +0 -283
  39. package/coverage/lcov-report/src/Database/integrations/knex/KnexTransaction.ts.html +0 -337
  40. package/coverage/lcov-report/src/Database/integrations/knex/index.html +0 -131
  41. package/coverage/lcov-report/src/Database/integrations/kysely/KyselyDatabase.ts.html +0 -376
  42. package/coverage/lcov-report/src/Database/integrations/kysely/KyselyTransaction.ts.html +0 -601
  43. package/coverage/lcov-report/src/Database/integrations/kysely/index.html +0 -131
  44. package/coverage/lcov-report/src/Database/integrations/pgsql/PostgresDatabase.ts.html +0 -250
  45. package/coverage/lcov-report/src/Database/integrations/pgsql/PostgresTransaction.ts.html +0 -346
  46. package/coverage/lcov-report/src/Database/integrations/pgsql/index.html +0 -131
  47. package/coverage/lcov-report/src/Database/types.d.ts.html +0 -232
  48. package/coverage/lcov-report/src/Globals.ts.html +0 -394
  49. package/coverage/lcov-report/src/Logger/Logger.ts.html +0 -1138
  50. package/coverage/lcov-report/src/Logger/index.html +0 -116
  51. package/coverage/lcov-report/src/Mailer/Mailer.ts.html +0 -754
  52. package/coverage/lcov-report/src/Mailer/index.html +0 -116
  53. package/coverage/lcov-report/src/Publisher/Publisher.ts.html +0 -460
  54. package/coverage/lcov-report/src/Publisher/index.html +0 -116
  55. package/coverage/lcov-report/src/Server/RouteResolver.ts.html +0 -442
  56. package/coverage/lcov-report/src/Server/Router.ts.html +0 -616
  57. package/coverage/lcov-report/src/Server/index.html +0 -131
  58. package/coverage/lcov-report/src/Server/lib/ContainerServer.ts.html +0 -280
  59. package/coverage/lcov-report/src/Server/lib/Server.ts.html +0 -403
  60. package/coverage/lcov-report/src/Server/lib/container/GenericHandler.ts.html +0 -331
  61. package/coverage/lcov-report/src/Server/lib/container/GenericHandlerEvent.ts.html +0 -547
  62. package/coverage/lcov-report/src/Server/lib/container/HealthHandler.ts.html +0 -118
  63. package/coverage/lcov-report/src/Server/lib/container/Proxy.ts.html +0 -619
  64. package/coverage/lcov-report/src/Server/lib/container/Utils.ts.html +0 -184
  65. package/coverage/lcov-report/src/Server/lib/container/index.html +0 -176
  66. package/coverage/lcov-report/src/Server/lib/index.html +0 -131
  67. package/coverage/lcov-report/src/Util/AsyncSingleton.ts.html +0 -343
  68. package/coverage/lcov-report/src/Util/Utils.ts.html +0 -313
  69. package/coverage/lcov-report/src/Util/index.html +0 -131
  70. package/coverage/lcov-report/src/Validation/Validator.ts.html +0 -217
  71. package/coverage/lcov-report/src/Validation/index.html +0 -116
  72. package/coverage/lcov-report/src/index.html +0 -116
  73. package/coverage/lcov.info +0 -2326
@@ -1,496 +0,0 @@
1
-
2
- <!doctype html>
3
- <html lang="en">
4
-
5
- <head>
6
- <title>Code coverage report for src/BaseEvent/EventProcessor.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/BaseEvent</a> EventProcessor.ts</h1>
23
- <div class='clearfix'>
24
-
25
- <div class='fl pad1y space-right2'>
26
- <span class="strong">96.96% </span>
27
- <span class="quiet">Statements</span>
28
- <span class='fraction'>32/33</span>
29
- </div>
30
-
31
-
32
- <div class='fl pad1y space-right2'>
33
- <span class="strong">88.88% </span>
34
- <span class="quiet">Branches</span>
35
- <span class='fraction'>32/36</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'>7/7</span>
43
- </div>
44
-
45
-
46
- <div class='fl pad1y space-right2'>
47
- <span class="strong">96.77% </span>
48
- <span class="quiet">Lines</span>
49
- <span class='fraction'>30/31</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>
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>
188
- <a name='L123'></a><a href='#L123'>123</a>
189
- <a name='L124'></a><a href='#L124'>124</a>
190
- <a name='L125'></a><a href='#L125'>125</a>
191
- <a name='L126'></a><a href='#L126'>126</a>
192
- <a name='L127'></a><a href='#L127'>127</a>
193
- <a name='L128'></a><a href='#L128'>128</a>
194
- <a name='L129'></a><a href='#L129'>129</a>
195
- <a name='L130'></a><a href='#L130'>130</a>
196
- <a name='L131'></a><a href='#L131'>131</a>
197
- <a name='L132'></a><a href='#L132'>132</a>
198
- <a name='L133'></a><a href='#L133'>133</a>
199
- <a name='L134'></a><a href='#L134'>134</a>
200
- <a name='L135'></a><a href='#L135'>135</a>
201
- <a name='L136'></a><a href='#L136'>136</a>
202
- <a name='L137'></a><a href='#L137'>137</a>
203
- <a name='L138'></a><a href='#L138'>138</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
204
- <span class="cline-any cline-neutral">&nbsp;</span>
205
- <span class="cline-any cline-yes">1x</span>
206
- <span class="cline-any cline-yes">1x</span>
207
- <span class="cline-any cline-yes">1x</span>
208
- <span class="cline-any cline-neutral">&nbsp;</span>
209
- <span class="cline-any cline-neutral">&nbsp;</span>
210
- <span class="cline-any cline-neutral">&nbsp;</span>
211
- <span class="cline-any cline-neutral">&nbsp;</span>
212
- <span class="cline-any cline-neutral">&nbsp;</span>
213
- <span class="cline-any cline-neutral">&nbsp;</span>
214
- <span class="cline-any cline-neutral">&nbsp;</span>
215
- <span class="cline-any cline-neutral">&nbsp;</span>
216
- <span class="cline-any cline-neutral">&nbsp;</span>
217
- <span class="cline-any cline-neutral">&nbsp;</span>
218
- <span class="cline-any cline-neutral">&nbsp;</span>
219
- <span class="cline-any cline-neutral">&nbsp;</span>
220
- <span class="cline-any cline-neutral">&nbsp;</span>
221
- <span class="cline-any cline-neutral">&nbsp;</span>
222
- <span class="cline-any cline-neutral">&nbsp;</span>
223
- <span class="cline-any cline-neutral">&nbsp;</span>
224
- <span class="cline-any cline-yes">1x</span>
225
- <span class="cline-any cline-neutral">&nbsp;</span>
226
- <span class="cline-any cline-neutral">&nbsp;</span>
227
- <span class="cline-any cline-neutral">&nbsp;</span>
228
- <span class="cline-any cline-neutral">&nbsp;</span>
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-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-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-yes">7x</span>
259
- <span class="cline-any cline-yes">7x</span>
260
- <span class="cline-any cline-yes">7x</span>
261
- <span class="cline-any cline-yes">7x</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-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-yes">7x</span>
276
- <span class="cline-any cline-yes">7x</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-yes">3x</span>
283
- <span class="cline-any cline-yes">4x</span>
284
- <span class="cline-any cline-no">&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">7x</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">6x</span>
301
- <span class="cline-any cline-neutral">&nbsp;</span>
302
- <span class="cline-any cline-neutral">&nbsp;</span>
303
- <span class="cline-any cline-yes">6x</span>
304
- <span class="cline-any cline-neutral">&nbsp;</span>
305
- <span class="cline-any cline-yes">6x</span>
306
- <span class="cline-any cline-yes">14x</span>
307
- <span class="cline-any cline-neutral">&nbsp;</span>
308
- <span class="cline-any cline-neutral">&nbsp;</span>
309
- <span class="cline-any cline-neutral">&nbsp;</span>
310
- <span class="cline-any cline-yes">6x</span>
311
- <span class="cline-any cline-yes">6x</span>
312
- <span class="cline-any cline-yes">11x</span>
313
- <span class="cline-any cline-yes">11x</span>
314
- <span class="cline-any cline-neutral">&nbsp;</span>
315
- <span class="cline-any cline-yes">11x</span>
316
- <span class="cline-any cline-neutral">&nbsp;</span>
317
- <span class="cline-any cline-yes">11x</span>
318
- <span class="cline-any cline-neutral">&nbsp;</span>
319
- <span class="cline-any cline-neutral">&nbsp;</span>
320
- <span class="cline-any cline-neutral">&nbsp;</span>
321
- <span class="cline-any cline-neutral">&nbsp;</span>
322
- <span class="cline-any cline-yes">5x</span>
323
- <span class="cline-any cline-yes">2x</span>
324
- <span class="cline-any cline-neutral">&nbsp;</span>
325
- <span class="cline-any cline-neutral">&nbsp;</span>
326
- <span class="cline-any cline-neutral">&nbsp;</span>
327
- <span class="cline-any cline-yes">4x</span>
328
- <span class="cline-any cline-yes">2x</span>
329
- <span class="cline-any cline-yes">3x</span>
330
- <span class="cline-any cline-neutral">&nbsp;</span>
331
- <span class="cline-any cline-yes">2x</span>
332
- <span class="cline-any cline-neutral">&nbsp;</span>
333
- <span class="cline-any cline-neutral">&nbsp;</span>
334
- <span class="cline-any cline-yes">1x</span>
335
- <span class="cline-any cline-neutral">&nbsp;</span>
336
- <span class="cline-any cline-neutral">&nbsp;</span>
337
- <span class="cline-any cline-neutral">&nbsp;</span>
338
- <span class="cline-any cline-neutral">&nbsp;</span>
339
- <span class="cline-any cline-neutral">&nbsp;</span>
340
- <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import type { Context, SQSBatchResponse, SQSEvent } from 'aws-lambda'
341
- &nbsp;
342
- import Transaction, { TransactionConfig } from './Transaction'
343
- import Response, { ResponseErrorType } from '../API/Response'
344
- import Globals from '../Globals'
345
- &nbsp;
346
- /**
347
- * Type definition for an event processor execution function.
348
- * @param {Transaction&lt;null, ResponseInnerType | ResponseErrorType, SQSBatchResponse&gt;} transaction - The transaction object.
349
- * @param {string | object} recordContent - The content of the record being processed.
350
- * @returns {Promise&lt;Response&lt;ResponseInnerType | ResponseErrorType&gt; | SQSBatchResponse&gt;} - A promise that resolves to the response or batch response.
351
- */
352
- export type EventProcessorExecution&lt;ResponseInnerType&gt; = (
353
- transaction: Transaction&lt;null, ResponseInnerType | ResponseErrorType, SQSBatchResponse | null&gt;,
354
- recordContent: string | object
355
- ) =&gt; Promise&lt;Response&lt;ResponseInnerType | ResponseErrorType&gt; | SQSBatchResponse | null&gt;
356
- &nbsp;
357
- /**
358
- * EventProcessor class that processes events from an SQS queue.
359
- * @template ResponseInnerType - The type of the inner response object.
360
- */
361
- export default class EventProcessor&lt;ResponseInnerType&gt; {
362
- /**
363
- * A boolean flag indicating whether failures are allowed or not.
364
- * @readonly
365
- */
366
- private readonly allowFailure: boolean
367
- /**
368
- * The configuration object for the API transaction.
369
- */
370
- private readonly config: TransactionConfig
371
- /**
372
- * The private readonly context property of the class.
373
- * @type {Context}
374
- */
375
- private readonly context: Context
376
- /**
377
- * The SQS event object that triggered the Lambda function.
378
- */
379
- private readonly event: SQSEvent
380
- &nbsp;
381
- /**
382
- * Constructs a new instance of the class.
383
- * @param {SQSEvent} event - The event object representing the incoming SQS message.
384
- * @param {Context} context - The context object representing the AWS Lambda execution context.
385
- * @param {TransactionConfig} [config] - Optional configuration object for the transaction.
386
- * @param {boolean} [allowFailure] - Optional flag indicating whether to allow failure for the transaction.
387
- * @returns None
388
- */
389
- constructor(
390
- event: SQSEvent,
391
- context: Context,
392
- config?: TransactionConfig,
393
- allowFailure?: boolean
394
- ) {
395
- this.event = event
396
- this.context = context
397
- this.config = config || <span class="branch-1 cbranch-no" title="branch not covered" >{}</span>
398
- this.allowFailure = !!allowFailure
399
- }
400
- &nbsp;
401
- /**
402
- * Processes an event using the provided execution object and returns a response.
403
- * @param {EventProcessorExecution&lt;ResponseInnerType&gt;} execution - The execution object containing the event to process.
404
- * @param {boolean} [doNotDecodeMessage] - Optional flag indicating whether to decode the message.
405
- * @returns {Promise&lt;Response&lt;ResponseErrorType&gt; | null | SQSBatchResponse&gt;} - A promise that resolves to the response object, or null if no response is available.
406
- * @throws {Error} - Throws an error if the response code is not within the range of 200 to 299 and failure is not allowed.
407
- */
408
- async processEvent(
409
- execution: EventProcessorExecution&lt;ResponseInnerType&gt;,
410
- doNotDecodeMessage?: boolean
411
- ): Promise&lt;Response&lt;ResponseErrorType | null&gt; | null | SQSBatchResponse&gt; {
412
- const resp = await this.processRawEvent(execution, !!doNotDecodeMessage)
413
- if (
414
- !this.allowFailure &amp;&amp;
415
- resp &amp;&amp;
416
- resp instanceof Response &amp;&amp;
417
- !(resp.getCode() &gt;= 200 &amp;&amp; resp.getCode() &lt; 300)
418
- )
419
- throw new Error(JSON.stringify(resp.getBody() || <span class="branch-1 cbranch-no" title="branch not covered" >{})</span>)
420
- else if (resp) return resp
421
- <span class="cstat-no" title="statement not covered" > return null</span>
422
- }
423
- &nbsp;
424
- /**
425
- * Processes a raw event by executing the provided execution function and handling any errors or failures.
426
- * @param {EventProcessorExecution&lt;ResponseInnerType&gt;} execution - The execution function to process the event.
427
- * @param {boolean} doNotDecodeMessage - Flag indicating whether to decode the message or not.
428
- * @returns {Promise&lt;Response&lt;ResponseErrorType&gt; | null | SQSBatchResponse&gt;} - A promise that resolves to a response object, null, or a SQS batch response.
429
- */
430
- private async processRawEvent(
431
- execution: EventProcessorExecution&lt;ResponseInnerType&gt;,
432
- doNotDecodeMessage: boolean
433
- ): Promise&lt;Response&lt;ResponseErrorType | any&gt; | null | SQSBatchResponse&gt; {
434
- if (this.event.Records &amp;&amp; this.event.Records.length &gt; 0) {
435
- //safe check for empty events?
436
- //init transaction for all records
437
- return await new Transaction&lt;null, any, SQSBatchResponse | null&gt;(this.event, this.context, {
438
- ...this.config,
439
- syncReturn: true,
440
- }).execute(async transaction =&gt; {
441
- //Map records with decoded message when required
442
- const decodedRecords: string[] | object[] = this.event.Records.map(eventRecord =&gt;
443
- doNotDecodeMessage ? eventRecord.body : JSON.parse(eventRecord.body)
444
- )
445
- &nbsp;
446
- //for each available event
447
- const failureIDs: Array&lt;string&gt; = []
448
- for (const eventRecordIdx in decodedRecords) {
449
- const eventRecord = decodedRecords[eventRecordIdx]
450
- const message = this.event.Records[eventRecordIdx]
451
- //Call execution
452
- const resp = await execution(transaction, eventRecord)
453
- //check for failure
454
- if (
455
- !resp ||
456
- (resp instanceof Response &amp;&amp; !(resp<span class="branch-0 cbranch-no" title="branch not covered" >?.g</span>etCode() &gt;= 200 &amp;&amp; resp<span class="branch-0 cbranch-no" title="branch not covered" >?.g</span>etCode() &lt; 300))
457
- ) {
458
- //response with failures or fail hard at first
459
- if (this.allowFailure) failureIDs.push(message.messageId)
460
- else return resp
461
- }
462
- }
463
- //not errored and loop ended - succeeded (might have failures)
464
- if (this.allowFailure)
465
- return {
466
- batchItemFailures: failureIDs.map(id =&gt; ({ itemIdentifier: id })),
467
- }
468
- return Response.SuccessResponse(null)
469
- })
470
- } else
471
- return Response.BadRequestResponse(
472
- Globals.ErrorResponseNoRecords,
473
- Globals.ErrorCode_NoRecords
474
- ) //no event to be processed?
475
- }
476
- }
477
- &nbsp;</pre></td></tr></table></pre>
478
-
479
- <div class='push'></div><!-- for sticky footer -->
480
- </div><!-- /wrapper -->
481
- <div class='footer quiet pad2 space-top1 center small'>
482
- Code coverage generated by
483
- <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
484
- at 2024-04-29T19:32:33.683Z
485
- </div>
486
- <script src="../../prettify.js"></script>
487
- <script>
488
- window.onload = function () {
489
- prettyPrint();
490
- };
491
- </script>
492
- <script src="../../sorter.js"></script>
493
- <script src="../../block-navigation.js"></script>
494
- </body>
495
- </html>
496
-