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

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 (114) hide show
  1. package/coverage/clover.xml +1088 -0
  2. package/coverage/coverage/coverage.txt +40 -0
  3. package/coverage/coverage-final.json +37 -0
  4. package/coverage/coverage-summary.json +38 -0
  5. package/coverage/coverage.txt +59 -0
  6. package/coverage/lcov-report/base.css +224 -0
  7. package/coverage/lcov-report/block-navigation.js +87 -0
  8. package/coverage/lcov-report/favicon.png +0 -0
  9. package/coverage/lcov-report/index.html +371 -0
  10. package/coverage/lcov-report/prettify.css +1 -0
  11. package/coverage/lcov-report/prettify.js +2 -0
  12. package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  13. package/coverage/lcov-report/sorter.js +196 -0
  14. package/coverage/lcov-report/src/API/Request.ts.html +727 -0
  15. package/coverage/lcov-report/src/API/Response.ts.html +1189 -0
  16. package/coverage/lcov-report/src/API/Utils.ts.html +313 -0
  17. package/coverage/lcov-report/src/API/index.html +131 -0
  18. package/coverage/lcov-report/src/BaseEvent/EventProcessor.ts.html +496 -0
  19. package/coverage/lcov-report/src/BaseEvent/Process.ts.html +346 -0
  20. package/coverage/lcov-report/src/BaseEvent/Transaction.ts.html +1015 -0
  21. package/coverage/lcov-report/src/BaseEvent/index.html +146 -0
  22. package/coverage/lcov-report/src/Cache/Redis.ts.html +367 -0
  23. package/coverage/lcov-report/src/Cache/index.html +116 -0
  24. package/coverage/lcov-report/src/Config/Configuration.ts.html +700 -0
  25. package/coverage/lcov-report/src/Config/EnvironmentVar.ts.html +526 -0
  26. package/coverage/lcov-report/src/Config/index.html +131 -0
  27. package/coverage/lcov-report/src/Crypto/Crypto.ts.html +352 -0
  28. package/coverage/lcov-report/src/Crypto/JWT.ts.html +337 -0
  29. package/coverage/lcov-report/src/Crypto/index.html +131 -0
  30. package/coverage/lcov-report/src/Database/Database.ts.html +151 -0
  31. package/coverage/lcov-report/src/Database/DatabaseManager.ts.html +289 -0
  32. package/coverage/lcov-report/src/Database/DatabaseTransaction.ts.html +595 -0
  33. package/coverage/lcov-report/src/Database/index.html +161 -0
  34. package/coverage/lcov-report/src/Database/index.ts.html +169 -0
  35. package/coverage/lcov-report/src/Database/integrations/knex/KnexDatabase.ts.html +283 -0
  36. package/coverage/lcov-report/src/Database/integrations/knex/KnexTransaction.ts.html +337 -0
  37. package/coverage/lcov-report/src/Database/integrations/knex/index.html +131 -0
  38. package/coverage/lcov-report/src/Database/integrations/kysely/KyselyDatabase.ts.html +376 -0
  39. package/coverage/lcov-report/src/Database/integrations/kysely/KyselyTransaction.ts.html +601 -0
  40. package/coverage/lcov-report/src/Database/integrations/kysely/index.html +131 -0
  41. package/coverage/lcov-report/src/Database/integrations/pgsql/PostgresDatabase.ts.html +250 -0
  42. package/coverage/lcov-report/src/Database/integrations/pgsql/PostgresTransaction.ts.html +346 -0
  43. package/coverage/lcov-report/src/Database/integrations/pgsql/index.html +131 -0
  44. package/coverage/lcov-report/src/Database/types.d.ts.html +232 -0
  45. package/coverage/lcov-report/src/Globals.ts.html +394 -0
  46. package/coverage/lcov-report/src/Logger/Logger.ts.html +1138 -0
  47. package/coverage/lcov-report/src/Logger/index.html +116 -0
  48. package/coverage/lcov-report/src/Mailer/Mailer.ts.html +754 -0
  49. package/coverage/lcov-report/src/Mailer/index.html +116 -0
  50. package/coverage/lcov-report/src/Publisher/Publisher.ts.html +460 -0
  51. package/coverage/lcov-report/src/Publisher/index.html +116 -0
  52. package/coverage/lcov-report/src/Server/RouteResolver.ts.html +442 -0
  53. package/coverage/lcov-report/src/Server/Router.ts.html +616 -0
  54. package/coverage/lcov-report/src/Server/index.html +131 -0
  55. package/coverage/lcov-report/src/Server/lib/ContainerServer.ts.html +280 -0
  56. package/coverage/lcov-report/src/Server/lib/Server.ts.html +403 -0
  57. package/coverage/lcov-report/src/Server/lib/container/GenericHandler.ts.html +331 -0
  58. package/coverage/lcov-report/src/Server/lib/container/GenericHandlerEvent.ts.html +547 -0
  59. package/coverage/lcov-report/src/Server/lib/container/HealthHandler.ts.html +118 -0
  60. package/coverage/lcov-report/src/Server/lib/container/Proxy.ts.html +619 -0
  61. package/coverage/lcov-report/src/Server/lib/container/Utils.ts.html +184 -0
  62. package/coverage/lcov-report/src/Server/lib/container/index.html +176 -0
  63. package/coverage/lcov-report/src/Server/lib/index.html +131 -0
  64. package/coverage/lcov-report/src/Util/AsyncSingleton.ts.html +343 -0
  65. package/coverage/lcov-report/src/Util/Utils.ts.html +313 -0
  66. package/coverage/lcov-report/src/Util/index.html +131 -0
  67. package/coverage/lcov-report/src/Validation/Validator.ts.html +217 -0
  68. package/coverage/lcov-report/src/Validation/index.html +116 -0
  69. package/coverage/lcov-report/src/index.html +116 -0
  70. package/coverage/lcov.info +2326 -0
  71. package/dist/package-lock.json +2 -2
  72. package/dist/package.json +1 -1
  73. package/package.json +1 -1
  74. package/.eslintignore +0 -3
  75. package/.eslintrc.cjs +0 -60
  76. package/.github/workflows/npmpublish.yml +0 -11
  77. package/.github/workflows/prs.yml +0 -13
  78. package/jest.config.ts +0 -33
  79. package/jest.smoke.config.ts +0 -35
  80. package/tests/API/Request.test.ts +0 -273
  81. package/tests/API/Response.test.ts +0 -367
  82. package/tests/API/Utils.test.ts +0 -167
  83. package/tests/BaseEvent/EventProcessor.test.ts +0 -261
  84. package/tests/BaseEvent/Process.test.ts +0 -49
  85. package/tests/BaseEvent/Transaction.test.ts +0 -408
  86. package/tests/Cache/Redis-client.test.ts +0 -90
  87. package/tests/Cache/Redis-cluster.test.ts +0 -100
  88. package/tests/Config/Config.test.ts +0 -205
  89. package/tests/Config/EnvironmentVar.test.ts +0 -250
  90. package/tests/Crypto/Crypto.test.ts +0 -88
  91. package/tests/Crypto/JWT.test.ts +0 -92
  92. package/tests/Database/DatabaseManager.test.ts +0 -71
  93. package/tests/Database/integrations/knex/KnexDatabase.test.ts +0 -76
  94. package/tests/Database/integrations/knex/KnexTransaction.test.ts +0 -149
  95. package/tests/Database/integrations/kysely/KyselyDatabase.test.ts +0 -113
  96. package/tests/Database/integrations/kysely/KyselyTransaction.test.ts +0 -119
  97. package/tests/Database/integrations/pg/PostgresDatabase.test.ts +0 -76
  98. package/tests/Database/integrations/pg/PostgresTransaction.test.ts +0 -118
  99. package/tests/Logger/Logger.test.ts +0 -219
  100. package/tests/Mailer/Mailer.test.ts +0 -59
  101. package/tests/Publisher/Publisher.test.ts +0 -94
  102. package/tests/Server/RouteResolver.test.ts +0 -102
  103. package/tests/Server/Router.test.ts +0 -39
  104. package/tests/Server/lib/ContainerServer.test.ts +0 -531
  105. package/tests/Server/lib/Server.test.ts +0 -12
  106. package/tests/Server/lib/container/GenericHandler.test.ts +0 -131
  107. package/tests/Server/lib/container/GenericHandlerEvent.test.ts +0 -103
  108. package/tests/Server/lib/container/HealthHandler.test.ts +0 -30
  109. package/tests/Server/lib/container/Proxy.test.ts +0 -268
  110. package/tests/Server/lib/container/Utils.test.ts +0 -47
  111. package/tests/Test.utils.ts +0 -74
  112. package/tests/Validation/Validator.test.ts +0 -76
  113. package/tsconfig.json +0 -26
  114. package/tsconfig.smoke.json +0 -26
@@ -0,0 +1,601 @@
1
+
2
+ <!doctype html>
3
+ <html lang="en">
4
+
5
+ <head>
6
+ <title>Code coverage report for src/Database/integrations/kysely/KyselyTransaction.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/Database/integrations/kysely</a> KyselyTransaction.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'>29/29</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'>2/2</span>
36
+ </div>
37
+
38
+
39
+ <div class='fl pad1y space-right2'>
40
+ <span class="strong">93.33% </span>
41
+ <span class="quiet">Functions</span>
42
+ <span class='fraction'>14/15</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'>28/28</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>
204
+ <a name='L139'></a><a href='#L139'>139</a>
205
+ <a name='L140'></a><a href='#L140'>140</a>
206
+ <a name='L141'></a><a href='#L141'>141</a>
207
+ <a name='L142'></a><a href='#L142'>142</a>
208
+ <a name='L143'></a><a href='#L143'>143</a>
209
+ <a name='L144'></a><a href='#L144'>144</a>
210
+ <a name='L145'></a><a href='#L145'>145</a>
211
+ <a name='L146'></a><a href='#L146'>146</a>
212
+ <a name='L147'></a><a href='#L147'>147</a>
213
+ <a name='L148'></a><a href='#L148'>148</a>
214
+ <a name='L149'></a><a href='#L149'>149</a>
215
+ <a name='L150'></a><a href='#L150'>150</a>
216
+ <a name='L151'></a><a href='#L151'>151</a>
217
+ <a name='L152'></a><a href='#L152'>152</a>
218
+ <a name='L153'></a><a href='#L153'>153</a>
219
+ <a name='L154'></a><a href='#L154'>154</a>
220
+ <a name='L155'></a><a href='#L155'>155</a>
221
+ <a name='L156'></a><a href='#L156'>156</a>
222
+ <a name='L157'></a><a href='#L157'>157</a>
223
+ <a name='L158'></a><a href='#L158'>158</a>
224
+ <a name='L159'></a><a href='#L159'>159</a>
225
+ <a name='L160'></a><a href='#L160'>160</a>
226
+ <a name='L161'></a><a href='#L161'>161</a>
227
+ <a name='L162'></a><a href='#L162'>162</a>
228
+ <a name='L163'></a><a href='#L163'>163</a>
229
+ <a name='L164'></a><a href='#L164'>164</a>
230
+ <a name='L165'></a><a href='#L165'>165</a>
231
+ <a name='L166'></a><a href='#L166'>166</a>
232
+ <a name='L167'></a><a href='#L167'>167</a>
233
+ <a name='L168'></a><a href='#L168'>168</a>
234
+ <a name='L169'></a><a href='#L169'>169</a>
235
+ <a name='L170'></a><a href='#L170'>170</a>
236
+ <a name='L171'></a><a href='#L171'>171</a>
237
+ <a name='L172'></a><a href='#L172'>172</a>
238
+ <a name='L173'></a><a href='#L173'>173</a></td><td class="line-coverage quiet"><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">13x</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-yes">13x</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-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-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-neutral">&nbsp;</span>
290
+ <span class="cline-any cline-yes">9x</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-neutral">&nbsp;</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-neutral">&nbsp;</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-neutral">&nbsp;</span>
304
+ <span class="cline-any cline-neutral">&nbsp;</span>
305
+ <span class="cline-any cline-yes">9x</span>
306
+ <span class="cline-any cline-yes">9x</span>
307
+ <span class="cline-any cline-yes">9x</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-neutral">&nbsp;</span>
311
+ <span class="cline-any cline-neutral">&nbsp;</span>
312
+ <span class="cline-any cline-neutral">&nbsp;</span>
313
+ <span class="cline-any cline-neutral">&nbsp;</span>
314
+ <span class="cline-any cline-yes">12x</span>
315
+ <span class="cline-any cline-yes">12x</span>
316
+ <span class="cline-any cline-yes">12x</span>
317
+ <span class="cline-any cline-yes">12x</span>
318
+ <span class="cline-any cline-neutral">&nbsp;</span>
319
+ <span class="cline-any cline-yes">12x</span>
320
+ <span class="cline-any cline-yes">12x</span>
321
+ <span class="cline-any cline-yes">12x</span>
322
+ <span class="cline-any cline-yes">12x</span>
323
+ <span class="cline-any cline-neutral">&nbsp;</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-neutral">&nbsp;</span>
328
+ <span class="cline-any cline-neutral">&nbsp;</span>
329
+ <span class="cline-any cline-neutral">&nbsp;</span>
330
+ <span class="cline-any cline-neutral">&nbsp;</span>
331
+ <span class="cline-any cline-neutral">&nbsp;</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">9x</span>
335
+ <span class="cline-any cline-yes">5x</span>
336
+ <span class="cline-any cline-yes">5x</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>
341
+ <span class="cline-any cline-neutral">&nbsp;</span>
342
+ <span class="cline-any cline-neutral">&nbsp;</span>
343
+ <span class="cline-any cline-yes">9x</span>
344
+ <span class="cline-any cline-yes">3x</span>
345
+ <span class="cline-any cline-yes">3x</span>
346
+ <span class="cline-any cline-neutral">&nbsp;</span>
347
+ <span class="cline-any cline-neutral">&nbsp;</span>
348
+ <span class="cline-any cline-neutral">&nbsp;</span>
349
+ <span class="cline-any cline-neutral">&nbsp;</span>
350
+ <span class="cline-any cline-neutral">&nbsp;</span>
351
+ <span class="cline-any cline-neutral">&nbsp;</span>
352
+ <span class="cline-any cline-neutral">&nbsp;</span>
353
+ <span class="cline-any cline-neutral">&nbsp;</span>
354
+ <span class="cline-any cline-neutral">&nbsp;</span>
355
+ <span class="cline-any cline-neutral">&nbsp;</span>
356
+ <span class="cline-any cline-neutral">&nbsp;</span>
357
+ <span class="cline-any cline-neutral">&nbsp;</span>
358
+ <span class="cline-any cline-neutral">&nbsp;</span>
359
+ <span class="cline-any cline-neutral">&nbsp;</span>
360
+ <span class="cline-any cline-neutral">&nbsp;</span>
361
+ <span class="cline-any cline-neutral">&nbsp;</span>
362
+ <span class="cline-any cline-neutral">&nbsp;</span>
363
+ <span class="cline-any cline-neutral">&nbsp;</span>
364
+ <span class="cline-any cline-neutral">&nbsp;</span>
365
+ <span class="cline-any cline-neutral">&nbsp;</span>
366
+ <span class="cline-any cline-neutral">&nbsp;</span>
367
+ <span class="cline-any cline-neutral">&nbsp;</span>
368
+ <span class="cline-any cline-neutral">&nbsp;</span>
369
+ <span class="cline-any cline-neutral">&nbsp;</span>
370
+ <span class="cline-any cline-neutral">&nbsp;</span>
371
+ <span class="cline-any cline-neutral">&nbsp;</span>
372
+ <span class="cline-any cline-neutral">&nbsp;</span>
373
+ <span class="cline-any cline-neutral">&nbsp;</span>
374
+ <span class="cline-any cline-yes">12x</span>
375
+ <span class="cline-any cline-yes">12x</span>
376
+ <span class="cline-any cline-yes">12x</span>
377
+ <span class="cline-any cline-neutral">&nbsp;</span>
378
+ <span class="cline-any cline-neutral">&nbsp;</span>
379
+ <span class="cline-any cline-neutral">&nbsp;</span>
380
+ <span class="cline-any cline-neutral">&nbsp;</span>
381
+ <span class="cline-any cline-neutral">&nbsp;</span>
382
+ <span class="cline-any cline-neutral">&nbsp;</span>
383
+ <span class="cline-any cline-neutral">&nbsp;</span>
384
+ <span class="cline-any cline-neutral">&nbsp;</span>
385
+ <span class="cline-any cline-yes">12x</span>
386
+ <span class="cline-any cline-neutral">&nbsp;</span>
387
+ <span class="cline-any cline-neutral">&nbsp;</span>
388
+ <span class="cline-any cline-neutral">&nbsp;</span>
389
+ <span class="cline-any cline-neutral">&nbsp;</span>
390
+ <span class="cline-any cline-neutral">&nbsp;</span>
391
+ <span class="cline-any cline-neutral">&nbsp;</span>
392
+ <span class="cline-any cline-neutral">&nbsp;</span>
393
+ <span class="cline-any cline-neutral">&nbsp;</span>
394
+ <span class="cline-any cline-yes">5x</span>
395
+ <span class="cline-any cline-yes">5x</span>
396
+ <span class="cline-any cline-neutral">&nbsp;</span>
397
+ <span class="cline-any cline-neutral">&nbsp;</span>
398
+ <span class="cline-any cline-neutral">&nbsp;</span>
399
+ <span class="cline-any cline-neutral">&nbsp;</span>
400
+ <span class="cline-any cline-neutral">&nbsp;</span>
401
+ <span class="cline-any cline-neutral">&nbsp;</span>
402
+ <span class="cline-any cline-neutral">&nbsp;</span>
403
+ <span class="cline-any cline-neutral">&nbsp;</span>
404
+ <span class="cline-any cline-neutral">&nbsp;</span>
405
+ <span class="cline-any cline-yes">3x</span>
406
+ <span class="cline-any cline-yes">3x</span>
407
+ <span class="cline-any cline-neutral">&nbsp;</span>
408
+ <span class="cline-any cline-neutral">&nbsp;</span>
409
+ <span class="cline-any cline-neutral">&nbsp;</span>
410
+ <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import { Kysely, Transaction } from 'kysely'
411
+ &nbsp;
412
+ import { KyselyDatabase } from './KyselyDatabase'
413
+ import { Database } from '../../Database'
414
+ import { DatabaseTransaction } from '../../DatabaseTransaction'
415
+ &nbsp;
416
+ /**
417
+ * Represents a transaction for querying a database with a specific schema.
418
+ * @typeparam DBSchema - The schema of the database.
419
+ * @type {KyselyTransactionImpl&lt;DBSchema&gt; &amp; Transaction&lt;DBSchema&gt;}
420
+ */
421
+ export type KyselyTransaction&lt;DBSchema&gt; = KyselyTransactionImpl&lt;DBSchema&gt; &amp; Transaction&lt;DBSchema&gt;
422
+ /**
423
+ * Represents a transaction in a Postgres database.
424
+ */
425
+ export class KyselyTransactionImpl&lt;DBSchema&gt; extends DatabaseTransaction {
426
+ /**
427
+ * A readonly property representing a writer for a Kysely object.
428
+ * @type {Kysely&lt;any&gt;}
429
+ */
430
+ public readonly writer: Kysely&lt;any&gt;
431
+ /**
432
+ * A readonly property representing a reader of type Kysely&lt;any&gt;.
433
+ * This property allows reading data of any type using the Kysely interface.
434
+ */
435
+ public readonly reader: Kysely&lt;any&gt;
436
+ /**
437
+ * A protected property representing a transaction of type any.
438
+ */
439
+ protected transaction: Transaction&lt;any&gt;
440
+ /**
441
+ * A protected property representing a database instance.
442
+ * @type {Database&lt;KyselyTransaction&lt;DBSchema&gt;&gt;}
443
+ */
444
+ protected database: Database&lt;KyselyTransaction&lt;DBSchema&gt;&gt;
445
+ /**
446
+ * A private property that represents a deferred object.
447
+ * @type {Deferred&lt;any&gt;}
448
+ */
449
+ private txWrapper: Deferred&lt;any&gt;
450
+ /**
451
+ * Constructs a new instance of the class.
452
+ * @param {Kysely&lt;DBSchema&gt;} delegate - The delegate object for the database query.
453
+ * @param {KyselyDatabase&lt;DBSchema&gt;} database - The database object for the query.
454
+ * @param {Kysely&lt;DBSchema&gt;} [reader] - An optional reader object for the query.
455
+ * @returns None
456
+ */
457
+ private constructor(
458
+ delegate: Kysely&lt;DBSchema&gt;,
459
+ database: KyselyDatabase&lt;DBSchema&gt;,
460
+ reader?: Kysely&lt;DBSchema&gt;
461
+ ) {
462
+ super(delegate, database, reader)
463
+ }
464
+ &nbsp;
465
+ /**
466
+ * Creates a new database transaction for the given database schema.
467
+ * @param {Kysely&lt;DBSchema&gt;} connection - The connection object for the transaction.
468
+ * @param {KyselyDatabase&lt;DBSchema&gt;} database - The database object for the transaction.
469
+ * @param {Kysely&lt;DBSchema&gt;} [reader] - An optional reader object for the transaction.
470
+ * @returns {Promise&lt;KyselyTransaction&lt;DBSchema&gt;&gt;} A promise that resolves to the created transaction.
471
+ */
472
+ public static async newTransaction&lt;DBSchema&gt;(
473
+ connection: Kysely&lt;DBSchema&gt;,
474
+ database: KyselyDatabase&lt;DBSchema&gt;,
475
+ reader?: Kysely&lt;DBSchema&gt;
476
+ ): Promise&lt;KyselyTransaction&lt;DBSchema&gt;&gt; {
477
+ const tx = new KyselyTransactionImpl&lt;DBSchema&gt;(connection, database, reader)
478
+ await tx.begin()
479
+ return DatabaseTransaction.proxyInstance(tx) as any
480
+ }
481
+ &nbsp;
482
+ /**
483
+ * Asynchronously begins a transaction using a writer and resolves the transaction once it is executed.
484
+ * @returns A Promise that resolves with the transaction object once the transaction is executed.
485
+ */
486
+ protected doBegin = async () =&gt; {
487
+ this.txWrapper = new Deferred&lt;any&gt;()
488
+ return new Promise(resolve =&gt; {
489
+ this.writer
490
+ .transaction()
491
+ .execute(async trx =&gt; {
492
+ this.transaction = trx
493
+ resolve(trx) // resolve with tx
494
+ return this.txWrapper.promise // wait for wrapper to be solved
495
+ })
496
+ .catch(<span class="fstat-no" title="function not covered" >() =</span>&gt; {
497
+ // Don't do anything here. Just swallow the exception.
498
+ })
499
+ })
500
+ }
501
+ &nbsp;
502
+ /**
503
+ * Executes the commit operation by resolving the transaction wrapper and returning a resolved Promise.
504
+ * @returns A Promise that resolves to null.
505
+ */
506
+ protected doCommit = () =&gt; {
507
+ this.txWrapper.resolve(null)
508
+ return Promise.resolve()
509
+ }
510
+ &nbsp;
511
+ /**
512
+ * Performs a rollback operation by rejecting the transaction wrapper with an error.
513
+ * @returns A resolved Promise after the rollback operation is completed.
514
+ */
515
+ protected doRollback = () =&gt; {
516
+ this.txWrapper.reject(new Error('Rollback'))
517
+ return Promise.resolve()
518
+ }
519
+ }
520
+ &nbsp;
521
+ /**
522
+ * Represents a deferred promise that can be resolved or rejected at a later time.
523
+ * @template T - The type of the value that the promise will resolve to.
524
+ */
525
+ class Deferred&lt;T&gt; {
526
+ /**
527
+ * A private readonly Promise object that resolves to type T.
528
+ */
529
+ private readonly _promise: Promise&lt;T&gt;
530
+ /**
531
+ * A private property that holds a function to resolve a Promise with a value of type T.
532
+ * @param {T | PromiseLike&lt;T&gt;} value - The value or promise to be resolved.
533
+ */
534
+ private _resolve?: (value: T | PromiseLike&lt;T&gt;) =&gt; void
535
+ /**
536
+ * A function that can be called to reject a promise with an optional reason.
537
+ * @param {any} [reason] - An optional reason for rejecting the promise.
538
+ */
539
+ private _reject?: (reason?: any) =&gt; void
540
+ &nbsp;
541
+ /**
542
+ * Constructor for creating a new Promise instance with resolve and reject functions.
543
+ * @constructor
544
+ */
545
+ constructor() {
546
+ this._promise = new Promise&lt;T&gt;((resolve, reject) =&gt; {
547
+ this._reject = reject
548
+ this._resolve = resolve
549
+ })
550
+ }
551
+ &nbsp;
552
+ /**
553
+ * Getter method to retrieve the Promise object.
554
+ * @returns {Promise&lt;T&gt;} A Promise object of type T.
555
+ */
556
+ public get promise(): Promise&lt;T&gt; {
557
+ return this._promise
558
+ }
559
+ &nbsp;
560
+ /**
561
+ * Resolves the Promise with the given value.
562
+ * @param {T | PromiseLike&lt;T&gt;} value - The value to resolve the Promise with.
563
+ * @returns void
564
+ */
565
+ public resolve(value: T | PromiseLike&lt;T&gt;): void {
566
+ if (this._resolve) {
567
+ this._resolve(value)
568
+ }
569
+ }
570
+ &nbsp;
571
+ /**
572
+ * Rejects the Promise with the given reason, if the reject function is available.
573
+ * @param {any} reason - The reason for rejecting the Promise.
574
+ * @returns void
575
+ */
576
+ public reject(reason?: any): void {
577
+ if (this._reject) {
578
+ this._reject(reason)
579
+ }
580
+ }
581
+ }
582
+ &nbsp;</pre></td></tr></table></pre>
583
+
584
+ <div class='push'></div><!-- for sticky footer -->
585
+ </div><!-- /wrapper -->
586
+ <div class='footer quiet pad2 space-top1 center small'>
587
+ Code coverage generated by
588
+ <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
589
+ at 2024-04-29T19:32:33.683Z
590
+ </div>
591
+ <script src="../../../../prettify.js"></script>
592
+ <script>
593
+ window.onload = function () {
594
+ prettyPrint();
595
+ };
596
+ </script>
597
+ <script src="../../../../sorter.js"></script>
598
+ <script src="../../../../block-navigation.js"></script>
599
+ </body>
600
+ </html>
601
+